|1830 Machine Learning Meetup #1 Jiri Materna|
|1900 BRMCW - vyuka telegrafie 2000 TalkNight|
This is an old revision of the document!
The aim of this project is to construct Quadcopter.
We have three functioning quadcopters in brmlab (niekt0, pasky, ruza). Also, zviratko has several quadcopters of different design and helps us a lot.
Currently, we are learning the basic control of the quadcopters and investigating computer control options.
We have these goals:
The most promising platform appears to be ArduPilot-Mega (APM). It offers a sophisticated autopilot software ArduCopter (v2.4 ATM) and an ATMega-based control board ArduPilot. The most current board APM 2.0 contains two microcontrollers: ATMega32U as PPM encoder, failsafe control (not applicable to multirotors) and USB interface and ATMega2560 as main Autopilot chip, and sensor array: MPU-6000 gyro+acc IMU (no offloading ATM), MS5611 barometer, HMC5843 magnetometer. Optional minishield with magnetometer or GPS or SD card slot. Priced around 200USD.
The most interesting variant of the hardware is MegaPirateNG. It is the same functionality as APM and uses the same ArduCopter software, but with a more open and modular design than ArduPilot, using a separate uC board (for example Flyduino - Arduino Mega with smaller footprint and RC-standard form factor - 50x50mm) and sensor board (for example AllInOne IMU or Drotek IMU). The cumulative cost is similar (around 200USD), but you can upgrade both boards separately. Disadvantage is more space used, no failsafe chip (not applicable for multirotors) and probably more hassle in general. MegapirateNG is done by a party of russian hackers “Syberian” “Sir Alex” and a Megapirate-ready hardware called “Blackvortex” is sold by csg_and_rc_extreme (ebay, based in Latvia). Usual sensor combination in APM clones is IDG3200 gyroscope, BMA180 accelerometer, HMC5883 magnetometer, BMP085 or MS5611 barometer and uBlox or Mediatek GPS (both serial-NMEA and I2C available).
(News: Much cheaper sensor board)
In the first iterations, the autopilot functionality can reside fully on the ATMega. Later, we will want to add some ARM board (should have LPC11U14 handy but something with hardware floating point like Raspberry Pi would be better) and offload any computationally intensive tasks there.
Still not decided whether ArduPilot or MegaPirateNG is the way to go. Big issue with this plan is the price; we will not be able to build a swarm with so pricey electronics.
A de-facto standard in RC UAV controllers, uses GCS (Ground Control Station) or phone connected through wireless serial or TCP/UDP to control unmanned operations - waypoint navigation, mission planning. Implementations and GCS features differ wildly for the moment. Ardupilot-mega has its' own GCS which works for AC2 or MegapirateNG software out of the box. Could be used for communication between stock Mavlink-ready autopilot (APM, openpilot, uavp-ng…) and our ARM-based brain.
RC sets are usually one-way, at best with telemetry for sensors but without true two-way communication. We still have to keep them for manual control override. (We MUST be able to take over at any time!)
We need to get some kind of MEMS protocol capable wireless module (i.e. essentially wireless serial). TODO investigate, not included with Arducopter by default, most likely will use XBee. About extra 40-50 USD (for a whole pair). Note: XBee is AFAIK very expensive, more like $70 for one piece, $140 for a pair, take a look at APC220 - $40 for a pair, but limited bandwidth (19200bps) and range (1km tops, not tested), delivery and integrity not guaranteed by protocol
Camera streaming will need to be solved separately, and is perhaps a rather ad-hoc wish so no need to make big design decisions to allow this now, I guess.
Standard RC FPV gear is analog (on a digital carrier) with S-Video in/out - digital kits are very expensive. For ad-hoc use, UHF transceiver and a television set/card or an Android phone streaming over wifi/3G could do
MiniWii is ATMega328 board with gyros and accelerometer on-board. Not so cheap.
An alternative is regular Arduino plus very cheap sensors acquired by TomSuch. (The question is whether they have sufficient precision, we must find out. .)
Another alternative is reusing our current HK board for the control platform, but it is frustrating to extend it since it is missing full pinout.
This board cannot do autopilot and servicing too many other sensors. It can be an interesting option only when combined with cheap sonars and magnetometer+GPS from a budget Android phone that will also serve as the autopilot platform.
We would have to do significant software development work for this - probably combining and porting pieces of MultiWii and ArduPilot codebases.
TODO: Detailed budget.
We considered and currently did not embrace:
http://brmlab.cz/pipermail/brmlab/2011-October/004175.html contains original ordering info.
Our first wooden prototype (did not fly well first):