create_node

Summary

create_node
Version:

2.3.0

Description:

iRobot Create ROS driver node ROS bindings for the Create/Roomba driver. This is based on otl_roomba driver by OTL, ported to use create_driver’s implementation instead. This also contains a ‘bonus’ feature from the turtlebot driver by Xuwen Cao and Morgan Quigley.

Maintainers:
  • OSRF <turtlebot AT osrfoundation DOT org>
Licenses:
  • BSD
Urls:
Authors:
  • Ken Conley <kwc AT kwc DOT org>
  • Melonee Wise <mwise AT willowgarage DOT com>
BuildDepends:
BuildtoolDepends:
 
BuildExportDepends:
 
ExecDepends:
Exports:
  • <rosdoc config=”rosdoc.yaml”/>

Types

Message types

create_node/RoombaSensorState
Field:
  • header (std_msgs/Header) –
  • bumps_wheeldrops (uint8) –
  • wall (bool) –
  • cliff_left (bool) –
  • cliff_front_left (bool) –
  • cliff_front_right (bool) –
  • cliff_right (bool) –
  • virtual_wall (bool) –
  • motor_overcurrents (uint8) –
  • dirt_detector_left (uint8) –
  • dirt_detector_right (uint8) –
  • remote_opcode (uint8) –
  • buttons (uint8) –
  • distance (int16) –
  • angle (int16) –
  • charging_state (uint8) –
  • voltage (uint16) –
  • current (int16) –
  • temperature (int8) –
  • charge (uint16) –
  • capacity (uint16) –
Constant:
  • CHARGING_NOT_CHARGING (uint8):0
  • CHARGING_CHARGING_RECOVERY (uint8):1
  • CHARGING_CHARGING (uint8):2
  • CHARGING_TRICKLE_CHARGING (uint8):3
  • CHARGING_WAITING (uint8):4
  • CHARGING_CHARGING_ERROR (uint8):5
Header header

uint8 CHARGING_NOT_CHARGING = 0
uint8 CHARGING_CHARGING_RECOVERY = 1
uint8 CHARGING_CHARGING = 2
uint8 CHARGING_TRICKLE_CHARGING = 3
uint8 CHARGING_WAITING = 4 
uint8 CHARGING_CHARGING_ERROR = 5

uint8 bumps_wheeldrops
bool wall
bool cliff_left
bool cliff_front_left
bool cliff_front_right
bool cliff_right
bool virtual_wall
uint8 motor_overcurrents
uint8 dirt_detector_left  #roomba_only
uint8 dirt_detector_right #roomba_only
uint8 remote_opcode
uint8 buttons
int16 distance  # mm
int16 angle # degrees
uint8 charging_state
uint16 voltage  # mV
int16 current  # mA
int8 temperature  # C
uint16 charge  # mAh
uint16 capacity  # mAh
create_node/RawTurtlebotSensorState
Constant:
  • OI_MODE_OFF (uint8):0
  • OI_MODE_PASSIVE (uint8):1
  • OI_MODE_SAFE (uint8):2
  • OI_MODE_FULL (uint8):3
  • REMOTE_LEFT (uint8):129
  • REMOTE_FORWARD (uint8):130
  • REMOTE_RIGHT (uint8):131
  • REMOTE_SPOT (uint8):132
  • REMOTE_MAX (uint8):133
  • REMOTE_SMALL (uint8):134
  • REMOTE_MEDIUM (uint8):135
  • REMOTE_LARGE (uint8):136
  • REMOTE_CLEAN (uint8):136
  • REMOTE_PAUSE (uint8):137
  • REMOTE_POWER (uint8):138
  • REMOTE_ARC_LEFT (uint8):139
  • REMOTE_ARC_RIGHT (uint8):140
  • REMOTE_DRIVE_STOP (uint8):141
  • REMOTE_SEND_ALL (uint8):142
  • REMOTE_SEEK_DOCK (uint8):143
  • REMOTE_RESERVED (uint8):240
  • REMOTE_FORCE_FIELD (uint8):242
  • REMOTE_GREEN_BUOY (uint8):244
  • REMOTE_GREEN_BUOY_AND_FORCE_FIELD (uint8):246
  • REMOTE_RED_BUOY (uint8):248
  • REMOTE_RED_BUOY_AND_FORCE_FIELD (uint8):250
  • REMOTE_RED_BUOY_AND_GREEN_BUOY (uint8):252
  • REMOTE_RED_BUOY_AND_GREEN_BUOY_AND_FORCE_FIELD (uint8):254
  • REMOTE_NONE (uint8):255
  • CHARGING_NOT_CHARGING (uint8):0
  • CHARGING_CHARGING_RECOVERY (uint8):1
  • CHARGING_CHARGING (uint8):2
  • CHARGING_TRICKLE_CHARGING (uint8):3
  • CHARGING_WAITING (uint8):4
  • CHARGING_CHARGING_ERROR (uint8):5
Field:
  • header (std_msgs/Header) –
  • bumps_wheeldrops (uint8) –
  • wall (bool) –
  • cliff_left (bool) –
  • cliff_front_left (bool) –
  • cliff_front_right (bool) –
  • cliff_right (bool) –
  • virtual_wall (bool) –
  • motor_overcurrents (uint8) –
  • dirt_detector_left (uint8) –
  • dirt_detector_right (uint8) –
  • remote_opcode (uint8) –
  • buttons (uint8) –
  • distance (int16) –
  • angle (int16) –
  • charging_state (uint8) –
  • voltage (uint16) –
  • current (int16) –
  • temperature (int8) –
  • charge (uint16) –
  • capacity (uint16) –
  • wall_signal (uint16) –
  • cliff_left_signal (uint16) –
  • cliff_front_left_signal (uint16) –
  • cliff_front_right_signal (uint16) –
  • cliff_right_signal (uint16) –
  • user_digital_inputs (uint8) –
  • user_analog_input (uint16) –
  • charging_sources_available (uint8) –
  • oi_mode (uint8) –
  • song_number (uint8) –
  • song_playing (bool) –
  • number_of_stream_packets (uint8) –
  • requested_velocity (int16) –
  • requested_radius (int16) –
  • requested_right_velocity (int16) –
  • requested_left_velocity (int16) –
uint8 OI_MODE_OFF = 0
uint8 OI_MODE_PASSIVE = 1
uint8 OI_MODE_SAFE = 2
uint8 OI_MODE_FULL = 3

uint8 REMOTE_LEFT = 129
uint8 REMOTE_FORWARD = 130 
uint8 REMOTE_RIGHT = 131 
uint8 REMOTE_SPOT = 132 
uint8 REMOTE_MAX = 133 
uint8 REMOTE_SMALL = 134 
uint8 REMOTE_MEDIUM = 135 
uint8 REMOTE_LARGE = 136 
uint8 REMOTE_CLEAN = 136 
uint8 REMOTE_PAUSE = 137 
uint8 REMOTE_POWER = 138 
uint8 REMOTE_ARC_LEFT = 139 
uint8 REMOTE_ARC_RIGHT = 140 
uint8 REMOTE_DRIVE_STOP = 141 
# Scheduling remote
uint8 REMOTE_SEND_ALL = 142 
uint8 REMOTE_SEEK_DOCK = 143 
# Home base
uint8 REMOTE_RESERVED = 240 
uint8 REMOTE_FORCE_FIELD = 242 
uint8 REMOTE_GREEN_BUOY = 244 
uint8 REMOTE_GREEN_BUOY_AND_FORCE_FIELD = 246 
uint8 REMOTE_RED_BUOY = 248 
uint8 REMOTE_RED_BUOY_AND_FORCE_FIELD = 250 
uint8 REMOTE_RED_BUOY_AND_GREEN_BUOY = 252 
uint8 REMOTE_RED_BUOY_AND_GREEN_BUOY_AND_FORCE_FIELD = 254 
uint8 REMOTE_NONE = 255

uint8 CHARGING_NOT_CHARGING = 0
uint8 CHARGING_CHARGING_RECOVERY = 1
uint8 CHARGING_CHARGING = 2
uint8 CHARGING_TRICKLE_CHARGING = 3
uint8 CHARGING_WAITING = 4 
uint8 CHARGING_CHARGING_ERROR = 5

Header header

uint8 bumps_wheeldrops
bool wall
bool cliff_left
bool cliff_front_left
bool cliff_front_right
bool cliff_right
bool virtual_wall
uint8 motor_overcurrents
uint8 dirt_detector_left  #roomba_only
uint8 dirt_detector_right #roomba_only
uint8 remote_opcode
uint8 buttons
int16 distance  # mm
int16 angle # degrees
uint8 charging_state
uint16 voltage  # mV
int16 current  # mA
int8 temperature  # C
uint16 charge  # mAh
uint16 capacity  # mAh

uint16 wall_signal
uint16 cliff_left_signal
uint16 cliff_front_left_signal
uint16 cliff_front_right_signal
uint16 cliff_right_signal
uint8 user_digital_inputs
uint16 user_analog_input
uint8 charging_sources_available
uint8 oi_mode
uint8 song_number
bool song_playing

uint8 number_of_stream_packets
int16 requested_velocity  # mm/s
int16 requested_radius  # mm
int16 requested_right_velocity  # mm/s
int16 requested_left_velocity  # mm/s
create_node/Turtle
Field:
  • linear (float32) –
  • angular (float32) –
float32 linear
float32 angular
create_node/BatteryState
Field:
  • header (std_msgs/Header) –
  • temperature (int8) –
  • charge (uint16) –
  • capacity (uint16) –
Header header
int8 temperature
uint16 charge
uint16 capacity
create_node/Drive
Field:
  • velocity (float32) –
  • radius (float32) –
float32 velocity
float32 radius
create_node/TurtlebotSensorState
Constant:
  • OI_MODE_OFF (uint8):0
  • OI_MODE_PASSIVE (uint8):1
  • OI_MODE_SAFE (uint8):2
  • OI_MODE_FULL (uint8):3
  • REMOTE_LEFT (uint8):129
  • REMOTE_FORWARD (uint8):130
  • REMOTE_RIGHT (uint8):131
  • REMOTE_SPOT (uint8):132
  • REMOTE_MAX (uint8):133
  • REMOTE_SMALL (uint8):134
  • REMOTE_MEDIUM (uint8):135
  • REMOTE_LARGE (uint8):136
  • REMOTE_CLEAN (uint8):136
  • REMOTE_PAUSE (uint8):137
  • REMOTE_POWER (uint8):138
  • REMOTE_ARC_LEFT (uint8):139
  • REMOTE_ARC_RIGHT (uint8):140
  • REMOTE_DRIVE_STOP (uint8):141
  • REMOTE_SEND_ALL (uint8):142
  • REMOTE_SEEK_DOCK (uint8):143
  • REMOTE_RESERVED (uint8):240
  • REMOTE_FORCE_FIELD (uint8):242
  • REMOTE_GREEN_BUOY (uint8):244
  • REMOTE_GREEN_BUOY_AND_FORCE_FIELD (uint8):246
  • REMOTE_RED_BUOY (uint8):248
  • REMOTE_RED_BUOY_AND_FORCE_FIELD (uint8):250
  • REMOTE_RED_BUOY_AND_GREEN_BUOY (uint8):252
  • REMOTE_RED_BUOY_AND_GREEN_BUOY_AND_FORCE_FIELD (uint8):254
  • REMOTE_NONE (uint8):255
  • CHARGING_NOT_CHARGING (uint8):0
  • CHARGING_CHARGING_RECOVERY (uint8):1
  • CHARGING_CHARGING (uint8):2
  • CHARGING_TRICKLE_CHARGING (uint8):3
  • CHARGING_WAITING (uint8):4
  • CHARGING_CHARGING_ERROR (uint8):5
Field:
  • header (std_msgs/Header) –
  • bumps_wheeldrops (uint8) –
  • wall (bool) –
  • cliff_left (bool) –
  • cliff_front_left (bool) –
  • cliff_front_right (bool) –
  • cliff_right (bool) –
  • virtual_wall (bool) –
  • motor_overcurrents (uint8) –
  • dirt_detector_left (uint8) –
  • dirt_detector_right (uint8) –
  • remote_opcode (uint8) –
  • buttons (uint8) –
  • distance (float64) –
  • angle (float64) –
  • charging_state (uint8) –
  • voltage (uint16) –
  • current (int16) –
  • temperature (int8) –
  • charge (uint16) –
  • capacity (uint16) –
  • wall_signal (uint16) –
  • cliff_left_signal (uint16) –
  • cliff_front_left_signal (uint16) –
  • cliff_front_right_signal (uint16) –
  • cliff_right_signal (uint16) –
  • user_digital_outputs (uint8) –
  • user_digital_inputs (uint8) –
  • user_analog_input (uint16) –
  • charging_sources_available (uint8) –
  • oi_mode (uint8) –
  • song_number (uint8) –
  • song_playing (bool) –
  • number_of_stream_packets (uint8) –
  • requested_velocity (int32) –
  • requested_radius (int32) –
  • requested_right_velocity (int32) –
  • requested_left_velocity (int32) –
uint8 OI_MODE_OFF = 0
uint8 OI_MODE_PASSIVE = 1
uint8 OI_MODE_SAFE = 2
uint8 OI_MODE_FULL = 3

uint8 REMOTE_LEFT = 129
uint8 REMOTE_FORWARD = 130 
uint8 REMOTE_RIGHT = 131 
uint8 REMOTE_SPOT = 132 
uint8 REMOTE_MAX = 133 
uint8 REMOTE_SMALL = 134 
uint8 REMOTE_MEDIUM = 135 
uint8 REMOTE_LARGE = 136 
uint8 REMOTE_CLEAN = 136 
uint8 REMOTE_PAUSE = 137 
uint8 REMOTE_POWER = 138 
uint8 REMOTE_ARC_LEFT = 139 
uint8 REMOTE_ARC_RIGHT = 140 
uint8 REMOTE_DRIVE_STOP = 141 
# Scheduling remote
uint8 REMOTE_SEND_ALL = 142 
uint8 REMOTE_SEEK_DOCK = 143 
# Home base
uint8 REMOTE_RESERVED = 240 
uint8 REMOTE_FORCE_FIELD = 242 
uint8 REMOTE_GREEN_BUOY = 244 
uint8 REMOTE_GREEN_BUOY_AND_FORCE_FIELD = 246 
uint8 REMOTE_RED_BUOY = 248 
uint8 REMOTE_RED_BUOY_AND_FORCE_FIELD = 250 
uint8 REMOTE_RED_BUOY_AND_GREEN_BUOY = 252 
uint8 REMOTE_RED_BUOY_AND_GREEN_BUOY_AND_FORCE_FIELD = 254 
uint8 REMOTE_NONE = 255

uint8 CHARGING_NOT_CHARGING = 0
uint8 CHARGING_CHARGING_RECOVERY = 1
uint8 CHARGING_CHARGING = 2
uint8 CHARGING_TRICKLE_CHARGING = 3
uint8 CHARGING_WAITING = 4 
uint8 CHARGING_CHARGING_ERROR = 5

Header header

uint8 bumps_wheeldrops
bool wall
bool cliff_left
bool cliff_front_left
bool cliff_front_right
bool cliff_right
bool virtual_wall
uint8 motor_overcurrents
uint8 dirt_detector_left  #roomba_only
uint8 dirt_detector_right #roomba_only
uint8 remote_opcode
uint8 buttons
float64 distance  # m
float64 angle #radians
uint8 charging_state
uint16 voltage  # mV
int16 current  # mA
int8 temperature  # C
uint16 charge  # mAh
uint16 capacity  # mAh

uint16 wall_signal
uint16 cliff_left_signal
uint16 cliff_front_left_signal
uint16 cliff_front_right_signal
uint16 cliff_right_signal
uint8 user_digital_outputs
uint8 user_digital_inputs
uint16 user_analog_input
uint8 charging_sources_available
uint8 oi_mode
uint8 song_number
bool song_playing

uint8 number_of_stream_packets
int32 requested_velocity  # m/s
int32 requested_radius  # m
int32 requested_right_velocity  # m/s
int32 requested_left_velocity  # m/s

Service types

create_node/SetTurtlebotMode
Field (Request):
 
  • mode (uint8) –
Field (Response):
 
  • valid_mode (bool) –
uint8 mode #This sets the operating mode to one of the OI_MODE states from the TurtlebotSensorState.msg 
---
bool valid_mode # will return false if a unvalid mode was requested
create_node/SetDigitalOutputs
Field (Request):
 
  • digital_out_0 (uint8) –
  • digital_out_1 (uint8) –
  • digital_out_2 (uint8) –
Field (Response):
 
  • done (bool) –
uint8 digital_out_0
uint8 digital_out_1
uint8 digital_out_2
---
bool done