Documentation Status

asctec_drivers: asctec_autopilot | asctec_mon | asctec_msgs | asctec_proc | ccny_asctec_firmware | ccny_asctec_firmware_2 | pelican_urdf

Package Summary

Documented

This is the hardware driver for the AscTec AutoPilot built by Ascending Technologies GmbH. http://www.asctec.de It should be compatible with the Hummingbird and Pelican quadrotor aircraft. This driver is not yet complete and the interfaces are not yet finalized. Full functionality will be supported in the near future. Contributions are welcome.

asctec_drivers: asctec_autopilot | asctec_mon | asctec_msgs | asctec_proc | ccny_asctec_firmware | ccny_asctec_firmware_2 | pelican_urdf

Package Summary

Documented

This is the hardware driver for the AscTec AutoPilot built by Ascending Technologies GmbH. http://www.asctec.de It should be compatible with the Hummingbird and Pelican quadrotor aircraft. This driver is not yet complete and the interfaces are not yet finalized. Full functionality will be supported in the near future. Contributions are welcome.

Cannot load information on name: asctec_autopilot, distro: groovy, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: asctec_autopilot, distro: hydro, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: asctec_autopilot, distro: indigo, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: asctec_autopilot, distro: jade, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: asctec_autopilot, distro: kinetic, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: asctec_autopilot, distro: lunar, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: asctec_autopilot, distro: melodic, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.

cityflyer.jpg

Usage

This package provides the driver interface for communicating with an Ascending Technologies AutoPilot. The code is being developed to support both the Hummingbird and the Pelican Quadrotor aircraft.

Details

This package accepts and provides data in the same structure as specified in the AscTec documentation. The asctec_proc package provides conversion of the data, such as IMU information, into standard ROS messages.

Limitations

Due to hardware limitations of the autopilot the only supported baud rate on the telemetry link is 57600, because of this the topic polling intervals and offsets are designed to optimize the available bandwidth.

Due to processing limitations of the autopilot, the maximum update frequency is 10 HZ using the Zigbee radio or 20 Hz if connected directly via the serial port. This is due to the latencies involved when requesting data and sending control messages. If data is only requested or controls are only sent, the update frequency can be higher.

Additional Information

Additional technical information about the Ascending Technologies Pelican and Hummingbird Quadrotor aircraft can be found here

Example

The driver can be started by running:

   1 roslaunch asctec_autopilot autopilot.launch

Nodes

asctec_autopilot

The asctec_autopilot node takes in asctec_msgs/CtrlInput messages and sends these commands over the serial port to the aircraft.

Subscribed Topics

~CTRL_INPUT (asctec_msgs/CtrlInput)
  • Provides an interface to control the yaw, pitch, roll and thrust
~ESTOP (std_msgs/Bool)
  • When a true value is received on this topic, the "motor emergency" command is sent to the AutoPilot. The AutoPilot must be restarted to re-enable motors.

Published Topics

~CONTROLLER_OUTPUT (asctec_msgs/ControllerOutput)
  • This is the output of the yaw, pitch, roll, thrust controller
~GPS_DATA (asctec_msgs/GPSData)
  • Basic GPS Data
~GPS_DATA_ADVANCED (asctec_msgs/GPSDataAdvanced)
  • Advanced GPS Data
~IMU_CALCDATA (asctec_msgs/IMUCalcData)
  • Fused IMU Data
~IMU_RAWDATA (asctec_msgs/IMURawData)
  • Unfused IMU Data
~LL_STATUS (asctec_msgs/LLStatus)
  • Low Level Status including battery voltage
~RC_DATA (asctec_msgs/RCData)
  • Inputs from the radio control

Parameters

~port (string, default: "/dev/ttyUSB0")
  • The default name of the serial port
~speed (int, default: 57600)
  • The documentation indicates that 57600 is the only supported speed, however this param is provided in the event that the baud rate can be changed.
~freq (int, default: 50)
  • This is the base command/polling frequency
~enable_CONTROLLER_OUTPUT (bool, default: true)
  • Enables polling
~interval_CONTROLLER_OUTPUT (int, default: 1)
  • Topic frequency = Base frequency / interval
~offset_CONTROLLER_OUTPUT (int, default: 0)
  • If the interval is 2 and the offset is 0 poll on even counts, if offset is 1 poll on odd counts, etc.
~enable_GPS_DATA (bool, default: true)
  • Enables polling
~interval_GPS_DATA (int, default: 1)
  • Topic frequency = Base frequency / interval
~offset_GPS_DATA (int, default: 0)
  • If the interval is 2 and the offset is 0 poll on even counts, if offset is 1 poll on odd counts, etc.
~enable_GPS_DATA_ADVANCED (bool, default: true)
  • Enables polling
~interval_GPS_DATA_ADVANCED (int, default: 1)
  • Topic frequency = Base frequency / interval
~offset_GPS_DATA_ADVANCED (int, default: 0)
  • If the interval is 2 and the offset is 0 poll on even counts, if offset is 1 poll on odd counts, etc.
~enable_IMU_CALCDATA (bool, default: true)
  • Enables polling
~interval_IMU_CALCDATA (int, default: 1)
  • Topic frequency = Base frequency / interval
~offset_IMU_CALCDATA (int, default: 0)
  • If the interval is 2 and the offset is 0 poll on even counts, if offset is 1 poll on odd counts, etc.
~enable_IMU_RAWDATA (bool, default: true)
  • Enables polling
~interval_IMU_RAWDATA (int, default: 1)
  • Topic frequency = Base frequency / interval
~offset_IMU_RAWDATA (int, default: 0)
  • If the interval is 2 and the offset is 0 poll on even counts, if offset is 1 poll on odd counts, etc.
~enable_LL_STATUS (bool, default: true)
  • Enables polling
~interval_LL_STATUS (int, default: 1)
  • Topic frequency = Base frequency / interval
~offset_LL_STATUS (int, default: 0)
  • If the interval is 2 and the offset is 0 poll on even counts, if offset is 1 poll on odd counts, etc.
~enable_RC_DATA (bool, default: true)
  • Enables polling
~interval_RC_DATA (int, default: 1)
  • Topic frequency = Base frequency / interval
~offset_RC_DATA (int, default: 0)
  • If the interval is 2 and the offset is 0 poll on even counts, if offset is 1 poll on odd counts, etc.
~enable_CONTROL (bool, default: true)
  • Enables polling
~interval_CONTROL (int, default: 1)
  • Topic frequency = Base frequency / interval
~offset_CONTROL (int, default: 0)
  • If the interval is 2 and the offset is 0 poll on even counts, if offset is 1 poll on odd counts, etc.

Bug Reports & Feature Requests

We appreciate the time and effort spent submitting bug reports.

Please use our Trac to report bugs or request features.

Wiki: asctec_autopilot (last edited 2011-03-12 05:31:50 by PatrickBouffard)