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
Can you quad stand 5s, it's really up to the motors/esc's you plan to use. You will anyways have a uBEC that provides 5v to APM
20/25C is usually enough due you basically never run your motors with full speed. On helicopters/airplanes situation is different and especially on helis you run motors at 95-99% most of the time and then you need to have high C values to support this type of discharging.
So you can use 4S,5S even 6S but your ESC/Motors has to support this.
Every user can use modes that they are most comfortable. On Mode 2 Throttle/Rudder are on left stick, Aileron/Elevator on right stick.
Mode 1 has Elevator / Throttle switched. Eg left stick Elevator/Rudder, right stick Throttle/Ailerons
Most of radios this can be switched but it always needs to have hardware modification too due Throttle should not return to center like Elevator does. Usually modifying this is rather simple task. Open radio, change few plastic blocks and springs inside, close radio.
That's it..
Regular PID regulator
Stable mode (Attitude_control_v3):
PI regulator,
bias correcting output,
multiplied with STABLE_MODE_KP_RATE_XXXX (D value in configurator stable mode)
Öncü, hmm it should not be like that. Maybe you have some problem with your propellers/motors eg overall thrust. It sounds that you don't have enough authority from props on lower rpms. Any ideas how low those rpms are and can you lift your quad properly with low rpms?
I will discuss with our algorithm guys about your code proposal. You need to remember that Acro and Stable mode are totally different, While Acro uses only gyros, Stable uses gyros/accels and does computation totally different ways.
For future, these proposals would be good to upload on our Issue tracking system at http://code.google.com/p/arducopter/issues/list that way we can track better different issues
Perhaps this could be automated...
There is no any really easy way to do it. Reason why AR.Parrot is so stable is that every single unit is 99.5% same so they have tested and tested PID settings until they were perfect. That's the same thing what we are doing in ArduCopter and also why we are creating ArduCopter frame, motors, propellers, electronics and escs.. To have identical or almost identical quads for people.
Like said, there is no easy way to do it. Every time when I start doing it, I start working with one value, change it, test it, change it, test it and so on.. If I see that quad get's unstable or having other weird behavior i will go one or few steps back. Then I continue working with another value.
And now that we just changed how stable mode works few revisions ago, all new methods has to be learned again.
Best suggestion is that start working with values that are default, on P/D values you can go -+ 0.5 steps, I values less.
Looks like the D values from the "Configurator stable mode page" is saved in the STABLE_MODE_KP_RATE_XXXX variable.
Eks from the code:
control_roll = STABLE_MODE_KP_RATE_ROLL*err_roll;
And we all now that zero in multiplication returns zero.
I think the D values in the configurator, are not actual a real derivative value.
-
5
-
6
-
7
-
8
-
9
of 82 Next