One of the best series I ever spent time on on the internet; not just on UA-cam. Dont really have the right word to appreciate the effort you've put into this. ...Thank you.
I really appreciate you because of such amazing straight forward tutorials. I hope to see some more videos using Cobots like UR5 and adding extra sensors and a camera
That is amazing! I really appreciated how did you explain it, so I subscribed right now. Please bring more ROS content like that. About how to simulate a robot in the virtual world before starting to make it. Thanks‼
For a moment I wonder whether two weeks has passed. What a pleasant surprise. Thank you very much for going in detail explaining the whole process. When you cover adding sensors to Gazebo, can you include a short description on how to take any sensor module software available and integrate with Gazebo and interact with it, please?
Haha I'm glad to surprise you - don't expect them all to be so fast though! Re the sensors, I'll do what I can but this series will be mostly focusing on what is needed to achieve this particular project, with some extra notes on small things that can be customised or done alternatively. If there are things you feel are missing at the end of it all, let me know and maybe they could be the subject of future videos! :D
Thanks for this video. I would love to see more videos on how ros2 work with the real robot in future video. Thanks so much for this. All information need were explained in this video. Thanks
Thanks! Yep we will definitely be getting into the real robot in the coming videos. The next couple of videos will be about getting the electronics set up, and after that we will get into motors, lidar, and camera.
Hello, I really appreciate the way you presented your video, the concept was absolutely clear. I am actually referring your video for my university project, I followed each and every step carefully. I have an issue with my rviz2 i.e. the /odom topic won't publish at all at the global fixed frame topic. Using the command "ros2 topic list" , the terminal states that /odom is publishing but in the rviz2, It isn't publishing at all. Can you kindly help me with this? Thanks!
How about an update for Ignition Gazebo Fortress. The commands for Gazebo Classic don't work and I've not been able to find working alternatives (including ChatGPT-4). Thanks! Great tutorial!
amazing lectures, started from first and was going well but i have one issue in fixed frame i don't get odom , i am only getting base, caster_wheel, chassis earlier also i had the same issue, but whenever i added the GUI for joint GUI of wheels, all the frames appear, since now i don' have GUI enabled for this i don't have a way to get frames also there is an error on rviz cmd terminal left_wheel passed to cantransform source frame does not exist
Anylne could help me. I've been stuck in this portion of the series for a while. When I run the robo5 in Gazebo, it starts oscillating in, what it looks like the z axis of the caster wheel. I have checked the code multiple times and change parameters for the torque and speed and it is still doing that. Besides that the series is being amazing so far. Thanks for all your work!!
Gazebo Harmonic is recommended for Ubuntu 24.04/Jazzy....which is where I'm at, too....stuck EDIT: Yah. Launch command is gz sim -v 4 after installing Gazebo Harmonic on Jazzy
Hello! I am not getting odom as a drop down menu option for fixed frame in Rviz. The terminal running launch shows - .........Publishing odom transforms between [odom] and [base_link] , also - .........[diff_drive]: Publishing wheel transforms between [base_link], [left_wheel_joint] and [right_wheel_joint]. Please help me :( Your tutorials are excellent!!!
I love your videos and watched a bunch of them. I use Mac m1 but Gazebo doesn't support newer macOS versions; plus using Docker on Mac has a very weird network setting which I don't want to spend too much time grunting. Which Ubuntu/Linux machine would you recommend buying as a new dev machine, which has enough RAM to do complex renderings?
Has anyone solved the problem of the odom frame not existing in rviz? In addition to that i don't have transforms from wheels to my base_footprint (in his example i think this would be base_link)
I've got answers (sort of). For my issue with transforms, I restructured my urdf to match the example with the same names and that seemed to do the trick (i must have at it set up incorrectly). As for why these transforms now show up correctly without also running join_state_publisher, i do not know. For the issue with the odom frame, we need to add two extra lines to the plugin in the gazebo_control.xacro. Those are: /cmd_vel /odom. After this addition, you should see the odom frame. Hope this helps somebody!
I was trying to record ground truth poses of robot in gazebo environment for my work. But in gazebo we cannot have ground truth we can ONLY get odom poses (which has drift). Is this correct?
I've got no issue running the diff drive in gazebo, but does anyone have advice for a four wheel vehicle? I've been trying to use the skid drive plugin but can't seem to get that to work
Where can I find good documentation about plugins because I’m trying with Ackermann robot but all the wheels go to 0 0 0 when the plugin in gazebo starts
Hi Simon, thanks so much! I do have plans to start a Patreon and possibly a linked Discord (I was thinking about doing it once I got to 1k subs as a personal milestone of "hey, some people actually like this stuff") but nothing is up at the moment. There is also a Facebook and Twitter page, but at the moment I'm just sharing each video there when I post it, nothing too interesting :) Thanks for your interest though, keep your eyes peeled for more content!
@@ArticulatedRobotics That sounds good. A Discord would be great I would love to join. We are building a quadruped for our master thesis, and are building a simple Gazebo simulation to test our dynamics, your videos have been very helpful. I'll be sure to follow along for any future updates. :)
Hello, I really liked your project. Can a project be made to steer towards a color detected through the camera on a car using the foundations of ROS 2 Foxy that you use?
Hi. You've probably heard about the problem with missing odom in Rviz2. In my case it also appeared, but only after the second time I ran the program, the first time it worked properly. I've tried resetting Rviz, I even changed distro to 22.04/Humble and all the time is the same - no odom. Do you have any solution to this?
I've been following along and everything is working. However, I am running into an issue at 17:50 when you set the fixed frame to odom. The only options popping up for me are "base_link", "caster_wheel", and "chassis". Any help?
Hey guys, glad you got that sorted. Yeah I've found that RViz is sometimes a bit strange with that kind of thing. As long as the code broadcasting the odom-base_link transform is running (in this case the differential drive plugin), RViz SHOULD show it in the list. If it doesn't you can try: - Clicking reset in the bottom left hand corner - Just typing it in manually But sometimes it just gets a bit confused. It can also be helpful in these situations to run rqt_tf_tree to verify that the transforms are actually being published (you may need to install that).
I have no trouble running Gazebo and the state publisher on their own, but using the launch file never works (RuntimeError Signal event received before subprocess transport available). I've tried everything to fix, including wiping out my workspace and starting over. I've also upgraded, still no go. Anyone have any idea what this issue is? There doesn't seem to be any online fixes that I've found.
Thanks! And yep, this video is part of a larger playlist ua-cam.com/play/PLunhqkrRNRhYAffV8JDiFOatQXuU-NnxT.html The project isn't finished yet so you'll have to wait a little while for each one to get released, but eventually it will be navigating autonomously, in simuation and on a real robot.
thank you for such video it's really help full.But i got only one problem i hope that you can help me to solve it the problem is when i launch the rviz2 i don't get the "tool bar " "file panels help" and i save the first configuration i made and it's the one that appears every time i want to launch the rviz
Thanks for watching! To fix the default configuration being saved (which is easy to accidentally do) you can type "rm ~/.rviz2/default.rviz" into a terminal, this deletes the file inside the hidden rviz2 directory in your home directory. As for the tool bar missing, I've had this before but I forget how I fixed it! Some things to check: - Are you running rviz2? Is ROS sourced correctly? - In the "Panels" menu, can you enable tool bar etc or are the options just not there? - Make sure rviz is fully installed (sudo apt install ros-foxy-rviz-common I think) I hope that helps!
Great vid again! I was able to control the robot using the teleop line but when I tried running rviz2, I couldn't see the odom as a fixed frame option. do you have any suggestions?
Thanks! If the Gazebo plugin is running correctly it should be an option. A few things to check: - Rviz sometimes just glitches up and doen't show it so you can try just typing it in - Install and run rqt_tf_tree to check which transforms are being broadcast - Check the output of the Gazebo window for anythin that looks like a plugin failing to start/run
@@ArticulatedRobotics . Thanks for the response. So i tried the rqt_tf_tree but it only shows the base_link, chassis, and caster_wheel. I also swapped out my launch files and robot description files for yours but nothing changed. The only way I can even see the wheel frames on rviz is if I use the joint_state_publisher_gui which I think is wrong for this stage Also, when I run the launch file, i get the info line that says publishing transforms for odom and the wheels so it seems like it's getting published but its not being received
Hey! Camera tutorial is coming soon - I've been away the last few weeks and haven't been able to record it. Was hoping for this week but it may be next. The likely problem is that you need to have two links for your camera - camera_link and camera_link_optical. These should be at the same location but with different orientations, the first uses the ROS/Gazebo X-forward convention and the second uses the computer vision Z-forward convention. Example github.com/ros-simulation/gazebo_ros_demos/blob/foxy/rrbot_description/urdf/rrbot.xacro#L162-L197 Then, you should have a tag associated with camera_link that has a camera tag inside it. Inside that will be your tag for it to talk to ROS, and inside THAT should be camera_link_optical so that the correct frame is reported for RViz etc. Hope that helps. Another reference: answers.ros.org/question/232534/gazebo-camera-frame-is-inconsistent-with-rviz-opencv-convention/
It seems like this gazebo-thing is just another game engine. Why not just use a standard game engine that is much more capable of graphics. You can make an object have a ROS interface in Unreal (C++), godot and even directly in Blender3d using upbge running Python. I don't get the hype, when it's just a kind of low-end game engine, sorry.
That's a great question that I have asked myself! The discussion thread linked below has some really helpful points to answer it, but some of my own: - At my workplace, we use Unity as we were already using it before were aware of ROS and Gazebo - Those game engines are much more flexible and are great IF you already know how to program and use them. If you know nothing and just want to start with robots, the learning curve is steeper - The tooling, physics sims, ROS integration, etc. are all oriented towards robotics. - You say it's a "low-end" game engine, but that's because the things it is missing (e.g. nice graphics) are generally not relevant to simulation robotics interactions discourse.ros.org/t/why-do-we-use-gazebo-instead-of-unreal-or-unity/25890
Unfortunately not! Last time I looked there wasn't much material at all on ROS 2 (which is partly why I started the channel). I'm sure there has been some stuff written since, but I'm not familiar with any of it to make a recommendation, sorry!
hello, i realy appreciate your help, i still have some issues. when I run Rviz2, i can't see "Odom", "right_wheel" and "left_wheel" in the fixed frame. even tough i write exactly the same code of gazebo_control.xacro, include it in robot_urdf.xacro and did colcon build
One of the best series I ever spent time on on the internet; not just on UA-cam. Dont really have the right word to appreciate the effort you've put into this.
...Thank you.
Loving your videos and I'm eagerly, waiting for the next video in the series
Thanks! :D
I really appreciate you because of such amazing straight forward tutorials. I hope to see some more videos using Cobots like UR5 and adding extra sensors and a camera
Hi, your lectures are amazing and a great inspiration for me. So, thanks a lot for your work.
Please, keep going.
Thanks!
Your lectures are really helpful to me! I'm soooooooooo appreciated !!:)
Thanks so much!
Really great video, I managed to get it working and having my robot on the simulation, thanks
That is amazing! I really appreciated how did you explain it, so I subscribed right now. Please bring more ROS content like that. About how to simulate a robot in the virtual world before starting to make it. Thanks‼
For a moment I wonder whether two weeks has passed. What a pleasant surprise. Thank you very much for going in detail explaining the whole process. When you cover adding sensors to Gazebo, can you include a short description on how to take any sensor module software available and integrate with Gazebo and interact with it, please?
Haha I'm glad to surprise you - don't expect them all to be so fast though!
Re the sensors, I'll do what I can but this series will be mostly focusing on what is needed to achieve this particular project, with some extra notes on small things that can be customised or done alternatively.
If there are things you feel are missing at the end of it all, let me know and maybe they could be the subject of future videos! :D
you are a legend sir! huge respect!!
I really like your videos man! Every time I learn something new. Keep it going!
Thanks so much!
Thank you
Thanks for this video. I would love to see more videos on how ros2 work with the real robot in future video.
Thanks so much for this. All information need were explained in this video.
Thanks
Thanks! Yep we will definitely be getting into the real robot in the coming videos. The next couple of videos will be about getting the electronics set up, and after that we will get into motors, lidar, and camera.
Very good job. Thanks
Thanks!
Hello, I really appreciate the way you presented your video, the concept was absolutely clear. I am actually referring your video for my university project, I followed each and every step carefully. I have an issue with my rviz2 i.e. the /odom topic won't publish at all at the global fixed frame topic. Using the command "ros2 topic list" , the terminal states that /odom is publishing but in the rviz2, It isn't publishing at all. Can you kindly help me with this?
Thanks!
Hmm, the joy node from the joy package? You have my attention...
i can't select the fixed frame "odom" in rviz2.... doen'st appear the option
How about an update for Ignition Gazebo Fortress. The commands for Gazebo Classic don't work and I've not been able to find working alternatives (including ChatGPT-4). Thanks! Great tutorial!
amazing lectures, started from first and was going well
but i have one issue
in fixed frame i don't get odom , i am only getting base, caster_wheel, chassis
earlier also i had the same issue, but whenever i added the GUI for joint GUI of wheels, all the frames appear,
since now i don' have GUI enabled for this i don't have a way to get frames
also there is an error on rviz cmd terminal left_wheel passed to cantransform source frame does not exist
dude, thank you so much
Thanks!
Excellent quality and very useful video as always. I will appreciate a video dedicated to ros2_control plugin setup.
Thanks! I have just finished the first ros2_control video and made it available to patrons yesterday, it will be released some time this week :)
Thanks for the lessons. It's very helpful. My simulated robot keeps flipping upside down.
Anylne could help me. I've been stuck in this portion of the series for a while. When I run the robo5 in Gazebo, it starts oscillating in, what it looks like the z axis of the caster wheel. I have checked the code multiple times and change parameters for the torque and speed and it is still doing that.
Besides that the series is being amazing so far.
Thanks for all your work!!
Is there an adaption for ROS2 Jazzy with Gazebo (maybe GZ Harmonic)?
Gazebo Harmonic is recommended for Ubuntu 24.04/Jazzy....which is where I'm at, too....stuck
EDIT: Yah. Launch command is gz sim -v 4 after installing Gazebo Harmonic on Jazzy
Hello! I am not getting odom as a drop down menu option for fixed frame in Rviz. The terminal running launch shows - .........Publishing odom transforms between [odom] and [base_link]
, also - .........[diff_drive]: Publishing wheel transforms between [base_link], [left_wheel_joint] and [right_wheel_joint]. Please help me :( Your tutorials are excellent!!!
great tutorial explanation :D
Thanks!
I love your videos and watched a bunch of them. I use Mac m1 but Gazebo doesn't support newer macOS versions; plus using Docker on Mac has a very weird network setting which I don't want to spend too much time grunting. Which Ubuntu/Linux machine would you recommend buying as a new dev machine, which has enough RAM to do complex renderings?
my gazebo world doesnt wanna save. the world file exists, as soon as i open it its just blank with the bot. I'm following the exact same steps
Has anyone solved the problem of the odom frame not existing in rviz? In addition to that i don't have transforms from wheels to my base_footprint (in his example i think this would be base_link)
I've got answers (sort of). For my issue with transforms, I restructured my urdf to match the example with the same names and that seemed to do the trick (i must have at it set up incorrectly). As for why these transforms now show up correctly without also running join_state_publisher, i do not know. For the issue with the odom frame, we need to add two extra lines to the plugin in the gazebo_control.xacro. Those are: /cmd_vel
/odom. After this addition, you should see the odom frame. Hope this helps somebody!
great video
Thanks!
can I use this controller in my robot that has four wheels?
and what should I do to update this controller
I was trying to record ground truth poses of robot in gazebo environment for my work. But in gazebo we cannot have ground truth we can ONLY get odom poses (which has drift). Is this correct?
I've got no issue running the diff drive in gazebo, but does anyone have advice for a four wheel vehicle? I've been trying to use the skid drive plugin but can't seem to get that to work
Where can I find good documentation about plugins because I’m trying with Ackermann robot but all the wheels go to 0 0 0 when the plugin in gazebo starts
Your tutorials are excellent, the production quality is outstanding! Do you have a Patreon or the likes where one can follow you? Thanks.
Hi Simon, thanks so much! I do have plans to start a Patreon and possibly a linked Discord (I was thinking about doing it once I got to 1k subs as a personal milestone of "hey, some people actually like this stuff") but nothing is up at the moment.
There is also a Facebook and Twitter page, but at the moment I'm just sharing each video there when I post it, nothing too interesting :)
Thanks for your interest though, keep your eyes peeled for more content!
@@ArticulatedRobotics That sounds good. A Discord would be great I would love to join. We are building a quadruped for our master thesis, and are building a simple Gazebo simulation to test our dynamics, your videos have been very helpful. I'll be sure to follow along for any future updates. :)
Is that all package used for this video available for ROS Noetic?
Is there much difference between py and c++? I'm doing a course where c++ is mandatory but your videos are so detailed :(
Hello, I really liked your project. Can a project be made to steer towards a color detected through the camera on a car using the foundations of ROS 2 Foxy that you use?
Hi. You've probably heard about the problem with missing odom in Rviz2. In my case it also appeared, but only after the second time I ran the program, the first time it worked properly. I've tried resetting Rviz, I even changed distro to 22.04/Humble and all the time is the same - no odom. Do you have any solution to this?
I've been following along and everything is working. However, I am running into an issue at 17:50 when you set the fixed frame to odom. The only options popping up for me are "base_link", "caster_wheel", and "chassis". Any help?
Got it working. All I did was run rviz2 first and then launch gazebo after
@@josha.7364 worked for me too, now it doesn't matter which I run first, odom shows up, weird...
Hey guys, glad you got that sorted. Yeah I've found that RViz is sometimes a bit strange with that kind of thing.
As long as the code broadcasting the odom-base_link transform is running (in this case the differential drive plugin), RViz SHOULD show it in the list. If it doesn't you can try:
- Clicking reset in the bottom left hand corner
- Just typing it in manually
But sometimes it just gets a bit confused.
It can also be helpful in these situations to run rqt_tf_tree to verify that the transforms are actually being published (you may need to install that).
@@josha.7364 I also faced the same problem. Have you solved it yet?
Hey my friend im new here , the solution is :
Try to include the gazebo_control.xacro inside the the robot model file robot.urdf.xacro
on my robot just say waiting for service /spawn_entity in 3:!8 can you help me
Mine too, it happened after I tried to delete the bot in Gazebo and then save it. The system crashed and now it won't spawn in the new entity.
@@justal787 ı think solved the problem is kill gzserver and gzclient on system monitor
I have no trouble running Gazebo and the state publisher on their own, but using the launch file never works (RuntimeError Signal event received before subprocess transport available). I've tried everything to fix, including wiping out my workspace and starting over. I've also upgraded, still no go. Anyone have any idea what this issue is? There doesn't seem to be any online fixes that I've found.
Ugh, never mind, I copied the wrong version file! Cheers!
Hi, love your video. My question is how do we write a program for our robot to move autonomously? Can you make a video about this question?
Thanks! And yep, this video is part of a larger playlist ua-cam.com/play/PLunhqkrRNRhYAffV8JDiFOatQXuU-NnxT.html
The project isn't finished yet so you'll have to wait a little while for each one to get released, but eventually it will be navigating autonomously, in simuation and on a real robot.
missing element description [wheel_separation] why am i take this error ? can you help me doctor
thank you for such video it's really help full.But i got only one problem i hope that you can help me to solve it the problem is when i launch the rviz2 i don't get the "tool bar " "file panels help" and i save the first configuration i made and it's the one that appears every time i want to launch the rviz
Thanks for watching!
To fix the default configuration being saved (which is easy to accidentally do) you can type "rm ~/.rviz2/default.rviz" into a terminal, this deletes the file inside the hidden rviz2 directory in your home directory.
As for the tool bar missing, I've had this before but I forget how I fixed it! Some things to check:
- Are you running rviz2? Is ROS sourced correctly?
- In the "Panels" menu, can you enable tool bar etc or are the options just not there?
- Make sure rviz is fully installed (sudo apt install ros-foxy-rviz-common I think)
I hope that helps!
Great vid again! I was able to control the robot using the teleop line but when I tried running rviz2, I couldn't see the odom as a fixed frame option. do you have any suggestions?
Thanks! If the Gazebo plugin is running correctly it should be an option. A few things to check:
- Rviz sometimes just glitches up and doen't show it so you can try just typing it in
- Install and run rqt_tf_tree to check which transforms are being broadcast
- Check the output of the Gazebo window for anythin that looks like a plugin failing to start/run
@@ArticulatedRobotics . Thanks for the response.
So i tried the rqt_tf_tree but it only shows the base_link, chassis, and caster_wheel. I also swapped out my launch files and robot description files for yours but nothing changed. The only way I can even see the wheel frames on rviz is if I use the joint_state_publisher_gui which I think is wrong for this stage
Also, when I run the launch file, i get the info line that says publishing transforms for odom and the wheels so it seems like it's getting published but its not being received
@@ArticulatedRobotics it’s working now. I’m not sure what changed tho!
I checked out and found out there is a change of front slash in tf2 but still i can't understand much about it
I'm trying to add camera to your gazebo robot. I don't know how It ended up tilting over.
Hey! Camera tutorial is coming soon - I've been away the last few weeks and haven't been able to record it. Was hoping for this week but it may be next.
The likely problem is that you need to have two links for your camera - camera_link and camera_link_optical. These should be at the same location but with different orientations, the first uses the ROS/Gazebo X-forward convention and the second uses the computer vision Z-forward convention.
Example github.com/ros-simulation/gazebo_ros_demos/blob/foxy/rrbot_description/urdf/rrbot.xacro#L162-L197
Then, you should have a tag associated with camera_link that has a camera tag inside it. Inside that will be your tag for it to talk to ROS, and inside THAT should be camera_link_optical so that the correct frame is reported for RViz etc.
Hope that helps.
Another reference:
answers.ros.org/question/232534/gazebo-camera-frame-is-inconsistent-with-rviz-opencv-convention/
robot is moving too slowly when controlling through keyboard ,any solution
How can I solve this problem? ModuleNotFoundError: No module named 'rclpy._rclpy'
already solved,thanks!
Sorry I didn't get back to you, glad you solved it :)
gazebo is not responding to keys i press in teleo_twist_keyboard
did the error is solved ??
It got solved. I kind of had to force it to connect
ros2 run teleop_twist_keyboard teleop_twist_keyboard cmd_vel=bot_vel
@@sathappanpr1271 did you fix it ?
@@sjoerdvgerwen Yes bro
@@sathappanpr1271 Can you tell me how you fixed it?
It seems like this gazebo-thing is just another game engine. Why not just use a standard game engine that is much more capable of graphics. You can make an object have a ROS interface in Unreal (C++), godot and even directly in Blender3d using upbge running Python. I don't get the hype, when it's just a kind of low-end game engine, sorry.
That's a great question that I have asked myself! The discussion thread linked below has some really helpful points to answer it, but some of my own:
- At my workplace, we use Unity as we were already using it before were aware of ROS and Gazebo
- Those game engines are much more flexible and are great IF you already know how to program and use them. If you know nothing and just want to start with robots, the learning curve is steeper
- The tooling, physics sims, ROS integration, etc. are all oriented towards robotics.
- You say it's a "low-end" game engine, but that's because the things it is missing (e.g. nice graphics) are generally not relevant to simulation robotics interactions
discourse.ros.org/t/why-do-we-use-gazebo-instead-of-unreal-or-unity/25890
Include lego robot ev3
my controller won't subscribe to /cmd_vel
idk what's up
Can you recommend some books for us to read about rso2?
Unfortunately not! Last time I looked there wasn't much material at all on ROS 2 (which is partly why I started the channel). I'm sure there has been some stuff written since, but I'm not familiar with any of it to make a recommendation, sorry!
@@ArticulatedRobotics your channel helps me a lot. Thank you so much for that.
Why doesn't run the joint_state_publisher_gui joint_state_publisher_gui ? when we run Rviz2 and run ros2 launch articubot_one launch_sim.launch.py ?
hello, i realy appreciate your help, i still have some issues. when I run Rviz2, i can't see "Odom", "right_wheel" and "left_wheel" in the fixed frame. even tough i write exactly the same code of gazebo_control.xacro, include it in robot_urdf.xacro and did colcon build