Documentation Status

Cannot load information on name: rosflight, distro: electric, 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: rosflight, distro: fuerte, 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: rosflight, 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: rosflight, 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: rosflight, 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: rosflight, 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.
rosflight_pkgs: rosflight | rosflight_msgs | rosflight_utils

Package Summary

Released Continuous integration Documented

Package for interfacing to the ROSflight autopilot firmware over MAVLink

Cannot load information on name: rosflight, 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: rosflight, 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.

Overview

This package provides a ROS interface to an autopilot running the ROSflight firmware. For more documentation, see http://rosflight.org.

Sample Usage

The following command will run the node that interfaces the autopilot with ROS running on the onboard computer (this must be run on a computer that is physically connected to the autopilot via USB or serial):

$ rosrun rosflight rosflight_io _port:=/dev/ttyUSB0

Nodes

rosflight_io

Interfaces between ROS on the onboard computer and the ROSflight firmware on the autopilot. Streams sensor data to the onboard computer and control and configuration commands to the autopilot. Sensor stream topics are only advertised if they are being transmitted by the autopilot.

Subscribed Topics

command (rosflight_msgs/Command)
  • Control setpoint to send to the autopilot. The interpretation of the setpoint values depends on the value of the mode field. Which setpoint values to listen to can be controlled by setting the bits of the ignore field.

Published Topics

imu/data (sensor_msgs/Imu)
  • Inertial measurement unit (IMU) data (3-axis accelerometer, 3-axis gyro) in the NED frame
imu/temperature (sensor_msgs/Temperature)
  • Temperature from the IMU's internal sensor
magnetometer (sensor_msgs/MagneticField)
  • 3-axis magnetometer data in the NED frame
baro (sensor_msgs/Barometer)
  • Barometer measurement, including pressure, temperature, and computed altitude
sonar (sensor_msgs/Range)
  • Distance measurement from an ultrasonic rangefinder, if attached
attitude (rosflight_msgs/Attitude)
  • Attitude estimate from the autopilot, including orientation and angular velocity in the NED frame
attitude/euler (geometry_msgs/Vector3Stamped)
  • Attitude estimate from the autopilot as Euler angles, in the NED frame
rc_raw (rosflight_msgs/RCRaw)
  • Raw RC inputs to the autopilot
output_raw (rosflight_msgs/OutputRaw)
  • Raw motor/servo outputs from the autopilot
status (rosflight_msgs/Status)
  • Status of the autopilot, including armed state, failsafe state, and error states
unsaved_params (std_msgs/Bool)
  • Whether there are parameters that have been set on the autopilot but not saved to non-volatile memory
version (std_msgs/String)
  • String describing the firmware version running on the autopilot
named_value/int/<name> (std_msgs/Int32)
  • Raw named integer value sent from autopilot (used for debuggin purposes)
named_value/float/<name> (std_msgs/Float32)
  • Raw named floating point value sent from autopilot (used for debugging purposes)

Services

param_get (rosflight_msgs/ParamGet)
  • Gets the value of an autopilot parameter by name
param_set (rosflight_msgs/ParamSet)
  • Sets the value of an autopilot parameter by name
param_write (std_srvs/Trigger)
  • Writes all autopilot parameters to non-volatile memory
param_save_to_file (rosflight_msgs/ParamFile)
  • Saves all current autopilot parameters to specified file on onboard computer
param_load_from_file (rosflight_msgs/ParamFile)
  • Sets values of autopilot parameters to those saved in the specified file on the onboard computer
calibrate_imu (std_srvs/Trigger)
  • Starts an IMU calibration
calibrate_rc_trim (std_srvs/Trigger)
  • Sets the equilibrium feed-forward commands to those specified by the current RC trim setpoints
calibrate_baro (std_srvs/Trigger)
  • Calibrates the barometer
calibrate_airspeed (std_srvs/Trigger)
  • Calibrates the airspeed sensor
reboot (std_srvs/Trigger)
  • Reboots the autopilot

Parameters

~port (string, default: /dev/ttyUSB0)
  • Serial port to which the autopilot is connected
~baud_rate (int, default: 921600)
  • Baud rate for the autopilot serial connection
~frame (string, default: world)
  • The frame in which sensor data will be returned
~magnetic_field_reference (double, default: 1.0)
  • Reference magnetic field strength for the magnetometer calibration

Wiki: rosflight (last edited 2017-06-15 18:14:13 by DanielKoch)