<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bruzzlee</id>
	<title>PaparazziUAV - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bruzzlee"/>
	<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/wiki/Special:Contributions/Bruzzlee"/>
	<updated>2026-04-08T20:20:08Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Bruzzlee&amp;diff=26136</id>
		<title>User:Bruzzlee</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Bruzzlee&amp;diff=26136"/>
		<updated>2022-10-10T21:04:39Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Maja */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Switzerland&lt;br /&gt;
&lt;br /&gt;
'''My Hardware:''' Lisa M v1.0 incl. Aspirin IMU v1.5 [http://wiki.paparazziuav.org/wiki/Lisa/M/Tutorial/RotorCraft#Partlists Odonata]&lt;br /&gt;
&lt;br /&gt;
'''Hardware: (Bachelor thesis)''' Tiny 2.11 incl. ArduIMU, Borjet Maja, Mentor [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html UMARS]&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
I have some problems with git, so I packed the important files to a zip file with a little HowToUse PDF.&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** &amp;quot;On the fly&amp;quot; switch-able Airspeed-Control loops&lt;br /&gt;
*** Modes:&lt;br /&gt;
**** 0 - Standard&lt;br /&gt;
**** 1 - Vassillis&lt;br /&gt;
**** 2 - Airspeed Pitch Climbrate&lt;br /&gt;
**** 3 - Airspeed Pitch Simple&lt;br /&gt;
**** 4 - Airspeed Manual Power&lt;br /&gt;
**** 5 - Airspeed Pitch Acceleration&lt;br /&gt;
**** See [http://paparazzi.enac.fr/wiki/Image:Airspeed_Control_Loops.pdf Airspeed_Control_Loops.pdf] for Matlab views&lt;br /&gt;
** AMSYS I2C Airspeed-Sensor module&lt;br /&gt;
** AMSYS I2C Baro module&lt;br /&gt;
** ADC Sonar Module&lt;br /&gt;
** Our Airframe&lt;br /&gt;
** Autonomous launch and landing (ZHAWnav)&lt;br /&gt;
** Angle of attack sensor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/Image:Proj_mentor_1.zip Proj_mentor_1.zip]&lt;br /&gt;
&lt;br /&gt;
== GIT ==&lt;br /&gt;
[https://github.com/Bruzzlee/paparazzi --&amp;gt;Here&amp;lt;--] I am working on the publication of our source.&lt;br /&gt;
&lt;br /&gt;
Feel free to modify it, if there is something wrong.&lt;br /&gt;
&lt;br /&gt;
Send a request if you want me to upload something extra.&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** 5 different Airspeed-Control loops (not all are tested!)&lt;br /&gt;
** Airspeed scales in setting-file&lt;br /&gt;
** Example Airframe&lt;br /&gt;
** Amsys-Airspeed I2C Sensor module (on optimizing)&lt;br /&gt;
&lt;br /&gt;
== Project thesis ==&lt;br /&gt;
&lt;br /&gt;
=== Bachelor thesis ===&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/Image:BA_FS11_Dokumentation_Drohne.pdf --&amp;gt;Download&amp;lt;--]&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** Airspeed control systems&lt;br /&gt;
** Autonomous launch and landing&lt;br /&gt;
** Angle of attack sensor&lt;br /&gt;
&lt;br /&gt;
Abstract:&lt;br /&gt;
A drone named UMARS was developed at the ZHAW for atmospheric research flights. An autopilot based on the open source project Paparazzi was developed in former projects in order to enable the use of the drone by personal with no model-flight experience. Thus, in this project an existing air-speed control strategy was further developed using now a Prandtl probe and a differential pressure sensor. New autonomous launch and landing procedures were also implemented successfully in this project. To avoid disturbances of the Inertial Measurement Unit (IMU) caused by the acceleration during the launch, an angle-of-attack sensor was mounted on the drone, which has improved clearly the flight attitude relative to the air flow. An accurate measurement of the drone's height during the landing approach is necessary. An ultrasonic sensor was specified to accomplish this task.&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/w/index.php?title=User:Bruzzlee#Landing Video - Landing]&lt;br /&gt;
&lt;br /&gt;
=== My Project thesis ===&lt;br /&gt;
&lt;br /&gt;
It's a [http://paparazzi.enac.fr/wiki/Image:PA_Kleindrohne.pdf project thesis] which we wrote about our first steps with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** &amp;quot;New&amp;quot; Paparazzi File structure &lt;br /&gt;
** Analysis of various Control-Loops &lt;br /&gt;
** Detailed Airspeed-Control analysis &lt;br /&gt;
** Airspeed Sensor (ADC) (How to activate a analogue Airspeed Sensor) &lt;br /&gt;
** Various flight tests &lt;br /&gt;
** Adaptive Airspeed Control suggestions &lt;br /&gt;
** How to write a &amp;quot;Driver&amp;quot; &lt;br /&gt;
** Idea of a short Check-list &lt;br /&gt;
** How to &amp;quot;Flash&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:PA_Kleindrohne.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Project thesis I've referenced to ===&lt;br /&gt;
&lt;br /&gt;
This [http://paparazzi.enac.fr/wiki/Image:Paparazzi_Autopilot_Bericht_Syat.pdf project thesis] describes the first steps with the Paparazzi-Project.&lt;br /&gt;
(Outdated Source Code)&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
**Block diagram&lt;br /&gt;
**Tiny V2.11&lt;br /&gt;
**Diagram of the Control Boards&lt;br /&gt;
**IR sensors&lt;br /&gt;
**Gyro&lt;br /&gt;
**Accelerometers&lt;br /&gt;
**IMU&lt;br /&gt;
**2.4 GHz RC control and paparazzi link&lt;br /&gt;
**Order list&lt;br /&gt;
**Software Installation&lt;br /&gt;
**Additional cables and connectors&lt;br /&gt;
**Paparazzi start&lt;br /&gt;
**GUI&lt;br /&gt;
**Operation modes&lt;br /&gt;
**Configuration files&lt;br /&gt;
**GCS&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:Paparazzi_Autopilot_Bericht_Syat.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Bachelor thesis I've referenced to ===&lt;br /&gt;
&lt;br /&gt;
This [http://paparazzi.enac.fr/wiki/Image:BA_Flugregelung.pdf bachelor thesis] describes further steps with the Paparazzi-Project. &lt;br /&gt;
(Outdated Source Code)&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
**Commissioning of the test aircraft with the autopilot&lt;br /&gt;
**Inertial Measurement Unit for position control&lt;br /&gt;
**Speed and altitude control&lt;br /&gt;
**Barometer AMSYS AMS 4711 - 1200 B&lt;br /&gt;
**Differential pressure sensor AMSYS AMS 4711 - 0020D&lt;br /&gt;
**Vassilis-Airspeed&lt;br /&gt;
**Airspeed One&lt;br /&gt;
**Airspeed Two&lt;br /&gt;
**Present state of the software / hardware&lt;br /&gt;
**Hardware and software design of paparazzi&lt;br /&gt;
**The I2C interface&lt;br /&gt;
**ArduImu&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:BA_Flugregelung.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
&lt;br /&gt;
=== Odonata ===&lt;br /&gt;
[https://youtu.be/QB9RRJWPWJI 1st hover flight - Quadrotor Odonata]&lt;br /&gt;
&lt;br /&gt;
[[Image:1stFlight.png]]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/5zMqcXr5P9w 2nd flight - Quadrotor Odonata]&lt;br /&gt;
&lt;br /&gt;
[[Image:Odonata2ndFlight.png]]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/5JysZ8DSVN0 GPS hover flight - Quadrotor Odonata]&lt;br /&gt;
&lt;br /&gt;
[[Image:OdonataGPShoverFlight.png]]&lt;br /&gt;
&lt;br /&gt;
=== Maja ===&lt;br /&gt;
[https://youtu.be/mw8rXUwG0sI Borjet Maja]&lt;br /&gt;
&lt;br /&gt;
[[Image:MajaWithGoProHD.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/lo-bXzqIbeA Altitude flight with Borjet Maja (new ArduIMU-Firmware)]&lt;br /&gt;
&lt;br /&gt;
[[Image:AlpsMaja.png]]&lt;br /&gt;
&lt;br /&gt;
=== Landing ===&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=NKyq2UT9sF4 Advanced Paparazzi Landing]&lt;br /&gt;
&lt;br /&gt;
[[Image:AdvancedPaparazziLanding.jpg]]&lt;br /&gt;
&lt;br /&gt;
= Angle of attack sensor =&lt;br /&gt;
[[AOA_adc]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Bruzzlee&amp;diff=26135</id>
		<title>User:Bruzzlee</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Bruzzlee&amp;diff=26135"/>
		<updated>2022-10-10T21:01:34Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Odonata */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Switzerland&lt;br /&gt;
&lt;br /&gt;
'''My Hardware:''' Lisa M v1.0 incl. Aspirin IMU v1.5 [http://wiki.paparazziuav.org/wiki/Lisa/M/Tutorial/RotorCraft#Partlists Odonata]&lt;br /&gt;
&lt;br /&gt;
'''Hardware: (Bachelor thesis)''' Tiny 2.11 incl. ArduIMU, Borjet Maja, Mentor [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html UMARS]&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
I have some problems with git, so I packed the important files to a zip file with a little HowToUse PDF.&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** &amp;quot;On the fly&amp;quot; switch-able Airspeed-Control loops&lt;br /&gt;
*** Modes:&lt;br /&gt;
**** 0 - Standard&lt;br /&gt;
**** 1 - Vassillis&lt;br /&gt;
**** 2 - Airspeed Pitch Climbrate&lt;br /&gt;
**** 3 - Airspeed Pitch Simple&lt;br /&gt;
**** 4 - Airspeed Manual Power&lt;br /&gt;
**** 5 - Airspeed Pitch Acceleration&lt;br /&gt;
**** See [http://paparazzi.enac.fr/wiki/Image:Airspeed_Control_Loops.pdf Airspeed_Control_Loops.pdf] for Matlab views&lt;br /&gt;
** AMSYS I2C Airspeed-Sensor module&lt;br /&gt;
** AMSYS I2C Baro module&lt;br /&gt;
** ADC Sonar Module&lt;br /&gt;
** Our Airframe&lt;br /&gt;
** Autonomous launch and landing (ZHAWnav)&lt;br /&gt;
** Angle of attack sensor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/Image:Proj_mentor_1.zip Proj_mentor_1.zip]&lt;br /&gt;
&lt;br /&gt;
== GIT ==&lt;br /&gt;
[https://github.com/Bruzzlee/paparazzi --&amp;gt;Here&amp;lt;--] I am working on the publication of our source.&lt;br /&gt;
&lt;br /&gt;
Feel free to modify it, if there is something wrong.&lt;br /&gt;
&lt;br /&gt;
Send a request if you want me to upload something extra.&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** 5 different Airspeed-Control loops (not all are tested!)&lt;br /&gt;
** Airspeed scales in setting-file&lt;br /&gt;
** Example Airframe&lt;br /&gt;
** Amsys-Airspeed I2C Sensor module (on optimizing)&lt;br /&gt;
&lt;br /&gt;
== Project thesis ==&lt;br /&gt;
&lt;br /&gt;
=== Bachelor thesis ===&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/Image:BA_FS11_Dokumentation_Drohne.pdf --&amp;gt;Download&amp;lt;--]&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** Airspeed control systems&lt;br /&gt;
** Autonomous launch and landing&lt;br /&gt;
** Angle of attack sensor&lt;br /&gt;
&lt;br /&gt;
Abstract:&lt;br /&gt;
A drone named UMARS was developed at the ZHAW for atmospheric research flights. An autopilot based on the open source project Paparazzi was developed in former projects in order to enable the use of the drone by personal with no model-flight experience. Thus, in this project an existing air-speed control strategy was further developed using now a Prandtl probe and a differential pressure sensor. New autonomous launch and landing procedures were also implemented successfully in this project. To avoid disturbances of the Inertial Measurement Unit (IMU) caused by the acceleration during the launch, an angle-of-attack sensor was mounted on the drone, which has improved clearly the flight attitude relative to the air flow. An accurate measurement of the drone's height during the landing approach is necessary. An ultrasonic sensor was specified to accomplish this task.&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/w/index.php?title=User:Bruzzlee#Landing Video - Landing]&lt;br /&gt;
&lt;br /&gt;
=== My Project thesis ===&lt;br /&gt;
&lt;br /&gt;
It's a [http://paparazzi.enac.fr/wiki/Image:PA_Kleindrohne.pdf project thesis] which we wrote about our first steps with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** &amp;quot;New&amp;quot; Paparazzi File structure &lt;br /&gt;
** Analysis of various Control-Loops &lt;br /&gt;
** Detailed Airspeed-Control analysis &lt;br /&gt;
** Airspeed Sensor (ADC) (How to activate a analogue Airspeed Sensor) &lt;br /&gt;
** Various flight tests &lt;br /&gt;
** Adaptive Airspeed Control suggestions &lt;br /&gt;
** How to write a &amp;quot;Driver&amp;quot; &lt;br /&gt;
** Idea of a short Check-list &lt;br /&gt;
** How to &amp;quot;Flash&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:PA_Kleindrohne.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Project thesis I've referenced to ===&lt;br /&gt;
&lt;br /&gt;
This [http://paparazzi.enac.fr/wiki/Image:Paparazzi_Autopilot_Bericht_Syat.pdf project thesis] describes the first steps with the Paparazzi-Project.&lt;br /&gt;
(Outdated Source Code)&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
**Block diagram&lt;br /&gt;
**Tiny V2.11&lt;br /&gt;
**Diagram of the Control Boards&lt;br /&gt;
**IR sensors&lt;br /&gt;
**Gyro&lt;br /&gt;
**Accelerometers&lt;br /&gt;
**IMU&lt;br /&gt;
**2.4 GHz RC control and paparazzi link&lt;br /&gt;
**Order list&lt;br /&gt;
**Software Installation&lt;br /&gt;
**Additional cables and connectors&lt;br /&gt;
**Paparazzi start&lt;br /&gt;
**GUI&lt;br /&gt;
**Operation modes&lt;br /&gt;
**Configuration files&lt;br /&gt;
**GCS&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:Paparazzi_Autopilot_Bericht_Syat.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Bachelor thesis I've referenced to ===&lt;br /&gt;
&lt;br /&gt;
This [http://paparazzi.enac.fr/wiki/Image:BA_Flugregelung.pdf bachelor thesis] describes further steps with the Paparazzi-Project. &lt;br /&gt;
(Outdated Source Code)&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
**Commissioning of the test aircraft with the autopilot&lt;br /&gt;
**Inertial Measurement Unit for position control&lt;br /&gt;
**Speed and altitude control&lt;br /&gt;
**Barometer AMSYS AMS 4711 - 1200 B&lt;br /&gt;
**Differential pressure sensor AMSYS AMS 4711 - 0020D&lt;br /&gt;
**Vassilis-Airspeed&lt;br /&gt;
**Airspeed One&lt;br /&gt;
**Airspeed Two&lt;br /&gt;
**Present state of the software / hardware&lt;br /&gt;
**Hardware and software design of paparazzi&lt;br /&gt;
**The I2C interface&lt;br /&gt;
**ArduImu&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:BA_Flugregelung.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
&lt;br /&gt;
=== Odonata ===&lt;br /&gt;
[https://youtu.be/QB9RRJWPWJI 1st hover flight - Quadrotor Odonata]&lt;br /&gt;
&lt;br /&gt;
[[Image:1stFlight.png]]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/5zMqcXr5P9w 2nd flight - Quadrotor Odonata]&lt;br /&gt;
&lt;br /&gt;
[[Image:Odonata2ndFlight.png]]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/5JysZ8DSVN0 GPS hover flight - Quadrotor Odonata]&lt;br /&gt;
&lt;br /&gt;
[[Image:OdonataGPShoverFlight.png]]&lt;br /&gt;
&lt;br /&gt;
=== Maja ===&lt;br /&gt;
[http://www.youtube.com/watch?v=5DqFqwjZw1E Borjet Maja]&lt;br /&gt;
&lt;br /&gt;
[[Image:MajaWithGoProHD.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=HJ1xqxz0h64 Altitude flight with Borjet Maja (new ArduIMU-Firmware)]&lt;br /&gt;
&lt;br /&gt;
[[Image:AlpsMaja.png]]&lt;br /&gt;
&lt;br /&gt;
=== Landing ===&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=NKyq2UT9sF4 Advanced Paparazzi Landing]&lt;br /&gt;
&lt;br /&gt;
[[Image:AdvancedPaparazziLanding.jpg]]&lt;br /&gt;
&lt;br /&gt;
= Angle of attack sensor =&lt;br /&gt;
[[AOA_adc]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Bruzzlee&amp;diff=18545</id>
		<title>User:Bruzzlee</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Bruzzlee&amp;diff=18545"/>
		<updated>2014-04-21T15:54:08Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Odonata */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Switzerland&lt;br /&gt;
&lt;br /&gt;
'''My Hardware:''' Lisa M v1.0 incl. Aspirin IMU v1.5 [http://wiki.paparazziuav.org/wiki/Lisa/M/Tutorial/RotorCraft#Partlists Odonata]&lt;br /&gt;
&lt;br /&gt;
'''Hardware: (Bachelor thesis)''' Tiny 2.11 incl. ArduIMU, Borjet Maja, Mentor [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html UMARS]&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
I have some problems with git, so I packed the important files to a zip file with a little HowToUse PDF.&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** &amp;quot;On the fly&amp;quot; switch-able Airspeed-Control loops&lt;br /&gt;
*** Modes:&lt;br /&gt;
**** 0 - Standard&lt;br /&gt;
**** 1 - Vassillis&lt;br /&gt;
**** 2 - Airspeed Pitch Climbrate&lt;br /&gt;
**** 3 - Airspeed Pitch Simple&lt;br /&gt;
**** 4 - Airspeed Manual Power&lt;br /&gt;
**** 5 - Airspeed Pitch Acceleration&lt;br /&gt;
**** See [http://paparazzi.enac.fr/wiki/Image:Airspeed_Control_Loops.pdf Airspeed_Control_Loops.pdf] for Matlab views&lt;br /&gt;
** AMSYS I2C Airspeed-Sensor module&lt;br /&gt;
** AMSYS I2C Baro module&lt;br /&gt;
** ADC Sonar Module&lt;br /&gt;
** Our Airframe&lt;br /&gt;
** Autonomous launch and landing (ZHAWnav)&lt;br /&gt;
** Angle of attack sensor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/Image:Proj_mentor_1.zip Proj_mentor_1.zip]&lt;br /&gt;
&lt;br /&gt;
== GIT ==&lt;br /&gt;
[https://github.com/Bruzzlee/paparazzi --&amp;gt;Here&amp;lt;--] I am working on the publication of our source.&lt;br /&gt;
&lt;br /&gt;
Feel free to modify it, if there is something wrong.&lt;br /&gt;
&lt;br /&gt;
Send a request if you want me to upload something extra.&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** 5 different Airspeed-Control loops (not all are tested!)&lt;br /&gt;
** Airspeed scales in setting-file&lt;br /&gt;
** Example Airframe&lt;br /&gt;
** Amsys-Airspeed I2C Sensor module (on optimizing)&lt;br /&gt;
&lt;br /&gt;
== Project thesis ==&lt;br /&gt;
&lt;br /&gt;
=== Bachelor thesis ===&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/Image:BA_FS11_Dokumentation_Drohne.pdf --&amp;gt;Download&amp;lt;--]&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** Airspeed control systems&lt;br /&gt;
** Autonomous launch and landing&lt;br /&gt;
** Angle of attack sensor&lt;br /&gt;
&lt;br /&gt;
Abstract:&lt;br /&gt;
A drone named UMARS was developed at the ZHAW for atmospheric research flights. An autopilot based on the open source project Paparazzi was developed in former projects in order to enable the use of the drone by personal with no model-flight experience. Thus, in this project an existing air-speed control strategy was further developed using now a Prandtl probe and a differential pressure sensor. New autonomous launch and landing procedures were also implemented successfully in this project. To avoid disturbances of the Inertial Measurement Unit (IMU) caused by the acceleration during the launch, an angle-of-attack sensor was mounted on the drone, which has improved clearly the flight attitude relative to the air flow. An accurate measurement of the drone's height during the landing approach is necessary. An ultrasonic sensor was specified to accomplish this task.&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/w/index.php?title=User:Bruzzlee#Landing Video - Landing]&lt;br /&gt;
&lt;br /&gt;
=== My Project thesis ===&lt;br /&gt;
&lt;br /&gt;
It's a [http://paparazzi.enac.fr/wiki/Image:PA_Kleindrohne.pdf project thesis] which we wrote about our first steps with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** &amp;quot;New&amp;quot; Paparazzi File structure &lt;br /&gt;
** Analysis of various Control-Loops &lt;br /&gt;
** Detailed Airspeed-Control analysis &lt;br /&gt;
** Airspeed Sensor (ADC) (How to activate a analogue Airspeed Sensor) &lt;br /&gt;
** Various flight tests &lt;br /&gt;
** Adaptive Airspeed Control suggestions &lt;br /&gt;
** How to write a &amp;quot;Driver&amp;quot; &lt;br /&gt;
** Idea of a short Check-list &lt;br /&gt;
** How to &amp;quot;Flash&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:PA_Kleindrohne.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Project thesis I've referenced to ===&lt;br /&gt;
&lt;br /&gt;
This [http://paparazzi.enac.fr/wiki/Image:Paparazzi_Autopilot_Bericht_Syat.pdf project thesis] describes the first steps with the Paparazzi-Project.&lt;br /&gt;
(Outdated Source Code)&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
**Block diagram&lt;br /&gt;
**Tiny V2.11&lt;br /&gt;
**Diagram of the Control Boards&lt;br /&gt;
**IR sensors&lt;br /&gt;
**Gyro&lt;br /&gt;
**Accelerometers&lt;br /&gt;
**IMU&lt;br /&gt;
**2.4 GHz RC control and paparazzi link&lt;br /&gt;
**Order list&lt;br /&gt;
**Software Installation&lt;br /&gt;
**Additional cables and connectors&lt;br /&gt;
**Paparazzi start&lt;br /&gt;
**GUI&lt;br /&gt;
**Operation modes&lt;br /&gt;
**Configuration files&lt;br /&gt;
**GCS&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:Paparazzi_Autopilot_Bericht_Syat.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Bachelor thesis I've referenced to ===&lt;br /&gt;
&lt;br /&gt;
This [http://paparazzi.enac.fr/wiki/Image:BA_Flugregelung.pdf bachelor thesis] describes further steps with the Paparazzi-Project. &lt;br /&gt;
(Outdated Source Code)&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
**Commissioning of the test aircraft with the autopilot&lt;br /&gt;
**Inertial Measurement Unit for position control&lt;br /&gt;
**Speed and altitude control&lt;br /&gt;
**Barometer AMSYS AMS 4711 - 1200 B&lt;br /&gt;
**Differential pressure sensor AMSYS AMS 4711 - 0020D&lt;br /&gt;
**Vassilis-Airspeed&lt;br /&gt;
**Airspeed One&lt;br /&gt;
**Airspeed Two&lt;br /&gt;
**Present state of the software / hardware&lt;br /&gt;
**Hardware and software design of paparazzi&lt;br /&gt;
**The I2C interface&lt;br /&gt;
**ArduImu&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:BA_Flugregelung.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
&lt;br /&gt;
=== Odonata ===&lt;br /&gt;
[http://youtu.be/A2K0oLQUC-g  1st hover flight - Quadrotor Odonata]&lt;br /&gt;
&lt;br /&gt;
[[Image:1stFlight.png]]&lt;br /&gt;
&lt;br /&gt;
[http://youtu.be/riHBJc312II  2nd flight - Quadrotor Odonata]&lt;br /&gt;
&lt;br /&gt;
[[Image:Odonata2ndFlight.png]]&lt;br /&gt;
&lt;br /&gt;
[http://youtu.be/VAZzlRwDgFI  GPS hover flight - Quadrotor Odonata]&lt;br /&gt;
&lt;br /&gt;
[[Image:OdonataGPShoverFlight.png]]&lt;br /&gt;
&lt;br /&gt;
=== Maja ===&lt;br /&gt;
[http://www.youtube.com/watch?v=5DqFqwjZw1E Borjet Maja]&lt;br /&gt;
&lt;br /&gt;
[[Image:MajaWithGoProHD.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=HJ1xqxz0h64 Altitude flight with Borjet Maja (new ArduIMU-Firmware)]&lt;br /&gt;
&lt;br /&gt;
[[Image:AlpsMaja.png]]&lt;br /&gt;
&lt;br /&gt;
=== Landing ===&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=NKyq2UT9sF4 Advanced Paparazzi Landing]&lt;br /&gt;
&lt;br /&gt;
[[Image:AdvancedPaparazziLanding.jpg]]&lt;br /&gt;
&lt;br /&gt;
= Angle of attack sensor =&lt;br /&gt;
[[AOA_adc]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:OdonataGPShoverFlight.png&amp;diff=18544</id>
		<title>File:OdonataGPShoverFlight.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:OdonataGPShoverFlight.png&amp;diff=18544"/>
		<updated>2014-04-21T15:51:10Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Bruzzlee&amp;diff=18438</id>
		<title>User:Bruzzlee</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Bruzzlee&amp;diff=18438"/>
		<updated>2014-04-04T18:19:32Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Maja */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Switzerland&lt;br /&gt;
&lt;br /&gt;
'''My Hardware:''' Lisa M v1.0 incl. Aspirin IMU v1.5 [http://wiki.paparazziuav.org/wiki/Lisa/M/Tutorial/RotorCraft#Partlists Odonata]&lt;br /&gt;
&lt;br /&gt;
'''Hardware: (Bachelor thesis)''' Tiny 2.11 incl. ArduIMU, Borjet Maja, Mentor [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html UMARS]&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
I have some problems with git, so I packed the important files to a zip file with a little HowToUse PDF.&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** &amp;quot;On the fly&amp;quot; switch-able Airspeed-Control loops&lt;br /&gt;
*** Modes:&lt;br /&gt;
**** 0 - Standard&lt;br /&gt;
**** 1 - Vassillis&lt;br /&gt;
**** 2 - Airspeed Pitch Climbrate&lt;br /&gt;
**** 3 - Airspeed Pitch Simple&lt;br /&gt;
**** 4 - Airspeed Manual Power&lt;br /&gt;
**** 5 - Airspeed Pitch Acceleration&lt;br /&gt;
**** See [http://paparazzi.enac.fr/wiki/Image:Airspeed_Control_Loops.pdf Airspeed_Control_Loops.pdf] for Matlab views&lt;br /&gt;
** AMSYS I2C Airspeed-Sensor module&lt;br /&gt;
** AMSYS I2C Baro module&lt;br /&gt;
** ADC Sonar Module&lt;br /&gt;
** Our Airframe&lt;br /&gt;
** Autonomous launch and landing (ZHAWnav)&lt;br /&gt;
** Angle of attack sensor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/Image:Proj_mentor_1.zip Proj_mentor_1.zip]&lt;br /&gt;
&lt;br /&gt;
== GIT ==&lt;br /&gt;
[https://github.com/Bruzzlee/paparazzi --&amp;gt;Here&amp;lt;--] I am working on the publication of our source.&lt;br /&gt;
&lt;br /&gt;
Feel free to modify it, if there is something wrong.&lt;br /&gt;
&lt;br /&gt;
Send a request if you want me to upload something extra.&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** 5 different Airspeed-Control loops (not all are tested!)&lt;br /&gt;
** Airspeed scales in setting-file&lt;br /&gt;
** Example Airframe&lt;br /&gt;
** Amsys-Airspeed I2C Sensor module (on optimizing)&lt;br /&gt;
&lt;br /&gt;
== Project thesis ==&lt;br /&gt;
&lt;br /&gt;
=== Bachelor thesis ===&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/Image:BA_FS11_Dokumentation_Drohne.pdf --&amp;gt;Download&amp;lt;--]&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** Airspeed control systems&lt;br /&gt;
** Autonomous launch and landing&lt;br /&gt;
** Angle of attack sensor&lt;br /&gt;
&lt;br /&gt;
Abstract:&lt;br /&gt;
A drone named UMARS was developed at the ZHAW for atmospheric research flights. An autopilot based on the open source project Paparazzi was developed in former projects in order to enable the use of the drone by personal with no model-flight experience. Thus, in this project an existing air-speed control strategy was further developed using now a Prandtl probe and a differential pressure sensor. New autonomous launch and landing procedures were also implemented successfully in this project. To avoid disturbances of the Inertial Measurement Unit (IMU) caused by the acceleration during the launch, an angle-of-attack sensor was mounted on the drone, which has improved clearly the flight attitude relative to the air flow. An accurate measurement of the drone's height during the landing approach is necessary. An ultrasonic sensor was specified to accomplish this task.&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/w/index.php?title=User:Bruzzlee#Landing Video - Landing]&lt;br /&gt;
&lt;br /&gt;
=== My Project thesis ===&lt;br /&gt;
&lt;br /&gt;
It's a [http://paparazzi.enac.fr/wiki/Image:PA_Kleindrohne.pdf project thesis] which we wrote about our first steps with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** &amp;quot;New&amp;quot; Paparazzi File structure &lt;br /&gt;
** Analysis of various Control-Loops &lt;br /&gt;
** Detailed Airspeed-Control analysis &lt;br /&gt;
** Airspeed Sensor (ADC) (How to activate a analogue Airspeed Sensor) &lt;br /&gt;
** Various flight tests &lt;br /&gt;
** Adaptive Airspeed Control suggestions &lt;br /&gt;
** How to write a &amp;quot;Driver&amp;quot; &lt;br /&gt;
** Idea of a short Check-list &lt;br /&gt;
** How to &amp;quot;Flash&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:PA_Kleindrohne.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Project thesis I've referenced to ===&lt;br /&gt;
&lt;br /&gt;
This [http://paparazzi.enac.fr/wiki/Image:Paparazzi_Autopilot_Bericht_Syat.pdf project thesis] describes the first steps with the Paparazzi-Project.&lt;br /&gt;
(Outdated Source Code)&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
**Block diagram&lt;br /&gt;
**Tiny V2.11&lt;br /&gt;
**Diagram of the Control Boards&lt;br /&gt;
**IR sensors&lt;br /&gt;
**Gyro&lt;br /&gt;
**Accelerometers&lt;br /&gt;
**IMU&lt;br /&gt;
**2.4 GHz RC control and paparazzi link&lt;br /&gt;
**Order list&lt;br /&gt;
**Software Installation&lt;br /&gt;
**Additional cables and connectors&lt;br /&gt;
**Paparazzi start&lt;br /&gt;
**GUI&lt;br /&gt;
**Operation modes&lt;br /&gt;
**Configuration files&lt;br /&gt;
**GCS&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:Paparazzi_Autopilot_Bericht_Syat.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Bachelor thesis I've referenced to ===&lt;br /&gt;
&lt;br /&gt;
This [http://paparazzi.enac.fr/wiki/Image:BA_Flugregelung.pdf bachelor thesis] describes further steps with the Paparazzi-Project. &lt;br /&gt;
(Outdated Source Code)&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
**Commissioning of the test aircraft with the autopilot&lt;br /&gt;
**Inertial Measurement Unit for position control&lt;br /&gt;
**Speed and altitude control&lt;br /&gt;
**Barometer AMSYS AMS 4711 - 1200 B&lt;br /&gt;
**Differential pressure sensor AMSYS AMS 4711 - 0020D&lt;br /&gt;
**Vassilis-Airspeed&lt;br /&gt;
**Airspeed One&lt;br /&gt;
**Airspeed Two&lt;br /&gt;
**Present state of the software / hardware&lt;br /&gt;
**Hardware and software design of paparazzi&lt;br /&gt;
**The I2C interface&lt;br /&gt;
**ArduImu&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:BA_Flugregelung.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
&lt;br /&gt;
=== Odonata ===&lt;br /&gt;
[http://youtu.be/A2K0oLQUC-g  1st hover flight - Quadrotor Odonata]&lt;br /&gt;
&lt;br /&gt;
[[Image:1stFlight.png]]&lt;br /&gt;
&lt;br /&gt;
[http://youtu.be/riHBJc312II  2nd flight - Quadrotor Odonata]&lt;br /&gt;
&lt;br /&gt;
[[Image:Odonata2ndFlight.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Maja ===&lt;br /&gt;
[http://www.youtube.com/watch?v=5DqFqwjZw1E Borjet Maja]&lt;br /&gt;
&lt;br /&gt;
[[Image:MajaWithGoProHD.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=HJ1xqxz0h64 Altitude flight with Borjet Maja (new ArduIMU-Firmware)]&lt;br /&gt;
&lt;br /&gt;
[[Image:AlpsMaja.png]]&lt;br /&gt;
&lt;br /&gt;
=== Landing ===&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=NKyq2UT9sF4 Advanced Paparazzi Landing]&lt;br /&gt;
&lt;br /&gt;
[[Image:AdvancedPaparazziLanding.jpg]]&lt;br /&gt;
&lt;br /&gt;
= Angle of attack sensor =&lt;br /&gt;
[[AOA_adc]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Odonata2ndFlight.png&amp;diff=18437</id>
		<title>File:Odonata2ndFlight.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Odonata2ndFlight.png&amp;diff=18437"/>
		<updated>2014-04-04T18:16:00Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: Second flight with Odonata quadrotor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Second flight with Odonata quadrotor&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:1stFlight.png&amp;diff=18436</id>
		<title>File:1stFlight.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:1stFlight.png&amp;diff=18436"/>
		<updated>2014-04-04T18:07:41Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: First hover flight with Odonata quadrotor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First hover flight with Odonata quadrotor&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Bruzzlee&amp;diff=18435</id>
		<title>User:Bruzzlee</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Bruzzlee&amp;diff=18435"/>
		<updated>2014-04-04T18:05:31Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* About Me */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Switzerland&lt;br /&gt;
&lt;br /&gt;
'''My Hardware:''' Lisa M v1.0 incl. Aspirin IMU v1.5 [http://wiki.paparazziuav.org/wiki/Lisa/M/Tutorial/RotorCraft#Partlists Odonata]&lt;br /&gt;
&lt;br /&gt;
'''Hardware: (Bachelor thesis)''' Tiny 2.11 incl. ArduIMU, Borjet Maja, Mentor [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html UMARS]&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
I have some problems with git, so I packed the important files to a zip file with a little HowToUse PDF.&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** &amp;quot;On the fly&amp;quot; switch-able Airspeed-Control loops&lt;br /&gt;
*** Modes:&lt;br /&gt;
**** 0 - Standard&lt;br /&gt;
**** 1 - Vassillis&lt;br /&gt;
**** 2 - Airspeed Pitch Climbrate&lt;br /&gt;
**** 3 - Airspeed Pitch Simple&lt;br /&gt;
**** 4 - Airspeed Manual Power&lt;br /&gt;
**** 5 - Airspeed Pitch Acceleration&lt;br /&gt;
**** See [http://paparazzi.enac.fr/wiki/Image:Airspeed_Control_Loops.pdf Airspeed_Control_Loops.pdf] for Matlab views&lt;br /&gt;
** AMSYS I2C Airspeed-Sensor module&lt;br /&gt;
** AMSYS I2C Baro module&lt;br /&gt;
** ADC Sonar Module&lt;br /&gt;
** Our Airframe&lt;br /&gt;
** Autonomous launch and landing (ZHAWnav)&lt;br /&gt;
** Angle of attack sensor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/Image:Proj_mentor_1.zip Proj_mentor_1.zip]&lt;br /&gt;
&lt;br /&gt;
== GIT ==&lt;br /&gt;
[https://github.com/Bruzzlee/paparazzi --&amp;gt;Here&amp;lt;--] I am working on the publication of our source.&lt;br /&gt;
&lt;br /&gt;
Feel free to modify it, if there is something wrong.&lt;br /&gt;
&lt;br /&gt;
Send a request if you want me to upload something extra.&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** 5 different Airspeed-Control loops (not all are tested!)&lt;br /&gt;
** Airspeed scales in setting-file&lt;br /&gt;
** Example Airframe&lt;br /&gt;
** Amsys-Airspeed I2C Sensor module (on optimizing)&lt;br /&gt;
&lt;br /&gt;
== Project thesis ==&lt;br /&gt;
&lt;br /&gt;
=== Bachelor thesis ===&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/Image:BA_FS11_Dokumentation_Drohne.pdf --&amp;gt;Download&amp;lt;--]&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** Airspeed control systems&lt;br /&gt;
** Autonomous launch and landing&lt;br /&gt;
** Angle of attack sensor&lt;br /&gt;
&lt;br /&gt;
Abstract:&lt;br /&gt;
A drone named UMARS was developed at the ZHAW for atmospheric research flights. An autopilot based on the open source project Paparazzi was developed in former projects in order to enable the use of the drone by personal with no model-flight experience. Thus, in this project an existing air-speed control strategy was further developed using now a Prandtl probe and a differential pressure sensor. New autonomous launch and landing procedures were also implemented successfully in this project. To avoid disturbances of the Inertial Measurement Unit (IMU) caused by the acceleration during the launch, an angle-of-attack sensor was mounted on the drone, which has improved clearly the flight attitude relative to the air flow. An accurate measurement of the drone's height during the landing approach is necessary. An ultrasonic sensor was specified to accomplish this task.&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/w/index.php?title=User:Bruzzlee#Landing Video - Landing]&lt;br /&gt;
&lt;br /&gt;
=== My Project thesis ===&lt;br /&gt;
&lt;br /&gt;
It's a [http://paparazzi.enac.fr/wiki/Image:PA_Kleindrohne.pdf project thesis] which we wrote about our first steps with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** &amp;quot;New&amp;quot; Paparazzi File structure &lt;br /&gt;
** Analysis of various Control-Loops &lt;br /&gt;
** Detailed Airspeed-Control analysis &lt;br /&gt;
** Airspeed Sensor (ADC) (How to activate a analogue Airspeed Sensor) &lt;br /&gt;
** Various flight tests &lt;br /&gt;
** Adaptive Airspeed Control suggestions &lt;br /&gt;
** How to write a &amp;quot;Driver&amp;quot; &lt;br /&gt;
** Idea of a short Check-list &lt;br /&gt;
** How to &amp;quot;Flash&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:PA_Kleindrohne.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Project thesis I've referenced to ===&lt;br /&gt;
&lt;br /&gt;
This [http://paparazzi.enac.fr/wiki/Image:Paparazzi_Autopilot_Bericht_Syat.pdf project thesis] describes the first steps with the Paparazzi-Project.&lt;br /&gt;
(Outdated Source Code)&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
**Block diagram&lt;br /&gt;
**Tiny V2.11&lt;br /&gt;
**Diagram of the Control Boards&lt;br /&gt;
**IR sensors&lt;br /&gt;
**Gyro&lt;br /&gt;
**Accelerometers&lt;br /&gt;
**IMU&lt;br /&gt;
**2.4 GHz RC control and paparazzi link&lt;br /&gt;
**Order list&lt;br /&gt;
**Software Installation&lt;br /&gt;
**Additional cables and connectors&lt;br /&gt;
**Paparazzi start&lt;br /&gt;
**GUI&lt;br /&gt;
**Operation modes&lt;br /&gt;
**Configuration files&lt;br /&gt;
**GCS&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:Paparazzi_Autopilot_Bericht_Syat.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Bachelor thesis I've referenced to ===&lt;br /&gt;
&lt;br /&gt;
This [http://paparazzi.enac.fr/wiki/Image:BA_Flugregelung.pdf bachelor thesis] describes further steps with the Paparazzi-Project. &lt;br /&gt;
(Outdated Source Code)&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
**Commissioning of the test aircraft with the autopilot&lt;br /&gt;
**Inertial Measurement Unit for position control&lt;br /&gt;
**Speed and altitude control&lt;br /&gt;
**Barometer AMSYS AMS 4711 - 1200 B&lt;br /&gt;
**Differential pressure sensor AMSYS AMS 4711 - 0020D&lt;br /&gt;
**Vassilis-Airspeed&lt;br /&gt;
**Airspeed One&lt;br /&gt;
**Airspeed Two&lt;br /&gt;
**Present state of the software / hardware&lt;br /&gt;
**Hardware and software design of paparazzi&lt;br /&gt;
**The I2C interface&lt;br /&gt;
**ArduImu&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:BA_Flugregelung.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
&lt;br /&gt;
=== Maja ===&lt;br /&gt;
[http://www.youtube.com/watch?v=5DqFqwjZw1E Borjet Maja recorded with GoProHD]&lt;br /&gt;
&lt;br /&gt;
[[Image:MajaWithGoProHD.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=HJ1xqxz0h64 Altitude flight with Borjet Maja (new ArduIMU-Firmware)]&lt;br /&gt;
&lt;br /&gt;
[[Image:AlpsMaja.png]]&lt;br /&gt;
&lt;br /&gt;
=== Landing ===&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=NKyq2UT9sF4 Advanced Paparazzi Landing]&lt;br /&gt;
&lt;br /&gt;
[[Image:AdvancedPaparazziLanding.jpg]]&lt;br /&gt;
&lt;br /&gt;
= Angle of attack sensor =&lt;br /&gt;
[[AOA_adc]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Sensors/AMSYS&amp;diff=11843</id>
		<title>Sensors/AMSYS</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Sensors/AMSYS&amp;diff=11843"/>
		<updated>2012-03-05T23:48:10Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Paparazzi addresses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Sensors&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This site will explain a way, how to use a AMSYS pressure sensor - AMS 5812 Series.&lt;br /&gt;
&lt;br /&gt;
==Addressing==&lt;br /&gt;
At first you have to be sure, you've programmed the right I2C address on the sensor chip. &amp;lt;br&amp;gt;&lt;br /&gt;
To do this, you can use a programmer device named “AMS 5812 starter kit“ which comes with all the software you need.&lt;br /&gt;
http://www.amsys.info/sheets/usersguide_I2C_AMG_rev1.GB.pdf&lt;br /&gt;
&lt;br /&gt;
===Paparazzi addresses===&lt;br /&gt;
I2C Addresses:&lt;br /&gt;
The default address of every AMSYS chip is F0 and it is always reachable, even if you've programmed a other one.&lt;br /&gt;
&lt;br /&gt;
The default addresses defined in the paparazzi driver are:&lt;br /&gt;
*Baro: 0xF2&lt;br /&gt;
*Airspeed: 0xF4&lt;br /&gt;
&lt;br /&gt;
You can change them and many othe sensor specific data in the files:&lt;br /&gt;
*/sw/airborne/modules/sensors/baro_amsys.c&lt;br /&gt;
*sw/airborne/modules/sensors/airspeed_amsys.c&lt;br /&gt;
&lt;br /&gt;
===AMSYS addresses===&lt;br /&gt;
The „AMS 5812 starter kit“ software does not use the first bit of the address. &amp;lt;br&amp;gt;&lt;br /&gt;
If you want to know more see:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.amsys.info/sheets/amsys.en.ams5812_e.pdf&amp;lt;br&amp;gt;&lt;br /&gt;
Because of this you have to program the sensor chips with this addresses:&lt;br /&gt;
*Baro: 0x72&lt;br /&gt;
*Airspeed: 0x74&lt;br /&gt;
&lt;br /&gt;
==Airframe==&lt;br /&gt;
This is an expample to define the module in the airframe.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;define name=&amp;quot;USE_I2C0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;USE_AIRSPEED&amp;quot;/&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/firmware&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;modules&amp;gt;&lt;br /&gt;
  &amp;lt;load name=&amp;quot;airspeed_amsys.xml&amp;quot;&amp;gt;  &lt;br /&gt;
    &amp;lt;define name=&amp;quot;AIRSPEED_SCALE&amp;quot; value=&amp;quot;1.&amp;quot;/&amp;gt;   &lt;br /&gt;
    &amp;lt;define name=&amp;quot;AIRSPEED_FILTER&amp;quot; value=&amp;quot;0.902000010014&amp;quot;/&amp;gt;   &lt;br /&gt;
  &amp;lt;/load&amp;gt; &lt;br /&gt;
  &amp;lt;load name=&amp;quot;baro_amsys.xml&amp;quot;&amp;gt;	&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BARO_FILTER&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/load&amp;gt; &lt;br /&gt;
&amp;lt;/modules&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
USE_AIRSPEED is only needed if you want to control your plane's speed by true airspeed. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is the calculation which should explain the usage of AIRSPEED_SCALE &amp;lt;br&amp;gt;&lt;br /&gt;
sqrtf(2*(pressure_amsys)*airspeed_scale/1.2041);&lt;br /&gt;
&lt;br /&gt;
1.2041 is the value of the air density.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AIRSPEED_FILTER and BARO_FILTER are values of an TP1 filter:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
airspeed_amsys = airspeed_filter * airspeed_old + (1 - airspeed_filter) * airspeed_tmp;&lt;br /&gt;
airspeed_old = airspeed_amsys;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AMSYS Baro driver is only written to measure the hight not  to use it as an flight variable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sensors]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Sensors/AMSYS&amp;diff=11841</id>
		<title>Sensors/AMSYS</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Sensors/AMSYS&amp;diff=11841"/>
		<updated>2012-03-05T23:47:12Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Sensors&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This site will explain a way, how to use a AMSYS pressure sensor - AMS 5812 Series.&lt;br /&gt;
&lt;br /&gt;
==Addressing==&lt;br /&gt;
At first you have to be sure, you've programmed the right I2C address on the sensor chip. &amp;lt;br&amp;gt;&lt;br /&gt;
To do this, you can use a programmer device named “AMS 5812 starter kit“ which comes with all the software you need.&lt;br /&gt;
http://www.amsys.info/sheets/usersguide_I2C_AMG_rev1.GB.pdf&lt;br /&gt;
&lt;br /&gt;
===Paparazzi addresses===&lt;br /&gt;
I2C Addresses:&lt;br /&gt;
The default address of every AMSYS chip is F0 and it is always reachable, even if you've programmed a other one.&lt;br /&gt;
&lt;br /&gt;
The default addresses defined in the paparazzi driver are:&lt;br /&gt;
*Baro: 0xF2&lt;br /&gt;
*Airspeed: 0xF4&lt;br /&gt;
&lt;br /&gt;
You can change them and many othe sensor specific data in the files:&lt;br /&gt;
*/sw/airborne/modules/sensors/baro_amsys.c&lt;br /&gt;
*sw/airborne/modules/sensors/airspeed_amsys.c&lt;br /&gt;
&lt;br /&gt;
The „AMS 5812 starter kit“ software does not use the first bit of the address. &amp;lt;br&amp;gt;&lt;br /&gt;
If you want to know more see:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.amsys.info/sheets/amsys.en.ams5812_e.pdf&amp;lt;br&amp;gt;&lt;br /&gt;
Because of this you have to program the sensor chips with this addresses:&lt;br /&gt;
*Baro: 0x72&lt;br /&gt;
*Airspeed: 0x74&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Airframe==&lt;br /&gt;
This is an expample to define the module in the airframe.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;firmware name=&amp;quot;fixedwing&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;define name=&amp;quot;USE_I2C0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;USE_AIRSPEED&amp;quot;/&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/firmware&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;modules&amp;gt;&lt;br /&gt;
  &amp;lt;load name=&amp;quot;airspeed_amsys.xml&amp;quot;&amp;gt;  &lt;br /&gt;
    &amp;lt;define name=&amp;quot;AIRSPEED_SCALE&amp;quot; value=&amp;quot;1.&amp;quot;/&amp;gt;   &lt;br /&gt;
    &amp;lt;define name=&amp;quot;AIRSPEED_FILTER&amp;quot; value=&amp;quot;0.902000010014&amp;quot;/&amp;gt;   &lt;br /&gt;
  &amp;lt;/load&amp;gt; &lt;br /&gt;
  &amp;lt;load name=&amp;quot;baro_amsys.xml&amp;quot;&amp;gt;	&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BARO_FILTER&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/load&amp;gt; &lt;br /&gt;
&amp;lt;/modules&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
USE_AIRSPEED is only needed if you want to control your plane's speed by true airspeed. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is the calculation which should explain the usage of AIRSPEED_SCALE &amp;lt;br&amp;gt;&lt;br /&gt;
sqrtf(2*(pressure_amsys)*airspeed_scale/1.2041);&lt;br /&gt;
&lt;br /&gt;
1.2041 is the value of the air density.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AIRSPEED_FILTER and BARO_FILTER are values of an TP1 filter:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
airspeed_amsys = airspeed_filter * airspeed_old + (1 - airspeed_filter) * airspeed_tmp;&lt;br /&gt;
airspeed_old = airspeed_amsys;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AMSYS Baro driver is only written to measure the hight not  to use it as an flight variable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sensors]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=11835</id>
		<title>Module/FlightBenchmark</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=11835"/>
		<updated>2012-03-05T10:20:08Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Example configurations in flightplan for auto-reset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Modules&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
==Description==&lt;br /&gt;
This module allows a quantitative assessment of the flight. It calculates the sum of squared error of the two-dimensional course (x / y), the altitude and true airspeed. The sum of squared error of the course and altitude were separated, because they are regulated separately, and so they dependent on various parameters. The module was written to optimize the control parameters and has already been used successfully.&lt;br /&gt;
&lt;br /&gt;
The measurement is not started until about the variable benchm_go is set to 1.&lt;br /&gt;
&lt;br /&gt;
The sum of squared error can by reseted by changing the boolean variable benchm_reset to zero (will turn back to 1 automatically after it has done the reset). This can also be used in a flight plan, which allows a flight plan with auto-reset. So it is possible to fly an oval or a eight figure with a sum of squared error that will be reseted at the very same point of the figure.&lt;br /&gt;
&lt;br /&gt;
[[Image:SumOfSquaredErrorOfAltitude.jpg|thumb|Example plot: sum of squared error of altitude ]]&lt;br /&gt;
&lt;br /&gt;
==Module Infos==&lt;br /&gt;
ModuleXML &lt;br /&gt;
* flight_benchmark.xml&lt;br /&gt;
Code- and headerfile &lt;br /&gt;
* sw/airborne/modules/benchmark &lt;br /&gt;
Settings file &lt;br /&gt;
* benchmark.xml&lt;br /&gt;
&lt;br /&gt;
==Airframe Adjustments==&lt;br /&gt;
The code is aviable in the master git branch.&lt;br /&gt;
&lt;br /&gt;
*(1) Insert the software module in the airframe:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;modules&amp;gt;&lt;br /&gt;
    &amp;lt;load name=&amp;quot;flight_benchmark.xml&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_AIRSPEED&amp;quot;/&amp;gt;    &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_ALTITUDE&amp;quot;/&amp;gt;    &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_POSITION&amp;quot;/&amp;gt;  &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_AIRSPEED&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_ALTITUDE&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_POSITION&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
    &amp;lt;/load&amp;gt; &lt;br /&gt;
  &amp;lt;/modules&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**Legend: &lt;br /&gt;
***Define BENCHMARK_AIRSPEED to enable airspeed benchmarking (only with airspeed module)&lt;br /&gt;
***Define BENCHMARK_ALTITUDE to enable altitude benchmarking.&lt;br /&gt;
***Define BENCHMARK_POSITION to enable position (x/y) benchmarking. (shortest error to the path)&lt;br /&gt;
***BENCHMARK_TOLERANCE_... define the tolerated value where the sum of squared error won't change. Set to zero to have no tolerance.&lt;br /&gt;
&lt;br /&gt;
*(2) Add the settings XML to the settings list: benchmark.xml&lt;br /&gt;
&lt;br /&gt;
*(3) Now you can turn on the calculations by setting the benchm_go to 1 (in GCS under benchamrk)&lt;br /&gt;
&lt;br /&gt;
==Example configurations in flightplan for auto-reset==&lt;br /&gt;
A example flightplan can be downloaded [https://github.com/Bruzzlee/paparazzi/blob/master/conf/flight_plans/Mentor_FP_04.xml here] but beware: This file contains extras you probably won't need.&lt;br /&gt;
&lt;br /&gt;
*(1) Add this #include to your flightplan in the header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;flight_plan alt=&amp;quot;............your configurations.............&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;header&amp;gt;&lt;br /&gt;
                #include &amp;quot;modules/benchmark/flight_benchmark.h&amp;quot;&lt;br /&gt;
        &amp;lt;/header&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        &amp;lt;blocks&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        ...&lt;br /&gt;
        &amp;lt;/blocks&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
  &amp;lt;/flight_plan&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*(2.1) Add this block to the blocks section (Figure Oval):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;block group=&amp;quot;base_pattern&amp;quot; name=&amp;quot;Oval Bench&amp;quot; strip_button=&amp;quot;Oval Bench(wp 1-2)&amp;quot; strip_icon=&amp;quot;oval.png&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;oval p1=&amp;quot;Ov1&amp;quot; p2=&amp;quot;Ov2&amp;quot; radius=&amp;quot;nav_radius&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Oval Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*(2.2) You can also use this block in the flightplan (Figure Eight):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;block key=&amp;quot;F7&amp;quot; name=&amp;quot;Eight Bench&amp;quot; strip_button=&amp;quot;Figure 8 (wp 1-2)&amp;quot; strip_icon=&amp;quot;eight.png&amp;quot; group=&amp;quot;base_pattern&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;eight center=&amp;quot;8C&amp;quot; radius=&amp;quot;nav_radius&amp;quot; turn_around=&amp;quot;8T&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Eight Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*(4) Make sure that you've named your points right.&lt;br /&gt;
&lt;br /&gt;
[[Category:Modules]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=11834</id>
		<title>Module/FlightBenchmark</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=11834"/>
		<updated>2012-03-05T10:19:38Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Example configurations in flightplan for auto-reset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Modules&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
==Description==&lt;br /&gt;
This module allows a quantitative assessment of the flight. It calculates the sum of squared error of the two-dimensional course (x / y), the altitude and true airspeed. The sum of squared error of the course and altitude were separated, because they are regulated separately, and so they dependent on various parameters. The module was written to optimize the control parameters and has already been used successfully.&lt;br /&gt;
&lt;br /&gt;
The measurement is not started until about the variable benchm_go is set to 1.&lt;br /&gt;
&lt;br /&gt;
The sum of squared error can by reseted by changing the boolean variable benchm_reset to zero (will turn back to 1 automatically after it has done the reset). This can also be used in a flight plan, which allows a flight plan with auto-reset. So it is possible to fly an oval or a eight figure with a sum of squared error that will be reseted at the very same point of the figure.&lt;br /&gt;
&lt;br /&gt;
[[Image:SumOfSquaredErrorOfAltitude.jpg|thumb|Example plot: sum of squared error of altitude ]]&lt;br /&gt;
&lt;br /&gt;
==Module Infos==&lt;br /&gt;
ModuleXML &lt;br /&gt;
* flight_benchmark.xml&lt;br /&gt;
Code- and headerfile &lt;br /&gt;
* sw/airborne/modules/benchmark &lt;br /&gt;
Settings file &lt;br /&gt;
* benchmark.xml&lt;br /&gt;
&lt;br /&gt;
==Airframe Adjustments==&lt;br /&gt;
The code is aviable in the master git branch.&lt;br /&gt;
&lt;br /&gt;
*(1) Insert the software module in the airframe:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;modules&amp;gt;&lt;br /&gt;
    &amp;lt;load name=&amp;quot;flight_benchmark.xml&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_AIRSPEED&amp;quot;/&amp;gt;    &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_ALTITUDE&amp;quot;/&amp;gt;    &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_POSITION&amp;quot;/&amp;gt;  &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_AIRSPEED&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_ALTITUDE&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_POSITION&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
    &amp;lt;/load&amp;gt; &lt;br /&gt;
  &amp;lt;/modules&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**Legend: &lt;br /&gt;
***Define BENCHMARK_AIRSPEED to enable airspeed benchmarking (only with airspeed module)&lt;br /&gt;
***Define BENCHMARK_ALTITUDE to enable altitude benchmarking.&lt;br /&gt;
***Define BENCHMARK_POSITION to enable position (x/y) benchmarking. (shortest error to the path)&lt;br /&gt;
***BENCHMARK_TOLERANCE_... define the tolerated value where the sum of squared error won't change. Set to zero to have no tolerance.&lt;br /&gt;
&lt;br /&gt;
*(2) Add the settings XML to the settings list: benchmark.xml&lt;br /&gt;
&lt;br /&gt;
*(3) Now you can turn on the calculations by setting the benchm_go to 1 (in GCS under benchamrk)&lt;br /&gt;
&lt;br /&gt;
==Example configurations in flightplan for auto-reset==&lt;br /&gt;
A example flightplan can be downloaded [https://github.com/Bruzzlee/paparazzi/blob/master/conf/flight_plans/Mentor_FP_04.xml here] but beware: This file contains extras you probably won't need.&lt;br /&gt;
&lt;br /&gt;
*(1) Add this #include to your flightplan in the header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;flight_plan alt=&amp;quot;............your configurations.............&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;header&amp;gt;&lt;br /&gt;
                #include &amp;quot;modules/benchmark/flight_benchmark.h&amp;quot;&lt;br /&gt;
        &amp;lt;/header&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        &amp;lt;blocks&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        ...&lt;br /&gt;
        &amp;lt;/blocks&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
  &amp;lt;/flight_plan&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*(2.1) Add this block to the blocks section (Figure Oval):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;block group=&amp;quot;base_pattern&amp;quot; name=&amp;quot;Oval Bench&amp;quot; strip_button=&amp;quot;Oval Bench(wp 1-2)&amp;quot; strip_icon=&amp;quot;oval.png&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;oval p1=&amp;quot;Ov1&amp;quot; p2=&amp;quot;Ov2&amp;quot; radius=&amp;quot;nav_radius&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Oval Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*(2.2) Now you can also use this block in the flightplan (Figure Eight):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;block key=&amp;quot;F7&amp;quot; name=&amp;quot;Eight Bench&amp;quot; strip_button=&amp;quot;Figure 8 (wp 1-2)&amp;quot; strip_icon=&amp;quot;eight.png&amp;quot; group=&amp;quot;base_pattern&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;eight center=&amp;quot;8C&amp;quot; radius=&amp;quot;nav_radius&amp;quot; turn_around=&amp;quot;8T&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Eight Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*(4) Make sure that you've named your points right.&lt;br /&gt;
&lt;br /&gt;
[[Category:Modules]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=11833</id>
		<title>Module/FlightBenchmark</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=11833"/>
		<updated>2012-03-05T10:19:22Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Example configurations in flightplan for auto-reset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Modules&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
==Description==&lt;br /&gt;
This module allows a quantitative assessment of the flight. It calculates the sum of squared error of the two-dimensional course (x / y), the altitude and true airspeed. The sum of squared error of the course and altitude were separated, because they are regulated separately, and so they dependent on various parameters. The module was written to optimize the control parameters and has already been used successfully.&lt;br /&gt;
&lt;br /&gt;
The measurement is not started until about the variable benchm_go is set to 1.&lt;br /&gt;
&lt;br /&gt;
The sum of squared error can by reseted by changing the boolean variable benchm_reset to zero (will turn back to 1 automatically after it has done the reset). This can also be used in a flight plan, which allows a flight plan with auto-reset. So it is possible to fly an oval or a eight figure with a sum of squared error that will be reseted at the very same point of the figure.&lt;br /&gt;
&lt;br /&gt;
[[Image:SumOfSquaredErrorOfAltitude.jpg|thumb|Example plot: sum of squared error of altitude ]]&lt;br /&gt;
&lt;br /&gt;
==Module Infos==&lt;br /&gt;
ModuleXML &lt;br /&gt;
* flight_benchmark.xml&lt;br /&gt;
Code- and headerfile &lt;br /&gt;
* sw/airborne/modules/benchmark &lt;br /&gt;
Settings file &lt;br /&gt;
* benchmark.xml&lt;br /&gt;
&lt;br /&gt;
==Airframe Adjustments==&lt;br /&gt;
The code is aviable in the master git branch.&lt;br /&gt;
&lt;br /&gt;
*(1) Insert the software module in the airframe:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;modules&amp;gt;&lt;br /&gt;
    &amp;lt;load name=&amp;quot;flight_benchmark.xml&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_AIRSPEED&amp;quot;/&amp;gt;    &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_ALTITUDE&amp;quot;/&amp;gt;    &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_POSITION&amp;quot;/&amp;gt;  &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_AIRSPEED&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_ALTITUDE&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_POSITION&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
    &amp;lt;/load&amp;gt; &lt;br /&gt;
  &amp;lt;/modules&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**Legend: &lt;br /&gt;
***Define BENCHMARK_AIRSPEED to enable airspeed benchmarking (only with airspeed module)&lt;br /&gt;
***Define BENCHMARK_ALTITUDE to enable altitude benchmarking.&lt;br /&gt;
***Define BENCHMARK_POSITION to enable position (x/y) benchmarking. (shortest error to the path)&lt;br /&gt;
***BENCHMARK_TOLERANCE_... define the tolerated value where the sum of squared error won't change. Set to zero to have no tolerance.&lt;br /&gt;
&lt;br /&gt;
*(2) Add the settings XML to the settings list: benchmark.xml&lt;br /&gt;
&lt;br /&gt;
*(3) Now you can turn on the calculations by setting the benchm_go to 1 (in GCS under benchamrk)&lt;br /&gt;
&lt;br /&gt;
==Example configurations in flightplan for auto-reset==&lt;br /&gt;
A example flightplan can be downloaded [https://github.com/Bruzzlee/paparazzi/blob/master/conf/flight_plans/Mentor_FP_04.xml here] but beware: This file contains extras you probably won't need.&lt;br /&gt;
&lt;br /&gt;
*(1) Add this #include to your flightplan in the header:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;flight_plan alt=&amp;quot;............your configurations.............&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;header&amp;gt;&lt;br /&gt;
                #include &amp;quot;modules/benchmark/flight_benchmark.h&amp;quot;&lt;br /&gt;
        &amp;lt;/header&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        &amp;lt;blocks&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        ...&lt;br /&gt;
        &amp;lt;/blocks&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
  &amp;lt;/flight_plan&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*(2.1) Add this block to the blocks section (Figure Oval):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;block group=&amp;quot;base_pattern&amp;quot; name=&amp;quot;Oval Bench&amp;quot; strip_button=&amp;quot;Oval Bench(wp 1-2)&amp;quot; strip_icon=&amp;quot;oval.png&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;oval p1=&amp;quot;Ov1&amp;quot; p2=&amp;quot;Ov2&amp;quot; radius=&amp;quot;nav_radius&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Oval Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2.2) Now you can also use this block in the flightplan (Figure Eight):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;block key=&amp;quot;F7&amp;quot; name=&amp;quot;Eight Bench&amp;quot; strip_button=&amp;quot;Figure 8 (wp 1-2)&amp;quot; strip_icon=&amp;quot;eight.png&amp;quot; group=&amp;quot;base_pattern&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;eight center=&amp;quot;8C&amp;quot; radius=&amp;quot;nav_radius&amp;quot; turn_around=&amp;quot;8T&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Eight Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*(4) Make sure that you've named your points right.&lt;br /&gt;
&lt;br /&gt;
[[Category:Modules]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11443</id>
		<title>Lisa/M/Tutorial/RotorCraft</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11443"/>
		<updated>2012-01-28T13:33:23Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Airframe Setup =&lt;br /&gt;
Basically rotorcraft is an aircraft that uses propeller lift to hold itself floating.&lt;br /&gt;
There are many types of rotorcrafts, but there are a couple of global classes:&lt;br /&gt;
&lt;br /&gt;
'''Single rotor''' (helicopters) which divide into:&lt;br /&gt;
* Classic (with tail rotor);&lt;br /&gt;
* Co-axial (with two sets of counter rotating blades);&lt;br /&gt;
* All others (there are some other helis like Chinhook or Osprey).&lt;br /&gt;
&lt;br /&gt;
'''Multirotor''' (copters) which are:&lt;br /&gt;
* 3 rotor Y type - this copter maintains yaw by tilting one of it's rotors with servo;&lt;br /&gt;
* 4 rotor X or + type - the trick is that two rotors spin &amp;quot;forward&amp;quot; and other two &amp;quot;backward&amp;quot;, with some strong magic difference between spin rates is used to rotate the craft around. X and + types differ only with direction of movement: X moves with two rotors forward and + moves with one rotor, like this +&amp;gt;;&lt;br /&gt;
* 6 rotor * or Y type - first case is the same as 4 rotor with two additional arms, the other is virtually one 3Y rotor flipped and put under another 3Y rotor;&lt;br /&gt;
* 8 rotor *, V or X/+ type - first is 6* rotor + two more arms, second is like Asctech Falcon 8 and the third is 4X/+ type put one on another.&lt;br /&gt;
&lt;br /&gt;
And if first class of rotorcrafts can use gyros only for yaw stabilization, multirotors need 3D (three axial) gyros to stabilize itself hovering which by the way do not guarantee that craft holds the spot, just not letting it fall on side.&lt;br /&gt;
&lt;br /&gt;
= First Steps =&lt;br /&gt;
&lt;br /&gt;
'''Multirotors'''&lt;br /&gt;
&lt;br /&gt;
Firstly you should choose correct airframe. If you're novice to copters quadrotor will be a good choice for several reasons: firstly it's most common type of copter, then most of hardware works with such setup &amp;quot;out of the box&amp;quot; and there is plenty information in mailing lists.&lt;br /&gt;
By the way, it would be a good idea to decide how do you want to use your copter. Generally it will allow you to choose correct motors and ESCs for copter.&lt;br /&gt;
&lt;br /&gt;
ESC and motors should be chosen with weight economy in mind. i.e. good idea is to purchase ~600-1000 gram motors (NOT more unless you know what are you doing) and 15-25A ESCs depending on your motor current consumption.&lt;br /&gt;
&lt;br /&gt;
Airframe typically consists of &amp;quot;center hub&amp;quot; and &amp;quot;rotor arms&amp;quot; which due to ease of aircraft control and low crushablity are made of light materials (for example aluminum for arms and perforated carbon for center hub).&lt;br /&gt;
There is a wide choice of ready to build aftermarket airframes if you don't want to bother with building one.&lt;br /&gt;
&lt;br /&gt;
Generally there is only one important thing left it's balancing whole copter after you put it together.&lt;br /&gt;
There is one simple rule: ready to fly quadrotor should have it's center of gravity (COG) in the middle.&lt;br /&gt;
By &amp;quot;ready to fly&amp;quot; I mean - every equipment that should be placed on copter including battery and payload.&lt;br /&gt;
&lt;br /&gt;
= Configure the autopilot =&lt;br /&gt;
Generally: [[Rotorcraft_Configuration]]&lt;br /&gt;
&lt;br /&gt;
Lisa/M: [[User/LisaM/Tutorial/RotorCraft]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Partlists =&lt;br /&gt;
I recognized that I spent a lot of time to search all compatible components. That list should help you to make your chose easier and faster.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:white&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! User !! Type !! Propeller size !! Frame !! Motors !! ESC !! Telemetry !! RC Transmitter !! RC Receiver !! GPS !! Autopilot !! IMU&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| [[User:Bruzzlee|Bruzzlee]] || Quadrotor || 12&amp;quot; || Homebrew || Scorpion S-2215-900KV || ePower 30A 2-4S || [[User/LisaM/Tutorial/RotorCraft#Xbee|Xbee 60mW]] || Spektrum DX6i || HobbyKing Orange Satellite || [[User/LisaM/Tutorial/RotorCraft#GPS_GS407|GS407]] || Lisa/M || Aspirin&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| add your list here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Xbee ===&lt;br /&gt;
[[Image:XbeeParts.JPG|thumb|Xbee parts photo]]&lt;br /&gt;
&lt;br /&gt;
* 2.4GHz Duck Antenna RP-SMA - Large&lt;br /&gt;
* Interface Cable RP-SMA to U.FL (should fit to the Duck Antenna)&lt;br /&gt;
* XBee Explorer USB  &lt;br /&gt;
* XBee Pro 60mW U.FL Connection - Series 1  &lt;br /&gt;
* XBee Pro 60mW Wire Antenna - Series 1&lt;br /&gt;
* XBee Explorer Regulated&lt;br /&gt;
&lt;br /&gt;
=== GPS GS407===&lt;br /&gt;
* 50 Channel GS407 Helical GPS Receiver  &lt;br /&gt;
* GS407 Breakout Board&lt;br /&gt;
&lt;br /&gt;
= Wiring (not tested!) =&lt;br /&gt;
[[Image:LisaMWiring_Quadrotor.png|thumb|LisaM wiring for quadrotor]]&lt;br /&gt;
[[Image:LisaMWiring_Quadrotor_2.png|thumb|Alternative LisaM wiring for quadrotor]]&lt;br /&gt;
&lt;br /&gt;
This scheme shows a possibility to connect the parts to the Lisa M.&amp;lt;br/&amp;gt;&lt;br /&gt;
In this version, the board is powered by the 5V BEC of the Servo 1 ESC.&amp;lt;br/&amp;gt;&lt;br /&gt;
Jumper J1 is bridged. The battery on I2C1/CAN is only needed to measure the actual battery voltage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:red&amp;quot;&amp;gt;--&amp;gt; This version is not tested yet!!! No warranty!!! &amp;lt;---&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See following links for more informations:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Pinout]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Schematic]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#RC_receiver]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#Power]]&lt;br /&gt;
&lt;br /&gt;
= IMU calibration =&lt;br /&gt;
Usually you get a calibration file from the supplier. If not you can calibrate you Aspirin IMU (or else) by following this Tutorial: &amp;lt;br/&amp;gt;&lt;br /&gt;
[[ImuCalibration]]&lt;br /&gt;
&lt;br /&gt;
How you get your Local Magnetic Field values is written down here: &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Subsystem/ahrs]] &amp;lt;br/&amp;gt;&lt;br /&gt;
At the moment if you use the paparazzi master branch it is recommended to use the magnetometer only for the Yaw correction. This can be reached by setting the flag AHRS_MAG_UPDATE_YAW_ONLY:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;define name=&amp;quot;AHRS_MAG_UPDATE_YAW_ONLY&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Frame building =&lt;br /&gt;
&amp;quot;Photo gallery&amp;quot; Bruzzlee: [[User/RotorCraft/Bruzzlee]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=ImuCalibration&amp;diff=11442</id>
		<title>ImuCalibration</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=ImuCalibration&amp;diff=11442"/>
		<updated>2012-01-28T00:45:56Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* How to use it */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Theory ==&lt;br /&gt;
&lt;br /&gt;
Accelerometers and Magnetometers calibration is critical for AHRS performances and can be performed using no special hardware. For the magnetometer, it is even very important that the calibration be performed in the fully assembled vehicle, with all systems powered. This is the so-called hard-iron calibration and will allow us to compensate for any constant parasitic magnetic field generated by the vehicle.&lt;br /&gt;
The calibration process consist in finding a set of neutrals and scale factors for each sensor, such as &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}physical\_value_x\\physical\_value_y\\physical\_value_z\end{pmatrix} = \begin{pmatrix}sf_x&amp;amp;0&amp;amp;0\\0&amp;amp;sf_y&amp;amp;0\\0&amp;amp;0&amp;amp;sf_z\end{pmatrix} * (\begin{pmatrix}sensor_x\\sensor_y\\sensor_z\end{pmatrix}-\begin{pmatrix}n_x\\n_y\\n_z\end{pmatrix})&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The principle of the calibration is the following : An accelerometer, on a vehicle at rest measures a constant vector ( the opposite of gravity ) in the earth frame, expressed in the vehicle frame.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
DCM * \begin{pmatrix}0\\0\\-9.81\end{pmatrix} = &lt;br /&gt;
\begin{pmatrix}sf_x&amp;amp;0&amp;amp;0\\0&amp;amp;sf_y&amp;amp;0\\0&amp;amp;0&amp;amp;sf_z\end{pmatrix} * (\begin{pmatrix}sensor_x\\sensor_y\\sensor_z\end{pmatrix}-\begin{pmatrix}n_x\\n_y\\n_z\end{pmatrix})&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DCM is a rotation matrix that converts between earth frame and body frame. It will change when we change the orientation of the vehicle. Nevertheless, a rotation conserves the norm of a vector. We can thus obtain the following scalar equation that doesn't depend on the vehicle orientation :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 9.81^2 = ( sf_x(sensor_x-n_x) )^2 +  (sf_y(sensor_y-n_y) )^2 +  (sf_z(sensor_z-n_z) )^2&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can then record an important number of measurements in different orientations and find the set of scale factor and neutral giving the norm closest to 9.81&lt;br /&gt;
&lt;br /&gt;
== calibration script installation==&lt;br /&gt;
Paparazzi comes with an application written in the Python language to calibrate the accelerometers and magnetometer. The application can be found in the &lt;br /&gt;
Paparazzi directory under &lt;br /&gt;
&lt;br /&gt;
 sw/tools/calibration/calibrate.py &lt;br /&gt;
&lt;br /&gt;
For the application to work howver you need additional Python softere, a so called ''library''. If you already have the package '''paparazzi-dev''' installed, the needed libs were already installed as dependencies.&lt;br /&gt;
If this is not the case you need to install '''python-scipy''' and '''python-matplotlib'''. This can be done via Synaptic or vai the command line of Ubuntu.&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install python-scipy&lt;br /&gt;
 $ sudo apt-get install python-matplotlib&lt;br /&gt;
&lt;br /&gt;
=== How to use it ===&lt;br /&gt;
&lt;br /&gt;
* Flash the normal ap firmware if not already on it.&lt;br /&gt;
&lt;br /&gt;
* Switch to the &amp;quot;raw sensors&amp;quot; telemetry mode and launch &amp;quot;server&amp;quot; to record a log. &lt;br /&gt;
&lt;br /&gt;
* Turn the imu on all six sides of the cube ( upright, inverted, on nose, on tail, on right side, on left side ). You can also take some measurememts banking 45 degres.&amp;lt;br&amp;gt;Try to get an homogeneous distribution of your measurements. I find it better to let the quad rest while measuring.&lt;br /&gt;
&lt;br /&gt;
* You can then run the python script to get your calibration coefficients, e.g. for accelerometer calibration: &lt;br /&gt;
&lt;br /&gt;
 ''sw/tools/calibration/calibrate.py -i &amp;lt;your_ac_id&amp;gt; -s ACCEL &amp;lt;path_to_data_file var/logs/xxxxxxx.data&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
(To get the ac_id, just open the *.data file - second column)&lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
&lt;br /&gt;
* It first makes an initial guess using min and max, ie for each axis&lt;br /&gt;
** neutral = 0.5 * (max + min)&lt;br /&gt;
** sensitivity = 0.5*(max-min)&lt;br /&gt;
&lt;br /&gt;
* It then uses a datafit algorithm to optimise the initial guess&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Screenshot of scilab version.&lt;br /&gt;
[[Image:calibAccel.png|240px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note for magnetometer: Because the magnetic field changes depending where on the globe you are, you will have to recalibrate your mag to fly somewhere else.&lt;br /&gt;
When you move the quad to different positions for logging make sure you align it along the direction of the magnetic field which will result in the maximum values for each axis ( or you can look up the inclination and declination of the magnetic field where you live [http://www.ngdc.noaa.gov/geomagmodels/IGRFWMM.jsp here]).&lt;br /&gt;
&lt;br /&gt;
=== Normalised magnetic fields for int_cmpl_quat AHRS filter === &lt;br /&gt;
See the [[Subsystem/ahrs#Complementary_Quaternion_.28fixed_point.29|Complementary Quaternion (fixed point) AHRS subsystem]] page for details.&lt;br /&gt;
&lt;br /&gt;
== Finding Signs ==&lt;br /&gt;
&lt;br /&gt;
For supported IMUs, the correct [https://github.com/paparazzi/paparazzi/tree/master/sw/airborne/subsystems/imu default] signs are already defined in the code. If using a new IMU or sign for yours are not in the code yet, here is the way to find them.&lt;br /&gt;
&lt;br /&gt;
We're calibrating everything relative to the IMU frame - Paparazzi has a parameter to define the orientation of the IMU with respect to the body of the vehicle that we'll use later, once you'll have decided of a good mechanical mounting.&lt;br /&gt;
&lt;br /&gt;
Paparazzi uses North East Down (NED) frame, that is positive x is pointing to the front, positive y to the right and positive z down.&lt;br /&gt;
&lt;br /&gt;
===Accelerometer:===&lt;br /&gt;
An accelerometer measures the non gravitational acceleration, that is &amp;lt;math&amp;gt;\ddot{x} - g&amp;lt;/math&amp;gt;. &amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; is pointing down, so &amp;lt;math&amp;gt;-g&amp;lt;/math&amp;gt; is pointing up. So stop moving, disregard earth rotation and you'll measure &amp;lt;math&amp;gt;-g&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*When your IMU is level you should see x=0 y=0 z=-9.81&lt;br /&gt;
*When pitching up -g is aligning with x, so you should see  x&amp;gt;0, y=0 and z&amp;lt;0&lt;br /&gt;
*When banking left -g is aligning with y, so you should see x=0, y&amp;gt;0 and z&amp;lt;0&lt;br /&gt;
&lt;br /&gt;
===Magnetometer:===&lt;br /&gt;
A magnetometer measures the Earths magnetic vector. In the Northern hemisphere this points North and down and in  the Southern hemisphere North and up.&lt;br /&gt;
&lt;br /&gt;
Thus in the Northern hemisphere:&lt;br /&gt;
*When you align your IMU with the direction of north, you should see x&amp;gt;0, y=0, z&amp;gt;0&lt;br /&gt;
*when pitching down the IMU, the magnetic vector is aligning with x, so x should increase and z should decrease to zero.&lt;br /&gt;
*if yawing your IMU to the left, the magnetic vector is aligning with y, so y should be positive, x should decrease to zero and z stay positive&lt;br /&gt;
&lt;br /&gt;
And in the Southern hemisphere:&lt;br /&gt;
*When you align your IMU with the direction of north, you should see x&amp;gt;0, y=0, z&amp;lt;0&lt;br /&gt;
*when pitching up the IMU, the magnetic vector is aligning with x, so x should increase and z should increase towards zero.&lt;br /&gt;
*if yawing your IMU to the left, the magnetic vector is aligning with y, so y should be positive, x should decrease to zero and z stay negative&lt;br /&gt;
&lt;br /&gt;
===Gyrometer:===&lt;br /&gt;
You need some turntable to calibrate the scale factors of your gyros. For signs, the definition of the frame give the following properties:&lt;br /&gt;
&lt;br /&gt;
*when rolling right, &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; should be positive&lt;br /&gt;
*When pitching up, &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt; should be positive&lt;br /&gt;
*When yawing to the right, &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; should be positive&lt;br /&gt;
&lt;br /&gt;
===Verification:===&lt;br /&gt;
Switch to AHRS telemetry mode and look for the fields that are prefixed with imu_&lt;br /&gt;
&lt;br /&gt;
*bank righ should give positive phi &lt;br /&gt;
*pitch up should give positive theta&lt;br /&gt;
*yaw right should give increasing psi&lt;br /&gt;
&lt;br /&gt;
*the value you'll see after letting the IMU rest will end up being the &amp;quot;measure&amp;quot; ( that is accelerometer and mag ). If those are wrong the problem is in the calibration of your sensors&lt;br /&gt;
*the values you get while moving the IMU are influenced by the gyros. If what you see is the value going crazy when you move, then stabilizing to something good after you stop moving, the problem is in your gyros.&lt;br /&gt;
&lt;br /&gt;
==Body to IMU rotation ==&lt;br /&gt;
Provision is made within the software to physically locate supported IMUs in  orientations with respect to the aircraft/rotorcraft frame which suit available mounting options. &lt;br /&gt;
&lt;br /&gt;
* The in-line, parallel mount example:  &lt;br /&gt;
&lt;br /&gt;
[[Image:Quad-top.png|240px]] &lt;br /&gt;
&lt;br /&gt;
Configured as:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BODY_TO_IMU_PHI&amp;quot;   value=&amp;quot;RadOfDeg( 0. )&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BODY_TO_IMU_THETA&amp;quot; value=&amp;quot;RadOfDeg( 0. )&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BODY_TO_IMU_PSI&amp;quot;   value=&amp;quot;RadOfDeg( 0. )&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
As noted further above, calibration and sign verification procedures are carried out relative to the IMU frame, hence defines should be left at zero until they are completed. &lt;br /&gt;
&lt;br /&gt;
* The positive 90 degree offset, parallel mount example:&lt;br /&gt;
&lt;br /&gt;
[[Image:Quad-top_IMU-90.png|240px]]&lt;br /&gt;
&lt;br /&gt;
Configured as:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BODY_TO_IMU_PHI&amp;quot;   value=&amp;quot;RadOfDeg( 0, )&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BODY_TO_IMU_THETA&amp;quot; value=&amp;quot;RadOfDeg( 0. )&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BODY_TO_IMU_PSI&amp;quot;   value=&amp;quot;RadOfDeg( 90. )&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
* Another variation might include turning the IMU upside down in the parallel plane:&lt;br /&gt;
&lt;br /&gt;
Configured as:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BODY_TO_IMU_PHI&amp;quot;   value=&amp;quot;RadOfDeg( 180.)&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BODY_TO_IMU_THETA&amp;quot; value=&amp;quot;RadOfDeg( 0. )&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BODY_TO_IMU_PSI&amp;quot;   value=&amp;quot;RadOfDeg( 0. )&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
===In Flight Tuning===&lt;br /&gt;
* Switch to AHRS telemetry mode and look for the fields that are prefixed with imu_&lt;br /&gt;
&lt;br /&gt;
[[Image:AHRS telemetry.png|240px]] &lt;br /&gt;
90 degree positive offset example&lt;br /&gt;
&lt;br /&gt;
* Open a Real_time plotter from the paparazzi console tools tab and drag int32 body_phi and int32 body_theta into the plotter box.&lt;br /&gt;
&lt;br /&gt;
* Hover rotorcraft (preferably indoors) to record data.&lt;br /&gt;
&lt;br /&gt;
* Copy the (best fit) recorded values into the airframe BODY_TO_IMU defines:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BODY_TO_IMU_PHI&amp;quot;   value=&amp;quot;RadOfDeg( 1.5)&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BODY_TO_IMU_THETA&amp;quot; value=&amp;quot;RadOfDeg( -0.5 )&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;BODY_TO_IMU_PSI&amp;quot;   value=&amp;quot;RadOfDeg( 90. )&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
* Ignore 'on the ground' resting values as depicted in the above image. They will change once the vehicle is in flight. The aim is to get the 'in flight' values of &amp;quot;int32 body_phi&amp;quot; &amp;amp; &amp;quot;int32 body_theta&amp;quot; as close to zero as possible.       &lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11425</id>
		<title>Lisa/M/Tutorial/RotorCraft</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11425"/>
		<updated>2012-01-26T10:37:58Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Xbee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Airframe Setup =&lt;br /&gt;
Basically rotorcraft is an aircraft that uses propeller lift to hold itself floating.&lt;br /&gt;
There are many types of rotorcrafts, but there are a couple of global classes:&lt;br /&gt;
&lt;br /&gt;
'''Single rotor''' (helicopters) which divide into:&lt;br /&gt;
* Classic (with tail rotor);&lt;br /&gt;
* Co-axial (with two sets of counter rotating blades);&lt;br /&gt;
* All others (there are some other helis like Chinhook or Osprey).&lt;br /&gt;
&lt;br /&gt;
'''Multirotor''' (copters) which are:&lt;br /&gt;
* 3 rotor Y type - this copter maintains yaw by tilting one of it's rotors with servo;&lt;br /&gt;
* 4 rotor X or + type - the trick is that two rotors spin &amp;quot;forward&amp;quot; and other two &amp;quot;backward&amp;quot;, with some strong magic difference between spin rates is used to rotate the craft around. X and + types differ only with direction of movement: X moves with two rotors forward and + moves with one rotor, like this +&amp;gt;;&lt;br /&gt;
* 6 rotor * or Y type - first case is the same as 4 rotor with two additional arms, the other is virtually one 3Y rotor flipped and put under another 3Y rotor;&lt;br /&gt;
* 8 rotor *, V or X/+ type - first is 6* rotor + two more arms, second is like Asctech Falcon 8 and the third is 4X/+ type put one on another.&lt;br /&gt;
&lt;br /&gt;
And if first class of rotorcrafts can use gyros only for yaw stabilization, multirotors need 3D (three axial) gyros to stabilize itself hovering which by the way do not guarantee that craft holds the spot, just not letting it fall on side.&lt;br /&gt;
&lt;br /&gt;
= First Steps =&lt;br /&gt;
&lt;br /&gt;
'''Multirotors'''&lt;br /&gt;
&lt;br /&gt;
Firstly you should choose correct airframe. If you're novice to copters quadrotor will be a good choice for several reasons: firstly it's most common type of copter, then most of hardware works with such setup &amp;quot;out of the box&amp;quot; and there is plenty information in mailing lists.&lt;br /&gt;
By the way, it would be a good idea to decide how do you want to use your copter. Generally it will allow you to choose correct motors and ESCs for copter.&lt;br /&gt;
&lt;br /&gt;
ESC and motors should be chosen with weight economy in mind. i.e. good idea is to purchase ~600-1000 gram motors (NOT more unless you know what are you doing) and 15-25A ESCs depending on your motor current consumption.&lt;br /&gt;
&lt;br /&gt;
Airframe typically consists of &amp;quot;center hub&amp;quot; and &amp;quot;rotor arms&amp;quot; which due to ease of aircraft control and low crushablity are made of light materials (for example aluminum for arms and perforated carbon for center hub).&lt;br /&gt;
There is a wide choice of ready to build aftermarket airframes if you don't want to bother with building one.&lt;br /&gt;
&lt;br /&gt;
Generally there is only one important thing left it's balancing whole copter after you put it together.&lt;br /&gt;
There is one simple rule: ready to fly quadrotor should have it's center of gravity (COG) in the middle.&lt;br /&gt;
By &amp;quot;ready to fly&amp;quot; I mean - every equipment that should be placed on copter including battery and payload.&lt;br /&gt;
&lt;br /&gt;
= Configure the autopilot =&lt;br /&gt;
Generally: [[Rotorcraft_Configuration]]&lt;br /&gt;
&lt;br /&gt;
Lisa/M: [[User/LisaM/Tutorial/RotorCraft]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Partlists =&lt;br /&gt;
I recognized that I spent a lot of time to search all compatible components. That list should help you to make your chose easier and faster.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:white&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! User !! Type !! Propeller size !! Frame !! Motors !! ESC !! Telemetry !! RC Transmitter !! RC Receiver !! GPS !! Autopilot !! IMU&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| [[User:Bruzzlee|Bruzzlee]] || Quadrotor || 12&amp;quot; || Homebrew || Scorpion S-2215-900KV || ePower 30A 2-4S || [[User/LisaM/Tutorial/RotorCraft#Xbee|Xbee 60mW]] || Spektrum DX6i || HobbyKing Orange Satellite || [[User/LisaM/Tutorial/RotorCraft#GPS_GS407|GS407]] || Lisa/M || Aspirin&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| add your list here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Xbee ===&lt;br /&gt;
[[Image:XbeeParts.JPG|thumb|Xbee parts photo]]&lt;br /&gt;
&lt;br /&gt;
* 2.4GHz Duck Antenna RP-SMA - Large&lt;br /&gt;
* Interface Cable RP-SMA to U.FL (should fit to the Duck Antenna)&lt;br /&gt;
* XBee Explorer USB  &lt;br /&gt;
* XBee Pro 60mW U.FL Connection - Series 1  &lt;br /&gt;
* XBee Pro 60mW Wire Antenna - Series 1&lt;br /&gt;
* XBee Explorer Regulated&lt;br /&gt;
&lt;br /&gt;
=== GPS GS407===&lt;br /&gt;
* 50 Channel GS407 Helical GPS Receiver  &lt;br /&gt;
* GS407 Breakout Board&lt;br /&gt;
&lt;br /&gt;
= Wiring (not tested!) =&lt;br /&gt;
[[Image:LisaMWiring_Quadrotor.png|thumb|LisaM wiring for quadrotor]]&lt;br /&gt;
[[Image:LisaMWiring_Quadrotor_2.png|thumb|Alternative LisaM wiring for quadrotor]]&lt;br /&gt;
&lt;br /&gt;
This scheme shows a possibility to connect the parts to the Lisa M.&amp;lt;br/&amp;gt;&lt;br /&gt;
In this version, the board is powered by the 5V BEC of the Servo 1 ESC.&amp;lt;br/&amp;gt;&lt;br /&gt;
Jumper J1 is bridged. The battery on I2C1/CAN is only needed to measure the actual battery voltage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:red&amp;quot;&amp;gt;--&amp;gt; This version is not tested yet!!! No warranty!!! &amp;lt;---&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See following links for more informations:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Pinout]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Schematic]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#RC_receiver]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#Power]]&lt;br /&gt;
&lt;br /&gt;
= Frame building =&lt;br /&gt;
&amp;quot;Photo gallery&amp;quot; Bruzzlee: [[User/RotorCraft/Bruzzlee]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11424</id>
		<title>Lisa/M/Tutorial/RotorCraft</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11424"/>
		<updated>2012-01-26T10:32:22Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Airframe Setup =&lt;br /&gt;
Basically rotorcraft is an aircraft that uses propeller lift to hold itself floating.&lt;br /&gt;
There are many types of rotorcrafts, but there are a couple of global classes:&lt;br /&gt;
&lt;br /&gt;
'''Single rotor''' (helicopters) which divide into:&lt;br /&gt;
* Classic (with tail rotor);&lt;br /&gt;
* Co-axial (with two sets of counter rotating blades);&lt;br /&gt;
* All others (there are some other helis like Chinhook or Osprey).&lt;br /&gt;
&lt;br /&gt;
'''Multirotor''' (copters) which are:&lt;br /&gt;
* 3 rotor Y type - this copter maintains yaw by tilting one of it's rotors with servo;&lt;br /&gt;
* 4 rotor X or + type - the trick is that two rotors spin &amp;quot;forward&amp;quot; and other two &amp;quot;backward&amp;quot;, with some strong magic difference between spin rates is used to rotate the craft around. X and + types differ only with direction of movement: X moves with two rotors forward and + moves with one rotor, like this +&amp;gt;;&lt;br /&gt;
* 6 rotor * or Y type - first case is the same as 4 rotor with two additional arms, the other is virtually one 3Y rotor flipped and put under another 3Y rotor;&lt;br /&gt;
* 8 rotor *, V or X/+ type - first is 6* rotor + two more arms, second is like Asctech Falcon 8 and the third is 4X/+ type put one on another.&lt;br /&gt;
&lt;br /&gt;
And if first class of rotorcrafts can use gyros only for yaw stabilization, multirotors need 3D (three axial) gyros to stabilize itself hovering which by the way do not guarantee that craft holds the spot, just not letting it fall on side.&lt;br /&gt;
&lt;br /&gt;
= First Steps =&lt;br /&gt;
&lt;br /&gt;
'''Multirotors'''&lt;br /&gt;
&lt;br /&gt;
Firstly you should choose correct airframe. If you're novice to copters quadrotor will be a good choice for several reasons: firstly it's most common type of copter, then most of hardware works with such setup &amp;quot;out of the box&amp;quot; and there is plenty information in mailing lists.&lt;br /&gt;
By the way, it would be a good idea to decide how do you want to use your copter. Generally it will allow you to choose correct motors and ESCs for copter.&lt;br /&gt;
&lt;br /&gt;
ESC and motors should be chosen with weight economy in mind. i.e. good idea is to purchase ~600-1000 gram motors (NOT more unless you know what are you doing) and 15-25A ESCs depending on your motor current consumption.&lt;br /&gt;
&lt;br /&gt;
Airframe typically consists of &amp;quot;center hub&amp;quot; and &amp;quot;rotor arms&amp;quot; which due to ease of aircraft control and low crushablity are made of light materials (for example aluminum for arms and perforated carbon for center hub).&lt;br /&gt;
There is a wide choice of ready to build aftermarket airframes if you don't want to bother with building one.&lt;br /&gt;
&lt;br /&gt;
Generally there is only one important thing left it's balancing whole copter after you put it together.&lt;br /&gt;
There is one simple rule: ready to fly quadrotor should have it's center of gravity (COG) in the middle.&lt;br /&gt;
By &amp;quot;ready to fly&amp;quot; I mean - every equipment that should be placed on copter including battery and payload.&lt;br /&gt;
&lt;br /&gt;
= Configure the autopilot =&lt;br /&gt;
Generally: [[Rotorcraft_Configuration]]&lt;br /&gt;
&lt;br /&gt;
Lisa/M: [[User/LisaM/Tutorial/RotorCraft]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Partlists =&lt;br /&gt;
I recognized that I spent a lot of time to search all compatible components. That list should help you to make your chose easier and faster.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:white&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! User !! Type !! Propeller size !! Frame !! Motors !! ESC !! Telemetry !! RC Transmitter !! RC Receiver !! GPS !! Autopilot !! IMU&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| [[User:Bruzzlee|Bruzzlee]] || Quadrotor || 12&amp;quot; || Homebrew || Scorpion S-2215-900KV || ePower 30A 2-4S || [[User/LisaM/Tutorial/RotorCraft#Xbee|Xbee 60mW]] || Spektrum DX6i || HobbyKing Orange Satellite || [[User/LisaM/Tutorial/RotorCraft#GPS_GS407|GS407]] || Lisa/M || Aspirin&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| add your list here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Xbee ===&lt;br /&gt;
[[Image:XbeeParts.JPG|thumb|Xbee parts photo]]&lt;br /&gt;
&lt;br /&gt;
* 2.4GHz Duck Antenna RP-SMA - Large&lt;br /&gt;
* Interface Cable SMA to Lassen IQ Hirose HFL &lt;br /&gt;
* XBee Explorer USB  &lt;br /&gt;
* XBee Pro 60mW U.FL Connection - Series 1  &lt;br /&gt;
* XBee Pro 60mW Wire Antenna - Series 1&lt;br /&gt;
* XBee Explorer Regulated&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== GPS GS407===&lt;br /&gt;
* 50 Channel GS407 Helical GPS Receiver  &lt;br /&gt;
* GS407 Breakout Board&lt;br /&gt;
&lt;br /&gt;
= Wiring (not tested!) =&lt;br /&gt;
[[Image:LisaMWiring_Quadrotor.png|thumb|LisaM wiring for quadrotor]]&lt;br /&gt;
[[Image:LisaMWiring_Quadrotor_2.png|thumb|Alternative LisaM wiring for quadrotor]]&lt;br /&gt;
&lt;br /&gt;
This scheme shows a possibility to connect the parts to the Lisa M.&amp;lt;br/&amp;gt;&lt;br /&gt;
In this version, the board is powered by the 5V BEC of the Servo 1 ESC.&amp;lt;br/&amp;gt;&lt;br /&gt;
Jumper J1 is bridged. The battery on I2C1/CAN is only needed to measure the actual battery voltage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:red&amp;quot;&amp;gt;--&amp;gt; This version is not tested yet!!! No warranty!!! &amp;lt;---&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See following links for more informations:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Pinout]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Schematic]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#RC_receiver]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#Power]]&lt;br /&gt;
&lt;br /&gt;
= Frame building =&lt;br /&gt;
&amp;quot;Photo gallery&amp;quot; Bruzzlee: [[User/RotorCraft/Bruzzlee]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:LisaMWiring_Quadrotor_2.png&amp;diff=11423</id>
		<title>File:LisaMWiring Quadrotor 2.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:LisaMWiring_Quadrotor_2.png&amp;diff=11423"/>
		<updated>2012-01-26T10:29:43Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: Alternative wiring method
Quadrotor Lisa M wiring Spektrum Xbee GS407 Helical GPS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Alternative wiring method&lt;br /&gt;
Quadrotor Lisa M wiring Spektrum Xbee GS407 Helical GPS&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11422</id>
		<title>Lisa/M/Tutorial/RotorCraft</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11422"/>
		<updated>2012-01-26T10:27:17Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Airframe Setup =&lt;br /&gt;
Basically rotorcraft is an aircraft that uses propeller lift to hold itself floating.&lt;br /&gt;
There are many types of rotorcrafts, but there are a couple of global classes:&lt;br /&gt;
&lt;br /&gt;
'''Single rotor''' (helicopters) which divide into:&lt;br /&gt;
* Classic (with tail rotor);&lt;br /&gt;
* Co-axial (with two sets of counter rotating blades);&lt;br /&gt;
* All others (there are some other helis like Chinhook or Osprey).&lt;br /&gt;
&lt;br /&gt;
'''Multirotor''' (copters) which are:&lt;br /&gt;
* 3 rotor Y type - this copter maintains yaw by tilting one of it's rotors with servo;&lt;br /&gt;
* 4 rotor X or + type - the trick is that two rotors spin &amp;quot;forward&amp;quot; and other two &amp;quot;backward&amp;quot;, with some strong magic difference between spin rates is used to rotate the craft around. X and + types differ only with direction of movement: X moves with two rotors forward and + moves with one rotor, like this +&amp;gt;;&lt;br /&gt;
* 6 rotor * or Y type - first case is the same as 4 rotor with two additional arms, the other is virtually one 3Y rotor flipped and put under another 3Y rotor;&lt;br /&gt;
* 8 rotor *, V or X/+ type - first is 6* rotor + two more arms, second is like Asctech Falcon 8 and the third is 4X/+ type put one on another.&lt;br /&gt;
&lt;br /&gt;
And if first class of rotorcrafts can use gyros only for yaw stabilization, multirotors need 3D (three axial) gyros to stabilize itself hovering which by the way do not guarantee that craft holds the spot, just not letting it fall on side.&lt;br /&gt;
&lt;br /&gt;
= First Steps =&lt;br /&gt;
&lt;br /&gt;
'''Multirotors'''&lt;br /&gt;
&lt;br /&gt;
Firstly you should choose correct airframe. If you're novice to copters quadrotor will be a good choice for several reasons: firstly it's most common type of copter, then most of hardware works with such setup &amp;quot;out of the box&amp;quot; and there is plenty information in mailing lists.&lt;br /&gt;
By the way, it would be a good idea to decide how do you want to use your copter. Generally it will allow you to choose correct motors and ESCs for copter.&lt;br /&gt;
&lt;br /&gt;
ESC and motors should be chosen with weight economy in mind. i.e. good idea is to purchase ~600-1000 gram motors (NOT more unless you know what are you doing) and 15-25A ESCs depending on your motor current consumption.&lt;br /&gt;
&lt;br /&gt;
Airframe typically consists of &amp;quot;center hub&amp;quot; and &amp;quot;rotor arms&amp;quot; which due to ease of aircraft control and low crushablity are made of light materials (for example aluminum for arms and perforated carbon for center hub).&lt;br /&gt;
There is a wide choice of ready to build aftermarket airframes if you don't want to bother with building one.&lt;br /&gt;
&lt;br /&gt;
Generally there is only one important thing left it's balancing whole copter after you put it together.&lt;br /&gt;
There is one simple rule: ready to fly quadrotor should have it's center of gravity (COG) in the middle.&lt;br /&gt;
By &amp;quot;ready to fly&amp;quot; I mean - every equipment that should be placed on copter including battery and payload.&lt;br /&gt;
&lt;br /&gt;
= Configure the autopilot =&lt;br /&gt;
Generally: [[Rotorcraft_Configuration]]&lt;br /&gt;
&lt;br /&gt;
Lisa/M: [[User/LisaM/Tutorial/RotorCraft]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Partlists =&lt;br /&gt;
I recognized that I spent a lot of time to search all compatible components. That list should help you to make your chose easier and faster.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:white&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! User !! Type !! Propeller size !! Frame !! Motors !! ESC !! Telemetry !! RC Transmitter !! RC Receiver !! GPS !! Autopilot !! IMU&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| [[User:Bruzzlee|Bruzzlee]] || Quadrotor || 12&amp;quot; || Homebrew || Scorpion S-2215-900KV || ePower 30A 2-4S || [[User/LisaM/Tutorial/RotorCraft#Xbee|Xbee 60mW]] || Spektrum DX6i || HobbyKing Orange Satellite || [[User/LisaM/Tutorial/RotorCraft#GPS_GS407|GS407]] || Lisa/M || Aspirin&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| add your list here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Xbee ===&lt;br /&gt;
* 2.4GHz Duck Antenna RP-SMA - Large&lt;br /&gt;
* Interface Cable SMA to Lassen IQ Hirose HFL &lt;br /&gt;
* XBee Explorer USB  &lt;br /&gt;
* XBee Pro 60mW U.FL Connection - Series 1  &lt;br /&gt;
* XBee Pro 60mW Wire Antenna - Series 1&lt;br /&gt;
* XBee Explorer Regulated&lt;br /&gt;
[[Image:XbeeParts.JPG|thumb|Xbee parts photo]]&lt;br /&gt;
&lt;br /&gt;
=== GPS GS407===&lt;br /&gt;
* 50 Channel GS407 Helical GPS Receiver  &lt;br /&gt;
* GS407 Breakout Board&lt;br /&gt;
&lt;br /&gt;
= Wiring (not tested!) =&lt;br /&gt;
This scheme shows a possibility to connect the parts to the Lisa M.&amp;lt;br/&amp;gt;&lt;br /&gt;
In this version, the board is powered by the 5V BEC of the Servo 1 ESC.&amp;lt;br/&amp;gt;&lt;br /&gt;
Jumper J1 is bridged. The battery on I2C1/CAN is only needed to measure the actual battery voltage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:red&amp;quot;&amp;gt;--&amp;gt; This version is not tested yet!!! No warranty!!! &amp;lt;---&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See following links for more informations:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Pinout]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Schematic]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#RC_receiver]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#Power]]&lt;br /&gt;
&lt;br /&gt;
[[Image:LisaMWiring_Quadrotor.png|thumb|LisaM wiring for quadrotor]]&lt;br /&gt;
&lt;br /&gt;
= Frame building =&lt;br /&gt;
&amp;quot;Photo gallery&amp;quot; Bruzzlee: [[User/RotorCraft/Bruzzlee]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11421</id>
		<title>Lisa/M/Tutorial/RotorCraft</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11421"/>
		<updated>2012-01-26T10:26:44Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Airframe Setup =&lt;br /&gt;
Basically rotorcraft is an aircraft that uses propeller lift to hold itself floating.&lt;br /&gt;
There are many types of rotorcrafts, but there are a couple of global classes:&lt;br /&gt;
&lt;br /&gt;
'''Single rotor''' (helicopters) which divide into:&lt;br /&gt;
* Classic (with tail rotor);&lt;br /&gt;
* Co-axial (with two sets of counter rotating blades);&lt;br /&gt;
* All others (there are some other helis like Chinhook or Osprey).&lt;br /&gt;
&lt;br /&gt;
'''Multirotor''' (copters) which are:&lt;br /&gt;
* 3 rotor Y type - this copter maintains yaw by tilting one of it's rotors with servo;&lt;br /&gt;
* 4 rotor X or + type - the trick is that two rotors spin &amp;quot;forward&amp;quot; and other two &amp;quot;backward&amp;quot;, with some strong magic difference between spin rates is used to rotate the craft around. X and + types differ only with direction of movement: X moves with two rotors forward and + moves with one rotor, like this +&amp;gt;;&lt;br /&gt;
* 6 rotor * or Y type - first case is the same as 4 rotor with two additional arms, the other is virtually one 3Y rotor flipped and put under another 3Y rotor;&lt;br /&gt;
* 8 rotor *, V or X/+ type - first is 6* rotor + two more arms, second is like Asctech Falcon 8 and the third is 4X/+ type put one on another.&lt;br /&gt;
&lt;br /&gt;
And if first class of rotorcrafts can use gyros only for yaw stabilization, multirotors need 3D (three axial) gyros to stabilize itself hovering which by the way do not guarantee that craft holds the spot, just not letting it fall on side.&lt;br /&gt;
&lt;br /&gt;
= First Steps =&lt;br /&gt;
&lt;br /&gt;
'''Multirotors'''&lt;br /&gt;
&lt;br /&gt;
Firstly you should choose correct airframe. If you're novice to copters quadrotor will be a good choice for several reasons: firstly it's most common type of copter, then most of hardware works with such setup &amp;quot;out of the box&amp;quot; and there is plenty information in mailing lists.&lt;br /&gt;
By the way, it would be a good idea to decide how do you want to use your copter. Generally it will allow you to choose correct motors and ESCs for copter.&lt;br /&gt;
&lt;br /&gt;
ESC and motors should be chosen with weight economy in mind. i.e. good idea is to purchase ~600-1000 gram motors (NOT more unless you know what are you doing) and 15-25A ESCs depending on your motor current consumption.&lt;br /&gt;
&lt;br /&gt;
Airframe typically consists of &amp;quot;center hub&amp;quot; and &amp;quot;rotor arms&amp;quot; which due to ease of aircraft control and low crushablity are made of light materials (for example aluminum for arms and perforated carbon for center hub).&lt;br /&gt;
There is a wide choice of ready to build aftermarket airframes if you don't want to bother with building one.&lt;br /&gt;
&lt;br /&gt;
Generally there is only one important thing left it's balancing whole copter after you put it together.&lt;br /&gt;
There is one simple rule: ready to fly quadrotor should have it's center of gravity (COG) in the middle.&lt;br /&gt;
By &amp;quot;ready to fly&amp;quot; I mean - every equipment that should be placed on copter including battery and payload.&lt;br /&gt;
&lt;br /&gt;
= Configure the autopilot =&lt;br /&gt;
Generally: [[Rotorcraft_Configuration]]&lt;br /&gt;
&lt;br /&gt;
Lisa/M: [[User/LisaM/Tutorial/RotorCraft]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Partlists =&lt;br /&gt;
I recognized that I spent a lot of time to search all compatible components. That list should help you to make your chose easier and faster.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:white&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! User !! Type !! Propeller size !! Frame !! Motors !! ESC !! Telemetry !! RC Transmitter !! RC Receiver !! GPS !! Autopilot !! IMU&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| [[User:Bruzzlee|Bruzzlee]] || Quadrotor || 12&amp;quot; || Homebrew || Scorpion S-2215-900KV || ePower 30A 2-4S || [[User/LisaM/Tutorial/RotorCraft#Xbee|Xbee 60mW]] || Spektrum DX6i || HobbyKing Orange Satellite || [[User/LisaM/Tutorial/RotorCraft#GPS_GS407|GS407]] || Lisa/M || Aspirin&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| add your list here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Xbee ===&lt;br /&gt;
* 2.4GHz Duck Antenna RP-SMA - Large&lt;br /&gt;
* Interface Cable SMA to Lassen IQ Hirose HFL &lt;br /&gt;
* XBee Explorer USB  &lt;br /&gt;
* XBee Pro 60mW U.FL Connection - Series 1  &lt;br /&gt;
* XBee Pro 60mW Wire Antenna - Series 1&lt;br /&gt;
* XBee Explorer Regulated&lt;br /&gt;
[[Image:XbeeParts.JPG|thumb|Xbee parts photo]]&lt;br /&gt;
&lt;br /&gt;
=== GPS GS407===&lt;br /&gt;
* 50 Channel GS407 Helical GPS Receiver  &lt;br /&gt;
* GS407 Breakout Board&lt;br /&gt;
&lt;br /&gt;
= Wiring (not tested!) =&lt;br /&gt;
This scheme shows a possibility to connect the parts to the Lisa M.&amp;lt;br/&amp;gt;&lt;br /&gt;
In this version, the board is powered by the 5V BEC of the Servo 1 ESC.&amp;lt;br/&amp;gt;&lt;br /&gt;
Jumper J1 is bridged. The battery on I2C1/CAN is only needed to measure the actual battery voltage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:red&amp;quot;&amp;gt;--&amp;gt; This version is not tested yet!!! No warranty!!! &amp;lt;---&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See following links for more informations:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Pinout]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Schematic]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#RC_receiver]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#Power]]&lt;br /&gt;
&lt;br /&gt;
[[Image:LisaMWiring_Quadrotor.png|thumb|LisaM wiring for quadrotor|700px]]&lt;br /&gt;
&lt;br /&gt;
= Frame building =&lt;br /&gt;
&amp;quot;Photo gallery&amp;quot; Bruzzlee: [[User/RotorCraft/Bruzzlee]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11420</id>
		<title>Lisa/M/Tutorial/RotorCraft</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11420"/>
		<updated>2012-01-26T10:25:11Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Xbee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Airframe Setup =&lt;br /&gt;
Basically rotorcraft is an aircraft that uses propeller lift to hold itself floating.&lt;br /&gt;
There are many types of rotorcrafts, but there are a couple of global classes:&lt;br /&gt;
&lt;br /&gt;
'''Single rotor''' (helicopters) which divide into:&lt;br /&gt;
* Classic (with tail rotor);&lt;br /&gt;
* Co-axial (with two sets of counter rotating blades);&lt;br /&gt;
* All others (there are some other helis like Chinhook or Osprey).&lt;br /&gt;
&lt;br /&gt;
'''Multirotor''' (copters) which are:&lt;br /&gt;
* 3 rotor Y type - this copter maintains yaw by tilting one of it's rotors with servo;&lt;br /&gt;
* 4 rotor X or + type - the trick is that two rotors spin &amp;quot;forward&amp;quot; and other two &amp;quot;backward&amp;quot;, with some strong magic difference between spin rates is used to rotate the craft around. X and + types differ only with direction of movement: X moves with two rotors forward and + moves with one rotor, like this +&amp;gt;;&lt;br /&gt;
* 6 rotor * or Y type - first case is the same as 4 rotor with two additional arms, the other is virtually one 3Y rotor flipped and put under another 3Y rotor;&lt;br /&gt;
* 8 rotor *, V or X/+ type - first is 6* rotor + two more arms, second is like Asctech Falcon 8 and the third is 4X/+ type put one on another.&lt;br /&gt;
&lt;br /&gt;
And if first class of rotorcrafts can use gyros only for yaw stabilization, multirotors need 3D (three axial) gyros to stabilize itself hovering which by the way do not guarantee that craft holds the spot, just not letting it fall on side.&lt;br /&gt;
&lt;br /&gt;
= First Steps =&lt;br /&gt;
&lt;br /&gt;
'''Multirotors'''&lt;br /&gt;
&lt;br /&gt;
Firstly you should choose correct airframe. If you're novice to copters quadrotor will be a good choice for several reasons: firstly it's most common type of copter, then most of hardware works with such setup &amp;quot;out of the box&amp;quot; and there is plenty information in mailing lists.&lt;br /&gt;
By the way, it would be a good idea to decide how do you want to use your copter. Generally it will allow you to choose correct motors and ESCs for copter.&lt;br /&gt;
&lt;br /&gt;
ESC and motors should be chosen with weight economy in mind. i.e. good idea is to purchase ~600-1000 gram motors (NOT more unless you know what are you doing) and 15-25A ESCs depending on your motor current consumption.&lt;br /&gt;
&lt;br /&gt;
Airframe typically consists of &amp;quot;center hub&amp;quot; and &amp;quot;rotor arms&amp;quot; which due to ease of aircraft control and low crushablity are made of light materials (for example aluminum for arms and perforated carbon for center hub).&lt;br /&gt;
There is a wide choice of ready to build aftermarket airframes if you don't want to bother with building one.&lt;br /&gt;
&lt;br /&gt;
Generally there is only one important thing left it's balancing whole copter after you put it together.&lt;br /&gt;
There is one simple rule: ready to fly quadrotor should have it's center of gravity (COG) in the middle.&lt;br /&gt;
By &amp;quot;ready to fly&amp;quot; I mean - every equipment that should be placed on copter including battery and payload.&lt;br /&gt;
&lt;br /&gt;
= Configure the autopilot =&lt;br /&gt;
Generally: [[Rotorcraft_Configuration]]&lt;br /&gt;
&lt;br /&gt;
Lisa/M: [[User/LisaM/Tutorial/RotorCraft]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Partlists =&lt;br /&gt;
I recognized that I spent a lot of time to search all compatible components. That list should help you to make your chose easier and faster.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:white&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! User !! Type !! Propeller size !! Frame !! Motors !! ESC !! Telemetry !! RC Transmitter !! RC Receiver !! GPS !! Autopilot !! IMU&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| [[User:Bruzzlee|Bruzzlee]] || Quadrotor || 12&amp;quot; || Homebrew || Scorpion S-2215-900KV || ePower 30A 2-4S || [[User/LisaM/Tutorial/RotorCraft#Xbee|Xbee 60mW]] || Spektrum DX6i || HobbyKing Orange Satellite || [[User/LisaM/Tutorial/RotorCraft#GPS_GS407|GS407]] || Lisa/M || Aspirin&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| add your list here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Xbee ===&lt;br /&gt;
* 2.4GHz Duck Antenna RP-SMA - Large&lt;br /&gt;
* Interface Cable SMA to Lassen IQ Hirose HFL &lt;br /&gt;
* XBee Explorer USB  &lt;br /&gt;
* XBee Pro 60mW U.FL Connection - Series 1  &lt;br /&gt;
* XBee Pro 60mW Wire Antenna - Series 1&lt;br /&gt;
* XBee Explorer Regulated&lt;br /&gt;
[[Image:XbeeParts.JPG|thumb|Xbee parts photo|400px]]&lt;br /&gt;
&lt;br /&gt;
=== GPS GS407===&lt;br /&gt;
* 50 Channel GS407 Helical GPS Receiver  &lt;br /&gt;
* GS407 Breakout Board&lt;br /&gt;
&lt;br /&gt;
= Wiring (not tested!) =&lt;br /&gt;
This scheme shows a possibility to connect the parts to the Lisa M.&amp;lt;br/&amp;gt;&lt;br /&gt;
In this version, the board is powered by the 5V BEC of the Servo 1 ESC.&amp;lt;br/&amp;gt;&lt;br /&gt;
Jumper J1 is bridged. The battery on I2C1/CAN is only needed to measure the actual battery voltage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:red&amp;quot;&amp;gt;--&amp;gt; This version is not tested yet!!! No warranty!!! &amp;lt;---&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See following links for more informations:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Pinout]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Schematic]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#RC_receiver]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#Power]]&lt;br /&gt;
&lt;br /&gt;
[[Image:LisaMWiring_Quadrotor.png|LisaM wiring for quadrotor|700px]]&lt;br /&gt;
&lt;br /&gt;
= Frame building =&lt;br /&gt;
&amp;quot;Photo gallery&amp;quot; Bruzzlee: [[User/RotorCraft/Bruzzlee]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&amp;diff=11338</id>
		<title>XBee configuration</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&amp;diff=11338"/>
		<updated>2012-01-11T16:01:44Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* XBee Pro DigiMesh / 802.15.4 (&amp;quot;Series 1&amp;quot;) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Paparazzi supports the following modem protocols:&lt;br /&gt;
* Standard transparent serial (pprz protocol, AT mode) - compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.&lt;br /&gt;
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Installation of X-CTU ===&lt;br /&gt;
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.&lt;br /&gt;
&lt;br /&gt;
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:&lt;br /&gt;
&lt;br /&gt;
 sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4&lt;br /&gt;
&lt;br /&gt;
If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter &amp;quot;Manually Update the X-CTU firmware files&amp;quot; of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].&lt;br /&gt;
&lt;br /&gt;
=== Configuring XBee AT mode using X-CTU ===&lt;br /&gt;
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Basic approach:&lt;br /&gt;
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].&lt;br /&gt;
# Start the X-CTU programm and go to the modem configuration.&lt;br /&gt;
# Click on READ&lt;br /&gt;
# Select the appropriate function set with AT command set.&lt;br /&gt;
# set PAN ID, etc... depending on which XBee you use&lt;br /&gt;
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.&lt;br /&gt;
# Then write the firmware to the module.&lt;br /&gt;
If X-CTU asks you to reset the XBee, you have to connect the RST pin (5) to the GND pin (10) of the XBee. You can do this manually using tweezers or a short wire.&lt;br /&gt;
&lt;br /&gt;
=== Configuring XBee using minicom ===&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:&lt;br /&gt;
&lt;br /&gt;
# Connect XBee to your computer&lt;br /&gt;
# Setup minicom (by default XBee modems come set up for 9600 baud)&lt;br /&gt;
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream&lt;br /&gt;
# Type three '+' in quick succession resulting in &amp;quot;+++&amp;quot; string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)&lt;br /&gt;
#* you get a confirmation: 'OK'&lt;br /&gt;
# Type &amp;quot;AT&amp;lt;enter&amp;gt;&amp;quot;&lt;br /&gt;
#* you get a confirmation: 'OK'&lt;br /&gt;
# Type &amp;quot;ATBD&amp;lt;enter&amp;gt;&amp;quot;&lt;br /&gt;
#* you get the baudrate code: '3'&lt;br /&gt;
# To set another baudrate select one of the following by typing &amp;quot;ATBD &amp;lt;baud code&amp;gt;&amp;lt;enter&amp;gt;&amp;quot;&lt;br /&gt;
#* 0 = 1200&lt;br /&gt;
#* 1 = 2400&lt;br /&gt;
#* 2 = 4800&lt;br /&gt;
#* 3 = 9600&lt;br /&gt;
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer&lt;br /&gt;
#* 5 = 38400&lt;br /&gt;
#* 6 = 57600&lt;br /&gt;
#* 7 = 115200&lt;br /&gt;
# To store the new baudrate in the rom type &amp;quot;ATWR&amp;lt;enter&amp;gt;&amp;quot;&lt;br /&gt;
# Now you can close minicom&lt;br /&gt;
# Reconnect modem&lt;br /&gt;
# Restart minicom with the new baudrate&lt;br /&gt;
# Test that the modem is setup correctly by tiping &amp;quot;+++&amp;quot; and getting &amp;quot;OK&amp;quot; confirmation&lt;br /&gt;
&lt;br /&gt;
== XBee Pro ZB (AT command set) ==&lt;br /&gt;
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the airborne module ===&lt;br /&gt;
# Connect your XBee, start X-CTU, click READ&lt;br /&gt;
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).&lt;br /&gt;
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).&lt;br /&gt;
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.&lt;br /&gt;
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.&lt;br /&gt;
# Then write the firmware to the module.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the ground station module ===&lt;br /&gt;
# Connect your XBee, start X-CTU, click READ&lt;br /&gt;
# Select the function set '''ZIGBEE COORDINATOR AT'''.&lt;br /&gt;
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).&lt;br /&gt;
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.&lt;br /&gt;
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.&lt;br /&gt;
# Then write the firmware to the module.&lt;br /&gt;
&lt;br /&gt;
=== Pairing your Modems ===&lt;br /&gt;
&lt;br /&gt;
For maximum performance you can pair the ground modem to the airborne modem. Set the &amp;quot;DH - Destination Address High&amp;quot; and &amp;quot;DL - Destination Address Low&amp;quot; to the unique serial number &amp;quot;SH - Serial Number High&amp;quot; and &amp;quot;SL - Serial Number Low&amp;quot; of the other modem. Do so both on the ground modem and on the airborne modem. Failing to properly pair your modems will likely result in poor throughput and data loss between your airframe and your ground control station.&lt;br /&gt;
&lt;br /&gt;
=== Reviving a non-responding Xbee Pro ===&lt;br /&gt;
&lt;br /&gt;
To bring an apparently dead XBee Pro Series 2 back to life, do the following:&lt;br /&gt;
&lt;br /&gt;
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).&lt;br /&gt;
#Open X-CTU.&lt;br /&gt;
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).&lt;br /&gt;
#Choose the option you want to program (i.e., &amp;quot;END DEVICE&amp;quot; or &amp;quot;COORDINATOR&amp;quot;) as if you were programming it.&lt;br /&gt;
#With the XBee not in the device, click &amp;quot;WRITE&amp;quot;. It will hang, timeout, and bring up a dialog box.&lt;br /&gt;
#Before you click OK to the dialog box, plug in the XBee module (carefully).&lt;br /&gt;
#Click OK to clear the message and it should start programming automatically.&lt;br /&gt;
&lt;br /&gt;
=== Other tutorials ===&lt;br /&gt;
&lt;br /&gt;
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.openpilot.org/display/Doc/Configure+Xbee+via+Linux openpilot: XBee RF modems]&lt;br /&gt;
&lt;br /&gt;
== XBee Pro ZNet 2.5 (AT command set) ==&lt;br /&gt;
These are legacy modems and not recommended/sold by Digi anymore.&lt;br /&gt;
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:&lt;br /&gt;
&lt;br /&gt;
=== Flashing the airborne module ===&lt;br /&gt;
# Connect your XBee, start X-CTU, click READ&lt;br /&gt;
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.&lt;br /&gt;
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).&lt;br /&gt;
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.&lt;br /&gt;
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.&lt;br /&gt;
# Then write the firmware to the module.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the ground station module ===&lt;br /&gt;
# Connect your XBee, start X-CTU, click READ&lt;br /&gt;
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.&lt;br /&gt;
# Set the Destination Address Low (DL) to FFFF.&lt;br /&gt;
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).&lt;br /&gt;
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.&lt;br /&gt;
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.&lt;br /&gt;
# Then write the firmware to the module.&lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
&lt;br /&gt;
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.&lt;br /&gt;
* Flash one module (ground station) with the coordinator AT firmware&lt;br /&gt;
* Flash aircraft module with router or end-device AT firmware&lt;br /&gt;
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.&lt;br /&gt;
&lt;br /&gt;
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:&lt;br /&gt;
* Set PAN ID to some unique (but same) ID on both modules&lt;br /&gt;
* Set a Node Identifier for each module (e.g. ground, aircraft)&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XBee Pro DigiMesh / 802.15.4 (&amp;quot;Series 1&amp;quot;) ==&lt;br /&gt;
&lt;br /&gt;
=== Flashing the airborne module ===&lt;br /&gt;
# Connect your XBee, start X-CTU, click READ&lt;br /&gt;
# Leave the function set on '''XBEE PRO 802.15.4'''.&lt;br /&gt;
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).&lt;br /&gt;
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.&lt;br /&gt;
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.&lt;br /&gt;
# Then write the firmware to the module.&lt;br /&gt;
&lt;br /&gt;
=== Flashing the ground station module ===&lt;br /&gt;
# Connect your XBee, start X-CTU, click READ&lt;br /&gt;
# Leave the function set on '''XBEE PRO 802.15.4'''.&lt;br /&gt;
# '''Set Coordinator Enable to &amp;quot;1 - COORDINATOR&amp;quot;.'''&lt;br /&gt;
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).&lt;br /&gt;
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.&lt;br /&gt;
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.&lt;br /&gt;
# Then write the firmware to the module.&lt;br /&gt;
&lt;br /&gt;
(Tested on XBP24 Firmwareversion 10E6)&lt;br /&gt;
&lt;br /&gt;
== XBee Pro 868 MHZ ==&lt;br /&gt;
&lt;br /&gt;
=== Getting Them Working ===&lt;br /&gt;
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.&lt;br /&gt;
&lt;br /&gt;
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.&lt;br /&gt;
&lt;br /&gt;
#Attach Xbee and start serial comm program (I use &amp;lt;code&amp;gt;screen /dev/ttyUSB0 &amp;amp;lt;baud rate, just a number, no angled brackets&amp;amp;gt;&amp;lt;/code&amp;gt;, you can also use pico- or microcom)&lt;br /&gt;
#Type AT and enter. You should get an OK back.&lt;br /&gt;
#ATMT and enter. You should get a number&amp;amp;mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.&lt;br /&gt;
#ATMT0 and enter =&amp;gt; OK&lt;br /&gt;
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.&lt;br /&gt;
#ATRR0 and enter =&amp;gt; OK&lt;br /&gt;
#Type ATWR to store the new stuff in the firmware. You should get an OK.&lt;br /&gt;
#Set the datalink to transparent mode both in your airframe file and on the datalink.&lt;br /&gt;
&lt;br /&gt;
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. &lt;br /&gt;
&lt;br /&gt;
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.&lt;br /&gt;
&lt;br /&gt;
== XBee Pro XSC (900MHZ) ==&lt;br /&gt;
&lt;br /&gt;
== Configuring XBee API mode (xbee protocol) ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]] [[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11337</id>
		<title>Lisa/M/Tutorial/RotorCraft</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Lisa/M/Tutorial/RotorCraft&amp;diff=11337"/>
		<updated>2012-01-10T13:48:57Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Airframe Setup =&lt;br /&gt;
Basically rotorcraft is an aircraft that uses propeller lift to hold itself floating.&lt;br /&gt;
There are many types of rotorcrafts, but there are a couple of global classes:&lt;br /&gt;
&lt;br /&gt;
'''Single rotor''' (helicopters) which divide into:&lt;br /&gt;
* Classic (with tail rotor);&lt;br /&gt;
* Co-axial (with two sets of counter rotating blades);&lt;br /&gt;
* All others (there are some other helis like Chinhook or Osprey).&lt;br /&gt;
&lt;br /&gt;
'''Multirotor''' (copters) which are:&lt;br /&gt;
* 3 rotor Y type - this copter maintains yaw by tilting one of it's rotors with servo;&lt;br /&gt;
* 4 rotor X or + type - the trick is that two rotors spin &amp;quot;forward&amp;quot; and other two &amp;quot;backward&amp;quot;, with some strong magic difference between spin rates is used to rotate the craft around. X and + types differ only with direction of movement: X moves with two rotors forward and + moves with one rotor, like this +&amp;gt;;&lt;br /&gt;
* 6 rotor * or Y type - first case is the same as 4 rotor with two additional arms, the other is virtually one 3Y rotor flipped and put under another 3Y rotor;&lt;br /&gt;
* 8 rotor *, V or X/+ type - first is 6* rotor + two more arms, second is like Asctech Falcon 8 and the third is 4X/+ type put one on another.&lt;br /&gt;
&lt;br /&gt;
And if first class of rotorcrafts can use gyros only for yaw stabilization, multirotors need 3D (three axial) gyros to stabilize itself hovering which by the way do not guarantee that craft holds the spot, just not letting it fall on side.&lt;br /&gt;
&lt;br /&gt;
= First Steps =&lt;br /&gt;
&lt;br /&gt;
'''Multirotors'''&lt;br /&gt;
&lt;br /&gt;
Firstly you should choose correct airframe. If you're novice to copters quadrotor will be a good choice for several reasons: firstly it's most common type of copter, then most of hardware works with such setup &amp;quot;out of the box&amp;quot; and there is plenty information in mailing lists.&lt;br /&gt;
By the way, it would be a good idea to decide how do you want to use your copter. Generally it will allow you to choose correct motors and ESCs for copter.&lt;br /&gt;
&lt;br /&gt;
ESC and motors should be chosen with weight economy in mind. i.e. good idea is to purchase ~600-1000 gram motors (NOT more unless you know what are you doing) and 15-25A ESCs depending on your motor current consumption.&lt;br /&gt;
&lt;br /&gt;
Airframe typically consists of &amp;quot;center hub&amp;quot; and &amp;quot;rotor arms&amp;quot; which due to ease of aircraft control and low crushablity are made of light materials (for example aluminum for arms and perforated carbon for center hub).&lt;br /&gt;
There is a wide choice of ready to build aftermarket airframes if you don't want to bother with building one.&lt;br /&gt;
&lt;br /&gt;
Generally there is only one important thing left it's balancing whole copter after you put it together.&lt;br /&gt;
There is one simple rule: ready to fly quadrotor should have it's center of gravity (COG) in the middle.&lt;br /&gt;
By &amp;quot;ready to fly&amp;quot; I mean - every equipment that should be placed on copter including battery and payload.&lt;br /&gt;
&lt;br /&gt;
= Configure the autopilot =&lt;br /&gt;
Generally: [[Rotorcraft_Configuration]]&lt;br /&gt;
&lt;br /&gt;
Lisa/M: [[User/LisaM/Tutorial/RotorCraft]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Partlists =&lt;br /&gt;
I recognized that I spent a lot of time to search all compatible components. That list should help you to make your chose easier and faster.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:white&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! User !! Type !! Propeller size !! Frame !! Motors !! ESC !! Telemetry !! RC Transmitter !! RC Receiver !! GPS !! Autopilot !! IMU&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| [[User:Bruzzlee|Bruzzlee]] || Quadrotor || 12&amp;quot; || Homebrew || Scorpion S-2215-900KV || ePower 30A 2-4S || [[User/LisaM/Tutorial/RotorCraft#Xbee|Xbee 60mW]] || Spektrum DX6i || HobbyKing Orange Satellite || [[User/LisaM/Tutorial/RotorCraft#GPS_GS407|GS407]] || Lisa/M || Aspirin&lt;br /&gt;
|- style=&amp;quot;background:white; color:black&amp;quot;&lt;br /&gt;
| add your list here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Xbee ===&lt;br /&gt;
* 2.4GHz Duck Antenna RP-SMA - Large&lt;br /&gt;
* Interface Cable SMA to Lassen IQ Hirose HFL &lt;br /&gt;
* XBee Explorer USB  &lt;br /&gt;
* XBee Pro 60mW U.FL Connection - Series 1  &lt;br /&gt;
* XBee Pro 60mW Wire Antenna - Series 1&lt;br /&gt;
* XBee Explorer Regulated&lt;br /&gt;
[[Image:XbeeParts.JPG|Xbee parts photo|400px]]&lt;br /&gt;
&lt;br /&gt;
=== GPS GS407===&lt;br /&gt;
* 50 Channel GS407 Helical GPS Receiver  &lt;br /&gt;
* GS407 Breakout Board&lt;br /&gt;
&lt;br /&gt;
= Wiring (not tested!) =&lt;br /&gt;
This scheme shows a possibility to connect the parts to the Lisa M.&amp;lt;br/&amp;gt;&lt;br /&gt;
In this version, the board is powered by the 5V BEC of the Servo 1 ESC.&amp;lt;br/&amp;gt;&lt;br /&gt;
Jumper J1 is bridged. The battery on I2C1/CAN is only needed to measure the actual battery voltage.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:red&amp;quot;&amp;gt;--&amp;gt; This version is not tested yet!!! No warranty!!! &amp;lt;---&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See following links for more informations:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Pinout]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M#Schematic]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#RC_receiver]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Lisa/M/Tutorial/FixedWing#Power]]&lt;br /&gt;
&lt;br /&gt;
[[Image:LisaMWiring_Quadrotor.png|LisaM wiring for quadrotor|700px]]&lt;br /&gt;
&lt;br /&gt;
= Frame building =&lt;br /&gt;
&amp;quot;Photo gallery&amp;quot; Bruzzlee: [[User/RotorCraft/Bruzzlee]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:LisaMWiring_Quadrotor.png&amp;diff=11336</id>
		<title>File:LisaMWiring Quadrotor.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:LisaMWiring_Quadrotor.png&amp;diff=11336"/>
		<updated>2012-01-10T13:21:43Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: Quadrotor Lisa M wiring
Spektrum
Xbee
GS407 Helical GPS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Quadrotor Lisa M wiring&lt;br /&gt;
Spektrum&lt;br /&gt;
Xbee&lt;br /&gt;
GS407 Helical GPS&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Modules_list&amp;diff=9962</id>
		<title>Modules list</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Modules_list&amp;diff=9962"/>
		<updated>2011-08-16T22:07:58Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Available modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some part of the code is already available as [[Modules|modules]]. Some other parts could be easily adapted. A module may have several configuration files for the most common uses. The code of the modules is placed in sw/modules/&amp;lt;directory name&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Available modules ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name !! directory !! configuration files !! airframe(s) !! description&lt;br /&gt;
|-&lt;br /&gt;
|Demo || demo_module || demo_module.xml || FW || basic example with blinking leds&lt;br /&gt;
|-&lt;br /&gt;
|max11040 || adcs || max11040.xml || FW || 24 bit 16 channel AD converter&lt;br /&gt;
|-&lt;br /&gt;
|[[Airframe_Configuration#ADC_Generic|ADC generic]] || adcs || adc_generic.xml || FW || autopilot internal 10 bit AD converter&lt;br /&gt;
|-&lt;br /&gt;
|Enose || enose || enose.xml || FW || chemical sensor&lt;br /&gt;
|-&lt;br /&gt;
|Booz cam || cam_control || booz_cam.xml || Booz || pointing of a simple camera on booz (servo for tilt, heading for pan&lt;br /&gt;
|-&lt;br /&gt;
|Cam point || cam_control || cam_point.xml || FW || pointing of a camera&lt;br /&gt;
|-&lt;br /&gt;
|Cam roll || cam_control || cam_roll.xml || FW || roll camera&lt;br /&gt;
|-&lt;br /&gt;
|Booz drop || drop || booz_drop.xml || Booz || drop mechanism on booz&lt;br /&gt;
|-&lt;br /&gt;
|light || light || light.xml || FW || control blinking speed of the LEDs for night flights&lt;br /&gt;
|-&lt;br /&gt;
|servo switch || servo_switch || servo_switch.xml || FW || simply switch a servo to &amp;quot;on&amp;quot; or &amp;quot;off&amp;quot; position, e.g. trigger camera or open hatch&lt;br /&gt;
|-&lt;br /&gt;
|Formation flight || multi || formation_flight.xml || FW || formation flight control for fixed-wing aircraft&lt;br /&gt;
|-&lt;br /&gt;
|Gps i2c || gps_i2c || gps_i2c.xml || FW || i2c driver for Ubx GPS modules&lt;br /&gt;
|-&lt;br /&gt;
|Xsens || ins || ins_xsens.xml&amp;lt;br&amp;gt;ins_xsens_MTi_Uart0.xml&amp;lt;br&amp;gt;ins_xsens_MTiG_Uart0.xml || || driver for the Xsens AHRS/INS (for fixedwing it provides a full navigation solution, for rotorcraft it is a bit slow)&lt;br /&gt;
|-&lt;br /&gt;
|[[ArduIMU|ins_ArduIMU]] || ins || ins_arduimu.xml || FW || ArduIMU V2+ (Flat) INS (should probably be renamed to AHRS and adhere to the ahrs interface)&lt;br /&gt;
|-&lt;br /&gt;
|imu_ppzauv || sensors || imu_ppzuav.xml || FW/rotor || module to read the PPZIMU&lt;br /&gt;
|-&lt;br /&gt;
|imu_aspirin_i2c || sensors || imu_aspirin_i2c.xml || FW/rotor || module to read the aspirin IMU via I2C&lt;br /&gt;
|-&lt;br /&gt;
|VN-100 || ins || ins_vn100.xml || FW RW? || VectorNav VN-100 AHRS (should probably be renamed to AHRS and adhere to the ahrs interface)&lt;br /&gt;
|-&lt;br /&gt;
|Max 3100 || max3100 || max3100.xml || FW || max3100 driver (spi&amp;lt;-&amp;gt;uart converter)&lt;br /&gt;
|-&lt;br /&gt;
|MPPT || MPPT || MPPT.xml || FW || maximum power point tracker (control board for solar cells, i2C interface)&lt;br /&gt;
|-&lt;br /&gt;
|Poles || poles || poles.xml || FW || special navigation functions to fly around poles and counting loops&lt;br /&gt;
|-&lt;br /&gt;
|Potential || multi || potential.xml || FW || use potential fields for collision avoidance&lt;br /&gt;
|-&lt;br /&gt;
|Sonar || sonar || sonar_maxbotix_booz.xml || Booz || driver for a Maxbotix ultrasonic sensor&lt;br /&gt;
|-&lt;br /&gt;
|dust_gp2y || meteo || dust_gp2y.xml || FW || driver for Sharp GP2Y1010AU0F dust sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_dpicco || meteo || humid_dpicco.xml || FW || driver for IST DigiPicco humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_hih || meteo || humid_hih.xml || FW || driver for Honeywell HIH-4030 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_htm_b71 || meteo || humid_htm_b71.xml || FW || driver for TronSens HTM-B71 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_sht || meteo || humid_sht.xml || FW || driver for Sensirion SHT75 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_sht_i2c || meteo || humid_sht_i2c.xml || FW || driver for Sensirion SHT25 humidity sensor (I2C)&lt;br /&gt;
|-&lt;br /&gt;
|ir_mlx || meteo || ir_mlx.xml || FW || driver for Melexis 90614 IR sensor&lt;br /&gt;
|-&lt;br /&gt;
|light_temt || meteo || light_temt.xml || FW || driver for Vishay TEMT6000 ambient light sensor&lt;br /&gt;
|-&lt;br /&gt;
|temp_lm75 || meteo || temp_lm75.xml || FW || driver for National LM75 temperature sensor&lt;br /&gt;
|-&lt;br /&gt;
|temp_temod || meteo || temp_temod.xml || FW || Hygrosens TEMOD-I2C-Rx temperature sensor for PT1000&lt;br /&gt;
|-&lt;br /&gt;
|temp_tmp102 || meteo || temp_tmp102.xml || FW || driver for TI TMP102 temperature sensor&lt;br /&gt;
|-&lt;br /&gt;
|airspeed_adc || sensors || airspeed_adc.xml || FW || driver for airspeed sensor based on analog voltage&lt;br /&gt;
|-&lt;br /&gt;
|[[Airspeed_sensor#Connecting_an_EagleTree_Airspeed_Sensor|airspeed_ets]] || sensors || airspeed_ets.xml || FW || Eagle Tree Systems airspeed sensor&lt;br /&gt;
|-&lt;br /&gt;
|alt_srf08 || sensors || alt_srf08.xml || FW || driver for Devantech Ultrasonic Range Finder SRF08&lt;br /&gt;
|-&lt;br /&gt;
|baro_bmp || sensors || baro_bmp.xml || FW || driver for Bosch BMP085 pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_ets || sensors || baro_ets.xml || FW || Eagle Tree Systems pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_MS5534A || sensors || baro_MS5334A.xml || FW || driver for Intersema MS5534A pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_ms5611_i2c || sensors || baro_ms5611_i2c.xml || FW || driver for Measurement Specialties MS5611-01BA pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_scp || sensors || baro_scp.xml || FW || driver for VTI SCP1000 (SPI) pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_scp_i2c || sensors || baro_scp_i2c.xml || FW || driver for VTI SCP1000 (I2C) pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|mag_micromag_fw || sensors || mag_micromag_fw.xml || FW || driver for PNI Micromag magnetic sensor&lt;br /&gt;
|-&lt;br /&gt;
|trigger_ext || sensors || trigger_ext.xml || FW || driver to measure external events/durations&lt;br /&gt;
|-&lt;br /&gt;
|Sys mon || core || sys_mon.xml || FW &amp;amp; Booz || measures CPU load &amp;amp; activity&lt;br /&gt;
|-&lt;br /&gt;
|DC  || digital_cam || digital_cam.xml&amp;lt;br&amp;gt;digital_cam_i2c.xml || FW &amp;amp; RW || Controls Digital Camera Functions (buttons) like shoot/zoom/onoff/take pictures at regular intervals&lt;br /&gt;
|-&lt;br /&gt;
|[[AOA_adc]] || sensors || [https://github.com/Bruzzlee/paparazzi/blob/AoA/conf/modules/AOA_adc.xml AOA_adc.xml] || FW || Reads the value of an US DIGITAL MA3-A10-236-N AoA Sensor and controls the elevator with its value&lt;br /&gt;
|-&lt;br /&gt;
|[[FlightBenchmark]] || benchmark || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/flight_benchmark.xml flight_benchmark.xml] || FW || quantitative assessments of flights&lt;br /&gt;
|-&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/AMSYS airspeed_amsys] || sensors || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/airspeed_amsys.xml airspeed_amsys.xml] || FW || driver for AMS 5812-0003-D (Airspeed) pressure sensors&lt;br /&gt;
|-&lt;br /&gt;
|[http://paparazzi.enac.fr/wiki/AMSYS baro_amsys] || sensors || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/baro_amsys.xml baro_amsys.xml] || FW || driver for AMS 5812-0150-A (Baro) pressure sensors&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Possible modules ===&lt;br /&gt;
&lt;br /&gt;
A list of the parts of the FW airborne code that could be changed to modules.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name !! header !! init !! periodic !! event !! datalink !! description&lt;br /&gt;
|-&lt;br /&gt;
|Led || X || X || || || || control leds and GPIO&lt;br /&gt;
|-&lt;br /&gt;
|I2C || X || X || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|SPI || X || X || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Traffic || X || || || || X || update traffic information from datalink&lt;br /&gt;
|-&lt;br /&gt;
|TCAS || X || X || 1Hz - 4Hz || || ? || vertical collision avoidance&lt;br /&gt;
|-&lt;br /&gt;
|Gyro || X || X || 60Hz || || ||&lt;br /&gt;
|-&lt;br /&gt;
|IR || X || X || 60Hz || || || Infrared sensors&lt;br /&gt;
|-&lt;br /&gt;
|GPS || X || X || || X || ||&lt;br /&gt;
|-&lt;br /&gt;
|Joystick || X || X || || X || X|| control a plane from telemetry&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Modules]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Sensors/AMSYS&amp;diff=9961</id>
		<title>Sensors/AMSYS</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Sensors/AMSYS&amp;diff=9961"/>
		<updated>2011-08-16T22:05:58Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AMSYS pressure sensors&lt;br /&gt;
Descriptions coming soon&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Modules_list&amp;diff=9959</id>
		<title>Modules list</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Modules_list&amp;diff=9959"/>
		<updated>2011-08-16T15:14:02Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Available modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some part of the code is already available as [[Modules|modules]]. Some other parts could be easily adapted. A module may have several configuration files for the most common uses. The code of the modules is placed in sw/modules/&amp;lt;directory name&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Available modules ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name !! directory !! configuration files !! airframe(s) !! description&lt;br /&gt;
|-&lt;br /&gt;
|Demo || demo_module || demo_module.xml || FW || basic example with blinking leds&lt;br /&gt;
|-&lt;br /&gt;
|max11040 || adcs || max11040.xml || FW || 24 bit 16 channel AD converter&lt;br /&gt;
|-&lt;br /&gt;
|[[Airframe_Configuration#ADC_Generic|ADC generic]] || adcs || adc_generic.xml || FW || autopilot internal 10 bit AD converter&lt;br /&gt;
|-&lt;br /&gt;
|Enose || enose || enose.xml || FW || chemical sensor&lt;br /&gt;
|-&lt;br /&gt;
|Booz cam || cam_control || booz_cam.xml || Booz || pointing of a simple camera on booz (servo for tilt, heading for pan&lt;br /&gt;
|-&lt;br /&gt;
|Cam point || cam_control || cam_point.xml || FW || pointing of a camera&lt;br /&gt;
|-&lt;br /&gt;
|Cam roll || cam_control || cam_roll.xml || FW || roll camera&lt;br /&gt;
|-&lt;br /&gt;
|Booz drop || drop || booz_drop.xml || Booz || drop mechanism on booz&lt;br /&gt;
|-&lt;br /&gt;
|light || light || light.xml || FW || control blinking speed of the LEDs for night flights&lt;br /&gt;
|-&lt;br /&gt;
|servo switch || servo_switch || servo_switch.xml || FW || simply switch a servo to &amp;quot;on&amp;quot; or &amp;quot;off&amp;quot; position, e.g. trigger camera or open hatch&lt;br /&gt;
|-&lt;br /&gt;
|Formation flight || multi || formation_flight.xml || FW || formation flight control for fixed-wing aircraft&lt;br /&gt;
|-&lt;br /&gt;
|Gps i2c || gps_i2c || gps_i2c.xml || FW || i2c driver for Ubx GPS modules&lt;br /&gt;
|-&lt;br /&gt;
|Xsens || ins || ins_xsens.xml&amp;lt;br&amp;gt;ins_xsens_MTi_Uart0.xml&amp;lt;br&amp;gt;ins_xsens_MTiG_Uart0.xml || || driver for the Xsens AHRS/INS (for fixedwing it provides a full navigation solution, for rotorcraft it is a bit slow)&lt;br /&gt;
|-&lt;br /&gt;
|[[ArduIMU|ins_ArduIMU]] || ins || ins_arduimu.xml || FW || ArduIMU V2+ (Flat) INS (should probably be renamed to AHRS and adhere to the ahrs interface)&lt;br /&gt;
|-&lt;br /&gt;
|imu_ppzauv || sensors || imu_ppzuav.xml || FW/rotor || module to read the PPZIMU&lt;br /&gt;
|-&lt;br /&gt;
|imu_aspirin_i2c || sensors || imu_aspirin_i2c.xml || FW/rotor || module to read the aspirin IMU via I2C&lt;br /&gt;
|-&lt;br /&gt;
|VN-100 || ins || ins_vn100.xml || FW RW? || VectorNav VN-100 AHRS (should probably be renamed to AHRS and adhere to the ahrs interface)&lt;br /&gt;
|-&lt;br /&gt;
|Max 3100 || max3100 || max3100.xml || FW || max3100 driver (spi&amp;lt;-&amp;gt;uart converter)&lt;br /&gt;
|-&lt;br /&gt;
|MPPT || MPPT || MPPT.xml || FW || maximum power point tracker (control board for solar cells, i2C interface)&lt;br /&gt;
|-&lt;br /&gt;
|Poles || poles || poles.xml || FW || special navigation functions to fly around poles and counting loops&lt;br /&gt;
|-&lt;br /&gt;
|Potential || multi || potential.xml || FW || use potential fields for collision avoidance&lt;br /&gt;
|-&lt;br /&gt;
|Sonar || sonar || sonar_maxbotix_booz.xml || Booz || driver for a Maxbotix ultrasonic sensor&lt;br /&gt;
|-&lt;br /&gt;
|dust_gp2y || meteo || dust_gp2y.xml || FW || driver for Sharp GP2Y1010AU0F dust sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_dpicco || meteo || humid_dpicco.xml || FW || driver for IST DigiPicco humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_hih || meteo || humid_hih.xml || FW || driver for Honeywell HIH-4030 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_htm_b71 || meteo || humid_htm_b71.xml || FW || driver for TronSens HTM-B71 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_sht || meteo || humid_sht.xml || FW || driver for Sensirion SHT75 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_sht_i2c || meteo || humid_sht_i2c.xml || FW || driver for Sensirion SHT25 humidity sensor (I2C)&lt;br /&gt;
|-&lt;br /&gt;
|ir_mlx || meteo || ir_mlx.xml || FW || driver for Melexis 90614 IR sensor&lt;br /&gt;
|-&lt;br /&gt;
|light_temt || meteo || light_temt.xml || FW || driver for Vishay TEMT6000 ambient light sensor&lt;br /&gt;
|-&lt;br /&gt;
|temp_lm75 || meteo || temp_lm75.xml || FW || driver for National LM75 temperature sensor&lt;br /&gt;
|-&lt;br /&gt;
|temp_temod || meteo || temp_temod.xml || FW || Hygrosens TEMOD-I2C-Rx temperature sensor for PT1000&lt;br /&gt;
|-&lt;br /&gt;
|temp_tmp102 || meteo || temp_tmp102.xml || FW || driver for TI TMP102 temperature sensor&lt;br /&gt;
|-&lt;br /&gt;
|airspeed_adc || sensors || airspeed_adc.xml || FW || driver for airspeed sensor based on analog voltage&lt;br /&gt;
|-&lt;br /&gt;
|[[Airspeed_sensor#Connecting_an_EagleTree_Airspeed_Sensor|airspeed_ets]] || sensors || airspeed_ets.xml || FW || Eagle Tree Systems airspeed sensor&lt;br /&gt;
|-&lt;br /&gt;
|alt_srf08 || sensors || alt_srf08.xml || FW || driver for Devantech Ultrasonic Range Finder SRF08&lt;br /&gt;
|-&lt;br /&gt;
|baro_bmp || sensors || baro_bmp.xml || FW || driver for Bosch BMP085 pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_ets || sensors || baro_ets.xml || FW || Eagle Tree Systems pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_MS5534A || sensors || baro_MS5334A.xml || FW || driver for Intersema MS5534A pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_ms5611_i2c || sensors || baro_ms5611_i2c.xml || FW || driver for Measurement Specialties MS5611-01BA pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_scp || sensors || baro_scp.xml || FW || driver for VTI SCP1000 (SPI) pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_scp_i2c || sensors || baro_scp_i2c.xml || FW || driver for VTI SCP1000 (I2C) pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|mag_micromag_fw || sensors || mag_micromag_fw.xml || FW || driver for PNI Micromag magnetic sensor&lt;br /&gt;
|-&lt;br /&gt;
|trigger_ext || sensors || trigger_ext.xml || FW || driver to measure external events/durations&lt;br /&gt;
|-&lt;br /&gt;
|Sys mon || core || sys_mon.xml || FW &amp;amp; Booz || measures CPU load &amp;amp; activity&lt;br /&gt;
|-&lt;br /&gt;
|DC  || digital_cam || digital_cam.xml&amp;lt;br&amp;gt;digital_cam_i2c.xml || FW &amp;amp; RW || Controls Digital Camera Functions (buttons) like shoot/zoom/onoff/take pictures at regular intervals&lt;br /&gt;
|-&lt;br /&gt;
|[[AOA_adc]] || sensors || [https://github.com/Bruzzlee/paparazzi/blob/AoA/conf/modules/AOA_adc.xml AOA_adc.xml] || FW || Reads the value of an US DIGITAL MA3-A10-236-N AoA Sensor and controls the elevator with its value&lt;br /&gt;
|-&lt;br /&gt;
|[[FlightBenchmark]] || benchmark || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/flight_benchmark.xml flight_benchmark.xml] || FW || quantitative assessments of flights&lt;br /&gt;
|-&lt;br /&gt;
|[[AMSYS]] || sensors || [https://github.com/paparazzi/paparazzi/blob/master/conf/modules/airspeed_amsys.xml airspeed_amsys.xml]&amp;lt;br&amp;gt;[https://github.com/paparazzi/paparazzi/blob/master/conf/modules/baro_amsys.xml baro_amsys.xml] || FW || driver for AMS 5812-0003-D (Airspeed) and AMS 5812-0150-A (Baro) pressure sensors&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Possible modules ===&lt;br /&gt;
&lt;br /&gt;
A list of the parts of the FW airborne code that could be changed to modules.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name !! header !! init !! periodic !! event !! datalink !! description&lt;br /&gt;
|-&lt;br /&gt;
|Led || X || X || || || || control leds and GPIO&lt;br /&gt;
|-&lt;br /&gt;
|I2C || X || X || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|SPI || X || X || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Traffic || X || || || || X || update traffic information from datalink&lt;br /&gt;
|-&lt;br /&gt;
|TCAS || X || X || 1Hz - 4Hz || || ? || vertical collision avoidance&lt;br /&gt;
|-&lt;br /&gt;
|Gyro || X || X || 60Hz || || ||&lt;br /&gt;
|-&lt;br /&gt;
|IR || X || X || 60Hz || || || Infrared sensors&lt;br /&gt;
|-&lt;br /&gt;
|GPS || X || X || || X || ||&lt;br /&gt;
|-&lt;br /&gt;
|Joystick || X || X || || X || X|| control a plane from telemetry&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Modules]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=9958</id>
		<title>Module/FlightBenchmark</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=9958"/>
		<updated>2011-08-16T14:36:46Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Airframe Adjustments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
This module allows a quantitative assessment of the flight. It calculates the sum of squared error of the two-dimensional course (x / y), the altitude and true airspeed. The sum of squared error of the course and altitude were separated, because they are regulated separately, and so they dependent on various parameters. The module was written to optimize the control parameters and has already been used successfully.&lt;br /&gt;
&lt;br /&gt;
The measurement is not started until about the variable benchm_go is set to 1.&lt;br /&gt;
&lt;br /&gt;
The sum of squared error can by reseted by changing the boolean variable benchm_reset to zero (will turn back to 1 automatically after it has done the reset). This can also be used in a flight plan, which allows a flight plan with auto-reset. So it is possible to fly an oval or a eight figure with a sum of squared error that will be reseted at the very same point of the figure.&lt;br /&gt;
&lt;br /&gt;
[[Image:SumOfSquaredErrorOfAltitude.jpg|thumb|Example plot: sum of squared error of altitude ]]&lt;br /&gt;
&lt;br /&gt;
==Module Infos==&lt;br /&gt;
ModuleXML &lt;br /&gt;
* flight_benchmark.xml&lt;br /&gt;
Code- and headerfile &lt;br /&gt;
* sw/airborne/modules/benchmark &lt;br /&gt;
Settings file &lt;br /&gt;
* benchmark.xml&lt;br /&gt;
&lt;br /&gt;
==Airframe Adjustments==&lt;br /&gt;
The code is aviable in the master git branch.&lt;br /&gt;
&lt;br /&gt;
*(1) Insert the software module in the airframe:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;modules&amp;gt;&lt;br /&gt;
                &amp;lt;load name=&amp;quot;flight_benchmark.xml&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_AIRSPEED&amp;quot;/&amp;gt;    &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_ALTITUDE&amp;quot;/&amp;gt;    &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_POSITION&amp;quot;/&amp;gt;  &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_AIRSPEED&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_ALTITUDE&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_POSITION&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                &amp;lt;/load&amp;gt; &lt;br /&gt;
        &amp;lt;/modules&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**Legend: &lt;br /&gt;
***Define BENCHMARK_AIRSPEED to enable airspeed benchmarking (only with airspeed module)&lt;br /&gt;
***Define BENCHMARK_ALTITUDE to enable altitude benchmarking.&lt;br /&gt;
***Define BENCHMARK_POSITION to enable position (x/y) benchmarking. (shortest error to the path)&lt;br /&gt;
***BENCHMARK_TOLERANCE_... define the tolerated value where the sum of squared error won't change. Set to zero to have no tolerance.&lt;br /&gt;
&lt;br /&gt;
*(2) Add the settings XML to the settings list: benchmark.xml&lt;br /&gt;
&lt;br /&gt;
*(3) Now you can turn on the calculations by setting the benchm_go to 1 (in GCS under benchamrk)&lt;br /&gt;
&lt;br /&gt;
==Example configurations in flightplan for auto-reset==&lt;br /&gt;
A example flightplan can be downloaded [https://github.com/Bruzzlee/paparazzi/blob/master/conf/flight_plans/Mentor_FP_04.xml here] but beware: This file contains extras you probably won't need.&lt;br /&gt;
&lt;br /&gt;
*(1) Add this #include to your flightplan in the header:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;flight_plan alt=&amp;quot;............your configurations.............&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;header&amp;gt;&lt;br /&gt;
                #include &amp;quot;modules/benchmark/flight_benchmark.h&amp;quot;&lt;br /&gt;
        &amp;lt;/header&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        &amp;lt;blocks&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        ...&lt;br /&gt;
        &amp;lt;/blocks&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
 &amp;lt;/flight_plan&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2) Add this block to the blocks section:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;block group=&amp;quot;base_pattern&amp;quot; name=&amp;quot;Oval Bench&amp;quot; strip_button=&amp;quot;Oval Bench(wp 1-2)&amp;quot; strip_icon=&amp;quot;oval.png&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;oval p1=&amp;quot;Ov1&amp;quot; p2=&amp;quot;Ov2&amp;quot; radius=&amp;quot;nav_radius&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Oval Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(3) Make shure that you've named your points right.&lt;br /&gt;
&lt;br /&gt;
==Modify figure eight to use the until function in flightplan==&lt;br /&gt;
&lt;br /&gt;
If you want to use the figure eight with auto-reset you have to modify the flight plan generator to activate the until function.&lt;br /&gt;
&lt;br /&gt;
Or download and replace it from:&lt;br /&gt;
https://github.com/Bruzzlee/paparazzi/blob/master/sw/tools/gen_flight_plan.ml&lt;br /&gt;
&lt;br /&gt;
*(1) Open the flight plan generator in a text editor:&lt;br /&gt;
/sw/tools/gen_flight_plan.ml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2) Now you have to replace this part (line 429)&lt;br /&gt;
&lt;br /&gt;
    | &amp;quot;eight&amp;quot; -&amp;gt;&lt;br /&gt;
    stage ();&lt;br /&gt;
    lprintf &amp;quot;nav_eight_init();\n&amp;quot;;&lt;br /&gt;
    lprintf &amp;quot;NextStageAndBreak();\n&amp;quot;;&lt;br /&gt;
    left ();&lt;br /&gt;
    stage ();&lt;br /&gt;
    let center = get_index_waypoint (ExtXml.attrib x &amp;quot;center&amp;quot;) index_of_waypoints&lt;br /&gt;
    and turn_about = get_index_waypoint (ExtXml.attrib x &amp;quot;turn_around&amp;quot;) index_of_waypoints in&lt;br /&gt;
    let r = parsed_attrib  x &amp;quot;radius&amp;quot; in&lt;br /&gt;
    let _vmode = output_vmode x center &amp;quot;&amp;quot; in&lt;br /&gt;
    lprintf &amp;quot;Eight(%s, %s, %s);\n&amp;quot; center turn_about r;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(3) with this part&lt;br /&gt;
&lt;br /&gt;
    | &amp;quot;eight&amp;quot; -&amp;gt;&lt;br /&gt;
    stage ();&lt;br /&gt;
    lprintf &amp;quot;nav_eight_init();\n&amp;quot;;&lt;br /&gt;
    lprintf &amp;quot;NextStageAndBreak();\n&amp;quot;;&lt;br /&gt;
    left ();&lt;br /&gt;
    stage ();&lt;br /&gt;
    let center = get_index_waypoint (ExtXml.attrib x &amp;quot;center&amp;quot;) index_of_waypoints&lt;br /&gt;
    and turn_about = get_index_waypoint (ExtXml.attrib x &amp;quot;turn_around&amp;quot;) index_of_waypoints in&lt;br /&gt;
    let r = parsed_attrib  x &amp;quot;radius&amp;quot; in&lt;br /&gt;
    let _vmode = output_vmode x center &amp;quot;&amp;quot; in&lt;br /&gt;
    lprintf &amp;quot;Eight(%s, %s, %s);\n&amp;quot; center turn_about r;&lt;br /&gt;
    begin&lt;br /&gt;
      try&lt;br /&gt;
        let c = parsed_attrib x &amp;quot;until&amp;quot; in&lt;br /&gt;
        lprintf &amp;quot;if (%s) NextStageAndBreak();\n&amp;quot; c&lt;br /&gt;
      with&lt;br /&gt;
        ExtXml.Error _ -&amp;gt; ()&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
*(4) Now you can use this block in the flightplan:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;block key=&amp;quot;F7&amp;quot; name=&amp;quot;Eight Bench&amp;quot; strip_button=&amp;quot;Figure 8 (wp 1-2)&amp;quot; strip_icon=&amp;quot;eight.png&amp;quot; group=&amp;quot;base_pattern&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;eight center=&amp;quot;8C&amp;quot; radius=&amp;quot;nav_radius&amp;quot; turn_around=&amp;quot;8T&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Eight Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=9957</id>
		<title>Module/FlightBenchmark</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=9957"/>
		<updated>2011-08-15T20:54:21Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Example configurations in flightplan for auto-reset */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
This module allows a quantitative assessment of the flight. It calculates the sum of squared error of the two-dimensional course (x / y), the altitude and true airspeed. The sum of squared error of the course and altitude were separated, because they are regulated separately, and so they dependent on various parameters. The module was written to optimize the control parameters and has already been used successfully.&lt;br /&gt;
&lt;br /&gt;
The measurement is not started until about the variable benchm_go is set to 1.&lt;br /&gt;
&lt;br /&gt;
The sum of squared error can by reseted by changing the boolean variable benchm_reset to zero (will turn back to 1 automatically after it has done the reset). This can also be used in a flight plan, which allows a flight plan with auto-reset. So it is possible to fly an oval or a eight figure with a sum of squared error that will be reseted at the very same point of the figure.&lt;br /&gt;
&lt;br /&gt;
[[Image:SumOfSquaredErrorOfAltitude.jpg|thumb|Example plot: sum of squared error of altitude ]]&lt;br /&gt;
&lt;br /&gt;
==Module Infos==&lt;br /&gt;
ModuleXML &lt;br /&gt;
* flight_benchmark.xml&lt;br /&gt;
Code- and headerfile &lt;br /&gt;
* sw/airborne/modules/benchmark &lt;br /&gt;
Settings file &lt;br /&gt;
* benchmark.xml&lt;br /&gt;
&lt;br /&gt;
==Airframe Adjustments==&lt;br /&gt;
The code is aviable to download in the ?? branch at: -ToDo-&lt;br /&gt;
&lt;br /&gt;
*(1) Insert the software module in the airframe:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;modules&amp;gt;&lt;br /&gt;
                &amp;lt;load name=&amp;quot;flight_benchmark.xml&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_AIRSPEED&amp;quot;/&amp;gt;    &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_ALTITUDE&amp;quot;/&amp;gt;    &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_POSITION&amp;quot;/&amp;gt;  &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_AIRSPEED&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_ALTITUDE&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_POSITION&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                &amp;lt;/load&amp;gt; &lt;br /&gt;
        &amp;lt;/modules&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**Legend: &lt;br /&gt;
***Define BENCHMARK_AIRSPEED to enable airspeed benchmarking (only with airspeed module)&lt;br /&gt;
***Define BENCHMARK_ALTITUDE to enable altitude benchmarking.&lt;br /&gt;
***Define BENCHMARK_POSITION to enable position (x/y) benchmarking. (shortest error to the path)&lt;br /&gt;
***BENCHMARK_TOLERANCE_... define the tolerated value where the sum of squared error won't change. Set to zero to have no tolerance.&lt;br /&gt;
&lt;br /&gt;
*(2) Add the settings XML to the settings list: benchmark.xml&lt;br /&gt;
&lt;br /&gt;
*(3) Now you can turn on the calculations by setting the benchm_go to 1 (in GCS under benchamrk)&lt;br /&gt;
&lt;br /&gt;
==Example configurations in flightplan for auto-reset==&lt;br /&gt;
A example flightplan can be downloaded [https://github.com/Bruzzlee/paparazzi/blob/master/conf/flight_plans/Mentor_FP_04.xml here] but beware: This file contains extras you probably won't need.&lt;br /&gt;
&lt;br /&gt;
*(1) Add this #include to your flightplan in the header:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;flight_plan alt=&amp;quot;............your configurations.............&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;header&amp;gt;&lt;br /&gt;
                #include &amp;quot;modules/benchmark/flight_benchmark.h&amp;quot;&lt;br /&gt;
        &amp;lt;/header&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        &amp;lt;blocks&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
        ...&lt;br /&gt;
        &amp;lt;/blocks&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
 &amp;lt;/flight_plan&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2) Add this block to the blocks section:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;block group=&amp;quot;base_pattern&amp;quot; name=&amp;quot;Oval Bench&amp;quot; strip_button=&amp;quot;Oval Bench(wp 1-2)&amp;quot; strip_icon=&amp;quot;oval.png&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;oval p1=&amp;quot;Ov1&amp;quot; p2=&amp;quot;Ov2&amp;quot; radius=&amp;quot;nav_radius&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Oval Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(3) Make shure that you've named your points right.&lt;br /&gt;
&lt;br /&gt;
==Modify figure eight to use the until function in flightplan==&lt;br /&gt;
&lt;br /&gt;
If you want to use the figure eight with auto-reset you have to modify the flight plan generator to activate the until function.&lt;br /&gt;
&lt;br /&gt;
Or download and replace it from:&lt;br /&gt;
https://github.com/Bruzzlee/paparazzi/blob/master/sw/tools/gen_flight_plan.ml&lt;br /&gt;
&lt;br /&gt;
*(1) Open the flight plan generator in a text editor:&lt;br /&gt;
/sw/tools/gen_flight_plan.ml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2) Now you have to replace this part (line 429)&lt;br /&gt;
&lt;br /&gt;
    | &amp;quot;eight&amp;quot; -&amp;gt;&lt;br /&gt;
    stage ();&lt;br /&gt;
    lprintf &amp;quot;nav_eight_init();\n&amp;quot;;&lt;br /&gt;
    lprintf &amp;quot;NextStageAndBreak();\n&amp;quot;;&lt;br /&gt;
    left ();&lt;br /&gt;
    stage ();&lt;br /&gt;
    let center = get_index_waypoint (ExtXml.attrib x &amp;quot;center&amp;quot;) index_of_waypoints&lt;br /&gt;
    and turn_about = get_index_waypoint (ExtXml.attrib x &amp;quot;turn_around&amp;quot;) index_of_waypoints in&lt;br /&gt;
    let r = parsed_attrib  x &amp;quot;radius&amp;quot; in&lt;br /&gt;
    let _vmode = output_vmode x center &amp;quot;&amp;quot; in&lt;br /&gt;
    lprintf &amp;quot;Eight(%s, %s, %s);\n&amp;quot; center turn_about r;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(3) with this part&lt;br /&gt;
&lt;br /&gt;
    | &amp;quot;eight&amp;quot; -&amp;gt;&lt;br /&gt;
    stage ();&lt;br /&gt;
    lprintf &amp;quot;nav_eight_init();\n&amp;quot;;&lt;br /&gt;
    lprintf &amp;quot;NextStageAndBreak();\n&amp;quot;;&lt;br /&gt;
    left ();&lt;br /&gt;
    stage ();&lt;br /&gt;
    let center = get_index_waypoint (ExtXml.attrib x &amp;quot;center&amp;quot;) index_of_waypoints&lt;br /&gt;
    and turn_about = get_index_waypoint (ExtXml.attrib x &amp;quot;turn_around&amp;quot;) index_of_waypoints in&lt;br /&gt;
    let r = parsed_attrib  x &amp;quot;radius&amp;quot; in&lt;br /&gt;
    let _vmode = output_vmode x center &amp;quot;&amp;quot; in&lt;br /&gt;
    lprintf &amp;quot;Eight(%s, %s, %s);\n&amp;quot; center turn_about r;&lt;br /&gt;
    begin&lt;br /&gt;
      try&lt;br /&gt;
        let c = parsed_attrib x &amp;quot;until&amp;quot; in&lt;br /&gt;
        lprintf &amp;quot;if (%s) NextStageAndBreak();\n&amp;quot; c&lt;br /&gt;
      with&lt;br /&gt;
        ExtXml.Error _ -&amp;gt; ()&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
*(4) Now you can use this block in the flightplan:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;block key=&amp;quot;F7&amp;quot; name=&amp;quot;Eight Bench&amp;quot; strip_button=&amp;quot;Figure 8 (wp 1-2)&amp;quot; strip_icon=&amp;quot;eight.png&amp;quot; group=&amp;quot;base_pattern&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;eight center=&amp;quot;8C&amp;quot; radius=&amp;quot;nav_radius&amp;quot; turn_around=&amp;quot;8T&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Eight Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=9956</id>
		<title>Module/FlightBenchmark</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=9956"/>
		<updated>2011-08-15T20:06:35Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
This module allows a quantitative assessment of the flight. It calculates the sum of squared error of the two-dimensional course (x / y), the altitude and true airspeed. The sum of squared error of the course and altitude were separated, because they are regulated separately, and so they dependent on various parameters. The module was written to optimize the control parameters and has already been used successfully.&lt;br /&gt;
&lt;br /&gt;
The measurement is not started until about the variable benchm_go is set to 1.&lt;br /&gt;
&lt;br /&gt;
The sum of squared error can by reseted by changing the boolean variable benchm_reset to zero (will turn back to 1 automatically after it has done the reset). This can also be used in a flight plan, which allows a flight plan with auto-reset. So it is possible to fly an oval or a eight figure with a sum of squared error that will be reseted at the very same point of the figure.&lt;br /&gt;
&lt;br /&gt;
[[Image:SumOfSquaredErrorOfAltitude.jpg|thumb|Example plot: sum of squared error of altitude ]]&lt;br /&gt;
&lt;br /&gt;
==Module Infos==&lt;br /&gt;
ModuleXML &lt;br /&gt;
* flight_benchmark.xml&lt;br /&gt;
Code- and headerfile &lt;br /&gt;
* sw/airborne/modules/benchmark &lt;br /&gt;
Settings file &lt;br /&gt;
* benchmark.xml&lt;br /&gt;
&lt;br /&gt;
==Airframe Adjustments==&lt;br /&gt;
The code is aviable to download in the ?? branch at: -ToDo-&lt;br /&gt;
&lt;br /&gt;
*(1) Insert the software module in the airframe:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;modules&amp;gt;&lt;br /&gt;
                &amp;lt;load name=&amp;quot;flight_benchmark.xml&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_AIRSPEED&amp;quot;/&amp;gt;    &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_ALTITUDE&amp;quot;/&amp;gt;    &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_POSITION&amp;quot;/&amp;gt;  &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_AIRSPEED&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_ALTITUDE&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_POSITION&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                &amp;lt;/load&amp;gt; &lt;br /&gt;
        &amp;lt;/modules&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**Legend: &lt;br /&gt;
***Define BENCHMARK_AIRSPEED to enable airspeed benchmarking (only with airspeed module)&lt;br /&gt;
***Define BENCHMARK_ALTITUDE to enable altitude benchmarking.&lt;br /&gt;
***Define BENCHMARK_POSITION to enable position (x/y) benchmarking. (shortest error to the path)&lt;br /&gt;
***BENCHMARK_TOLERANCE_... define the tolerated value where the sum of squared error won't change. Set to zero to have no tolerance.&lt;br /&gt;
&lt;br /&gt;
*(2) Add the settings XML to the settings list: benchmark.xml&lt;br /&gt;
&lt;br /&gt;
*(3) Now you can turn on the calculations by setting the benchm_go to 1 (in GCS under benchamrk)&lt;br /&gt;
&lt;br /&gt;
==Example configurations in flightplan for auto-reset==&lt;br /&gt;
*(1) Add this to your flightplan:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;flight_plan alt=&amp;quot;............your configurations.............&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;header&amp;gt;&lt;br /&gt;
                #include &amp;quot;modules/benchmark/flight_benchmark.h&amp;quot;&lt;br /&gt;
        &amp;lt;/header&amp;gt;&lt;br /&gt;
 &amp;lt;/flight_plan&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2) Add this block to the blocks section:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;block group=&amp;quot;base_pattern&amp;quot; name=&amp;quot;Oval Bench&amp;quot; strip_button=&amp;quot;Oval Bench(wp 1-2)&amp;quot; strip_icon=&amp;quot;oval.png&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;oval p1=&amp;quot;Ov1&amp;quot; p2=&amp;quot;Ov2&amp;quot; radius=&amp;quot;nav_radius&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Oval Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(3) Make shure that you've named your points right.&lt;br /&gt;
&lt;br /&gt;
==Modify figure eight to use the until function in flightplan==&lt;br /&gt;
&lt;br /&gt;
If you want to use the figure eight with auto-reset you have to modify the flight plan generator to activate the until function.&lt;br /&gt;
&lt;br /&gt;
Or download and replace it from:&lt;br /&gt;
https://github.com/Bruzzlee/paparazzi/blob/master/sw/tools/gen_flight_plan.ml&lt;br /&gt;
&lt;br /&gt;
*(1) Open the flight plan generator in a text editor:&lt;br /&gt;
/sw/tools/gen_flight_plan.ml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2) Now you have to replace this part (line 429)&lt;br /&gt;
&lt;br /&gt;
    | &amp;quot;eight&amp;quot; -&amp;gt;&lt;br /&gt;
    stage ();&lt;br /&gt;
    lprintf &amp;quot;nav_eight_init();\n&amp;quot;;&lt;br /&gt;
    lprintf &amp;quot;NextStageAndBreak();\n&amp;quot;;&lt;br /&gt;
    left ();&lt;br /&gt;
    stage ();&lt;br /&gt;
    let center = get_index_waypoint (ExtXml.attrib x &amp;quot;center&amp;quot;) index_of_waypoints&lt;br /&gt;
    and turn_about = get_index_waypoint (ExtXml.attrib x &amp;quot;turn_around&amp;quot;) index_of_waypoints in&lt;br /&gt;
    let r = parsed_attrib  x &amp;quot;radius&amp;quot; in&lt;br /&gt;
    let _vmode = output_vmode x center &amp;quot;&amp;quot; in&lt;br /&gt;
    lprintf &amp;quot;Eight(%s, %s, %s);\n&amp;quot; center turn_about r;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(3) with this part&lt;br /&gt;
&lt;br /&gt;
    | &amp;quot;eight&amp;quot; -&amp;gt;&lt;br /&gt;
    stage ();&lt;br /&gt;
    lprintf &amp;quot;nav_eight_init();\n&amp;quot;;&lt;br /&gt;
    lprintf &amp;quot;NextStageAndBreak();\n&amp;quot;;&lt;br /&gt;
    left ();&lt;br /&gt;
    stage ();&lt;br /&gt;
    let center = get_index_waypoint (ExtXml.attrib x &amp;quot;center&amp;quot;) index_of_waypoints&lt;br /&gt;
    and turn_about = get_index_waypoint (ExtXml.attrib x &amp;quot;turn_around&amp;quot;) index_of_waypoints in&lt;br /&gt;
    let r = parsed_attrib  x &amp;quot;radius&amp;quot; in&lt;br /&gt;
    let _vmode = output_vmode x center &amp;quot;&amp;quot; in&lt;br /&gt;
    lprintf &amp;quot;Eight(%s, %s, %s);\n&amp;quot; center turn_about r;&lt;br /&gt;
    begin&lt;br /&gt;
      try&lt;br /&gt;
        let c = parsed_attrib x &amp;quot;until&amp;quot; in&lt;br /&gt;
        lprintf &amp;quot;if (%s) NextStageAndBreak();\n&amp;quot; c&lt;br /&gt;
      with&lt;br /&gt;
        ExtXml.Error _ -&amp;gt; ()&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
*(4) Now you can use this block in the flightplan:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;block key=&amp;quot;F7&amp;quot; name=&amp;quot;Eight Bench&amp;quot; strip_button=&amp;quot;Figure 8 (wp 1-2)&amp;quot; strip_icon=&amp;quot;eight.png&amp;quot; group=&amp;quot;base_pattern&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;eight center=&amp;quot;8C&amp;quot; radius=&amp;quot;nav_radius&amp;quot; turn_around=&amp;quot;8T&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Eight Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=9955</id>
		<title>Module/FlightBenchmark</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=9955"/>
		<updated>2011-08-15T20:03:22Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
This module allows a quantitative assessment of the flight. It calculates the sum of squared error of the two-dimensional course (x / y), the altitude and true airspeed. The sum of squared error of the course and altitude were separated, because they are regulated separately, and so they dependent on various parameters. The module was written to optimize the control parameters and has already been used successfully.&lt;br /&gt;
&lt;br /&gt;
The measurement is not started until about the variable benchm_go is set to 1.&lt;br /&gt;
&lt;br /&gt;
The sum of squared error can by reseted by changing the boolean variable benchm_reset to zero (will turn back to 1 automatically after it has done the reset). This can also be used in a flight plan, which allows a flight plan with auto-reset. So it is possible to fly an oval or a eight figure with a sum of squared error that will be reseted at the very same point of the figure.&lt;br /&gt;
&lt;br /&gt;
[[Image:SumOfSquaredErrorOfAltitude.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Module Infos==&lt;br /&gt;
ModuleXML &lt;br /&gt;
* flight_benchmark.xml&lt;br /&gt;
Code- and headerfile &lt;br /&gt;
* sw/airborne/modules/benchmark &lt;br /&gt;
Settings file &lt;br /&gt;
* benchmark.xml&lt;br /&gt;
&lt;br /&gt;
==Airframe Adjustments==&lt;br /&gt;
The code is aviable to download in the ?? branch at: -ToDo-&lt;br /&gt;
&lt;br /&gt;
*(1) Insert the software module in the airframe:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;modules&amp;gt;&lt;br /&gt;
                &amp;lt;load name=&amp;quot;flight_benchmark.xml&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_AIRSPEED&amp;quot;/&amp;gt;    &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_ALTITUDE&amp;quot;/&amp;gt;    &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_POSITION&amp;quot;/&amp;gt;  &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_AIRSPEED&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_ALTITUDE&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_POSITION&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                &amp;lt;/load&amp;gt; &lt;br /&gt;
        &amp;lt;/modules&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**Legend: &lt;br /&gt;
***Define BENCHMARK_AIRSPEED to enable airspeed benchmarking (only with airspeed module)&lt;br /&gt;
***Define BENCHMARK_ALTITUDE to enable altitude benchmarking.&lt;br /&gt;
***Define BENCHMARK_POSITION to enable position (x/y) benchmarking. (shortest error to the path)&lt;br /&gt;
***BENCHMARK_TOLERANCE_... define the tolerated value where the sum of squared error won't change. Set to zero to have no tolerance.&lt;br /&gt;
&lt;br /&gt;
*(2) Add the settings XML to the settings list: benchmark.xml&lt;br /&gt;
&lt;br /&gt;
*(3) Now you can turn on the calculations by setting the benchm_go to 1 (in GCS under benchamrk)&lt;br /&gt;
&lt;br /&gt;
==Example configurations in flightplan for auto-reset==&lt;br /&gt;
*(1) Add this to your flightplan:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;flight_plan alt=&amp;quot;............your configurations.............&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;header&amp;gt;&lt;br /&gt;
                #include &amp;quot;modules/benchmark/flight_benchmark.h&amp;quot;&lt;br /&gt;
        &amp;lt;/header&amp;gt;&lt;br /&gt;
 &amp;lt;/flight_plan&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2) Add this block to the blocks section:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;block group=&amp;quot;base_pattern&amp;quot; name=&amp;quot;Oval Bench&amp;quot; strip_button=&amp;quot;Oval Bench(wp 1-2)&amp;quot; strip_icon=&amp;quot;oval.png&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;oval p1=&amp;quot;Ov1&amp;quot; p2=&amp;quot;Ov2&amp;quot; radius=&amp;quot;nav_radius&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Oval Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(3) Make shure that you've named your points right.&lt;br /&gt;
&lt;br /&gt;
==Modify figure eight to use the until function in flightplan==&lt;br /&gt;
&lt;br /&gt;
If you want to use the figure eight with auto-reset you have to modify the flight plan generator to activate the until function.&lt;br /&gt;
&lt;br /&gt;
Or download and replace it from:&lt;br /&gt;
https://github.com/Bruzzlee/paparazzi/blob/master/sw/tools/gen_flight_plan.ml&lt;br /&gt;
&lt;br /&gt;
*(1) Open the flight plan generator in a text editor:&lt;br /&gt;
/sw/tools/gen_flight_plan.ml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2) Now you have to replace this part (line 429)&lt;br /&gt;
&lt;br /&gt;
    | &amp;quot;eight&amp;quot; -&amp;gt;&lt;br /&gt;
    stage ();&lt;br /&gt;
    lprintf &amp;quot;nav_eight_init();\n&amp;quot;;&lt;br /&gt;
    lprintf &amp;quot;NextStageAndBreak();\n&amp;quot;;&lt;br /&gt;
    left ();&lt;br /&gt;
    stage ();&lt;br /&gt;
    let center = get_index_waypoint (ExtXml.attrib x &amp;quot;center&amp;quot;) index_of_waypoints&lt;br /&gt;
    and turn_about = get_index_waypoint (ExtXml.attrib x &amp;quot;turn_around&amp;quot;) index_of_waypoints in&lt;br /&gt;
    let r = parsed_attrib  x &amp;quot;radius&amp;quot; in&lt;br /&gt;
    let _vmode = output_vmode x center &amp;quot;&amp;quot; in&lt;br /&gt;
    lprintf &amp;quot;Eight(%s, %s, %s);\n&amp;quot; center turn_about r;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(3) with this part&lt;br /&gt;
&lt;br /&gt;
    | &amp;quot;eight&amp;quot; -&amp;gt;&lt;br /&gt;
    stage ();&lt;br /&gt;
    lprintf &amp;quot;nav_eight_init();\n&amp;quot;;&lt;br /&gt;
    lprintf &amp;quot;NextStageAndBreak();\n&amp;quot;;&lt;br /&gt;
    left ();&lt;br /&gt;
    stage ();&lt;br /&gt;
    let center = get_index_waypoint (ExtXml.attrib x &amp;quot;center&amp;quot;) index_of_waypoints&lt;br /&gt;
    and turn_about = get_index_waypoint (ExtXml.attrib x &amp;quot;turn_around&amp;quot;) index_of_waypoints in&lt;br /&gt;
    let r = parsed_attrib  x &amp;quot;radius&amp;quot; in&lt;br /&gt;
    let _vmode = output_vmode x center &amp;quot;&amp;quot; in&lt;br /&gt;
    lprintf &amp;quot;Eight(%s, %s, %s);\n&amp;quot; center turn_about r;&lt;br /&gt;
    begin&lt;br /&gt;
      try&lt;br /&gt;
        let c = parsed_attrib x &amp;quot;until&amp;quot; in&lt;br /&gt;
        lprintf &amp;quot;if (%s) NextStageAndBreak();\n&amp;quot; c&lt;br /&gt;
      with&lt;br /&gt;
        ExtXml.Error _ -&amp;gt; ()&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
*(4) Now you can use this block in the flightplan:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;block key=&amp;quot;F7&amp;quot; name=&amp;quot;Eight Bench&amp;quot; strip_button=&amp;quot;Figure 8 (wp 1-2)&amp;quot; strip_icon=&amp;quot;eight.png&amp;quot; group=&amp;quot;base_pattern&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;eight center=&amp;quot;8C&amp;quot; radius=&amp;quot;nav_radius&amp;quot; turn_around=&amp;quot;8T&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Eight Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:SumOfSquaredErrorOfAltitude.jpg&amp;diff=9954</id>
		<title>File:SumOfSquaredErrorOfAltitude.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:SumOfSquaredErrorOfAltitude.jpg&amp;diff=9954"/>
		<updated>2011-08-15T20:02:45Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: sum of squared error of altitude&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;sum of squared error of altitude&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=9953</id>
		<title>Module/FlightBenchmark</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=9953"/>
		<updated>2011-08-15T19:07:27Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Description==&lt;br /&gt;
This module allows a quantitative assessment of the flight. It calculates the sum of squared error of the two-dimensional course (x / y), the altitude and true airspeed. The sum of squared error of the course and altitude were separated, because they are regulated separately, and so they dependent on various parameters. The module was written to optimize the control parameters and has already been used successfully.&lt;br /&gt;
&lt;br /&gt;
The measurement is not started until about the variable benchm_go is set to 1.&lt;br /&gt;
&lt;br /&gt;
The sum of squared error can by reseted by changing the boolean variable benchm_reset to zero (will turn back to 1 automatically after it has done the reset). This can also be used in a flight plan, which allows a flight plan with auto-reset. So it is possible to fly an oval or a eight figure with a sum of squared error that will be reseted at the very same point of the figure.&lt;br /&gt;
&lt;br /&gt;
[[Image:Fehlerquadratsumme_Altitude.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Module Infos==&lt;br /&gt;
ModuleXML &lt;br /&gt;
* flight_benchmark.xml&lt;br /&gt;
Code- and headerfile &lt;br /&gt;
* sw/airborne/modules/benchmark &lt;br /&gt;
Settings file &lt;br /&gt;
* benchmark.xml&lt;br /&gt;
&lt;br /&gt;
==Airframe Adjustments==&lt;br /&gt;
The code is aviable to download in the ?? branch at: -ToDo-&lt;br /&gt;
&lt;br /&gt;
*(1) Insert the software module in the airframe:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;modules&amp;gt;&lt;br /&gt;
                &amp;lt;load name=&amp;quot;flight_benchmark.xml&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_AIRSPEED&amp;quot;/&amp;gt;    &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_ALTITUDE&amp;quot;/&amp;gt;    &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_POSITION&amp;quot;/&amp;gt;  &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_AIRSPEED&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_ALTITUDE&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_POSITION&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                &amp;lt;/load&amp;gt; &lt;br /&gt;
        &amp;lt;/modules&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**Legend: &lt;br /&gt;
***Define BENCHMARK_AIRSPEED to enable airspeed benchmarking (only with airspeed module)&lt;br /&gt;
***Define BENCHMARK_ALTITUDE to enable altitude benchmarking.&lt;br /&gt;
***Define BENCHMARK_POSITION to enable position (x/y) benchmarking. (shortest error to the path)&lt;br /&gt;
***BENCHMARK_TOLERANCE_... define the tolerated value where the sum of squared error won't change. Set to zero to have no tolerance.&lt;br /&gt;
&lt;br /&gt;
*(2) Add the settings XML to the settings list: benchmark.xml&lt;br /&gt;
&lt;br /&gt;
*(3) Now you can turn on the calculations by setting the benchm_go to 1 (in GCS under benchamrk)&lt;br /&gt;
&lt;br /&gt;
==Example configurations in flightplan for auto-reset==&lt;br /&gt;
*(1) Add this to your flightplan:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;flight_plan alt=&amp;quot;............your configurations.............&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;header&amp;gt;&lt;br /&gt;
                #include &amp;quot;modules/benchmark/flight_benchmark.h&amp;quot;&lt;br /&gt;
        &amp;lt;/header&amp;gt;&lt;br /&gt;
 &amp;lt;/flight_plan&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2) Add this block to the blocks section:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;block group=&amp;quot;base_pattern&amp;quot; name=&amp;quot;Oval Bench&amp;quot; strip_button=&amp;quot;Oval Bench(wp 1-2)&amp;quot; strip_icon=&amp;quot;oval.png&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;oval p1=&amp;quot;Ov1&amp;quot; p2=&amp;quot;Ov2&amp;quot; radius=&amp;quot;nav_radius&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Oval Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(3) Make shure that you've named your points right.&lt;br /&gt;
&lt;br /&gt;
==Modify figure eight to use the until function in flightplan==&lt;br /&gt;
&lt;br /&gt;
If you want to use the figure eight with auto-reset you have to modify the flight plan generator to activate the until function.&lt;br /&gt;
&lt;br /&gt;
Or download and replace it from:&lt;br /&gt;
https://github.com/Bruzzlee/paparazzi/blob/master/sw/tools/gen_flight_plan.ml&lt;br /&gt;
&lt;br /&gt;
*(1) Open the flight plan generator in a text editor:&lt;br /&gt;
/sw/tools/gen_flight_plan.ml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2) Now you have to replace this part (line 429)&lt;br /&gt;
&lt;br /&gt;
    | &amp;quot;eight&amp;quot; -&amp;gt;&lt;br /&gt;
    stage ();&lt;br /&gt;
    lprintf &amp;quot;nav_eight_init();\n&amp;quot;;&lt;br /&gt;
    lprintf &amp;quot;NextStageAndBreak();\n&amp;quot;;&lt;br /&gt;
    left ();&lt;br /&gt;
    stage ();&lt;br /&gt;
    let center = get_index_waypoint (ExtXml.attrib x &amp;quot;center&amp;quot;) index_of_waypoints&lt;br /&gt;
    and turn_about = get_index_waypoint (ExtXml.attrib x &amp;quot;turn_around&amp;quot;) index_of_waypoints in&lt;br /&gt;
    let r = parsed_attrib  x &amp;quot;radius&amp;quot; in&lt;br /&gt;
    let _vmode = output_vmode x center &amp;quot;&amp;quot; in&lt;br /&gt;
    lprintf &amp;quot;Eight(%s, %s, %s);\n&amp;quot; center turn_about r;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(3) with this part&lt;br /&gt;
&lt;br /&gt;
    | &amp;quot;eight&amp;quot; -&amp;gt;&lt;br /&gt;
    stage ();&lt;br /&gt;
    lprintf &amp;quot;nav_eight_init();\n&amp;quot;;&lt;br /&gt;
    lprintf &amp;quot;NextStageAndBreak();\n&amp;quot;;&lt;br /&gt;
    left ();&lt;br /&gt;
    stage ();&lt;br /&gt;
    let center = get_index_waypoint (ExtXml.attrib x &amp;quot;center&amp;quot;) index_of_waypoints&lt;br /&gt;
    and turn_about = get_index_waypoint (ExtXml.attrib x &amp;quot;turn_around&amp;quot;) index_of_waypoints in&lt;br /&gt;
    let r = parsed_attrib  x &amp;quot;radius&amp;quot; in&lt;br /&gt;
    let _vmode = output_vmode x center &amp;quot;&amp;quot; in&lt;br /&gt;
    lprintf &amp;quot;Eight(%s, %s, %s);\n&amp;quot; center turn_about r;&lt;br /&gt;
    begin&lt;br /&gt;
      try&lt;br /&gt;
        let c = parsed_attrib x &amp;quot;until&amp;quot; in&lt;br /&gt;
        lprintf &amp;quot;if (%s) NextStageAndBreak();\n&amp;quot; c&lt;br /&gt;
      with&lt;br /&gt;
        ExtXml.Error _ -&amp;gt; ()&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
*(4) Now you can use this block in the flightplan:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;block key=&amp;quot;F7&amp;quot; name=&amp;quot;Eight Bench&amp;quot; strip_button=&amp;quot;Figure 8 (wp 1-2)&amp;quot; strip_icon=&amp;quot;eight.png&amp;quot; group=&amp;quot;base_pattern&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;eight center=&amp;quot;8C&amp;quot; radius=&amp;quot;nav_radius&amp;quot; turn_around=&amp;quot;8T&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Eight Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:Fehlerquadratsumme_Altitude.jpg&amp;diff=9952</id>
		<title>File:Fehlerquadratsumme Altitude.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:Fehlerquadratsumme_Altitude.jpg&amp;diff=9952"/>
		<updated>2011-08-15T19:01:15Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: sum of squared error of altitude&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;sum of squared error of altitude&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=9951</id>
		<title>Module/FlightBenchmark</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Module/FlightBenchmark&amp;diff=9951"/>
		<updated>2011-08-15T17:55:27Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This module allows a quantitative assessment of the flight. It calculates the sum of squared error of the two-dimensional course (x / y), the altitude and true airspeed. The sum of squared error of the course and altitude were separated, because they are regulated separately, and so they dependent on various parameters. The module was written to optimize the control parameters and has already been used successfully.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The measurement is not started until about the variable benchm_go is set to 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sum of squared error can by reseted by changing the boolean variable benchm_reset to zero. This can also be used in a flight plan, which allows a flight plan with auto-reset. So it is possible to fly an oval or a eight figure with a sum of squared error that will be reseted at the very same point of the figure.&lt;br /&gt;
&lt;br /&gt;
==Module Infos==&lt;br /&gt;
ModuleXML &lt;br /&gt;
* flight_benchmark.xml&lt;br /&gt;
Code- and headerfile &lt;br /&gt;
* sw/airborne/modules/benchmark &lt;br /&gt;
Settings file &lt;br /&gt;
* benchmark.xml&lt;br /&gt;
&lt;br /&gt;
==Airframe Adjustments==&lt;br /&gt;
The code is aviable to download in the dev branch at: https://github.com/paparazzi/paparazzi/tree/dev&lt;br /&gt;
&lt;br /&gt;
*(1) Insert the software module in the airframe:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;modules&amp;gt;&lt;br /&gt;
                &amp;lt;load name=&amp;quot;flight_benchmark.xml&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_AIRSPEED&amp;quot;/&amp;gt;    &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_ALTITUDE&amp;quot;/&amp;gt;    &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_POSITION&amp;quot;/&amp;gt;  &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_AIRSPEED&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_ALTITUDE&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                        &amp;lt;define name=&amp;quot;BENCHMARK_TOLERANCE_POSITION&amp;quot; value=&amp;quot;0.&amp;quot;/&amp;gt; &lt;br /&gt;
                &amp;lt;/load&amp;gt; &lt;br /&gt;
        &amp;lt;/modules&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**Legend: &lt;br /&gt;
***Define BENCHMARK_AIRSPEED to enable airspeed benchmarking (only with airspeed module)&lt;br /&gt;
***Define BENCHMARK_ALTITUDE to enable altitude benchmarking.&lt;br /&gt;
***Define BENCHMARK_POSITION to enable position (x/y) benchmarking. (shortest error to the path)&lt;br /&gt;
***BENCHMARK_TOLERANCE_... define the tolerated value where the sum of squared error won't change. Set to zero to have no tolerance.&lt;br /&gt;
&lt;br /&gt;
*(2) Add the settings XML to the settings list: benchmark.xml&lt;br /&gt;
&lt;br /&gt;
*(3) Now you can turn on the calculations by setting the benchm_go to 1 (in GCS under benchamrk)&lt;br /&gt;
&lt;br /&gt;
==Example configurations in flightplan for auto-reset==&lt;br /&gt;
*(1) Add this to your flightplan:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;flight_plan alt=&amp;quot;............your configurations.............&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;header&amp;gt;&lt;br /&gt;
                #include &amp;quot;modules/benchmark/flight_benchmark.h&amp;quot;&lt;br /&gt;
        &amp;lt;/header&amp;gt;&lt;br /&gt;
 &amp;lt;/flight_plan&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2) Add this block to the blocks section:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;block group=&amp;quot;base_pattern&amp;quot; name=&amp;quot;Oval Bench&amp;quot; strip_button=&amp;quot;Oval Bench(wp 1-2)&amp;quot; strip_icon=&amp;quot;oval.png&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;oval p1=&amp;quot;Ov1&amp;quot; p2=&amp;quot;Ov2&amp;quot; radius=&amp;quot;nav_radius&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Oval Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(3) Make shure that you've named your points right.&lt;br /&gt;
&lt;br /&gt;
==Modify figure eight to use the until function in flightplan==&lt;br /&gt;
&lt;br /&gt;
If you want to use the figure eight with auto-reset you have to modify the flight plan generator to activate the until function.&lt;br /&gt;
&lt;br /&gt;
Or download and replace it from:&lt;br /&gt;
https://github.com/Bruzzlee/paparazzi/blob/master/sw/tools/gen_flight_plan.ml&lt;br /&gt;
&lt;br /&gt;
*(1) Open the flight plan generator in a text editor:&lt;br /&gt;
/sw/tools/gen_flight_plan.ml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(2) Now you have to replace this part (line 429)&lt;br /&gt;
&lt;br /&gt;
    | &amp;quot;eight&amp;quot; -&amp;gt;&lt;br /&gt;
    stage ();&lt;br /&gt;
    lprintf &amp;quot;nav_eight_init();\n&amp;quot;;&lt;br /&gt;
    lprintf &amp;quot;NextStageAndBreak();\n&amp;quot;;&lt;br /&gt;
    left ();&lt;br /&gt;
    stage ();&lt;br /&gt;
    let center = get_index_waypoint (ExtXml.attrib x &amp;quot;center&amp;quot;) index_of_waypoints&lt;br /&gt;
    and turn_about = get_index_waypoint (ExtXml.attrib x &amp;quot;turn_around&amp;quot;) index_of_waypoints in&lt;br /&gt;
    let r = parsed_attrib  x &amp;quot;radius&amp;quot; in&lt;br /&gt;
    let _vmode = output_vmode x center &amp;quot;&amp;quot; in&lt;br /&gt;
    lprintf &amp;quot;Eight(%s, %s, %s);\n&amp;quot; center turn_about r;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*(3) with this part&lt;br /&gt;
&lt;br /&gt;
    | &amp;quot;eight&amp;quot; -&amp;gt;&lt;br /&gt;
    stage ();&lt;br /&gt;
    lprintf &amp;quot;nav_eight_init();\n&amp;quot;;&lt;br /&gt;
    lprintf &amp;quot;NextStageAndBreak();\n&amp;quot;;&lt;br /&gt;
    left ();&lt;br /&gt;
    stage ();&lt;br /&gt;
    let center = get_index_waypoint (ExtXml.attrib x &amp;quot;center&amp;quot;) index_of_waypoints&lt;br /&gt;
    and turn_about = get_index_waypoint (ExtXml.attrib x &amp;quot;turn_around&amp;quot;) index_of_waypoints in&lt;br /&gt;
    let r = parsed_attrib  x &amp;quot;radius&amp;quot; in&lt;br /&gt;
    let _vmode = output_vmode x center &amp;quot;&amp;quot; in&lt;br /&gt;
    lprintf &amp;quot;Eight(%s, %s, %s);\n&amp;quot; center turn_about r;&lt;br /&gt;
    begin&lt;br /&gt;
      try&lt;br /&gt;
        let c = parsed_attrib x &amp;quot;until&amp;quot; in&lt;br /&gt;
        lprintf &amp;quot;if (%s) NextStageAndBreak();\n&amp;quot; c&lt;br /&gt;
      with&lt;br /&gt;
        ExtXml.Error _ -&amp;gt; ()&lt;br /&gt;
    end;&lt;br /&gt;
&lt;br /&gt;
*(4) Now you can use this block in the flightplan:&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;block key=&amp;quot;F7&amp;quot; name=&amp;quot;Eight Bench&amp;quot; strip_button=&amp;quot;Figure 8 (wp 1-2)&amp;quot; strip_icon=&amp;quot;eight.png&amp;quot; group=&amp;quot;base_pattern&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;eight center=&amp;quot;8C&amp;quot; radius=&amp;quot;nav_radius&amp;quot; turn_around=&amp;quot;8T&amp;quot; until=&amp;quot;nav_oval_count &amp;gt; 0&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;set value=&amp;quot;1&amp;quot; var=&amp;quot;benchm_reset&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;deroute block=&amp;quot;Eight Bench&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/block&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Bruzzlee&amp;diff=9940</id>
		<title>User:Bruzzlee</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Bruzzlee&amp;diff=9940"/>
		<updated>2011-08-10T13:27:23Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
&lt;br /&gt;
'''Location:''' Switzerland&lt;br /&gt;
&lt;br /&gt;
'''University:''' [http://www.zhaw.ch/ Zürcher Hochschule für Angewandte Wissenschaften]&lt;br /&gt;
&lt;br /&gt;
'''Hardware:''' Tiny 2.11 incl. ArduIMU, Borjet Maja, Mentor [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html UMARS]&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
I have some problems with git, so I packed the important files to a zip file with a little HowToUse PDF.&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** &amp;quot;On the fly&amp;quot; switch-able Airspeed-Control loops&lt;br /&gt;
*** Modes:&lt;br /&gt;
**** 0 - Standard&lt;br /&gt;
**** 1 - Vassillis&lt;br /&gt;
**** 2 - Airspeed Pitch Climbrate&lt;br /&gt;
**** 3 - Airspeed Pitch Simple&lt;br /&gt;
**** 4 - Airspeed Manual Power&lt;br /&gt;
**** 5 - Airspeed Pitch Acceleration&lt;br /&gt;
**** See [http://paparazzi.enac.fr/wiki/Image:Airspeed_Control_Loops.pdf Airspeed_Control_Loops.pdf] for Matlab views&lt;br /&gt;
** AMSYS I2C Airspeed-Sensor module&lt;br /&gt;
** AMSYS I2C Baro module&lt;br /&gt;
** ADC Sonar Module&lt;br /&gt;
** Our Airframe&lt;br /&gt;
** Autonomous launch and landing (ZHAWnav)&lt;br /&gt;
** Angle of attack sensor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/Image:Proj_mentor_1.zip Proj_mentor_1.zip]&lt;br /&gt;
&lt;br /&gt;
== GIT ==&lt;br /&gt;
[https://github.com/Bruzzlee/paparazzi --&amp;gt;Here&amp;lt;--] I am working on the publication of our source.&lt;br /&gt;
&lt;br /&gt;
Feel free to modify it, if there is something wrong.&lt;br /&gt;
&lt;br /&gt;
Send a request if you want me to upload something extra.&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** 5 different Airspeed-Control loops (not all are tested!)&lt;br /&gt;
** Airspeed scales in setting-file&lt;br /&gt;
** Example Airframe&lt;br /&gt;
** Amsys-Airspeed I2C Sensor module (on optimizing)&lt;br /&gt;
&lt;br /&gt;
== Project thesis ==&lt;br /&gt;
&lt;br /&gt;
=== Bachelor thesis ===&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/Image:BA_FS11_Dokumentation_Drohne.pdf --&amp;gt;Download&amp;lt;--]&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** Airspeed control systems&lt;br /&gt;
** Autonomous launch and landing&lt;br /&gt;
** Angle of attack sensor&lt;br /&gt;
&lt;br /&gt;
Abstract:&lt;br /&gt;
A drone named UMARS was developed at the ZHAW for atmospheric research flights. An autopilot based on the open source project Paparazzi was developed in former projects in order to enable the use of the drone by personal with no model-flight experience. Thus, in this project an existing air-speed control strategy was further developed using now a Prandtl probe and a differential pressure sensor. New autonomous launch and landing procedures were also implemented successfully in this project. To avoid disturbances of the Inertial Measurement Unit (IMU) caused by the acceleration during the launch, an angle-of-attack sensor was mounted on the drone, which has improved clearly the flight attitude relative to the air flow. An accurate measurement of the drone's height during the landing approach is necessary. An ultrasonic sensor was specified to accomplish this task.&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/w/index.php?title=User:Bruzzlee#Landing Video - Landing]&lt;br /&gt;
&lt;br /&gt;
=== My Project thesis ===&lt;br /&gt;
&lt;br /&gt;
It's a [http://paparazzi.enac.fr/wiki/Image:PA_Kleindrohne.pdf project thesis] which we wrote about our first steps with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
** &amp;quot;New&amp;quot; Paparazzi File structure &lt;br /&gt;
** Analysis of various Control-Loops &lt;br /&gt;
** Detailed Airspeed-Control analysis &lt;br /&gt;
** Airspeed Sensor (ADC) (How to activate a analogue Airspeed Sensor) &lt;br /&gt;
** Various flight tests &lt;br /&gt;
** Adaptive Airspeed Control suggestions &lt;br /&gt;
** How to write a &amp;quot;Driver&amp;quot; &lt;br /&gt;
** Idea of a short Check-list &lt;br /&gt;
** How to &amp;quot;Flash&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:PA_Kleindrohne.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Project thesis I've referenced to ===&lt;br /&gt;
&lt;br /&gt;
This [http://paparazzi.enac.fr/wiki/Image:Paparazzi_Autopilot_Bericht_Syat.pdf project thesis] describes the first steps with the Paparazzi-Project.&lt;br /&gt;
(Outdated Source Code)&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
**Block diagram&lt;br /&gt;
**Tiny V2.11&lt;br /&gt;
**Diagram of the Control Boards&lt;br /&gt;
**IR sensors&lt;br /&gt;
**Gyro&lt;br /&gt;
**Accelerometers&lt;br /&gt;
**IMU&lt;br /&gt;
**2.4 GHz RC control and paparazzi link&lt;br /&gt;
**Order list&lt;br /&gt;
**Software Installation&lt;br /&gt;
**Additional cables and connectors&lt;br /&gt;
**Paparazzi start&lt;br /&gt;
**GUI&lt;br /&gt;
**Operation modes&lt;br /&gt;
**Configuration files&lt;br /&gt;
**GCS&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:Paparazzi_Autopilot_Bericht_Syat.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Bachelor thesis I've referenced to ===&lt;br /&gt;
&lt;br /&gt;
This [http://paparazzi.enac.fr/wiki/Image:BA_Flugregelung.pdf bachelor thesis] describes further steps with the Paparazzi-Project. &lt;br /&gt;
(Outdated Source Code)&lt;br /&gt;
&lt;br /&gt;
* Language: German&lt;br /&gt;
&lt;br /&gt;
* Contents: &lt;br /&gt;
**Commissioning of the test aircraft with the autopilot&lt;br /&gt;
**Inertial Measurement Unit for position control&lt;br /&gt;
**Speed and altitude control&lt;br /&gt;
**Barometer AMSYS AMS 4711 - 1200 B&lt;br /&gt;
**Differential pressure sensor AMSYS AMS 4711 - 0020D&lt;br /&gt;
**Vassilis-Airspeed&lt;br /&gt;
**Airspeed One&lt;br /&gt;
**Airspeed Two&lt;br /&gt;
**Present state of the software / hardware&lt;br /&gt;
**Hardware and software design of paparazzi&lt;br /&gt;
**The I2C interface&lt;br /&gt;
**ArduImu&lt;br /&gt;
&lt;br /&gt;
* Hardware: Tiny 2.11 incl. ArduIMU, Borjet Maja&lt;br /&gt;
&lt;br /&gt;
[[Image:BA_Flugregelung.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
&lt;br /&gt;
=== Maja ===&lt;br /&gt;
[http://www.youtube.com/watch?v=5DqFqwjZw1E Borjet Maja recorded with GoProHD]&lt;br /&gt;
&lt;br /&gt;
[[Image:MajaWithGoProHD.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=HJ1xqxz0h64 Altitude flight with Borjet Maja (new ArduIMU-Firmware)]&lt;br /&gt;
&lt;br /&gt;
[[Image:AlpsMaja.png]]&lt;br /&gt;
&lt;br /&gt;
=== Landing ===&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=NKyq2UT9sF4 Advanced Paparazzi Landing]&lt;br /&gt;
&lt;br /&gt;
[[Image:AdvancedPaparazziLanding.jpg]]&lt;br /&gt;
&lt;br /&gt;
= Angle of attack sensor =&lt;br /&gt;
[[AOA_adc]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:AdvancedPaparazziLanding.jpg&amp;diff=9939</id>
		<title>File:AdvancedPaparazziLanding.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:AdvancedPaparazziLanding.jpg&amp;diff=9939"/>
		<updated>2011-08-10T13:20:24Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:BA_FS11_Dokumentation_Drohne.pdf&amp;diff=9938</id>
		<title>File:BA FS11 Dokumentation Drohne.pdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:BA_FS11_Dokumentation_Drohne.pdf&amp;diff=9938"/>
		<updated>2011-08-10T13:14:15Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: A drone named UMARS was developed at the ZHAW for atmospheric research flights. An autopilot based on the open source project Paparazzi was developed in former projects in order to enable the use of the drone by personal with no model-flight experience. T&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A drone named UMARS was developed at the ZHAW for atmospheric research flights. An autopilot based on the open source project Paparazzi was developed in former projects in order to enable the use of the drone by personal with no model-flight experience. Thus, in this project an existing air-speed control strategy was further developed using now a Prandtl probe and a differential pressure sensor. New autonomous launch and landing procedures were also implemented successfully in this project. To avoid disturbances of the Inertial Measurement Unit (IMU) caused by the acceleration during the launch, an angle-of-attack sensor was mounted on the drone, which has improved clearly the flight attitude relative to the air flow. An accurate measurement of the drone's height during the landing approach is necessary. An ultrasonic sensor was specified to accomplish this task.&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User/RotorCraft/Bruzzlee&amp;diff=9934</id>
		<title>User/RotorCraft/Bruzzlee</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User/RotorCraft/Bruzzlee&amp;diff=9934"/>
		<updated>2011-08-10T02:14:19Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page shows the way of building a quadrotor.&lt;br /&gt;
= Parts =&lt;br /&gt;
[[Image:XbeeParts.JPG]]&lt;br /&gt;
[[Image:EngineParts.JPG]]&lt;br /&gt;
= Frame =&lt;br /&gt;
[[Image:AluFrameBruzzlee.JPG]]&lt;br /&gt;
= Wiring =&lt;br /&gt;
[[Image:PowerDistributionBruzzlee.JPG]]&lt;br /&gt;
[[Image:PowerDistributionBruzzlee2.JPG]]&lt;br /&gt;
[[Image:QuadSideBruzzlee.JPG]]&lt;br /&gt;
[[Image:QuadTopBruzzlee.JPG]]&lt;br /&gt;
[[Image:QuadBottomBruzzlee.JPG]]&lt;br /&gt;
= Electronic =&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:QuadBottomBruzzlee.JPG&amp;diff=9933</id>
		<title>File:QuadBottomBruzzlee.JPG</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:QuadBottomBruzzlee.JPG&amp;diff=9933"/>
		<updated>2011-08-10T02:13:46Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: Quadrotor bottom view&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Quadrotor bottom view&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:QuadTopBruzzlee.JPG&amp;diff=9932</id>
		<title>File:QuadTopBruzzlee.JPG</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:QuadTopBruzzlee.JPG&amp;diff=9932"/>
		<updated>2011-08-10T02:12:24Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: Quadrotor topview&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Quadrotor topview&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:QuadSideBruzzlee.JPG&amp;diff=9931</id>
		<title>File:QuadSideBruzzlee.JPG</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:QuadSideBruzzlee.JPG&amp;diff=9931"/>
		<updated>2011-08-10T02:10:15Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: Quadrotor side view&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Quadrotor side view&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:PowerDistributionBruzzlee2.JPG&amp;diff=9930</id>
		<title>File:PowerDistributionBruzzlee2.JPG</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:PowerDistributionBruzzlee2.JPG&amp;diff=9930"/>
		<updated>2011-08-10T02:09:04Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: Power Distribution of the quadrotor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Power Distribution of the quadrotor&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:PowerDistributionBruzzlee.JPG&amp;diff=9929</id>
		<title>File:PowerDistributionBruzzlee.JPG</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:PowerDistributionBruzzlee.JPG&amp;diff=9929"/>
		<updated>2011-08-10T02:08:04Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: Power Distribution of the quadrotor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Power Distribution of the quadrotor&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:AluFrameBruzzlee.JPG&amp;diff=9928</id>
		<title>File:AluFrameBruzzlee.JPG</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:AluFrameBruzzlee.JPG&amp;diff=9928"/>
		<updated>2011-08-10T02:06:03Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: Quadrotor aluminium Frame&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Quadrotor aluminium Frame&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:EngineParts.JPG&amp;diff=9927</id>
		<title>File:EngineParts.JPG</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:EngineParts.JPG&amp;diff=9927"/>
		<updated>2011-08-10T02:04:27Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: Engine Parts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Engine Parts&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=File:XbeeParts.JPG&amp;diff=9926</id>
		<title>File:XbeeParts.JPG</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=File:XbeeParts.JPG&amp;diff=9926"/>
		<updated>2011-08-10T02:03:12Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: XbeeParts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XbeeParts&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Modules_list&amp;diff=9763</id>
		<title>Modules list</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Modules_list&amp;diff=9763"/>
		<updated>2011-07-19T22:22:34Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Available modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some part of the code is already available as [[Modules|modules]]. Some other parts could be easily adapted. A module may have several configuration files for the most common uses. The code of the modules is placed in sw/modules/&amp;lt;directory name&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Available modules ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name !! directory !! configuration files !! airframe(s) !! description&lt;br /&gt;
|-&lt;br /&gt;
|Demo || demo_module || demo_module.xml || FW || basic example with blinking leds&lt;br /&gt;
|-&lt;br /&gt;
|max11040 || adcs || max11040.xml || FW || 24 bit 16 channel AD converter&lt;br /&gt;
|-&lt;br /&gt;
|[[Airframe_Configuration#ADC_Generic|ADC generic]] || adcs || adc_generic.xml || FW || autopilot internal 10 bit AD converter&lt;br /&gt;
|-&lt;br /&gt;
|Enose || enose || enose.xml || FW || chemical sensor&lt;br /&gt;
|-&lt;br /&gt;
|Booz cam || cam_control || booz_cam.xml || Booz || pointing of a simple camera on booz (servo for tilt, heading for pan&lt;br /&gt;
|-&lt;br /&gt;
|Cam point || cam_control || cam_point.xml || FW || pointing of a camera&lt;br /&gt;
|-&lt;br /&gt;
|Cam roll || cam_control || cam_roll.xml || FW || roll camera&lt;br /&gt;
|-&lt;br /&gt;
|Booz drop || drop || booz_drop.xml || Booz || drop mechanism on booz&lt;br /&gt;
|-&lt;br /&gt;
|light || light || light.xml || FW || control blinking speed of the LEDs for night flights&lt;br /&gt;
|-&lt;br /&gt;
|servo switch || servo_switch || servo_switch.xml || FW || simply switch a servo to &amp;quot;on&amp;quot; or &amp;quot;off&amp;quot; position, e.g. trigger camera or open hatch&lt;br /&gt;
|-&lt;br /&gt;
|Formation flight || multi || formation_flight.xml || FW || formation flight control for fixed-wing aircraft&lt;br /&gt;
|-&lt;br /&gt;
|Gps i2c || gps_i2c || gps_i2c.xml || FW || i2c driver for Ubx GPS modules&lt;br /&gt;
|-&lt;br /&gt;
|Xsens || ins || ins_xsens.xml&amp;lt;br&amp;gt;ins_xsens_MTi_Uart0.xml&amp;lt;br&amp;gt;ins_xsens_MTiG_Uart0.xml || || driver for the Xsens AHRS/INS (for fixedwing it provides a full navigation solution, for rotorcraft it is a bit slow)&lt;br /&gt;
|-&lt;br /&gt;
|[[ArduIMU|ins_ArduIMU]] || ins || ins_arduimu.xml || FW || ArduIMU V2+ (Flat) INS (should probably be renamed to AHRS and adhere to the ahrs interface)&lt;br /&gt;
|-&lt;br /&gt;
|VN-100 || ins || ins_vn100.xml || FW RW? || VectorNav VN-100 AHRS (should probably be renamed to AHRS and adhere to the ahrs interface)&lt;br /&gt;
|-&lt;br /&gt;
|Max 3100 || max3100 || max3100.xml || FW || max3100 driver (spi&amp;lt;-&amp;gt;uart converter)&lt;br /&gt;
|-&lt;br /&gt;
|MPPT || MPPT || MPPT.xml || FW || maximum power point tracker (control board for solar cells, i2C interface)&lt;br /&gt;
|-&lt;br /&gt;
|Poles || poles || poles.xml || FW || special navigation functions to fly around poles and counting loops&lt;br /&gt;
|-&lt;br /&gt;
|Potential || multi || potential.xml || FW || use potential fields for collision avoidance&lt;br /&gt;
|-&lt;br /&gt;
|Sonar || sonar || sonar_maxbotix_booz.xml || Booz || driver for a Maxbotix ultrasonic sensor&lt;br /&gt;
|-&lt;br /&gt;
|dust_gp2y || meteo || dust_gp2y.xml || FW || driver for Sharp GP2Y1010AU0F dust sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_dpicco || meteo || humid_dpicco.xml || FW || driver for IST DigiPicco humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_hih || meteo || humid_hih.xml || FW || driver for Honeywell HIH-4030 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_htm_b71 || meteo || humid_htm_b71.xml || FW || driver for TronSens HTM-B71 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_sht || meteo || humid_sht.xml || FW || driver for Sensirion SHT75 humidity sensor&lt;br /&gt;
|-&lt;br /&gt;
|humid_sht_i2c || meteo || humid_sht_i2c.xml || FW || driver for Sensirion SHT25 humidity sensor (I2C)&lt;br /&gt;
|-&lt;br /&gt;
|ir_mlx || meteo || ir_mlx.xml || FW || driver for Melexis 90614 IR sensor&lt;br /&gt;
|-&lt;br /&gt;
|light_temt || meteo || light_temt.xml || FW || driver for Vishay TEMT6000 ambient light sensor&lt;br /&gt;
|-&lt;br /&gt;
|temp_lm75 || meteo || temp_lm75.xml || FW || driver for National LM75 temperature sensor&lt;br /&gt;
|-&lt;br /&gt;
|temp_temod || meteo || temp_temod.xml || FW || Hygrosens TEMOD-I2C-Rx temperature sensor for PT1000&lt;br /&gt;
|-&lt;br /&gt;
|temp_tmp102 || meteo || temp_tmp102.xml || FW || driver for TI TMP102 temperature sensor&lt;br /&gt;
|-&lt;br /&gt;
|airspeed_adc || sensors || airspeed_adc.xml || FW || driver for airspeed sensor based on analog voltage&lt;br /&gt;
|-&lt;br /&gt;
|[[Airspeed_sensor#Connecting_an_EagleTree_Airspeed_Sensor|airspeed_ets]] || sensors || airspeed_ets.xml || FW || Eagle Tree Systems airspeed sensor&lt;br /&gt;
|-&lt;br /&gt;
|alt_srf08 || sensors || alt_srf08.xml || FW || driver for Devantech Ultrasonic Range Finder SRF08&lt;br /&gt;
|-&lt;br /&gt;
|baro_bmp || sensors || baro_bmp.xml || FW || driver for Bosch BMP085 pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_ets || sensors || baro_ets.xml || FW || Eagle Tree Systems pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_MS5534A || sensors || baro_MS5334A.xml || FW || driver for Intersema MS5534A pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_ms5611_i2c || sensors || baro_ms5611_i2c.xml || FW || driver for Measurement Specialties MS5611-01BA pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_scp || sensors || baro_scp.xml || FW || driver for VTI SCP1000 (SPI) pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|baro_scp_i2c || sensors || baro_scp_i2c.xml || FW || driver for VTI SCP1000 (I2C) pressure sensor&lt;br /&gt;
|-&lt;br /&gt;
|mag_micromag_fw || sensors || mag_micromag_fw.xml || FW || driver for PNI Micromag magnetic sensor&lt;br /&gt;
|-&lt;br /&gt;
|trigger_ext || sensors || trigger_ext.xml || FW || driver to measure external events/durations&lt;br /&gt;
|-&lt;br /&gt;
|Sys mon || core || sys_mon.xml || FW &amp;amp; Booz || measures CPU load &amp;amp; activity&lt;br /&gt;
|-&lt;br /&gt;
|DC  || digital_cam || digital_cam.xml&amp;lt;br&amp;gt;digital_cam_i2c.xml || FW &amp;amp; RW || Controls Digital Camera Functions (buttons) like shoot/zoom/onoff/take pictures at regular intervals&lt;br /&gt;
|-&lt;br /&gt;
|[[AOA_adc]] || sensors || [https://github.com/Bruzzlee/paparazzi/blob/AoA/conf/modules/AOA_adc.xml AOA_adc.xml] || FW || Reads the value of an US DIGITAL MA3-A10-236-N AoA Sensor and controls the elevator with its value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Possible modules ===&lt;br /&gt;
&lt;br /&gt;
A list of the parts of the FW airborne code that could be changed to modules.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name !! header !! init !! periodic !! event !! datalink !! description&lt;br /&gt;
|-&lt;br /&gt;
|Led || X || X || || || || control leds and GPIO&lt;br /&gt;
|-&lt;br /&gt;
|I2C || X || X || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|SPI || X || X || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|Traffic || X || || || || X || update traffic information from datalink&lt;br /&gt;
|-&lt;br /&gt;
|TCAS || X || X || 1Hz - 4Hz || || ? || vertical collision avoidance&lt;br /&gt;
|-&lt;br /&gt;
|Gyro || X || X || 60Hz || || ||&lt;br /&gt;
|-&lt;br /&gt;
|IR || X || X || 60Hz || || || Infrared sensors&lt;br /&gt;
|-&lt;br /&gt;
|GPS || X || X || || X || ||&lt;br /&gt;
|-&lt;br /&gt;
|Joystick || X || X || || X || X|| control a plane from telemetry&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Modules]]&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Module/AOA_adc&amp;diff=9762</id>
		<title>Module/AOA adc</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Module/AOA_adc&amp;diff=9762"/>
		<updated>2011-07-19T22:13:48Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: /* Airframe Adjustments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AOA_adc is a simple module that is be written to test the flight behaviour with a Angle Of Attacke sensor. &lt;br /&gt;
&lt;br /&gt;
It only reads the value of an defined ADC port and converts it to radiant. &lt;br /&gt;
A mode variable named h_ctl_pitch_mode in the stabilization_attitude.c enables to switch between estimator_theta (IMU) and estimator_AOA to control the elevator.&lt;br /&gt;
&lt;br /&gt;
Be aware: This module is in construction. Feel free to upgrade it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Module Infos ==&lt;br /&gt;
&lt;br /&gt;
Angle of Attack ADC Sensor&lt;br /&gt;
*'''US DIGITAL MA3-A10-236-N'''&lt;br /&gt;
ModuleXML&lt;br /&gt;
*AOA_adc.xml &lt;br /&gt;
Code- and headerfile&lt;br /&gt;
*sw/airborne/modules/sensors&lt;br /&gt;
Settings file&lt;br /&gt;
*AOA_adc.xml&lt;br /&gt;
&lt;br /&gt;
== Airframe Adjustments ==&lt;br /&gt;
The code is downloadable in the dev branch at the moment:&lt;br /&gt;
[https://github.com/paparazzi/paparazzi/tree/dev https://github.com/paparazzi/paparazzi/tree/dev]&lt;br /&gt;
&lt;br /&gt;
* (1) '''Insert''' the software module in the airframe:&lt;br /&gt;
        &amp;lt;modules&amp;gt;&lt;br /&gt;
               &amp;lt;load name=&amp;quot;AOA_adc.xml&amp;quot;&amp;gt;  &lt;br /&gt;
                      &amp;lt;configure name=&amp;quot;ADC_AOA&amp;quot; value=&amp;quot;ADC_6&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;define name=&amp;quot;AOA_OFFSET&amp;quot; value=&amp;quot;-0.135000005364&amp;quot;/&amp;gt;   &lt;br /&gt;
                      &amp;lt;define name=&amp;quot;AOA_FILTER&amp;quot; value=&amp;quot;0.875999987125&amp;quot;/&amp;gt;   &lt;br /&gt;
                      &amp;lt;define name=&amp;quot;USE_AOA&amp;quot;/&amp;gt;  &lt;br /&gt;
               &amp;lt;/load&amp;gt; &lt;br /&gt;
        &amp;lt;/modules&amp;gt;&lt;br /&gt;
* Legend:&lt;br /&gt;
**The ACS_AOA defines on whitch port the US Digital Sensor is connected to.&lt;br /&gt;
**The AOA_OFFSET is needed to adjust the Zero rad mark in the normal flightposition. It can be changed with the AOA_adc.xml settings loaded.&lt;br /&gt;
**The  AOA_FILTER describes the PT1 filter value of the angle. 0 = no filter&lt;br /&gt;
**Define  USE_AOA to make the module work.&lt;br /&gt;
&lt;br /&gt;
* (2) '''Load''' the settings XML in the GCS:  AOA_adc.xml&lt;br /&gt;
* (3)  Now you can turn on the pitch stabilization by setting the '''PITCH_Mode''' to 1&lt;br /&gt;
** PITCH_Mode = 0 --&amp;gt; estimator_thata from IMU (default)&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Module/AOA_adc&amp;diff=9761</id>
		<title>Module/AOA adc</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Module/AOA_adc&amp;diff=9761"/>
		<updated>2011-07-19T22:08:22Z</updated>

		<summary type="html">&lt;p&gt;Bruzzlee: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;AOA_adc is a simple module that is be written to test the flight behaviour with a Angle Of Attacke sensor. &lt;br /&gt;
&lt;br /&gt;
It only reads the value of an defined ADC port and converts it to radiant. &lt;br /&gt;
A mode variable named h_ctl_pitch_mode in the stabilization_attitude.c enables to switch between estimator_theta (IMU) and estimator_AOA to control the elevator.&lt;br /&gt;
&lt;br /&gt;
Be aware: This module is in construction. Feel free to upgrade it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Module Infos ==&lt;br /&gt;
&lt;br /&gt;
Angle of Attack ADC Sensor&lt;br /&gt;
*'''US DIGITAL MA3-A10-236-N'''&lt;br /&gt;
ModuleXML&lt;br /&gt;
*AOA_adc.xml &lt;br /&gt;
Code- and headerfile&lt;br /&gt;
*sw/airborne/modules/sensors&lt;br /&gt;
Settings file&lt;br /&gt;
*AOA_adc.xml&lt;br /&gt;
&lt;br /&gt;
== Airframe Adjustments ==&lt;br /&gt;
* (1) '''Insert''' the software module in the airframe:&lt;br /&gt;
        &amp;lt;modules&amp;gt;&lt;br /&gt;
               &amp;lt;load name=&amp;quot;AOA_adc.xml&amp;quot;&amp;gt;  &lt;br /&gt;
                      &amp;lt;configure name=&amp;quot;ADC_AOA&amp;quot; value=&amp;quot;ADC_6&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;define name=&amp;quot;AOA_OFFSET&amp;quot; value=&amp;quot;-0.135000005364&amp;quot;/&amp;gt;   &lt;br /&gt;
                      &amp;lt;define name=&amp;quot;AOA_FILTER&amp;quot; value=&amp;quot;0.875999987125&amp;quot;/&amp;gt;   &lt;br /&gt;
                      &amp;lt;define name=&amp;quot;USE_AOA&amp;quot;/&amp;gt;  &lt;br /&gt;
               &amp;lt;/load&amp;gt; &lt;br /&gt;
        &amp;lt;/modules&amp;gt;&lt;br /&gt;
* Legend:&lt;br /&gt;
**The ACS_AOA defines on whitch port the US Digital Sensor is connected to.&lt;br /&gt;
**The AOA_OFFSET is needed to adjust the Zero rad mark in the normal flightposition. It can be changed with the AOA_adc.xml settings loaded.&lt;br /&gt;
**The  AOA_FILTER describes the PT1 filter value of the angle. 0 = no filter&lt;br /&gt;
**Define  USE_AOA to make the module work.&lt;br /&gt;
&lt;br /&gt;
* (2) '''Load''' the settings XML in the GCS:  AOA_adc.xml&lt;br /&gt;
* (3)  Now you can turn on the pitch stabilization by setting the '''PITCH_Mode''' to 1&lt;br /&gt;
** PITCH_Mode = 0 --&amp;gt; estimator_thata from IMU (default)&lt;/div&gt;</summary>
		<author><name>Bruzzlee</name></author>
	</entry>
</feed>