See Robots/Roch get more installation or tutorials and information, roch_base based on ros_control.

And also refrence husky_base.


The roch_base package has some demos for testing whether normal for data of sensors, such as ultrasonic, psd, cliff etc. And also has a demo of launch files, you can checkout what in. roch_node is core node for roch_base package. And all hardware interface is configured by roch_control package.


Drivers and communication with ROS and Roch MCU node. Contains ros_control integration via diff_drive_controller, imu_sensor_controller and joint_state_controller.

Subscribed Topics

roch_velocity_controller/cmd_vel (geometry_msgs/Twist)
  • Twist velocity command for Roch, muxed in roch_control. External clients should publish to bare cmd_vel topic.

Published Topics

roch_velocity_controller/odom (nav_msgs/Odometry)
  • Odometry information from Roch MCU.
status (roch_msgs/RochStatus)
  • Status information from Roch MCU and roch_node. Also exposed over standard diagnostics interface.
debug/raw_data_stream (sensor_msgs/Imu)
  • Debug data for raw Imu sensor, Just for Debugging.
sensor/imu_data (sensor_msgs/Imu)
  • Imu data processed, used by roch_node.
debug/raw_data_command (std_msgs/String)
  • Raw command for communication with Roch MCU, for Debugging.
events/cliff (roch_msgs/CliffEvent) events/psd (roch_msgs/PSDEvent) events/ult (roch_msgs/UltEvent) core_sensors (roch_msgs/SensorState)


~control_frequency (double, default: 10.0)
  • Frequency at which Roch MCU is controlled for velocity and polled for odometry information.
~diagnostic_frequency (double, default: 10.0)
  • Frequency at which Roch is polled for diagnostic and status information.
~wheel_diameter (double, default: 0.095)
  • Diameter for Roch wheel, in meters.
~max_accel (double, default: 5.0)
  • Max accelerated velocity for Roch.
~max_speed (double, default: 0.45)
  • Max speed for Roch.
~polling_timeout_ (double, default: 20)
  • Command timeout for Roch communication with MCU, in Hz.
~cliff_height (double, default: 0.1)
  • How tall is safety for Roch with cliff sensor can publish, in meters.
~psd_length (double, default: 0.1)
  • How tall is safety for Roch with psd sensor can publish, in meters.
~port (string, default: /dev/roch)
  • Communication port with Roch on PC.
~imu_link_frame (string, default: imu_link)
  • Imu frame link for Roch description used for sending imu data.


There are have about 5 demos you can run for testing:

  • test_encoder
  • test_imu
  • test_platformInfo
  • test_rangefinder
  • test_speed

And they have common steps for using:

At first, make sure you had finished under:

  • 1.Roch has power on.
  • 2.USB cable Roch and your computer.
  • 3.Make sure you has run roscore.

  rosrun roch_base test_<name_you_want>

Report a Bug

Use github to report bugs or request features.

Wiki: roch_base (last edited 2017-03-02 03:06:04 by SawYer)