Difference between revisions of "Getting Started"

From PaparazziUAV
Jump to: navigation, search
(Fixed Link)
 
(136 intermediate revisions by 21 users not shown)
Line 1: Line 1:
=Introduction=
+
==Introduction==
Getting started with Paparazzi is simple and easy.
+
Getting started with Paparazzi is not difficult if you follow the steps as described in this Wiki. This article will try to take you through all the needed steps by hand. If anything is missing in this tutorial please contact us through the Mailinglist or the Gitter Chat. We are happy to clarify any questions you may have.
  
It is important remember that if you use any autopilot without educating yourself about how to use it correctly that it can be dangerous for yourself and those around you.
+
==Tutorials==
 +
There are already some complete tutorials (specific for one Autopilot and Airframe)<br/>
 +
Refer to the [[Tutorials]] article first.
  
=To get started=
+
==Install the Ground Station==
<p>All you need is a laptop or workstation with Ubuntu (http://ubuntu.com) and Paparazzi installed (see installation page and below for more information). Ubuntu has come along way in a short period of time and is now easier to install than Windows. Best of all its free as is the software. If you do not want to install Ubuntu directly on your computer, you can use the live CD or the virtual machine. If you don't know how to use a live CD or virtual machine, its probably best that you get an old laptop or workstation and install Ubuntu directly onto it.</p>
+
To install the ground station as well as all the necessary tools to compile the autopilot firmware, refer to the [[Installation]] article.  
 +
Go to the page specific for your OS, download and install all packages.<br/>
 +
Download source code from git and compile it.
  
<p>Now you have a computer with Ubuntu installed you can install Paparazzi. This is a simple process if you use the step by step instructions available for new users on the installation page. The commands might seem a little foreign for new users of Linux but if you follow them exactly (copy paste is your friend) then you will have Paparazzi installed in as little as 10 minutes.</p>
+
==Run a Simulation==
 +
This will show the capabilities of Paparazzi. Doing this is not required but will make later steps easier.
  
<p>Once you have Ubuntu and Paparazzi installed, you can start playing with Paparazzi. One of the great benefits of Paparazzi is that you do not need an aircraft or autopilot hardware to start playing with Paparazzi - you don't really need any skills other than the ability to read and click a mouse. You can simulate an aircraft with an autopilot within the Paparazzi software installed on your computer.</p>
+
Refer to the [[Simulation]] article first.
  
=Simulation=
+
For your first few simulations you should use the default flight plan (use the Microjet aircraft) and configuration files in Paparazzi. This will allow you to get the simulator up and running in as little time as possible so you can see what Paparazzi can do. Once you have familiarized yourself with what a default Paparazzi simulation can do you will probably want to start building a flight plan (where the simulated aircraft flies) for your local area. The best way to do this is to go to Google Maps and type in your local town. Once you have found your local town, get the Latitude and Longitude of somewhere where you would like to fly your simulated UAV. Once you have the latitude and longitude, go and edit the basic flight plan (this is the example flight plan) and change the HOME latitude and longitude to the one near your home town. When you change the HOME latitude and longitude, the whole flight plan and way points will dynamically move to their relative position around your chosen latitude and longitude. You can now download the Google maps for your chosen area to give it that realistic look.
<p>Now you are ready to start your simulation (check the simulation page on how to start the simulation).</p>
 
  
<p>For your first few simulations you should use the default flight plan (use the MJ5 aircraft) and configuration files in Paparazzi. This will allow you to get the simulator up and running in as little time as possible so you can see what Paparazzi can do. Once you have familiarized yourself with what a default Paparazzi simulation can do you will probably want to start building a flight plan (where the simulated aircraft flies) for your local area. The best way to do this is to go to Google Maps and type in your local town. Once you have found your local town, get the Latitude and Longitude of somewhere where you would like to fly your simulated UAV. Now you have the lat and long go and edit the basic (this is the example flight plan) flight plan and change the HOME lat and long to the one near your home town. When you change the HOME lat and long, the whole flight plan and way points will dynamically move to their relative position around your chosen lat and long. You can now download the Google maps for your chosen area to give it that realistic look.</p>
+
Once you have done this you will know more about what you can configure with Paparazzi. The best place to start to learn how to configure Paparazzi is to edit your flight plan so you can do more complex things. There are a multitude of examples for you to use both on the wiki and within the supplied Paparazzi flight plan files.
  
<p>Once you are doing this you will quickly be interested in learning more about what you can configure with Paparazzi. The best place to start to learn how to configure Paparazzi is to edit your flight plan so you can do more complex things. There are a multitude of examples for you to use both on the wiki and within the supplied Paparazzi flight plan files.</p>
+
To try out the simulation, choose an aircraft, e.g. Microjet
 +
# Then choose "Target -> Sim" it will mean that you are building firmware for usage with "Simulation" session. Press "Build".
 +
# After the process is done, choose "Simulation" session and click "Execute".
 +
# You will get two windows: GCS and windows named after our aircraft (e.g. Microjet).
 +
# Now we recommended choosing "Maps" -> "Maps Auto" (of course if you have an Internet connection) to see satellite maps in GCS.
 +
# Then in the lower left pane there is a small runway where you choose "Takeoff".
  
<p>Now you have spent time simulating the aircraft and configuring flight plans and any other goodies which has peaked your interest you might be ready to take the plunge and get a real UAV.</p>
+
If everything goes well you'll see that your virtual aircraft took off and is making circles around the "standby" point. All further interactions are made through changing modes inside the flight plan.
  
<p>If you are ready to take the plunge you will need a few things other than your computer.</p>
+
==Hardware considerations==
 +
===PC===
 +
We recommend using a Laptop with Ubuntu. Most of the Paparazzi developers use this set up as their ground stations, making it the most common and best tested platform. Alternatively, you can use an apple laptop with MacOSX. For Paparazzi installation instructions, refer to the [[Installation]] article.
  
<p>If you used your desktop computer for simulating Paparazzi, you will need to move to a laptop so you can take it out to your flying site.</p>
+
===RC Transmitter / Receiver===
 +
A 3 position switch is needed to switch between the [[AutopilotModes]].<br/>
  
=Autopilot=
+
New 2,4Ghz systems are recommended. (e.g. Graupner MX-12/16/20)
  
<ul>
+
The signal input from receiver to Autopilot board is done with a ppm sum stream. If the receiver can't output a ppm sum stream a [[PPM_Encoder]] board is needed.
<li>Your best bet is to buy a prebuilt autopilot pack from one of the vendors who sell them (they are listed on this site). This saves lots of time and they will often give you help if you need it! ORDER ONE WITH A DEANS PLUG FOR POWER.
 
<li> Get the PPM converter board and ask that it be soldered up with all the required connections. The PPM encoder board allows you to connect your receiver to it and then it outputs the required PPM signal for your autopilot.
 
</ul>
 
  
=Aircraft=
+
Take a look at [[RC_Receivers_and_Radios|RC Receivers and Radios]] for more instructions about transmitters and receivers.
<ul>
 
<li>Get a cheap electric foam aircraft because they are less dangerous and much cheaper (the microjet is probably a good start because it already has prebuilt airframe configuration files).
 
</ul>
 
==Radio Control==
 
<ul>
 
<li>You need a radio control with a 3 position switch to switch between autopilot modes.
 
</ul>
 
==Batteries==
 
<ul>
 
<li>Get a decent LiPo or NiMh battery with at least 11 volts available with a Deans plug on it (make sure its the correct way around or you will fry your autopilot). You will also need a power extender so you are not plugging the battery directly into the autopilot - you will understand later.
 
</li>
 
=When you autopilot arrives=
 
The Paparazzi vendors on the Get Hardware page all pre-programs the autopilots so you won't need to do most of the steps on the Wiki for programming a new autopilot. Your autopilot is ready to program using a USB cable immediately. If you were to simply connect everything together it is ready to program and fly. The programming is where you set the configuration of your airframe using XML syntax. Once your configuration is setup you build, then upload it to the autopilot over USB. Start reading the Wiki pages for airframe configuration first. Here's a link to it:
 
[http://paparazzi.enac.fr/wiki/Airframe_Configuration Airframe Configuration]
 
  
=Some sites on the Web for beginners =
+
===Airframe===
==A first timer's guide to installing Ubuntu and Paparazzi==
+
Generally there are two types of airframes:
RescueRobotics has a site here: [http://www.rescuerobotics.com.au/getting-started-with-linux-and-the-paparazzi-ground-control-station http://www.rescuerobotics.com.au/getting-started-with-linux-and-the-paparazzi-ground-control-station]
+
 
 +
'''Fixedwing:'''
 +
* Airplanes - this includes all standard airplanes: aerobatic, slow flying and so on.
 +
* Gliders - almost the same thing as an airplane but with a different flight concept. Unlike airplane, gliders mostly rely on motor-less flight, which results in slower turns and less throttle usage.
 +
 
 +
'''Rotorcraft:'''
 +
* Helicopters - have a main and tail rotor.
 +
* Tri,Quad,Hexa,Octo-Copters - multirotor platforms.
 +
 
 +
'''Set your requirements:'''
 +
* fast & acrobatic
 +
* long range
 +
* heavy load
 +
* price
 +
* other
 +
 
 +
The Multiplex Mentor (flies well), Multiplex FunJet (has a prebuilt airframe configuration) or the Bixler are good starting points in fixedwings.<br/>
 +
Talk to an experienced pilot if you want it to exactly meet your needs. We recommend starting with a FunJet or Bixler, it will be easier.<br/>
 +
Some other information is located on the [[Airframes]] page.
 +
 
 +
===Autopilot board===
 +
There are a lot of different autopilot boards designed for use with PaparazziUAV. Choose which one will best meet your needs.<br/>
 +
A good choice is one of the following recent Paparazzi Autopilots, for example:
 +
*[[Elle0]]
 +
*[[Lisa/MX]]
 +
*[[Lisa/S]]
 +
*[[Apogee]]
 +
*[[Krooz]]
 +
 
 +
For a full list of supported hardware, visit the [[Autopilots]] article.
 +
 
 +
===External Components===
 +
These 4 extra categories can be helpful:
 +
 
 +
* [[Sensors]] used for orientation, proximity, leveling purposes.
 +
* [[GPS]] sensors that allow for accurate positioning.
 +
* [[Modems]] for communication between GCS and UAV.
 +
* [[OMAP]] which is a portable computer used for on-board data processing.
 +
* [[Other_Hardware | Other hardware,]] Additional useful items.
 +
 
 +
===Example list===
 +
This is just a example of a complete list:
 +
 
 +
* Laptop with Ubuntu
 +
* Airframe with servos, ESC, Battery (ready to fly Airframe !)
 +
* RC Transmitter and Receiver (Graupner HOTT series)
 +
* 2 x XBee modules
 +
* XBee USB adapter
 +
* LisaMV2 with aspirinv2.2 or KroozSD or Apogee AP
 +
* NEO-6M GPS Module (Hobbyking, 13€)
 +
* FT2232 Mini Module (USB <-> UART Adapter)
 +
 
 +
==When the Autopilot arrives==
 +
We recommend inspecting your new hardware under a microscope for solder bridges and open connections before hooking it up to power and flying. If you find any of the above make sure to resolve the issues before connecting the device to power, or else you risk destroying the hardware. We recommend using a current limited Lab power supply for the initial bring up of any new hardware. This minimizes the risk of destroying your newly purchased / assembled device before use. Never try to power a new board directly from a battery before doing the above inspection. When powering up, set the lab power supply to 0mA and slowly increase the current limit until the board powers on, usually within the range of Maximum 100mA otherwise the board contains a short or is likely damaged. Never leave the board powered at a suspiciously high power level for too long, you risk burning up the board.
 +
 
 +
==Upload the Bootloader==
 +
Not all boards require an external programmer and it is possible your board already comes with one.
 +
[[Lisa/L]] comes with a built in programmer, while [[Elle0]], [[Lisa/M]], [[KroozSD]] and [[Apogee]] can be programmed through a built in bootloader, using USB.
 +
More information is located in the [[Developer_Guide]] and [[FirmwareFlashing]] site.
 +
 
 +
===STM32===
 +
[[Luftboot]] is the most used bootloader for the [[Lisa/MX]] board.<br/>
 +
[[Elle0]], [[KroozSD]] and [[Apogee]] have their own bootloader.<br/>
 +
STM32 MCU have a native dfu boootloader that can also be used. (eg. stm32f4_discovery) See [[DFU]].
 +
 
 +
===LPC21===
 +
[[Lpc21BootloaderUpload]]<br/>
 +
This must be done once to get the paparazzi bootloader to a brand new LPC21 chip.
 +
 
 +
==Build all required xml files==
 +
Most information is located on the matching site. A look at pre build xml files can be helpful.
 +
 
 +
===Airframe===
 +
[[Airframe_Configuration]]<br/>
 +
Airframe describes the way our aircraft flies (fixedwing, rotorcraft), hardware that is used for control (autopilot, gps, imu, ahrs, servos, etc.), the way hardware interacts with each other (estimation algorithms for IMU, mixer settings for servos and such) and also allows to set constants (calibrations for servos and IMU, endpoints for servos, allowed voltage and turning rate limits and more).
 +
 
 +
Syntax of config file allows to make includes, so you can place some information like AHRS settings and IMU calibrations to separate file. It is convenient if you have several airframes that can use the same AHRS settings, and it also leaves in config file only vital options allowing to get rid of common constants.
 +
 
 +
===Flight plan===
 +
[[Flight Plans]]<br/>
 +
Here all paths for the flight plan are specified. (bungee start, different pattern, landing...)
 +
 
 +
===Settings===
 +
[[Settings]]<br/>
 +
Just a bunch of general settings. ( max altitude, max distance...)
 +
 
 +
===Radio===
 +
[[Radio_Control]]<br/>
 +
This is the setup for the ppm input for the AP
 +
Input values, channels e.g. are configured here.
 +
 
 +
===Telemetry===
 +
[[Telemetry]]<br/>
 +
This specifies the telemetry data (which data should be transmitted in which period)
 +
 
 +
==Flashing==
 +
[[FirmwareFlashing]]<br/>
 +
Search for the method your AP board needs, maybe some extra software is needed.
 +
 
 +
==Simulation==
 +
Doing both (soft and hardware) simulations is highly recommended. You can test if paparazzi or your code has any bugs.
 +
===Software simulation===
 +
[[Simulation]]<br/>
 +
This simulates your code only on the pc.
 +
 
 +
===Hardware simulation===
 +
[[HITL]]<br/>
 +
With this the AP board will work normal, but all sensor values (gps, imu...) are simulated. This is the best way to verify the AP is working correct. (is the IMU or GPS is bad, you won't find it with this simulation !)
 +
 
 +
==User's Manual==
 +
Although outdated, the 2008 [[Media:Users_manual.pdf|Paparazzi User's Manual]] may still be a useful guide through the Paparazzi environment.
 +
 
 +
You might find the [[Common_problems]] and [[XBee_configuration]] pages useful too.
 +
 
 +
==If everything else fails==
 +
If you get completely stuck and you read all the above already you can come over to our IRC channel on Freenode #paparazzi. Some of the [[Developers]] are hanging out there and will help you if you get stuck. <br/>
 +
You can also ask in the mailing list, but please don't spam.
 +
[[Category:User_Documentation]]

Latest revision as of 04:51, 28 November 2017

Introduction

Getting started with Paparazzi is not difficult if you follow the steps as described in this Wiki. This article will try to take you through all the needed steps by hand. If anything is missing in this tutorial please contact us through the Mailinglist or the Gitter Chat. We are happy to clarify any questions you may have.

Tutorials

There are already some complete tutorials (specific for one Autopilot and Airframe)
Refer to the Tutorials article first.

Install the Ground Station

To install the ground station as well as all the necessary tools to compile the autopilot firmware, refer to the Installation article. Go to the page specific for your OS, download and install all packages.
Download source code from git and compile it.

Run a Simulation

This will show the capabilities of Paparazzi. Doing this is not required but will make later steps easier.

Refer to the Simulation article first.

For your first few simulations you should use the default flight plan (use the Microjet aircraft) and configuration files in Paparazzi. This will allow you to get the simulator up and running in as little time as possible so you can see what Paparazzi can do. Once you have familiarized yourself with what a default Paparazzi simulation can do you will probably want to start building a flight plan (where the simulated aircraft flies) for your local area. The best way to do this is to go to Google Maps and type in your local town. Once you have found your local town, get the Latitude and Longitude of somewhere where you would like to fly your simulated UAV. Once you have the latitude and longitude, go and edit the basic flight plan (this is the example flight plan) and change the HOME latitude and longitude to the one near your home town. When you change the HOME latitude and longitude, the whole flight plan and way points will dynamically move to their relative position around your chosen latitude and longitude. You can now download the Google maps for your chosen area to give it that realistic look.

Once you have done this you will know more about what you can configure with Paparazzi. The best place to start to learn how to configure Paparazzi is to edit your flight plan so you can do more complex things. There are a multitude of examples for you to use both on the wiki and within the supplied Paparazzi flight plan files.

To try out the simulation, choose an aircraft, e.g. Microjet

  1. Then choose "Target -> Sim" it will mean that you are building firmware for usage with "Simulation" session. Press "Build".
  2. After the process is done, choose "Simulation" session and click "Execute".
  3. You will get two windows: GCS and windows named after our aircraft (e.g. Microjet).
  4. Now we recommended choosing "Maps" -> "Maps Auto" (of course if you have an Internet connection) to see satellite maps in GCS.
  5. Then in the lower left pane there is a small runway where you choose "Takeoff".

If everything goes well you'll see that your virtual aircraft took off and is making circles around the "standby" point. All further interactions are made through changing modes inside the flight plan.

Hardware considerations

PC

We recommend using a Laptop with Ubuntu. Most of the Paparazzi developers use this set up as their ground stations, making it the most common and best tested platform. Alternatively, you can use an apple laptop with MacOSX. For Paparazzi installation instructions, refer to the Installation article.

RC Transmitter / Receiver

A 3 position switch is needed to switch between the AutopilotModes.

New 2,4Ghz systems are recommended. (e.g. Graupner MX-12/16/20)

The signal input from receiver to Autopilot board is done with a ppm sum stream. If the receiver can't output a ppm sum stream a PPM_Encoder board is needed.

Take a look at RC Receivers and Radios for more instructions about transmitters and receivers.

Airframe

Generally there are two types of airframes:

Fixedwing:

  • Airplanes - this includes all standard airplanes: aerobatic, slow flying and so on.
  • Gliders - almost the same thing as an airplane but with a different flight concept. Unlike airplane, gliders mostly rely on motor-less flight, which results in slower turns and less throttle usage.

Rotorcraft:

  • Helicopters - have a main and tail rotor.
  • Tri,Quad,Hexa,Octo-Copters - multirotor platforms.

Set your requirements:

  • fast & acrobatic
  • long range
  • heavy load
  • price
  • other

The Multiplex Mentor (flies well), Multiplex FunJet (has a prebuilt airframe configuration) or the Bixler are good starting points in fixedwings.
Talk to an experienced pilot if you want it to exactly meet your needs. We recommend starting with a FunJet or Bixler, it will be easier.
Some other information is located on the Airframes page.

Autopilot board

There are a lot of different autopilot boards designed for use with PaparazziUAV. Choose which one will best meet your needs.
A good choice is one of the following recent Paparazzi Autopilots, for example:

For a full list of supported hardware, visit the Autopilots article.

External Components

These 4 extra categories can be helpful:

  • Sensors used for orientation, proximity, leveling purposes.
  • GPS sensors that allow for accurate positioning.
  • Modems for communication between GCS and UAV.
  • OMAP which is a portable computer used for on-board data processing.
  • Other hardware, Additional useful items.

Example list

This is just a example of a complete list:

  • Laptop with Ubuntu
  • Airframe with servos, ESC, Battery (ready to fly Airframe !)
  • RC Transmitter and Receiver (Graupner HOTT series)
  • 2 x XBee modules
  • XBee USB adapter
  • LisaMV2 with aspirinv2.2 or KroozSD or Apogee AP
  • NEO-6M GPS Module (Hobbyking, 13€)
  • FT2232 Mini Module (USB <-> UART Adapter)

When the Autopilot arrives

We recommend inspecting your new hardware under a microscope for solder bridges and open connections before hooking it up to power and flying. If you find any of the above make sure to resolve the issues before connecting the device to power, or else you risk destroying the hardware. We recommend using a current limited Lab power supply for the initial bring up of any new hardware. This minimizes the risk of destroying your newly purchased / assembled device before use. Never try to power a new board directly from a battery before doing the above inspection. When powering up, set the lab power supply to 0mA and slowly increase the current limit until the board powers on, usually within the range of Maximum 100mA otherwise the board contains a short or is likely damaged. Never leave the board powered at a suspiciously high power level for too long, you risk burning up the board.

Upload the Bootloader

Not all boards require an external programmer and it is possible your board already comes with one. Lisa/L comes with a built in programmer, while Elle0, Lisa/M, KroozSD and Apogee can be programmed through a built in bootloader, using USB. More information is located in the Developer_Guide and FirmwareFlashing site.

STM32

Luftboot is the most used bootloader for the Lisa/MX board.
Elle0, KroozSD and Apogee have their own bootloader.
STM32 MCU have a native dfu boootloader that can also be used. (eg. stm32f4_discovery) See DFU.

LPC21

Lpc21BootloaderUpload
This must be done once to get the paparazzi bootloader to a brand new LPC21 chip.

Build all required xml files

Most information is located on the matching site. A look at pre build xml files can be helpful.

Airframe

Airframe_Configuration
Airframe describes the way our aircraft flies (fixedwing, rotorcraft), hardware that is used for control (autopilot, gps, imu, ahrs, servos, etc.), the way hardware interacts with each other (estimation algorithms for IMU, mixer settings for servos and such) and also allows to set constants (calibrations for servos and IMU, endpoints for servos, allowed voltage and turning rate limits and more).

Syntax of config file allows to make includes, so you can place some information like AHRS settings and IMU calibrations to separate file. It is convenient if you have several airframes that can use the same AHRS settings, and it also leaves in config file only vital options allowing to get rid of common constants.

Flight plan

Flight Plans
Here all paths for the flight plan are specified. (bungee start, different pattern, landing...)

Settings

Settings
Just a bunch of general settings. ( max altitude, max distance...)

Radio

Radio_Control
This is the setup for the ppm input for the AP Input values, channels e.g. are configured here.

Telemetry

Telemetry
This specifies the telemetry data (which data should be transmitted in which period)

Flashing

FirmwareFlashing
Search for the method your AP board needs, maybe some extra software is needed.

Simulation

Doing both (soft and hardware) simulations is highly recommended. You can test if paparazzi or your code has any bugs.

Software simulation

Simulation
This simulates your code only on the pc.

Hardware simulation

HITL
With this the AP board will work normal, but all sensor values (gps, imu...) are simulated. This is the best way to verify the AP is working correct. (is the IMU or GPS is bad, you won't find it with this simulation !)

User's Manual

Although outdated, the 2008 Paparazzi User's Manual may still be a useful guide through the Paparazzi environment.

You might find the Common_problems and XBee_configuration pages useful too.

If everything else fails

If you get completely stuck and you read all the above already you can come over to our IRC channel on Freenode #paparazzi. Some of the Developers are hanging out there and will help you if you get stuck.
You can also ask in the mailing list, but please don't spam.