Open holmbuar opened 11 months ago
You don't need to include this package in your system, this package will work with robots that uses topics to control the robot/publish its state, can you add more info about your system/robot?
Tagging @MarqRazz since he worked on something similar in the past!
The only dependency you should need to list is in the package.xml <depend>topic_based_ros2_control</depend>
.
After you get everything included you should see the hardware interfaces being configured when you bring up your robot and topics should be available on the names you specified in the ros2_control.xacro.
Hi, I have a very similar setup.
I was able to launch the controller manager, and I'm using the joint state broadcaster (joint_broad) and the differential drive controller (diff_cont). I can see the topics that I specified for the state and command interface yet when I try echo them I can't seem to get anything.
The above pic shows the rqt_graph for my ROS2 system.
The way I understand it is that the diffDriveController will use the interfaces from the topic_based_ros2_control plugin which would relay the joint control commands onto the /joint_ctrl topic that I specified - yet when I use a teleop_twist_keyboard to send in command velocities onto the /manual_cmd_vel topic, I don't see anything on the /joint_ctrl topic, but I can see those command velocities being relayed to the /diff_cont/cmd_vel_unstamped topic.
Im not sure what I'm missing.
Thanks!
I have made a working hardware component for a diff drive robot, based on the ROS2 control demo. I even set up a communication ROS2 node to my microcontroller inside the HW interface, which I later learned was bad practice.
I was pointed to this package, installed the
apt
version, and now I'm trying to understand how I can use it in my ROS2humble
based project.After adding the plugin to
ros2_control.xacro
,I can build and launch the diffbot, and the topics show up on
ros2 topic list
. However, I'm not quite sure how to start reading and writing joint states, using this package.Including the package in my
diffbot_system.cpp
colcon build
yieldsIn my CMakeLists.txt:
In my package.xml:
Also tried
@JafarAbdi I would greatly appreciate some pointers to correct my path.