Only released in EOL distros:
Package Summary
ROS Wrapper for the Segway RMP Ethernet Python Driver
- Maintainer status: maintained
- Maintainer: Russell Toris <russell.toris AT gmail DOT com>, David Kent <dekent AT gatech DOT edu>
- Author: SEGWAY Inc., Chris Dunkers <cmdunkers AT wpi DOT edu>, David Kent <dekent AT gatech DOT edu>
- License: BSD
- Bug / feature tracker: https://github.com/GT-RAIL/ros_ethernet_rmp/issues
- Source: git https://github.com/GT-RAIL/ros_ethernet_rmp.git (branch: master)
Package Summary
ROS Wrapper for the Segway RMP Ethernet Python Driver
- Maintainer status: maintained
- Maintainer: Russell Toris <russell.toris AT gmail DOT com>, David Kent <dekent AT gatech DOT edu>
- Author: SEGWAY Inc., Chris Dunkers <cmdunkers AT wpi DOT edu>, David Kent <dekent AT gatech DOT edu>
- License: BSD
- Bug / feature tracker: https://github.com/GT-RAIL/ros_ethernet_rmp/issues
- Source: git https://github.com/GT-RAIL/ros_ethernet_rmp.git (branch: master)
Contents
About
The ros_ethernet_rmp package is used to bridge ROS and a Segway RMP. It will convert cmd_vel topic messages to the RMPCommand format and then publish the feedback from the RMP. There is also a joint state publisher to read in the feedback and publish the changing joint states as necessary.
Nodes
ethernet_rmp.py
ethernet_rmp.py interfaces ROS with the RMP drivers.Subscribed Topics
cmd_vel ('geometry_msgs/Twist')- Control the movement of the robot using movement and speed commands
- message to take RMP formatted commands to configure, set velocities and set modes of the RMP. All default values definitions for the RMP can be found in 'python_ethernet_rmp/system_defines.py'
Published Topics
rmp_feedback ('rmp_msgs/RMPFeedback')- publishes all of the feedback from the RMP as arrays
Parameters
~update_delay_sec (double, default: 0.05)- time in seconds at which commands will be sent and feedback received from the RMP. Minimum value is 0.01 seconds
- flag to log data from segway or not
- The ip address of the RMP currently
- The current port number of the RMP
- Flag set if the RMP is omni-directional
- the velocity limit for the RMP in meters per second
- the maximum acceleration for the RMP in meters per second squared
- the maximum deceleration for the RMP in meters per second squared
- the maximum down to zero deceleration rate for the RMP in meters per second squared
- The coastdown to zero acceleration, in meters per second squared.
- The maximum yaw rate in radians per second.
- The maximum yaw acceleration in radians per second squared.
- The tire diameter for the RMP.
- The wheel base length, front to back
- The wheel track width center of left wheels to center of right wheels
- The gear ratio between the motors and the wheels
- the configuration bitmap used to set the parameters
- the desired ip address for the RMP. The current address is in effect until after this IP is loaded and the RMP restarted.
- the desired port number for the RMP. The current port number is in effect until after this number is loaded and the RMP restarted.
- the subnet mask for the RMP
- the gateway for the RMP
- the first user defined bitmap used to configure what feedback is sent back
- the second user defined bitmap used to configure what feedback is sent back
- the third user defined bitmap used to configure what feedback is sent back
- the four user defined bitmap used to configure what feedback is sent back
rmp_pose_updater.py
rmp_pose_updater.py publishes odom information based on the feedback from the RMPSubscribed Topics
rmp_feedback ('rmp_msgs/RMPFeedback')- all of the feedback from the RMP as arrays
Published Topics
odom ('nav_msgs/Odometry')- odometry of the robot based on the feedback from the RMP
Parameters
~publish_tf (bool, default: True)- Flag to determine if the tf should be published
Transforms
rmp_pose_updater broadcasts the robot frame ('/base_footprint') with respect to the odometry frame (/odom).
rmp_joint_state.py
rmp_joint_state.py publishes joint state information based on the feedback from the RMPSubscribed Topics
rmp_feedback ('rmp_msgs/RMPFeedback')- all of the feedback from the RMP as arrays
Published Topics
rmp_joint_states ('sensor_msgs/JointState')- joint state of the driving wheels are published
Parameters
~has_two_wheels (bool, default: True)- Flag to determine if the robot has two or four wheels
- the link name of the wheel in the robot model
- the link name of the wheel in the robot model
- the link name of the wheel in the robot model
- the link name of the wheel in the robot model
Installation
To install the ros_ethernet_rmp package, you can choose to either install from source, or from the Ubuntu package:
Source
To install from source, execute the following:
Ubuntu Package
To install the Ubuntu package, execute the following:
sudo apt-get install ros-indigo-ros-ethernet-rmp
Startup
The ros_ethernet_rmp package contains a ros_ethernet_rmp.launch file. This file launches an instance of the ethernet_rmp.py, 'rmp_pose_updater.py' and rmp_joint_states.py nodes. 'battery_monitor_rmp.launch' from 'battery_monitor_rmp' will also be launched if the argument, include_batt_monitor, is true. It is defaulted to true. To launch these nodes, with the battery monitor the following command can be used:
roslaunch ros_ethernet_rmp ros_ethernet_rmp.launch
To launch these nodes without the battery monitor, the following command can be used:
roslaunch ros_etehrnet_rmp ros_ethernet_rmp.launch include_batt_monitor:=false
Support
Please send bug reports to the GitHub Issue Tracker. Feel free to contact me at any point with questions and comments.