Skip to content

ROS2 driver for Roboteq HDC2460 motor driver - Includes diff drive motor commands from /cmd_vel and odometry publishing from encoder streams. Compatible with Foxy and Humble.

License

Notifications You must be signed in to change notification settings

CJdev99/roboteq_ros2_driver

Repository files navigation

roboteq_ros2_driver

ROS2 driver for the Roboteq SDC21xx, HDC24xx family of motor controllers in a differential-drive configuration. Initially developed for SDC21xx and HDC24xx, but could work with other roboteq dual-channel motor drivers.

Subscribes to cmd_vel, publishes to odom

Does not require any MicroBasic script to operate.

Usage

Clone to src directory of ros2 workspace, then colcon build

Requires serial package, which is not available as deb in ROS2. If not already installed, install ros2 branch of serial:

Get the code:

git clone -b ros2 https://github.com/SunnyApp-Robotics/serial.git

Build:

make

Install:

make install

Sample launch files in roboteq_ros2_driver/launch, or run ros2 run roboteq_ros2_driver roboteq_ros2_driver

Motor Power Connections

This driver assumes right motor is connected to channel 1 (M1) of motor controller, and left motor is connected to channel 2 (M2). It also assumes a positive speed command will result in forward motion of each motor. Best to test motor directions using the roboteq utility software.

TODO

  • Initial ROS2 release with motor commands and odometry stream
  • Implement transform broadcasting with tf2
  • Add roboteq/voltage, roboteq/current, roboteq/energy, and roboteq/temperature publishers
  • Make topic names and frames configuration parameters configurable at runtime.
  • Make robot configuration parameters configurable at runtime.
  • Make motor controller device configuration parameters configurable at runtime.
  • Make miscellaneous motor controller configuration parameters configurable at runtime.
  • Implement dynamically enabled self-test mode to verify correct motor power and encoder connections and configuration.

Note: I do not have access to Roboteq hardware anymore - feel free to contribute!

original work for ROS1

Authors

About

ROS2 driver for Roboteq HDC2460 motor driver - Includes diff drive motor commands from /cmd_vel and odometry publishing from encoder streams. Compatible with Foxy and Humble.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published