http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&user=Hoepfel&feedformat=atomPaparazziUAV - User contributions [en]2024-03-29T12:25:37ZUser contributionsMediaWiki 1.37.1http://wiki.paparazziuav.org/w/index.php?title=Talk:LiveCD&diff=7930Talk:LiveCD2010-10-07T13:37:39Z<p>Hoepfel: Merge with Using Boot CD</p>
<hr />
<div>== Merge with Using Boot CD ==<br />
<br />
Probably this page and the [[Using the Boot CD]] could be merged nicely. --[[User:Hoepfel|Hoepfel]] 15:37, 7 October 2010 (CEST)</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=LiveCD&diff=7929LiveCD2010-10-07T13:34:49Z<p>Hoepfel: /* Using the Live CD */</p>
<hr />
<div>[[Image:Lightscribe_CD_Cover_1.JPG|thumb|320px|LightScribe CD Cover]] <br />
<br />
'''Please note:''' the Live CD is from 2008. Everything should still work, but a lot of development has happened ever since. It can be still useful to get a first glimpse on Paparazzi.<br />
<br />
The LiveCD is an easy way to test Paparazzi: no installation is required and no changes are made to your computer. Simply burn the image as a boot CD and reboot! The LiveCD includes Linux and the complete paparazzi binary package (code source, tools and cross compilers). It is intended for demonstration only and not frequently updated but it contains the complete system and can store changed files on a pen drive or compressed file on your hard drive so that it can compile, flash, and operate any aircraft, albeit slowly. <br />
<br />
The CD image and a howto on [[Using the Boot CD]] is available from the [[Downloads|Downloads]] page.<br />
<br />
The Paparazzi demo is launchable on the Live CD from the Paparazzi icon.<br />
<br />
Knoppix allows for all the user data to be saved on a hard disk partition (most file systems are supported) or on a removable device (typically a USB pendrive). Note that this action is not destructive: the user data tree is compressed and stored on your file system as a single file (<tt>knoppix.img</tt>).<br />
* From the Knoppix menu (second from bottom left), choose '''Configure''', '''Create a persistent KNOPPIX disk image'''<br />
* Choose your media (be sure to connect your USB pendrive before booting!)<br />
* Choose if you want an encrypted filesystem (to protect your flight plan designed for the next MAV competition :-) )<br />
* Choose the size of your home directory (100Mb is recommended)<br />
On the next reboot, this saved state will be automatically located and loaded.<br />
<br />
Using this persistent feature, the Paparazzix Live CD can really be used to configure, simulate and fly an aircraft with the Paparazzi system.<br />
<br />
The Live CD can also be used to install a Debian system on the hard disk, using the <tt>knoppix-installer</tt> command. Be sure to backup the hard disk before trying ...<br />
<br />
<br />
A LiveCD needs some looks... In color or in LightScribe format, your CD will always look cool. <br />
* Get the PDF version for download here [http://paparazzi.enac.fr/wiki_images/Lightscribe_CD_Cover_1.pdf LightScribe CD Cover 1].<br />
<br />
* The LightScribe version is in Nero Cover Design format (.ncd) and it's here for download [http://paparazzi.enac.fr/wiki_images/Lightscribe_CD_Cover_1.zip LightScribe CD Cover 1]<br />
<br />
* Better is of course to use it on an OpenSource OS, some Linux software to be found here: [http://www.lightscribe.com/downloadSection/linux/index.aspx?id=814 Lightscribe for Linux]</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&diff=7928Installation/Linux2010-10-07T13:33:25Z<p>Hoepfel: Added short section pointing to the LiveCD instructions.</p>
<hr />
<div>== Introduction ==<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux].<br />
<br />
At a high-level here are the steps required to install Paparazzi:<br />
<ul><br />
<li>Install a current Linux distribution (Ubuntu Lucid is recommended at the moment).<br />
<li>The Linux package sources file is updated to add the Paparazzi packages (/etc/apt/sources.list)<br />
<li>The Linux packages are updated from the network with the "update" command<br />
<li>The Paparazzi packages are installed (sudo apt-get install paparazzi-dev paparazzi-arm7)<br />
<li>Install subversion to get SVN (sudo apt-get install subversion). Don't worry if it's already installed. <br />
<li>Bring down the sources from the SVN repository: (svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3). Just change the paparazzi3s to paparazzi4s for Booz files.<br />
<li>Allow access to the ports by copying the [http://www.openuas.org/pub/writing_udev_rules.html rules file]: (export PAPARAZZI_HOME=~/paparazzi3; sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/)<br />
<li>Compile the binaries from the sources (cd paparazzi3 && make)<br />
</ul><br />
<br />
That's all.<br />
<br />
=== Operating System ===<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux]. Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.<br />
<br />
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, Mac OS X, Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.<br />
<br />
If you are new and this is your first time installing it is suggested you keep it simple. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented below and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Linux tries a non-standard install that requires special steps not documented here.<br />
<br />
=== Compilers and Handlers ===<br />
<br />
The typical installation contains all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package. Have no fear, this is all taken care of for you so all you must do is type a few simple commands. Below are those commands and helpful information. Commands can be copied and pasted from these pages to make it as easy as possible. <br />
<br />
=== Source Code ===<br />
<br />
The Paparazzi source code is hosted by [https://savannah.nongnu.org/svn/?group=paparazzi Savannah]. It is downloaded using [http://subversion.apache.org/ Subversion] or [[git]].<br />
<br />
== Installation of Compilers and Handlers ==<br />
<br />
=== From the Command Line ===<br />
<br />
For the sources file (sources.list) you only add the line required for your version. Linux names their versions. <br />
<br />
Just add the following lines to your repository list (<b>/etc/apt/sources.list</b>) and then<br />
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):<br />
<br />
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:<br />
<br />
gksudo gedit /etc/apt/sources.list<br />
<br />
{{Box Code|/etc/apt/sources.list|<br />
# Uncomment just _one_ of the following lines - depending on your OS version<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> etch main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> lenny main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> gutsy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> hardy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> intrepid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> jaunty main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> karmic main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> lucid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> maverick main<br />
}}<br />
<br />
Then, update your sources and install the dependencies needed for recompiling from the source (<b>dev</b>), and the cross-compilers (<b>arm7</b> or <b>stm32</b>) :<br />
<br />
For ARM7 (i.e. Tiny or TWOG boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-arm7<br />
<br />
For STM32 (i.e. Lisa boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-stm32<br />
<br />
Note: The ivy-python package now among the dependencies of paparazzi-dev is also available in the normal paparazzi repository. [https://launchpad.net/~uce-launchpad/+archive/ppa Allen Ibara] might have some newer versions in his PPA but you should not need them.<br />
<br />
==== Optional/Obsolete Packages ====<br />
Users of the newer Lisa/L or Lisa/S boards will need the <b>paparazzi-stm32</b> package.<br />
<br />
Users of older AVR based boards will also need the <b>paparazzi-avr</b> package.<br />
<br />
==== older Ubuntu versions ====<br />
<br />
On older Linux distributions (not needed for lucid and later), the Braille TTY driver interferes with FTDI USB Serial adapters. If somehow your FTDI serial adapter does not work, remove the package via:<br />
<br />
sudo apt-get remove brltty<br />
<br />
=== Using Synaptic Package Manager ===<br />
* Launch ''Synaptic Package Manager'' (''Applications/System'' Tools Menu)<br />
* In '''Settings/Repositories''', add a new repository picking the right deb line from above, e.g. <tt>deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> maverick main</tt> if you use Ubuntu Maverik/10.10.<br />
* Search for <tt>paparazzi-dev</tt>, and <tt>paparazzi-arm7</tt> packages (use the ''Search'' button)<br />
* Mark them for installation (right-click on package names)<br />
* Left-click on ''Apply''<br />
<br />
=== Manual Installation of Individual Packages ===<br />
Users of other Linux flavors or anyone needing manual control of each individual package can install them independently. The list of dependencies of the Debian package is located in the [http://svn.savannah.gnu.org/viewvc/paparazzi3/trunk/debian/control.lenny?root=paparazzi&view=markup <tt> debian/control.lenny</tt>] file and may help users of other distributions.<br />
<br />
Some corresponding source tarballs can be downloaded from<br />
<br />
http://paparazzi.enac.fr/debian/dists/etch/main/binary-i386/<br />
<br />
For distributions using RPM packaging, the [http://packages.debian.org/unstable/source/alien alien] tool can be used to translate a .deb package into a .rpm package.<br />
<br />
For Fedora (Core8) users, you can install the following packages from standard repository:<br />
* ocaml.i386<br />
* ocaml-camlimages-devel.i386<br />
* ocaml-lablgtk-devel.i386<br />
* ocaml-xml-light-devel.i386<br />
* boa.i386<br />
* libgnomecanvas-devel.i386<br />
* libusb-devel.i386<br />
* pcre-devel.i386<br />
* arm-gp2x-linux-gcc.i386<br />
* arm-gp2x-linux-binutils.i386<br />
* glade2.i386<br />
* and gcc, make, subversion, gnuplot, imagemagik...<br />
<br />
Then you need [http://packages.debian.org/unstable/source/alien alien] tool to convert packages from the paparazzi repository:<br />
* ivy-c<br />
* ivy-c-dev<br />
* ivy-ocaml (WARNING: debian and fedora have different path for ocaml (/usr/lib/ocaml/<version> vs. /usr/lib/ocaml), so you need to move by hand the files in /usr/lib/ocaml/<version> to /usr/lib/ocaml)<br />
* lpc21isp<br />
<br />
== Downloading the Source Code ==<br />
After the <tt>paparazzi-dev</tt> package is installed the complete source code should be downloaded from one of the software repositories.<br />
=== Subversion ===<br />
See the [http://savannah.nongnu.org/svn/?group=paparazzi project page] at Savannah for more details. From the directory of your choice type:<br />
svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3<br />
or if you are behind a firewall with an http proxy available:<br />
svn co http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk paparazzi3<br />
after configuration of your proxy in the <tt>~/.subversion/servers</tt> file<br />
<br />
This will download all of the code and install it into <tt>paparazzi3/</tt><br />
<br />
If you cannot use the Subversion install, daily updated tarballs can also be fetched from the [[Downloads|Downloads]] page.<br />
<br />
=== Git ===<br />
You can also get the source code via a [[git]] mirror.<br />
<br />
== Launching the Software ==<br />
<br />
The first step is to compile. From the <tt>paparazzi3</tt> directory (<tt>cd paparazzi3</tt>), run<br />
<br />
make<br />
<br />
You will have to run this command after each update of the source (<tt>svn update</tt> command).<br />
Launch the software from the <tt>paparazzi3</tt> directory with<br />
<br />
./paparazzi<br />
<br />
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''MJ5'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The prcedure is detailed in the [[Simulation]] page.<br />
<br />
=== Quick Launch Icon ===<br />
<br />
To create an icon on the desktop so you don’t have to manually type codes into the Terminal each time you want to start the GCS follow these steps:<br />
<br />
#Save [[Media:Paparazzi_logo.png|this image file]] to your /paparazzi3 folder<br />
#Right click anywhere on the Ubuntu desktop and click Create Launcher.<br />
#Enter the following in the fields provided:<br />
#*Name: Paparazzi GCS<br />
#*Command: /home/YOUR_USER_NAME/paparazzi3/paparazzi<br />
#*Comment: Runs the Paparazzi GCS<br />
#*Then click the icon image in the top left on the dialog box and select the Paparazzi logo you just downloaded.<br />
#Click the OK button and that’s it! Your icon should appear on the desktop and you are ready to go.<br />
<br />
=== Agents ===<br />
<br />
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:<br />
{{Box Code|~/.bashrc|<br />
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
}}<br />
<br />
=== env Variables ===<br />
<br />
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:<br />
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`<br />
Verify that your variables are set correctly with the following command:<br />
env | grep PAPARAZZI<br />
which should return the following:<br />
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
<br />
== Setting access rights for USB download ==<br />
<br />
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].<br />
<br />
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev "group" and then create a "rule", associated with that "group". <br><br />
Make yourself a member of the ''plugdev'' group:<br />
<br />
sudo adduser <your login> plugdev<br />
<br />
Logout and login again. Then add the appropriate rule (available ine fhe file ''10-paparazzi.rules'') to the USB handler. Simply copy as root <tt>$PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules</tt> to <tt>/etc/udev/rules.d/</tt><br />
<br />
sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/<br />
<br />
== Software Updates ==<br />
Paparazzi is a very rapidly evolving project and as such, you will find that variables and functions are frequently added, changed, or removed. Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. Your airframe file will not be updated by the Subversion (SVN) system and therefore any new or modified variable names will need to be added manually. The compiler will usually identify the problem variables at which point you can look at some of the most recent airframe files on SVN to find the proper syntax. See the [[Compiling]] page for more help if needed.<br />
<br><br />
That said, keeping your software up to date is easy with the Subversion system. The system will compare all source code files with the server and update any that are needed, automatically merging any minor changes that you have incorporated along the way.<br />
<br />
To download and automatically merge any updated source files, run the following command from your Paparazzi directory<br />
svn update<br />
<br />
After any SVN update or source code modification the code can be recompiled from ''your paparazzi3 directory'' with the following command:<br />
<br />
make<br />
<br />
The ''make'' command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:<br />
<br />
make clean<br />
make<br />
<br />
See the [[Compiling]] page for more info.<br />
<br />
Users making changes to their code structure may prefer to have more control over the updating and merging process and may wish to install and use '''tkdiff''' instead which provides highlighted comparisons of any files that differ between your code and the SVN server and allows for a file by file update.<br />
<br />
To update your Linux distribution as well as any dependencies of Paparazzi (seldom necessary), run the following:<br />
<br />
sudo apt-get update<br />
sudo apt-get upgrade<br />
<br />
== Using the Live CD ==<br />
<br />
There is a [[LiveCD]] available, but it dates back to 2008. It is still an easy way to get a first glimpse on Paparazzi.<br />
<br />
== From Scratch==<br />
<br />
In very rare occasions one needs to install the tools used, third-party libraries used by Paparazzi all from scratch. There are are the moment no 64Bit Linux repositories, that is a very good reason to install from scratch. Sometime one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch. To help you out getting it all smoothly working [[install_paparazzi_and_everything_from_scratch | a special page is created just click here]]. If you do not understand what that all means, do not panic, then the information on that page is not important to you. Just pretend you never read this part of the Wiki. You are advised just to follow the regular step as described on the install page.</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=LiveCD&diff=7927LiveCD2010-10-07T13:31:33Z<p>Hoepfel: </p>
<hr />
<div>== Using the Live CD==<br />
<br />
[[Image:Lightscribe_CD_Cover_1.JPG|thumb|320px|LightScribe CD Cover]] <br />
<br />
'''Please note:''' the Live CD is from 2008. Everything should still work, but a lot of development has happened ever since. It can be still useful to get a first glimpse on Paparazzi.<br />
<br />
The LiveCD is an easy way to test Paparazzi: no installation is required and no changes are made to your computer. Simply burn the image as a boot CD and reboot! The LiveCD includes Linux and the complete paparazzi binary package (code source, tools and cross compilers). It is intended for demonstration only and not frequently updated but it contains the complete system and can store changed files on a pen drive or compressed file on your hard drive so that it can compile, flash, and operate any aircraft, albeit slowly. <br />
<br />
The CD image and a howto on [[Using the Boot CD]] is available from the [[Downloads|Downloads]] page.<br />
<br />
The Paparazzi demo is launchable on the Live CD from the Paparazzi icon.<br />
<br />
Knoppix allows for all the user data to be saved on a hard disk partition (most file systems are supported) or on a removable device (typically a USB pendrive). Note that this action is not destructive: the user data tree is compressed and stored on your file system as a single file (<tt>knoppix.img</tt>).<br />
* From the Knoppix menu (second from bottom left), choose '''Configure''', '''Create a persistent KNOPPIX disk image'''<br />
* Choose your media (be sure to connect your USB pendrive before booting!)<br />
* Choose if you want an encrypted filesystem (to protect your flight plan designed for the next MAV competition :-) )<br />
* Choose the size of your home directory (100Mb is recommended)<br />
On the next reboot, this saved state will be automatically located and loaded.<br />
<br />
Using this persistent feature, the Paparazzix Live CD can really be used to configure, simulate and fly an aircraft with the Paparazzi system.<br />
<br />
The Live CD can also be used to install a Debian system on the hard disk, using the <tt>knoppix-installer</tt> command. Be sure to backup the hard disk before trying ...<br />
<br />
<br />
A LiveCD needs some looks... In color or in LightScribe format, your CD will always look cool. <br />
* Get the PDF version for download here [http://paparazzi.enac.fr/wiki_images/Lightscribe_CD_Cover_1.pdf LightScribe CD Cover 1].<br />
<br />
* The LightScribe version is in Nero Cover Design format (.ncd) and it's here for download [http://paparazzi.enac.fr/wiki_images/Lightscribe_CD_Cover_1.zip LightScribe CD Cover 1]<br />
<br />
* Better is of course to use it on an OpenSource OS, some Linux software to be found here: [http://www.lightscribe.com/downloadSection/linux/index.aspx?id=814 Lightscribe for Linux]</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&diff=7925Installation/Linux2010-10-07T13:25:25Z<p>Hoepfel: /* Using Synaptic Package Manager */ Simplified the instruction to add repositories because I think it was hard to understand</p>
<hr />
<div>== Introduction ==<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux].<br />
<br />
At a high-level here are the steps required to install Paparazzi:<br />
<ul><br />
<li>Install a current Linux distribution (Ubuntu Lucid is recommended at the moment).<br />
<li>The Linux package sources file is updated to add the Paparazzi packages (/etc/apt/sources.list)<br />
<li>The Linux packages are updated from the network with the "update" command<br />
<li>The Paparazzi packages are installed (sudo apt-get install paparazzi-dev paparazzi-arm7)<br />
<li>Install subversion to get SVN (sudo apt-get install subversion). Don't worry if it's already installed. <br />
<li>Bring down the sources from the SVN repository: (svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3). Just change the paparazzi3s to paparazzi4s for Booz files.<br />
<li>Allow access to the ports by copying the [http://www.openuas.org/pub/writing_udev_rules.html rules file]: (export PAPARAZZI_HOME=~/paparazzi3; sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/)<br />
<li>Compile the binaries from the sources (cd paparazzi3 && make)<br />
</ul><br />
<br />
That's all.<br />
<br />
=== Operating System ===<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux]. Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.<br />
<br />
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, Mac OS X, Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.<br />
<br />
If you are new and this is your first time installing it is suggested you keep it simple. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented below and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Linux tries a non-standard install that requires special steps not documented here.<br />
<br />
=== Compilers and Handlers ===<br />
<br />
The typical installation contains all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package. Have no fear, this is all taken care of for you so all you must do is type a few simple commands. Below are those commands and helpful information. Commands can be copied and pasted from these pages to make it as easy as possible. <br />
<br />
=== Source Code ===<br />
<br />
The Paparazzi source code is hosted by [https://savannah.nongnu.org/svn/?group=paparazzi Savannah]. It is downloaded using [http://subversion.apache.org/ Subversion] or [[git]].<br />
<br />
== Installation of Compilers and Handlers ==<br />
<br />
=== From the Command Line ===<br />
<br />
For the sources file (sources.list) you only add the line required for your version. Linux names their versions. <br />
<br />
Just add the following lines to your repository list (<b>/etc/apt/sources.list</b>) and then<br />
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):<br />
<br />
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:<br />
<br />
gksudo gedit /etc/apt/sources.list<br />
<br />
{{Box Code|/etc/apt/sources.list|<br />
# Uncomment just _one_ of the following lines - depending on your OS version<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> etch main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> lenny main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> gutsy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> hardy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> intrepid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> jaunty main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> karmic main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> lucid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> maverick main<br />
}}<br />
<br />
Then, update your sources and install the dependencies needed for recompiling from the source (<b>dev</b>), and the cross-compilers (<b>arm7</b> or <b>stm32</b>) :<br />
<br />
For ARM7 (i.e. Tiny or TWOG boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-arm7<br />
<br />
For STM32 (i.e. Lisa boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-stm32<br />
<br />
Note: The ivy-python package now among the dependencies of paparazzi-dev is also available in the normal paparazzi repository. [https://launchpad.net/~uce-launchpad/+archive/ppa Allen Ibara] might have some newer versions in his PPA but you should not need them.<br />
<br />
==== Optional/Obsolete Packages ====<br />
Users of the newer Lisa/L or Lisa/S boards will need the <b>paparazzi-stm32</b> package.<br />
<br />
Users of older AVR based boards will also need the <b>paparazzi-avr</b> package.<br />
<br />
==== older Ubuntu versions ====<br />
<br />
On older Linux distributions (not needed for lucid and later), the Braille TTY driver interferes with FTDI USB Serial adapters. If somehow your FTDI serial adapter does not work, remove the package via:<br />
<br />
sudo apt-get remove brltty<br />
<br />
=== Using Synaptic Package Manager ===<br />
* Launch ''Synaptic Package Manager'' (''Applications/System'' Tools Menu)<br />
* In '''Settings/Repositories''', add a new repository picking the right deb line from above, e.g. <tt>deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> maverick main</tt> if you use Ubuntu Maverik/10.10.<br />
* Search for <tt>paparazzi-dev</tt>, and <tt>paparazzi-arm7</tt> packages (use the ''Search'' button)<br />
* Mark them for installation (right-click on package names)<br />
* Left-click on ''Apply''<br />
<br />
=== Manual Installation of Individual Packages ===<br />
Users of other Linux flavors or anyone needing manual control of each individual package can install them independently. The list of dependencies of the Debian package is located in the [http://svn.savannah.gnu.org/viewvc/paparazzi3/trunk/debian/control.lenny?root=paparazzi&view=markup <tt> debian/control.lenny</tt>] file and may help users of other distributions.<br />
<br />
Some corresponding source tarballs can be downloaded from<br />
<br />
http://paparazzi.enac.fr/debian/dists/etch/main/binary-i386/<br />
<br />
For distributions using RPM packaging, the [http://packages.debian.org/unstable/source/alien alien] tool can be used to translate a .deb package into a .rpm package.<br />
<br />
For Fedora (Core8) users, you can install the following packages from standard repository:<br />
* ocaml.i386<br />
* ocaml-camlimages-devel.i386<br />
* ocaml-lablgtk-devel.i386<br />
* ocaml-xml-light-devel.i386<br />
* boa.i386<br />
* libgnomecanvas-devel.i386<br />
* libusb-devel.i386<br />
* pcre-devel.i386<br />
* arm-gp2x-linux-gcc.i386<br />
* arm-gp2x-linux-binutils.i386<br />
* glade2.i386<br />
* and gcc, make, subversion, gnuplot, imagemagik...<br />
<br />
Then you need [http://packages.debian.org/unstable/source/alien alien] tool to convert packages from the paparazzi repository:<br />
* ivy-c<br />
* ivy-c-dev<br />
* ivy-ocaml (WARNING: debian and fedora have different path for ocaml (/usr/lib/ocaml/<version> vs. /usr/lib/ocaml), so you need to move by hand the files in /usr/lib/ocaml/<version> to /usr/lib/ocaml)<br />
* lpc21isp<br />
<br />
== Downloading the Source Code ==<br />
After the <tt>paparazzi-dev</tt> package is installed the complete source code should be downloaded from one of the software repositories.<br />
=== Subversion ===<br />
See the [http://savannah.nongnu.org/svn/?group=paparazzi project page] at Savannah for more details. From the directory of your choice type:<br />
svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3<br />
or if you are behind a firewall with an http proxy available:<br />
svn co http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk paparazzi3<br />
after configuration of your proxy in the <tt>~/.subversion/servers</tt> file<br />
<br />
This will download all of the code and install it into <tt>paparazzi3/</tt><br />
<br />
If you cannot use the Subversion install, daily updated tarballs can also be fetched from the [[Downloads|Downloads]] page.<br />
<br />
=== Git ===<br />
You can also get the source code via [[git]].<br />
<br />
== Launching the Software ==<br />
<br />
The first step is to compile. From the <tt>paparazzi3</tt> directory (<tt>cd paparazzi3</tt>), run<br />
<br />
make<br />
<br />
You will have to run this command after each update of the source (<tt>svn update</tt> command).<br />
Launch the software from the <tt>paparazzi3</tt> directory with<br />
<br />
./paparazzi<br />
<br />
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''MJ5'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The prcedure is detailed in the [[Simulation]] page.<br />
<br />
=== Quick Launch Icon ===<br />
<br />
To create an icon on the desktop so you don’t have to manually type codes into the Terminal each time you want to start the GCS follow these steps:<br />
<br />
#Save [[Media:Paparazzi_logo.png|this image file]] to your /paparazzi3 folder<br />
#Right click anywhere on the Ubuntu desktop and click Create Launcher.<br />
#Enter the following in the fields provided:<br />
#*Name: Paparazzi GCS<br />
#*Command: /home/YOUR_USER_NAME/paparazzi3/paparazzi<br />
#*Comment: Runs the Paparazzi GCS<br />
#*Then click the icon image in the top left on the dialog box and select the Paparazzi logo you just downloaded.<br />
#Click the OK button and that’s it! Your icon should appear on the desktop and you are ready to go.<br />
<br />
=== Agents ===<br />
<br />
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:<br />
{{Box Code|~/.bashrc|<br />
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
}}<br />
<br />
=== env Variables ===<br />
<br />
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:<br />
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`<br />
Verify that your variables are set correctly with the following command:<br />
env | grep PAPARAZZI<br />
which should return the following:<br />
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
<br />
== Setting access rights for USB download ==<br />
<br />
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].<br />
<br />
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev "group" and then create a "rule", associated with that "group". <br><br />
Make yourself a member of the ''plugdev'' group:<br />
<br />
sudo adduser <your login> plugdev<br />
<br />
Logout and login again. Then add the appropriate rule (available ine fhe file ''10-paparazzi.rules'') to the USB handler. Simply copy as root <tt>$PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules</tt> to <tt>/etc/udev/rules.d/</tt><br />
<br />
sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/<br />
<br />
== Software Updates ==<br />
Paparazzi is a very rapidly evolving project and as such, you will find that variables and functions are frequently added, changed, or removed. Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. Your airframe file will not be updated by the Subversion (SVN) system and therefore any new or modified variable names will need to be added manually. The compiler will usually identify the problem variables at which point you can look at some of the most recent airframe files on SVN to find the proper syntax. See the [[Compiling]] page for more help if needed.<br />
<br><br />
That said, keeping your software up to date is easy with the Subversion system. The system will compare all source code files with the server and update any that are needed, automatically merging any minor changes that you have incorporated along the way.<br />
<br />
To download and automatically merge any updated source files, run the following command from your Paparazzi directory<br />
svn update<br />
<br />
After any SVN update or source code modification the code can be recompiled from ''your paparazzi3 directory'' with the following command:<br />
<br />
make<br />
<br />
The ''make'' command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:<br />
<br />
make clean<br />
make<br />
<br />
See the [[Compiling]] page for more info.<br />
<br />
Users making changes to their code structure may prefer to have more control over the updating and merging process and may wish to install and use '''tkdiff''' instead which provides highlighted comparisons of any files that differ between your code and the SVN server and allows for a file by file update.<br />
<br />
To update your Linux distribution as well as any dependencies of Paparazzi (seldom necessary), run the following:<br />
<br />
sudo apt-get update<br />
sudo apt-get upgrade<br />
<br />
== From Scratch==<br />
<br />
In very rare occasions one needs to install the tools used, third-party libraries used by Paparazzi all from scratch. There are are the moment no 64Bit Linux repositories, that is a very good reason to install from scratch. Sometime one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch. To help you out getting it all smoothly working [[install_paparazzi_and_everything_from_scratch | a special page is created just click here]]. If you do not understand what that all means, do not panic, then the information on that page is not important to you. Just pretend you never read this part of the Wiki. You are advised just to follow the regular step as described on the install page.</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&diff=7922Installation/Linux2010-10-07T13:20:30Z<p>Hoepfel: Added repository link for Ubuntu Maverick/10.10</p>
<hr />
<div>== Introduction ==<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux].<br />
<br />
At a high-level here are the steps required to install Paparazzi:<br />
<ul><br />
<li>Dedicate a Laptop or PC for Paparazzi. Dedicate means during install you select to use the entire disk for the installation and erase any previous Linux or Windows OS installed.<br />
<li>Installation takes place with a recent build of Linux using the default options. <br />
<li>The Linux package sources file is updated to add the Paparazzi packages (/etc/apt/sources.list)<br />
<li>The Linux packages are updated from the network with the "update" command<br />
<li>The Paparazzi packages are installed (sudo apt-get install paparazzi-dev paparazzi-arm7)<br />
<li>The brltty package is removed to avoid issues (sudo apt-get remove brltty)<br />
<li>Install subversion to get SVN (sudo apt-get install subversion). Don't worry if it's already installed. <br />
<li>Bring down the sources from the SVN repository: (svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3). Just change the paparazzi3s to paparazzi4s for Booz files.<br />
<li>Allow access to the ports by copying the [http://www.openuas.org/pub/writing_udev_rules.html rules file]: (export PAPARAZZI_HOME=~/paparazzi3; sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/)<br />
<li>Compile the binaries from the sources (cd paparazzi3 && make)<br />
</ul><br />
<br />
That's all.<br />
<br />
=== Operating System ===<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux]. Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.<br />
<br />
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, Mac OS X, Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.<br />
<br />
If you are new and this is your first time installing it is suggested you keep it simple. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented below and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Linux tries a non-standard install that requires special steps not documented here.<br />
<br />
=== Compilers and Handlers ===<br />
<br />
The typical installation contains all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package. Have no fear, this is all taken care of for you so all you must do is type a few simple commands. Below are those commands and helpful information. Commands can be copied and pasted from these pages to make it as easy as possible. <br />
<br />
=== Source Code ===<br />
<br />
The Paparazzi source code is hosted by [https://savannah.nongnu.org/svn/?group=paparazzi Savannah]. It is downloaded using [http://subversion.apache.org/ Subversion] or [[git]].<br />
<br />
== Installation of Compilers and Handlers ==<br />
<br />
=== From the Command Line ===<br />
<br />
For the sources file (sources.list) you only add the line required for your version. Linux names their versions. <br />
<br />
Just add the following lines to your repository list (<b>/etc/apt/sources.list</b>) and then<br />
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):<br />
<br />
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:<br />
<br />
gksudo gedit /etc/apt/sources.list<br />
<br />
{{Box Code|/etc/apt/sources.list|<br />
# Uncomment just _one_ of the following lines - depending on your OS version<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> etch main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> lenny main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> gutsy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> hardy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> intrepid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> jaunty main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> karmic main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> lucid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> maverick main<br />
}}<br />
<br />
Then, update your sources and install the dependencies needed for recompiling from the source (<b>dev</b>), and the cross-compilers (<b>arm7</b> or <b>stm32</b>) :<br />
<br />
For ARM7 (i.e. Tiny or TWOG boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-arm7<br />
<br />
For STM32 (i.e. Lisa boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-stm32<br />
<br />
Note: The ivy-python package now among the dependencies of paparazzi-dev is also available in the normal paparazzi repository. [https://launchpad.net/~uce-launchpad/+archive/ppa Allen Ibara] might have some newer versions in his PPA but you should not need them.<br />
<br />
==== Optional/Obsolete Packages ====<br />
Users of the newer Lisa/L or Lisa/S boards will need the <b>paparazzi-stm32</b> package.<br />
<br />
Users of older AVR based boards will also need the <b>paparazzi-avr</b> package.<br />
<br />
==== Extra for Ubuntu ====<br />
<br />
On older Linux distributions, the Braille TTY driver interferes with FTDI USB Serial adapters. If somehow your FTDI serial adapter does not work, remove the package via:<br />
<br />
sudo apt-get remove brltty<br />
<br />
=== Using Synaptic Package Manager ===<br />
* Launch ''Synaptic Package Manager'' (''Applications/System'' Tools Menu)<br />
* In '''Settings/Repositories''', add a new repository on URI = '''<nowiki>http://paparazzi.enac.fr/debian</nowiki>''', Distribution = '''etch''', Section = '''main''' . For Ubuntu, replace '''debian''' by '''ubuntu''' and '''etch''' by '''gutsy''', '''hardy''', '''karmic''' or '''lucid'''<br />
* Search for <tt>paparazzi-dev</tt>, and <tt>paparazzi-arm7</tt> packages (use the ''Search'' button)<br />
* Mark them for installation (right-click on package names)<br />
* Left-click on ''Apply''<br />
<br />
=== Manual Installation of Individual Packages ===<br />
Users of other Linux flavors or anyone needing manual control of each individual package can install them independently. The list of dependencies of the Debian package is located in the [http://svn.savannah.gnu.org/viewvc/paparazzi3/trunk/debian/control.lenny?root=paparazzi&view=markup <tt> debian/control.lenny</tt>] file and may help users of other distributions.<br />
<br />
Some corresponding source tarballs can be downloaded from<br />
<br />
http://paparazzi.enac.fr/debian/dists/etch/main/binary-i386/<br />
<br />
For distributions using RPM packaging, the [http://packages.debian.org/unstable/source/alien alien] tool can be used to translate a .deb package into a .rpm package.<br />
<br />
For Fedora (Core8) users, you can install the following packages from standard repository:<br />
* ocaml.i386<br />
* ocaml-camlimages-devel.i386<br />
* ocaml-lablgtk-devel.i386<br />
* ocaml-xml-light-devel.i386<br />
* boa.i386<br />
* libgnomecanvas-devel.i386<br />
* libusb-devel.i386<br />
* pcre-devel.i386<br />
* arm-gp2x-linux-gcc.i386<br />
* arm-gp2x-linux-binutils.i386<br />
* glade2.i386<br />
* and gcc, make, subversion, gnuplot, imagemagik...<br />
<br />
Then you need [http://packages.debian.org/unstable/source/alien alien] tool to convert packages from the paparazzi repository:<br />
* ivy-c<br />
* ivy-c-dev<br />
* ivy-ocaml (WARNING: debian and fedora have different path for ocaml (/usr/lib/ocaml/<version> vs. /usr/lib/ocaml), so you need to move by hand the files in /usr/lib/ocaml/<version> to /usr/lib/ocaml)<br />
* lpc21isp<br />
<br />
== Downloading the Source Code ==<br />
After the <tt>paparazzi-dev</tt> package is installed the complete source code should be downloaded from one of the software repositories.<br />
=== Subversion ===<br />
See the [http://savannah.nongnu.org/svn/?group=paparazzi project page] at Savannah for more details. From the directory of your choice type:<br />
svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3<br />
or if you are behind a firewall with an http proxy available:<br />
svn co http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk paparazzi3<br />
after configuration of your proxy in the <tt>~/.subversion/servers</tt> file<br />
<br />
This will download all of the code and install it into <tt>paparazzi3/</tt><br />
<br />
If you cannot use the Subversion install, daily updated tarballs can also be fetched from the [[Downloads|Downloads]] page.<br />
<br />
=== Git ===<br />
You can also get the source code via [[git]].<br />
<br />
== Launching the Software ==<br />
<br />
The first step is to compile. From the <tt>paparazzi3</tt> directory (<tt>cd paparazzi3</tt>), run<br />
<br />
make<br />
<br />
You will have to run this command after each update of the source (<tt>svn update</tt> command).<br />
Launch the software from the <tt>paparazzi3</tt> directory with<br />
<br />
./paparazzi<br />
<br />
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''MJ5'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The prcedure is detailed in the [[Simulation]] page.<br />
<br />
=== Quick Launch Icon ===<br />
<br />
To create an icon on the desktop so you don’t have to manually type codes into the Terminal each time you want to start the GCS follow these steps:<br />
<br />
#Save [[Media:Paparazzi_logo.png|this image file]] to your /paparazzi3 folder<br />
#Right click anywhere on the Ubuntu desktop and click Create Launcher.<br />
#Enter the following in the fields provided:<br />
#*Name: Paparazzi GCS<br />
#*Command: /home/YOUR_USER_NAME/paparazzi3/paparazzi<br />
#*Comment: Runs the Paparazzi GCS<br />
#*Then click the icon image in the top left on the dialog box and select the Paparazzi logo you just downloaded.<br />
#Click the OK button and that’s it! Your icon should appear on the desktop and you are ready to go.<br />
<br />
=== Agents ===<br />
<br />
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:<br />
{{Box Code|~/.bashrc|<br />
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
}}<br />
<br />
=== env Variables ===<br />
<br />
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:<br />
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`<br />
Verify that your variables are set correctly with the following command:<br />
env | grep PAPARAZZI<br />
which should return the following:<br />
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
<br />
== Setting access rights for USB download ==<br />
<br />
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].<br />
<br />
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev "group" and then create a "rule", associated with that "group". <br><br />
Make yourself a member of the ''plugdev'' group:<br />
<br />
sudo adduser <your login> plugdev<br />
<br />
Logout and login again. Then add the appropriate rule (available ine fhe file ''10-paparazzi.rules'') to the USB handler. Simply copy as root <tt>$PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules</tt> to <tt>/etc/udev/rules.d/</tt><br />
<br />
sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/<br />
<br />
== Software Updates ==<br />
Paparazzi is a very rapidly evolving project and as such, you will find that variables and functions are frequently added, changed, or removed. Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. Your airframe file will not be updated by the Subversion (SVN) system and therefore any new or modified variable names will need to be added manually. The compiler will usually identify the problem variables at which point you can look at some of the most recent airframe files on SVN to find the proper syntax. See the [[Compiling]] page for more help if needed.<br />
<br><br />
That said, keeping your software up to date is easy with the Subversion system. The system will compare all source code files with the server and update any that are needed, automatically merging any minor changes that you have incorporated along the way.<br />
<br />
To download and automatically merge any updated source files, run the following command from your Paparazzi directory<br />
svn update<br />
<br />
After any SVN update or source code modification the code can be recompiled from ''your paparazzi3 directory'' with the following command:<br />
<br />
make<br />
<br />
The ''make'' command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:<br />
<br />
make clean<br />
make<br />
<br />
See the [[Compiling]] page for more info.<br />
<br />
Users making changes to their code structure may prefer to have more control over the updating and merging process and may wish to install and use '''tkdiff''' instead which provides highlighted comparisons of any files that differ between your code and the SVN server and allows for a file by file update.<br />
<br />
To update your Linux distribution as well as any dependencies of Paparazzi (seldom necessary), run the following:<br />
<br />
sudo apt-get update<br />
sudo apt-get upgrade<br />
<br />
== From Scratch==<br />
<br />
In very rare occasions one needs to install the tools used, third-party libraries used by Paparazzi all from scratch. There are are the moment no 64Bit Linux repositories, that is a very good reason to install from scratch. Sometime one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch. To help you out getting it all smoothly working [[install_paparazzi_and_everything_from_scratch | a special page is created just click here]]. If you do not understand what that all means, do not panic, then the information on that page is not important to you. Just pretend you never read this part of the Wiki. You are advised just to follow the regular step as described on the install page.</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&diff=7921Installation/Linux2010-10-07T13:19:55Z<p>Hoepfel: Removed the Live CD section because the CD is very outdated</p>
<hr />
<div>== Introduction ==<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux].<br />
<br />
At a high-level here are the steps required to install Paparazzi:<br />
<ul><br />
<li>Dedicate a Laptop or PC for Paparazzi. Dedicate means during install you select to use the entire disk for the installation and erase any previous Linux or Windows OS installed.<br />
<li>Installation takes place with a recent build of Linux using the default options. <br />
<li>The Linux package sources file is updated to add the Paparazzi packages (/etc/apt/sources.list)<br />
<li>The Linux packages are updated from the network with the "update" command<br />
<li>The Paparazzi packages are installed (sudo apt-get install paparazzi-dev paparazzi-arm7)<br />
<li>The brltty package is removed to avoid issues (sudo apt-get remove brltty)<br />
<li>Install subversion to get SVN (sudo apt-get install subversion). Don't worry if it's already installed. <br />
<li>Bring down the sources from the SVN repository: (svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3). Just change the paparazzi3s to paparazzi4s for Booz files.<br />
<li>Allow access to the ports by copying the [http://www.openuas.org/pub/writing_udev_rules.html rules file]: (export PAPARAZZI_HOME=~/paparazzi3; sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/)<br />
<li>Compile the binaries from the sources (cd paparazzi3 && make)<br />
</ul><br />
<br />
That's all.<br />
<br />
=== Operating System ===<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux]. Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.<br />
<br />
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, Mac OS X, Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.<br />
<br />
If you are new and this is your first time installing it is suggested you keep it simple. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented below and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Linux tries a non-standard install that requires special steps not documented here.<br />
<br />
=== Compilers and Handlers ===<br />
<br />
The typical installation contains all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package. Have no fear, this is all taken care of for you so all you must do is type a few simple commands. Below are those commands and helpful information. Commands can be copied and pasted from these pages to make it as easy as possible. <br />
<br />
=== Source Code ===<br />
<br />
The Paparazzi source code is hosted by [https://savannah.nongnu.org/svn/?group=paparazzi Savannah]. It is downloaded using [http://subversion.apache.org/ Subversion] or [[git]].<br />
<br />
== Installation of Compilers and Handlers ==<br />
<br />
=== From the Command Line ===<br />
<br />
For the sources file (sources.list) you only add the line required for your version. Linux names their versions. <br />
<br />
Just add the following lines to your repository list (<b>/etc/apt/sources.list</b>) and then<br />
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):<br />
<br />
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:<br />
<br />
gksudo gedit /etc/apt/sources.list<br />
<br />
{{Box Code|/etc/apt/sources.list|<br />
# Uncomment just _one_ of the following lines - depending on your OS version<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> etch main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> lenny main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> gutsy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> hardy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> intrepid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> jaunty main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> karmic main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> lucid main<br />
}}<br />
<br />
Then, update your sources and install the dependencies needed for recompiling from the source (<b>dev</b>), and the cross-compilers (<b>arm7</b> or <b>stm32</b>) :<br />
<br />
For ARM7 (i.e. Tiny or TWOG boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-arm7<br />
<br />
For STM32 (i.e. Lisa boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-stm32<br />
<br />
Note: The ivy-python package now among the dependencies of paparazzi-dev is also available in the normal paparazzi repository. [https://launchpad.net/~uce-launchpad/+archive/ppa Allen Ibara] might have some newer versions in his PPA but you should not need them.<br />
<br />
==== Optional/Obsolete Packages ====<br />
Users of the newer Lisa/L or Lisa/S boards will need the <b>paparazzi-stm32</b> package.<br />
<br />
Users of older AVR based boards will also need the <b>paparazzi-avr</b> package.<br />
<br />
==== Extra for Ubuntu ====<br />
<br />
On older Linux distributions, the Braille TTY driver interferes with FTDI USB Serial adapters. If somehow your FTDI serial adapter does not work, remove the package via:<br />
<br />
sudo apt-get remove brltty<br />
<br />
=== Using Synaptic Package Manager ===<br />
* Launch ''Synaptic Package Manager'' (''Applications/System'' Tools Menu)<br />
* In '''Settings/Repositories''', add a new repository on URI = '''<nowiki>http://paparazzi.enac.fr/debian</nowiki>''', Distribution = '''etch''', Section = '''main''' . For Ubuntu, replace '''debian''' by '''ubuntu''' and '''etch''' by '''gutsy''', '''hardy''', '''karmic''' or '''lucid'''<br />
* Search for <tt>paparazzi-dev</tt>, and <tt>paparazzi-arm7</tt> packages (use the ''Search'' button)<br />
* Mark them for installation (right-click on package names)<br />
* Left-click on ''Apply''<br />
<br />
=== Manual Installation of Individual Packages ===<br />
Users of other Linux flavors or anyone needing manual control of each individual package can install them independently. The list of dependencies of the Debian package is located in the [http://svn.savannah.gnu.org/viewvc/paparazzi3/trunk/debian/control.lenny?root=paparazzi&view=markup <tt> debian/control.lenny</tt>] file and may help users of other distributions.<br />
<br />
Some corresponding source tarballs can be downloaded from<br />
<br />
http://paparazzi.enac.fr/debian/dists/etch/main/binary-i386/<br />
<br />
For distributions using RPM packaging, the [http://packages.debian.org/unstable/source/alien alien] tool can be used to translate a .deb package into a .rpm package.<br />
<br />
For Fedora (Core8) users, you can install the following packages from standard repository:<br />
* ocaml.i386<br />
* ocaml-camlimages-devel.i386<br />
* ocaml-lablgtk-devel.i386<br />
* ocaml-xml-light-devel.i386<br />
* boa.i386<br />
* libgnomecanvas-devel.i386<br />
* libusb-devel.i386<br />
* pcre-devel.i386<br />
* arm-gp2x-linux-gcc.i386<br />
* arm-gp2x-linux-binutils.i386<br />
* glade2.i386<br />
* and gcc, make, subversion, gnuplot, imagemagik...<br />
<br />
Then you need [http://packages.debian.org/unstable/source/alien alien] tool to convert packages from the paparazzi repository:<br />
* ivy-c<br />
* ivy-c-dev<br />
* ivy-ocaml (WARNING: debian and fedora have different path for ocaml (/usr/lib/ocaml/<version> vs. /usr/lib/ocaml), so you need to move by hand the files in /usr/lib/ocaml/<version> to /usr/lib/ocaml)<br />
* lpc21isp<br />
<br />
== Downloading the Source Code ==<br />
After the <tt>paparazzi-dev</tt> package is installed the complete source code should be downloaded from one of the software repositories.<br />
=== Subversion ===<br />
See the [http://savannah.nongnu.org/svn/?group=paparazzi project page] at Savannah for more details. From the directory of your choice type:<br />
svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3<br />
or if you are behind a firewall with an http proxy available:<br />
svn co http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk paparazzi3<br />
after configuration of your proxy in the <tt>~/.subversion/servers</tt> file<br />
<br />
This will download all of the code and install it into <tt>paparazzi3/</tt><br />
<br />
If you cannot use the Subversion install, daily updated tarballs can also be fetched from the [[Downloads|Downloads]] page.<br />
<br />
=== Git ===<br />
You can also get the source code via [[git]].<br />
<br />
== Launching the Software ==<br />
<br />
The first step is to compile. From the <tt>paparazzi3</tt> directory (<tt>cd paparazzi3</tt>), run<br />
<br />
make<br />
<br />
You will have to run this command after each update of the source (<tt>svn update</tt> command).<br />
Launch the software from the <tt>paparazzi3</tt> directory with<br />
<br />
./paparazzi<br />
<br />
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''MJ5'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The prcedure is detailed in the [[Simulation]] page.<br />
<br />
=== Quick Launch Icon ===<br />
<br />
To create an icon on the desktop so you don’t have to manually type codes into the Terminal each time you want to start the GCS follow these steps:<br />
<br />
#Save [[Media:Paparazzi_logo.png|this image file]] to your /paparazzi3 folder<br />
#Right click anywhere on the Ubuntu desktop and click Create Launcher.<br />
#Enter the following in the fields provided:<br />
#*Name: Paparazzi GCS<br />
#*Command: /home/YOUR_USER_NAME/paparazzi3/paparazzi<br />
#*Comment: Runs the Paparazzi GCS<br />
#*Then click the icon image in the top left on the dialog box and select the Paparazzi logo you just downloaded.<br />
#Click the OK button and that’s it! Your icon should appear on the desktop and you are ready to go.<br />
<br />
=== Agents ===<br />
<br />
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:<br />
{{Box Code|~/.bashrc|<br />
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
}}<br />
<br />
=== env Variables ===<br />
<br />
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:<br />
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`<br />
Verify that your variables are set correctly with the following command:<br />
env | grep PAPARAZZI<br />
which should return the following:<br />
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
<br />
== Setting access rights for USB download ==<br />
<br />
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].<br />
<br />
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev "group" and then create a "rule", associated with that "group". <br><br />
Make yourself a member of the ''plugdev'' group:<br />
<br />
sudo adduser <your login> plugdev<br />
<br />
Logout and login again. Then add the appropriate rule (available ine fhe file ''10-paparazzi.rules'') to the USB handler. Simply copy as root <tt>$PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules</tt> to <tt>/etc/udev/rules.d/</tt><br />
<br />
sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/<br />
<br />
== Software Updates ==<br />
Paparazzi is a very rapidly evolving project and as such, you will find that variables and functions are frequently added, changed, or removed. Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. Your airframe file will not be updated by the Subversion (SVN) system and therefore any new or modified variable names will need to be added manually. The compiler will usually identify the problem variables at which point you can look at some of the most recent airframe files on SVN to find the proper syntax. See the [[Compiling]] page for more help if needed.<br />
<br><br />
That said, keeping your software up to date is easy with the Subversion system. The system will compare all source code files with the server and update any that are needed, automatically merging any minor changes that you have incorporated along the way.<br />
<br />
To download and automatically merge any updated source files, run the following command from your Paparazzi directory<br />
svn update<br />
<br />
After any SVN update or source code modification the code can be recompiled from ''your paparazzi3 directory'' with the following command:<br />
<br />
make<br />
<br />
The ''make'' command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:<br />
<br />
make clean<br />
make<br />
<br />
See the [[Compiling]] page for more info.<br />
<br />
Users making changes to their code structure may prefer to have more control over the updating and merging process and may wish to install and use '''tkdiff''' instead which provides highlighted comparisons of any files that differ between your code and the SVN server and allows for a file by file update.<br />
<br />
To update your Linux distribution as well as any dependencies of Paparazzi (seldom necessary), run the following:<br />
<br />
sudo apt-get update<br />
sudo apt-get upgrade<br />
<br />
== From Scratch==<br />
<br />
In very rare occasions one needs to install the tools used, third-party libraries used by Paparazzi all from scratch. There are are the moment no 64Bit Linux repositories, that is a very good reason to install from scratch. Sometime one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch. To help you out getting it all smoothly working [[install_paparazzi_and_everything_from_scratch | a special page is created just click here]]. If you do not understand what that all means, do not panic, then the information on that page is not important to you. Just pretend you never read this part of the Wiki. You are advised just to follow the regular step as described on the install page.</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&diff=7920Installation/Linux2010-10-07T13:19:08Z<p>Hoepfel: Removed any reference to the outdated paparazzi-bin package to clear up confusion</p>
<hr />
<div>== Introduction ==<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux].<br />
<br />
At a high-level here are the steps required to install Paparazzi:<br />
<ul><br />
<li>Dedicate a Laptop or PC for Paparazzi. Dedicate means during install you select to use the entire disk for the installation and erase any previous Linux or Windows OS installed.<br />
<li>Installation takes place with a recent build of Linux using the default options. <br />
<li>The Linux package sources file is updated to add the Paparazzi packages (/etc/apt/sources.list)<br />
<li>The Linux packages are updated from the network with the "update" command<br />
<li>The Paparazzi packages are installed (sudo apt-get install paparazzi-dev paparazzi-arm7)<br />
<li>The brltty package is removed to avoid issues (sudo apt-get remove brltty)<br />
<li>Install subversion to get SVN (sudo apt-get install subversion). Don't worry if it's already installed. <br />
<li>Bring down the sources from the SVN repository: (svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3). Just change the paparazzi3s to paparazzi4s for Booz files.<br />
<li>Allow access to the ports by copying the [http://www.openuas.org/pub/writing_udev_rules.html rules file]: (export PAPARAZZI_HOME=~/paparazzi3; sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/)<br />
<li>Compile the binaries from the sources (cd paparazzi3 && make)<br />
</ul><br />
<br />
That's all.<br />
<br />
=== Operating System ===<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux]. Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.<br />
<br />
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, Mac OS X, Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.<br />
<br />
If you are new and this is your first time installing it is suggested you keep it simple. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented below and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Linux tries a non-standard install that requires special steps not documented here.<br />
<br />
=== Compilers and Handlers ===<br />
<br />
The typical installation contains all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package. Have no fear, this is all taken care of for you so all you must do is type a few simple commands. Below are those commands and helpful information. Commands can be copied and pasted from these pages to make it as easy as possible. <br />
<br />
=== Source Code ===<br />
<br />
The Paparazzi source code is hosted by [https://savannah.nongnu.org/svn/?group=paparazzi Savannah]. It is downloaded using [http://subversion.apache.org/ Subversion] or [[git]].<br />
<br />
== Installation of Compilers and Handlers ==<br />
<br />
=== From the Command Line ===<br />
<br />
For the sources file (sources.list) you only add the line required for your version. Linux names their versions. <br />
<br />
Just add the following lines to your repository list (<b>/etc/apt/sources.list</b>) and then<br />
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):<br />
<br />
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:<br />
<br />
gksudo gedit /etc/apt/sources.list<br />
<br />
{{Box Code|/etc/apt/sources.list|<br />
# Uncomment just _one_ of the following lines - depending on your OS version<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> etch main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> lenny main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> gutsy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> hardy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> intrepid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> jaunty main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> karmic main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> lucid main<br />
}}<br />
<br />
Then, update your sources and install the dependencies needed for recompiling from the source (<b>dev</b>), and the cross-compilers (<b>arm7</b> or <b>stm32</b>) :<br />
<br />
For ARM7 (i.e. Tiny or TWOG boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-arm7<br />
<br />
For STM32 (i.e. Lisa boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-stm32<br />
<br />
Note: The ivy-python package now among the dependencies of paparazzi-dev is also available in the normal paparazzi repository. [https://launchpad.net/~uce-launchpad/+archive/ppa Allen Ibara] might have some newer versions in his PPA but you should not need them.<br />
<br />
==== Optional/Obsolete Packages ====<br />
Users of the newer Lisa/L or Lisa/S boards will need the <b>paparazzi-stm32</b> package.<br />
<br />
Users of older AVR based boards will also need the <b>paparazzi-avr</b> package.<br />
<br />
==== Extra for Ubuntu ====<br />
<br />
On older Linux distributions, the Braille TTY driver interferes with FTDI USB Serial adapters. If somehow your FTDI serial adapter does not work, remove the package via:<br />
<br />
sudo apt-get remove brltty<br />
<br />
=== Using Synaptic Package Manager ===<br />
* Launch ''Synaptic Package Manager'' (''Applications/System'' Tools Menu)<br />
* In '''Settings/Repositories''', add a new repository on URI = '''<nowiki>http://paparazzi.enac.fr/debian</nowiki>''', Distribution = '''etch''', Section = '''main''' . For Ubuntu, replace '''debian''' by '''ubuntu''' and '''etch''' by '''gutsy''', '''hardy''', '''karmic''' or '''lucid'''<br />
* Search for <tt>paparazzi-dev</tt>, and <tt>paparazzi-arm7</tt> packages (use the ''Search'' button)<br />
* Mark them for installation (right-click on package names)<br />
* Left-click on ''Apply''<br />
<br />
=== Manual Installation of Individual Packages ===<br />
Users of other Linux flavors or anyone needing manual control of each individual package can install them independently. The list of dependencies of the Debian package is located in the [http://svn.savannah.gnu.org/viewvc/paparazzi3/trunk/debian/control.lenny?root=paparazzi&view=markup <tt> debian/control.lenny</tt>] file and may help users of other distributions.<br />
<br />
Some corresponding source tarballs can be downloaded from<br />
<br />
http://paparazzi.enac.fr/debian/dists/etch/main/binary-i386/<br />
<br />
For distributions using RPM packaging, the [http://packages.debian.org/unstable/source/alien alien] tool can be used to translate a .deb package into a .rpm package.<br />
<br />
For Fedora (Core8) users, you can install the following packages from standard repository:<br />
* ocaml.i386<br />
* ocaml-camlimages-devel.i386<br />
* ocaml-lablgtk-devel.i386<br />
* ocaml-xml-light-devel.i386<br />
* boa.i386<br />
* libgnomecanvas-devel.i386<br />
* libusb-devel.i386<br />
* pcre-devel.i386<br />
* arm-gp2x-linux-gcc.i386<br />
* arm-gp2x-linux-binutils.i386<br />
* glade2.i386<br />
* and gcc, make, subversion, gnuplot, imagemagik...<br />
<br />
Then you need [http://packages.debian.org/unstable/source/alien alien] tool to convert packages from the paparazzi repository:<br />
* ivy-c<br />
* ivy-c-dev<br />
* ivy-ocaml (WARNING: debian and fedora have different path for ocaml (/usr/lib/ocaml/<version> vs. /usr/lib/ocaml), so you need to move by hand the files in /usr/lib/ocaml/<version> to /usr/lib/ocaml)<br />
* lpc21isp<br />
<br />
== Downloading the Source Code ==<br />
After the <tt>paparazzi-dev</tt> package is installed the complete source code should be downloaded from one of the software repositories.<br />
=== Subversion ===<br />
See the [http://savannah.nongnu.org/svn/?group=paparazzi project page] at Savannah for more details. From the directory of your choice type:<br />
svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3<br />
or if you are behind a firewall with an http proxy available:<br />
svn co http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk paparazzi3<br />
after configuration of your proxy in the <tt>~/.subversion/servers</tt> file<br />
<br />
This will download all of the code and install it into <tt>paparazzi3/</tt><br />
<br />
If you cannot use the Subversion install, daily updated tarballs can also be fetched from the [[Downloads|Downloads]] page.<br />
<br />
=== Git ===<br />
You can also get the source code via [[git]].<br />
<br />
== Launching the Software ==<br />
<br />
The first step is to compile. From the <tt>paparazzi3</tt> directory (<tt>cd paparazzi3</tt>), run<br />
<br />
make<br />
<br />
You will have to run this command after each update of the source (<tt>svn update</tt> command).<br />
Launch the software from the <tt>paparazzi3</tt> directory with<br />
<br />
./paparazzi<br />
<br />
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''MJ5'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The prcedure is detailed in the [[Simulation]] page.<br />
<br />
=== Quick Launch Icon ===<br />
<br />
To create an icon on the desktop so you don’t have to manually type codes into the Terminal each time you want to start the GCS follow these steps:<br />
<br />
#Save [[Media:Paparazzi_logo.png|this image file]] to your /paparazzi3 folder<br />
#Right click anywhere on the Ubuntu desktop and click Create Launcher.<br />
#Enter the following in the fields provided:<br />
#*Name: Paparazzi GCS<br />
#*Command: /home/YOUR_USER_NAME/paparazzi3/paparazzi<br />
#*Comment: Runs the Paparazzi GCS<br />
#*Then click the icon image in the top left on the dialog box and select the Paparazzi logo you just downloaded.<br />
#Click the OK button and that’s it! Your icon should appear on the desktop and you are ready to go.<br />
<br />
=== Agents ===<br />
<br />
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:<br />
{{Box Code|~/.bashrc|<br />
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
}}<br />
<br />
=== env Variables ===<br />
<br />
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:<br />
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`<br />
Verify that your variables are set correctly with the following command:<br />
env | grep PAPARAZZI<br />
which should return the following:<br />
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
<br />
== Setting access rights for USB download ==<br />
<br />
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].<br />
<br />
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev "group" and then create a "rule", associated with that "group". <br><br />
Make yourself a member of the ''plugdev'' group:<br />
<br />
sudo adduser <your login> plugdev<br />
<br />
Logout and login again. Then add the appropriate rule (available ine fhe file ''10-paparazzi.rules'') to the USB handler. Simply copy as root <tt>$PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules</tt> to <tt>/etc/udev/rules.d/</tt><br />
<br />
sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/<br />
<br />
== Software Updates ==<br />
Paparazzi is a very rapidly evolving project and as such, you will find that variables and functions are frequently added, changed, or removed. Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. Your airframe file will not be updated by the Subversion (SVN) system and therefore any new or modified variable names will need to be added manually. The compiler will usually identify the problem variables at which point you can look at some of the most recent airframe files on SVN to find the proper syntax. See the [[Compiling]] page for more help if needed.<br />
<br><br />
That said, keeping your software up to date is easy with the Subversion system. The system will compare all source code files with the server and update any that are needed, automatically merging any minor changes that you have incorporated along the way.<br />
<br />
To download and automatically merge any updated source files, run the following command from your Paparazzi directory<br />
svn update<br />
<br />
After any SVN update or source code modification the code can be recompiled from ''your paparazzi3 directory'' with the following command:<br />
<br />
make<br />
<br />
The ''make'' command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:<br />
<br />
make clean<br />
make<br />
<br />
See the [[Compiling]] page for more info.<br />
<br />
Users making changes to their code structure may prefer to have more control over the updating and merging process and may wish to install and use '''tkdiff''' instead which provides highlighted comparisons of any files that differ between your code and the SVN server and allows for a file by file update.<br />
<br />
To update your Linux distribution as well as any dependencies of Paparazzi (seldom necessary), run the following:<br />
<br />
sudo apt-get update<br />
sudo apt-get upgrade<br />
<br />
== Using the Live CD==<br />
<br />
[[Image:Lightscribe_CD_Cover_1.JPG|thumb|320px|LightScribe CD Cover]] <br />
<br />
'''Please note:''' the Live CD is from 2008. You probably don't want to use it.<br />
<br />
The LiveCD is an easy way to test Paparazzi: no installation is required and no changes are made to your computer. Simply burn the image as a boot CD and reboot! The LiveCD includes Linux and the complete paparazzi binary package (code source, tools and cross compilers). It is intended for demonstration only and not frequently updated but it contains the complete system and can store changed files on a pen drive or compressed file on your hard drive so that it can compile, flash, and operate any aircraft, albeit slowly. <br />
<br />
The CD image and a howto on [[Using the Boot CD]] is available from the [[Downloads|Downloads]] page.<br />
<br />
The Paparazzi demo is launchable on the Live CD from the Paparazzi icon.<br />
<br />
Knoppix allows for all the user data to be saved on a hard disk partition (most file systems are supported) or on a removable device (typically a USB pendrive). Note that this action is not destructive: the user data tree is compressed and stored on your file system as a single file (<tt>knoppix.img</tt>).<br />
* From the Knoppix menu (second from bottom left), choose '''Configure''', '''Create a persistent KNOPPIX disk image'''<br />
* Choose your media (be sure to connect your USB pendrive before booting!)<br />
* Choose if you want an encrypted filesystem (to protect your flight plan designed for the next MAV competition :-) )<br />
* Choose the size of your home directory (100Mb is recommended)<br />
On the next reboot, this saved state will be automatically located and loaded.<br />
<br />
Using this persistent feature, the Paparazzix Live CD can really be used to configure, simulate and fly an aircraft with the Paparazzi system.<br />
<br />
The Live CD can also be used to install a Debian system on the hard disk, using the <tt>knoppix-installer</tt> command. Be sure to backup the hard disk before trying ...<br />
<br />
<br />
A LiveCD needs some looks... In color or in LightScribe format, your CD will always look cool. <br />
* Get the PDF version for download here [http://paparazzi.enac.fr/wiki_images/Lightscribe_CD_Cover_1.pdf LightScribe CD Cover 1].<br />
<br />
* The LightScribe version is in Nero Cover Design format (.ncd) and it's here for download [http://paparazzi.enac.fr/wiki_images/Lightscribe_CD_Cover_1.zip LightScribe CD Cover 1]<br />
<br />
* Better is of course to use it on an OpenSource OS, some Linux software to be found here: [http://www.lightscribe.com/downloadSection/linux/index.aspx?id=814 Lightscribe for Linux]<br />
<br />
== From Scratch==<br />
<br />
In very rare occasions one needs to install the tools used, third-party libraries used by Paparazzi all from scratch. There are are the moment no 64Bit Linux repositories, that is a very good reason to install from scratch. Sometime one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch. To help you out getting it all smoothly working [[install_paparazzi_and_everything_from_scratch | a special page is created just click here]]. If you do not understand what that all means, do not panic, then the information on that page is not important to you. Just pretend you never read this part of the Wiki. You are advised just to follow the regular step as described on the install page.</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&diff=7919Installation/Linux2010-10-07T13:05:29Z<p>Hoepfel: Added warnings that the binaries and Live CD are really old and probably should not be used.</p>
<hr />
<div>== Introduction ==<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux].<br />
<br />
At a high-level here are the steps required to install Paparazzi:<br />
<ul><br />
<li>Dedicate a Laptop or PC for Paparazzi. Dedicate means during install you select to use the entire disk for the installation and erase any previous Linux or Windows OS installed.<br />
<li>Installation takes place with a recent build of Linux using the default options. <br />
<li>The Linux package sources file is updated to add the Paparazzi packages (/etc/apt/sources.list)<br />
<li>The Linux packages are updated from the network with the "update" command<br />
<li>The Paparazzi packages are installed (sudo apt-get install paparazzi-dev paparazzi-arm7)<br />
<li>The brltty package is removed to avoid issues (sudo apt-get remove brltty)<br />
<li>Install subversion to get SVN (sudo apt-get install subversion). Don't worry if it's already installed. <br />
<li>Bring down the sources from the SVN repository: (svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3). Just change the paparazzi3s to paparazzi4s for Booz files.<br />
<li>Allow access to the ports by copying the [http://www.openuas.org/pub/writing_udev_rules.html rules file]: (export PAPARAZZI_HOME=~/paparazzi3; sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/)<br />
<li>Compile the binaries from the sources (cd paparazzi3 && make)<br />
</ul><br />
<br />
That's all.<br />
<br />
=== Operating System ===<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux]. Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.<br />
<br />
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, Mac OS X, Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.<br />
<br />
If you are new and this is your first time installing it is suggested you keep it simple. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented below and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Linux tries a non-standard install that requires special steps not documented here.<br />
<br />
=== Precompiled Binaries ===<br />
<br />
Precompiled binaries can be downloaded and executed with the ''paparazzi-bin'' package. To enjoy the power and flexibility of open-source code, you will soon want to configure the airborne autopilot and ground station according to your needs and recompile it. Therefore you need to install the compilers and download the source code.<br />
<br />
The Paparazzi packages for a Debian based Linux are hosted at the [http://www.recherche.enac.fr/paparazzi/debian ENAC repository].<br />
<br />
'''Please note:''' the binary packages are dating back to 2008. You probably don't want to use them.<br />
<br />
=== Compilers and Handlers ===<br />
<br />
The typical installation contains all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package. Have no fear, this is all taken care of for you so all you must do is type a few simple commands. Below are those commands and helpful information. Commands can be copied and pasted from these pages to make it as easy as possible. <br />
<br />
=== Source Code ===<br />
<br />
The Paparazzi source code is hosted by [https://savannah.nongnu.org/svn/?group=paparazzi Savannah]. It is downloaded using [http://subversion.apache.org/ Subversion] or [[git]].<br />
<br />
== Installation of Compilers and Handlers ==<br />
<br />
=== From the Command Line ===<br />
<br />
For the sources file (sources.list) you only add the line required for your version. Linux names their versions. <br />
<br />
Just add the following lines to your repository list (<b>/etc/apt/sources.list</b>) and then<br />
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):<br />
<br />
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:<br />
<br />
gksudo gedit /etc/apt/sources.list<br />
<br />
{{Box Code|/etc/apt/sources.list|<br />
# Uncomment just _one_ of the following lines - depending on your OS version<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> etch main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> lenny main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> gutsy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> hardy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> intrepid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> jaunty main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> karmic main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> lucid main<br />
}}<br />
<br />
Then, update your sources and '''either''' install the precompiled <b>bin</b>aries<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-bin<br />
<b>or</b> the dependencies needed for recompiling from the source (<b>dev</b>), and the cross-compilers (<b>arm7</b> or <b>stm32</b>) :<br />
<br />
For ARM7 (i.e. Tiny or TWOG boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-arm7<br />
<br />
For STM32 (i.e. Lisa boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-stm32<br />
<br />
It is not recommended to install both <tt>paparazzi-bin</tt> <b>and</b> <tt>paparazzi-dev</tt>. While the <b>bin</b> package is self-contained and should be sufficient for users who do not want to patch the code, the <b>dev</b> meta-package provides only the tools to compile the source code which must be separately downloaded, from an archive or the SVN repository.<br />
<br />
Note: The ivy-python package now among the dependencies of paparazzi-dev is also available in the normal paparazzi repository. [https://launchpad.net/~uce-launchpad/+archive/ppa Allen Ibara] might have some newer versions in his PPA but you should not need them.<br />
<br />
==== Optional/Obsolete Packages ====<br />
Users of the newer Lisa/L or Lisa/S boards will need the <b>paparazzi-stm32</b> package.<br />
<br />
Users of older AVR based boards will also need the <b>paparazzi-avr</b> package.<br />
<br />
==== Extra for Ubuntu ====<br />
<br />
On older Linux distributions, the Braille TTY driver interferes with FTDI USB Serial adapters. If somehow your FTDI serial adapter does not work, remove the package via:<br />
<br />
sudo apt-get remove brltty<br />
<br />
=== Using Synaptic Package Manager ===<br />
* Launch ''Synaptic Package Manager'' (''Applications/System'' Tools Menu)<br />
* In '''Settings/Repositories''', add a new repository on URI = '''<nowiki>http://paparazzi.enac.fr/debian</nowiki>''', Distribution = '''etch''', Section = '''main''' . For Ubuntu, replace '''debian''' by '''ubuntu''' and '''etch''' by '''gutsy''', '''hardy''', '''karmic''' or '''lucid'''<br />
* Search for <tt>paparazzi-bin</tt>, <tt>paparazzi-dev</tt>, and <tt>paparazzi-arm7</tt> packages (use the ''Search'' button)<br />
* Mark them for installation (right-click on package names)<br />
* Left-click on ''Apply''<br />
<br />
=== Manual Installation of Individual Packages ===<br />
Users of other Linux flavors or anyone needing manual control of each individual package can install them independently. The list of dependencies of the Debian package is located in the [http://svn.savannah.gnu.org/viewvc/paparazzi3/trunk/debian/control.lenny?root=paparazzi&view=markup <tt> debian/control.lenny</tt>] file and may help users of other distributions.<br />
<br />
The binary packages and some corresponding source tarballs can be downloaded from<br />
<br />
http://paparazzi.enac.fr/debian/dists/etch/main/binary-i386/<br />
<br />
For distributions using RPM packaging, the [http://packages.debian.org/unstable/source/alien alien] tool can be used to translate a .deb package into a .rpm package.<br />
<br />
For Fedora (Core8) users, you can install the following packages from standard repository:<br />
* ocaml.i386<br />
* ocaml-camlimages-devel.i386<br />
* ocaml-lablgtk-devel.i386<br />
* ocaml-xml-light-devel.i386<br />
* boa.i386<br />
* libgnomecanvas-devel.i386<br />
* libusb-devel.i386<br />
* pcre-devel.i386<br />
* arm-gp2x-linux-gcc.i386<br />
* arm-gp2x-linux-binutils.i386<br />
* glade2.i386<br />
* and gcc, make, subversion, gnuplot, imagemagik...<br />
<br />
Then you need [http://packages.debian.org/unstable/source/alien alien] tool to convert packages from the paparazzi repository:<br />
* ivy-c<br />
* ivy-c-dev<br />
* ivy-ocaml (WARNING: debian and fedora have different path for ocaml (/usr/lib/ocaml/<version> vs. /usr/lib/ocaml), so you need to move by hand the files in /usr/lib/ocaml/<version> to /usr/lib/ocaml)<br />
* lpc21isp<br />
<br />
== Downloading the Source Code ==<br />
'''Important:''' If you use paparazzi-bin you need not to download the source code.<br />
<br />
After the <tt>paparazzi-dev</tt> package is installed the complete source code should be downloaded from one of the software repositories.<br />
=== Subversion ===<br />
See the [http://savannah.nongnu.org/svn/?group=paparazzi project page] at Savannah for more details. From the directory of your choice type:<br />
svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3<br />
or if you are behind a firewall with an http proxy available:<br />
svn co http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk paparazzi3<br />
after configuration of your proxy in the <tt>~/.subversion/servers</tt> file<br />
<br />
This will download all of the code and install it into <tt>paparazzi3/</tt><br />
<br />
If you cannot use the Subversion install, daily updated tarballs can also be fetched from the [[Downloads|Downloads]] page.<br />
<br />
=== Git ===<br />
You can also get the source code via [[git]].<br />
<br />
== Launching the Software ==<br />
<br />
=== Using paparazzi-bin ===<br />
<br />
If you are using the <tt>paparazzi-bin</tt> package or the Live-CD, just launch the <tt>paparazzi</tt> binary application and you will be guided through the installation of your personal configuration files.<br />
<br />
=== Using Source Code ===<br />
<br />
If you are using the source code, the first step is to compile it. From the <tt>paparazzi3</tt> directory (<tt>cd paparazzi3</tt>), run<br />
<br />
make<br />
<br />
You will have to run this command after each update of the source (<tt>svn update</tt> command).<br />
Launch the software from the <tt>paparazzi3</tt> directory with<br />
<br />
./paparazzi<br />
<br />
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''MJ5'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The prcedure is detailed in the [[Simulation]] page.<br />
<br />
=== Quick Launch Icon ===<br />
<br />
To create an icon on the desktop so you don’t have to manually type codes into the Terminal each time you want to start the GCS follow these steps:<br />
<br />
#Save [[Media:Paparazzi_logo.png|this image file]] to your /paparazzi3 folder<br />
#Right click anywhere on the Ubuntu desktop and click Create Launcher.<br />
#Enter the following in the fields provided:<br />
#*Name: Paparazzi GCS<br />
#*Command: /home/YOUR_USER_NAME/paparazzi3/paparazzi<br />
#*Comment: Runs the Paparazzi GCS<br />
#*Then click the icon image in the top left on the dialog box and select the Paparazzi logo you just downloaded.<br />
#Click the OK button and that’s it! Your icon should appear on the desktop and you are ready to go.<br />
<br />
=== Agents ===<br />
<br />
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:<br />
{{Box Code|~/.bashrc|<br />
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
}}<br />
<br />
=== env Variables ===<br />
<br />
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:<br />
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`<br />
Verify that your variables are set correctly with the following command:<br />
env | grep PAPARAZZI<br />
which should return the following:<br />
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
<br />
== Setting access rights for USB download ==<br />
<br />
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].<br />
<br />
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev "group" and then create a "rule", associated with that "group". <br><br />
Make yourself a member of the ''plugdev'' group:<br />
<br />
sudo adduser <your login> plugdev<br />
<br />
Logout and login again. Then add the appropriate rule (available ine fhe file ''10-paparazzi.rules'') to the USB handler. Simply copy as root <tt>$PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules</tt> to <tt>/etc/udev/rules.d/</tt><br />
<br />
sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/<br />
<br />
== Software Updates ==<br />
Paparazzi is a very rapidly evolving project and as such, you will find that variables and functions are frequently added, changed, or removed. Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. Your airframe file will not be updated by the Subversion (SVN) system and therefore any new or modified variable names will need to be added manually. The compiler will usually identify the problem variables at which point you can look at some of the most recent airframe files on SVN to find the proper syntax. See the [[Compiling]] page for more help if needed.<br />
<br><br />
That said, keeping your software up to date is easy with the Subversion system. The system will compare all source code files with the server and update any that are needed, automatically merging any minor changes that you have incorporated along the way.<br />
<br />
To download and automatically merge any updated source files, run the following command from your Paparazzi directory<br />
svn update<br />
<br />
After any SVN update or source code modification the code can be recompiled from ''your paparazzi3 directory'' with the following command:<br />
<br />
make<br />
<br />
The ''make'' command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:<br />
<br />
make clean<br />
make<br />
<br />
See the [[Compiling]] page for more info.<br />
<br />
Users making changes to their code structure may prefer to have more control over the updating and merging process and may wish to install and use '''tkdiff''' instead which provides highlighted comparisons of any files that differ between your code and the SVN server and allows for a file by file update.<br />
<br />
To update your Linux distribution as well as any dependencies of Paparazzi (seldom necessary), run the following:<br />
<br />
sudo apt-get update<br />
sudo apt-get upgrade<br />
<br />
== Using the Live CD==<br />
<br />
[[Image:Lightscribe_CD_Cover_1.JPG|thumb|320px|LightScribe CD Cover]] <br />
<br />
'''Please note:''' the Live CD is from 2008. You probably don't want to use it.<br />
<br />
The LiveCD is an easy way to test Paparazzi: no installation is required and no changes are made to your computer. Simply burn the image as a boot CD and reboot! The LiveCD includes Linux and the complete paparazzi binary package (code source, tools and cross compilers). It is intended for demonstration only and not frequently updated but it contains the complete system and can store changed files on a pen drive or compressed file on your hard drive so that it can compile, flash, and operate any aircraft, albeit slowly. <br />
<br />
The CD image and a howto on [[Using the Boot CD]] is available from the [[Downloads|Downloads]] page.<br />
<br />
The Paparazzi demo is launchable on the Live CD from the Paparazzi icon.<br />
<br />
Knoppix allows for all the user data to be saved on a hard disk partition (most file systems are supported) or on a removable device (typically a USB pendrive). Note that this action is not destructive: the user data tree is compressed and stored on your file system as a single file (<tt>knoppix.img</tt>).<br />
* From the Knoppix menu (second from bottom left), choose '''Configure''', '''Create a persistent KNOPPIX disk image'''<br />
* Choose your media (be sure to connect your USB pendrive before booting!)<br />
* Choose if you want an encrypted filesystem (to protect your flight plan designed for the next MAV competition :-) )<br />
* Choose the size of your home directory (100Mb is recommended)<br />
On the next reboot, this saved state will be automatically located and loaded.<br />
<br />
Using this persistent feature, the Paparazzix Live CD can really be used to configure, simulate and fly an aircraft with the Paparazzi system.<br />
<br />
The Live CD can also be used to install a Debian system on the hard disk, using the <tt>knoppix-installer</tt> command. Be sure to backup the hard disk before trying ...<br />
<br />
<br />
A LiveCD needs some looks... In color or in LightScribe format, your CD will always look cool. <br />
* Get the PDF version for download here [http://paparazzi.enac.fr/wiki_images/Lightscribe_CD_Cover_1.pdf LightScribe CD Cover 1].<br />
<br />
* The LightScribe version is in Nero Cover Design format (.ncd) and it's here for download [http://paparazzi.enac.fr/wiki_images/Lightscribe_CD_Cover_1.zip LightScribe CD Cover 1]<br />
<br />
* Better is of course to use it on an OpenSource OS, some Linux software to be found here: [http://www.lightscribe.com/downloadSection/linux/index.aspx?id=814 Lightscribe for Linux]<br />
<br />
== From Scratch==<br />
<br />
In very rare occasions one needs to install the tools used, third-party libraries used by Paparazzi all from scratch. There are are the moment no 64Bit Linux repositories, that is a very good reason to install from scratch. Sometime one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch. To help you out getting it all smoothly working [[install_paparazzi_and_everything_from_scratch | a special page is created just click here]]. If you do not understand what that all means, do not panic, then the information on that page is not important to you. Just pretend you never read this part of the Wiki. You are advised just to follow the regular step as described on the install page.</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=NPS&diff=7917NPS2010-10-07T10:15:42Z<p>Hoepfel: /* Quick start guide */</p>
<hr />
<div>=== Quick start guide ===<br />
<br />
Booz contains a sensors model and can use [http://jsbsim.sourceforge.net/ Jsbsim] to allow arbitrarily complex flight dynamic models.<br />
<br />
<br />
* Extract a copy of paparazzi3 svn <br />
svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3<br />
<br />
* Install all required dependancies<br />
sudo apt-get install paparazzi-dev libtool automake autoconf<br />
<br />
<br />
* Compile JSBSIM<br />
cvs -z3 -d:pserver:anonymous@jsbsim.cvs.sourceforge.net:/cvsroot/jsbsim co -P JSBSim <br />
cd JSBSim<br />
./autogen.sh<br />
./configure --enable-libraries --enable-shared --prefix=/opt/jsbsim<br />
make<br />
sudo make install<br />
<br />
Here is an optional ''[[Media:Jsbsim silent warnings.patch.gz.jpg|patch]]'' to silent warnings.<br />
<br />
* Compile paparazzi<br />
cd paparazzi3/trunk<br />
make<br />
<br />
* Compile the vehicle<br />
make AIRCRAFT=BOOZ2_A1 clean_ac sim<br />
<br />
<br />
* Start paparazzi_center if you want click to start programs<br />
./paparazzi<br />
<br />
* Start messages to monitor the middleware activity ( from the tool menu of paparazzi center) or with<br />
./sw/ground_segment/tmtc/messages <br />
<br />
* Start the sim<br />
LD_LIBRARY_PATH=/opt/jsbsim/lib ./var/BOOZ2_A1/sim/simsitl<br />
<br />
* If you get an error like "JSBSim failed to open the configuration file: (null)/conf/simulator/jsbsim/aircraft/BOOZ2_A1.xml", you need to set your $PAPARAZZI_SRC and $PAPARAZZI_HOME environment variables. Add the following to your .bashrc, change paths according to where you put Paparazzi. Open a new terminal and launch the sim again.<br />
export PAPARAZZI_SRC=~/paparazzi3<br />
export PAPARAZZI_HOME=~/paparazzi3<br />
<br />
You should now see activity in the "messages" window<br />
<br />
* Plot the value of a message field.<br />
start 'plotter' (Real-time plotter from the tool menu of paparazzi center) or with<br />
./sw/logalizer/plotter<br />
for example drag the label 'int32 phi' from the BOOZ2_FP message to the drawing area of the plotter<br />
<br />
<br />
* Use the datalink to change the tlemetry mode<br />
start 'settings' ( from the tool menu of paparazzi center) or with<br />
./sw/ground_segment/tmtc/settings -ac BOOZ2_A1<br />
start 'server' to dispatch datalink messages ( from the tool menu of paparazzi center) or with<br />
./sw/ground_segment/tmtc/server <br />
change the field "telemetry" on the first page to "Att loop" and send by pressing the green check button. THe label on the left or the drop box should change to "Att loop" confirming your essage has been received. "message" should now show that the message "BOOZ2_STAB_ATTITUDE" is received<br />
<br />
* Use flightgear to visualize your vehicle<br />
If you want a view of a quadrotor in flightgear, make a link from<br />
/usr/share/games/FlightGear/Models/Aircraft/paparazzi to PAPARAZZI_SRC/conf/simulator/flightgear/ <br />
sudo ln -s $PAPARAZZI_SRC/conf/simulator/flightgear/ /usr/share/games/FlightGear/Models/Aircraft/paparazzi<br />
start flighgear with<br />
fgfs --fdm=null --native-gui=socket,in,30,,5501,udp --prop:/sim/model/path=Models/Aircraft/paparazzi/mikrokopter.xml<br />
restart your simulator with<br />
LD_LIBRARY_PATH=/opt/jsbsim/lib ./var/BOOZ2_A1/sim/simsitl --fg_host 127.0.0.1<br />
<br />
* Save you session<br />
<br />
=== Tunning the attitude control loop ===<br />
<br />
Here we are going to use the simulator to demonstrate a way of tunning the attitude control loop.<br />
<br />
* Restart your previous session<br />
<br />
* Set telemetry mode to "Att loop"<br />
<br />
* Display two real time plotter windows<br />
<br />
In the first one, plot the field "m_phi" from the "BOOZ2_STAB_ATTITUDE" message. This is our estimation of roll angle.<br />
On top of that, plot the field "phi" from the "BOOZ2_STAB_ATTITUDE_REFERENCE" message. This is our reference roll angle, that is, the roll value we are trying to achieve.<br />
<br />
In the second plotter, plot the fields "delta_a_fb" and "delta_a_ff". Those are respectively the feddback and feedforward part of our roll command. The sum of those two terms is what is used as roll command.The feedforward part is the part used to follow our trajectory and the feedback part is the part used to reject perturbations.<br />
<br />
<br />
* In "Settings", go to the "Att Loop" tab<br />
We notice that the vehicle doesn't follow accurately the step trajectory we are trying to make him do.<br />
<br />
Start by setting the value of the proportional gain ('pgain_phi') to 1000 instead of 400. The vehicle now follows the trajectory faster but overshoots. To prevent that, increase the value of the derivative gain ('dgain p') from -300 to -700.<br />
<br />
If you look at the plotter where you're ploting the commands, you'll notice that during steps, the feedback command has to work hard. This means that our feedforward command is badly tunned, and namely not working hard enough.Increase the value of the feedforward gain ('ddgain p') from 300 to 540. You'll notice that now the feedback command has becomed marginal during the steps. This is the right value for the gain. Anything bigger will make the feedback command fight against the feedforward command during steps, anything smaller will make the feedback command have to complement the feedforward command.<br />
<br />
=== Something else ===<br />
<br />
* try starting flightgear with<br />
<br />
fgfs --fdm=null --native-gui=socket,in,30,,5501,udp --prop:/sim/model/path=Models/Aircraft/paparazzi/simple_bipe.xml<br />
<br />
an the sim with<br />
<br />
LD_LIBRARY_PATH=/opt/jsbsim/lib ./var/BOOZ2_A1/sim/simsitl --fg_host 127.0.0.1 --rc_script 1</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=NPS&diff=7916NPS2010-10-07T10:11:12Z<p>Hoepfel: /* Quick start guide */ Clarified which plotter to use</p>
<hr />
<div>=== Quick start guide ===<br />
<br />
Booz contains a sensors model and can use [http://jsbsim.sourceforge.net/ Jsbsim] to allow arbitrarily complex flight dynamic models.<br />
<br />
<br />
* Extract a copy of paparazzi3 svn <br />
svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3<br />
<br />
* Install all required dependancies<br />
sudo apt-get install paparazzi-dev libtool automake autoconf<br />
<br />
<br />
* Compile JSBSIM<br />
cvs -z3 -d:pserver:anonymous@jsbsim.cvs.sourceforge.net:/cvsroot/jsbsim co -P JSBSim <br />
cd JSBSim<br />
./autogen.sh<br />
./configure --enable-libraries --enable-shared --prefix=/opt/jsbsim<br />
make<br />
sudo make install<br />
<br />
Here is an optional ''[[Media:Jsbsim silent warnings.patch.gz.jpg|patch]]'' to silent warnings.<br />
<br />
* Compile paparazzi<br />
cd paparazzi3/trunk<br />
make<br />
<br />
* Compile the vehicle<br />
make AIRCRAFT=BOOZ2_A1 clean_ac sim<br />
<br />
<br />
* Start paparazzi_center if you want click to start programs<br />
./paparazzi<br />
<br />
* Start messages to monitor the middleware activity ( from the tool menu of paparazzi center) or with<br />
./sw/ground_segment/tmtc/messages <br />
<br />
* Start the sim<br />
LD_LIBRARY_PATH=/opt/jsbsim/lib ./var/BOOZ2_A1/sim/simsitl<br />
<br />
* If you get an error like "JSBSim failed to open the configuration file: (null)/conf/simulator/jsbsim/aircraft/BOOZ2_A1.xml", you need to set your $PAPARAZZI_SRC and $PAPARAZZI_HOME environment variables. Add the following to your .bashrc, change paths according to where you put Paparazzi. Open a new terminal and launch the sim again.<br />
export PAPARAZZI_SRC=/home/rxn/tmp/paparazzi/paparazzi3/trunk<br />
export PAPARAZZI_HOME=/home/rxn/tmp/paparazzi/paparazzi3/trunk<br />
<br />
You should now see activity in the "messages" window<br />
<br />
* Plot the value of a message field.<br />
start 'plotter' (Real-time plotter from the tool menu of paparazzi center) or with<br />
./sw/logalizer/plotter<br />
for example drag the label 'int32 phi' from the BOOZ2_FP message to the drawing area of the plotter<br />
<br />
<br />
* Use the datalink to change the tlemetry mode<br />
start 'settings' ( from the tool menu of paparazzi center) or with<br />
./sw/ground_segment/tmtc/settings -ac BOOZ2_A1<br />
start 'server' to dispatch datalink messages ( from the tool menu of paparazzi center) or with<br />
./sw/ground_segment/tmtc/server <br />
change the field "telemetry" on the first page to "Att loop" and send by pressing the green check button. THe label on the left or the drop box should change to "Att loop" confirming your essage has been received. "message" should now show that the message "BOOZ2_STAB_ATTITUDE" is received<br />
<br />
* Use flightgear to visualize your vehicle<br />
If you want a view of a quadrotor in flightgear, make a link from<br />
/usr/share/games/FlightGear/Models/Aircraft/paparazzi to PAPARAZZI_SRC/conf/simulator/flightgear/ <br />
sudo ln -s $PAPARAZZI_SRC/conf/simulator/flightgear/ /usr/share/games/FlightGear/Models/Aircraft/paparazzi<br />
start flighgear with<br />
fgfs --fdm=null --native-gui=socket,in,30,,5501,udp --prop:/sim/model/path=Models/Aircraft/paparazzi/mikrokopter.xml<br />
restart your simulator with<br />
LD_LIBRARY_PATH=/opt/jsbsim/lib ./var/BOOZ2_A1/sim/simsitl --fg_host 127.0.0.1<br />
<br />
* Save you session<br />
<br />
=== Tunning the attitude control loop ===<br />
<br />
Here we are going to use the simulator to demonstrate a way of tunning the attitude control loop.<br />
<br />
* Restart your previous session<br />
<br />
* Set telemetry mode to "Att loop"<br />
<br />
* Display two real time plotter windows<br />
<br />
In the first one, plot the field "m_phi" from the "BOOZ2_STAB_ATTITUDE" message. This is our estimation of roll angle.<br />
On top of that, plot the field "phi" from the "BOOZ2_STAB_ATTITUDE_REFERENCE" message. This is our reference roll angle, that is, the roll value we are trying to achieve.<br />
<br />
In the second plotter, plot the fields "delta_a_fb" and "delta_a_ff". Those are respectively the feddback and feedforward part of our roll command. The sum of those two terms is what is used as roll command.The feedforward part is the part used to follow our trajectory and the feedback part is the part used to reject perturbations.<br />
<br />
<br />
* In "Settings", go to the "Att Loop" tab<br />
We notice that the vehicle doesn't follow accurately the step trajectory we are trying to make him do.<br />
<br />
Start by setting the value of the proportional gain ('pgain_phi') to 1000 instead of 400. The vehicle now follows the trajectory faster but overshoots. To prevent that, increase the value of the derivative gain ('dgain p') from -300 to -700.<br />
<br />
If you look at the plotter where you're ploting the commands, you'll notice that during steps, the feedback command has to work hard. This means that our feedforward command is badly tunned, and namely not working hard enough.Increase the value of the feedforward gain ('ddgain p') from 300 to 540. You'll notice that now the feedback command has becomed marginal during the steps. This is the right value for the gain. Anything bigger will make the feedback command fight against the feedforward command during steps, anything smaller will make the feedback command have to complement the feedforward command.<br />
<br />
=== Something else ===<br />
<br />
* try starting flightgear with<br />
<br />
fgfs --fdm=null --native-gui=socket,in,30,,5501,udp --prop:/sim/model/path=Models/Aircraft/paparazzi/simple_bipe.xml<br />
<br />
an the sim with<br />
<br />
LD_LIBRARY_PATH=/opt/jsbsim/lib ./var/BOOZ2_A1/sim/simsitl --fg_host 127.0.0.1 --rc_script 1</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=NPS&diff=7915NPS2010-10-07T10:02:31Z<p>Hoepfel: /* Quick start guide */ Added notice on how to handle unset Paparazzi environment variables</p>
<hr />
<div>=== Quick start guide ===<br />
<br />
Booz contains a sensors model and can use [http://jsbsim.sourceforge.net/ Jsbsim] to allow arbitrarily complex flight dynamic models.<br />
<br />
<br />
* Extract a copy of paparazzi3 svn <br />
svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3<br />
<br />
* Install all required dependancies<br />
sudo apt-get install paparazzi-dev libtool automake autoconf<br />
<br />
<br />
* Compile JSBSIM<br />
cvs -z3 -d:pserver:anonymous@jsbsim.cvs.sourceforge.net:/cvsroot/jsbsim co -P JSBSim <br />
cd JSBSim<br />
./autogen.sh<br />
./configure --enable-libraries --enable-shared --prefix=/opt/jsbsim<br />
make<br />
sudo make install<br />
<br />
Here is an optional ''[[Media:Jsbsim silent warnings.patch.gz.jpg|patch]]'' to silent warnings.<br />
<br />
* Compile paparazzi<br />
cd paparazzi3/trunk<br />
make<br />
<br />
* Compile the vehicle<br />
make AIRCRAFT=BOOZ2_A1 clean_ac sim<br />
<br />
<br />
* Start paparazzi_center if you want click to start programs<br />
./paparazzi<br />
<br />
* Start messages to monitor the middleware activity ( from the tool menu of paparazzi center) or with<br />
./sw/ground_segment/tmtc/messages <br />
<br />
* Start the sim<br />
LD_LIBRARY_PATH=/opt/jsbsim/lib ./var/BOOZ2_A1/sim/simsitl<br />
<br />
* If you get an error like "JSBSim failed to open the configuration file: (null)/conf/simulator/jsbsim/aircraft/BOOZ2_A1.xml", you need to set your $PAPARAZZI_SRC and $PAPARAZZI_HOME environment variables. Add the following to your .bashrc, change paths according to where you put Paparazzi. Open a new terminal and launch the sim again.<br />
export PAPARAZZI_SRC=/home/rxn/tmp/paparazzi/paparazzi3/trunk<br />
export PAPARAZZI_HOME=/home/rxn/tmp/paparazzi/paparazzi3/trunk<br />
<br />
You should now see activity in the "messages" window<br />
<br />
* Plot the value of a message field.<br />
start 'plotter' ( from the tool menu of paparazzi center) or with<br />
./sw/logalizer/plotter<br />
for example drag the label 'int32 phi' from the BOOZ2_FP message to the drawing area of the plotter<br />
<br />
<br />
* Use the datalink to change the tlemetry mode<br />
start 'settings' ( from the tool menu of paparazzi center) or with<br />
./sw/ground_segment/tmtc/settings -ac BOOZ2_A1<br />
start 'server' to dispatch datalink messages ( from the tool menu of paparazzi center) or with<br />
./sw/ground_segment/tmtc/server <br />
change the field "telemetry" on the first page to "Att loop" and send by pressing the green check button. THe label on the left or the drop box should change to "Att loop" confirming your essage has been received. "message" should now show that the message "BOOZ2_STAB_ATTITUDE" is received<br />
<br />
* Use flightgear to visualize your vehicle<br />
If you want a view of a quadrotor in flightgear, make a link from<br />
/usr/share/games/FlightGear/Models/Aircraft/paparazzi to PAPARAZZI_SRC/conf/simulator/flightgear/ <br />
sudo ln -s $PAPARAZZI_SRC/conf/simulator/flightgear/ /usr/share/games/FlightGear/Models/Aircraft/paparazzi<br />
start flighgear with<br />
fgfs --fdm=null --native-gui=socket,in,30,,5501,udp --prop:/sim/model/path=Models/Aircraft/paparazzi/mikrokopter.xml<br />
restart your simulator with<br />
LD_LIBRARY_PATH=/opt/jsbsim/lib ./var/BOOZ2_A1/sim/simsitl --fg_host 127.0.0.1<br />
<br />
* Save you session<br />
<br />
=== Tunning the attitude control loop ===<br />
<br />
Here we are going to use the simulator to demonstrate a way of tunning the attitude control loop.<br />
<br />
* Restart your previous session<br />
<br />
* Set telemetry mode to "Att loop"<br />
<br />
* Display two real time plotter windows<br />
<br />
In the first one, plot the field "m_phi" from the "BOOZ2_STAB_ATTITUDE" message. This is our estimation of roll angle.<br />
On top of that, plot the field "phi" from the "BOOZ2_STAB_ATTITUDE_REFERENCE" message. This is our reference roll angle, that is, the roll value we are trying to achieve.<br />
<br />
In the second plotter, plot the fields "delta_a_fb" and "delta_a_ff". Those are respectively the feddback and feedforward part of our roll command. The sum of those two terms is what is used as roll command.The feedforward part is the part used to follow our trajectory and the feedback part is the part used to reject perturbations.<br />
<br />
<br />
* In "Settings", go to the "Att Loop" tab<br />
We notice that the vehicle doesn't follow accurately the step trajectory we are trying to make him do.<br />
<br />
Start by setting the value of the proportional gain ('pgain_phi') to 1000 instead of 400. The vehicle now follows the trajectory faster but overshoots. To prevent that, increase the value of the derivative gain ('dgain p') from -300 to -700.<br />
<br />
If you look at the plotter where you're ploting the commands, you'll notice that during steps, the feedback command has to work hard. This means that our feedforward command is badly tunned, and namely not working hard enough.Increase the value of the feedforward gain ('ddgain p') from 300 to 540. You'll notice that now the feedback command has becomed marginal during the steps. This is the right value for the gain. Anything bigger will make the feedback command fight against the feedforward command during steps, anything smaller will make the feedback command have to complement the feedforward command.<br />
<br />
=== Something else ===<br />
<br />
* try starting flightgear with<br />
<br />
fgfs --fdm=null --native-gui=socket,in,30,,5501,udp --prop:/sim/model/path=Models/Aircraft/paparazzi/simple_bipe.xml<br />
<br />
an the sim with<br />
<br />
LD_LIBRARY_PATH=/opt/jsbsim/lib ./var/BOOZ2_A1/sim/simsitl --fg_host 127.0.0.1 --rc_script 1</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=Software_Wish_List&diff=6794Software Wish List2010-06-21T14:23:35Z<p>Hoepfel: /* Ground Station Suggestions */ Updated flashing via modems</p>
<hr />
<div>{|<br />
|-valign="top"<br />
|__TOC__<br />
|Please use the [[Talk:Software_Wish_List|Discussion]] tab at the top of the page, as appropriate<br />
|}<br />
== Ground Station Suggestions ==<br />
# Support for stanag 4586 compliance, see http://www.innuvativesystems.com/stanag_4586_primer.html [[User:OpenUAS|(Suggested by OpenUAS)]]<br />
# Support for standard map files like GeoTiff, .tab and .map. Using the .xml method manually is rather time consuming and frustrating when you already have standard georeferenced images.<br />
# Path interpreter(?)<br />
# Divide the flight plan into 3 separate files [[User:Jeremy|(Suggested by Jeremy)]]<br />
#* Takeoff/Landing - flight plan blocks describing the complex routines and using altitudes and waypoints from the ''User'' file<br />
#* Generic - a file that users should never need to edit, containing circles, rectangles, figure-8's, and surveys that appear on command when GCS buttons are pressed. Altitude/locations could be relative to the ''User'' file<br />
#* User - Here we can specify fixed or dynamic ''Home'' point and add complex routines or simply save certain basic routines. <br />
#* (NOTE: All of this is already possible, investigate time in discovering what paparazzi already can do now)<br />
# The possibility to use multiple ground modem connected to a single ground station. The RSSI could be use to dynamically choose which currently has the best signal. This would allow the use of different antennas on each of the modems or have antenna pointing in different directions(?Possibly more hardware related)<br />
# PFD - the horizon and the sky shouldn't move only the main line. '''Because we are on the ground''' and we really need to see the roll angle of the UAS and not the real PFD like on a real airplane. And we could also see, the pitch angle, to see if the UAS is climbing or going down. (NOTE: Currently via papgets it is possible to add all kinds of info easily already)<br />
#* Another way this could be done is to use a 3D model of the plane like procerus does on there ap. For those unfamiliar with this it is like you are in the view point of like 5m behind the plane. This might give the user just enough of a model to help fly back under manual control or at least have a better understanding of the orientation. This idea is good one but it should not replace the current pfd but rather be an option to use in the gcs.<br />
#*(NOTE: This is already possible, just bind you ouput to Flightgear, see e.g. http://paparazzi.enac.fr/wiki/BoozSimulator or http://paparazzi.enac.fr/wiki/Simulation for a start. <br />
# Language packs for the GCS - English, French, German, Italian, Spanish, Portuguese, ...<br />
# Flashing via modems - Already [http://lists.gnu.org/archive/html/paparazzi-devel/2010-06/msg00138.html possible].<br />
<br />
== Airborne Software Suggestions ==<br />
=== Stability ===<br />
* Auto-tuning of gains<br />
*: It should be possible to have a tuning procedure that comes up with correct gains for the stabilization. The procedure to come up with the correct gains is rather straightforward and an algorithm should be able to judge if the plane's oscillating, so I see no reason why it can't be done (given the plane is high enough and doesn't become unstable easily).<br />
<br />
=== Navigation ===<br />
* Flight plan stage sensing <br />
*: Carrot should continue past the waypoint toward the next point, but the point should not be officially acknowledged until the plane has passed it. This way we can have smooth, intelligent navigation while still considering waypoint triggers such as still-photo, sensor drop, or throttle off.<br />
<br />
=== Other ===<br />
# '''Revised autopilot modes''' [[User:Jeremy|(Jeremy)]]<br />
#* I propose a restructuring of the modes as follows - create 3 top-level modes: '''Man, Stab,'''and '''Auto''', each with an appended autonomous sub-mode (i.e. '''Man'''/''Climb'', '''Stab'''/''Kill'', '''Auto'''/''Landing'', etc.) This will give the operator much more information and a much better indication of what the plane will do when switched to autonomous mode in a concise manner. Furthermore, I see an advantage in having simple behaviors like ''Climb, Landing'', etc. be defined as sub-modes so that operator is always alerted of changes such as ''Descent'' or can easily configure trim, gains, and payload options in the airframe file (i.e. if mode = ''Landing'' then retract camera, turn off video system, use landing trim, etc.)<br />
#* ''Sub-modes''<br />
#* ''Ground'' - The default boot mode. In this mode the throttle is locked at 0% or not armed at all (no PWM signal), stability is disabled (servos locked in neutral position), and video power is off, but flight plan blocks are processed. This will improve safety and aid in lost plane retreival as the servos, and video will not drain the battery if landing detection is implemented. ''Ground'' mode should exit '''only''' if ''Takeoff'' is manually triggered.<br />
#* ''Takeoff'' - 3 possible triggers: GCS button, GPIO button, or R/C throttle. Checks for error modes and desired climb, then arms/unlocks throttle, initates "Takeoff" flight plan block, and instantly deroutes to ''Climb'' mode. Deroutes to ''Descent'' mode without unlocking throttle if not OK. ''Takeoff'' could simply be a flag rather than a "mode".<br />
#* ''Climb'' - Triggered anytime "aggressive climb" is active<br />
#* ''Descent'' - Triggered anytime "aggressive descent" is active<br />
#* ''Nav'' - Normal level flight<br />
#* ''Landing'' - Same as ''Nav'' but using the "Landing" flight plan block and any airframe gains/trims/payload options as defined in airframe.xml<br />
#* ''Kill'' - Triggered manually - locks throttle at 0% and uses pitch/roll settings from Airframe.xml. <br />
# ''Error sub-modes''<br />
#* ''No GPS'' - A temporary mode using pitch/roll settings from airframe.xml<br />
#* ''Home'' - Triggered by distance in '''Auto''' mode or by distance/RC loss in '''Stab''' mode (after ''n'' seconds, as defined in airframe.xml). Exits upon manual block/mode change requests from the GCS and cannot be re-initiated for 30 seconds.<br />
# '''Continually broadcast last known location'''<br />
#* AP should continue to broadcast the last known GPS coordinate in the event of GPS loss. (i.e. upside-down crashed plane should continue to send last known position in case it was out of data range prior to the crash.)<br />
#* ('''NOTE:''' Possible by adding for example a module that ''grabs'' current coordinates at e.g. .1 Hz and if in flightplan <while cond="!GpsFixValid()"/> send whatever you want)<br />
# '''Ability to upload waypoints in flight'''<br />
#* I know this has been discussed a few times but it would be nice to at least have the option to upload waypoints and blocks and be able to change blocks in flight. This is risky but most Autopilot's do have this feature now and it would be nice if the user could make this decision. <br />
#* ('''NOTE:''' A possible current solution is by adding duplicate waypoints very close and if needed move these while in flight.)<br />
# '''Radio Control of UAS through Data Link'''<br />
#* This simply means that instead of hacking an RC receiver to output it to the autopilot board why not hook your RC transmitter up through your computer and use the data link for RC. This would be nice especially with all the new RC range issues the 2 layer tiny 2.11 has brought on. Also it would be nice because RC interference would be eliminated. Please comment on this and tell me what you think<br />
#* ('''NOTE:''' Already possible)<br />
# '''Precision Surveying'''<br />
#* It would be nice to have a survey function that could survey a sector and also be told what coordinates to begin the survey on. Another useful feature would be to have the plane sense when it is done surveying the whole area so it could move to the next block. I know that the entering the survey can be done in a roundabout method by defining a waypoint at the entry point and then going to it but defining it in the survey function would allow for more precise survey since that first sweep would already be defined and then would not be affected by if the plane went into the survey function at weird spot or something.<br />
#* ('''NOTE:''' Already possible, see http://paparazzi.enac.fr/wiki/Advanced_Navigation_Routines see the '''Polygon Survey''' and use it smartly</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=Users&diff=6759Users2010-06-16T16:58:50Z<p>Hoepfel: /* Europe */ Updated my user info</p>
<hr />
<div>Please add yourself to this list if you wish to share who you are and what you are doing with Paparazzi<br />
<br />
==Need help adding your information?==<br />
To have your information added by another paparazzi user, please send me an [http://www.rcgroups.com/forums/showpost.php?p=6575288&postcount=1 EMAIL] at with the <br />
following:<br />
<br />
*Name<br />
*Email<br />
*Location<br />
*Hardware<br />
*Join date<br />
*Current activities / project status<br />
<br />
== Wiki pages ==<br />
add a link to your users wiki page.<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Dconger Dconger]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:MarcusWolschon MarcusWolschon]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Alfamyke Alfamyke]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Danstah Danstah]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Martinmm Martinmm]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:John_Burt John Burt]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:SilaS SilaS]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Mecevans Mecevans]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU-FCUAV]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:GPH Pierre-Selim]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Martinpi martinpi]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:VAMK VAMK]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:EldenC Elden_Crom]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Marc Marc]<br />
<br />
==Asia==<br />
<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
|+ Asia<br />
|-<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status <br />
|- style="background:bisque; color:black"<br />
<br />
| [mailto:wangcfan@163.com Wangcfan]|| China || Tiny2.11 ||| 2008 || The beginning, is now in learning phase;Learning in Tiny2.11 using the method of IMU!<br />
|- style="background:bisque; color:black"<br />
<br />
| [mailto:mnwxiaobao@gmail.com MNW]|| China || Tiny2.11 ||| 2009 || Just starting,having troubles with parts.<br />
|- style="background:bisque; color:black"<br />
| [mailto:shubhamearly@gmail.com Shubham]|| India || Tiny2.11 ||| 2009 || Writing the configuration code for airframe<br />
|- style="background:bisque; color:black"<br />
| [mailto:mundhra@gmail.com M Mundhra] || India || Tiny 1.3 ||| 2007 || Gain tuning on a flying wing configuration airframe <br />
|- style="background:bisque; color:black"<br />
| [mailto:ngkiangloong_at_hopetechnik.com Jianlun]|| Singapore || TWOG V1 ||| 2008 || trying to get TWOG onto an EasyStar. very much a newbie!<br />
|- style="background:bisque; color:black"<br />
| [mailto:praxmail@gmail.com prashanth] || India || Tiny 2.11 ||| 2008 || 6 autonomous flights till now, currently build a new wing like funjet <br />
|- style="background:bisque; color:black"<br />
| [mailto:spencerpangborn@gmail.com spencer] || Taipei, Taiwan || none ||| 2009 || research for now, hope to take aerial photos of Taipei City soon<br />
|}<br />
<br />
==Europe==<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status <br />
<br />
|- style="background:bisque; color:black"<br />
|Austria<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:Martinpi Martin Piehslinger] || Vienna, Austria || Tiny 2.11 || 2008 || just starting<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:st.jr_at_gmx.at TomS] || Graz, Austria || Tiny 2.11 ||| 2008 || Starting to complete the wiring for the tiny and then trying to apply it to my TwinStar II.<br />
<br />
<br />
|- style="background:bisque; color:black"<br />
|France<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:x-microdrones@2007.polytechnique.org X-MicroDrones] || Paris, France || Tiny 2.11, Quad-Tilt-Rotor VTOL ||| 2008 || Wiring completed, first flights soon... We're trying to adapt Paparazzi to a Quad-Tilt-Rotor VTOL able to perform both airplane-like and helicopter-like flights. Working on inertial measurement units implementation. <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:pvol_at_club.fr Philippe Volivert] || Paris, France || TWOG 2.12, EasyGlider, MPX3030 ||| July 2009 || Working on pan/tilt/roll camera<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:thibaut.bergal@estaca.eu ESTACA Modélisme] || Paris, France || TWOG 2.11, Swift 2, MC22 ||| January 2010 || Starting<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:pauldanielcox_at_gmail_dot_com Paul Cox] <br />
| Toulouse <br />
| Tiny v2.11 || Nov. 2008 || GWS Slow Stick flying in AUTO2 reliably. Starting on stabilized video and payload drops Skype: pauldanielcox Gtalk: [use email] <br />
<br />
|- style="background:bisque; color:black"<br />
|Germany<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:maik.hoepfel_at_web.de Maik Hoepfel] || Berlin, Germany || TWOG, Borjet Maja, Futaba 9C 35 Mhz ||| August 2009 || Have flown different airframes and am flying a Borjet Maja right now; built a more rugged case and connecting board for PPRZ; taking surveying pictures<br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:MarcusWolschon|Marcus Wolschon]] || Freiburg, Germany || Gumstix, Paraplane ||| 2008 || Porting Paparazzi to Linux-Userland with UDP-communication using mesh-networking.<br />
UDP-Downlink working, GPS via GPSD working, Pararazzi in Linux working, Hardware still RC-only due to sensor-soldering-issues<br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:Flixr|Felix Ruess]] || Munich, Germany || Booz2 quadrotor ||| 2008 || flying, but a lot to improve ;-)<br />
<br />
|- style="background:bisque; color:black"<br />
| Portugal<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:azoreanuav_at_gmail.com Rui Costa] || Azores, Portugal || Outrunner Twinstar II with Tiny 2.11, Aerocomm datalink, 1W video tx ||| 2008 || Only ground test and software configuration.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:muralha_at_gmail.com Nuno Guedes] || Lamego, Portugal || Tiny 2.11 || 2008 || Starting<br />
<br />
<br />
|- style="background:bisque; color:black"<br />
|Switzerland<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:markggriffin_at_gmail.com MarkG] || Geneva, Switzerland || Modified Tiny v2.11, TWOG v1, EeePC as GCS, Multiplex FunJet & EasyStar ||| 2008 || Many successful flights. <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:spam1_at_marzer.com CedricM] || Geneva, Switzerland || Tiny 2.11, Multiplex FunJet with video camera ||| 2008 || Many successful flights working on an osd module and weather probes. <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:reto.buettner_at_gmail.com RetoB] || Meilen, Switzerland || TWOG, Borjet Maja, EzOSD, Scherrer UHF ||| 2010 || First AUTO2 flights. experienced in FPV, See [http://www.aerovista.ch/news.html www.aerovista.ch] for current status.<br />
<br />
|- style="background:bisque; color:black"<br />
| UK<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:et@onyxnet.co.uk Alan K] || Middlesbrough, England || Tiny 2.11 & MaxStream ||| 2008 || Just starting.<br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:G R|Gareth R]] || Sheffield, UK || Tiny 2.11, video, bunch of helicopters, Multiplex Mentor, Multiplex Funjet, Multiplex Fox, GWS Formosa ||| 2008 || Came 4th in EMAV09 (although won the Golden Balls award for courage in the face of adversity and exceptional partying). Many AUTO2 flights with a camera and XBee868s. Current main airframe is a GWS Formosa (they are so cheap!).<br />
<br />
<br />
|- style="background:bisque; color:black"<br />
| Other<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:silas_at_silas.hu SilaS] || Budapest || Tiny 1.3,2.11, Twog 1.0 ||| 2007 || Applied tiny to GWS Estarter, finished long travels in AUTO2. Now transfert it to a Twinstar and working on pairing tiny with FPV. Successfull. Now using it on large gliders and jets.<br />
<br />
|- style="background:bisque; color:black"<br />
| [[ email = hendrix at vivodinet dot gr| Chris Efstathiou]] || Piraeus Hellas || tiny 2.11 on a Mpx EasyGlider, TWOG 1.3 on a Boomerang turbine jet ||| 2008 || The Easyglider is fully operational, still working on the jet which had his first flight with the TWOG at 25/1/2009 <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:sanarlab@yandex.ru Andrew Saenko] || Russia, St-Petersburg || Tiny 1.13, Tiny 2.11, 2.5 kg motorised glider, 800 g plane ||| 2007 || Automatic flight, adding own code.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:chebuzz_at_gmail.com David "Buzz" Carlson] || Cyprus || Tiny 2.11, Lynx EDF & GWS SloStick, 9XTend datalink ||| 2008 || Quite a few AUTO2 flights. Plane currently grounded due to a TX run-in with a 1 year-old. Currently working on getting new TX and completing CBP store setup.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:kostalexis@ece.upatras.gr AneMos-Group] || Patras, Greece || Tiny 2.11, Quadrotor VTOL ||| 2008 || Working on IMU, Trying to implement Constrained Control for the quadrotor trajectory flight<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:VAMK Allan Ojala (VAMK)] || Vaasa, Finland || TWOG, with AC4790 radio and LEA-5H GPS ||| 2009 || Ditched the SIG Kadet. Built a new big plane TaigaCam. Self-build model made out of EPP and a plastic tube.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:alexandru.panait@ral.ro Phineas] || Bucharest, Romania || Tiny2.11 (PPZUAV) ||| November 2009 || Just started to set-up <br />
<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:lukeiron@hotmail.com Luke] || Torino, Italy || TWOG ||| December 2009 || Close to mount the AP on my Mentor <br />
|}<br />
<br />
==North America==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
|-<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status <br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:Mcurrie Matthew Currie] || Nanaimo, BC Canada || Tiny 13 v1.1 (Self-built) ||| November 2006 || Funjet + XBee<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:quill_at_u.washington.edu John Burt] [http://paparazzi.enac.fr/wiki/User:John_Burt wiki page]|| Portland, Oregon || Tiny v2.11 + LEA-4H (PPZUAV), Multiplex Cularis/Easystar, 9Xtend modem, T7CAP TX, ground station: EEE PC701 and/or Nokia N810 ||| Jan 2009 || Initial flight tests w/ Easystar in AUTO1 & AUTO2.<br />
<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:ogar0007@umn.edu Pat O'Gara] || St. Paul, MN || Tiny 2.11 and TWOG (PPZUAV) |||Oct. 2008 || Completed and flown FunJet and Minimag in Auto 2. Currently rebuilding MiniMag as an improved development platform. <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:kochesj@gvsu.edu John Koches] || Muskegon, Michigan || Tiny 2.11 (PPZUAV) ||| 2007 || currently flying a 48 inch zagi, 80 inch under construction.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:Stdeguir@gmail.com Steve Deguir] || New York,New York || Tiny2.11+LEA-5H (PPZUAV), XbeePro 2.4, Berg4L, JR FMA ||| Feb 2009 || <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:bmw330i@me.com David Conger] || San Diego (Ramona), California || Tiny1.3 (PPZUAV) ||| Sept 2007 || Flying Wing MAV with onboard video. Test platform for the new 900mhz XBPro 900 RF modems.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:mecevans@gmail.com Michael Evans] || Seaside(Monterey Bay), California || Tiny2.11 (PPZUAV) ||| Feb 2009 ||http://www.rcgroups.com/forums/showthread.php?t=1000937. <br />
<br />
|- style="background:bisque; color:black"<br />
| USU AggieAir Remote Sensing || Logan, UT || TWOG (PPZUAV) ||| January 2009 || Building 72" Flying Wings which will be used for remote sensing. Routine autonomous flight.<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://www.engr.usu.edu/wiki/index.php/OSAM USU OSAM-UAV] || Logan, UT || TWOG (PPZUAV) ||| June 2007 || 2x72" 5x48" 1x60" Flying Wings. Research backyard for AggieAir Remote Sensing. Routine autonomous flight.<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU Fuel Cell UAV] || Fort Collins, Co || Tiny 2.11 + LEA-5H (PPZUAV), 2.4Ghz XBPro ||| Mar 2009 || Maiden flight complete Feb 28. New Airframe in development.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:armz12@gmail.com Armen Gharibans] || La Jolla, California || Tiny2.11 (PPZUAV) ||| March 2009 || UCSD Project with Multiplex Mentor. Completed August 2, 2009. Several Successful Auto2 Flights. A LOT of help from David Conger.<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:EldenC Elden Crom] || Tucson, AZ || Twog 1.0 ||| July 2009 || Multiplex Twinstar, XBee Pro. Several Successful Auto2 Flights. Working toward precise Auto-Takeoff and Auto-Land <br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider] || Tucson, AZ || None, will use TWOG 1.0 ||| December 2009 || Super Dimona, Aerocomm. No Flight test. Working toward setting waypoints within Paparazzi code <br />
<br />
|- style="background:bisque; color:black"<br />
| [Reegan] || Lubbock, TX || Planning on Tiny 2.11 (PPZUAV), 900mhz XBPro |||Dec. 2009 || Gaining info to begin a collegiate project<br />
<br />
|- style="background:bisque; color:black"<br />
| Team UAV UALR Caleb Tenberge || Little Rock, AR || Using TWOG 1.0 ||| Feb 2010 || Using a Telemaster, we are learning the GCS and building our plane. <br />
<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:changho.nam@asu.edu Arizona State University POLY - Capstone Team: Development of UAV /w surveillance System] || Mesa, AZ || Using TINY 2.1 - 2.4GHz Modem, CCD Camera /w 900 MHz Video Transmitter ||| March 2010 || 4-lbs Flying Wings. We made successful autonomous flights. <br />
<br />
<br />
<br />
|- style="background:bisque; color:black"<br />
| New User || 1 || 2 ||| 3 || 4 <br />
|}<br />
<br />
==Central America==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status<br />
|- style="background:bisque; color:black"<br />
| [mailto:joschau@comcast.net Joekadet] || David Panama' || Tiny v2.11/LEA-4P, RF Modems XBee Pro 2.4 GHz (PPZUAV). Multiplex Mentor ||| 2008 || Seven flights now. Flights 6 & 7 in Auto2. Now only a matter of fine tuning.<br />
|- style="background:bisque; color:black"<br />
| New User || 1 || 2 ||| 3 || 4 <br />
|}<br />
<br />
<br />
==Australia==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
|-<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status<br />
|- style="background:bisque; color:black"<br />
| [mailto:todd_soaring@yahoo.com.au Todd Sandercock] || Adelaide, SA || Tiny v2.11, Multiplex Twinjet, 9Xtend modems ||| Jan 2008 || Completed successful flight testing. Now designing new airframe. <br />
|- style="background:bisque; color:black"<br />
| [mailto:reubenb87@gmail.com Reuben Brown]|| Gawler, SA || Tiny v2.11 ||| May 2009 || Getting the autopilot set up <br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison] || Neutral Bay, NSW || Tiny v2.11, Vertical + Horizontal IR sensors, XBee PRO modems, Futaba T6EXAP TX, Futaba R136F RX, Funjet, MacBook laptop ||| August 2008 || Several flights in Auto1<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:Rufus Chris Gough] || Canberra || TWOG v2.11, EZ* || September 09 || not yet airborn <br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:Adam.A Adam Amos] || Sydney, NSW || TWOG, IMU, BORJET MAJA || March 2010 || see [http://www.rescuerobotics.com.au www.rescuerobotics.com.au] for current status<br />
|}<br />
<br />
==Africa==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status<br />
|- style="background:bisque; color:black"<br />
| [mailto:w1_th@yahoo.com W1th] || South Africa KZN || TWOG V1 ,LEA-5H GPS , RF Modems XBee Pro 868 (CheBuzz) ||| July 2009 || Got TWOG,GPS etc interfacing with Laptop and working , Have not done anything to it recently but...Made a website [http://sites.google.com/site/scarfclub/paparazi-uav SCARF Paparazzi-UAV] of my struggle ...<br />
|- style="background:bisque; color:black"<br />
| [mailto:willie.smit@nwu.ac.za Willie Smit] || South Africa NW || Tiny v2.11, LEA-4P GPS, RF Modems XBee Pro ||| April 2010 || We are currently doing test flights. Also doing research on obstacle avoidance.<br />
|- style="background:bisque; color:black"<br />
|}</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=Software_Wish_List&diff=6758Software Wish List2010-06-16T16:50:56Z<p>Hoepfel: /* Ground Station Suggestions */ Added suggestion to flash via modems</p>
<hr />
<div>{|<br />
|-valign="top"<br />
|__TOC__<br />
|Please use the [[Talk:Software_Wish_List|Discussion]] tab at the top of the page, as appropriate<br />
|}<br />
== Ground Station Suggestions ==<br />
# Support for stanag 4586 compliance, see http://www.innuvativesystems.com/stanag_4586_primer.html [[User:OpenUAS|(Suggested by OpenUAS)]]<br />
# Support for standard map files like GeoTiff, .tab and .map. Using the .xml method manually is rather time consuming and frustrating when you already have standard georeferenced images.<br />
# Path interpreter(?)<br />
# Divide the flight plan into 3 separate files [[User:Jeremy|(Suggested by Jeremy)]]<br />
#* Takeoff/Landing - flight plan blocks describing the complex routines and using altitudes and waypoints from the ''User'' file<br />
#* Generic - a file that users should never need to edit, containing circles, rectangles, figure-8's, and surveys that appear on command when GCS buttons are pressed. Altitude/locations could be relative to the ''User'' file<br />
#* User - Here we can specify fixed or dynamic ''Home'' point and add complex routines or simply save certain basic routines. <br />
#* (NOTE: All of this is already possible, investigate time in discovering what paparazzi already can do now)<br />
# The possibility to use multiple ground modem connected to a single ground station. The RSSI could be use to dynamically choose which currently has the best signal. This would allow the use of different antennas on each of the modems or have antenna pointing in different directions(?Possibly more hardware related)<br />
# PFD - the horizon and the sky shouldn't move only the main line. '''Because we are on the ground''' and we really need to see the roll angle of the UAS and not the real PFD like on a real airplane. And we could also see, the pitch angle, to see if the UAS is climbing or going down. (NOTE: Currently via papgets it is possible to add all kinds of info easily already)<br />
#* Another way this could be done is to use a 3D model of the plane like procerus does on there ap. For those unfamiliar with this it is like you are in the view point of like 5m behind the plane. This might give the user just enough of a model to help fly back under manual control or at least have a better understanding of the orientation. This idea is good one but it should not replace the current pfd but rather be an option to use in the gcs.<br />
#*(NOTE: This is already possible, just bind you ouput to Flightgear, see e.g. http://paparazzi.enac.fr/wiki/BoozSimulator or http://paparazzi.enac.fr/wiki/Simulation for a start. <br />
# Language packs for the GCS - English, French, German, Italian, Spanish, Portuguese, ...<br />
# Flashing via modems - Why is that not done? I'd imagine the Tiny boot loader could wait one second for a specific signal that gets sent only when the GCS is ready to flash new firmware.<br />
<br />
== Airborne Software Suggestions ==<br />
=== Stability ===<br />
* Auto-tuning of gains<br />
*: It should be possible to have a tuning procedure that comes up with correct gains for the stabilization. The procedure to come up with the correct gains is rather straightforward and an algorithm should be able to judge if the plane's oscillating, so I see no reason why it can't be done (given the plane is high enough and doesn't become unstable easily).<br />
<br />
=== Navigation ===<br />
* Flight plan stage sensing <br />
*: Carrot should continue past the waypoint toward the next point, but the point should not be officially acknowledged until the plane has passed it. This way we can have smooth, intelligent navigation while still considering waypoint triggers such as still-photo, sensor drop, or throttle off.<br />
<br />
=== Other ===<br />
# '''Revised autopilot modes''' [[User:Jeremy|(Jeremy)]]<br />
#* I propose a restructuring of the modes as follows - create 3 top-level modes: '''Man, Stab,'''and '''Auto''', each with an appended autonomous sub-mode (i.e. '''Man'''/''Climb'', '''Stab'''/''Kill'', '''Auto'''/''Landing'', etc.) This will give the operator much more information and a much better indication of what the plane will do when switched to autonomous mode in a concise manner. Furthermore, I see an advantage in having simple behaviors like ''Climb, Landing'', etc. be defined as sub-modes so that operator is always alerted of changes such as ''Descent'' or can easily configure trim, gains, and payload options in the airframe file (i.e. if mode = ''Landing'' then retract camera, turn off video system, use landing trim, etc.)<br />
#* ''Sub-modes''<br />
#* ''Ground'' - The default boot mode. In this mode the throttle is locked at 0% or not armed at all (no PWM signal), stability is disabled (servos locked in neutral position), and video power is off, but flight plan blocks are processed. This will improve safety and aid in lost plane retreival as the servos, and video will not drain the battery if landing detection is implemented. ''Ground'' mode should exit '''only''' if ''Takeoff'' is manually triggered.<br />
#* ''Takeoff'' - 3 possible triggers: GCS button, GPIO button, or R/C throttle. Checks for error modes and desired climb, then arms/unlocks throttle, initates "Takeoff" flight plan block, and instantly deroutes to ''Climb'' mode. Deroutes to ''Descent'' mode without unlocking throttle if not OK. ''Takeoff'' could simply be a flag rather than a "mode".<br />
#* ''Climb'' - Triggered anytime "aggressive climb" is active<br />
#* ''Descent'' - Triggered anytime "aggressive descent" is active<br />
#* ''Nav'' - Normal level flight<br />
#* ''Landing'' - Same as ''Nav'' but using the "Landing" flight plan block and any airframe gains/trims/payload options as defined in airframe.xml<br />
#* ''Kill'' - Triggered manually - locks throttle at 0% and uses pitch/roll settings from Airframe.xml. <br />
# ''Error sub-modes''<br />
#* ''No GPS'' - A temporary mode using pitch/roll settings from airframe.xml<br />
#* ''Home'' - Triggered by distance in '''Auto''' mode or by distance/RC loss in '''Stab''' mode (after ''n'' seconds, as defined in airframe.xml). Exits upon manual block/mode change requests from the GCS and cannot be re-initiated for 30 seconds.<br />
# '''Continually broadcast last known location'''<br />
#* AP should continue to broadcast the last known GPS coordinate in the event of GPS loss. (i.e. upside-down crashed plane should continue to send last known position in case it was out of data range prior to the crash.)<br />
#* ('''NOTE:''' Possible by adding for example a module that ''grabs'' current coordinates at e.g. .1 Hz and if in flightplan <while cond="!GpsFixValid()"/> send whatever you want)<br />
# '''Ability to upload waypoints in flight'''<br />
#* I know this has been discussed a few times but it would be nice to at least have the option to upload waypoints and blocks and be able to change blocks in flight. This is risky but most Autopilot's do have this feature now and it would be nice if the user could make this decision. <br />
#* ('''NOTE:''' A possible current solution is by adding duplicate waypoints very close and if needed move these while in flight.)<br />
# '''Radio Control of UAS through Data Link'''<br />
#* This simply means that instead of hacking an RC receiver to output it to the autopilot board why not hook your RC transmitter up through your computer and use the data link for RC. This would be nice especially with all the new RC range issues the 2 layer tiny 2.11 has brought on. Also it would be nice because RC interference would be eliminated. Please comment on this and tell me what you think<br />
#* ('''NOTE:''' Already possible)<br />
# '''Precision Surveying'''<br />
#* It would be nice to have a survey function that could survey a sector and also be told what coordinates to begin the survey on. Another useful feature would be to have the plane sense when it is done surveying the whole area so it could move to the next block. I know that the entering the survey can be done in a roundabout method by defining a waypoint at the entry point and then going to it but defining it in the survey function would allow for more precise survey since that first sweep would already be defined and then would not be affected by if the plane went into the survey function at weird spot or something.<br />
#* ('''NOTE:''' Already possible, see http://paparazzi.enac.fr/wiki/Advanced_Navigation_Routines see the '''Polygon Survey''' and use it smartly</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=Software_Wish_List&diff=6757Software Wish List2010-06-16T16:49:01Z<p>Hoepfel: added suggestion to have an auto-tuning procedure</p>
<hr />
<div>{|<br />
|-valign="top"<br />
|__TOC__<br />
|Please use the [[Talk:Software_Wish_List|Discussion]] tab at the top of the page, as appropriate<br />
|}<br />
== Ground Station Suggestions ==<br />
# Support for stanag 4586 compliance, see http://www.innuvativesystems.com/stanag_4586_primer.html [[User:OpenUAS|(Suggested by OpenUAS)]]<br />
# Support for standard map files like GeoTiff, .tab and .map. Using the .xml method manually is rather time consuming and frustrating when you already have standard georeferenced images.<br />
# Path interpreter(?)<br />
# Divide the flight plan into 3 separate files [[User:Jeremy|(Suggested by Jeremy)]]<br />
#* Takeoff/Landing - flight plan blocks describing the complex routines and using altitudes and waypoints from the ''User'' file<br />
#* Generic - a file that users should never need to edit, containing circles, rectangles, figure-8's, and surveys that appear on command when GCS buttons are pressed. Altitude/locations could be relative to the ''User'' file<br />
#* User - Here we can specify fixed or dynamic ''Home'' point and add complex routines or simply save certain basic routines. <br />
#* (NOTE: All of this is already possible, investigate time in discovering what paparazzi already can do now)<br />
# The possibility to use multiple ground modem connected to a single ground station. The RSSI could be use to dynamically choose which currently has the best signal. This would allow the use of different antennas on each of the modems or have antenna pointing in different directions(?Possibly more hardware related)<br />
# PFD - the horizon and the sky shouldn't move only the main line. '''Because we are on the ground''' and we really need to see the roll angle of the UAS and not the real PFD like on a real airplane. And we could also see, the pitch angle, to see if the UAS is climbing or going down. (NOTE: Currently via papgets it is possible to add all kinds of info easily already)<br />
#* Another way this could be done is to use a 3D model of the plane like procerus does on there ap. For those unfamiliar with this it is like you are in the view point of like 5m behind the plane. This might give the user just enough of a model to help fly back under manual control or at least have a better understanding of the orientation. This idea is good one but it should not replace the current pfd but rather be an option to use in the gcs.<br />
#*(NOTE: This is already possible, just bind you ouput to Flightgear, see e.g. http://paparazzi.enac.fr/wiki/BoozSimulator or http://paparazzi.enac.fr/wiki/Simulation for a start. <br />
# Language packs for the GCS - English, French, German, Italian, Spanish, Portuguese, ...<br />
<br />
== Airborne Software Suggestions ==<br />
=== Stability ===<br />
* Auto-tuning of gains<br />
*: It should be possible to have a tuning procedure that comes up with correct gains for the stabilization. The procedure to come up with the correct gains is rather straightforward and an algorithm should be able to judge if the plane's oscillating, so I see no reason why it can't be done (given the plane is high enough and doesn't become unstable easily).<br />
<br />
=== Navigation ===<br />
* Flight plan stage sensing <br />
*: Carrot should continue past the waypoint toward the next point, but the point should not be officially acknowledged until the plane has passed it. This way we can have smooth, intelligent navigation while still considering waypoint triggers such as still-photo, sensor drop, or throttle off.<br />
<br />
=== Other ===<br />
# '''Revised autopilot modes''' [[User:Jeremy|(Jeremy)]]<br />
#* I propose a restructuring of the modes as follows - create 3 top-level modes: '''Man, Stab,'''and '''Auto''', each with an appended autonomous sub-mode (i.e. '''Man'''/''Climb'', '''Stab'''/''Kill'', '''Auto'''/''Landing'', etc.) This will give the operator much more information and a much better indication of what the plane will do when switched to autonomous mode in a concise manner. Furthermore, I see an advantage in having simple behaviors like ''Climb, Landing'', etc. be defined as sub-modes so that operator is always alerted of changes such as ''Descent'' or can easily configure trim, gains, and payload options in the airframe file (i.e. if mode = ''Landing'' then retract camera, turn off video system, use landing trim, etc.)<br />
#* ''Sub-modes''<br />
#* ''Ground'' - The default boot mode. In this mode the throttle is locked at 0% or not armed at all (no PWM signal), stability is disabled (servos locked in neutral position), and video power is off, but flight plan blocks are processed. This will improve safety and aid in lost plane retreival as the servos, and video will not drain the battery if landing detection is implemented. ''Ground'' mode should exit '''only''' if ''Takeoff'' is manually triggered.<br />
#* ''Takeoff'' - 3 possible triggers: GCS button, GPIO button, or R/C throttle. Checks for error modes and desired climb, then arms/unlocks throttle, initates "Takeoff" flight plan block, and instantly deroutes to ''Climb'' mode. Deroutes to ''Descent'' mode without unlocking throttle if not OK. ''Takeoff'' could simply be a flag rather than a "mode".<br />
#* ''Climb'' - Triggered anytime "aggressive climb" is active<br />
#* ''Descent'' - Triggered anytime "aggressive descent" is active<br />
#* ''Nav'' - Normal level flight<br />
#* ''Landing'' - Same as ''Nav'' but using the "Landing" flight plan block and any airframe gains/trims/payload options as defined in airframe.xml<br />
#* ''Kill'' - Triggered manually - locks throttle at 0% and uses pitch/roll settings from Airframe.xml. <br />
# ''Error sub-modes''<br />
#* ''No GPS'' - A temporary mode using pitch/roll settings from airframe.xml<br />
#* ''Home'' - Triggered by distance in '''Auto''' mode or by distance/RC loss in '''Stab''' mode (after ''n'' seconds, as defined in airframe.xml). Exits upon manual block/mode change requests from the GCS and cannot be re-initiated for 30 seconds.<br />
# '''Continually broadcast last known location'''<br />
#* AP should continue to broadcast the last known GPS coordinate in the event of GPS loss. (i.e. upside-down crashed plane should continue to send last known position in case it was out of data range prior to the crash.)<br />
#* ('''NOTE:''' Possible by adding for example a module that ''grabs'' current coordinates at e.g. .1 Hz and if in flightplan <while cond="!GpsFixValid()"/> send whatever you want)<br />
# '''Ability to upload waypoints in flight'''<br />
#* I know this has been discussed a few times but it would be nice to at least have the option to upload waypoints and blocks and be able to change blocks in flight. This is risky but most Autopilot's do have this feature now and it would be nice if the user could make this decision. <br />
#* ('''NOTE:''' A possible current solution is by adding duplicate waypoints very close and if needed move these while in flight.)<br />
# '''Radio Control of UAS through Data Link'''<br />
#* This simply means that instead of hacking an RC receiver to output it to the autopilot board why not hook your RC transmitter up through your computer and use the data link for RC. This would be nice especially with all the new RC range issues the 2 layer tiny 2.11 has brought on. Also it would be nice because RC interference would be eliminated. Please comment on this and tell me what you think<br />
#* ('''NOTE:''' Already possible)<br />
# '''Precision Surveying'''<br />
#* It would be nice to have a survey function that could survey a sector and also be told what coordinates to begin the survey on. Another useful feature would be to have the plane sense when it is done surveying the whole area so it could move to the next block. I know that the entering the survey can be done in a roundabout method by defining a waypoint at the entry point and then going to it but defining it in the survey function would allow for more precise survey since that first sweep would already be defined and then would not be affected by if the plane went into the survey function at weird spot or something.<br />
#* ('''NOTE:''' Already possible, see http://paparazzi.enac.fr/wiki/Advanced_Navigation_Routines see the '''Polygon Survey''' and use it smartly</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=FAQ&diff=5440FAQ2009-09-04T12:33:39Z<p>Hoepfel: /* What do MANUAL/AUTO1/AUTO2 stand for? */</p>
<hr />
<div><noinclude><br />
{| width="100%" style="border: solid 2px #A3B1BF; background: #F5FAFF" |<br />
|-<br />
| <br />
<h2 style="background-color:#cedff2; border-bottom:0px; border: 1px solid #a3b0bf; text-align:center; padding-top:4px;">Paparazzi FAQ<br />
</h2></noinclude><br />
<br/><!--TOC spacing--><br />
__NOTOC__ __TOC__<br />
<br />
==Is it possible to __________?==<br />
:Yes, of course! That's the beauty of an open-source system - virtually any feature or function you want can be added to the hardware and/or software.<br />
<br />
==What equipment and components are suggested==<br />
:Linux (Debian or Ubuntu) compatible notebook computer, preferably with a very bright screen for outdoor use.<br />
:Most any airframe that will accommodate IR sensors and some extra weight and wiring - ''brushless motors are strongly suggested.'' See the [[Gallery|User's Gallery]] for some airframe examples.<br />
:[[Autopilots|Tiny]] autopilot from one of the [[Get_Hardware|Paparazzi vendors]] or build your own from the downloadable plans/gerbers<br />
:[[Infrared_Sensors|IR sensor (x-y)]] board from one of the [[Get_Hardware|Paparazzi vendors]] or [http://www.fmadirect.com/detail.htm?item=1778&section=20 FMA Direct P/N: CPD4SENUNIT]<br />
:[[Infrared_Sensors|IR sensor (z)]] board from one of the [[Get_Hardware|Paparazzi vendors]] or [http://www.fmadirect.com/Detail.htm?item=1888&section=49 FMA Direct P/N:FS8ZS]<br />
:R/C Transmitter with a 3-position switch for selecting Manual/Stabilized/Auto. Some common models are listed in [http://cvs.savannah.gnu.org/viewvc/paparazzi/paparazzi3/conf/radios/ conf/radios]<br />
:R/C Receiver with an accessible PPM signal to tap. See: [[Other_Hardware#R.2FC_Receiver|Suggested R/C receivers]]<br />
:A pair of [[Modems]] along with any enclosures and antennas<br />
:[http://www.mouser.com/search/ProductDetail.aspx?R=TTL-232R-3V3virtualkey62620000virtualkey626-DLP-TTL-232R-3V3 FTDI USB-TTL] cable for connecting the modem to your USB port and/or for serial flashing of bootloader code or tunnel access to the GPS receiver<br />
:A standard [http://www.mouser.com/search/ProductDetail.aspx?R=68806-0019virtualkey53830000virtualkey538-68806-0019 Mini-B USB cable] and [http://www.mouser.com/search/productdetail.aspx?R=500075-0517virtualkey53810000virtualkey538-500075-0517 receptacle] for uploading firmware to the autopilot<br />
:Lots of [[Other_Hardware#Wiring|very durable wire, crimpers, and molex pins or pre-crimped wire.]]<br />
<br />
==Are internal combustion engines supported?==<br />
:Yes, not relying solely on inertial measurement, the Paparazzi system is very well suited for aircraft with high vibration levels. Care must be taken to prevent oily exhaust residue buildup on the IR sensors and a simple variable must be added to properly address the special idle/kill needs of an IC engine.<br />
<br />
==Can Paparazzi fly a glider?==<br />
:Sure. Paparazzi uses throttle and pitch to control climb rate but you could easily fit an airspeed sensor and modify the pitch code to maintain airspeed instead.<br />
<br />
==Will the autopilot provide enough 5V power for many/large/digital servos as well as a modem, video TX, etc.?==<br />
:The [[Tiny]] includes a very high capacity and high efficiency switching voltage regulator intended to power servos, modems, video systems and other payloads. Users are strongly urged to use this regulator to power their servos rather than the linear regulator included with most motor controllers. While a linear regulator may be rated for several amps, they require a great deal of cooling and can easily overheat with only a few hundred milliamps of continuous current without cooling. By comparison, the switching regulator included on the Tiny can work continuously at 2A with little or no cooling. It is very important to realize that the servos in any stabilized aircraft will operate continuously and therefore a linear regulator that powers the servos reliably in manual flight may easily overheat in autonomous flight.<br />
<br />
==Do I need a separate battery or regulator to isolate the autopilot, servos, video, modem, etc. from one another?==<br />
:The autopilot processor and sensors are powered by a 3.3V regulator and therefore are rather isolated from voltage fluctuations on the battery or 5V bus.<br />
<br />
==Can I use a Sirf, Trimble, etc. instead of the u-Blox GPS receiver?==<br />
:Yes, but it would require a tremendous amount of work as some of the navigation code is dependent on some of the UBX messages. NMEA does not provide messages in the desired form and substantial calculation would be required for conversion. Any of the other proprietary protocols would work but you would need to write your own protocol handler. u-Blox is one of the most expensive receivers on the market but offers great performance, size, and speed as well as the ability to easily configure the internal Kalman filter parameters to expect significant acceleration in 3-D space - a very important feature. If you find a more capable receiver, let the group know about it, but this is not the place to save $40.<br />
<br />
==Does Paparazzi use DGPS, WAAS, EGNOS, or MSAS?==<br />
:Most modern GPS receivers have the ability to process serial data sent from an external DGPS receiver, but the advent of WAAS/EGNOS has made the early ground-based DGPS transmitters nearly obsolete. The u-Blox GPS receiver supports all common SBAS systems (WAAS, EGNOS, and MSAS), as well as any standard form of external DGPS. It's important to understand that DGPS merely improves the ''accuracy'' of the position estimate by subtracting any static error. The only way to improve the ''precision'' of the GPS is by improving the antenna or the GPS module itself. See [http://en.wikipedia.org/wiki/Accuracy_and_precision Wikipedia:Accuracy and Precsion] for a detailed explanation of these terms.<br />
<br />
==How does the R/C receiver interface with the autopilot?==<br />
:Standard hobby R/C transmitters multiplex up to 9 channels of PWM servo data into a single PPM signal which is encoded onto an FM wave for transmission, this signal is then decoded by the RF section of the R/C receiver back into the original PPM signal containing 9 servo position PWM values. This signal is normally then sent to a demultiplexer (i.e. 4017) where it is separated into 9 individual servo signals on 9 individual pins. The Paparazzi autopilot intercepts the signal between the RF section and the demultiplexer and does its own demultiplexing, filtering, and processing before multiplexing the manual or autonomous servo commands back into a single signal and passing them to the 4017 to be distributed to the servos.<br />
<br />
==Why does Paparazzi tap directly into the R/C receiver instead of using individual servo signals?==<br />
:By connecting directly to the RF section of the R/C receiver we are able to obtain up to 9 channels of R/C servo data from a small, lightweight inexpensive 4 channel receiver with only 3 wires needed to connect the components. Furthermore, the autopilot then has direct access to the raw R/C signal where it can be filtered, evaluated, and assessed for quality. The autopilot can then alert the user of any loss of R/C signal as well as perform any pre-configured autonomous commands in response to a loss of signal.<br />
<br />
==Are PCM or 2.4GHz R/C systems compatible with Paparazzi?==<br />
:Yes. Some receivers have the signal available for tapping into the input pin with success and can thus be modified to get the required PPM signal. A general rule of thumb is that if you see any type of demultiplexer on your R/C receiver, you can look up the data sheet for it and likely tap into the input pin with success. Some information on compatible R/C receivers and how to find the PPM signal of your own receiver is given in the [[Other_Hardware#R.2FC_Receiver|RC receiver]] section.<br />
If that's not possible, you can use the available PPM encoder board, to re-multiplex the servo channels into one PPM signal. This seems to a common solution.<br />
<br />
==What R/C transmitters are compatible?==<br />
:No mixing or programming is done in the transmitter so even the simplest models will suffice but one important requirement is a 3-position switch to select among the three autopilot modes: manual, stabilized, and auto. Those handy with electronics can replace a dial with a switch and resistor if needed. The transmitter's PPM values need to be recorded and the channel used to control the autopilot mode must be stated. Some commonly used transmitter configuration files are provided in the [http://cvs.savannah.gnu.org/viewvc/paparazzi/paparazzi3/conf/radios/ conf/radios] folder and the syntax of these files is easy to follow for those using other brands or models.<br />
<br />
==Can a gamepad/joystick be used to control the aircraft through the modem?==<br />
:Yes, the code to do this was written some time ago though it was not tested in flight due to latency concerns with the primitive [[Modems#Coronis_WaveCard|Coronis]] modems used at the time. Any of the [[modems]] currently recommended should work well in this manner but the theoretical reliability is still questionable due to the fact that no interrupt or prioritization structure exists for the telemetry data so any manual control inputs would be lumped in with the rest of the data to be lost or delayed as needed.<br />
<br />
==What do MANUAL/AUTO1/AUTO2 stand for?==<br />
:Those are the three modes that Paparazzi can operate in. MANUAL is for control by your TX. Please note that any trims and deflections set in your airframe config file still apply. AUTO1 is stabilized flight, the autopilot will keep the airframe level and stabilized; RC commands are overlaid. AUTO2 is fully autonomous stabilization and navigation.<br />
<br />
==What Motor Controllers (ESC) are compatible?==<br />
:Any controller can be used, the exact PWM value that is sent to the controller for 0-100% throttle is completely configurable in the airframe file so all controllers are compatible and any controller will arm properly with or without the use of an R/C transmitter. Upon each boot, the autopilot immediately sends whatever you have defined as 0% throttle (typically around 1200ms) and maintains that signal until a manual or autonomous command is given. Most modern controllers are "auto calibrating" which is an undesirable feature for R/C pilots and even more so for autonomous systems but can be dealt with. The calibration is done by defining the PWM value at boot to be 0% power and then defining some initial arbitrary mid-range value such as 1500ms to be 100% until a higher value is seen. The net result of this behavior is that the motor is given full power at any command above 50% throttle until 100% throttle has actually been commanded at least once. This is not an issue for planes that routinely take off at 100% throttle but can disrupt the throttle tuning and altitude control on any flights where 100% throttle has never been commanded. Castle Creations controllers can be configured for "fixed endpoints" which permanently sets the range to 1250-1850ms providing a consistent and predictable throttle response.<br />
<br />
==Can traditional throttle stick programming be done on the ESC once connected to the autopilot?==<br />
:Yes. If the transmitter is on with the throttle at full or whatever is required for your ESC when the autopilot is first booted, the autopilot will immediately see the manual control signal and the throttle position and pass that along to the ESC as the first value, triggering the programming mode.<br />
<br />
==Does Paparazzi support digital servos?==<br />
:Of course. Digital servos use exactly the same electrical interface as their analog counterparts, the only difference being in the way they control the motor. Analog servos use a '''P'''roportional feedback loop, meaning the voltage sent to the motor is proportional to the difference between the measured and intended position of the arm. Digital servos use a '''P'''roportional + '''D'''erivative ('''PD''') feedback loop. The derivative term considers the current speed and direction of the servo as well as the speed and direction of the pilot's stick command. The derivative term will increase power to the motor if the servo is moving the wrong direction (providing faster direction changes) and will reduce/reverse power if the servo is near it's desired position but moving too fast (reducing overshoot). The net effect of this is that a digital servo can use a much stronger '''P''' term without risk of oscillation and overshoot because the '''D''' term is there to intelligently dampen it as needed and boost it whenever it can.<br />
:How does the inclusion of a '''D''' term make an analog servo become digital? Analog servos use a simple opamp to linearly relate the motor voltage to the difference between the potentiometer reading and PWM signal, whereas digital servos use a microprocessor to analyze the potentiometer position and velocity as well as the current and recent PWM signals to calculate the optimum voltage to send to the motor. <br />
:'''Important:''' Please be aware that autonomous flight involves ''continuous'' movement of all servos. Make sure your power supply is capable of handling this and that your servos are capable of continuous operation without overheating - especially if you use digital servos.<br />
<br />
==Can I solder wires directly to the autopilot instead of using the molex connectors?==<br />
:Yes. All of the molex headers are thru-hole and you can easily solder small gauge wire directly to the pins that protrude from these headers on the back of the board. It's important to note that '''standard servo wire cannot be soldered reliably''' in this fashion - you must use only high-grade wire intended for soldering (no vinyl insulation!). Direct soldering is not recommended and has never been attempted by any users, but it is possible in theory. See the [[Other_Hardware#Wiring|Wiring]] section for suggested wire types and sources and please don't attempt this without excellent soldering skills and high quality wiring.<br />
<br />
|}</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=FAQ&diff=5413FAQ2009-08-26T17:01:01Z<p>Hoepfel: </p>
<hr />
<div><noinclude><br />
{| width="100%" style="border: solid 2px #A3B1BF; background: #F5FAFF" |<br />
|-<br />
| <br />
<h2 style="background-color:#cedff2; border-bottom:0px; border: 1px solid #a3b0bf; text-align:center; padding-top:4px;">Paparazzi FAQ<br />
</h2></noinclude><br />
<br/><!--TOC spacing--><br />
__NOTOC__ __TOC__<br />
<br />
==Is it possible to __________?==<br />
:Yes, of course! That's the beauty of an open-source system - virtually any feature or function you want can be added to the hardware and/or software.<br />
<br />
==What equipment and components are suggested==<br />
:Linux (Debian or Ubuntu) compatible notebook computer, preferably with a very bright screen for outdoor use.<br />
:Most any airframe that will accommodate IR sensors and some extra weight and wiring - ''brushless motors are strongly suggested.'' See the [[Gallery|User's Gallery]] for some airframe examples.<br />
:[[Autopilots|Tiny]] autopilot from one of the [[Get_Hardware|Paparazzi vendors]] or build your own from the downloadable plans/gerbers<br />
:[[Infrared_Sensors|IR sensor (x-y)]] board from one of the [[Get_Hardware|Paparazzi vendors]] or [http://www.fmadirect.com/detail.htm?item=1778&section=20 FMA Direct P/N: CPD4SENUNIT]<br />
:[[Infrared_Sensors|IR sensor (z)]] board from one of the [[Get_Hardware|Paparazzi vendors]] or [http://www.fmadirect.com/Detail.htm?item=1888&section=49 FMA Direct P/N:FS8ZS]<br />
:R/C Transmitter with a 3-position switch for selecting Manual/Stabilized/Auto. Some common models are listed in [http://cvs.savannah.gnu.org/viewvc/paparazzi/paparazzi3/conf/radios/ conf/radios]<br />
:R/C Receiver with an accessible PPM signal to tap. See: [[Other_Hardware#R.2FC_Receiver|Suggested R/C receivers]]<br />
:A pair of [[Modems]] along with any enclosures and antennas<br />
:[http://www.mouser.com/search/ProductDetail.aspx?R=TTL-232R-3V3virtualkey62620000virtualkey626-DLP-TTL-232R-3V3 FTDI USB-TTL] cable for connecting the modem to your USB port and/or for serial flashing of bootloader code or tunnel access to the GPS receiver<br />
:A standard [http://www.mouser.com/search/ProductDetail.aspx?R=68806-0019virtualkey53830000virtualkey538-68806-0019 Mini-B USB cable] and [http://www.mouser.com/search/productdetail.aspx?R=500075-0517virtualkey53810000virtualkey538-500075-0517 receptacle] for uploading firmware to the autopilot<br />
:Lots of [[Other_Hardware#Wiring|very durable wire, crimpers, and molex pins or pre-crimped wire.]]<br />
<br />
==Are internal combustion engines supported?==<br />
:Yes, not relying solely on inertial measurement, the Paparazzi system is very well suited for aircraft with high vibration levels. Care must be taken to prevent oily exhaust residue buildup on the IR sensors and a simple variable must be added to properly address the special idle/kill needs of an IC engine.<br />
<br />
==Can Paparazzi fly a glider?==<br />
:Sure. Paparazzi uses throttle and pitch to control climb rate but you could easily fit an airspeed sensor and modify the pitch code to maintain airspeed instead.<br />
<br />
==Will the autopilot provide enough 5V power for many/large/digital servos as well as a modem, video TX, etc.?==<br />
:The [[Tiny]] includes a very high capacity and high efficiency switching voltage regulator intended to power servos, modems, video systems and other payloads. Users are strongly urged to use this regulator to power their servos rather than the linear regulator included with most motor controllers. While a linear regulator may be rated for several amps, they require a great deal of cooling and can easily overheat with only a few hundred milliamps of continuous current without cooling. By comparison, the switching regulator included on the Tiny can work continuously at 2A with little or no cooling. It is very important to realize that the servos in any stabilized aircraft will operate continuously and therefore a linear regulator that powers the servos reliably in manual flight may easily overheat in autonomous flight.<br />
<br />
==Do I need a separate battery or regulator to isolate the autopilot, servos, video, modem, etc. from one another?==<br />
:The autopilot processor and sensors are powered by a 3.3V regulator and therefore are rather isolated from voltage fluctuations on the battery or 5V bus.<br />
<br />
==Can I use a Sirf, Trimble, etc. instead of the u-Blox GPS receiver?==<br />
:Yes, but it would require a tremendous amount of work as some of the navigation code is dependent on some of the UBX messages. NMEA does not provide messages in the desired form and substantial calculation would be required for conversion. Any of the other proprietary protocols would work but you would need to write your own protocol handler. u-Blox is one of the most expensive receivers on the market but offers great performance, size, and speed as well as the ability to easily configure the internal Kalman filter parameters to expect significant acceleration in 3-D space - a very important feature. If you find a more capable receiver, let the group know about it, but this is not the place to save $40.<br />
<br />
==Does Paparazzi use DGPS, WAAS, EGNOS, or MSAS?==<br />
:Most modern GPS receivers have the ability to process serial data sent from an external DGPS receiver, but the advent of WAAS/EGNOS has made the early ground-based DGPS transmitters nearly obsolete. The u-Blox GPS receiver supports all common SBAS systems (WAAS, EGNOS, and MSAS), as well as any standard form of external DGPS. It's important to understand that DGPS merely improves the ''accuracy'' of the position estimate by subtracting any static error. The only way to improve the ''precision'' of the GPS is by improving the antenna or the GPS module itself. See [http://en.wikipedia.org/wiki/Accuracy_and_precision Wikipedia:Accuracy and Precsion] for a detailed explanation of these terms.<br />
<br />
==How does the R/C receiver interface with the autopilot?==<br />
:Standard hobby R/C transmitters multiplex up to 9 channels of PWM servo data into a single PPM signal which is encoded onto an FM wave for transmission, this signal is then decoded by the RF section of the R/C receiver back into the original PPM signal containing 9 servo position PWM values. This signal is normally then sent to a demultiplexer (i.e. 4017) where it is separated into 9 individual servo signals on 9 individual pins. The Paparazzi autopilot intercepts the signal between the RF section and the demultiplexer and does its own demultiplexing, filtering, and processing before multiplexing the manual or autonomous servo commands back into a single signal and passing them to the 4017 to be distributed to the servos.<br />
<br />
==Why does Paparazzi tap directly into the R/C receiver instead of using individual servo signals?==<br />
:By connecting directly to the RF section of the R/C receiver we are able to obtain up to 9 channels of R/C servo data from a small, lightweight inexpensive 4 channel receiver with only 3 wires needed to connect the components. Furthermore, the autopilot then has direct access to the raw R/C signal where it can be filtered, evaluated, and assessed for quality. The autopilot can then alert the user of any loss of R/C signal as well as perform any pre-configured autonomous commands in response to a loss of signal.<br />
<br />
==Are PCM or 2.4GHz R/C systems compatible with Paparazzi?==<br />
:Yes. Some receivers have the signal available for tapping into the input pin with success and can thus be modified to get the required PPM signal. A general rule of thumb is that if you see any type of demultiplexer on your R/C receiver, you can look up the data sheet for it and likely tap into the input pin with success. Some information on compatible R/C receivers and how to find the PPM signal of your own receiver is given in the [[Other_Hardware#R.2FC_Receiver|RC receiver]] section.<br />
If that's not possible, you can use the available PPM encoder board, to re-multiplex the servo channels into one PPM signal. This seems to a common solution.<br />
<br />
==What R/C transmitters are compatible?==<br />
:No mixing or programming is done in the transmitter so even the simplest models will suffice but one important requirement is a 3-position switch to select among the three autopilot modes: manual, stabilized, and auto. Those handy with electronics can replace a dial with a switch and resistor if needed. The transmitter's PPM values need to be recorded and the channel used to control the autopilot mode must be stated. Some commonly used transmitter configuration files are provided in the [http://cvs.savannah.gnu.org/viewvc/paparazzi/paparazzi3/conf/radios/ conf/radios] folder and the syntax of these files is easy to follow for those using other brands or models.<br />
<br />
==Can a gamepad/joystick be used to control the aircraft through the modem?==<br />
:Yes, the code to do this was written some time ago though it was not tested in flight due to latency concerns with the primitive [[Modems#Coronis_WaveCard|Coronis]] modems used at the time. Any of the [[modems]] currently recommended should work well in this manner but the theoretical reliability is still questionable due to the fact that no interrupt or prioritization structure exists for the telemetry data so any manual control inputs would be lumped in with the rest of the data to be lost or delayed as needed.<br />
<br />
==What do MANUAL/AUTO1/AUTO2 stand for?==<br />
:Those are the three modes that Paparazzi can operate in. MANUAL is the transparent mode and only does PPM pass-trough. AUTO1 is stabilized flight, the autopilot will keep the airframe level and stabilized; RC commands are overlaid. AUTO2 is fully autonomous stabilization and navigation.<br />
<br />
==What Motor Controllers (ESC) are compatible?==<br />
:Any controller can be used, the exact PWM value that is sent to the controller for 0-100% throttle is completely configurable in the airframe file so all controllers are compatible and any controller will arm properly with or without the use of an R/C transmitter. Upon each boot, the autopilot immediately sends whatever you have defined as 0% throttle (typically around 1200ms) and maintains that signal until a manual or autonomous command is given. Most modern controllers are "auto calibrating" which is an undesirable feature for R/C pilots and even more so for autonomous systems but can be dealt with. The calibration is done by defining the PWM value at boot to be 0% power and then defining some initial arbitrary mid-range value such as 1500ms to be 100% until a higher value is seen. The net result of this behavior is that the motor is given full power at any command above 50% throttle until 100% throttle has actually been commanded at least once. This is not an issue for planes that routinely take off at 100% throttle but can disrupt the throttle tuning and altitude control on any flights where 100% throttle has never been commanded. Castle Creations controllers can be configured for "fixed endpoints" which permanently sets the range to 1250-1850ms providing a consistent and predictable throttle response.<br />
<br />
==Can traditional throttle stick programming be done on the ESC once connected to the autopilot?==<br />
:Yes. If the transmitter is on with the throttle at full or whatever is required for your ESC when the autopilot is first booted, the autopilot will immediately see the manual control signal and the throttle position and pass that along to the ESC as the first value, triggering the programming mode.<br />
<br />
==Does Paparazzi support digital servos?==<br />
:Of course. Digital servos use exactly the same electrical interface as their analog counterparts, the only difference being in the way they control the motor. Analog servos use a '''P'''roportional feedback loop, meaning the voltage sent to the motor is proportional to the difference between the measured and intended position of the arm. Digital servos use a '''P'''roportional + '''D'''erivative ('''PD''') feedback loop. The derivative term considers the current speed and direction of the servo as well as the speed and direction of the pilot's stick command. The derivative term will increase power to the motor if the servo is moving the wrong direction (providing faster direction changes) and will reduce/reverse power if the servo is near it's desired position but moving too fast (reducing overshoot). The net effect of this is that a digital servo can use a much stronger '''P''' term without risk of oscillation and overshoot because the '''D''' term is there to intelligently dampen it as needed and boost it whenever it can.<br />
:How does the inclusion of a '''D''' term make an analog servo become digital? Analog servos use a simple opamp to linearly relate the motor voltage to the difference between the potentiometer reading and PWM signal, whereas digital servos use a microprocessor to analyze the potentiometer position and velocity as well as the current and recent PWM signals to calculate the optimum voltage to send to the motor. <br />
:'''Important:''' Please be aware that autonomous flight involves ''continuous'' movement of all servos. Make sure your power supply is capable of handling this and that your servos are capable of continuous operation without overheating - especially if you use digital servos.<br />
<br />
==Can I solder wires directly to the autopilot instead of using the molex connectors?==<br />
:Yes. All of the molex headers are thru-hole and you can easily solder small gauge wire directly to the pins that protrude from these headers on the back of the board. It's important to note that '''standard servo wire cannot be soldered reliably''' in this fashion - you must use only high-grade wire intended for soldering (no vinyl insulation!). Direct soldering is not recommended and has never been attempted by any users, but it is possible in theory. See the [[Other_Hardware#Wiring|Wiring]] section for suggested wire types and sources and please don't attempt this without excellent soldering skills and high quality wiring.<br />
<br />
|}</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=FAQ&diff=5408FAQ2009-08-26T16:46:40Z<p>Hoepfel: Added explanation for AUTO1/AUTO2</p>
<hr />
<div><noinclude><br />
{| width="100%" style="border: solid 2px #A3B1BF; background: #F5FAFF" |<br />
|-<br />
| <br />
<h2 style="background-color:#cedff2; border-bottom:0px; border: 1px solid #a3b0bf; text-align:center; padding-top:4px;">Paparazzi FAQ<br />
</h2></noinclude><br />
<br/><!--TOC spacing--><br />
__NOTOC__ __TOC__<br />
<br />
==Is it possible to __________?==<br />
:Yes, of course! That's the beauty of an open-source system - virtually any feature or function you want can be added to the hardware and/or software.<br />
<br />
==What equipment and components are suggested==<br />
:Linux (Debian or Ubuntu) compatible notebook computer, preferably with a very bright screen for outdoor use.<br />
:Most any airframe that will accommodate IR sensors and some extra weight and wiring - ''brushless motors are strongly suggested.'' See the [[Gallery|User's Gallery]] for some airframe examples.<br />
:[[Autopilots|Tiny]] autopilot from one of the [[Get_Hardware|Paparazzi vendors]] or build your own from the downloadable plans/gerbers<br />
:[[Infrared_Sensors|IR sensor (x-y)]] board from one of the [[Get_Hardware|Paparazzi vendors]] or [http://www.fmadirect.com/detail.htm?item=1778&section=20 FMA Direct P/N: CPD4SENUNIT]<br />
:[[Infrared_Sensors|IR sensor (z)]] board from one of the [[Get_Hardware|Paparazzi vendors]] or [http://www.fmadirect.com/Detail.htm?item=1888&section=49 FMA Direct P/N:FS8ZS]<br />
:R/C Transmitter with a 3-position switch for selecting Manual/Stabilized/Auto. Some common models are listed in [http://cvs.savannah.gnu.org/viewvc/paparazzi/paparazzi3/conf/radios/ conf/radios]<br />
:R/C Receiver with an accessible PPM signal to tap. See: [[Other_Hardware#R.2FC_Receiver|Suggested R/C receivers]]<br />
:A pair of [[Modems]] along with any enclosures and antennas<br />
:[http://www.mouser.com/search/ProductDetail.aspx?R=TTL-232R-3V3virtualkey62620000virtualkey626-DLP-TTL-232R-3V3 FTDI USB-TTL] cable for connecting the modem to your USB port and/or for serial flashing of bootloader code or tunnel access to the GPS receiver<br />
:A standard [http://www.mouser.com/search/ProductDetail.aspx?R=68806-0019virtualkey53830000virtualkey538-68806-0019 Mini-B USB cable] and [http://www.mouser.com/search/productdetail.aspx?R=500075-0517virtualkey53810000virtualkey538-500075-0517 receptacle] for uploading firmware to the autopilot<br />
:Lots of [[Other_Hardware#Wiring|very durable wire, crimpers, and molex pins or pre-crimped wire.]]<br />
<br />
==Are internal combustion engines supported?==<br />
:Yes, not relying solely on inertial measurement, the Paparazzi system is very well suited for aircraft with high vibration levels. Care must be taken to prevent oily exhaust residue buildup on the IR sensors and a simple variable must be added to properly address the special idle/kill needs of an IC engine.<br />
<br />
==Can Paparazzi fly a glider?==<br />
:Sure. Paparazzi uses throttle and pitch to control climb rate but you could easily fit an airspeed sensor and modify the pitch code to maintain airspeed instead.<br />
<br />
==Will the autopilot provide enough 5V power for many/large/digital servos as well as a modem, video TX, etc.?==<br />
:The [[Tiny]] includes a very high capacity and high efficiency switching voltage regulator intended to power servos, modems, video systems and other payloads. Users are strongly urged to use this regulator to power their servos rather than the linear regulator included with most motor controllers. While a linear regulator may be rated for several amps, they require a great deal of cooling and can easily overheat with only a few hundred milliamps of continuous current without cooling. By comparison, the switching regulator included on the Tiny can work continuously at 2A with little or no cooling. It is very important to realize that the servos in any stabilized aircraft will operate continuously and therefore a linear regulator that powers the servos reliably in manual flight may easily overheat in autonomous flight.<br />
<br />
==Do I need a separate battery or regulator to isolate the autopilot, servos, video, modem, etc. from one another?==<br />
:The autopilot processor and sensors are powered by a 3.3V regulator and therefore are rather isolated from voltage fluctuations on the battery or 5V bus.<br />
<br />
==Can I use a Sirf, Trimble, etc. instead of the u-Blox GPS receiver?==<br />
:Yes, but it would require a tremendous amount of work as some of the navigation code is dependent on some of the UBX messages. NMEA does not provide messages in the desired form and substantial calculation would be required for conversion. Any of the other proprietary protocols would work but you would need to write your own protocol handler. u-Blox is one of the most expensive receivers on the market but offers great performance, size, and speed as well as the ability to easily configure the internal Kalman filter parameters to expect significant acceleration in 3-D space - a very important feature. If you find a more capable receiver, let the group know about it, but this is not the place to save $40.<br />
<br />
==Does Paparazzi use DGPS, WAAS, EGNOS, or MSAS?==<br />
:Most modern GPS receivers have the ability to process serial data sent from an external DGPS receiver, but the advent of WAAS/EGNOS has made the early ground-based DGPS transmitters nearly obsolete. The u-Blox GPS receiver supports all common SBAS systems (WAAS, EGNOS, and MSAS), as well as any standard form of external DGPS. It's important to understand that DGPS merely improves the ''accuracy'' of the position estimate by subtracting any static error. The only way to improve the ''precision'' of the GPS is by improving the antenna or the GPS module itself. See [http://en.wikipedia.org/wiki/Accuracy_and_precision Wikipedia:Accuracy and Precsion] for a detailed explanation of these terms.<br />
<br />
==How does the R/C receiver interface with the autopilot?==<br />
:Standard hobby R/C transmitters multiplex up to 9 channels of PWM servo data into a single PPM signal which is encoded onto an FM wave for transmission, this signal is then decoded by the RF section of the R/C receiver back into the original PPM signal containing 9 servo position PWM values. This signal is normally then sent to a demultiplexer (i.e. 4017) where it is separated into 9 individual servo signals on 9 individual pins. The Paparazzi autopilot intercepts the signal between the RF section and the demultiplexer and does its own demultiplexing, filtering, and processing before multiplexing the manual or autonomous servo commands back into a single signal and passing them to the 4017 to be distributed to the servos.<br />
<br />
==Why does Paparazzi tap directly into the R/C receiver instead of using individual servo signals?==<br />
:By connecting directly to the RF section of the R/C receiver we are able to obtain up to 9 channels of R/C servo data from a small, lightweight inexpensive 4 channel receiver with only 3 wires needed to connect the components. Furthermore, the autopilot then has direct access to the raw R/C signal where it can be filtered, evaluated, and assessed for quality. The autopilot can then alert the user of any loss of R/C signal as well as perform any pre-configured autonomous commands in response to a loss of signal.<br />
<br />
==Are PCM or 2.4GHz R/C systems compatible with Paparazzi?==<br />
:Yes. Some receivers have the signal available for tapping into the input pin with success and can thus be modified to get the required PPM signal. A general rule of thumb is that if you see any type of demultiplexer on your R/C receiver, you can look up the data sheet for it and likely tap into the input pin with success. Some information on compatible R/C receivers and how to find the PPM signal of your own receiver is given in the [[Other_Hardware#R.2FC_Receiver|RC receiver]] section.<br />
If that's not possible, you can use the available PPM encoder board, to re-multiplex the servo channels into one PPM signal. This seems to a common solution.<br />
<br />
==What R/C transmitters are compatible?==<br />
:No mixing or programming is done in the transmitter so even the simplest models will suffice but one important requirement is a 3-position switch to select among the three autopilot modes: manual, stabilized, and auto. Those handy with electronics can replace a dial with a switch and resistor if needed. The transmitter's PPM values need to be recorded and the channel used to control the autopilot mode must be stated. Some commonly used transmitter configuration files are provided in the [http://cvs.savannah.gnu.org/viewvc/paparazzi/paparazzi3/conf/radios/ conf/radios] folder and the syntax of these files is easy to follow for those using other brands or models.<br />
<br />
==Can a gamepad/joystick be used to control the aircraft through the modem?==<br />
:Yes, the code to do this was written some time ago though it was not tested in flight due to latency concerns with the primitive [[Modems#Coronis_WaveCard|Coronis]] modems used at the time. Any of the [[modems]] currently recommended should work well in this manner but the theoretical reliability is still questionable due to the fact that no interrupt or prioritization structure exists for the telemetry data so any manual control inputs would be lumped in with the rest of the data to be lost or delayed as needed.<br />
<br />
==What does MANUAL/AUTO1/AUTO2 stand for?==<br />
:Those are the three modes that Paparazzi can operate in. MANUAL is the transparent mode and only does PPM pass-trough. AUTO1 is stabilized flight, the autopilot will keep the airframe level and stabilized; RC commands are overlaid. AUTO2 is fully autonomous stabilization and navigation.<br />
<br />
==What Motor Controllers (ESC) are compatible?==<br />
:Any controller can be used, the exact PWM value that is sent to the controller for 0-100% throttle is completely configurable in the airframe file so all controllers are compatible and any controller will arm properly with or without the use of an R/C transmitter. Upon each boot, the autopilot immediately sends whatever you have defined as 0% throttle (typically around 1200ms) and maintains that signal until a manual or autonomous command is given. Most modern controllers are "auto calibrating" which is an undesirable feature for R/C pilots and even more so for autonomous systems but can be dealt with. The calibration is done by defining the PWM value at boot to be 0% power and then defining some initial arbitrary mid-range value such as 1500ms to be 100% until a higher value is seen. The net result of this behavior is that the motor is given full power at any command above 50% throttle until 100% throttle has actually been commanded at least once. This is not an issue for planes that routinely take off at 100% throttle but can disrupt the throttle tuning and altitude control on any flights where 100% throttle has never been commanded. Castle Creations controllers can be configured for "fixed endpoints" which permanently sets the range to 1250-1850ms providing a consistent and predictable throttle response.<br />
<br />
==Can traditional throttle stick programming be done on the ESC once connected to the autopilot?==<br />
:Yes. If the transmitter is on with the throttle at full or whatever is required for your ESC when the autopilot is first booted, the autopilot will immediately see the manual control signal and the throttle position and pass that along to the ESC as the first value, triggering the programming mode.<br />
<br />
==Does Paparazzi support digital servos?==<br />
:Of course. Digital servos use exactly the same electrical interface as their analog counterparts, the only difference being in the way they control the motor. Analog servos use a '''P'''roportional feedback loop, meaning the voltage sent to the motor is proportional to the difference between the measured and intended position of the arm. Digital servos use a '''P'''roportional + '''D'''erivative ('''PD''') feedback loop. The derivative term considers the current speed and direction of the servo as well as the speed and direction of the pilot's stick command. The derivative term will increase power to the motor if the servo is moving the wrong direction (providing faster direction changes) and will reduce/reverse power if the servo is near it's desired position but moving too fast (reducing overshoot). The net effect of this is that a digital servo can use a much stronger '''P''' term without risk of oscillation and overshoot because the '''D''' term is there to intelligently dampen it as needed and boost it whenever it can.<br />
:How does the inclusion of a '''D''' term make an analog servo become digital? Analog servos use a simple opamp to linearly relate the motor voltage to the difference between the potentiometer reading and PWM signal, whereas digital servos use a microprocessor to analyze the potentiometer position and velocity as well as the current and recent PWM signals to calculate the optimum voltage to send to the motor. <br />
:'''Important:''' Please be aware that autonomous flight involves ''continuous'' movement of all servos. Make sure your power supply is capable of handling this and that your servos are capable of continuous operation without overheating - especially if you use digital servos.<br />
<br />
==Can I solder wires directly to the autopilot instead of using the molex connectors?==<br />
:Yes. All of the molex headers are thru-hole and you can easily solder small gauge wire directly to the pins that protrude from these headers on the back of the board. It's important to note that '''standard servo wire cannot be soldered reliably''' in this fashion - you must use only high-grade wire intended for soldering (no vinyl insulation!). Direct soldering is not recommended and has never been attempted by any users, but it is possible in theory. See the [[Other_Hardware#Wiring|Wiring]] section for suggested wire types and sources and please don't attempt this without excellent soldering skills and high quality wiring.<br />
<br />
|}</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=FAQ&diff=5404FAQ2009-08-26T16:42:07Z<p>Hoepfel: Updates answer to question regarding 2.4 GHz receivers to include PPM encoder board</p>
<hr />
<div><noinclude><br />
{| width="100%" style="border: solid 2px #A3B1BF; background: #F5FAFF" |<br />
|-<br />
| <br />
<h2 style="background-color:#cedff2; border-bottom:0px; border: 1px solid #a3b0bf; text-align:center; padding-top:4px;">Paparazzi FAQ<br />
</h2></noinclude><br />
<br/><!--TOC spacing--><br />
__NOTOC__ __TOC__<br />
<br />
==Is it possible to __________?==<br />
:Yes, of course! That's the beauty of an open-source system - virtually any feature or function you want can be added to the hardware and/or software.<br />
<br />
==What equipment and components are suggested==<br />
:Linux (Debian or Ubuntu) compatible notebook computer, preferably with a very bright screen for outdoor use.<br />
:Most any airframe that will accommodate IR sensors and some extra weight and wiring - ''brushless motors are strongly suggested.'' See the [[Gallery|User's Gallery]] for some airframe examples.<br />
:[[Autopilots|Tiny]] autopilot from one of the [[Get_Hardware|Paparazzi vendors]] or build your own from the downloadable plans/gerbers<br />
:[[Infrared_Sensors|IR sensor (x-y)]] board from one of the [[Get_Hardware|Paparazzi vendors]] or [http://www.fmadirect.com/detail.htm?item=1778&section=20 FMA Direct P/N: CPD4SENUNIT]<br />
:[[Infrared_Sensors|IR sensor (z)]] board from one of the [[Get_Hardware|Paparazzi vendors]] or [http://www.fmadirect.com/Detail.htm?item=1888&section=49 FMA Direct P/N:FS8ZS]<br />
:R/C Transmitter with a 3-position switch for selecting Manual/Stabilized/Auto. Some common models are listed in [http://cvs.savannah.gnu.org/viewvc/paparazzi/paparazzi3/conf/radios/ conf/radios]<br />
:R/C Receiver with an accessible PPM signal to tap. See: [[Other_Hardware#R.2FC_Receiver|Suggested R/C receivers]]<br />
:A pair of [[Modems]] along with any enclosures and antennas<br />
:[http://www.mouser.com/search/ProductDetail.aspx?R=TTL-232R-3V3virtualkey62620000virtualkey626-DLP-TTL-232R-3V3 FTDI USB-TTL] cable for connecting the modem to your USB port and/or for serial flashing of bootloader code or tunnel access to the GPS receiver<br />
:A standard [http://www.mouser.com/search/ProductDetail.aspx?R=68806-0019virtualkey53830000virtualkey538-68806-0019 Mini-B USB cable] and [http://www.mouser.com/search/productdetail.aspx?R=500075-0517virtualkey53810000virtualkey538-500075-0517 receptacle] for uploading firmware to the autopilot<br />
:Lots of [[Other_Hardware#Wiring|very durable wire, crimpers, and molex pins or pre-crimped wire.]]<br />
<br />
==Are internal combustion engines supported?==<br />
:Yes, not relying solely on inertial measurement, the Paparazzi system is very well suited for aircraft with high vibration levels. Care must be taken to prevent oily exhaust residue buildup on the IR sensors and a simple variable must be added to properly address the special idle/kill needs of an IC engine.<br />
<br />
==Can Paparazzi fly a glider?==<br />
:Sure. Paparazzi uses throttle and pitch to control climb rate but you could easily fit an airspeed sensor and modify the pitch code to maintain airspeed instead.<br />
<br />
==Will the autopilot provide enough 5V power for many/large/digital servos as well as a modem, video TX, etc.?==<br />
:The [[Tiny]] includes a very high capacity and high efficiency switching voltage regulator intended to power servos, modems, video systems and other payloads. Users are strongly urged to use this regulator to power their servos rather than the linear regulator included with most motor controllers. While a linear regulator may be rated for several amps, they require a great deal of cooling and can easily overheat with only a few hundred milliamps of continuous current without cooling. By comparison, the switching regulator included on the Tiny can work continuously at 2A with little or no cooling. It is very important to realize that the servos in any stabilized aircraft will operate continuously and therefore a linear regulator that powers the servos reliably in manual flight may easily overheat in autonomous flight.<br />
<br />
==Do I need a separate battery or regulator to isolate the autopilot, servos, video, modem, etc. from one another?==<br />
:The autopilot processor and sensors are powered by a 3.3V regulator and therefore are rather isolated from voltage fluctuations on the battery or 5V bus.<br />
<br />
==Can I use a Sirf, Trimble, etc. instead of the u-Blox GPS receiver?==<br />
:Yes, but it would require a tremendous amount of work as some of the navigation code is dependent on some of the UBX messages. NMEA does not provide messages in the desired form and substantial calculation would be required for conversion. Any of the other proprietary protocols would work but you would need to write your own protocol handler. u-Blox is one of the most expensive receivers on the market but offers great performance, size, and speed as well as the ability to easily configure the internal Kalman filter parameters to expect significant acceleration in 3-D space - a very important feature. If you find a more capable receiver, let the group know about it, but this is not the place to save $40.<br />
<br />
==Does Paparazzi use DGPS, WAAS, EGNOS, or MSAS?==<br />
:Most modern GPS receivers have the ability to process serial data sent from an external DGPS receiver, but the advent of WAAS/EGNOS has made the early ground-based DGPS transmitters nearly obsolete. The u-Blox GPS receiver supports all common SBAS systems (WAAS, EGNOS, and MSAS), as well as any standard form of external DGPS. It's important to understand that DGPS merely improves the ''accuracy'' of the position estimate by subtracting any static error. The only way to improve the ''precision'' of the GPS is by improving the antenna or the GPS module itself. See [http://en.wikipedia.org/wiki/Accuracy_and_precision Wikipedia:Accuracy and Precsion] for a detailed explanation of these terms.<br />
<br />
==How does the R/C receiver interface with the autopilot?==<br />
:Standard hobby R/C transmitters multiplex up to 9 channels of PWM servo data into a single PPM signal which is encoded onto an FM wave for transmission, this signal is then decoded by the RF section of the R/C receiver back into the original PPM signal containing 9 servo position PWM values. This signal is normally then sent to a demultiplexer (i.e. 4017) where it is separated into 9 individual servo signals on 9 individual pins. The Paparazzi autopilot intercepts the signal between the RF section and the demultiplexer and does its own demultiplexing, filtering, and processing before multiplexing the manual or autonomous servo commands back into a single signal and passing them to the 4017 to be distributed to the servos.<br />
<br />
==Why does Paparazzi tap directly into the R/C receiver instead of using individual servo signals?==<br />
:By connecting directly to the RF section of the R/C receiver we are able to obtain up to 9 channels of R/C servo data from a small, lightweight inexpensive 4 channel receiver with only 3 wires needed to connect the components. Furthermore, the autopilot then has direct access to the raw R/C signal where it can be filtered, evaluated, and assessed for quality. The autopilot can then alert the user of any loss of R/C signal as well as perform any pre-configured autonomous commands in response to a loss of signal.<br />
<br />
==Are PCM or 2.4GHz R/C systems compatible with Paparazzi?==<br />
:Yes. Some receivers have the signal available for tapping into the input pin with success and can thus be modified to get the required PPM signal. A general rule of thumb is that if you see any type of demultiplexer on your R/C receiver, you can look up the data sheet for it and likely tap into the input pin with success. Some information on compatible R/C receivers and how to find the PPM signal of your own receiver is given in the [[Other_Hardware#R.2FC_Receiver|RC receiver]] section.<br />
If that's not possible, you can use the available PPM encoder board, to re-multiplex the servo channels into one PPM signal. This seems to a common solution.<br />
<br />
==What R/C transmitters are compatible?==<br />
:No mixing or programming is done in the transmitter so even the simplest models will suffice but one important requirement is a 3-position switch to select among the three autopilot modes: manual, stabilized, and auto. Those handy with electronics can replace a dial with a switch and resistor if needed. The transmitter's PPM values need to be recorded and the channel used to control the autopilot mode must be stated. Some commonly used transmitter configuration files are provided in the [http://cvs.savannah.gnu.org/viewvc/paparazzi/paparazzi3/conf/radios/ conf/radios] folder and the syntax of these files is easy to follow for those using other brands or models.<br />
<br />
==Can a gamepad/joystick be used to control the aircraft through the modem?==<br />
:Yes, the code to do this was written some time ago though it was not tested in flight due to latency concerns with the primitive [[Modems#Coronis_WaveCard|Coronis]] modems used at the time. Any of the [[modems]] currently recommended should work well in this manner but the theoretical reliability is still questionable due to the fact that no interrupt or prioritization structure exists for the telemetry data so any manual control inputs would be lumped in with the rest of the data to be lost or delayed as needed.<br />
<br />
==What Motor Controllers (ESC) are compatible?==<br />
:Any controller can be used, the exact PWM value that is sent to the controller for 0-100% throttle is completely configurable in the airframe file so all controllers are compatible and any controller will arm properly with or without the use of an R/C transmitter. Upon each boot, the autopilot immediately sends whatever you have defined as 0% throttle (typically around 1200ms) and maintains that signal until a manual or autonomous command is given. Most modern controllers are "auto calibrating" which is an undesirable feature for R/C pilots and even more so for autonomous systems but can be dealt with. The calibration is done by defining the PWM value at boot to be 0% power and then defining some initial arbitrary mid-range value such as 1500ms to be 100% until a higher value is seen. The net result of this behavior is that the motor is given full power at any command above 50% throttle until 100% throttle has actually been commanded at least once. This is not an issue for planes that routinely take off at 100% throttle but can disrupt the throttle tuning and altitude control on any flights where 100% throttle has never been commanded. Castle Creations controllers can be configured for "fixed endpoints" which permanently sets the range to 1250-1850ms providing a consistent and predictable throttle response.<br />
<br />
==Can traditional throttle stick programming be done on the ESC once connected to the autopilot?==<br />
:Yes. If the transmitter is on with the throttle at full or whatever is required for your ESC when the autopilot is first booted, the autopilot will immediately see the manual control signal and the throttle position and pass that along to the ESC as the first value, triggering the programming mode.<br />
<br />
==Does Paparazzi support digital servos?==<br />
:Of course. Digital servos use exactly the same electrical interface as their analog counterparts, the only difference being in the way they control the motor. Analog servos use a '''P'''roportional feedback loop, meaning the voltage sent to the motor is proportional to the difference between the measured and intended position of the arm. Digital servos use a '''P'''roportional + '''D'''erivative ('''PD''') feedback loop. The derivative term considers the current speed and direction of the servo as well as the speed and direction of the pilot's stick command. The derivative term will increase power to the motor if the servo is moving the wrong direction (providing faster direction changes) and will reduce/reverse power if the servo is near it's desired position but moving too fast (reducing overshoot). The net effect of this is that a digital servo can use a much stronger '''P''' term without risk of oscillation and overshoot because the '''D''' term is there to intelligently dampen it as needed and boost it whenever it can.<br />
:How does the inclusion of a '''D''' term make an analog servo become digital? Analog servos use a simple opamp to linearly relate the motor voltage to the difference between the potentiometer reading and PWM signal, whereas digital servos use a microprocessor to analyze the potentiometer position and velocity as well as the current and recent PWM signals to calculate the optimum voltage to send to the motor. <br />
:'''Important:''' Please be aware that autonomous flight involves ''continuous'' movement of all servos. Make sure your power supply is capable of handling this and that your servos are capable of continuous operation without overheating - especially if you use digital servos.<br />
<br />
==Can I solder wires directly to the autopilot instead of using the molex connectors?==<br />
:Yes. All of the molex headers are thru-hole and you can easily solder small gauge wire directly to the pins that protrude from these headers on the back of the board. It's important to note that '''standard servo wire cannot be soldered reliably''' in this fashion - you must use only high-grade wire intended for soldering (no vinyl insulation!). Direct soldering is not recommended and has never been attempted by any users, but it is possible in theory. See the [[Other_Hardware#Wiring|Wiring]] section for suggested wire types and sources and please don't attempt this without excellent soldering skills and high quality wiring.<br />
<br />
|}</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&diff=5400Installation/Linux2009-08-26T16:34:43Z<p>Hoepfel: </p>
<hr />
<div>Precompiled binaries can be downloaded and executed with the ''paparazzi-bin'' package but to maintain the power and flexibility of open-source code, most operations within Paparazzi involve recompilation of autopilot and/or ground station code. Therefore the typical installation requires all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package.<br />
<br />
The Paparazzi sources are hosted by [https://savannah.nongnu.org/svn/?group=paparazzi Savannah]. The Paparazzi packages are hosted at the [http://www.recherche.enac.fr/paparazzi/debian ENAC repository].<br />
<br />
Please note that it is entirely possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, Mac OS X, Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.<br />
<br />
== Installation on Debian based distributions ==<br />
<br />
Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.<br />
<br />
=== Installation from the Command Line===<br />
Just add the following lines to your repository list (<b>/etc/apt/sources.list</b>) and then<br />
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):<br />
<br />
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:<br />
<br />
gksudo gedit /etc/apt/sources.list<br />
<br />
{{Box Code|/etc/apt/sources.list|<br />
# Uncomment just _one_ of the following lines - depending on your OS version<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> etch main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> lenny main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> gutsy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> hardy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> intrepid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> jaunty main<br />
}}<br />
<br />
Then, update your sources and '''either''' install the precompiled <b>bin</b>aries<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-bin<br />
<b>or</b> the dependencies needed for recompiling from the source (<b>dev</b>), and the cross-compiler (<b>arm7</b>) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev<br />
sudo apt-get install paparazzi-arm7<br />
<br />
It is not recommended to install both <tt>paparazzi-bin</tt> <b>and</b> <tt>paparazzi-dev</tt>. While the <b>bin</b> package is self-contained and should be sufficient for users who do not want to patch the code, the <b>dev</b> meta-package provides only the tools to compile the source code which must be separately downloaded, from an archive or the SVN repository.<br />
<br />
Note: The ivy-python package now among the dependencies of paparazzi-dev is provided by [https://launchpad.net/~uce-launchpad/+archive/ppa Allen Ibara] and available from his repository.<br />
<br />
==== Optional/Obsolete Packages ====<br />
Users of older AVR based boards will also need the paparazzi-avr package.<br />
<br />
==== Extra for Ubuntu ====<br />
<br />
The Braille TTY driver interferes with FTDI USB Serial adapters and should be removed:<br />
<br />
sudo apt-get remove brltty<br />
<br />
=== Installation thru Synaptic Package Manager ===<br />
* Launch ''Synaptic Package Manager'' (''Applications/System'' Tools Menu)<br />
* In '''Settings/Repositories''', add a new repository on URI = '''<nowiki>http://paparazzi.enac.fr/debian</nowiki>''', Distribution = '''etch''', Section = '''main''' . For Ubuntu, replace '''debian''' by '''ubuntu''' and '''etch''' by '''gutsy''' (or '''hardy''')<br />
* Search for <tt>paparazzi-bin</tt>, <tt>paparazzi-dev</tt>, and <tt>paparazzi-arm7</tt> packages (use the ''Search'' button)<br />
* Mark them for installation (right-click on package names)<br />
* Left-click on ''Apply''<br />
<br />
== Manual Installation of Individual Packages ==<br />
Users of other Linux flavors or anyone needing manual control of each individual package can install them independently. The list of dependencies of the Debian package is located in the [http://cvs.savannah.gnu.org/viewvc/paparazzi/paparazzi3/debian/control.etch?revision=1.16&view=markup <tt> debian/control.etch</tt>] file and may help users of other distributions.<br />
<br />
The binary packages and some corresponding source tarballs can be downloaded from<br />
<br />
http://paparazzi.enac.fr/debian/dists/etch/main/binary-i386/<br />
<br />
For distributions using RPM packaging, the [http://packages.debian.org/unstable/source/alien alien] tool can be used to translate a .deb package into a .rpm package.<br />
<br />
For Fedora (Core8) users, you can install the following packages from standard repository:<br />
* ocaml.i386<br />
* ocaml-camlimages-devel.i386<br />
* ocaml-lablgtk-devel.i386<br />
* ocaml-xml-light-devel.i386<br />
* boa.i386<br />
* libgnomecanvas-devel.i386<br />
* libusb-devel.i386<br />
* pcre-devel.i386<br />
* arm-gp2x-linux-gcc.i386<br />
* arm-gp2x-linux-binutils.i386<br />
* glade2.i386<br />
* and gcc, make, cvs, gnuplot, imagemagik...<br />
<br />
Then you need [http://packages.debian.org/unstable/source/alien alien] tool to convert packages from the paparazzi repository:<br />
* ivy-c<br />
* ivy-c-dev<br />
* ivy-ocaml (WARNING: debian and fedora have different path for ocaml (/usr/lib/ocaml/<version> vs. /usr/lib/ocaml), so you need to move by hand the files in /usr/lib/ocaml/<version> to /usr/lib/ocaml)<br />
* lpc21isp<br />
<br />
== Installing the Source Code (not needed with paparazzi-bin) ==<br />
After the <tt>paparazzi-dev</tt> package is installed the complete source code should be downloaded from the Subversion repository. See the [http://savannah.nongnu.org/svn/?group=paparazzi project page] at Savannah for more details. From the directory of your choice type:<br />
svn co svn://svn.savannah.nongnu.org/paparazzi/paparazzi3/trunk paparazzi3<br />
or if you are behind a firewall with an http proxy available:<br />
svn co http://svn.savannah.gnu.org/svn/paparazzi/paparazzi3/trunk paparazzi3<br />
after configuration of your proxy in the <tt>~/.subversion/servers</tt> file<br />
<br />
This will download all of the code and install it into <tt>paparazzi3/</tt><br />
<br />
If you cannot use the Subversion install, daily updated tarballs can also be fetched from the [[Downloads|Downloads]] page.<br />
<br />
== Launching the Software ==<br />
<br />
If you are using the <tt>paparazzi-bin</tt> package or the Live-CD, just launch the <tt>paparazzi</tt> binary application and you will be guided through the installation of your personal configuration files.<br />
<br />
If you are using the source code, the first step is to compile it. From the <tt>paparazzi3</tt> directory (<tt>cd paparazzi3</tt>), run<br />
<br />
make<br />
<br />
You will have to run this command after each update of the source (<tt>cvs update</tt> command).<br />
Launch the software from the <tt>paparazzi3</tt> directory with<br />
<br />
./paparazzi<br />
<br />
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''MJ5'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The prcedure is detailed in the [[Simulation]] page.<br />
<br />
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:<br />
{{Box Code|/home/your_username/.bashrc|<br />
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
}}<br />
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:<br />
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`<br />
Verify that your variables are set correctly with the following command:<br />
env | grep PAPARAZZI<br />
which should return the following:<br />
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi3 directory''<br />
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi3 directory''<br />
<br />
== Setting access rights for USB download ==<br />
<br />
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].<br />
<br />
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev "group" and then create a "rule", associated with that "group". <br><br />
Make yourself a member of the ''plugdev'' group:<br />
<br />
sudo adduser <your login> plugdev<br />
<br />
Logout and login again. Then add the appropriate rule (available ine fhe file ''10-paparazzi.rules'') to the USB handler. Simply copy as root <tt>$PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules</tt> to <tt>/etc/udev/rules.d/</tt><br />
<br />
sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/<br />
<br />
== Software Updates ==<br />
Paparazzi is a very rapidly evolving project and as such, you will find that variables and functions are frequently added, changed, or removed. Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. Your airframe file will not be updated by the Subversion (SVN) system and therefore any new or modified variable names will need to be added manually. The compiler will usually identify the problem variables at which point you can look at some of the most recent airframe files on SVN to find the proper syntax. See the [[Compiling]] page for more help if needed.<br />
<br><br />
That said, keeping your software up to date is easy with the Subversion system. The system will compare all source code files with the server and update any that are needed, automatically merging any minor changes that you have incorporated along the way.<br />
<br />
To download and automatically merge any updated source files, run the following command from your Paparazzi directory<br />
svn update<br />
<br />
'''If you still use CVS (not updated anymore) run'''<br />
cvs update -d<br />
where the <tt>-d</tt> is needed to get any new directories.<br />
<br />
After any SVN update or source code modification the code can be recompiled from ''your paparazzi3 directory'' with the following command:<br />
<br />
make<br />
<br />
The ''make'' command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:<br />
<br />
make clean<br />
make<br />
<br />
See the [[Compiling]] page for more info.<br />
<br />
Users making changes to their code structure may prefer to have more control over the updating and merging process and may wish to install and use '''tkcvs''' instead which provides highlighted comparisons of any files that differ between your code and the CVS server and allows for a file by file update.<br />
<br />
To update your Linux distribution as well as any dependencies of Paparazzi (seldom necessary), run the following as root:<br />
<br />
sudo apt-get update<br />
sudo apt-get upgrade<br />
<br />
== LiveCd ==<br />
<br />
The LiveCD is an easy way to test Paparazzi: no installation is required and no changes are made to your computer. Simply burn the image as a boot CD and reboot! The LiveCD includes Linux and the complete paparazzi binary package (code source, tools and cross compilers). It is intended for demonstration only and not frequently updated but it contains the complete system and can store changed files on a pen drive or compressed file on your hard drive so that it can compile, flash, and operate any aircraft, albeit slowly. <br />
<br />
The CD image and a howto on [[Using the Boot CD]] is available from the [[Downloads|Downloads]] page.<br />
<br />
The Paparazzi demo is launchable on the Live CD from the Paparazzi icon.<br />
<br />
Knoppix allows for all the user data to be saved on a hard disk partition (most file systems are supported) or on a removable device (typically a USB pendrive). Note that this action is not destructive: the user data tree is compressed and stored on your file system as a single file (<tt>knoppix.img</tt>).<br />
* From the Knoppix menu (second from bottom left), choose '''Configure''', '''Create a persistent KNOPPIX disk image'''<br />
* Choose your media (be sure to connect your USB pendrive before booting!)<br />
* Choose if you want an encrypted filesystem (to protect your flight plan designed for the next MAV competition :-) )<br />
* Choose the size of your home directory (100Mb is recommended)<br />
On the next reboot, this saved state will be automatically located and loaded.<br />
<br />
Using this persistent feature, the Paparazzix Live CD can really be used to configure, simulate and fly an aircraft with the Paparazzi system.<br />
<br />
The Live CD can also be used to install a Debian system on the hard disk, using the <tt>knoppix-installer</tt> command. Be sure to backup the hard disk before trying ...<br />
<br />
<br />
[[Image:Lightscribe_CD_Cover_1.JPG|thumb|320px|LightScribe CD Cover]] A LiveCD needs some looks... In color or in LightScribe format, your CD will always look cool. <br />
* Get the PDF version for download here [http://paparazzi.enac.fr/wiki_images/Lightscribe_CD_Cover_1.pdf LightScribe CD Cover 1].<br />
<br />
* The LightScribe version is in Nero Cover Design format (.ncd) and it's here for download [http://paparazzi.enac.fr/wiki_images/Lightscribe_CD_Cover_1.zip LightScribe CD Cover 1]<br />
<br />
* Better is of course to use it on an OpenSource OS, some Linux software to be found here: [http://www.lightscribe.com/downloadSection/linux/index.aspx?id=815]</div>Hoepfelhttp://wiki.paparazziuav.org/w/index.php?title=Users&diff=5295Users2009-08-05T12:49:49Z<p>Hoepfel: /* Europe */</p>
<hr />
<div>Please add yourself to this list if you wish to share who you are and what you are doing with Paparazzi<br />
<br />
==Need help adding your information?==<br />
To have your information added by another paparazzi user, please send me an [http://www.rcgroups.com/forums/showpost.php?p=6575288&postcount=1 EMAIL] at with the <br />
following:<br />
<br />
*Name<br />
*Email<br />
*Location<br />
*Hardware<br />
*Join date<br />
*Current activities / project status<br />
<br />
== Wiki pages ==<br />
add a link to your users wiki page.<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Dconger Dconger]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:MarcusWolschon MarcusWolschon]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Alfamyke Alfamyke]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Danstah Danstah]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Martinmm Martinmm]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:John_Burt John Burt]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:SilaS SilaS]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Mecevans Mecevans]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU-FCUAV]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:GPH Pierre-Selim]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Martinpi martinpi]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:VAMK VAMK]<br />
<br />
[http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison]<br />
<br />
==Asia==<br />
<br />
Hello,<br />
Please add me up to the users list in the wiki page of paparazzi project.<br />
<br />
* Name Shubham Agarwal<br />
* Email shubhamearly@gmail.com<br />
* Location Trivandrum, INDIA<br />
* Hardware Assembled Tiny V 2.11 from PPZUAV<br />
* Join date 1 Aug,2009<br />
* Current activities / project status Getting started<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
|+ Asia<br />
|-<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status <br />
|- style="background:bisque; color:black"<br />
| [mailto:mnwxiaobao@gmail.com MNW]|| China || Tiny2.11 ||| 2009 || Just starting,having troubles with parts.<br />
|- style="background:bisque; color:black"<br />
| [mailto:mundhra@gmail.com M Mundhra] || India || Tiny 1.3 ||| 2007 || Gain tuning on a flying wing configuration airframe <br />
|- style="background:bisque; color:black"<br />
| [mailto:ngkiangloong_at_hopetechnik.com Jianlun]|| Singapore || TWOG V1 ||| 2008 || trying to get TWOG onto an EasyStar. very much a newbie!<br />
|- style="background:bisque; color:black"<br />
| [mailto:praxmail@gmail.com prashanth] || India || Tiny 2.11 ||| 2008 || 6 autonomous flights till now, currently build a new wing like funjet <br />
|- style="background:bisque; color:black"<br />
| [mailto:spencerpangborn@gmail.com spencer] || Taipei, Taiwan || none ||| 2009 || research for now, hope to take aerial photos of Taipei City soon <br />
|}<br />
<br />
==Europe==<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
<br />
<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status <br />
|- style="background:bisque; color:black"<br />
| [mailto:silas_at_silas.hu SilaS] || Budapest || Tiny 1.3 ||| 2007 || Applied tiny to GWS Estarter, finished long travels in AUTO2. Now transfert it to a Twinstar and working on pairing tiny with FPV.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:st.jr_at_gmx.at TomS] || Graz, Austria || Tiny 2.11 ||| 2008 || Starting to complete the wiring for the tiny and then trying to apply it to my TwinStar II.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:markggriffin_at_gmail.com MarkG] || Geneva, Switzerland || Modified Tiny 2.11, EeePC as GCS, Multiplex FunJet ||| 2008 || Many successful flights. <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:x-microdrones@2007.polytechnique.org X-MicroDrones] || Paris, France || Tiny 2.11, Quad-Tilt-Rotor VTOL ||| 2008 || Wiring completed, first flights soon... We're trying to adapt Paparazzi to a Quad-Tilt-Rotor VTOL able to perform both airplane-like and helicopter-like flights. Working on inertial measurement units implementation. <br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:MarcusWolschon|Marcus Wolschon]] || Freiburg, Germany || Gumstix, Paraplane ||| 2008 || Porting Paparazzi to Linux-Userland with UDP-communication using mesh-networking.<br />
UDP-Downlink working, GPS via GPSD working, Pararazzi in Linux working, Hardware still RC-only due to sensor-soldering-issues<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:spam1_at_marzer.com CedricM] || Geneva, Switzerland || Tiny 2.11, Multiplex FunJet with video camera ||| 2008 || Many successful flights working on an osd module and weather probes. <br />
<br />
|- style="background:bisque; color:black"<br />
| [[ email = hendrix at vivodinet dot gr| Chris Efstathiou]] || Piraeus Hellas || tiny 2.11 on a Mpx EasyGlider, TWOG 1.3 on a Boomerang turbine jet ||| 2008 || The Easyglider is fully operational, still working on the jet which had his first flight with the TWOG at 25/1/2009 <br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:Flixr|FelixR]] || Edinburgh, Scotland || Booz2 quadrotor ||| 2008 || remote controlled flight, working on Kalman Filter<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:azoreanuav_at_gmail.com Rui Costa] || Azores, Portugal || Outrunner Twinstar II with Tiny 2.11, Aerocomm datalink, 1W video tx ||| 2008 || Only ground test and software configuration.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:et@onyxnet.co.uk Alan K] || Middlesbrough, England || Tiny 2.11 & MaxStream ||| 2008 || Just starting.<br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:G R|Gareth R]] || Sheffield, UK || Tiny 2.11, video, bunch of helicopters, pair of homebuilt Zagi's ||| 2008 || Telemetry flights finished, starting to tune. <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:sanarlab@yandex.ru Andrew Saenko] || Russia, St-Petersburg || Tiny 1.13, Tiny 2.11, 2.5 kg motorised glider, 800 g plane ||| 2007 || Automatic flight, adding own code.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:chebuzz_at_gmail.com David "Buzz" Carlson] || Cyprus || Tiny 2.11, Lynx EDF & GWS SloStick, 9XTend datalink ||| 2008 || Quite a few AUTO2 flights. Plane currently grounded due to a TX run-in with a 1 year-old. Currently working on getting new TX and completing CBP store setup.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:muralha_at_gmail.com Nuno Guedes] || Lamego, Portugal || Tiny 2.11 || 2008 || Starting<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:Martinpi Martin Piehslinger] || Vienna, Austria || Tiny 2.11 || 2008 || just starting<br />
<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:kostalexis@ece.upatras.gr AneMos-Group] || Patras, Greece || Tiny 2.11, Quadrotor VTOL ||| 2008 || Working on IMU, Trying to implement Constrained Control for the quadrotor trajectory flight<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:VAMK Allan Ojala (VAMK)] || Vaasa, Finland || TWOG, with AC4790 radio and LEA-5H GPS ||| 2009 || Just constructed my own first RC airplane SIG KADET.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:maik.hoepfel_at_web.de Maik Hoepfel] || Berlin, Germany || TWOG, Graupner Elektro Trainer S, Futaba 9C 35 Mhz ||| August 2009 || Getting started, planning to eventually use Paparazzi for a powered parachute<br />
<br />
|- style="background:bisque; color:black"<br />
| New User || 1 || 2 ||| 3 || 4 <br />
|}<br />
<br />
==North America==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
|-<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:pauldanielcox_at_gmail_dot_com Paul Cox] <br />
|Vancouver, WA [http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=98663&sll=37.0625,-95.677068&sspn=64.664844,101.953125&ie=UTF8&ll=45.606112,-122.643471&spn=0.222411,0.398254&z=12 <span title="Google Map of 98663">98663</span>] <br />
| Tiny v2.11 || Nov. 2008 || GWS Slow Stick flying in AUTO2 reliably. Starting on stabilized video and payload drops Skype: pauldanielcox Gtalk: [use email] <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:quill_at_u.washington.edu John Burt] [http://paparazzi.enac.fr/wiki/User:John_Burt wiki page]|| Portland, Oregon || Tiny v2.11 + LEA-4H (PPZUAV), Multiplex Cularis/Easystar, 9Xtend modem, T7CAP TX, ground station: EEE PC701 and/or Nokia N810 ||| Jan 2009 || Initial flight tests w/ Easystar in AUTO1 & AUTO2.<br />
<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:ogar0007@umn.edu Pat O'Gara] || St. Paul, MN || Tiny 2.11 and TWOG (PPZUAV) |||Oct. 2008 || Completed and flown FunJet and Minimag in Auto 2. Currently rebuilding MiniMag as an improved development platform. <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:kochesj@gvsu.edu John Koches] || Muskegon, Michigan || Tiny 2.11 (PPZUAV) ||| 2007 || currently flying a 48 inch zagi, 80 inch under construction.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:Stdeguir@gmail.com Steve Deguir] || New York,New York || Tiny2.11+LEA-5H (PPZUAV), XbeePro 2.4, Berg4L, JR FMA ||| Feb 2009 || <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:bmw330i@me.com David Conger] || San Diego (Ramona), California || Tiny1.3 (PPZUAV) ||| Sept 2007 || Flying Wing MAV with onboard video. Test platform for the new 900mhz XBPro 900 RF modems.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:mecevans@gmail.com Michael Evans] || Seaside(Monterey Bay), California || Tiny2.11 (PPZUAV) ||| Feb 2009 ||http://www.rcgroups.com/forums/showthread.php?t=1000937. <br />
<br />
|- style="background:bisque; color:black"<br />
| USU AggieAir Remote Sensing || Logan, UT || TWOG (PPZUAV) ||| January 2009 || Building 72" Flying Wings which will be used for remote sensing. Routine autonomous flight.<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://www.engr.usu.edu/wiki/index.php/OSAM USU OSAM-UAV] || Logan, UT || TWOG (PPZUAV) ||| June 2007 || 2x72" 5x48" 1x60" Flying Wings. Research backyard for AggieAir Remote Sensing. Routine autonomous flight.<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU Fuel Cell UAV] || Fort Collins, Co || Tiny 2.11 + LEA-5H (PPZUAV), 2.4Ghz XBPro ||| Mar 2009 || Maiden flight complete Feb 28. New Airframe in development.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:armz12@gmail.com Armen Gharibans] || La Jolla, California || Tiny2.11 (PPZUAV) ||| March 2009 || UCSD Project with Multiplex Mentor. Completed August 2, 2009. Several Successful Auto2 Flights. A LOT of help from David Conger.<br />
<br />
|- style="background:bisque; color:black"<br />
| New User || 1 || 2 ||| 3 || 4 <br />
|}<br />
<br />
==Central America==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status<br />
|- style="background:bisque; color:black"<br />
| [mailto:joschau@comcast.net Joekadet] || David Panama' || Tiny v2.11/LEA-4P, RF Modems XBee Pro 2.4 GHz (PPZUAV). Multiplex Mentor ||| 2008 || Seven flights now. Flights 6 & 7 in Auto2. Now only a matter of fine tuning.<br />
|- style="background:bisque; color:black"<br />
| New User || 1 || 2 ||| 3 || 4 <br />
|}<br />
<br />
<br />
==Australia==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
|-<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status<br />
|- style="background:bisque; color:black"<br />
| [mailto:todd_soaring@yahoo.com.au Todd Sandercock] || Adelaide, SA || Tiny v2.11, Multiplex Twinjet, 9Xtend modems ||| Jan 2008 || Completed successful flight testing. Now designing new airframe. <br />
|- style="background:bisque; color:black"<br />
| [mailto:reubenb87@gmail.com Reuben Brown]|| Gawler, SA || Tiny v2.11 ||| May 2009 || Getting the autopilot set up <br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison] || Neutral Bay, NSW || Tiny v2.11, Vertical + Horizontal IR sensors, XBee PRO modems, Futaba T6EXAP TX, Futaba R136F RX, Funjet, MacBook laptop ||| August 2008 || Configuring before first flight.<br />
|- style="background:bisque; color:black"<br />
| New User || 1 || 2 ||| 3 || 4 <br />
|}<br />
<br />
<br />
==Africa==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status<br />
|- style="background:bisque; color:black"<br />
| [mailto:w1_th@yahoo.com W1th] || South Africa KZN || TWOG V1 ,LEA-5H GPS , RF Modems XBee Pro 868 (CheBuzz) ||| July 2009 || New to this , Got TWOG,GPS etc interfacing with Laptop and working ..Made a website [http://www.best-bargains.co.za/scarf/paparazzi.html SCARF] of my struggle ...<br />
|- style="background:bisque; color:black"<br />
|}</div>Hoepfel