Difference between revisions of "Paparazzi vs X"

From PaparazziUAV
Jump to navigation Jump to search
(added more comparison information and changed the layout to compare the two item by item)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page aims to provide honest comparisons between paparazzi and other open source autopilot systems.
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 a competitor does which is 'better'.
 
These comparisons can then be used for improving paparazzi, where there is something another platform does which is 'better'.  


== Paparazzi (fixed-wing) vs [http://diydrones.com/profiles/blogs/ardupilot-mega-home-page ArduPlane] ==
== Paparazzi (fixed-wing) vs [http://diydrones.com/profiles/blogs/ardupilot-mega-home-page ArduPlane] ==
Line 10: Line 11:
The sidebar of the wiki contains the following:
The sidebar of the wiki contains the following:


<nowiki>
Manual:
ArduPlane Instruction
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. Use the sidebar menu below to navigate.
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.  


Note: If you're looking for the ArduCopter manual, you can find it here.
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 [http://paparazzi.enac.fr/wiki/Autopilots here]


Introduction
=== Ground Station ===
Get it!
====Mission Planner====
Project news
Ardupilot<br>
Project history
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 [http://en.wikipedia.org/wiki/Arduino 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 [http://qgroundcontrol.org/mavlink/start here]
Instructions:
Quick Start Guide
Setup
Flying
Simulation
Optional additions
Troubleshooting
Appendix
The DIY Drones Dev Team
Glossary
</nowiki>


The documentation seems to be much more centrally administered than paparazzi. The level of the documentation is definitely aimed at the beginner. The 'quickstart' guide presents two photos of the two main pieces of arduplane hardware (APM & APM2).
Paparazzi<br>
The guide links to the following steps (each is a wiki page).
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 applicationPlanning 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.  
  <nowiki>
Install the Mission Planner software and APM firmware
Connect your RC equipment
Set up your configuration
Check it out in the air
Plan a mission
</nowiki>
 
=== Ground Station ===
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.


==== Flight Data ====
Ardupilot<br>
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 '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 'Flight Planner' tab provides support for loading waypoints into the aircraft. There are also grid survey and basic photogrammetry options.
Paparazzi <br>
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.  


==== Airframe configuration====
Ardupilot<br>
The 'Configuration' tab is where autopilot settings are configured.
The 'Configuration' tab is where autopilot settings are configured.


Paparazzi<br>
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 options====
Ardupilot<br>
'Simulation' provides software in the loop functions for X-Plane, Flightgear, JSB-Sim and AeroSimRC.
'Simulation' provides software in the loop functions for X-Plane, Flightgear, JSB-Sim and AeroSimRC.


Paparazzi<br>
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 loading====
Ardupilot<br>
'Firmware' provides a window where we select the type of firmware to load onto the autopilot (fixed wing, quadrotor, hexrotor, okto, heli etc).
'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.
The software downloads the latest firmware, compiles it and uploads it to the autopilot.


Paparazzi<br>
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.
====Realtime telemetry====
Ardupilot<br>
'Terminal' provides a terminal (obviously) connected to the com port of the autopilot. In normal operation, it's full of garbage characters from mavlink.
'Terminal' provides a terminal (obviously) connected to the com port of the autopilot. In normal operation, it's full of garbage characters from mavlink.


At the top right hand of the application are two spinner buttons for serial port and baud rate, along with a connect button.
Paparazzi<br>
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.
 
====Hardware====
Ardupilot<br>
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<br>
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.
 
====Distribution:====
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 ppzuav@gmail.com for details.
 
Ardupilot<br>
There are multiple distributors in most countries, plus the official 3DR store ships worldwide.
 
Paparazzi<br>
There are multiple distributors worldwide that make Paparazzi assemblies and bundles. The vendors (USA and Australia based)  in the Get Hardware page ship worldwide.
 
====Layout:====
Ardupilot<br>
All board use full size servo headers, and also include RC input headers. There are no other options except solder directly to the board.
 
Paparazzi<br>
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:====
Ardupilot<br>
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<br>
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====
Ardupilot<br>
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<br>
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.  


===Hardware===
====Processor:====
Arduplane hardware is highly homogenised - only the current AP board generation and previous board are supported.
Ardupilot (Atmega Arduino only)<br>
Almost all AP boards are manufactured & sold by 3DR, who also lead development of arduplane. Obtaining prebuilt hardware is much easier than paparazzi - there are multiple distributors in most countries, plus the official 3DR store ships worldwide.
All board use full size servo headers, and also include RC input headers & a PPM encoder (PPM input is supported, but as an 'advanced' option).
All boards include an IMU. All boards connect to the host PC via USB, and use the arduino C++ preprocessor and uploader under the covers.
Hardware is tied to what the arduino ecosystem supports and therefore processors tend to be underpowered compared to virtually all competitors.
Hardware is tied to what the arduino ecosystem supports and therefore processors tend to be underpowered compared to virtually all competitors.


===Airbourne Software===
Paparazzi<br>
Building the airside software requires the arduino IDE (which is cross-platform and open source). Most users of arduplane however are not expected to modify anything beyond the settings provided in the Mission Planner. The arduino environment is simpler for beginners to grasp than the embedded C of paparazzi. However, 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.
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.

Latest revision as of 01:06, 17 August 2012

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'.

Paparazzi (fixed-wing) vs ArduPlane

First contact

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

Ground Station

Mission Planner

Ardupilot
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

Paparazzi
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.

Flight Data

Ardupilot
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.

Paparazzi
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.

Airframe configuration

Ardupilot
The 'Configuration' tab is where autopilot settings are configured.

Paparazzi
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 options

Ardupilot
'Simulation' provides software in the loop functions for X-Plane, Flightgear, JSB-Sim and AeroSimRC.

Paparazzi
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 loading

Ardupilot
'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.

Paparazzi
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.

Realtime telemetry

Ardupilot
'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
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.

Hardware

Ardupilot
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
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.

Distribution:

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 ppzuav@gmail.com for details.

Ardupilot
There are multiple distributors in most countries, plus the official 3DR store ships worldwide.

Paparazzi
There are multiple distributors worldwide that make Paparazzi assemblies and bundles. The vendors (USA and Australia based) in the Get Hardware page ship worldwide.

Layout:

Ardupilot
All board use full size servo headers, and also include RC input headers. There are no other options except solder directly to the board.

Paparazzi
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:

Ardupilot
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
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

Ardupilot
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
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.

Processor:

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
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.