Show EOL distros:
Package Summary
The um6 package provides a C++ implementation of the CH Robotics serial protocol, and a corresponding ROS node for publishing standard ROS orientation topics from a UM6.
- Maintainer: Mike Purvis <mpurvis AT clearpathrobotics DOT com>
- Author: Mike Purvis <mpurvis AT clearpathrobotics DOT com>
- License: BSD
- Source: git https://github.com/clearpathrobotics/um6.git (branch: hydro-devel)
Package Summary
The um6 package provides a C++ implementation of the CH Robotics serial protocol, and a corresponding ROS node for publishing standard ROS orientation topics from a UM6.
- Maintainer status: maintained
- Maintainer: Mike Purvis <mpurvis AT clearpathrobotics DOT com>
- Author: Mike Purvis <mpurvis AT clearpathrobotics DOT com>
- License: BSD
- Source: git https://github.com/ros-drivers/um6.git (branch: indigo-devel)
Package Summary
The um6 package provides a C++ implementation of the CH Robotics serial protocol, and a corresponding ROS node for publishing standard ROS orientation topics from a UM6.
- Maintainer status: maintained
- Maintainer: Mike Purvis <mpurvis AT clearpathrobotics DOT com>
- Author: Mike Purvis <mpurvis AT clearpathrobotics DOT com>
- License: BSD
- Source: git https://github.com/ros-drivers/um6.git (branch: indigo-devel)
Package Summary
The um6 package provides a C++ implementation of the CH Robotics serial protocol, and a corresponding ROS node for publishing standard ROS orientation topics from a UM6.
- Maintainer status: maintained
- Maintainer: Mike Purvis <mpurvis AT clearpathrobotics DOT com>
- Author: Mike Purvis <mpurvis AT clearpathrobotics DOT com>
- License: BSD
- Source: git https://github.com/ros-drivers/um6.git (branch: indigo-devel)
Package Summary
The um6 package provides a C++ implementation of the CH Robotics serial protocol, and a corresponding ROS node for publishing standard ROS orientation topics from a UM6.
- Maintainer status: maintained
- Maintainer: Mike Purvis <mpurvis AT clearpathrobotics DOT com>
- Author: Mike Purvis <mpurvis AT clearpathrobotics DOT com>
- License: BSD
- Source: git https://github.com/ros-drivers/um6.git (branch: indigo-devel)
Package Summary
The um6 package provides a C++ implementation of the CH Robotics serial protocol, and a corresponding ROS node for publishing standard ROS orientation topics from a UM6.
- Maintainer status: maintained
- Maintainer: Mike Purvis <mpurvis AT clearpathrobotics DOT com>
- Author: Mike Purvis <mpurvis AT clearpathrobotics DOT com>
- License: BSD
- Source: git https://github.com/ros-drivers/um6.git (branch: indigo-devel)
Contents
Overview
This package provides a comprehensive, C++ driver for the UM6 orientation device produced by CH Robotics.
The UM6 is available for purchase directly from CH Robotics. Alternatively, the UM6 is available as a standard supported accessory from Clearpath Robotics—for example, for use with Husky.
For further information about this device and its configuration, please see its datasheet.
Axes Convention
As an avionics device, the UM6's serial protocol reports values in NED. The driver contained in this package converts vectors and quaternions to the ROS convention (ENU) before publishing, which is:
- x forward
- y left
- z up
Please see REP-0103 for more information.
Internal Compass
The UM6 contains a MEMS magnetometer, but accurately calibrating it to achieve a robust heading report has been found to be a tricky business, especially if the device is mounted in a configuration other than level to the ground.
At ClearpathRobotics, we use a configuration which subscribes to the magnetometer as a raw data feed, and fuses it into the orientation as a process external to the device. This functionality is provided via the imu_compass package.
Installation
Install the package from debians:
sudo apt-get install ros-$ROS_DISTRO-um6
Run the driver like so:
rosrun um6 um6_driver _port:=/dev/ttyUSB0
Note: A rosbuild branch is also available in the repository, for users working with rosbuild workspaces under Fuerte or Groovy.
Nodes
um6_driver
Basic serial driver.Published Topics
imu/data (sensor_msgs/Imu)- Filtered orientation, rotation, and acceleration data from device.
- Filtered magnetometer data from device.
- Roll, pitch, and yaw angle for sensed orientation.
- Temperature sensed from device, in degrees centigrade.
Parameters
~port (string, default: /dev/ttyUSB0)- Serial device to connect to.
- Baud rate of serial link.
- Include magnetometer data in pose estimate.
- Include accelerometer data in pose estimate.
- Set magnetometer reference vector to device.
- Set accelerometer reference vector to device.
- Set magnetometer bias vector to device.
- Set accelerometer bias vector to device.
- Set gyroscope bias vector to device.