You can use ANY hardware with ros2_control
Why Robotics Stack Exchange recommends it
Robotics Stack Exchange users link it when someone needs to write or adapt a ros2_control hardware component for a real diff-drive robot or an Arduino over serial.
Recommended by 3 people across 3 different months, 2023 to 2024.
What it is
A 47-minute walkthrough from Articulated Robotics on writing a custom hardware interface (hardware component) for ros2_control. It recaps the concepts, runs and steps through the official diffbot demo code, then modifies it to talk to real hardware, with a companion GitHub repo for the Humble branch.
What people said
Recommends Christoph Froehlich · 2023-10 · Robotics Stack Exchange · on “Creating a Custom Hardware Interface for a Two-Wheeled Mobile Robot for ros2_control?”
Have a look at the diff_drive example [LINK] , this should answer question 2. About how to write a hardware_component this video [this video] could help you with the first steps, or have a look at this step-by-step guide [LINK] .
Recommends Christoph Froehlich · 2023-10 · Robotics Stack Exchange · on “ros2 humble with arduino uno”
You can use the serial communication without micro-ros, see this video by Articulated Robotics [this video] . This is another example [LINK] how to setup a communication pipeline outside of ROS. For using micro ROS, you maybe only need a topic-based hardware component instead of a custom one, see: Combining topic based ROS2 control, and DiffBot demo [LINK]
Recommends RawStone · 2024-06 · Robotics Stack Exchange · on “Diffbot/robot not responding to teleop_keyboard_twist command in rviz2”
My current setup: Ubuntu 22.0 running ROS Humble Hawksbill. Issue at hand:- I'm using the teleop_twist_keyboard package to control a robot in RViz with my keyboard. Here's the command I'm running: ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r cmd_vel:=/diffbot_base_controller/cmd_vel I noticed that the robot does not respond to the keyboard inputs when I press the letters u , i , o ; j , k , l ; m , < , > . Any help or direction as to whats causing this issue and possible solutions are highly appreciated. (Here is the tutorial I followed: [this video] . You can start watching from 4:10 onwards for relevant info, The issue I ran into is at 6:00). What i have debugged so far Up
Recommends Pratham · 2024-10 · Robotics Stack Exchange · on “The published robot description file (urdf) seems not to be genuine”
I am modifying existing hardware interface ros2_control_diff_drive(example_2) [LINK] for my actual(physical) diff_drive setup. I have been following this [this video] tutorial. In the example_2 files, i have modified only "diffbot_system.cpp" and "diffbot_system.hpp". NOTE THAT I HAVE NOT MODIFIED ANY URDF FILES. I am getting the following error: ros2_control_node-1] [INFO] [1730118567.236983125] [controller_manager]: Received robot description from topic. [ros2_control_node-1] [INFO] [1730118567.238006594] [resource_manager]: Loading hardware 'DiffBot' [ros2_control_node-1] [ERROR] [1730118567.241820288] [controller_manager]: The published robot description file (urdf) seems not to be genuine. T