Skip to content

ros2_control motors and imu hardware_interfaces for rosbot and rosbot XL

License

Notifications You must be signed in to change notification settings

MichaelT64/rosbot_hardware_interfaces

 
 

Repository files navigation

rosbot_hardware_interfaces

The package uses ros2_control to communicate with the Rosbot's 2R, Rosbot's 2 PRO and Rosbot's XL hardware. Rosbots contain micro-ros firmware which provides the encoders and the imu measurements and the motors speed commander.

Subscribes

  • /cmd_vel (geometry_msgs/Twist, /rosbot_base_controller)
  • /_motors_response (sensor_msgs/msg/JointState, /rosbot_system_node)
  • /_imu/data_raw (sensor_msgs/msg/Imu, /imu_sensor_node)

Publishes

  • /imu_broadcaster/imu (sensor_msgs/Imu, /imu_broadcaster)
  • /rosbot_base_controller/odom (nav_msgs/Odometry, /rosbot_base_controller)
  • /_motors_cmd (std_msgs/msg/Float32MultiArray, /rosbot_system_node)

Usage

  1. Add this repository to ros2 workspace
cd src/
git clone https://github.com/husarion/rosbot_hardware_interfaces
  1. Add to the Rosbot description following lines:
<xacro:include filename="$(find rosbot_hardware_interfaces)/urdf/ros2_control.urdf.xacro" />
<xacro:ros2_control_system/>
  1. Configure and launch the controller with the example usage.
ros2 launch rosbot_hardware_interfaces example_diff_drive.launch.py

About

ros2_control motors and imu hardware_interfaces for rosbot and rosbot XL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 80.3%
  • Python 13.9%
  • CMake 5.8%