Package Summary

Tags No category tags.
Version 0.1.20
License BSD
Build type CATKIN

Repository Summary

Checkout URI
VCS Type git
VCS Version master
Last Updated 2024-07-10
CI status
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

ROS control warped interface for RoboMaster motor and some robot hardware

Additional Links

No additional links.


  • Qiayuan Liao


  • Qiayuan Liao

Package Name


This is a ROS control warped interface for RoboMaster motor and some robot hardware Keywords: ROS, RoboMaster


The source code is released under a BSD 3-Clause license.

Author: QiayuanLiao
Affiliation: Dynamicx
Maintainer: QiayuanLiao,

The rm_hw package has been tested under ROS Melodic and Noetic on respectively 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Build Status

Example image

[comment]: <> (### Publications)

[comment]: <> (If you use this work in an academic context, please cite the following publication(s):)

[comment]: <> (* P. Fankhauser, M. Bloesch, C. Gehring, M. Hutter, and R. Siegwart: PAPER TITLE. IEEE/RSJ International Conference)

[comment]: <> ( on Intelligent Robots and Systems (IROS), 2015. ([PDF](;&#41;)

[comment]: <> ( @inproceedings{Fankhauser2015,)

[comment]: <> ( author = {Fankhauser, P\'{e}ter and Hutter, Marco},)

[comment]: <> ( booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},)

[comment]: <> ( title = {{PAPER TITLE}},)

[comment]: <> ( publisher = {IEEE},)

[comment]: <> ( year = {2015})

[comment]: <> ( })


Installation from Packages

To install all packages from the this repository as Debian packages use

sudo apt-get install ros-noetic-...

Or better, use rosdep:

sudo rosdep install --from-paths src

Building from Source


  • Robot Operating System (ROS) (middleware for robotics)
  • rm_msg
  • rm_common
  • hardware_interface
  • urdf
  • transmission_interface
  • joint_limits_interface
  • controller_manager
  • socketcan_interface
  • angles
  • realtime_tools
  • tf2_ros
  • kdl_parser


To build from source, clone the latest version from this repository into your catkin workspace and compile the package using

cd catkin_workspace/src
git clone
cd ../
rosdep install --from-paths . --ignore-src

[comment]: <> (### Running in Docker)

[comment]: <> (Docker is a great way to run an application with all dependencies and libraries bundles together. Make sure)

[comment]: <> (to [install Docker](; first.)

[comment]: <> (First, spin up a simple container:)

[comment]: <> ( docker run -ti --rm --name ros-container ros:noetic bash)

[comment]: <> (This downloads the ros:noetic image from the Docker Hub, indicates that it requires an interactive terminal (-t, -i))

[comment]: <> (, gives it a name (--name), removes it after you exit the container (--rm) and runs a command (bash).)

[comment]: <> (Now, create a catkin workspace, clone the package, build it, done!)

[comment]: <> ( apt-get update && apt-get install -y git)

[comment]: <> ( mkdir -p /ws/src && cd /ws/src)

[comment]: <> ( git clone

[comment]: <> ( cd ..)

[comment]: <> ( rosdep install --from-path src)

[comment]: <> ( catkin_make)

[comment]: <> ( source devel/setup.bash)

[comment]: <> ( roslaunch ros_package_template ros_package_template.launch)

Unit Tests

Run the unit tests with

catkin_make run_tests_ros_package_template

Static code analysis

Run the static code analysis with

catkin_make roslint_ros_package_template


Describe the quickest way to run this software, for example:

Run the main node with

roslaunch ros_package_template ros_package_template.launch

Config files

Config file folder/set 1

  • config_file_1.yaml Shortly explain the content of this config file

Config file folder/set 2

  • ...

Launch files

  • launch_file_1.launch: shortly explain what is launched (e.g standard simulation, simulation with gdb,...)

Argument set 1

- **`argument_1`** Short description (e.g. as commented in launch file). Default: `default_value`.

Argument set 2

- **`...`**
  • ...



Reads temperature measurements and computed the average.

Subscribed Topics

The temperature measurements from which the average is computed.

Published Topics



Returns information about the current average. For example, you can trigger the computation from the console with

rosservice call /ros_package_template/get_average


  • subscriber_topic (string, default: "/temperature")

The name of the input topic.

  • cache_size (int, default: 200, min: 0, max: 1000)

The size of the cache.





Subscribed Topics


Published Topics



Bugs & Feature Requests

Please report bugs and request features using the Issue Tracker .


Changelog for package rm_hw

0.1.20 (2023-06-20)

  • Merge branch \'master\' into dev/sentry_map # Conflicts: # rm_referee/include/rm_referee/referee_base.h # rm_referee/src/referee_base.cpp
  • Merge branch \'master\' into pitch_ui
  • Merge pull request #160 from ye-luo-xi-tui/master Filter out actuator data with short time difference
  • Filter out actuator data with short time difference.
  • Merge branch \'master\' into suggest_fire
  • Merge branch \'rm-controls:master\' into master
  • Merge branch \'dev/ui_refact\' into dev/balance_cmd_send
  • Merge branch \'master\' into dev/ui_refact # Conflicts: # rm_referee/include/rm_referee/common/protocol.h # rm_referee/src/ui/graph.cpp
  • Merge pull request #146 from ye-luo-xi-tui/master 0.1.19
  • Merge branch \'rm-controls:master\' into master
  • Merge pull request #1 from rm-controls/master 1
  • Contributors: 1moule, ye-luo-xi-tui, yezi, yuchen,

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

  • test/test_motor.launch
      • robot_type [default: $(env ROBOT_TYPE)] — Robot type [standard, hero, engineer, sentry]
      • debug [default: false]
      • load_chassis [default: true]
      • load_gimbal [default: true]
      • load_shooter [default: true]
      • load_arm [default: true]
  • test/test_imu.launch
  • launch/rm_hw.launch
      • robot_type [default: $(env ROBOT_TYPE)] — Robot type [standard, hero, engineer, sentry]
      • debug [default: false]
      • load_chassis [default: true]
      • load_gimbal [default: true]
      • load_shooter [default: true]
      • load_arm [default: true]


No message files found.


No service files found

Recent questions tagged rm_hw at Robotics Stack Exchange