From Open Circuits
A multi-rotor helicopter is a flying vehicle with more than one rotor.
The nice people at http://www.quadheli.com/ have asked for our help designing and building a multi-rotor helicopter.
Several people are using small unmanned helicopters with 4 rotors ("quadheli" or "quadcopter").
DavidCary is designing a helicopter that can independently control all 6 degrees of freedom, using at least 6 rigid rotors. Does any other aircraft directly control all 6 degrees of freedom? (In principle, a tandem rotor helicopter with 2 fully articulated rotors can independently control all 6 degrees of freedom. But do tandem rotor helicopters really make all 6 degrees of freedom available to the pilot?).
- the aircraft must fly
- able to mount a typical hand-held digital camera, and record video with it.
- two-way communication with a ground station -- commands to helicopter, telemetry to the ground station (IMU sensor and output, estimated battery life remaining, etc.).
- low cost
- learn something new, and post that knowledge for others to use
nice to have but not critical features
- sleek design
- goes high
- everything open-source?
- generic enough payload tray to swap out different CPUs? (OpenPilot, Gluonpilot, ARM-o-Kopter, etc)?
- autonomous flight?
- GPS homing -- records its GPS location on the ground launch site; if radio communications are lost, it returns to that location.?
- Flightpaths uploaded via computer to the unit - Make a path in google maps/google earth, and have the unit run that path automatically?
- remote control of camera: record video/snapshot?
- accurate positioning relative to floor or walls or ceiling in house, to avoid accidentally hitting them? This requires better-than-GPS precision -- would ultrasonics work?
- set anti-crash ceiling/wall limits
- accurate velocity relative to floor or walls or ceiling in house ... to gently land, rather than slamming into the ground? This requires better-than-GPS precision -- would ultrasonics work? doppler ultrasonics?
- safety bumper around perimeter? (Does making this a ducted fan improve its lift?)
- real-time wireless video transmitter to ground?
- heads-up display, able to fly it from a first-person perspective?
- runs Linux?
- TS-7500 : 67mm x 75mm; 400mA @ 5V; runs Linux.
- gumstix: runs Linux
- able to lift a 1 Kg payload?
- weight well below the "fifty-five pounds" FAA recommended weight limit?
- control the helicopter with a wii remote (Bluetooth HID)
- more sensors: air pressure (barometric pressure altitude), air temperature, humidity, air speed, communication signal strength, etc.?
- perhaps eventually automatically "catch an updraft"?
- Would it help to pan/tilt the camera on an independent gimbal auto-stabilized camera mount gimbal?
- automatic docking station for battery recharge?(perhaps similar to the one Professor Jonathan How uses?)
- can be dressed as an ominous-looking hovering black sphere? 
- can be dressed up as an Imperial probe droid?
- runs image-recognition software on-board?
- flight control based on images?
motors and propellers
- decent place to mount the motor controllers
Is it better to put one big battery pack in the middle (simpler wiring), or several smaller battery packs as far as possible from the center (bigger rotational inertia for the same mass, so easier to stabilize pitch, roll, yaw)?
If the aircraft transmits both telemetry data and live video to the ground to the ground, is it better to use 2 independent transmitters on the aircraft, or to embed all the information into the video stream and use 1 transmitter?
"Autopilot code projects, by processor/OS type" at DIY Drones lists over 2 dozen (!) autopilot projects, many of them specifically designed for multi-rotor helicopters. That list includes:
- Announcing ArduCopter, the merger of the ArduPilot and AeroQuad projects!
- the NG Multikopter Project wiki : a open source community project to build a modern autonomously flying Multicopter.
- ArduPilot  is a full-featured autopilot based on the Arduino open-source hardware platform. It uses infrared (thermopile) sensors or an IMU for stabilization and GPS for navigation. Optionally uses XBee modules for wireless telemetry. Jose Julio at DIY Drones  uses it in his two quadcopters. He uses 4 standard props (No counter-rotating !).
- the R/C Pilot Project : an open source project to design a R/C Autopilot and a R/C Ground Station such that GPS and other telemetry from the plane is displayed.
DIYdrones recommends following the The Remote Control Aerial Photography Association guidelines.
It appears that most modern small electric aircraft use so-called "brushless DC motors", each one driven by its own "BLDC ESC". (These are easily recognized -- BLDC motors have exactly 3 equally-fat wires that go into them, which come from the BLDC ESC -- as opposed to most electric aircraft a few years ago, which used brushed DC motors with exactly 2 equally-fat wires).
While it is probably not cost-effective to build your own BLDC motor or BLDC ESC, many of us are insatiably curious about what goes on inside these things, and so build one anyway:
- "Proposal for a high-speed serial (spi/i2c) arduino-based ESC for quadrotor/multirotor projects": designed specifically for academic research in stability and controls analysis of quadcopters. The goals are apparently (a) open-source and easy to reprogram, so other academics can replicate the experiments and make improvements, (b) low-latency quick response for (hopefully) better quadcopter stability, (c) lower cost than an Open-BLDC.
- Open-BLDC Project wiki: "a completely Open-Source BrushLess Direct Current motor controller also known as Electronic Speed Controller (ESC)." "Open-BLDC has ... many additional sensors to make Vector control possible. The goal is also to make the best possible controller and not the smallest or cheapest." http://open-bldc.org/
- Wikipedia: brushless DC electric motor
- Atmel AVR444: Sensorless control of 3-phase brushless DC motors using ATmega48 (also works without change for ATmega88 and ATmega168). Assumes you've already read Atmel AVR443: Sensor-based control of three phase Brushless DC motor
- AVR194: Brushless DC Motor Control using ATmega32M1: BLDC motor control application using Hall effect position sensors to control commutation sequence.
- MikroKopter brushless motor controller: was designed to give lower latency than off-the-shelf PWM ESCs.
- OpenServo Brushless DC Servo: "The thing that will make our board different from other ESC's is that we are closing the feedback loop with a ... outside position reference." 
unnecessarily complicated equations
In hover, each rotor gives (equations from Paul Pounds et. al 2004?)
T = 2 p A v_i^2 P_i = sqrt( T^3 / 2 p A )
T is the thrust produced p is the density of air, approximately 1.2 kg/m^3 at sea level and 20 'C. A is the area of the rotor disk v_i is the induced air velocity at the rotor P_i is the power induced in the air.
For a quad-rotor helicopter weighing 4 kg, with a 30 per cent control margin, and a rotor radius of 0.165 m, such as the Australian X-4 Flyer, the above equation results in about 101 W of power induced in the air per rotor. With a shaft-to-air rotor efficiency of 90% that requires 112 W of shaft power. With a battery-to-shaft motor efficiency of 50%, each rotor pulls about 224 W of power from the battery at full thrust.
To double thrust requires either pulling almost 3 times as much power from the batteries, or using rotors with almost 3 times the diameter.
what can a helicopter do besides hover in the air?
- "Cooperative Grasping and Transport using Quadrotors" 
- "Construction with Quadrotor Teams" 
- "Aggressive Maneuvers for Autonomous Quadrotor Flight" at UPenn’s GRASP Lab , , , , 
- The TurtleCam "acquires high resolution video and images which are streamed live to a base station.". TurtleCam overview; TurtleCam source code and BeagleLeashPCB details
way too many links here. Please delete the ones not relevant to multi-rotor helicopters.
- Wikipedia: quadrotor is a nice introduction. But what are these "three rotor craft" it mentions? (TriCopter? Tri-copter?)
- the OpenPilot Wiki : open source community
- Vicacopter helicopter autopilot claims to be "the only English language source code for a fully functional helicopter autopilot that you can download without paying for." "Can fly with under $100 of parts, not including the airframe."
- The Gluonpilot wiki (autopilot) mentions "Quadrocopter" 
- MikroKopter wiki  semi-open-source "for noncommercial use"
- QC-Copter Wiki  : updates all motor speeds at 500 Hz.
- the Wolferl Open Source QuadCopter (Universal Aerial Video Platform) wiki . Apparently NS Rana at DIY Drones uses it in a very low-cost-frame quadcopter.
- QuadroCopter Wikia 
- ARM-o-Kopter wiki 
- comparing some currently known projects of airborne non-commercial or open community projects of multicopters
- DIYdrones: "Newbie Quadcopter Questions" 
- DIYdrones: "Quadcopter Basics" 
- DIYdrones: "There are a zillion quad- and tri-copters out there" 
- DIYdrones: Quadcopters discussion forum 
- DIYdrones: Return to Home Quadrocopter (UAVX) 
- DIYdrones: "There are loads of open source quadcopters out there, but they're all ..."  Is it possible to design a helicopter that avoids this problem?
- the "ChRoMicro - Cheap Robotic Microhelicopter HOWTO" ,  describes "how to build a 300 g helicopter with embedded Linux and Bluetooth datalink from off-the shelf components for less than 500 EUR." Can these ideas be adapted to helicopters with more rotors?
- Quadrotto: Project Quadcopter
- Quadrotto: Project Quadcopter , . Is there any way to avoid making the same mistakes all over again, and instead make fresh new mistakes? :-).
- Project Quadcopter  "altimeter is ... not our only altitude sensing device. We ... plan ... an ultrasound sensor for landing and low altitude flights. ... they work pretty well out to about 4 or 5 feet." ... apparently using an ARM cortex-m3 microcontroller
- the Quadrotto project uses an ARM-based gumstix + an Atmel AVR ATMega128-based robostix
- the Quadrotto Project
- Project Quadcopter: "try make ... decent explanation of the Kalman filter for non-mathematicians" 
- Project Quadcopter: "Data logging and Kalman Filtering" 
- RCgroups: Multi Rotor Helis discussion forum 
- RCgroups: "A New 1000mm Quad Copter Design" 2007
- Make magazine How-To: Quadrocopter based on Arduino "The Quaduino NG & AeroQuad RC projects both make use of Arduino boards"
- Quaduino NG
- AeroQuad discussion forum : dedicated to the design and construction of the AeroQuad, a remote controlled four rotor helicopter ... that uses the Arduino (Mega or Duemilanove with 328P) microcontroller as the flight control board, with a "AeroQuad Shield" that connects to all the other electronics -- radio receiver, gyros, accelerometers, and off-the-shelf ESCs. An excellent tutorial showing how it all goes together with whatever frame you have; it claims "A good motor-to-motor distance to start with is around 60cm." (2 foot)
- "The Quadcopter, or build your own Drone" by Dave Freeman. CruchGear 2010. "Tuning the Quaduino" shows the effect of too much P in the PID. "Having fun with the AeroQuad".
- microdrones 
- whatnick blog: "quadcopter taking shape"; and other quadcopter posts ... he apparently has a Gumstix Verdex and a BeagleBoard -- are either one of these going on the quadcopter?
- WSN wiki: wireless sensor node platforms -- perhaps we could use one of these boards for our wireless communication, or perhaps make incremental improvements, rather than designing yet another one from scratch?
- Dr. Igor Bensen designed the eight rotor helicopter on the front page of Popular Mechanics 1982 September.
- Google: "Real-time stabilization of an eight-rotor UAV using optical flow"
- kapteinkuk built a low-cost quadrotor flight stabilizer based on a Atmel AVR ATMega48 ; connected to a standard RC receiver, 3 gyros with ordinary analog output, and 4 ESCs. That's all the electronics.
- "Intelligent Aircraft Fly, Cooperate Autonomously": ScienceDaily 2006. "MIT researchers, in collaboration with Boeing's advanced research and development arm, Phantom Works ... Professor Jonathan How, who heads the research team, believes it is the first platform to publicly demonstrate sustained, coordinated, autonomous flight with multiple UAVs. ... miniature "quadrotor" aircraft - helicopters with four whirling blades instead of one ... an indoor positioning system ... The team has also designed an automatic docking station that allows the UAVs to recharge their batteries when they are running low. ..." more information: http://vertol.mit.edu/
- "Towards Dynamically-Favourable Quad-Rotor Aerial Robots" by Paul Pounds, Robert Mahony, Joel Gresham (2004?): "the Australian National University’s ‘X-4 Flyer’ platform." "The use of inverted rotors [pusher props] is shown to produce favorable stability properties"
- "Quadcopter, Hexacopter, Octocopter ... UAVs" by Markus Waibel. IEEE Spectrum 2010.
- "ArduIMU Quadcopter 4" by Jose Julio 2010
- RepRap wiki: "RepCopter": early stages of a project to design a quadcopter frame that can be printed on a RepRap plastic extruder.
- ArduPilotOne: A universal autopilot system for the ArduPilotMega platform.
- A simple flight controller for multi rotor helicopter: Inexpensive: $20 for the main board. $10 for the gyro board. 
- "KapteinKUKs Simple and Low Part Count Quad, Hex and Tricopter Flight Controller" based on Atmega48 and 3 HK401B gyros and lots of hot glue.
- "Stopping drift in hovering quadrocopter"
- Go to http://code.google.com/ and search for "quadcopter": there are dozens of projects.
- The KeaDrone is a three axis stabilizer/lock PCB used for RC helicopters (Accelerometer AND Gyro). It tries to hover your helicopter at a fixed place, even with changing winds. (It was originally designed to work with a low-cost 2-rotor coaxial rotor helicopter). open-source. "24grams including GPS". Board includes: Microchip PIC24HJ64GP204, ST LPY5150 gyro, ADXL345B accelerometer.