Documentation Status

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

Package Summary

Released Continuous integration Documented

ROS Wrapper for the Segway RMP Ethernet Python Driver

Package Summary

Released Continuous integration Documented

ROS Wrapper for the Segway RMP Ethernet Python Driver

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

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
rmp_command ('rmp_msgs/RMPCommand')
  • 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
~log_data (bool, default: False)
  • flag to log data from segway or not
~current_rmp_ip_addr (string, default: DEFAULT_IP_ADDRESS)
  • The ip address of the RMP currently
~current_rmp_port_num (int, default: DEFAULT_PORT_NUMBER)
  • The current port number of the RMP
~is_omni (bool, default: False)
  • Flag set if the RMP is omni-directional
~my_velocity_limit_mps (double, default: DEFAULT_MAXIMUM_VELOCITY_MPS)
  • the velocity limit for the RMP in meters per second
~my_accel_limit_mps2 (double, default: DEFAULT_MAXIMUM_ACCELERATION_MPS2)
  • the maximum acceleration for the RMP in meters per second squared
~my_decel_limit_mps2 (double, default: DEFAULT_MAXIMUM_DECELERATION_MPS2)
  • the maximum deceleration for the RMP in meters per second squared
~my_dtz_rate_mps2 (double, default: DEFAULT_MAXIMUM_DTZ_DECEL_RATE_MPS2)
  • the maximum down to zero deceleration rate for the RMP in meters per second squared
~my_coastdown_accel_mps2 (double, default: DEFAULT_COASTDOWN_ACCEL_MPS2)
  • The coastdown to zero acceleration, in meters per second squared.
~my_yaw_rate_limit_rps (double, default: DEFAULT_MAXIMUM_YAW_RATE_RPS)
  • The maximum yaw rate in radians per second.
~my_yaw_accel_limit_rps2 (double, default: DEFAULT_MAX_YAW_ACCEL_RPS2)
  • The maximum yaw acceleration in radians per second squared.
~my_tire_diameter_m (double, default: DEFAULT_TIRE_DIAMETER_M)
  • The tire diameter for the RMP.
~my_wheel_base_length_m (double, default: DEFAULT_WHEEL_BASE_LENGTH_M)
  • The wheel base length, front to back
~my_wheel_track_width_m (double, default: DEFAULT_WHEEL_TRACK_WIDTH_M)
  • The wheel track width center of left wheels to center of right wheels
~my_gear_ratio (double, default: DEFAULT_TRANSMISSION_RATIO)
  • The gear ratio between the motors and the wheels
~my_config_bitmap (int, default: DEFAULT_CONFIG_BITMAP)
  • the configuration bitmap used to set the parameters
~my_ip_address (string, default: DEFAULT_IP_ADDRESS)
  • the desired ip address for the RMP. The current address is in effect until after this IP is loaded and the RMP restarted.
~my_port_num (int, default: DEFAULT_PORT_NUMBER)
  • the desired port number for the RMP. The current port number is in effect until after this number is loaded and the RMP restarted.
~my_subnet_mask (string, default: DEFAULT_SUBNET_MASK)
  • the subnet mask for the RMP
~my_gateway (string, default: DEFAULT_GATEWAY)
  • the gateway for the RMP
~my_user_defined_feedback_bitmap_1 (double, default: DEFAULT_USER_FB_1_BITMAP)
  • the first user defined bitmap used to configure what feedback is sent back
~my_user_defined_feedback_bitmap_2 (double, default: DEFAULT_USER_FB_2_BITMAP)
  • the second user defined bitmap used to configure what feedback is sent back
~my_user_defined_feedback_bitmap_3 (double, default: DEFAULT_USER_FB_3_BITMAP)
  • the third user defined bitmap used to configure what feedback is sent back
~my_user_defined_feedback_bitmap_4 (double, default: DEFAULT_USER_FB_4_BITMAP)
  • 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 RMP

Subscribed 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 RMP

Subscribed 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
~link_left_front (string, default: base_link_left_wheel_joint)
  • the link name of the wheel in the robot model
~link_right_front (string, default: base_link_left_wheel_joint)
  • the link name of the wheel in the robot model
~link_left_rear (string, default: base_link_left_rear_wheel_joint)
  • the link name of the wheel in the robot model
~link_right_rear (string, default: base_link_right_rear_wheel_joint)
  • 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:

  •    1 cd /path/to/your/catkin/workspace/src
       2 git clone https://github.com/WPI-RAIL/ros_ethernet_rmp.git
       3 cd /path/to/your/catkin/workspace
       4 catkin_make 
       5 catkin_make install
    

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.

Wiki: ros_ethernet_rmp (last edited 2014-12-12 16:35:33 by davidkent)