Skip to content
Heethesh Vhavle edited this page Jun 5, 2017 · 7 revisions

Control and Algorithms Development for Quadcopter

Abstract

The project deals with the study of control algorithms for quadcopter. The goal is to develop custom firmware for quadcopter (flight controller )on 32-bit microcontrollers such as the CleanFlight firmware on STM32F1xx (ARM®Cortex®-M3 core). The flight controller is designed to control parameters such as the throttle, yaw, pitch and roll and to develop algorithms considering various motion and dynamics. The next step is to analyse the control algorithm to identify effects of various parameters and to optimize it for stable motion. The final step is to develop a wireless joystick controller for simple maneuvering of the quadcopter.

STM32 Micro-controller

The STM32 family of micro-controllers, based upon the ARM®Cortex®-M3 core, provides a foundation for building a vast range of embedded systems from simple battery powered dongles to complex real-time systems such as helicopter autopilots. This component family includes dozens of distinct configurations providing wide-ranging choices in memory sizes, available peripherals, performance, and power. Unfortunately, power and flexibility are achieved at a cost – software development for the STM32 family can be extremely challenging for the uninitiated with a vast array of documentation and software libraries to wade through.[1]

One of the objectives of the project is to develop a custom flight controller firmware on STM32F103xx. The STM32F103xx medium-density performance line family incorporates the high-performance ARM®Cortex®-M3 32-bit RISC core operating at a 72 MHz frequency, high-speed embedded memories (Flash memory up to 128 Kbytes and SRAM up to 20 Kbytes), and an extensive range of enhanced I/Os and peripherals connected to two APB buses. All devices offer two 12-bit ADCs, three general purpose 16-bit timers plus one PWM timer, as well as standard and advanced communication interfaces: up to two I2Cs and SPIs, three USARTs, an USB and a CAN.[2]

Getting Started

Our primary software resource is the GNU software development tool-chain including gcc, gas, objcopy, objdump, and the debugger gdb. The IDE used is TrueSTUDIO, which is based on the Eclipse IDE.

e-Yantra Summer Internship Program 2017

Project: Control and Algorithms Development for Quadcopters

Mentors

  • Sanam Shakya
  • Pushkar Raj

Interns

  • Heethesh Vhavle

Duration

22nd May - 7th July

Contents

  1. Home
    1.1. Abstract
    1.2. Getting Started
  2. Project Log
    2.1. Week 1
    2.2. Week 2
    2.3. Week 3
Clone this wiki locally