Difference between revisions of "User:Earthpatrol"

From PaparazziUAV
Jump to navigation Jump to search
m
Line 175: Line 175:
* Verify firmware revision
* Verify firmware revision
* Picoblade wiring diagram
* Picoblade wiring diagram
== Paparazzi UAV Project Development and Compilation ==
=== Project Related ===
* Github Project Flow: [http://www.ghislainproulx.net/Blog/2014/09/contributing-to-a-github-open-source-project-(from-a-visual-studio-developer-perspective) Github Project Flow]
* Project Software: [https://github.com/paparazzi/paparazzi Github]
* Wiki: [http://wiki.paparazziuav.org/wiki/Main_Page This Wiki]
* Project Discussion: [https://gitter.im/paparazzi/discuss Gitter]
=== Environment ===
==== OPAM ====
<nowiki>
$ opam list
Installed packages for 4.01.0:
base-bigarray    base  Bigarray library distributed with the OCaml compiler
base-threads    base  Threads library distributed with the OCaml compiler
base-unix        base  Unix library distributed with the OCaml compiler
camlp4        4.01.0  Camlp4 is a system for writing extensible parsers for programming language
ivy            1.2.2  This OCaml-library interfaces the Ivy software bus C-library.
lablgtk        2.18.2  OCaml interface to GTK+
ocamlfind      1.5.3  A library manager for OCaml
ocamlnet        3.7.6  Internet protocols (http, cgi, email etc.) and helper data structures (mai
xml-light        2.4  Xml-Light is a minimal XML parser & printer for OCaml
$ opam switch
system  I system  System compiler (4.02.0)
4.02.0  I 4.02.0  Official 4.02.0 release
4.01.0  C 4.01.0  Official 4.01.0 release
--    -- 3.11.2  Official 3.11.2 release
--    -- 3.12.1  Official 3.12.1 release
--    -- 4.00.0  Official 4.00.0 release
--    -- 4.00.1  Official 4.00.1 release
$ opam switch 4.01.0
# To complete the configuration of OPAM, you need to run:
eval `opam config env`
eval `opam config env`
</nowiki>

Revision as of 03:16, 10 February 2015

HooperFly Autonomy

Developing autonomous capabilities for HooperFly using the Lisa MX autopilot from 1BitSquared in tandem with PaparazziUAV.

Frames & Components

The collection of HooperFly frames configured to fly with Paparazzi.

HooperFly RacerPEX : Azul

HooperFly RacerPEX : Verde

Frame/Component Test Bench : MultiWii FC & DSM2 Receiver

Each frame and associated components(motors/escs/wiring harness) are tested for functionality using a MultiWii FC and DSM2 receiver prior to the Lisa/MX autopilot integration.

Multiwii dsm2 testfc.JPG

Flight Status

Airframes: HooperFly Racer-PEX, Autonomous Twins: Azul & Verde

Attempting to use PaparazziUAV to fly two HooperFly RacerPEX in a synchronized autonomous fashion.

Hooperfly racerpex azulverde.jpg

Airframe Configuration
Motor Layout Diagrams: Quad, Hexa, Octo

Motor position and rotation diagrams for "x" and "+" configurations of HooperFly quads, hexa, and octocopters. The top row consists of the "x" configuration frames and the bottom row contains the "+" configurations. Odd numbered motors(1, 3, 5, 7), blue in color, rotate clockwise. Even numbered motors(2, 4, 6, 8), green in color, rotate counter-clockwise.

Motor layout diagrams.png

All HooperFly airframe configuration files are located in the directory:

$PAPARAZZI_HOME/conf/airframes/HooperFly
Table of Airframe Config Files
Airframe File
TeensyFly Quad teensyfly_quad_lisa_mx_20.xml
TeensyFly Hexa teensyfly_hexa_lisa_mx_20.xml
RacerPEX Quad racerpex_quad_lisa_mx_20.xml
RacerPEX Hexa racerpex_hexa_lisa_mx_20.xml
RacerPEX Octo racerpex_octo_lisa_mx_20.xml
JSBSim Aircraft Configuration

Jsbsim coordinates.gif

JSBSim defines a "BODY" frame with the following cartesian coordinate system to quantify propulsion forces:

  • Top Left Quadrant (e.g.: NW, FL) -, -
  • Top Right Quadrant (e.g.: NE, FR) -, +
  • Bottom Right Quadrant (e.g.: SE, BR) +, +
  • Bottom Left Quadrant (e.g.: SW, BL) +, -

Reference the JSBSim Documentation for a discussion about the STRUCTURAL vs. BODY frame as well as details related to each section of a jsbsim configuration file.

All HooperFly JSBSim aircraft configuration files are located in the directory:

$PAPARAZZI_HOME/conf/simulator/jsbsim/aircraft/HooperFly
Table of JSBSim Aircraft Config Files
Airframe File
TeensyFly Quad teensyfly_quad.xml
TeensyFly Hexa teensyfly_hexa.xml
RacerPEX Quad racerpex_quad.xml
RacerPEX Hexa racerpex_hexa.xml
RacerPEX Octo racerpex_octo.xml

Telemetry - 2.4Ghz Xbee Radios

Receiver - 2.4Ghz DSMX Satellite

Binding

The transmitter must bind using the DSM2 protocol only. Note: The DSMX protocol is not currently support in Paparazzi.

Autopilot - Lisa/MX

Lisa MX Mounting Orientation

The default "front" of the Lisa MX controller is dependent on the placement of the IMU on the board. This can differ between revisions of the autopilot. The PHI/THETA/PSI parameters, in the IMU section of the airframe definition file, are used to normalize the body to IMU placement.


File: conf/airframes/HooperFly/teensyfly_quad_lisa_mx_20.xml
 <section name="IMU" prefix="IMU_">
    <define name="ACCEL_X_NEUTRAL" value="11"/>
    <define name="ACCEL_Y_NEUTRAL" value="11"/>
    <define name="ACCEL_Z_NEUTRAL" value="-25"/>

    <!-- replace this with your own calibration -->
    <define name="MAG_X_NEUTRAL" value="-179"/>
    <define name="MAG_Y_NEUTRAL" value="-21"/>
    <define name="MAG_Z_NEUTRAL" value="79"/>
    <define name="MAG_X_SENS" value="4.17334785618" integer="16"/>
    <define name="MAG_Y_SENS" value="3.98885954135" integer="16"/>
    <define name="MAG_Z_SENS" value="4.40442339014" integer="16"/>

    <define name="BODY_TO_IMU_PHI"   value="0." unit="deg"/>
    <define name="BODY_TO_IMU_THETA" value="0." unit="deg"/>
    <define name="BODY_TO_IMU_PSI"   value="0." unit="deg"/>
  </section>
Command Line Loader Using BMP
make AIRCRAFT=Teensy_Fly_Hexa ap.upload BMP_PORT=/dev/cu.usbmodemE2B9BDC1

GPS - UBLOX LEA-6H

  • Verify firmware revision
  • Picoblade wiring diagram

Paparazzi UAV Project Development and Compilation

Project Related

Environment

OPAM

$ opam list
Installed packages for 4.01.0:
base-bigarray    base  Bigarray library distributed with the OCaml compiler
base-threads     base  Threads library distributed with the OCaml compiler
base-unix        base  Unix library distributed with the OCaml compiler
camlp4         4.01.0  Camlp4 is a system for writing extensible parsers for programming language
ivy             1.2.2  This OCaml-library interfaces the Ivy software bus C-library.
lablgtk        2.18.2  OCaml interface to GTK+
ocamlfind       1.5.3  A library manager for OCaml
ocamlnet        3.7.6  Internet protocols (http, cgi, email etc.) and helper data structures (mai
xml-light         2.4  Xml-Light is a minimal XML parser & printer for OCaml 

$ opam switch
system  I system  System compiler (4.02.0)
4.02.0  I 4.02.0  Official 4.02.0 release
4.01.0  C 4.01.0  Official 4.01.0 release
--     -- 3.11.2  Official 3.11.2 release
--     -- 3.12.1  Official 3.12.1 release
--     -- 4.00.0  Official 4.00.0 release
--     -- 4.00.1  Official 4.00.1 release

$ opam switch 4.01.0
# To complete the configuration of OPAM, you need to run:
eval `opam config env`

eval `opam config env`