Difference between revisions of "Installation"

From PaparazziUAV
Jump to navigation Jump to search
(Updated to be more generic installation page with links to OS specific pages, based on original Installation page text with linux specific stuff removed)
(redirect to sphinx doc)
 
(92 intermediate revisions by 18 users not shown)
Line 4: Line 4:
== Introduction ==
== Introduction ==


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] or Apple Macintosh running [http://en.wikipedia.org/wiki/OS_X Mac OS X]. There is also work being done to port Paparazzi to Windows.
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] or Apple Macintosh running [http://en.wikipedia.org/wiki/OS_X Mac OS X]. After Microsoft introduced Ubuntu on Windows, now it is possible to run Paparazzi on [https://en.wikipedia.org/wiki/Windows_10 Windows 10]. There is also another work being done to port Paparazzi to Windows with a different approach to work on all versions of Windows.


The steps required to install the software needed to be able to let your UAS fly are:
The steps required to install the software needed to be able to let your UAS fly are:
<ul>
<li>Prepare your operating system of choice for installation.
<li>Install any prerequisites for Paparazzi.
<li>Install all necessary Paparazzi tools.
<li>Download the source code from the source repository.
<li>Complete any final configuration (i.e. for hardware access).
<li>Compile the binaries from the sources.
</ul>


=== OS Specific Instructions ===
# Install tools and prerequisites needed by Paparazzi.
# Download the source code from the source repository.
# Compile the Paparazzi software from sourcecode
# Complete any final configuration


This process varies depending on the operating system you are using. For detailed installation instructions, please see the following pages:
== Quickstart for Ubuntu users ==
*[[Installation/Linux|Installing Paparazzi on Linux]]
 
*[[Installation/MacOSX|Installing Paparazzi on Mac OS X]]
Follow the instructions from the new documentation: https://paparazzi-uav.readthedocs.io/en/latest/quickstart/install.html
 
If all went well the Paparazzi Center should now be running... '''skip the rest of instructions on this page''' and go fly!
 
 
----
 
 
If you are new you'll need to do some more things before you go fly like configuring your XML definition file detailing your airframe configuration. There is help here for that: [[Airframe_Configuration]]
 
In case you have no autopilot hardware yet, no problem, you can get hardware [[Get_Hardware|here]] or just buy a ready to fly aircraft that can run Paparazzi Software like the Parrot Drones [http://www.parrot.com/products/bebop-drone/ Parrot Bebop] and run Paparazzi on your Parrot [[AR_Drone_2|ARDRone2]], [[Bebop|Bebop]] and Bebop2 (soon the Disco drone).
 
== OS Specific Instructions ==
 
For Linux an instructional video explaining it all in detail can be found here https://www.youtube.com/watch?v=eW0PCSjrP78
 
The process of installing the prerequisite tools and dependencies needed by Paparazzi is specific to the operating system you are using. For detailed installation instructions, please see the following pages:
*[[Installation/Linux|Installing prerequisites tools on Linux]]
*[[Installation/MacOSX|Installing prerequisites tools on Mac OS X]]
*[[Installation/RaspberryPi|Installing prerequisites tools on the RaspberryPi (Raspbian)]]


For more advanced installation information or developers, please see the following pages:
For more advanced installation information or developers, please see the following pages:
*[[Installation/Manual|Installing manually]]
*[[Installation/FromScratch|Installing everything from scratch]] For non Debian based Linux distributions or if 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.
*[[Installation/FromScratch|Installing everything from scratch]]
*[[Installation/Windows|Installing prerequisite tools on Windows]] Note that this is '''a work in progress, and not finished yet'''. It would be fantastic if you are interested in running Paparazzi on this OS to help out with the porting. Being able to help is one of opensource software main features. If your skill- set is not so good in this area, but you still insist using Windows OS, then it is best to install a VirtualMachine from within Windows where you run the free Ubuntu OS of choice.
**In very rare occasions one needs to install the tools and third-party libraries used by Paparazzi all from scratch. Sometimes 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.
*[[Installation/Windows|Installing Paparazzi on Windows]] (WORK IN PROGRESS, NOT YET COMPLETE)


=== Virtual Machines ===
=== Virtual Machines ===
Line 34: Line 46:
If you are new and this is your first time installing it is suggested you keep it simple. Use the standard Linux or OS X install. 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 and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Paparazzi or their OS tries a non-standard install that requires special steps that are not documented. Generally, commands can be copied and pasted for easy, step-by-step installation.
If you are new and this is your first time installing it is suggested you keep it simple. Use the standard Linux or OS X install. 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 and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Paparazzi or their OS tries a non-standard install that requires special steps that are not documented. Generally, commands can be copied and pasted for easy, step-by-step installation.


=== Source Code ===
== Getting the Source Code ==
 
The Paparazzi source code is hosted on [https://github.com/paparazzi/paparazzi Github]. While you can download it as a tarball from https://github.com/paparazzi/paparazzi/releases, it is recommended to clone the repository with [[git]].
The Paparazzi source code is hosted by [https://github.com/paparazzi/paparazzi Github]. It is downloaded using [[git]].
 
== Downloading the Source Code ==
The complete source code should be downloaded from the paparazzi software repository on Github. Make sure you have installed the <tt>paparazzi-dev</tt> package as described above. Whithout these you will not be able to compile the sourcecode.
 
See the [https://github.com/paparazzi/paparazzi project page] at Github for more details.  From the directory of your choice type:
git clone git://github.com/paparazzi/paparazzi.git
or if you are behind a firewall with an http proxy available:
git clone https://github.com/paparazzi/paparazzi.git


This will download all of the paparazzi sourcecode need for an autopilot to work into the directory <tt>paparazzi/</tt>
From the directory of your choice type:
git clone --origin upstream https://github.com/paparazzi/paparazzi.git
Check out the released stable version branch:
cd paparazzi
git checkout v6.1


'''If this whole "Git" thing is new to you an you are curious, more options and information can be found on the [[git]] page.'''
'''If this whole "Git" thing is new to you, more options and information can be found on the [[git|Git page]].'''


== Launching the Software ==
== Launching the Software ==
 
Make sure you have installed the <tt>paparazzi-dev</tt> package as described above. Without these you will not be able to compile the sourcecode.
The first step is to compile. From the <tt>paparazzi</tt> directory (<tt>cd ~/paparazzi</tt>), run
The first step is to compile. From the <tt>paparazzi</tt> directory (<tt>cd ~/paparazzi</tt>), run


Line 63: Line 70:
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''Microjet'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The procedure is detailed in the [[Simulation]] page.
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''Microjet'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The procedure is detailed in the [[Simulation]] page.


=== Agents ===
=== Environment Variables ===


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:
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]) from the command line, 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:
{{Box Code|~/.bashrc|
{{Box Code|~/.bashrc|
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi software directory''
<source lang="bash">
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi software directory''
export PAPARAZZI_HOME=''your paparazzi software directory''
export PAPARAZZI_SRC=''your paparazzi software directory''
</source>
}}
}}


=== env Variables ===
Verify that your variables are set correctly with the following command:
:<source lang="bash">env | grep PAPARAZZI</source>
which should return the following:
<source lang="bash">
PAPARAZZI_HOME=''your paparazzi software directory''
PAPARAZZI_SRC=''your paparazzi software directory''
</source>
 


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:
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:
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`
:<source lang="bash">export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`</source>
Verify that your variables are set correctly with the following command:
 
env | grep PAPARAZZI
In case you obtain an error indicating that your environmental variables are not set up correctly (for example 'ocamlfind: Package `pprz.xlib' not found') it should be noted that some shells or versions of make can not handle the '~/paparazzi' path. Try setting it to '/home/username/paparazzi' instead.
which should return the following:
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi software directory''
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi software directory''


== Software Updates ==
== Software Updates ==
Paparazzi is a very rapidly evolving project and as such you might want to update your software regularly.
'''We manage the software with the git version control system. Learn it! If you are new to it, see the [[Git|Git wiki page]].'''
 
Paparazzi is a very rapidly evolving project and as such you might want to update your software regularly. See the [[RepositoryStructure|branching model and release process page]].


Any new files you created will not be lost/overwritten when updating (like your own airframe file). Nevertheless, as with all things, backups are advised.
Any new files you created will not be lost/overwritten when updating (like your own airframe file). Nevertheless, as with all things, backups are advised.
If you modified source code, the best way is of course to use the version control system [[Git]] to commit your changes. Otherwise at least use the brute force method and save everything in another directory.
If you modified source code, the best way is of course to use the version control system [[Git]] to commit your changes. Otherwise at least use the brute force method and save everything in another directory.


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. You might need to update your airframe file as well. The compiler will usually complain if there is a problem, at which point you can look at the [[Airframe_Configuration|Airframe Configuration wiki page]] again, look on the [[Contact#Mailing_List|mailing list]] or some of the most recent airframe files on git to find the proper syntax. See the [[Compiling]] page for more help if needed.
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. You might need to update your airframe file as well. The compiler will usually complain if there is a problem, at which point you can look at the [[Airframe_Configuration|Airframe Configuration wiki page]] again, look on the [[Contact#Mailing_List|mailing list]] or some of the most recent airframe files on git to find the proper syntax.
 
'''See also the [[Release Upgrades]] page for information on how to update your configuration from one release to the next.'''


That said, keeping your software up to date is fairly easy with Git.
=== Quick'n dirty description ===


To download and automatically merge any updated source files, run the following command from your Paparazzi directory
To download and automatically merge any updated source files, run the following command from your Paparazzi directory
  git pull
  git pull
Please see the [[Git|Git wiki page]] for more details.


After any git update or source code modification the code can be recompiled from ''your paparazzi software directory'' with the following command:
After any git update or source code modification the code can be recompiled from ''your paparazzi software directory'' with the following command:
Line 99: Line 115:
  make
  make


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:
The ''make'' command will only recompile portions of the software where changed have been detected.
If it does not behave as expected you can delete all compiled files and recompile from scratch with the following commands:


  make clean
  make clean
  make
  make


See the [[Compiling]] page for more info.
If you'd like to check that the code compiles all example airframes then you can run the test suite using the command
 
make test
 
For more details see the [[Builds/Tests|tests page]].


== Using the Live CD ==
== Using the Virtual Machine image ==


There is a [[LiveCD]] available, but it dates back to 2008. It is still an easy way to get a first glimpse on Paparazzi.
Virtual machine image based on [https://www.vmware.com/products/workstation-player.html VMWare Player]  Available at [http://data.recherche.enac.fr/drones/Paparazzi/ http://data.recherche.enac.fr/drones/Paparazzi/]


[[Category:Software]] [[Category:User_Documentation]] [[Category:Installation]]
[[Category:Software]] [[Category:User_Documentation]] [[Category:Installation]]

Latest revision as of 10:10, 6 February 2023

Introduction

Paparazzi is very easily installed on any laptop or workstation running the Ubuntu Linux OS or virtually any Debian based Linux or Apple Macintosh running Mac OS X. After Microsoft introduced Ubuntu on Windows, now it is possible to run Paparazzi on Windows 10. There is also another work being done to port Paparazzi to Windows with a different approach to work on all versions of Windows.

The steps required to install the software needed to be able to let your UAS fly are:

  1. Install tools and prerequisites needed by Paparazzi.
  2. Download the source code from the source repository.
  3. Compile the Paparazzi software from sourcecode
  4. Complete any final configuration

Quickstart for Ubuntu users

Follow the instructions from the new documentation: https://paparazzi-uav.readthedocs.io/en/latest/quickstart/install.html

If all went well the Paparazzi Center should now be running... skip the rest of instructions on this page and go fly!




If you are new you'll need to do some more things before you go fly like configuring your XML definition file detailing your airframe configuration. There is help here for that: Airframe_Configuration

In case you have no autopilot hardware yet, no problem, you can get hardware here or just buy a ready to fly aircraft that can run Paparazzi Software like the Parrot Drones Parrot Bebop and run Paparazzi on your Parrot ARDRone2, Bebop and Bebop2 (soon the Disco drone).

OS Specific Instructions

For Linux an instructional video explaining it all in detail can be found here https://www.youtube.com/watch?v=eW0PCSjrP78

The process of installing the prerequisite tools and dependencies needed by Paparazzi is specific to the operating system you are using. For detailed installation instructions, please see the following pages:

For more advanced installation information or developers, please see the following pages:

  • Installing everything from scratch For non Debian based Linux distributions or if 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.
  • Installing prerequisite tools on Windows Note that this is a work in progress, and not finished yet. It would be fantastic if you are interested in running Paparazzi on this OS to help out with the porting. Being able to help is one of opensource software main features. If your skill- set is not so good in this area, but you still insist using Windows OS, then it is best to install a VirtualMachine from within Windows where you run the free Ubuntu OS of choice.

Virtual Machines

It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with VirtualBox. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, 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.

If you are new and this is your first time installing it is suggested you keep it simple. Use the standard Linux or OS X install. 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 and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Paparazzi or their OS tries a non-standard install that requires special steps that are not documented. Generally, commands can be copied and pasted for easy, step-by-step installation.

Getting the Source Code

The Paparazzi source code is hosted on Github. While you can download it as a tarball from https://github.com/paparazzi/paparazzi/releases, it is recommended to clone the repository with git.

From the directory of your choice type:

git clone --origin upstream https://github.com/paparazzi/paparazzi.git

Check out the released stable version branch:

cd paparazzi
git checkout v6.1

If this whole "Git" thing is new to you, more options and information can be found on the Git page.

Launching the Software

Make sure you have installed the paparazzi-dev package as described above. Without these you will not be able to compile the sourcecode. The first step is to compile. From the paparazzi directory (cd ~/paparazzi), run

make

You will have to run this command after each update of the source (git pull command). Launch the software from the paparazzi directory with

./paparazzi

From the Paparazzi Center interface, select the Microjet aircraft, select the sim target and Build it. Then Execute the Simulation session. The procedure is detailed in the Simulation page.

Environment Variables

If (and only if) you want to directly launch some Paparazzi agents (the Tools of the Paparazzi Center) from the command line, 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:

File: ~/.bashrc
export PAPARAZZI_HOME=''your paparazzi software directory''
export PAPARAZZI_SRC=''your paparazzi software directory''

Verify that your variables are set correctly with the following command:

env | grep PAPARAZZI

which should return the following:

PAPARAZZI_HOME=''your paparazzi software directory''
PAPARAZZI_SRC=''your paparazzi software directory''


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:

export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`

In case you obtain an error indicating that your environmental variables are not set up correctly (for example 'ocamlfind: Package `pprz.xlib' not found') it should be noted that some shells or versions of make can not handle the '~/paparazzi' path. Try setting it to '/home/username/paparazzi' instead.

Software Updates

We manage the software with the git version control system. Learn it! If you are new to it, see the Git wiki page.

Paparazzi is a very rapidly evolving project and as such you might want to update your software regularly. See the branching model and release process page.

Any new files you created will not be lost/overwritten when updating (like your own airframe file). Nevertheless, as with all things, backups are advised. If you modified source code, the best way is of course to use the version control system Git to commit your changes. Otherwise at least use the brute force method and save everything in another directory.

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. You might need to update your airframe file as well. The compiler will usually complain if there is a problem, at which point you can look at the Airframe Configuration wiki page again, look on the mailing list or some of the most recent airframe files on git to find the proper syntax.

See also the Release Upgrades page for information on how to update your configuration from one release to the next.

Quick'n dirty description

To download and automatically merge any updated source files, run the following command from your Paparazzi directory

git pull

After any git update or source code modification the code can be recompiled from your paparazzi software directory with the following command:

make

The make command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can delete all compiled files and recompile from scratch with the following commands:

make clean
make

If you'd like to check that the code compiles all example airframes then you can run the test suite using the command

make test

For more details see the tests page.

Using the Virtual Machine image

Virtual machine image based on VMWare Player Available at http://data.recherche.enac.fr/drones/Paparazzi/