Package Summary

Tags No category tags.
Version 0.1.15
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/rm-controls/rm_control.git
VCS Type git
VCS Version master
Last Updated 2022-10-03
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
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.

Maintainers

  • Qiayuan Liao

Authors

  • Qiayuan Liao

Package Name

Overview

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

License

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

Author: QiayuanLiao
Affiliation: Dynamicx
Maintainer: QiayuanLiao, liaoqiayuan@gmail.com

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](http://dx.doi.org/10.3929/ethz-a-010173654&#41;&#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

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

Dependencies

  • 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

Building

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 https://github.com/ethz-asl/ros_best_practices.git
cd ../
rosdep install --from-paths . --ignore-src
catkin_make

[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](https://docs.docker.com/get-docker/&#41; 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 https://github.com/leggedrobotics/ros_best_practices.git)

[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

Usage

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

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

Nodes

rm_hw

Reads temperature measurements and computed the average.

Subscribed Topics

The temperature measurements from which the average is computed.

Published Topics

...

Services

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

rosservice call /ros_package_template/get_average

Parameters

  • 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.

dbus_node

...

Plugins

robot_state_controller

Subscribed Topics

...

Published Topics

...

RevoluteTransmission

Bugs & Feature Requests

Please report bugs and request features using the Issue Tracker .

CHANGELOG

Changelog for package rm_hw

0.1.15 (2022-09-02)

  • Add namespace.
  • Fix realtime loop.
  • Contributors: yezi

0.1.14 (2022-06-16)

0.1.13 (2022-06-12)

  • Merge pull request #58 from Edwinlinks/tf-radar-interface Update tof radar interface and Add tof radar msg to rm_msgs
  • Delete tof sensor interface, modify radar_data to tof_data
  • Delete tof sensor interface, TofSensor.msg.
  • Change tf_radar_interface to tof_radar_interface and change TfRadarData.msg to TofRadarData.msg
  • Add member tf_radar_interface_ to hardware_interface.h
  • Update tf radar interface and Add tf radar msg to rm_msgs
  • Contributors: Edwinlinks, ye-luo-xi-tui

0.1.12 (2022-06-11)

  • Merge pull request #59 from ye-luo-xi-tui/master 0.1.11
  • Contributors: QiayuanLiao

0.1.11 (2022-06-10)

  • Merge pull request #52 from XYM-github/gpio_interface_2.0 Changed gpio type in gpio interface to enum.
  • Add the namespace of gpio_manager.
  • Move gpio type from rm_hw to rm_common.
  • Changed gpio type in gpio interface to enum.
  • Gpio interface 2 (#51)

    • Write a gpio_manager, it can initialize with pin ID and direction, and write output or read Input.
    • Modifier readInput().
    • Write gpio_state_interface.h(read only)
    • write gpio_state_interface.h(read only)
    • Modifier gpio manager. Write a new writeOutput() function.
    • Add gpio_state_interface in robotHW
    • Solve a error
    • Modifier names of variables.
    • Set GpioReadHandle and GpioWriteHandle. Register GpioReadInterface and GpioWriteInterface. Improve the code about gpio and delete unnecessary things.
    • Add GpioRead.msg GpioWrite.msg.
    • Add Gpio controller.
    • Update Gpio controller.
    • Update Gpio controller.
    • Update gpio controller.
    • Update gpio_controller.
    • Update gpio_controller to version 2.0.

    * Update gpio_interface to version2.0. Co-authored-by: yezi <1536117624@qq.com> Co-authored-by: ye-luo-xi-tui <74857762+ye-luo-xi-tui@users.noreply.github.com> Co-authored-by: QiayuanLiao <liaoqiayuan@gmail.com>

  • Merge remote-tracking branch \'origin/master\'

  • Merge pull request #46 from XYM-github/imu_angular_offset Add imu angular_vel_offset.

  • Add imu angular_vel_offset.

  • Merge remote-tracking branch \'origin/master\'

  • Contributors: Edwinlinks, QiayuanLiao, XYM-github, Yuexin Mu, YuuinIH, chenzheng, qiayuan, ye-luo-xi-tui, yezi

0.1.10 (2022-05-22)

  • Merge branch \'rm-controls:master\' into master
  • Code style
  • Merge pull request #41 from Edwinlinks/multi_actuator_transmission Update multi_actuator_transmission and delete the double_actuator_tra...
  • Merge pull request #42 from ye-luo-xi-tui/service Add enable_imu_trigger service
  • Initialize structure members in sequence.
  • Rename service switch_imu_trigger to enable_imu_trigger.
  • Add switch_imu_trigger service.
  • Update multi_actuator_transmission and delete the double_actuator_transmission
  • Contributors: Edwinlinks, QiayuanLiao, qiayuan, ye-luo-xi-tui, yezi

0.1.9 (2022-3-28)

  • Deprecated imu_extra_handle and add imu_filter into hardware resource layer.(Since the update frequency of the control loop is not stable, some of the camera trigger signals of imu will be lost. We put the imu filter down to the hardware resource layer, so imu_extra_handle is breaking. )
  • Merge pull request #32 from Edwinlinks/tof_sensor_interface Delete contents in brackets
  • Delete contents in brackets
  • Merge pull request #29 from Edwinlinks/tof_sensor_interface Completed tof_sensor_interface
  • Modified the reference order of header files and packet parsing of tof sensor, data type of dis_status
  • Add tof sensor interface in rm_common, add parsing can frame in can_bus.cpp, and add TofSensor.msg in rm_msgs.
  • Merge remote-tracking branch \'origin/master\'
  • Merge pull request #26 from ye-luo-xi-tui/master Fix a bug in parse imu
  • Fix a stupid bug.
  • Contributors: Edwinlinks, Jie j, QiayuanLiao, yezi

0.1.8 (2021-12-7)

  • Fix End of files.
  • Merge branch \'master\' into master
  • Update standard4.urdf.xacro and rm_hw/config/standard4.yaml.
  • Fix \"sorry, unimplemented: non-trivial designated initializers not supported\" under melodic
  • Merge branch \'master\' into gimbal/opti_or_simplify
  • Update CHANGELOG
  • Set accel_coeff of imu to 6G\'s
  • Receive camera_trigger CAN frame
  • Add orientation to ImuExtraHandle
  • Update coefficient and standard5.yaml
  • Merge branch \'master\' into gimbal/opti_or_simplify
  • Test can receive of imu2can successfully
  • Update CanBus::read() for new imu
  • Add ImuExtraInterface
  • Contributors: BruceLannn, YuuinIH, qiayuan

0.1.7 (2021-09-26)

  • 0.1.6
  • Update CHANGELOG
  • Fix some comment messed up by pre-commit
  • Merge branch \'namespace\' into rm_gazebo/imu_sensor_interface
  • Merge pull request #8 from ye-luo-xi-tui/namespace Change name of namespace:from hardware_interface to rm_control.
  • Change name of namespace:from hardware_interface to rm_control.
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.6 (2021-09-26)

  • Fix some comment messed up by pre-commit
  • Merge branch \'namespace\' into rm_gazebo/imu_sensor_interface
  • Merge pull request #8 from ye-luo-xi-tui/namespace Change name of namespace:from hardware_interface to rm_control.
  • Change name of namespace:from hardware_interface to rm_control.
  • Contributors: QiayuanLiao, qiayuan, yezi

0.1.5 (2021-09-02)

0.1.4 (2021-09-02)

0.1.3 (2021-09-01)

  • Format the code
  • Merge remote-tracking branch \'origin/master\'
  • Merge pull request #6 from ye-luo-xi-tui/master Add doxygen comments on control_loop and transmission
  • change doxygen comments on control_loop.
  • Merge remote-tracking branch \'origin/master\'
  • Add doxygen comments on transimission.
  • Merge branch \'master\' into master
  • Add doxygen comments on control_loop.h, double_actuator_transmission.h, double_actuator_transmission_loader.h.
  • Use "pragma once" in rm_hw headers instead of include guards.
  • Merge branch \'master\' into master
  • Merge pull request #4 from ye-luo-xi-tui/master Add doxygen comments on hardware_interface.h
  • Rename rm_base to rm_hw
  • update comments on hardware_interface.h
  • update comments on hardware_interface.h
  • merge
  • update comments of hardware_interface.h(not complete)
  • Rename RmBaseHardWareInterface to RmRobotHW
  • Code style
  • Merge pull request #3 from ye-luo-xi-tui/master Add doxygen comments on can_bus.h.
  • update comments of hardware_interface.h
  • update comments of can_bus.h.
  • update comments of can_bus.h.
  • Merge pull request #2 from ye-luo-xi-tui/master Add doxygen comments on socketcan.h
  • update comments of functions.
  • update comments of functions.
  • update comments of functions.
  • update comments of functions and fix a spelling error.
  • Rename RM_BASE to RM_HW
  • update comments of functions
  • update comments of functions
  • Rename rm_base to rm_hw
  • Rename rm_base to rm_hw
  • Rename rm_base to rm_hw
  • Contributors: BruceLannn, QiayuanLiao, qiayuan, ye-luo-xi-tui, yezi
  • Format the code
  • Merge remote-tracking branch \'origin/master\'
  • Merge pull request #6 from ye-luo-xi-tui/master Add doxygen comments on control_loop and transmission
  • change doxygen comments on control_loop.
  • Merge remote-tracking branch \'origin/master\'
  • Add doxygen comments on transimission.
  • Merge branch \'master\' into master
  • Add doxygen comments on control_loop.h, double_actuator_transmission.h, double_actuator_transmission_loader.h.
  • Use "pragma once" in rm_hw headers instead of include guards.
  • Merge branch \'master\' into master
  • Merge pull request #4 from ye-luo-xi-tui/master Add doxygen comments on hardware_interface.h
  • Rename rm_base to rm_hw
  • update comments on hardware_interface.h
  • update comments on hardware_interface.h
  • merge
  • update comments of hardware_interface.h(not complete)
  • Rename RmBaseHardWareInterface to RmRobotHW
  • Code style
  • Merge pull request #3 from ye-luo-xi-tui/master Add doxygen comments on can_bus.h.
  • update comments of hardware_interface.h
  • update comments of can_bus.h.
  • update comments of can_bus.h.
  • Merge pull request #2 from ye-luo-xi-tui/master Add doxygen comments on socketcan.h
  • update comments of functions.
  • update comments of functions.
  • update comments of functions.
  • update comments of functions and fix a spelling error.
  • Rename RM_BASE to RM_HW
  • update comments of functions
  • update comments of functions
  • Rename rm_base to rm_hw
  • Rename rm_base to rm_hw
  • Rename rm_base to rm_hw
  • Contributors: BruceLannn, QiayuanLiao, qiayuan, ye-luo-xi-tui, yezi

0.1.2 (2021-08-14)

  • Run pre-commit
  • Fix error: unused variable 'jnt_config_ok'
  • Code style: loadUrdf
  • Delete unreachable code
  • Format rm_base using clang-format
  • Code style
  • Contributors: qiayuan

0.1.1 (2021-08-12)

  • Reset all version to 0.1.0
  • Contributors: qiayuan

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]

Messages

No message files found.

Services

No service files found

Recent questions tagged rm_hw at answers.ros.org