Package Summary

Tags No category tags.
Version 0.1.20
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 2024-10-12
Dev Status DEVELOPED
CI status
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

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

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

Published Topics

Services

  • get_average (std_srvs/Trigger)

    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.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, 王湘鈜

0.1.19 (2023-05-03)

  • Merge branch 'master' into multi_dof_controller # Conflicts: # rm_common/include/rm_common/decision/command_sender.h # rm_msgs/CMakeLists.txt
  • Merge branch 'master' into one_click_turn_cmd_sender
  • Merge branch 'master' into switch_camera_command_sender # Conflicts: # rm_referee/include/rm_referee/ui/trigger_change_ui.h # rm_referee/src/ui/trigger_change_ui.cpp
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.18
  • Contributors: 1moule, LSY, ye-luo-xi-tui

0.1.18 (2023-03-25)

  • Merge branch 'master' into dev/polygon_ui
  • Merge branch 'master' into gazebo_imu_reserve
  • Merge pull request #106 from YoujianWu/work Delete dependence roslint.
  • Run pre-commit.
  • Delete dependence roslint.
  • Merge branch 'master' into acceleration # Conflicts: # rm_common/include/rm_common/decision/command_sender.h
  • Merge pull request #104 from ye-luo-xi-tui/master 0.1.17
  • Contributors: Kook, ye-luo-xi-tui, yezi, yuchen

0.1.17 (2023-02-21)

  • Merge branch 'rm-controls:master' into master
  • Merge pull request #84 from ye-luo-xi-tui/master 0.1.16
  • Merge branch 'rm-controls:master' into master
  • Contributors: ye-luo-xi-tui, 吕骏骐

0.1.16 (2022-11-24)

  • Merge branch 'master' into new_ui_test
  • Merge branch 'master' into dev/command_sender
  • Merge pull request #79 from ye-luo-xi-tui/rm_imu_handle Add RmImuSensorInterface and add a service to enable or disable imus in rm_gazebo
  • Add RmImuSensorInterface.
  • Merge branch 'rm-controls:master' into master
  • Merge pull request #70 from chenhuiYu00/rm_referee_pr Complete the referee part of manual separation.
  • Merge branch 'rm-controls:master' into master
  • Merge branch 'dev'
  • Merge branch 'rm-controls:master' into master
  • Merge branch 'master' into rm_referee_pr
  • Merge pull request #74 from ye-luo-xi-tui/dev Update 0.1.15
  • Merge pull request #72 from ye-luo-xi-tui/dev Fix realtime loop
  • Type conversion.
  • Merge branch 'master' into rm_referee_pr_buffer # Conflicts: # rm_common/include/rm_common/decision/power_limit.h
  • Merge pull request #69 from Edwinlinks/gpio-name-modify Modify the name of gpio manager which was misnamed before by his developers.
  • Merge pull request #68 from Edwinlinks/modify-tof-can Add continue which was missing in the previous development.
  • Modify the name of gpio manager which was misnamed before.
  • Add continue in tof data parsing.
  • Merge branch 'master' into referee # Conflicts: # rm_common/include/rm_common/decision/service_caller.h # rm_msgs/CMakeLists.txt # rm_msgs/msg/referee/GameRobotStatus.msg # rm_msgs/msg/referee/GameStatus.msg
  • Merge branch 'master' into referee1
  • Merge branch 'master' into referee1
  • Merge branch 'master' into referee1
  • Fixed for test manual,Immature work.
  • Ljq update,fixed for test manual,Immature work.
  • Contributors: Edwinlinks, QiayuanLiao, ye-luo-xi-tui, yezi, yuchen, 吕骏骐

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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 Robotics Stack Exchange