humble tester :) I ran into some issues today. Both ROS Humble and Gazebo Fortress are working well enough that I can follow along with your lesson. However, upstream gazebo does not seem to be building the necessary ros to gazebo bridge. I filed the appropriate issues to have gazebo start doing the builds. I guess I will have to learn how to build the packages from source. This was another great ROS2 video.
It's a shame you've been running into such troubles with Gazebo/Ignition on Humble. I've been doing a little bit of work on humble in a different project but not using Gazebo so haven't run into such problems. Hopefully they're patched soon! Building the packages from source is a great way to learn though :)
Would you, by any chance, know how to set up a ROS machine, autonomously? I kinda wanted to get the AINex to be able to walk about and avoid objects, maybe press some push ups and stuff. But on its own
Thank you for the detailed video. I learnt a lot. A small feed back - can you please highlight the mouse pointer and make it bigger? Right now it is hard to follow your voice and see where you're clicking/pointing.
Thanks a lot for the video, but I still have questions after watching it. I tried to repeat the video material, but I was faced with the fact that the created world does not start through the world parameter? As it turned out, it is not declared in the file at all rsp_sim.launch.py ? How then should it work?
Hi, really useful and clear video! I am applying the same methods for my own project. However when I publish to the topic as shown at 16:06 with the joint names and input the simulation doesn't change. I am publishing the joint states and have included the joint_pose_trajectory plugin. For reference I've tried to move the joint with an effort controller and this works, so the problem doesn't lie with the joint its self. Any guidance would be appreciated.
Hi! You mention @20:40 that you won't go into the Camera details as there is some camera tutorial I haven't been able to find. Could you maybe link me to that content, I'm really interested.
Hi Alex, I have a camera tutorial in the works as part of my current build series (see the project overview here ruclips.net/video/OWeLUSzxMsw/видео.html). Within that series I've got the "power" video coming out next week and i'm managing a video every ~2 weeks so it'll probably be a couple of months until the camera video is out, sorry you'll have to wait! (I'm hoping it will be a great resource for people though as cameras in ROS can be very confusing) PS In the video you linked I wasn't so much saying that there was a camera tutorial available, just that I didn't have time at that point to go into depth on all the camera stuff (especially knowing I had this other one planned for the future).
Any chance we could see a ros_control tutorial for ROS2? The Construct has a decent one for old ROS, but trying to understand the ros_control framework, how it may differ in ROS2 vs ROS, and trying to map those ROS1 launch XML's into Python for ROS2 is a struggle.
Hey John, absolutely! If you take a look at the first video in my current series on building a mobile robot ruclips.net/video/OWeLUSzxMsw/видео.html it has a bit of an overview of the plan for the next few months. I've been trying to get a video out every couple of weeks, so at that rate I'll be up to the ros2_control video around August :) (And in the meantime I'll be covering motor hardware, lidar, camera, depth camera, and assembly).
Hey there, great video. I have seen some tutorials where a sensor broadcaster is configured in the yaml file (Something like imu_broadcaster: type: imu_sensr_broadcaster/IMUSensorBroadcaster) and then it is spawned in a launch file like a joint_state_broadcsater. Is that unnecessary? Can I just put the sensor in gazebo tags in my urdf and the topic will be available to my ROS2 nodes?
Excellent video tutorial. Everything is explained so clearly. Thank you so much! I've been following the step by step process on ROS2 Humble with Gazebo classic. Weirdly, adding damping in the URDF files like you did doesn't seem to invoke any friction in the Gazebo simulation. Not sure if it's a Humble issue or some other one
Great video, thank you. Though I might ask for some help - using ros2 and Homble, trying to synchronize between Gazebo and Rviz and cant transfer the use_sim_time to the controller nodes. any Ideas? thanks
Thank you so much for the awesome video. I am trying to incorporate robots with .dae mesh links instead of predefined boxes or cylinders. But it's not getting spawned into the Gazebo. It's successfully spawned, but nothing is loaded in the Gazebo. It would be a great help if you could suggest some ideas on it. Thank you.
Hey this is a great series and I love your videos! I had a problem immedietely however when trying to launch the seesaw world.I'm running ros2 galactic with gazebo on vmware. i copied your code directly from your blog and although gazebo launched fine there wasn't a seesaw inside of it. Is there a different video I should watch first? Thanks :)
Thanks! That's a weird one - I'm instantly suspicious of the VM but there are a few things to check. - Is there any error text shown in the terminal you ran it from? - Check that the world file path is correct, and that it actually exists. E.g. use the command cat /usr/share/gazebo-11/worlds/seesaw.world to look at the contents. - In the Gazebo model tree, do you see the different models listed (just not shown in the 3D view) or are they not even in the model tree?
@@ArticulatedRobotics Thank you so much for responding! I got it to work! did a simple sudo apt-get update and then launched your code and there was the seesaw! Can't wait to keep watching :)
Hi! Most of my experience in ROS/Gazebo is with mobile robots. It can also be used for robotic arms but I haven't really done that (I'd like to in the future though!). You might want to check out the MoveIt motion planning framework moveit.picknik.ai/galactic/index.html
hi how are you getting topics automatically? I am doing everything the same ,the only difference is i am using .sdf file and not xacro(in ros-noetic). during simulation i can see the image of object shown by camera rectangle, but no topic is created in rostopic list. you are writing depth and all depth topic got created, how?
Hi.. I'm working on gazebo ros2, I am unable to save my environment and throughout the video, u are using gazebo so smoothly but I couldn't do it. please help me and I use ros2 humble and gazebo 11 version. pls help
Why I run ros2 topic pub -1 /set_joint_trajectory trajectory_msgs/msg/JointTrajectory '{header: {frame_id: world}, joint_names: [slider_joint, arm_joint], points: [ {positions: {0.8,0.6}} ]}' and It not still there and then it came back to the world origin
I'm trying to implement your solution to better understand ROS2 and Gazebo. But, I'm stuck at " Example - Joint states & control". How do you install the Gazebo plugins? I tried cloning the repository "yossioo/gazebo_ros_joints_publisher" but when I try to build it I get the following error: CMake Error at /home/alemoreno991/anaconda3/envs/ROS2/lib/python3.10/site-packages/cmake/data/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find Protobuf (missing: Protobuf_LIBRARIES) (found version "3.12.4") Call Stack (most recent call first): /home/alemoreno991/anaconda3/envs/ROS2/lib/python3.10/site-packages/cmake/data/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE) /home/alemoreno991/anaconda3/envs/ROS2/lib/python3.10/site-packages/cmake/data/share/cmake-3.22/Modules/FindProtobuf.cmake:650 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:7 (find_package) Could you help me out?
Hmm that's strange. You really shouldn't need to clone any extra packages, it should be sufficient to install ros-foxy-gazebo-ros-pkgs like I do at the start of the video, and that will install all the plugins required for this tutorial. I took a quick look at the repo you have linked and it seems to me that it is for ROS 1? And so won't work on ROS 2.
@@ArticulatedRobotics Thanks for the reply. Yes, I installed that and some of the problems went away. Nevertheless, the most tedious problem was created by the fact that I was working inside a conda virtual environment. Just to make sure I'm not doing something wrong, have you ever worked within a conda environment succesfully with ROS2 and Gazebo??
@@AlejandroMoreno-pj5tw I did notice that from your error and nearly said something. I've never tried ROS inside a conda environment. I don't see why it shouldn't work, but obviously it depends what you're trying to do as system packages and what as conda packages. I've heard of Robostack which I think aims to achieve ROS/Conda integration (and also to improve cross-platform compatibility) so it would definitely be worth checking out. robostack.github.io/
You are the light of my ros
You are a godsend, thank you for creating content for the robotics community!
Your videos have really accelerated my project. Looking forward to the ros2_control video!
Thanks, I'm glad to be able to help :)
same here. can't wait for ros_control video
Many thanks for your clear and detailed explanations. Great job!
Nice recap for more Experienced Robotics Engineer
Best tutorial for Ros Gazebo on internet...!
Hi Johs, you are doing amazing tutorials, there are no such content across the whole youtube!
From Korea, thanks for very nice video . Thank you!
It was awesome. I am really looking forward to your next videos.
Thank you! 😃
such an awesome series. brilliantly explained. I have learnt so much following along.
This bro saved my life.
Thanks for the tutorial and amazing sharing . You explain way better than mine lectures.
Thanks!
Awesome video, thank you very much for creating such great content!
Thank you!!! very inspiring.. love the tutorials!
Exactly what I needed thank you!
Glad it helped!
you saved my life gazebo master
Glad to hear it!
great camera quality on this one
Thanks Hamish!
humble tester :) I ran into some issues today. Both ROS Humble and Gazebo Fortress are working well enough that I can follow along with your lesson. However, upstream gazebo does not seem to be building the necessary ros to gazebo bridge.
I filed the appropriate issues to have gazebo start doing the builds. I guess I will have to learn how to build the packages from source.
This was another great ROS2 video.
It's a shame you've been running into such troubles with Gazebo/Ignition on Humble. I've been doing a little bit of work on humble in a different project but not using Gazebo so haven't run into such problems. Hopefully they're patched soon! Building the packages from source is a great way to learn though :)
@@ArticulatedRobotics Yes, I think that I am just early to the party. The plus side is I learned a lot about how the project works upstream.
Suuuuperb video, Thank you!
Are you planning on making an updated video with the new gazebo in place of gazebo classic?
Great content
Would you, by any chance, know how to set up a ROS machine, autonomously? I kinda wanted to get the AINex to be able to walk about and avoid objects, maybe press some push ups and stuff. But on its own
How can I do this with the new Gazebo (Gazebo Fortress) and NOT Gazebo classic (Gazebo 11) as used here ?
Thank you for the detailed video. I learnt a lot. A small feed back - can you please highlight the mouse pointer and make it bigger? Right now it is hard to follow your voice and see where you're clicking/pointing.
Hi Deepak, thanks for the feedback - I'll keep that in mind!
Thanks a lot for the video, but I still have questions after watching it. I tried to repeat the video material, but I was faced with the fact that the created world does not start through the world parameter? As it turned out, it is not declared in the file at all rsp_sim.launch.py ? How then should it work?
same question here... ^^ and my world doesn't show at all...
Thank you!
Hi, really useful and clear video! I am applying the same methods for my own project. However when I publish to the topic as shown at 16:06 with the joint names and input the simulation doesn't change.
I am publishing the joint states and have included the joint_pose_trajectory plugin.
For reference I've tried to move the joint with an effort controller and this works, so the problem doesn't lie with the joint its self.
Any guidance would be appreciated.
I am facing the same Issue, @ArticulatedRobotics
Good job, boy.
thanks. im still far from simulating. need to finish that differential equations and physics textbooks lol
Hi!
You mention @20:40 that you won't go into the Camera details as there is some camera tutorial I haven't been able to find. Could you maybe link me to that content, I'm really interested.
Hi Alex, I have a camera tutorial in the works as part of my current build series (see the project overview here ruclips.net/video/OWeLUSzxMsw/видео.html). Within that series I've got the "power" video coming out next week and i'm managing a video every ~2 weeks so it'll probably be a couple of months until the camera video is out, sorry you'll have to wait! (I'm hoping it will be a great resource for people though as cameras in ROS can be very confusing)
PS In the video you linked I wasn't so much saying that there was a camera tutorial available, just that I didn't have time at that point to go into depth on all the camera stuff (especially knowing I had this other one planned for the future).
Thank you sooooooooo much mate
Any chance we could see a ros_control tutorial for ROS2? The Construct has a decent one for old ROS, but trying to understand the ros_control framework, how it may differ in ROS2 vs ROS, and trying to map those ROS1 launch XML's into Python for ROS2 is a struggle.
Hey John, absolutely!
If you take a look at the first video in my current series on building a mobile robot ruclips.net/video/OWeLUSzxMsw/видео.html it has a bit of an overview of the plan for the next few months.
I've been trying to get a video out every couple of weeks, so at that rate I'll be up to the ros2_control video around August :)
(And in the meantime I'll be covering motor hardware, lidar, camera, depth camera, and assembly).
Hey there, great video. I have seen some tutorials where a sensor broadcaster is configured in the yaml file (Something like imu_broadcaster: type: imu_sensr_broadcaster/IMUSensorBroadcaster) and then it is spawned in a launch file like a joint_state_broadcsater. Is that unnecessary? Can I just put the sensor in gazebo tags in my urdf and the topic will be available to my ROS2 nodes?
Hello, it would be very useful, if you could make a video explaining ROS and ROS2 because I'm a beginner here and don't understand much of it. Thanks!
Can you do a tutorial on gazebo fortress?
Hello, where can I ask for help? I just have some problems with ros 2 humble. for example, it is not possible to assemble px4 and other
Excellent video tutorial. Everything is explained so clearly. Thank you so much! I've been following the step by step process on ROS2 Humble with Gazebo classic. Weirdly, adding damping in the URDF files like you did doesn't seem to invoke any friction in the Gazebo simulation. Not sure if it's a Humble issue or some other one
Strange, I'll be upgrading to humble in the next couple of weeks (and documenting how I go) so I wonder if I will run into that.
After trying some more, the friction does work. I was moving it unnaturally before which caused weird behavior. Thanks again
Thanks a lot for the videos, they’re amazing! I’d really like to see a ros control tutorial,
Thanks, it is finished now and will be released this week :)
Yaaaayyy, I can’t wait!😄
16:38 mine is bouncing around the place , thats why im here , you say add friction ?
Great video, thank you. Though I might ask for some help - using ros2 and Homble, trying to synchronize between Gazebo and Rviz and cant transfer the use_sim_time to the controller nodes. any Ideas? thanks
I have Humble installed as Foxy is not supported anymore. But could not install Gazebo. Any instruction on how can this be done please? Thanks
Thank you so much for the awesome video.
I am trying to incorporate robots with .dae mesh links instead of predefined boxes or cylinders. But it's not getting spawned into the Gazebo. It's successfully spawned, but nothing is loaded in the Gazebo.
It would be a great help if you could suggest some ideas on it. Thank you.
Hey this is a great series and I love your videos! I had a problem immedietely however when trying to launch the seesaw world.I'm running ros2 galactic with gazebo on vmware. i copied your code directly from your blog and although gazebo launched fine there wasn't a seesaw inside of it. Is there a different video I should watch first? Thanks :)
Thanks! That's a weird one - I'm instantly suspicious of the VM but there are a few things to check.
- Is there any error text shown in the terminal you ran it from?
- Check that the world file path is correct, and that it actually exists. E.g. use the command cat /usr/share/gazebo-11/worlds/seesaw.world to look at the contents.
- In the Gazebo model tree, do you see the different models listed (just not shown in the 3D view) or are they not even in the model tree?
@@ArticulatedRobotics Thank you so much for responding! I got it to work! did a simple sudo apt-get update and then launched your code and there was the seesaw! Can't wait to keep watching :)
Strange...I'm glad you got it going though!
Hello can cutting food task be done in gazebo? And if yes which plugins to be used
Hi! Most of my experience in ROS/Gazebo is with mobile robots. It can also be used for robotic arms but I haven't really done that (I'd like to in the future though!).
You might want to check out the MoveIt motion planning framework moveit.picknik.ai/galactic/index.html
@@ArticulatedRobotics Thankk youu
I'm a beginner, and in this video is the gazevo run on pc? Or is it run by Raspberry Pi?
Great video...would like to see a video on explanation of controller and hardware interface code... Thank you.
hi how are you getting topics automatically? I am doing everything the same ,the only difference is i am using .sdf file and not xacro(in ros-noetic). during simulation i can see the image of object shown by camera rectangle, but no topic is created in rostopic list. you are writing depth and all depth topic got created, how?
can I follow this tutorial with ROS1 too?
Hi.. I'm working on gazebo ros2, I am unable to save my environment and throughout the video, u are using gazebo so smoothly but I couldn't do it. please help me and I use ros2 humble and gazebo 11 version. pls help
“Chopped!”
Why I run ros2 topic pub -1 /set_joint_trajectory trajectory_msgs/msg/JointTrajectory '{header: {frame_id: world}, joint_names: [slider_joint, arm_joint], points: [ {positions: {0.8,0.6}} ]}' and It not still there and then it came back to the world origin
Would be cool If gazebo have some sound.
Haha yes it would!
Who's going to write an AI to this API?
Step 2, 1st mini robot
Step 3, robot workforce to build my spaceship
Step 4, leave this rock
Всякую херню мелет, как будто запудрить мозги хочет
I'm trying to implement your solution to better understand ROS2 and Gazebo. But, I'm stuck at " Example - Joint states & control". How do you install the Gazebo plugins? I tried cloning the repository "yossioo/gazebo_ros_joints_publisher" but when I try to build it I get the following error:
CMake Error at /home/alemoreno991/anaconda3/envs/ROS2/lib/python3.10/site-packages/cmake/data/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Protobuf (missing: Protobuf_LIBRARIES) (found version
"3.12.4")
Call Stack (most recent call first):
/home/alemoreno991/anaconda3/envs/ROS2/lib/python3.10/site-packages/cmake/data/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/home/alemoreno991/anaconda3/envs/ROS2/lib/python3.10/site-packages/cmake/data/share/cmake-3.22/Modules/FindProtobuf.cmake:650 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:7 (find_package)
Could you help me out?
Hmm that's strange. You really shouldn't need to clone any extra packages, it should be sufficient to install ros-foxy-gazebo-ros-pkgs like I do at the start of the video, and that will install all the plugins required for this tutorial.
I took a quick look at the repo you have linked and it seems to me that it is for ROS 1? And so won't work on ROS 2.
@@ArticulatedRobotics Thanks for the reply.
Yes, I installed that and some of the problems went away. Nevertheless, the most tedious problem was created by the fact that I was working inside a conda virtual environment. Just to make sure I'm not doing something wrong, have you ever worked within a conda environment succesfully with ROS2 and Gazebo??
@@AlejandroMoreno-pj5tw I did notice that from your error and nearly said something. I've never tried ROS inside a conda environment. I don't see why it shouldn't work, but obviously it depends what you're trying to do as system packages and what as conda packages.
I've heard of Robostack which I think aims to achieve ROS/Conda integration (and also to improve cross-platform compatibility) so it would definitely be worth checking out. robostack.github.io/