My friend you have best practical ROS2 videos on the internet no exaggeration. I have been wanting to learn ros2 pratically for the last year and this is just awesome. Really form the bottom of Heart thank you for this series.
i have been learning ROS, 1 year now and you have the best tutorials i found on the whole internet. Very detailed easy to follow and practical!!!KEEP MAKING THOSE VIDEOS!
This is amazing content on ros2_control. When I started learning ros2 and ros2_control there was not much documentation on it and what you described here took me months to figure it out myself. This is a must watch for anyone trying to understand ros2_control. Thank you.
Thanks, I was the same about a year ago and I thought I'd better share what I learnt! The documentation has actually improved a fair bit over that time but is still not very approachable for someone new to ROS, so hopefully I can help :)
I watched the beginning of your video three to four times, looked into the documentary and tried the examples myself. Now after I spent multiple hours on this topic I am starting to understand this. Thank you for your help!
As a beginner who is just learning ros2, i personally find the documentation of ros2_control quite tricky to understand. I have just started watching this video. If you could share any tips/your learning briefly which you used for understanding the concept, it would be really helpful.
This video really clearly explains the problems that motivate ROS which is context that I found sorely missing in other ROS videos or blogs that feel like they assume you're already onboard. Thank you I've been looking for this for days and UA-cam finally gave it to me randomly.
What an excellent explanation! I went to a full day ros2_control workshop at ROSCon, and learned more from this half hour video. Looking forward to the next one!
I have tried other tutorials on ros2 without any success but this here is amazing. Hope you do more videos and maybe for manipulation in the future also. Keep the amazing work!
Hey Josh, your videos are the best way to get into ros2 and of course to understand the complexity of ros2_control. Your work will be the base for my new build-up robot. But I've to implement a new motor driver code. Hopefully I'll get it running this weekend. I'm looking forward for new great tutorials. Keep going! Best regards Thomas from Northern Germany
Thanks Josh. Just to let you know, the "ros2 run controller_manager spawner.py ..." gave me an error (now executable found). I had to use "ros2 run controller_manager spawner ..." without the .py extension, and it worked. Edit: just realised this is mentioned in the ready to humble video. Watch that first.
Thank you for sharing this. I encountered the same error and tried million different things to fix it only to realise, "Someone must have faced the same error, let me check out the comment section".
I learned ros2_control a few months back with only their documentation and I wish I had this video; the documentation is not the best. If you haven't yet, I strongly recommend submitting a PR to include this video in the documentation of ros2_control. Great job!
Following your tutorials as a refresher for ROS dev. Really good work on explaining ros2_control in the context. Well done, practical, and to the point, keep at it, please. I think there is a future in abstracting hardware interface with ros2_control but it still needs tidying and a way to expand functionalities beyond simple state and cmd, to include parameter configurations, tuning, calibration actions, etc (in a universal rviz plugin gui? would be superb - imagine handling odrive, teknic or other integrated drives that way)
I wanted to add this side note here, since it was my own question as well. In the ros2_control.xacro file: # diff_cont is the name assigned to a controller instance (chosen by us) # diff_drive_controller is the package that contains the controller plugin # DiffDriveController is the specific controller class within that package
Hey Josh, great video! At 14:26 you mentioned that Joint State Broadcaster is not really important in the long run. I am trying to understand how rsp could work without this? Can you give a small explanation regarding that? Thanks!
Thank you very much. Nothing compared to your instructions in these video series when I was trying to build a custom robot simulation. Please keep publishing ROS2 content.
@@chibuezeorji8288 i tried tweaking some parameters, it shows perfectly in rviz2, but in gazebo, i will work only if friction and angular speeds are set correctly
Really helpful set of videos. I'm struggling to find a controller for a 3-omniwheeled mobile base, I fear I will have to write it on my own. Only I found for a 4-omniwheeled robot or a tricycle base. Do you know if there's something out there for the 3-wheel holonomic base already developed?
Hello. First of all, thanks a lot for these tutorials. However, my controller_manager is not available and I’m getting a parsing error with my_controllers.yaml. I’ve checked the files multiple times and they’re identical, but for some reason it doesn’t work for me.
I am on ros2 humble and my plugin ign_ros2_control can't be found altho it exists and that is making my controller_manager not available. Been searching how to solve it and basically no resources out there about it.
Thanks a lot for the tutorial. I am using ros-humble and everything worked fine so far up to the point where we substitute the ros2_control for Gazebo control. the robot moves only forward and backwards. It doesn't respond to the angular_velocity command. I have also noticed the ros2_control publishes the /odom as /diff_cont/odom.
@@vollaro3 Not really. However, further into the investigation i have noticed the odom TF has the below error when i run Rviz2. Error: TF NAN_INPUT: Ignoring transform for child_frame_id “base_link” from authority “Authority undetectable” because of a nan value in the transform (-nan -nan 0.000000) (-nan -nan -nan -nan) at line 278 in /tmp/binarydeb/ros-foxy-tf2-0.13.14/src/buffer_core.cpp Error: TF DENORMALIZED_QUATERNION: Ignoring transform for child_frame_id “base_link” from authority “Authority undetectable” because of an invalid quaternion in the transform (-nan -nan -nan -nan)
@@vollaro3 I had a spelling mistake in the my_controllers.yaml file for the "wheel_separator". Corrected it and now the ros2_control works. Such a foolish error.
Thank you! I had actually meant to add a Robostack/conda tutorial to my to-do/ideas list, so I'll do that right now! Unfortunately the list is VERY long, so don't expect it any time soon...too many great things to learn in robotics!
Hahaha yes it was pretty awful in summer, I couldn't work in there for more than about 20 minutes at a time! We have since moved and the new space is much better (the opposite problem actually - excessively damp basement area)
is there a way I can contact you? I am struggling with control in zerogravity environment but in gazebo ignition. I would very much like help from you.
Ooh good question, I've never tried and unfortunately am not exactly sure how to do that. If I had to guess, I think if you just put the namespace everywhere (C++, XML, CMakeLists, YAML, etc) it might work?
@@ArticulatedRobotics Thanks! I tried putting namespace when setting up ros2_control and gazebo plugin but the yaml file would parse incorrectly if I tried to add namespace in it, so I am not sure how it should be done and I didn't quite find documentation on that either 😮💨
Hello, This is a great series to follow to learn more about ROS, but I have a problem. I can't seem to get the /odom option on the fixed frames of RVIZ. I have checked the echo and there is none, but /odom is visible on the topic list. Do you have any advice?
As i understood it correctly, ros2_control relies on the motors having their own controllers - they manage them via the ros2_controller manager. But however, how would you write an own PID controller for a specific robot and then connect it to the controller manager? Thanks for the great video! =)
Thanks for this great work , just an issue , when I tried to use the command " ros2 control list_controllers_interfaces" I got this error : " rosidl_generator_py.import_type_support_impl.UnsupportedTypeSupport: Could not import 'rosidl_typesupport_c' for package 'controller_manager_msgs' " , any idea for solv this issue ?
I followed everything in the video, but when I try to run the controller diff_cont, I get the error 'Failed loading controller diff_cont'. But the 'joint_broad' controller loads properly. Any clue why this is happening?
Rviz is not in sync with Gazebo. When the robot collide with an object, the robot stops in Gazebo but keeps moving in rviz. I tried lazer scan in rviz to find out if there is really any map being recognized by rviz and yes it is showing red dots representing the cones. When i run over them, the red dots shifts (keeps moving ) in the direction of motion of the bot. Any Solutions?
After following the complete tutorial am getting this error [ERROR] [1665975816.083180080] [spawner_diff_cont]: Controller manager not available Please if you can guide through.
@@justal787 I created a new workspace and build a new package inside it. Then I copy pasted the old files in the new package and changed them to run with the new package name
Hi Josh, I'm following your partical ros2 tutorial, and I'm struck near the list_hardware _Interface. When I'm trying to run it. I'm getting a msg in the terminal that "Could not contact service /controller manager/list_ hardware_ Interfaces. " I'm using ROS2 humble, and I have installed all ros2_control packages for binary and gazebo packages. Can you please help to fix my problem? Thanks Adithya
(Just in case you are still having this problem:) I also had this issue, my mistake was that i placed ... inside the ... . I placed it like shown in he video and that solved it.
I find this happens sometimes, and just requires me to rerun everything. One other thing to do is to run rqt_tf_tools (you may need to install it) and confirm the odom TF frame is being broadcast.
Hello I have a problem with Controller Manager, when I launch my launch file I have the error : "waiting for the controller manager service be available" Do you know how to solve this?
@@avaneeshchitta794 Hello, I tried different things, but I still had the error with the "controller_manager". My solution was to create a python code for communication with Arduino using the "serial" library, another for the publication of odometry and another for the publication of the td. The only thing I had to use was a Nano to control the motors and a Mega for reading encoders. Investigating they said that the raspberry was very slow for Ros2 and the best thing was to run a "Basic Ros" on the raspberry and the "Complete Ros (Rviz, etc)" on another PC with more resources
You should absolutely continue! I started picking up some programming and robotics in mid-2021 and gave up and restarted several times. I’m now over six months into my first software engineering job and it’s a blast! This stuff is very challenging but very rewarding. You’ve got this, keep at it!
I'm sorry to hear that. As Andrew said, it can sometimes be a very steep learning curve with challenges along the way. I try to make the path a bit easier but it is still tricky! Where did you run into problems? Is your Arduino working but you can't talk to it with ROS?
@@ArticulatedRobotics After following the complete tutorial am getting this error [ERROR] [1665975816.083180080] [spawner_diff_cont]: Controller manager not available Please if you can guide through.
I found ROS to be absolutely unnecessary bloat piece of code and rabbit hole that serves no purpose but wasting your time trying to figure out how to deal with the 100 thousand different flavors and the very unintuitive, UX / developer unfriendly concepts and technical jargon that is extra complicated for really no reason what so ever. I ended up ditching everything and relying only on python and Isaac Sim (which is amazing if you ditch the ROS part of it). For robot control I use Dynamixel SDK to directly read / write motor position directly from python without any middleware overhead. Similar story for sensors.
Hello everyone. I have been following this, but when I shifted to ros2 control, the robot is driving in the opposite direction, but when I was working with Gazebo diff_drive, it was running perfectly fine. Can anyone please guide me? I have been struggling with this for 2 days now. Thank you
Hi! I have a question, is there any way i could rename de diff_cont's namespace from cmd_vel_unstamped topic??...i am trying this because i want to work with multiples robots connected to the same network, thanks!
raise XacroException("substitution args not supported: ", exc=e) xacro.XacroException: substitution args not supported: No module named 'roslaunch' I'm getting this error while running the sim launch file
please make a tutorial on 5 dof robotic arm gazebo simulation controlled by 5 potentiometers and the potentiometers data is published through esp32 microconroller and then the phusiacal robot mimics the simulation robot or the simulation robot mimics the actual robot both are acceptable but please make a tutorial as soon as possible i really need it
I was getting this error: "Could not contact service /controller_manager/list_hardware_interfaces" (when running "ros2 control list_hardware_interfaces") and "waiting for the controller manager service be available" in the gazebo output the problem was for me that I accidentaly put the gazebo tags in ros2_control.xacro inside the ros2_control tags took me quite some time to find this mistake, hopefully this helps someone who happens to be in the same situation
Thanks a lot for these tutorials. I have a question. Ive been running into issues when running the launch_sim file with ros2 humble. I dont know why but the gzserver dies when launching with ros2_control. The exact ERROR msg is the following: [ERROR] [gzserver-1]: process has died [pid 261816, exit code -11, cmd 'gzserver -slibgazebo_ros_init.so -slibgazebo_ros_factory.so -slibgazebo_ros_force_system.so']. I dont find any forum containing this problem.
I have a problem, ERROR] [spawn_entity.py-4]: process has died [pid 10845, exit code 1, cmd '/opt/ros/foxy/lib/gazebo_ros/spawn_entity.py -topic robot_description -entity my_bot --ros-args']. how to solve this problem?
My friend you have best practical ROS2 videos on the internet no exaggeration. I have been wanting to learn ros2 pratically for the last year and this is just awesome. Really form the bottom of Heart thank you for this series.
Thank you, I really appreciate your kind words!
@@ArticulatedRoboticsworth more subscribers, much more
i have been learning ROS, 1 year now and you have the best tutorials i found on the whole internet. Very detailed easy to follow and practical!!!KEEP MAKING THOSE VIDEOS!
This is amazing content on ros2_control. When I started learning ros2 and ros2_control there was not much documentation on it and what you described here took me months to figure it out myself. This is a must watch for anyone trying to understand ros2_control. Thank you.
Thanks, I was the same about a year ago and I thought I'd better share what I learnt! The documentation has actually improved a fair bit over that time but is still not very approachable for someone new to ROS, so hopefully I can help :)
I watched the beginning of your video three to four times, looked into the documentary and tried the examples myself. Now after I spent multiple hours on this topic I am starting to understand this. Thank you for your help!
As a beginner who is just learning ros2, i personally find the documentation of ros2_control quite tricky to understand. I have just started watching this video. If you could share any tips/your learning briefly which you used for understanding the concept, it would be really helpful.
This video really clearly explains the problems that motivate ROS which is context that I found sorely missing in other ROS videos or blogs that feel like they assume you're already onboard. Thank you I've been looking for this for days and UA-cam finally gave it to me randomly.
What an excellent explanation! I went to a full day ros2_control workshop at ROSCon, and learned more from this half hour video. Looking forward to the next one!
Thanks!
I have tried other tutorials on ros2 without any success but this here is amazing. Hope you do more videos and maybe for manipulation in the future also. Keep the amazing work!
Thanks - I do plan on doing some manipulation at some point but no promises as to when.
Hey Josh,
your videos are the best way to get into ros2 and of course to understand the complexity of ros2_control. Your work will be the base for my new build-up robot. But I've to implement a new motor driver code. Hopefully I'll get it running this weekend.
I'm looking forward for new great tutorials. Keep going!
Best regards Thomas from Northern Germany
Thanks!
tysm, Everybody makes a video on gazebo,topics,nodes,etc but nobody actually covers hardware_interface. It is really important for a real robot
Thanks Josh. Just to let you know, the "ros2 run controller_manager spawner.py ..." gave me an error (now executable found). I had to use "ros2 run controller_manager spawner ..." without the .py extension, and it worked.
Edit: just realised this is mentioned in the ready to humble video. Watch that first.
Thanks for sharing this
Thank you for sharing this. I encountered the same error and tried million different things to fix it only to realise, "Someone must have faced the same error, let me check out the comment section".
thabks
this really helped me too, thanks
tks
Another wonderful video, I have been looking forqrd to this one!
I learned ros2_control a few months back with only their documentation and I wish I had this video; the documentation is not the best. If you haven't yet, I strongly recommend submitting a PR to include this video in the documentation of ros2_control. Great job!
Definitely a great introduction to ROS2_control ! Thanks !
Following your tutorials as a refresher for ROS dev. Really good work on explaining ros2_control in the context. Well done, practical, and to the point, keep at it, please.
I think there is a future in abstracting hardware interface with ros2_control but it still needs tidying and a way to expand functionalities beyond simple state and cmd, to include parameter configurations, tuning, calibration actions, etc (in a universal rviz plugin gui? would be superb - imagine handling odrive, teknic or other integrated drives that way)
I wanted to add this side note here, since it was my own question as well.
In the ros2_control.xacro file:
# diff_cont is the name assigned to a controller instance (chosen by us)
# diff_drive_controller is the package that contains the controller plugin
# DiffDriveController is the specific controller class within that package
Thats so clear and saved me after a long time of trying to get my controllers to work
Did you face some error in this?
Wow this is actually an incredible video!! So well explained
Very good video, thanks. I also really like the visual materials in your videos.
Thank you so much for this incredible series
Awesome video! your videos have helped me a lot, thanks!
Thanks!
Thank you so much for your efforts 🙏
Yes! Been waiting for this!
Haha yeah these last few have taken a while! (Which is also why I took a while to reply to this...)
Thank you so much for the video, really great explanation :)
Hey Josh, great video! At 14:26 you mentioned that Joint State Broadcaster is not really important in the long run. I am trying to understand how rsp could work without this? Can you give a small explanation regarding that? Thanks!
your videos are great and informative. please make videos on imu and sensor fusion with ros2
Thank you very much. Nothing compared to your instructions in these video series when I was trying to build a custom robot simulation. Please keep publishing ROS2 content.
I get the error "No module names 'roslaunch'" when I run the command at 17:36 ? Anyone have any ideas why?
I also got the same error,did u solved it
I have the same error. Did you find the solution?
were you able to fix this issue? I am having the same problem.
@@jordyneefs3693
Thank you so mush, bro
any ideas how to change parameters for 4 wheel diff drive
?
Any luck?
@@chibuezeorji8288 i tried tweaking some parameters, it shows perfectly in rviz2, but in gazebo, i will work only if friction and angular speeds are set correctly
Great video. I have a wonder that how can you autoclosing the tags?
Finally! thanks a lot
Thanks!
Really helpful set of videos. I'm struggling to find a controller for a 3-omniwheeled mobile base, I fear I will have to write it on my own. Only I found for a 4-omniwheeled robot or a tricycle base. Do you know if there's something out there for the 3-wheel holonomic base already developed?
Hello. First of all, thanks a lot for these tutorials. However, my controller_manager is not available and I’m getting a parsing error with my_controllers.yaml. I’ve checked the files multiple times and they’re identical, but for some reason it doesn’t work for me.
I am on ros2 humble and my plugin ign_ros2_control can't be found altho it exists and that is making my controller_manager not available. Been searching how to solve it and basically no resources out there about it.
I was waiting for this movie
Thanks! :D (sorry my reply is a bit late)
Thanks alot for this informative tutorial,
I was wonder if there any similarity between ros2_control and micro ros for microcontrollers
this is perfect tbh
Thanks a lot for the tutorial.
I am using ros-humble and everything worked fine so far up to the point where we substitute the ros2_control for Gazebo control. the robot moves only forward and backwards. It doesn't respond to the angular_velocity command.
I have also noticed the ros2_control publishes the /odom as /diff_cont/odom.
I have the same problem. On humble, when changing to ros2_control robot only moves forward or backwards. Any solution??
@@alvarobarrientos3054 I don't seem to be able to make it work at all instead... did you find something out?
@@vollaro3 Not really. However, further into the investigation i have noticed the odom TF has the below error when i run Rviz2.
Error: TF NAN_INPUT: Ignoring transform for child_frame_id “base_link” from authority “Authority undetectable” because of a nan value in the transform (-nan -nan 0.000000) (-nan -nan -nan -nan)
at line 278 in /tmp/binarydeb/ros-foxy-tf2-0.13.14/src/buffer_core.cpp
Error: TF DENORMALIZED_QUATERNION: Ignoring transform for child_frame_id “base_link” from authority “Authority undetectable” because of an invalid quaternion in the transform (-nan -nan -nan -nan)
@@vollaro3 I had a spelling mistake in the my_controllers.yaml file for the "wheel_separator". Corrected it and now the ros2_control works. Such a foolish error.
Can you use it on Ros Iron Irwing?
I loved your video, will you make a video on how to use robostack project for installing ros via conda & mamba cli
Thank you! I had actually meant to add a Robostack/conda tutorial to my to-do/ideas list, so I'll do that right now!
Unfortunately the list is VERY long, so don't expect it any time soon...too many great things to learn in robotics!
I just found you and been binge watching, so maybe this is mentioned somewhere - how are you in your metal shed and not have it be 1,000 degrees? 😁
Hahaha yes it was pretty awful in summer, I couldn't work in there for more than about 20 minutes at a time!
We have since moved and the new space is much better (the opposite problem actually - excessively damp basement area)
Is it possible to do this with a four wheeled robot?
Could you tell me if ros2 control is faster than just communicating via ros2 topics? doesn't ros2 control use topics?
is there a way I can contact you? I am struggling with control in zerogravity environment but in gazebo ignition. I would very much like help from you.
Greatly!
Hi Josh, great video as always! I am trying to set up diff drive pluggin under a namespace. How should I configure the yaml file in that case? Thanks!
Ooh good question, I've never tried and unfortunately am not exactly sure how to do that. If I had to guess, I think if you just put the namespace everywhere (C++, XML, CMakeLists, YAML, etc) it might work?
@@ArticulatedRobotics Thanks! I tried putting namespace when setting up ros2_control and gazebo plugin but the yaml file would parse incorrectly if I tried to add namespace in it, so I am not sure how it should be done and I didn't quite find documentation on that either 😮💨
Hello, This is a great series to follow to learn more about ROS, but I have a problem. I can't seem to get the /odom option on the fixed frames of RVIZ. I have checked the echo and there is none, but /odom is visible on the topic list. Do you have any advice?
try rebuilding your workspace and relaunching the package
As i understood it correctly, ros2_control relies on the motors having their own controllers - they manage them via the ros2_controller manager. But however, how would you write an own PID controller for a specific robot and then connect it to the controller manager?
Thanks for the great video! =)
Refering to the part where it was mentioned how the ''hardware interface" is already given, or else it should be written independently
Thanks for this great work , just an issue , when I tried to use the command " ros2 control list_controllers_interfaces"
I got this error :
" rosidl_generator_py.import_type_support_impl.UnsupportedTypeSupport: Could not import 'rosidl_typesupport_c' for package 'controller_manager_msgs' " ,
any idea for solv this issue ?
are there any sources to learn how to do those things with ROS instead of ros2?
I'm using ROS noetic btw
I get an error like "Controller manager not available"
Same issue.
I followed everything in the video, but when I try to run the controller diff_cont, I get the error 'Failed loading controller diff_cont'. But the 'joint_broad' controller loads properly. Any clue why this is happening?
Same issue, did you found any solution?
How can I use controller manage for multiple bots with the same settings? Thanks!
Rviz is not in sync with Gazebo.
When the robot collide with an object, the robot stops in Gazebo but keeps moving in rviz. I tried lazer scan in rviz to find out if there is really any map being recognized by rviz and yes it is showing red dots representing the cones. When i run over them, the red dots shifts (keeps moving ) in the direction of motion of the bot.
Any Solutions?
After following the complete tutorial am getting this error
[ERROR] [1665975816.083180080] [spawner_diff_cont]: Controller manager not available
Please if you can guide through.
same issue
I had the same problem. Try creating a new workspace & package and copy paste everything in there. No idea why, but it worked for me :)
@@k_ros849 wdym new package?
Managed to fix it by just rebooting everything, and running source and then colcon, rather than the other way around. But that might not be relevant.
@@justal787 I created a new workspace and build a new package inside it. Then I copy pasted the old files in the new package and changed them to run with the new package name
please show me how to use ros_control with ackermann robot
Hi Josh,
I'm following your partical ros2 tutorial, and I'm struck near the list_hardware _Interface. When I'm trying to run it. I'm getting a msg in the terminal that "Could not contact service /controller manager/list_ hardware_ Interfaces. " I'm using ROS2 humble, and I have installed all ros2_control packages for binary and gazebo packages. Can you please help to fix my problem?
Thanks
Adithya
Hi Adithya,
I have also faced the same problem. Have you found any solution now?
(Just in case you are still having this problem:) I also had this issue, my mistake was that i placed ... inside the ... . I placed it like shown in he video and that solved it.
when i try to execute ros2 control list_hardware_interfaces I get "could not contact service /controller_manager_list_hardware_interfaces"
Check launch file output in terminal. It might be the case, that it is unable to parse YAML file. Change permissions to the file. And, try again.
I get an error in Rviz2 where Odom doesn't show up?
Fixed it by just rebooting everything
I am not able to see odom as a fixed frame, what to do?
I find this happens sometimes, and just requires me to rerun everything. One other thing to do is to run rqt_tf_tools (you may need to install it) and confirm the odom TF frame is being broadcast.
Can i using only raspberry pi for control all hardware component without Arduino ?
Hello I have a problem with Controller Manager, when I launch my launch file I have the error : "waiting for the controller manager service be available" Do you know how to solve this?
Hey man! Did you find a solution for this?
I need some help with the same
@@avaneeshchitta794 Hello, I tried different things, but I still had the error with the "controller_manager". My solution was to create a python code for communication with Arduino using the "serial" library, another for the publication of odometry and another for the publication of the td. The only thing I had to use was a Nano to control the motors and a Mega for reading encoders. Investigating they said that the raspberry was very slow for Ros2 and the best thing was to run a "Basic Ros" on the raspberry and the "Complete Ros (Rviz, etc)" on another PC with more resources
has anyone been able to figure this out I am also having this issue@@avaneeshchitta794
@@avaneeshchitta794 i had the same, problem was that I put the tags in ros2_control.xacro inside the tags
I also have this problem, maybe it’s fue to a recent update. I have my tags correctly placed, though. Has anyone been able to figure it out?
I had to abandon ROS and robotics because I couldn't control my robot on Arduino. I don't know if I should continue because it's very complex.
You should absolutely continue! I started picking up some programming and robotics in mid-2021 and gave up and restarted several times. I’m now over six months into my first software engineering job and it’s a blast! This stuff is very challenging but very rewarding. You’ve got this, keep at it!
Hi @Andrew Bennet
Do you do robotics at your job?
I'm sorry to hear that. As Andrew said, it can sometimes be a very steep learning curve with challenges along the way. I try to make the path a bit easier but it is still tricky!
Where did you run into problems? Is your Arduino working but you can't talk to it with ROS?
@@ArticulatedRobotics After following the complete tutorial am getting this error
[ERROR] [1665975816.083180080] [spawner_diff_cont]: Controller manager not available
Please if you can guide through.
I found ROS to be absolutely unnecessary bloat piece of code and rabbit hole that serves no purpose but wasting your time trying to figure out how to deal with the 100 thousand different flavors and the very unintuitive, UX / developer unfriendly concepts and technical jargon that is extra complicated for really no reason what so ever.
I ended up ditching everything and relying only on python and Isaac Sim (which is amazing if you ditch the ROS part of it).
For robot control I use Dynamixel SDK to directly read / write motor position directly from python without any middleware overhead.
Similar story for sensors.
Jesus K Kryst, robotics ain't simple!
ackermann_drive_spawner = Node(
package="controller_manager",
executable="ackermann_steering_controller",
arguments=["ackermann_steer"],
)
return LaunchDescription([
rsp,
gazebo,
spawn_entity,
ackermann_drive_spawner
])
it doesn't work and crashes
Hello everyone. I have been following this, but when I shifted to ros2 control, the robot is driving in the opposite direction, but when I was working with Gazebo diff_drive, it was running perfectly fine. Can anyone please guide me? I have been struggling with this for 2 days now.
Thank you
I still dont see what does this have to do with hardware
Hi! I have a question, is there any way i could rename de diff_cont's namespace from cmd_vel_unstamped topic??...i am trying this because i want to work with multiples robots connected to the same network, thanks!
raise XacroException("substitution args not supported: ", exc=e)
xacro.XacroException: substitution args not supported: No module named 'roslaunch'
I'm getting this error while running the sim launch file
I have the same error. Did you find the solution?
I am getting this error too
Imagine the people that mix YAML, Python and HTML for configuration
please make a tutorial on 5 dof robotic arm gazebo simulation controlled by 5 potentiometers and the potentiometers data is published through esp32 microconroller and then the phusiacal robot mimics the simulation robot or the simulation robot mimics the actual robot both are acceptable but please make a tutorial as soon as possible i really need it
I was getting this error: "Could not contact service /controller_manager/list_hardware_interfaces" (when running "ros2 control list_hardware_interfaces")
and "waiting for the controller manager service be available" in the gazebo output
the problem was for me that I accidentaly put the gazebo tags in ros2_control.xacro inside the ros2_control tags
took me quite some time to find this mistake, hopefully this helps someone who happens to be in the same situation
Thanks a lot for these tutorials. I have a question. Ive been running into issues when running the launch_sim file with ros2 humble. I dont know why but the gzserver dies when launching with ros2_control. The exact ERROR msg is the following: [ERROR] [gzserver-1]: process has died [pid 261816, exit code -11, cmd 'gzserver -slibgazebo_ros_init.so -slibgazebo_ros_factory.so -slibgazebo_ros_force_system.so']. I dont find any forum containing this problem.
did you find a solution to this issue?
I have a problem, ERROR] [spawn_entity.py-4]: process has died [pid 10845, exit code 1, cmd '/opt/ros/foxy/lib/gazebo_ros/spawn_entity.py -topic robot_description -entity my_bot --ros-args'].
how to solve this problem?