Package Summary

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

Repository Summary

Checkout URI
VCS Type git
VCS Version master
Last Updated 2022-09-22
CI status No Continuous Integration
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

RoboMaster standard robot orientation controller

Additional Links

No additional links.


  • Qiayuan Liao


  • Qiayuan Liao

Package Name


This is a template: replace, remove, and add where required. Describe here what this package does and what it's meant for in a few sentences.

Keywords: example, package, template

Or, add some keywords to the Bitbucket or GitHub repository.


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

Author: Péter Fankhauser
Affiliation: ANYbotics
Maintainer: Péter Fankhauser,

The PACKAGE NAME package has been tested under ROS Indigo, Melodic and Noetic on respectively Ubuntu 14.04, 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


sudo rosdep install --from-paths src

Running in Docker

Docker is a great way to run an application with all dependencies and libraries bundles together. Make sure to install Docker first.

First, spin up a simple container:

docker run -ti --rm --name ros-container ros:noetic bash

This downloads the ros:noetic image from the Docker Hub, indicates that it requires an interactive terminal (-t, -i) , gives it a name (--name), removes it after you exit the container (--rm) and runs a command (bash).

Now, create a catkin workspace, clone the package, build it, done!

apt-get update && apt-get install -y git
mkdir -p /ws/src && cd /ws/src
git clone
cd ..
rosdep install --from-path src
source devel/setup.bash
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

Config files

Config file folder/set 1

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

Config file folder/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.



Complete description

  type: rm_orientation_controller/Controller
  publish_rate: 100
  name: "gimbal_imu"
  frame_source: "odom"
  frame_target: "base_link"

Bugs & Feature Requests

Please report bugs and request features using the Issue Tracker .


Changelog for package rm_orientation_controller

0.1.7 (2022-09-10)

  • Optimize rm_orientation_controller.
  • Merge remote-tracking branch \'origin/master\'
  • Contributors: qiayuan, yezi

0.1.6 (2022-06-16)

  • Merge remote-tracking branch \'origin/master\'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Merge remote-tracking branch \'origin/master\'
  • Merge pull request #63 from ye-luo-xi-tui/master Publish tf from odom to base_link use imu data which is got from interface until getting imu data from topic
  • 0.1.4
  • Publish tf from odom to base_link use imu data which is got from interface until get imu data from topic.
  • Merge pull request #53 from ye-luo-xi-tui/orientation_controller Fix a bug that time stamp error
  • Fix a bug that time stamp error when it can\'t find transform from imu to odom.
  • Merge branch \'master\' into gimbal_track
  • Merge pull request #45 from mlione/master Delete some config files in rm_controllers.
  • Merge pull request #50 from ye-luo-xi-tui/ori Make rm_orientation_controller publish tf use imu data on the topic
  • Delete some config files in rm_controller.
  • Solve a problem that look up future transform.
  • Delete publish_rate and relative codes.
  • Publish tf use imu data on the topic.
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: QiayuanLiao, YuuinIH, mlione, qiayuan, yezi

0.1.3 (2022-03-28)

  • Merge branch \'master\' into forward_feed
  • Merge pull request #40 from ye-luo-xi-tui/maintain Delete configuration of robot_state_controller in each of controllers\' config file
  • Delete configuration of robot_state_controller in each of controllers\' config file
  • Merge branch \'master\' into standard3
  • Merge remote-tracking branch \'origin/master\'
  • Contributors: QiayuanLiao, qiayuan, ye-luo-xi-tui, yezi

0.1.2 (2022-01-08)

  • Merge branch \'master\' into omni_wheel_controller
  • Merge pull request #23 from ye-luo-xi-tui/master Add ImuFilterBase, overwrite ComplementaryController, add MadgwickController
  • Fix format error (cherry picked from commit f7519e6800095d933f9d4c85f108ae5260001572)
  • Merge branch \'master\' of
  • Merge branch \'gimbal/opti_or_simplify\' into chassis/balance_imu_interface
  • Run pre-commit
  • Merge branch \'master\' into gimbal/opti_or_simplify # Conflicts: # rm_orientation_controller/launch/load_controllers.launch # rm_orientation_controller/src/orientation_controller.cpp
  • Merge branch \'master\' into chassis/balance_imu_interface
  • Run pre-commit
  • Update the config of rm_orientation_controller, load only one controller on launch instead of spawn controllers
  • Correct \"rm_orientation_controllers\" to \"rm_orientation_controller\".
  • Fix pre-commit
  • Code style and delete unnecessary
  • Merge branch \'master\' into imu_filter_controllers # Conflicts: # imu_filter_controllers/CMakeLists.txt # imu_filter_controllers/include/imu_filter_controllers/complementary_controller.h # imu_filter_controllers/package.xml # imu_filter_controllers/src/complementary_controller.cpp
  • Upgrade \"hardware_interface::RobotStateInterface\" to \"rm_control::RobotStateInterface\".
  • Update orientation controller version.
  • Merge remote-tracking branch \'alias_memory/metapackage\'
  • Move all files to rm_orientation_controller/rm_orientation_controller,prepare for merge
  • Contributors: BruceLannn, QiayuanLiao, YuuinIH, qiayuan, yezi

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.


No message files found.


No service files found

Recent questions tagged rm_orientation_controller at