Paparazzi vs X
This page aims to provide honest comparisons between paparazzi and other open source autopilot systems.
These comparisons can then be used for improving paparazzi, where there is something another platform does which is 'better'.
- 1 Paparazzi (fixed-wing) vs ArduPlane
Paparazzi (fixed-wing) vs ArduPlane
The arduplane web presence is somewhat disjointed. The 'official' home page (and first google result) is hosted on a subdomain of DIYDrones, but is basically a sales pitch.
The call to action redirects to a google code wiki, which is the real home of arduplane. The sidebar of the wiki contains the following:
Manual: DIY Drones "Getting Started Guide": http://www.diydrones.com/profiles/blogs/a-newbies-guide-to-uavs This is ArduPlane wiki, which includes all assembly and use instructions. Since there is only 1 controller and 1 IMU and 1 GPS they suggest it's easy for them to have 1 document to detail connecting it up. Also their Web content (DIY Drones) is tightly controlled by a few moderators. This keeps all topics focused only on ArduPilot and positive things about their limited autopilot. Since their customers are mostly people who have never built a UAV or even flown RC before their documentation is simplified to that level.
However, the Paparazzi Wiki is open for almost anyone to add their documentation. This is a much more open and academic approach to documentation that fits the open nature of Paparazzi. Even the OS is open with Paparazzi. Although Paparazzi has many autopilots, many IMU, many GPS they are all well documented. The Paparazzi Wiki even includes a nice Table where you can review them here
The ArduPlane 'Mission Planner' is an open source Microsoft .NET application. It handles flight monitoring, firmware loading & configuration, log file replays and video display. It is approximately a 15MB download, and also runs happily under mono on linux (other than video playback). 32 and 64 bit installers are provided, along with a zip with the executables. Source code is provided via google code SVN. The 'Flight Planner' tab provides support for loading waypoints into the aircraft. There are also grid survey and basic photogrammetry options. Building the airside software requires the arduino IDE (which is cross-platform and open source) and a Windows PC. Most users of arduplane however are not expected to modify anything beyond the settings provided in the Mission Planner. The arduino environment uses an IDE for writing and modifying Arduino Code. The IDE is available on most all OS as it is Java based. The Arduino code is a lot like C++. More info here. The current arduplane code is not particularly easy to read or modify due to the way it is written (may be due to the space constraints of the platform). Telemetry is via Mavlink, which is compatible with QGroundControl and written by another project found here
The Paparazzi suite of utilities are interconnected. Buttons and menus in paparazzi center open and launch other utilities. Real time log plotting, video, program upload, input files and more are tightly integrated into the one application. Planning the mission is GUI based with a map overlay and click to add waypoints. It is very simple. There is also the option to open a text editor to edit the XML based flight plan. The Paparazzi GCS displays a customizable Map displaying waypoints, flight data/telemetry and even current code blocks being executed in one easy to navigate screen. All telemetry messages are easily accessed and displayed via pagpets and/or plugins. Tabs help the user navigate the many options and features.
The 'Flight Data' tab shows current aircraft location on google maps on the right, along with a PFD and altitude, speed and battery data on a HUD on the left.
The Paparazzi GCS displays in a very clear way all the relavent flight data information. It is also extensible and user customizable. Video and other plugins allow an almost infinite permutations of buttons and information and data display options. There is a whole page on the Wiki just for the GCS describing it's use and features. Attitude, battery voltage, code block, GPS and RC status all displayed cleanly.
The 'Configuration' tab is where autopilot settings are configured.
In the Paparazzi Center on the left side of the screen you select and edit each of the XML based configurations for the airframe, flight plan, telemetry, RC etc. All aspects of the program to be loaded into the autopilot is easily accessed and edited.
'Simulation' provides software in the loop functions for X-Plane, Flightgear, JSB-Sim and AeroSimRC.
Paparazzi has always had a delivered simulator for replaying logs of past flights and testing flight plans for future flights. However several other simulators are available as well. FlightGear, JSBSim, and others.
'Firmware' provides a window where we select the type of firmware to load onto the autopilot (fixed wing, quadrotor, hexrotor, okto, heli etc). The software downloads the latest firmware, compiles it and uploads it to the autopilot.
Firmware is configured in Paparazzi Center (see Configuration above). When the configuration has been established there is a button to do the compiling steps easily. One for "clean". Another for the compile and lastly the one for uploading to the autopilot. All in the same window.
'Terminal' provides a terminal (obviously) connected to the com port of the autopilot. In normal operation, it's full of garbage characters from mavlink.
Paparazzi Center contains pull down menu selection for interacting with the autopilot in realtime or plotting out captured telemetry data. Replaying logs or watching live data fed over serial input is easily done in Paparazzi Center.
Arduplane hardware is a one choice type of setup. There is only one autopilot, one of each type of sensor. In this way you are limited in your options which makes it easier to setup and helps with debugging. - only the current AP board generation boards are supported. If you have an issue you are quickly told to upgrade to the latest supported version. All AP boards are manufactured & sold by DIY's manufacturing company 3DR. It is a one stop shop from design to assembly with only the PCBs fabrication being outsourced. Extensibility is extremely limited compared to paparazzi - only peripherals sold by 3DR are supported (ultrasound, optical flow sensor etc). There is nothing compared to the paparazzi module ecosystem. This may be a function of the cathedral type development.
Paparazzi is the very model of open. All designs for all boards are made available in such a way that anyone can have PCBs fabricated and either assemble their own or order assemblies. The bill of materials are published along with part numbers. DIY drones does not publish enough information for someone to make their own PCBs ore bill of materials to help someone truly DIY one of their designs. Users are encouraged to instead purchase one for one of their distributors. With Paparazzi you have a great many choices. There are many autopilots and all but the very first (Atmega based) are still supported. There are many version of u-blox GPS available from many sources. People have successfully used GPS boards from many sources with success. Even NMEA based GPS have been successfully used. However they are discouraged as the precision of the u-blox module is vastly better. It should be noted APM now sells and suggests a u-blox based GPS.
Both are easily available from anywhere in the world. However with the many EU distributors there are few customs restrictions for Ardupilot if purchased from an EU distributor. PPZUAV is openly seeking distributors for assemblies in EU to make it easier to get Paparazzi assemblies in the EU. Pls email email@example.com for details.
There are multiple distributors in most countries, plus the official 3DR store ships worldwide.
There are multiple distributors worldwide that make Paparazzi assemblies and bundles. The vendors (USA and Australia based) in the Get Hardware page ship worldwide.
All board use full size servo headers, and also include RC input headers. There are no other options except solder directly to the board.
Some boards use full size servo headers and others use a much smaller and more secure molex connector. This gives the user a choice which they prefer. The majority use Molex based as the Molex connector will not accidently come disconnected.
RC Signal Input:
A PPM encoder soon appeared after the Paparazzi one. Since APM accepts PPM as separate servo connectors it really is not practical to use one with APM.
Paparazzi has one PPM input that accepts an 8ch combined PPM signal. The usual method is to find the combined PPM signal on your RC receiver and tap into that. However, a paparazzi user Chris (hendrix) created the Worlds First PPM multiplexor for doing this. ENAC has also released a processor-less (MeekPE) PPM encoder as well.
IMU Attitude sensing
ArduIMU is the only supported IMU for APM. It is a separate daughter board that connects directly to the APM. All boards connect to the host PC via USB, and use the arduino C++ preprocessor and uploader under the covers.
Paparazzi supports almost every IMU available. There is an entire page on the Wiki for all the different IMU choices. Thanks to the efforts of many. Paparazzi was the first to use IMU however it's use was limited to research until the many IMU code contributions recently.
Ardupilot (Atmega Arduino only)
Hardware is tied to what the arduino ecosystem supports and therefore processors tend to be underpowered compared to virtually all competitors.
Paparazzi first used Atmega processors. Then added ARM7 support with the Classix and Tiny13 autopilots. This lead to many LPC based peers with the TWOG, Tiny2.11, YAPA, Umarim, Booz, NavGo. Then followed the STM32 based Lisa and Lia boards. Paparazzi has always been on the cutting edge with processors and likely always will be. Unique to Paparazzi is the backwards compatability built in allowing users to use either or both LPC / STM32 based autopilots with the same source code.