Module/Rotorcraft cam

From PaparazziUAV
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This module allow to control a camera mounted on the rotorcraft type airframe. The tilt motion can be controlled with a servo, while the pan motion is controlled by the heading of the vehicle by setting the nav_heading variable (this imply that you need to be in navigation mode).


File: conf/airframes/myplane.xml
  <modules>
    ...
    <load name="rotorcraft_cam.xml"/>
  </modules>

Most of the parameters are set from your airframe file with a CAM section. The possible options are described in the generated doc [1] (latest development version)

The available modes are:

  • NONE: set a fixed (neutral) value to the tilt servo PWM
  • MANUAL: set the tilt servo PWM from the settings (need to add the proper settings file modules/rotorcraft_cam.xml)
  • HEADING: the tilt angle is controlled in angles relative to the aircraft body frame (no bank roll/pitch compensation or stabilization) and the pan is controlled with the heading of the vehicle. In this mode, the angles corresponding to the minimum and maximum PWM have to be defined.
  • WP: the pan and tilt angle are tracking a 3D waypoint. In this mode, the angles corresponding to the minimum and maximum PWM have to be defined, and the waypoint to track must be in the flight plan waypoints list (by default, CAM is used, but a different wp can be chosen from the airframe CAM section).


Example of an airframe section with pan (used by default), tilt using pwm servo and GPIO (CAM_SWITCH_LED) to power the camera.

  <servos driver="Pwm">
    <servo name="CAM" no="1" min="1000" neutral="1500" max="2300"/>
  </servos>
  ...
  <section name="CAM" prefix="ROTORCRAFT_CAM_">
    <define name="ON" value="LED_ON(CAM_SWITCH_LED)"/>
    <define name="OFF" value="LED_OFF(CAM_SWITCH_LED)"/>
    <define name="TILT_SERVO" value="CAM"/>
    <define name="TILT_ANGLE_MAX" value="-90." unit="deg"/>
    <define name="TILT_ANGLE_MIN" value=" 10." unit="deg"/>
  </section>