I'm pleased to announce that we've joined forces with the other Arduino-based powerhouse in the aerial robotics world, the AeroQuad quadcopter team, to extend the ArduPilot platform to whirlybirds of all kinds. The project, called ArduCopter, will use the ArduPilotMega and IMU shield hardware along with a low-cost custom platform that will be available commercially to provide a full quad UAV with both stabilization and GPS waypoint navigation. It builds on the awesome work of Jose Julio in ArduPilot quad development, with the excellent full-systems integration of the AeroQuad team. We expect that first code and hardware will be available this summer.
And here's the impressive work of the AeroQuad team:
Another team is also extending this to traditional helis, starting with the Trex 450 heli (and its equivalents), which should be ready for release this fall. Along with Blimpduino, this should make for 100% coverage of all aerial robotics platforms on the Arduino platform, with shared libraries and ground stations across projects. Go Arduino!
We'll be setting up a proper microsite here, along with dedicated tab, for the project in the next few days.
If you haven't already seen this preview of what the ArduPilot/ArduIMU combo can do with quads, check this out:
And here's the impressive work of the AeroQuad team:
Here's the announcement from the AeroQuad team:
ArduCopter - The Full Featured UAV Multicopter!
Hey guys, as many of you know the AeroQuad has teamed up with DIY Drones on developing a very full featured multicopter! Chris from DIY Drones has proposed the name of this new effort to be called the ArduCopter! It will be based on the ArduPilot Pro Mega (APM) and the APM sensor board currently nicknamed the Oil Pan. Here's an initial feature list and software road map. Please chime in! Your input is valuable! I'll keep updating this front page until we agree on the first version of the ArduCopter's capabilities.
ArduCopter Feature ListSoftware Roadmap
- 6 Degree of Freedom IMU stabilized control
- Gyro stabilized flight mode enabling acrobatics (loops and barrel rolls)
- GPS for position hold
- Magnetometer for heading determination
- Barometer for altitude hold
- IR sensor integration for obstacle avoidance
- Sonar sensor for automated takeoff and landing capability
- Automated waypoint navigation
- Motor control using low cost standard PWM Electronics Speed Controllers (ESC's)
- On board flight telemetery data storage
- Mounted camera stabilization capability
- Wireless command & telemetry for long distance communication
- Capability to fly in "+", "x", hexa and octo configurations
- Battery level detection
- User configurable LED flight pattern
- Capability to use any R/C receiver
- ArduCopter Configuration and Ground Control Software
- Realtime graphs of flight data
- GUI for configuration of PID and other flight parameters
- On Screen Display integration
- Waypoint programming using Google Maps
- Mixertable view to auto configure "+", "x", hexa and octo configurations
- Initial baseline using Jose Julio's v3 software
- Provides absolute angle PID flight control
- Obstacle avoidance
- Waypoint navigation
- Generalize basic ArduCopter functions (ie. Separate PPM receiver input and motor control functions into separate libraries. Allows future coding of PWM vs. I2C ESC's)
- Emphasis on developing new capability into easy to use C++ libraries
- Integrate user defined EEPROM storage capability
- Develop/optimize AeroQuad serial real-time command/telemetry for ArduCopter
- Integrate AeroQuad Configurator for external software configuration of ArduCopter
- Rename Configurator to Ground Control Station and integrate graphical programming of waypoint navigation
- Integrate AeroQuad rate PID control
- Integrate mixertable configuration for multicopter configurations
- Integrate AeroQuad camera stabilization
- Integrate I2C motor control
- Develop capability to wirelessly control ArduCopter directly from Ground Control Station (USB joystick controller from laptop or through waypoint programming)
Comments
Note to all r75+ users, before you start using it. RESET YOUR EEPROM. Eg hookup to Configurator and hit initialize eeprom. There were some bigger changes made that needs eeprom re-initializing.
If you don't have Configurator working you can always do this from serial monitor but hitting first 'Y' and then 'W' to write all new settings to eeprom.
@Dan, yes r75 has all those blinking modes activated, like John posted my earlier post. Just hook 1 LED to one port on OUT4-7 and off you go PE4 = OUT7, PE5 = OUT6, PH4 = OUT5, PH5 = OUT4.
In future releases they will be moved to those analog ports on IMU shield due we need PWM pins for other things.
@Taylor, Arming is throttle at 0, full right rudder. Disarming thr 0, full left rudder and keep them there 2.4 secs.
This safety is hardcoded in software but we will start using user configurable variables for it.
I haven't tried because I haven't needed to, but you might be able to move the endpoint sliders in configurator...
you have to reverse nick and roll
then it should be all right ;)
Thanks John.
Get the latest (r75) and plug your LEDs into the remaining output ports (the side your ESCs are plugged into) observing the LED polarity (cathode to G pin and anode to signal pin).
Jani says:
"yes i did use those due we have been having national holidays here and did not go to office. All my pin headers are at office but I had a lot servo extension cables so it was easy to connect them to OUT4-7 ports on APM. In future they might/will change but that is still just an I/O port. PE4 is OUT7, PE5 = OUT6 and so on. Also there are 1kOhm resistors installed on those ports so I only had to connect LEDs. But in close future we will need those ports for example to sonar and others."
This is from the latest code:
#define FR_LED 3 // Mega PE4 pin
#define RE_LED 2 // Mega PE5 pin
#define RI_LED 7 // Mega PH4 pin
#define LE_LED 8 // Mega PH5 pin