Skip to content

Robot and Simulation Topics

Vivian Chu edited this page Sep 13, 2016 · 4 revisions

Overview

This is a somewhat update-to-date version of what topics are started up on the robot. This gives folks working on the simulator a sense of what topics they can rely on what topics they cannot. This doesn't cover nodes that get launched after the initial startup/drivers (i.e. MoveIt! or wpi_jaco_wrapper)

Legend

  • /bold - topics that should exist on both simulation and robot (you want to use these topics)
  • /regular - topics that exist only on the robot currently
  • /italicized - topics that exist only in simulation (avoid using at all cost unless you only want it to work in simulation)

Control Topics

Overall Robot

  • /joint_states: The joint names/position/velocity/effort for various controlled robot joints
  • WARNING: The simulation topic is missing some links associated with the gripper. This is due to the use of the plugin that mimics joints. Specifically, the gripper is controlled by just one link [right/left]_robotiq_85_left_knuckle_joint. This I believe is the case for both real and fake robot. However, it is not possible to publish mimic'd joints in simulation, so the simulation joint_states topic will be missing these links. This means that anytime you plan on using joint_states, be sure to look for specific link names, etc. Also joint_states has no guarantee on ordering of joints, so do not assume position 4 for example maps to the shoulder.
  • Note: This topic only publishes at 10 Hz

Pan/Tilt Controllers

  • /pan_controller/command
  • /pan_controller/state
  • Note: sim won’t populate have motor_ids, motor_temps, load, is_moving
  • /tilt_controller/command
  • /tilt_controller/state
  • Note: sim won’t have populate motor_ids, motor_temps, load, is_moving
  • These next topics exist only on the robot but we do not use them typically as well call pan/tilt separately currently.
  • /pan_tilt_controller/follow_joint_trajectory/status
  • /pan_tilt_controller/state
  • /vector/pan_tilt/joint_states

Linear Actuator

  • /vector/joint_states - only contains the linear actuator
  • /vector/linear_actuator_cmd

Gripper

  • /vector/left_gripper/cmd - it seems that the real robot only has one joint specified as well (unverified)
  • /vector/right_gripper/cmd - it seems that the real robot only has one joint specified as well (unverified)
  • /vector/right_gripper/joint_states
    • Similar to above note in that it seems like the state only has “right_robotic_85_left_knuckle_joint” as well
  • /vector/right_gripper/stat -
  • WARNING: simulation does not populate fields like is_ready, is_moving, etc.
  • /vector/left_gripper/joint_states
  • Similar to above note in that it seems like the state only has “left_robotic_85_left_knuckle_joint” as well
  • /vector/left_gripper/stat -
  • WARNING: simulation does not populate fields like is_ready, is_moving, etc.

Teleop/GUI Topics

  • /joy:
  • Note:This is started up by default in simulation. On the real-robot you need to launch from whatever machine has the joystick connected
  • /vector/assisted_teleop/cmd_vel: Note - not verified, but should exist
  • /vector/cmd_vel
  • /vector/cmd_vel_mux/active
  • /vector/cmd_vel_mux/parameter_descriptions
  • /vector/cmd_vel_mux/parameter_updates
  • /vector/gp_command: Gui Interface for navigation - interactive control marker
  • /vector/int_marker/cmd_vel: Note - not verified, but should exist
  • /vector_marker_ctrl/feedback: Note - not verified, but should exist
  • /vector_marker_ctrl/update
  • /vector_marker_ctrl/update_full
  • /vector/teleop/cmd_vel
  • /vector/manual_override/cmd_vel

Arm

For the most part - there are no specific topics that we need here because we use wpi_jaco_wrapper as our driver for the arm. However, the teleop node will publish to this topics

  • /vector/left_arm/cartesian_vel_cmd
  • /vector/right_arm/cartesian_vel_cmd

Navigation

  • /vector/odometry/local_filtered - unverified accuracy
  • /vector/navigation/cmd_vel - should exist on both (unverified)
  • /vector/vector_driver/parameter_descriptions
  • /vector/vector_driver/parameter_updates
  • /vector/waypoint_cmd

Sensor Topics

XBox Kinect One Topics

Full HD Topics

  • /kinect/hd/camera_info: Camera information
  • /kinect/hd/image_color: Raw RGB camera image
  • /kinect/hd/image_color/compressed
  • /kinect/hd/image_color_rect
  • /kinect/hd/image_color_rect/compressed
  • /kinect/hd/image_depth_rect:
  • WARNING: Doesn’t work in simulation
  • /kinect/hd/image_depth_rect/compressed
  • /kinect/hd/image_mono
  • /kinect/hd/image_mono/compressed
  • /kinect/hd/image_mono_rect
  • /kinect/hd/image_mono_rect/compressed
  • /kinect/hd/points: Actual point cloud

Quarter HD Topics

  • /kinect/qhd/camera_info: Camera information
  • /kinect/qhd/image_color: Raw RGB camera image
  • /kinect/qhd/image_color/compressed
  • /kinect/qhd/image_color_rect
  • /kinect/qhd/image_color_rect/compressed
  • /kinect/qhd/image_depth_rect:
  • WARNING: Doesn’t work in simulation
  • /kinect/qhd/image_depth_rect/compressed
  • /kinect/qhd/image_mono
  • /kinect/qhd/image_mono/compressed
  • /kinect/qhd/image_mono_rect
  • /kinect/qhd/image_mono_rect/compressed
  • /kinect/qhd/points: Actual point cloud

IR Camera Topic

  • /kinect/sd/camera_info
  • /kinect/sd/image_color_rect
  • /kinect/sd/image_color_rect/compressed
  • /kinect/sd/image_depth
  • WARNING: Doesn’t work in simulation
  • /kinect/sd/image_depth/compressed
  • /kinect/sd/image_depth_rect
  • /kinect/sd/image_depth_rect/compressed
  • /kinect/sd/image_ir
  • WARNING: simulation shows more of an image than IR light image
  • /kinect/sd/image_ir/compressed
  • WARNING: simulation shows more of an image than IR light image
  • /kinect/sd/image_ir_rect
  • /kinect/sd/image_ir_rect/compressed
  • /kinect/sd/points: Actual point cloud

Laser topics (this is for one laser)

  • /laser_footprint
  • /vector/base_scan
  • Note: max values in simulation seem to be much larger than real robot (could just be simulation room)
  • /vector/base_scan_filtered
  • /hokuyo_node/parameter_descriptions
  • /hokuyo_node/parameter_updates

External IMU (UM7)

  • /vector/feedback/ext_imu:
  • WARNING: The simulation and real-robot seem to have different frame_id. This is still being investigated, but it is due to there not being a good IMU plugin for gazebo. It is also unclear if the incorrect values are negatively impacting SLAM in the simulator
  • /um7/data
  • /um7/mag
  • /um7/rpy
  • /um7/temperature

SIC Internal IMU

  • /vector/feedback/sic_imu
  • Note: same issues with ext_imu

Internal Robot Hardware (e.g. temperature, etc.)

  • /diagnostics
  • /motor_states/pan_tilt_port - voltage/temperature info for pan/tilt
  • /vector/feedback/faultlog
  • /vector/feedback/propulsion - wheel motor status
  • /vector/feedback/status
  • /vector/feedback/stored_configuration - see readme on vector github for more details (unclear why it isn’t stored in simulation)
  • /vector/feedback/active_configuration
  • /vector/feedback/battery
  • /vector/feedback/dynamics

Unclear/Unknown currently

  • /kinect/bond - links two nodes together (not sure what nodes yet)
  • /vector/nodelet_manager/bond
  • /calibrated

ROS Specific

  • /clock
  • /rosout
  • /rosout_agg
  • /tf
  • /tf_static - seems like something new as of hydro for tf values that don't change (unclear why it is only on the real robot)

Gazebo Specific (i.e. don’t expect to have access to them on the real robot)

  • /gazebo/link_states
  • /gazebo/model_states
  • /gazebo/parameter_descriptions
  • /gazebo/parameter_updates
  • /gazebo_ros_control/pid_gains/linear_joint/parameter_descriptions
  • /gazebo_ros_control/pid_gains/linear_joint/parameter_updates
  • /gazebo/set_link_state
  • /gazebo/set_model_state
  • /gripper_controller/command
  • /gripper_controller/follow_joint_trajectory/cancel
  • /gripper_controller/follow_joint_trajectory/feedback
  • /gripper_controller/follow_joint_trajectory/goal
  • /gripper_controller/follow_joint_trajectory/result
  • /gripper_controller/follow_joint_trajectory/status
  • /gripper_controller/state
  • /kinect/hd/depth/camera_info
  • /kinect/hd/image_color/compressed/parameter_descriptions
  • /kinect/hd/image_color/compressed/parameter_updates
  • /kinect/hd/image_color/compressedDepth
  • /kinect/hd/image_color/compressedDepth/parameter_descriptions
  • /kinect/hd/image_color/compressedDepth/parameter_updates
  • /kinect/hd/image_color/theora
  • /kinect/hd/image_color/theora/parameter_descriptions
  • /kinect/hd/image_color/theora/parameter_updates
  • /kinect/hd/parameter_descriptions
  • /kinect/hd/parameter_updates
  • /kinect/qhd/depth/camera_info
  • /kinect/qhd/image_color/compressedDepth
  • /kinect/qhd/image_color/compressedDepth/parameter_descriptions
  • /kinect/qhd/image_color/compressedDepth/parameter_updates
  • /kinect/qhd/image_color/compressed/parameter_descriptions
  • /kinect/qhd/image_color/compressed/parameter_updates
  • /kinect/qhd/image_color/theora
  • /kinect/qhd/image_color/theora/parameter_descriptions
  • /kinect/qhd/image_color/theora/parameter_updates
  • /kinect/qhd/parameter_descriptions
  • /kinect/qhd/parameter_updates
  • /kinect/sd/depth/camera_info
  • /kinect/sd/image_ir/compressedDepth
  • /kinect/sd/image_ir/compressedDepth/parameter_descriptions
  • /kinect/sd/image_ir/compressedDepth/parameter_updates
  • /kinect/sd/image_ir/compressed/parameter_descriptions
  • /kinect/sd/image_ir/compressed/parameter_updates
  • /kinect/sd/image_ir/parameter_descriptions
  • /kinect/sd/image_ir/parameter_updates
  • /kinect/sd/image_ir/theora
  • /kinect/sd/image_ir/theora/parameter_descriptions
  • /kinect/sd/image_ir/theora/parameter_updates
  • /linear_actuator_controller/command
  • /linear_actuator_controller/follow_joint_trajectory/cancel
  • /linear_actuator_controller/follow_joint_trajectory/feedback
  • /linear_actuator_controller/follow_joint_trajectory/goal
  • /linear_actuator_controller/follow_joint_trajectory/result
  • /linear_actuator_controller/follow_joint_trajectory/status
  • /linear_actuator_controller/state
  • /pan_sim_controller/command
  • /pan_sim_controller/follow_joint_trajectory/cancel
  • /pan_sim_controller/follow_joint_trajectory/feedback
  • /pan_sim_controller/follow_joint_trajectory/goal
  • /pan_sim_controller/follow_joint_trajectory/result
  • /pan_sim_controller/follow_joint_trajectory/status
  • /pan_sim_controller/state
  • /tilt_sim_controller/command
  • /tilt_sim_controller/follow_joint_trajectory/cancel
  • /tilt_sim_controller/follow_joint_trajectory/feedback
  • /tilt_sim_controller/follow_joint_trajectory/goal
  • /tilt_sim_controller/follow_joint_trajectory/result
  • /tilt_sim_controller/follow_joint_trajectory/status
  • /tilt_sim_controller/state
  • /vector/feedback/ext_imu/accel/parameter_descriptions
  • /vector/feedback/ext_imu/accel/parameter_updates
  • /vector/feedback/ext_imu/bias
  • /vector/feedback/ext_imu/rate/parameter_descriptions
  • /vector/feedback/ext_imu/rate/parameter_updates
  • /vector/feedback/ext_imu/yaw/parameter_descriptions
  • /vector/feedback/ext_imu/yaw/parameter_updates
  • /vector/right_arm/command
  • /vector/right_arm/follow_joint_trajectory/cancel
  • /vector/right_arm/follow_joint_trajectory/feedback
  • /vector/right_arm/follow_joint_trajectory/goal
  • /vector/right_arm/follow_joint_trajectory/result
  • /vector/right_arm/follow_joint_trajectory/status
  • /vector/right_arm/state
  • /vector/feedback/sic_imu/accel/parameter_descriptions
  • /vector/feedback/sic_imu/accel/parameter_updates
  • /vector/feedback/sic_imu/bias
  • /vector/feedback/sic_imu/rate/parameter_descriptions
  • /vector/feedback/sic_imu/rate/parameter_updates
  • /vector/feedback/sic_imu/yaw/parameter_descriptions
  • /vector/feedback/sic_imu/yaw/parameter_updates

Clone this wiki locally