This is by far the best ROS training video for beginners that I came across. You are making everything so clear and I have a better understanding of ROS now. Thanks for all the effort you have put into the preparation of this series. You are absolutly amazing!!!!
It's already been said so many times, but these videos are by far the best tutorials about ROS on the web. I had no clue about ROS, but these videos make it obvious why ROS is so powerful. Thank you so much.
I'm a college student majoring in Electrical Engineering. Recently I try to learn about ROS2. And I found your channel, the series of videos helps a lot.
Since my setup doesn't involve real robots, I always stop myself from going forward learning about services, remapping, launch files etc., I found this video very helpful. Thanks.
Thanks! That's an audience I'd love to have - people who already have a lot of the other background experience but want to apply it to robotics! Good luck!
I have discovered your channel yesterday, and I am so grateful for that, cant wait for new videos to come up. Thank you for the great content, and super clear, on-the-point info, along with so many live examples...🙏
Very nice done. And clearly explained all basic concepts. Just started learning ROS a couple weeks ago using the blog, this helps a lot in putting things into perspective
great content. what if multiple robots are connected to the network and publishing the data over same topic for example scan. how it will know which one is to process .
Thank you so much for such a clear explanation for beginners. Can you suggest some interesting projects/github resources for beginners/intermediates without the need of hardware to learn ROS2 and their applications ? @Articulated Robotics
Hi very good content, thank you for updating but I have a issue in motion planning in moveit , how to add an obstacle from file mesh from file, if possible do a video on this
Thanks, I'm glad it was helpful! I do have plans for a Rapberry Pi/Arduino/ROS combination video, however it is a bit of a ways off (early next year hopefully).
I am wondering if there is a reason you didnt (yet?) introduce ros actions? It is interesting observation for me that almost all content on the internet covers topics and services when introducing ros, but not actions streight away, yet to my understanding (basic) it is so important and heavily used in almost any robot that needs time to do stuff, and could help a beginner know WHEN/WHY each mode of communication should be used. Thank you again for the already super awesome content🙏
Great question! There are a few reasons - both why I haven't, and why other tutorials haven't. In ROS 1, Actions weren't part of the core communications, they were in a separate library (actionlib), and so weren't naturally a part of any "core ROS tutorials". In ROS 2, this functionality has been brought in to the core libraries, but I suspect many people (including myself) still don't quite think of it this way. Also, while the main concept of actions is still pretty simple, I think it would take a bit more effort to explain them well (compared to topics and services). And I didn't have a quick, easy example to demonstrate with. You're right though, they should have ranked at least a mention, and a comparison of when/why to use topics/services/actions is a great idea - I'll add it to my (long) list of future video topics :)
Thanks Josh for the 'articulated' answer, it is very clear now, and finally this makes sense! Long live the long list of the videos to come, cant wait! :)
Humble tester here :) I hit my first real issue with my LDS-01 Lidar from Robotis. The ros dirver package does not seem to work on humble yet. I am curious how quickly robotis support address the issue. Looks like I will have to try a Foxy on 20.04 build to see if i can get a working system before I start pokeing into the issue.
Yeah great question. (Note I have very limited experience with both of these). I suppose MQTT is comparable to the messaging portion of ROS in functionality, although the actual protocols differ a fair bit. However ROS is much more than just the messaging system, it is the libraries, tools, algorithms, visualisations, simulator etc. that are specifically designed for common robotics tasks. Node red is more like a simplified visual programming language designed for simple event triggering, and not really suitable for anything but the simplest robotics projects. Ultimately, both of those frameworks have IoT in mind, which shares some similarity with robotics but also has many differences which certainly warrants different software platforms. I hope that helps!
@@ArticulatedRobotics thanks, I appreciate the feedback! Ive learned quite a bit from your video series / channel thus far so thats helped and am looking for more resources. My issue is that I have a rather unique robotics project and have been 'cobbling together' the ecosystem / tools myself & have only just discovered ROS. I will have to look more into it to see if its appropriate; I mean it has to be right?! PS. My 'unique project' at the moment is a Knight Rider KITT replica & was thinking ROS may be the solution. Yes, an actual pontiac trans am. PPS. You sound like a fellow Aussie, hope Im not being rude?
Thanks! And cool project! As far as the value of ROS to a project like that, I guess it depends exactly what you're going for (and also where your programming skills are at). Most robotics projects are a fusion of: sensing (e.g. cameras), perception (e.g. figuring out where obstacles or goals are), planning (how to reach the goal/avoid the obstacle), and control (sending signals to motors etc). ROS provides tools to help with all of these things and avoid rewriting common algorithms. This is applicable to things like autonomous vehicles, or robotic arms. For your project though, nothing is really "autonomous" or relying on these standard algorithms. You're probably going to have various inputs that trigger an "event" and then that sets off a chain of behaviours (lights, sounds, movements, etc). You won't have that kind of closed-loop feedback control, autonomous decisions, or remote operation that robots have. And so something like MQTT or Node-Red might just be more straightforward (especially if you're an inexperienced programmer). That being said even if ROS is a "heavy" framework, it could still offer some advantages. E.g. if you want to rig up a joystick to control some things, that's not TOO hard to do with Python and send some MQTT messages, but ROS has some drivers and stuff to make that even easier, and also to troubleshoot it. Then if you wanted you could make the 3D models etc and visualise it in RViz or even simulate it in Gazebo (which will take a bit of work to implement all your bits but would be cool and good for testing). To be honest, if it was me and I wasn't already in the "ROS world" I'd probably do it in straight Python and code up any tools/visualisations I specifically needed along the way, but it may also be a great opportunity for you to learn a powerful system that you can use for even more complex projects in the future (or just get some ideas) :) And yep - always nice to meet a fellow Aussie!
@@ArticulatedRobotics really appreciate the advice and conversation; this may have been the extra info I was looking for. Mu background is electrical engineering & electronics as well as manufacturing tech; been programming ASM/CUPL/LADDER as part of jobs after, Linux user for over a decade, etc. and yeah it looks like I may stay with mqtt/node etc but THANKS HEAPS for the insight. I may not use ROS for this project but youve opened my eyes to other robot projects I am completing!! Cheers.
Do you have time for one on one lessons? I’m building a bot that needs to be able to detect a surface edge (such a table) and navigate within the area accurately. Is this something you could help with? I understand if you would like me to pay for your time.
Unfortunately not, with most of my time taken up at my engineering job, I want to use the little spare time I have to help as many people as possible. I wish you all the best with it though!
Hi Max, how did your project go?....... I'm currently doing something similar now, i want to be able to get a robot to be able to detect all four corners of a truck parked on the highway. do you mind sharing knowledge or us working together, i'd reallly appreciate it
Well, the biggest thing in this video is that ROS, despite its name, is not an operation system. On my first encounter with ROS it took me some time to realize that, and it's an important fact in order to understand how ROS works. It's not stated anywhere out loud, and ROS name gives a false promise.
Yes, it is a bit of a poor naming choice and can be a bit confusing for newcomers. I guess they want to encompass the idea that it's not just a library, or just some tools, or just a comms protocol - but then it's also not actually an OS either...
This is an excellent presentation of ROS for those of us trying to learn it. Thank you!
This is by far the best ROS training video for beginners that I came across. You are making everything so clear and I have a better understanding of ROS now. Thanks for all the effort you have put into the preparation of this series. You are absolutly amazing!!!!
As a freshman college student who's trying to learn ROS2, these videos are wonderful! Thank you so much for creating these!!
Thanks, I'm glad you find it useful!
I'm just having myself jump into the world of ROS and found this video golden... thank you for the great content!
It's already been said so many times, but these videos are by far the best tutorials about ROS on the web. I had no clue about ROS, but these videos make it obvious why ROS is so powerful. Thank you so much.
I'm a college student majoring in Electrical Engineering. Recently I try to learn about ROS2. And I found your channel, the series of videos helps a lot.
Since my setup doesn't involve real robots, I always stop myself from going forward learning about services, remapping, launch files etc., I found this video very helpful. Thanks.
Thank you Articulated Robotics. I am very thankful to have found this channel, coming from networking and IT background.
Thanks! That's an audience I'd love to have - people who already have a lot of the other background experience but want to apply it to robotics! Good luck!
These videos are absolute gold for a ROS beginner. Thanks for putting so much effort into making them clear. Great work!
Thank you!!
I have discovered your channel yesterday, and I am so grateful for that, cant wait for new videos to come up. Thank you for the great content, and super clear, on-the-point info, along with so many live examples...🙏
Thanks Fahed!
Thanks for this video - very nice intro to ROS2 with cool examples
your tutorials are consistent in the concepts and topics ... really appreciate your work
Josh, thanks for publishing such informative material on these topics. I’ve subscribed!
Very nice done. And clearly explained all basic concepts. Just started learning ROS a couple weeks ago using the blog, this helps a lot in putting things into perspective
Thanks!
It's awesome content even though I'm a beginner in ROS. Thanks for your excellent work!
Best ROS video, thank you so much!
Thanks!
Thank you for the video . Well explained.
Very helpful! annoying ROS 1 wont update but I am almost ready to build my robot
very helpful, this answered many questions I had. thanks
Best ROS video !!
Ros was looking like cancer before you, best tutorial on Ros. Thank you so much
Thanks!
Excellent Aussie 😊
Thanks!
great content! Keep it coming.
Thanks
thanks for these videos keep going!
Thanks, I'm glad you enjoy them!
still a great set of tutorial for beginners in 2023
Thanks!
You are awsome dude
great content. what if multiple robots are connected to the network and publishing the data over same topic for example scan. how it will know which one is to process .
Thank you so much for such a clear explanation for beginners. Can you suggest some interesting projects/github resources for beginners/intermediates without the need of hardware to learn ROS2 and their applications ? @Articulated Robotics
Hi very good content, thank you for updating but I have a issue in motion planning in moveit , how to add an obstacle from file mesh from file, if possible do a video on this
Bro PLEASE what is your patreon or paypal!? I don't feel right getting such awesome quality content for free
Thanks for your video. It’s very helpful.
But, you can make a video about rasberry and arduino with ros ?
Thanks, I'm glad it was helpful! I do have plans for a Rapberry Pi/Arduino/ROS combination video, however it is a bit of a ways off (early next year hopefully).
I am wondering if there is a reason you didnt (yet?) introduce ros actions? It is interesting observation for me that almost all content on the internet covers topics and services when introducing ros, but not actions streight away, yet to my understanding (basic) it is so important and heavily used in almost any robot that needs time to do stuff, and could help a beginner know WHEN/WHY each mode of communication should be used. Thank you again for the already super awesome content🙏
Great question! There are a few reasons - both why I haven't, and why other tutorials haven't.
In ROS 1, Actions weren't part of the core communications, they were in a separate library (actionlib), and so weren't naturally a part of any "core ROS tutorials".
In ROS 2, this functionality has been brought in to the core libraries, but I suspect many people (including myself) still don't quite think of it this way. Also, while the main concept of actions is still pretty simple, I think it would take a bit more effort to explain them well (compared to topics and services). And I didn't have a quick, easy example to demonstrate with.
You're right though, they should have ranked at least a mention, and a comparison of when/why to use topics/services/actions is a great idea - I'll add it to my (long) list of future video topics :)
Thanks Josh for the 'articulated' answer, it is very clear now, and finally this makes sense! Long live the long list of the videos to come, cant wait! :)
Humble tester here :) I hit my first real issue with my LDS-01 Lidar from Robotis. The ros dirver package does not seem to work on humble yet. I am curious how quickly robotis support address the issue. Looks like I will have to try a Foxy on 20.04 build to see if i can get a working system before I start pokeing into the issue.
Sorted out the Lidar driver issue and submitted fix upstream with a branch request for humble.
Nice one!
Please help me understand how this is different from mqtt/node-red?
Yeah great question. (Note I have very limited experience with both of these).
I suppose MQTT is comparable to the messaging portion of ROS in functionality, although the actual protocols differ a fair bit. However ROS is much more than just the messaging system, it is the libraries, tools, algorithms, visualisations, simulator etc. that are specifically designed for common robotics tasks.
Node red is more like a simplified visual programming language designed for simple event triggering, and not really suitable for anything but the simplest robotics projects.
Ultimately, both of those frameworks have IoT in mind, which shares some similarity with robotics but also has many differences which certainly warrants different software platforms.
I hope that helps!
@@ArticulatedRobotics thanks, I appreciate the feedback! Ive learned quite a bit from your video series / channel thus far so thats helped and am looking for more resources.
My issue is that I have a rather unique robotics project and have been 'cobbling together' the ecosystem / tools myself & have only just discovered ROS. I will have to look more into it to see if its appropriate; I mean it has to be right?!
PS. My 'unique project' at the moment is a Knight Rider KITT replica & was thinking ROS may be the solution. Yes, an actual pontiac trans am.
PPS. You sound like a fellow Aussie, hope Im not being rude?
Thanks! And cool project! As far as the value of ROS to a project like that, I guess it depends exactly what you're going for (and also where your programming skills are at).
Most robotics projects are a fusion of: sensing (e.g. cameras), perception (e.g. figuring out where obstacles or goals are), planning (how to reach the goal/avoid the obstacle), and control (sending signals to motors etc). ROS provides tools to help with all of these things and avoid rewriting common algorithms. This is applicable to things like autonomous vehicles, or robotic arms.
For your project though, nothing is really "autonomous" or relying on these standard algorithms. You're probably going to have various inputs that trigger an "event" and then that sets off a chain of behaviours (lights, sounds, movements, etc). You won't have that kind of closed-loop feedback control, autonomous decisions, or remote operation that robots have. And so something like MQTT or Node-Red might just be more straightforward (especially if you're an inexperienced programmer).
That being said even if ROS is a "heavy" framework, it could still offer some advantages. E.g. if you want to rig up a joystick to control some things, that's not TOO hard to do with Python and send some MQTT messages, but ROS has some drivers and stuff to make that even easier, and also to troubleshoot it. Then if you wanted you could make the 3D models etc and visualise it in RViz or even simulate it in Gazebo (which will take a bit of work to implement all your bits but would be cool and good for testing).
To be honest, if it was me and I wasn't already in the "ROS world" I'd probably do it in straight Python and code up any tools/visualisations I specifically needed along the way, but it may also be a great opportunity for you to learn a powerful system that you can use for even more complex projects in the future (or just get some ideas) :)
And yep - always nice to meet a fellow Aussie!
@@ArticulatedRobotics really appreciate the advice and conversation; this may have been the extra info I was looking for. Mu background is electrical engineering & electronics as well as manufacturing tech; been programming ASM/CUPL/LADDER as part of jobs after, Linux user for over a decade, etc. and yeah it looks like I may stay with mqtt/node etc but THANKS HEAPS for the insight. I may not use ROS for this project but youve opened my eyes to other robot projects I am completing!! Cheers.
@@CaptZenPetabyte Nice, good luck with it!
nice
Do you have time for one on one lessons? I’m building a bot that needs to be able to detect a surface edge (such a table) and navigate within the area accurately. Is this something you could help with? I understand if you would like me to pay for your time.
Unfortunately not, with most of my time taken up at my engineering job, I want to use the little spare time I have to help as many people as possible.
I wish you all the best with it though!
Hi Max, how did your project go?....... I'm currently doing something similar now, i want to be able to get a robot to be able to detect all four corners of a truck parked on the highway. do you mind sharing knowledge or us working together, i'd reallly appreciate it
👍
I think the pi forgot its towel.
i cannot run ros2 run rplidar_ros rplidar_node command. it show Package 'rplidar_ros' not found. can you make video how to solve this. Thank you
It only works on raspberry pi's I think
42.. I see that.
subebed
Well, the biggest thing in this video is that ROS, despite its name, is not an operation system. On my first encounter with ROS it took me some time to realize that, and it's an important fact in order to understand how ROS works.
It's not stated anywhere out loud, and ROS name gives a false promise.
Yes, it is a bit of a poor naming choice and can be a bit confusing for newcomers.
I guess they want to encompass the idea that it's not just a library, or just some tools, or just a comms protocol - but then it's also not actually an OS either...