PDA

View Full Version : Discussion Comparison between Paparazzi's Tiny and the AttoPilot


raychang
Dec 02, 2008, 06:47 PM
I am waiting for the release of AttoPilot ver 1.8. In the mean time, I try to get better understanding on the performance, etc. between Paparazzi (open source) and AttoPilot (commercial). I knew that both are more suitable for fixed wing airplanes. Could some users who have exposures to both autopilots please kindly provide their own experiences and make some comments on performance, easy of use for beginner, cost, maintenance, expandability, features, etc?

Thanks a lot.

bmw330i
Dec 03, 2008, 08:08 PM
You know, since Attopilot is not released the number of people who can comment about it is rather small. Of that group I doubt many if any have experience with Paparazzi.

Just a thought why maybe there are no responses to this question.

However, as far as specifications I think reading the thread for AttoPilot would give quite a bit of details about capabilities. The Wiki is the absolute reference for Paparazzi.

Questions I have about AttoPilot that I know Paparazzi can do would include:
- Does it have any sort of editor for programming the flight parameters/mission. A logic to say not just go here and here and here but have conditional statements and logic to say go here, and do something, then when a condition is met go to here and do something...if a condition is met (say you fly outside your pre-defined boundaries) do something (like fly home or kill the motor and circle down level flight).
- Are the flight boundaries programmable. Can you tell it coordinates and conditions around them. Say this and this and this denote the area you fly in. Fly outside it and do something else.
- Is the configuration for airframes editable. Say you want to add a sensor or a servo to drop a payload, or a camera mount. Can you edit a file somewhere and activate them? Setup logic around using them...say have a camera follow a target or if you are over this GPS waypoint trigger a camera on/off or drop a package.
- What OS does it run on? Can it run on others?
- Is there a simulator for test flying your flight plan before an actual flight?
- Does it output logs in .kml or have a utility to convert the logs to .kml?
- Can you replay a log file in the simulator so you can see all the instrumentation in replay and analyze the flight details after?


Just a short list of the top of my head. As I now start flying with Paparazzi I find the above invaluable or assets I hope to use soon. I have used the simulator quite a bit now, replayed my logs in it to see what the autopilots point of view was for a flight and used the utility to convert the logs to .kml and uploaded them. I know the logic is very nice for the flight plan. To be abl to set a virtual "no fly zone" and enforce it. What a nice safety feature. Or have a camera mount controlled by the software that has target tracking ... or enable a shutter or camera to record. Many sensors are in the source code I see now I hope to use (barometric, chemical, IMU, gyro etc).

I admit to not reading the whole AttoPilot thread so I hope someone who has followed it to reply and answer the above so we can all be educated about the differences. I'm a big fan of the AttoPilot because having more than one option is a good thing. It helps foster innovation and improvement.

-BMW

dmgoedde
Dec 09, 2008, 05:07 PM
AttoPilot has triggers for two servos or logic function that can be performed at waypoints or time or distance intervals between waypoints.

AttoPilot has a user-config file called SET.txt that goes on the micro-SD card. This file currently has 65 parameters under user control.

I have been toying with adding abaility for user to put a "FENCE.txt" file on the SD card. The FENCE file is a list of sequential boundary coordinates. If plane crosses outside the boundary then X would be triggered (RTL, fly back into OK region by Y meters, etc).

Atto does two data logging things: On-board 49 parameters log at up to 5 Hz as a convenient text file ready for import into Excel as comma-delimited. This is all the GPS data and all important non-GPS data such as Pitch, roll, target pitch and roll, angular rates, yaw rate, navigation data, main pack voltage and current sense plus power and mAh consumed, servo positions, etc etc etc...). Secondly, at same time all 3 GPS nmea + a special $ATTO nmea sentence are outputed from a telemetry port to your wireless modem. The ground control software displays virtual cockpit with artificial horizon, airspeed, ground speed, heading, barometric climb rate, all propulsion battery statistics, navigation data such as current waypoint and remaining distance. All gauges and dials also show not only actual but target positions. You also see servo positions. You also see flight mode.

The GCS can record all incoming data then replay it later. I am getting ready to post a video of a replayed mission. Also, the GCS can copy incoming data stream to a virtual COM port so another App can also get the stream, such as a moving map software (I use GooPs which feeds a 3D icon in Google Earth).

Besides pure manual RC flightand fully autonomous, AttoPilot has assisted RC flight. Over Thanksgiving break I had several 4 and 5 year old kids flying my elevon flying wing out to 600 yards away in assisted RC flight mode, and they had absolutely no problem doing it with no training at all except "this is left, this is right".

AttoPilot also uses a lot of data filtering, and Kalman methods to take raw thermopile horizon data and correct for terrain distrubances by using both barometric and GPS data. Attopilot does a lot fo self-trimming and calibration.

AttoPilot uses a lot of 32 bit math and handles Lat and Lon to the 5th decimal (approx 1 meter resolution) and estimate of barometric altitude to 0.1 meter. This math resolution is better than the sensors, thus AttoPilot is not the limiter for accuracy, then sensors are. AttoPilot also uses a new line-hold navigation method I devised over the Summer that will hold a plane to the line between waypoints +/- 3 meters or better (within GPS resolution itself). This comes in real handy in crosswinds if the waypoints were many miles apart and you don't want plane to veer from the course. This line hold nav uses some 64 bit math because the involved angles are in the arc-second range when close to the line; a simple use of lookup table won't cut the mustard.

Atto also uses cleaned up data by way of very fast least sqaures linear fits. This is done for 50Hz pitch and roll, 9 Hz barometric altitude, and 5Hz heading. One example is I use the SPC1000-D01 absolute pressure chip from VTI. This sensor has 2 modes for data rate: 1.8Hz high res (1.5 Pascal) and 9 Hz mode with poorer resolution. My fast linear fit method gives accuracy and low noise of the 1.8Hz rate but at 9Hz update PLUS an idea of rate (dP/dt) from the linear fit. So, I am squeezing out both high resolution and high data rate and gaining a rate estimate.

AttoPilot GCS uses .net 3.5. I didn't write that software, I payed a local programmer to do it. It seems to work just fine on Windows XP, Windows Vista, and I don't know what else yet. As for editing the SET.txt, any simple text editor will work.

I make .kml files from LOG.tx all the time, but am having my PC programmer guy make an app that takes LOG.txt and make .kml files. Tom Harper already wrote a VB script that does this.

A great thing to do with LOG.txt in Excel is look at target and actual pitch or roll as time trends. You can easily see out of tune PID. Very soon we will have live PID trend charts and tuning from the GCS. Put your plane into a holding pattern and adjust PID gains via slider bars, and see how the process charts respond.

For stability control, AttoPilot has 50Hz control loop. What's more, Atto automatically does two types of gain scheduling (adjustment based on some condition). #1 is elevatore gain is increased in turns based on 1/Cos(roll). #2, pitch and roll P and D gains are scaled as airspeed using model of 1/(airspeed)^0.5.

Besides full P+I+D in attitude control, Atto uses complete PID for navigation and altitude control. Atto also uses a very accurate departure waypoint sequencing. The user can set a "satisfy" radius, but atto will continue on towards the waypoint until distance starts to diverge. It is very common to see in the LOG file that Atto gets within 0-2 meters of a waypoint before abandoning it. It runs right over them typically.

The Atto v1.8 is a single 2-layer PCB 1.5" x 2.0" and 0.5" thick. It is the 6th revision in a 1.5 year program, with several dozen revisions based on hard core testing and data analysis. All revisions were in response to pushing it to the limits to find main failure modes, then eliminating them. To date, AttoPilot has never locked up and crashed a plane. I have around 1 GB of LOG data from all those flights by myself alone, not to mention the beta testers. I worked as an engineer at Intel Corp for 7.25 years in a high-pressure and data intensive career, and bring a lot of that expertise to AttoPilot development.

bmw330i
Dec 09, 2008, 08:12 PM
Wow, how much is AttoPilot going to cost? Sounds like it can hang with the Kestrel and others quite easily...well done. You are for sure raising the bar here and going to have a winner. Thank you for answering pretty much every question I had about it. :)

dmgoedde
Dec 09, 2008, 09:37 PM
Starting out at $800 not including wireless modems, but everything else including GCS software. After I make back my $$ investment, I would like to drop the price substantially.

Once the IMU is alive, then that will be the case (your last comment)