Only released in EOL distros:  

asctec_mav_framework: asctec_hl_comm | asctec_hl_firmware | asctec_hl_gps | asctec_hl_interface

Package Summary

Framework for data aquisition and position control to be used with the highlevel processor of Ascending Technologies helicopters

asctec_mav_framework: asctec_hl_comm | asctec_hl_firmware | asctec_hl_gps | asctec_hl_interface

Package Summary

Framework for data aquisition and position control to be used with the highlevel processor of Ascending Technologies helicopters

asctec_mav_framework: asctec_hl_comm | asctec_hl_firmware | asctec_hl_gps | asctec_hl_interface

Package Summary

Framework for data aquisition and position control to be used with the highlevel processor of Ascending Technologies helicopters

asctec_mav_framework: asctec_hl_comm | asctec_hl_gps | asctec_hl_interface

Package Summary

Framework for data aquisition and position control to be used with the highlevel processor of Ascending Technologies helicopters

Overview

This stack contains drivers, tools, a nonlinear position controller and imu data fusion for Ascending Technologies MAVs equipped with the AutoPilot sensor board. In contrast to asctec_drivers which communicate directly to the low level processor of the AutoPilot board (which has some limitations), this framework is based on the user-programmable high level processor of the AutoPilot board. Features are:

  • Configurable baudrate up to 921600 baud.
  • Configurable packet rates (no polling is done!) to get data from the high level processor.
  • Control commands (except for GPS waypoints) can be forwarded to the low level processor.
  • Position controller based on nonlinear dynamic inversion, running at 1 kHz.
  • Imu data fusion at 1kHz with external position input to run the position controller with sources that provide position measurements at low rates, e.g. (visual) slam.

Acronyms

some acronyms are widely used in this documentation:

  • LLP: Low Level Processor of the AutoPilot sensor board.

  • HLP: High Level Processor of the AutoPilot sensor board.

  • FCU: Flight Control Unit. Basically the AutoPilot sensor board.

  • SSDK: Simulink SDK. Was used to design the position data fusion and position controller on the HLP.
  • NED: North East Down coordinate system (front: x, right: y, down: z). This is still used in some monitoring parts only and will be stated when used.
  • DEKF: Distributed Extended Kalman Filter, i.e. the HLP takes over state estimation of an EKF (ethzasl_msf) running on another onboard computer such as the Atom Board.

Packages

Installation / Dependencies

We highly recommend to use the latest version, together with the latest firmware of the LLP and a recent ros distro (hydro/indigo) supporting catkin.

  Show EOL distros: 

Please clone the following repos into your catkin_workspace/src (or add them to your rosinstall file / wstool):

Then, use catkin_build or catkin tools to build your workspace.

The following commands will fetch and compile the asctec_mav_framework stack. Version 2012 depends on ethzasl_sensor_fusion. Please refer to ethzasl_sensor_fusion for installation instructions.

# Fetch asctec_mav_framework stack
git clone git://github.com/ethz-asl/asctec_mav_framework.git asctec_mav_framework

# only if you need to use the 2011 version:
git checkout -b version2011 refs/tags/version2011

# Update ROS_PACKAGE_PATH (if necessary)
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:`pwd`/asctec_mav_framework

# build
rosmake asctec_mav_framework

If rosmake fails it means that you have downloaded a catkin package. In this case follow the instructions for hydro or indigo.

Change Log

December 2014
  • Fixed build documentation
  • New features (actually added quite some time ago)
    • Catkinized
    • Publishing motor speeds
    • Waypoint and velocity commands relative to the current pose

October 1st 2012
  • Few fixes making asctec_hl_gps compile with Fuerte. Electric support can be found in the "electric" tag.

June 27th 2012
  • Updated to the final HL SDK 2012.
  • GPS works more reliable now
  • ExtEkf / ExtState messages are now located in sensor_fusion_comm. ethzasl_sensor_fusion needs to be updated to the latest version as well

  • version2012 is now merged into master. To use the old version, please refer to Installation

For this update, the High Level Processor needs to be flashed.

May 13th 2012

Update to be compatible with the 2012 HL SDK and LL Firmware. Currently available in the "version2012" branch (see installation instructions). This update can only be used with the 2012 LLP Firmware, it will not work with the older versions.

The state prediction part of a full EKF runs now on the HLP, which works together with ethzasl_sensor_fusion. Not only the obvious states as attitude, position and velocity are estimated, but also IMU biases, (visual) scale of the position measurement (e.g. from ethzasl_ptam) and pose/position-sensor (e.g. camera) to imu calibration. Also, a yaw measurement is not necessary anymore since this can be estimated by the EKF. More detailed information can be found here:

  • Stephan Weiss, Markus W. Achtelik, Margarita Chli and Roland Siegwart. Real-time Onboard Visual-Inertial State Estimation and Self-Calibration of MAVs in Unknown Environments. in IEEE International Conference on Robotics and Automation (ICRA), 2012. pdf

  • Stephan Weiss, Markus W. Achtelik, Margarita Chli and Roland Siegwart. Versatile Distributed Pose Estimation and Sensor Self-Calibration for Autonomous MAVs. in IEEE International Conference on Robotics and Automation (ICRA), 2012. pdf

Further changes:

  • Battery voltage warning level is adjustable
  • Magnetic compass readings get published
  • GPS conversion package added: performs conversion of latitude-longitude-altitude coordinates to local cartesian coordinates
  • Packet-header of messages sent to the HLP have now an "a" in front to improve robustness of auto-baud.

August 4th 2011
  • source code for HLP firmware added
  • bugfix: yaw sent from the HLP now correct. Thanks Xisco for pointing that out.
  • Added MAC OS support. Thanks Lorenz Meier.
  • when max_velocity_* is set to -1 in a waypoint command, the maximum velocity set by the ~max_velocity_xy and ~max_velocity_z parameters is taken.

Report a Bug

asctec_mav_framework issues

Wiki: asctec_mav_framework (last edited 2015-03-12 12:49:50 by Eduard)