I really hope that your 3.12K subscribers turns into 312K subscribers. Your videos and the information within are equally high quality, thanks for doing what you do!
I think his channel will grow pretty well because a lot of people teach just a few near-useless things when it comes to robotics, and he gets in and actually does stuff that matters. These are the types of tutorials we really need. This stuff is very complex and if it's not taught like this, the videos are pretty much useless. What I'd like to see is someone who breaks it all down into like, software, electronics, robotic planning, maybe OS's like linux options, batteries, other various hardware types like microcontrollers/sbc's, motors types, etc. like there are SO MANY categories you have to learn SO MUCH. Would be cool to see someone do long in-depth tutorials on each topic of robotics. Then when those are all done, have like various projects (all incredibly different from one another) where they use all of that to plan and build the projects. Honestly I wish I had all this knowledge because I would probably consider creating a channel like that, but I only know probably like 2% of what I'd need to know lol. So I'd have to learn each thing as I go and it would probably take me years to get it all done.
It takes a lot for me to subscribe to any particular channel, even if I really like the videos. But I can see the long-term potential of great videos coming ahead and I am just excited by how clearly you have explained the various sections of ROS! Thanks for the content. No level of documentation can match this.
I'm looking to build something with multiple microcontrollers, possibly a jetson nano and several pi zero 2w's, several batteries powering several DC motors, but the batteries will probably be like 1 per pi zero, and otherwise they don't need to be linked or anything. They are just there to power the DC motors mostly. Could do 1 battery for all the pi zero's, or maybe run them off each battery running their DC motors idk yet. Anyway I'm creating my own linear actuators out of dc motors and probably those little z-stop switches. There will also be a LOT of sensors. I want to basically be able to use the sensors to turn the motor one way, or the other, but then it stops when it hits the z limit switch. I don't know much about this stuff...I'm aware of the hardware out there and what I want to do, but otherwise I don't know how to plan or execute a project like this. Would this be a good series? Or what other learning materials would you recommend to get good enough to do something like this?
I just came across your series Apr 26 2022. The test packages for ROS Humble LTS just came out so I thought I would see how the series builds on ubuntu 22.04 with ROS Humble as a first project on Jammy. My RPI4 only has 2GB so I might have to do a little pruning to make things fit. I'll keep you updated.
I am a bit confused. In this video, it is mentioned that a "Raspberry Pi as on-board" and a "laptop as off-board" are used and recommended. The Raspberry Pi is used to send raw data and receive results from the off-board laptop. From what I understand, the off-board laptop performs resource-intensive computations, while the Raspberry Pi primarily handles data transmission. If that’s the case, wouldn’t a non-GUI operating system be more efficient for the Raspberry Pi to optimize resource usage? Or am I missing something? That brings me to my main question: which version of the operating system should we use for the Raspberry Pi? Which OS versions are compatible with applications like building a robot using ROS2, LiDAR sensors (SLAM), and motors? For example, would Ubuntu Server 22.04 LTS (Jammy Jellyfish), Ubuntu Server 20.04 LTS (Focal Fossa), Raspberry Pi OS, Debian 11 Bullseye, Ubuntu Core, or something else be the best choice? In later videos of this RUclips series, an OS with a GUI is installed on the Raspberry Pi, which adds to my confusion. Thank you in advance for your help.
sorry ı dont now so much englısh words and , ı used subtitle everytime :) , please when ı was learn(very much learn) this language, you add subtitle for video series :) thanks so much. I like your projects. (Thanks from Turkey)
What if I want it to run mobile without my laptop around? Can I do part of the ros stuff on the pi? I don't mind doing the programming and all that on the computer, but when I'm done I want to be able to go completely mobile like take the robot to a friend's without the pc with me.
Just a tool to communicate bw different subprograms of your application. Each subprogram would be doing its own thing. For e.g., one would be an camera driver, another an image processing, another a motor driver blah blah blah...
Thanks you for the video. I have one question: Should we install the Ubuntu MATE Operating System on both the Raspberry Pi and the base station laptop?
I've got news for you; building the robot was the EASIEST part. I've worked distributed computing in the industrial sector for many years, and I have to tell you that ROS/ROS2 has a masters-level learning curve.
@@phamduyaaaa Basic ROS isn't hard to learn, and I apologize for my comment if it made ROS seem off-putting, but its basics are not very difficult at all. Getting into the deeper, more advanced functions is where things can get complicated. As a beginner, I can tell you that it is fairly complex compared to "integrated IDE environments" where everything is presented as a cohesive package, and might seem overwhelming at first, but after I waded in and became familiar I found that all of the activities are essentially repetitive, allowing me to absorb the basics at a comfortable pace. As complicated as the system can be, you will probably find that most of your time at first will be spent getting the basics like becoming comfortable with URDF, catkin, and ROS launching options, but the exercises and tutorials will demonstrate the repetitiveness of the "basics". Getting to know C++ is helpful, and will become essential for working with ROS in the future, but you don't have to worry about coding for a long while since there are so many libraries available, and it seems that the ROS tutorials will ease you into that, and before you know it you'll be modifying existing and creating C++ modules of your own. Below is some information that would have helped me in the beginning though: * WORKSTATION VS LIMITED PC DEVICES/SBCS Your main development machine will have the entire ROS system installed, but your robot controller board will probably lack the resources to run the whole package. Full-Featured Development machine gets "ROS DESKTOP" More limited Robot Control PC gets "ROS CORE" I am using a Raspberry Pi 4 8GB as a robot controller, and I did install the full package on it, but the ROS2 package developed for the Raspberry Pi stays several versions behind ("Foxy" on Ubuntu 19.04 I believe) the most recent release ("Iron" on Ubuntu 22.04 I believe). ROS recommends installing ROS Core only on the Raspberry Pi 4, but the new RPi 5 may be able to handle dev ops and robot control with ease... * MICROCONTROLLER-BASED ATMEL/Arduino devices (like the ATMEGA 2560) must run "MicroROS"... RP2040 devices (Like the Raspberry Pi Nano) must run "MicroROS"... ESP32 devices must run MicroROS...
Hi, thanks for creating these tutorial videos! Would you also happen to know if I would encounter any complicated issues during these videos if I were to go with the latest versions of ros2 (humble + ubuntu 22.04) other than maybe just switching the name of what ros i'm using when writing commands?
Great question, there was another viewer doing the same a while back. 95% of the process will be identical. There may be one or two things that work slightly differently and if you get stuck on those I can probably give you a hand (I forget what). The biggest hurdle at the moment is that if you were to build the same robot as I am in my other tutorial series, and use my motor control code, it will only work on foxy. But I plan to release a humble update at some point (probably at the end of the project so maybe start of next year)
@@educateme7286 I didn't, I went through the tutorial playlist well. I only did the simulation part of things though, didn't work with a physical robot.
Thanks Georgia, ROS2 platform support is sorted into 3 tiers and only 64-bit platforms have Tier 1 support. According to www.ros.org/reps/rep-2000.html arm32 has Tier 3 support and can be compiled from source, and x86 is not supported at all. Unless you really know what you're doing I strongly recommend sticking with 64-bit and installing using the official repo (there will be a video on that soon!).
Hi Victor! I haven't actually tried it, but I've been meaning to (I don't spend much time on Windows). WSL has been moving so quickly - it was not that long ago that we couldn't run GUI programs at all and now we can run full 3D software! I think both methods have a chance of problems, I'm personally more familiar with VMs and happier to deal with its issues, but depending on your hardware and your background experience, you may find WSL to be a smoother approach. Maybe you can give it a go and report back with your finding ;) I'd like to do a video on it but it's low on my priorities at the moment (and hopefully support will improve between now and then).
It's worth noting that in both cases the issues you're most likely to run into are around the 3D graphics rendering (e.g. RViz, Gazebo). And possibly driver issues when connecting to physical hardware. All the core ROS stuff should work just fine either way.
Hi there, I'm currently trying to learn Gazebo and using ros + gazebo + wsl2 on windows. I'm having a GUI by starting an xrdp server on my wsl2 ubuntu and using windows remote connection to look at it. I just installed it and tried to run Gazebo, everything seems to work well. Now that you have a bit of experience would you mind sharing how it went for you ? Did you stumble across specific problems or is everything alright ?
@@godetarnaud1005 If you are interested in connecting real hardware via USB ports (LIDAR sensor, Camera etc.) then WSL2 currently does not support it. It works great for simulations and other virtual stuff.
Hmm, I suppose it's not ideal (one could get mixed up between /dev and /home/dev, or in the case of ROS the confusion of /home/dev/dev_ws) but I don't see that as a hard rule not to. Is there another reason? I wanted something fairly generic (and not "ubuntu" as many have) that indicated clearly when I was logged into the dev machine rather than the robot (over ssh). I'd happily consider an appropriate alternative for future builds.
@@ArticulatedRobotics more of a personal pref, first time I used ubuntu for dev , and I didn't have a clue about linux, I also had the username as dev. I would say it would get confusing for beginners. But if your familiar with linux, then go for it I guess, since you obviously easily recognise if its /dev or ~/dev. :P
I really hope that your 3.12K subscribers turns into 312K subscribers. Your videos and the information within are equally high quality, thanks for doing what you do!
Thanks so much, I appreciate it!
I think his channel will grow pretty well because a lot of people teach just a few near-useless things when it comes to robotics, and he gets in and actually does stuff that matters. These are the types of tutorials we really need. This stuff is very complex and if it's not taught like this, the videos are pretty much useless. What I'd like to see is someone who breaks it all down into like, software, electronics, robotic planning, maybe OS's like linux options, batteries, other various hardware types like microcontrollers/sbc's, motors types, etc. like there are SO MANY categories you have to learn SO MUCH. Would be cool to see someone do long in-depth tutorials on each topic of robotics. Then when those are all done, have like various projects (all incredibly different from one another) where they use all of that to plan and build the projects. Honestly I wish I had all this knowledge because I would probably consider creating a channel like that, but I only know probably like 2% of what I'd need to know lol. So I'd have to learn each thing as I go and it would probably take me years to get it all done.
It takes a lot for me to subscribe to any particular channel, even if I really like the videos. But I can see the long-term potential of great videos coming ahead and I am just excited by how clearly you have explained the various sections of ROS! Thanks for the content. No level of documentation can match this.
Thanks so much!
@@ArticulatedRoboticsyour content is so awesome❤
This is just the video I was looking for. Thank you
I really enjoyed this video. Clear, concise and to the point. You got my sub.
Thanks Devin!
Super helpful!!
Very useful!
You're the best. Thanks!
I'm looking to build something with multiple microcontrollers, possibly a jetson nano and several pi zero 2w's, several batteries powering several DC motors, but the batteries will probably be like 1 per pi zero, and otherwise they don't need to be linked or anything. They are just there to power the DC motors mostly. Could do 1 battery for all the pi zero's, or maybe run them off each battery running their DC motors idk yet. Anyway I'm creating my own linear actuators out of dc motors and probably those little z-stop switches. There will also be a LOT of sensors. I want to basically be able to use the sensors to turn the motor one way, or the other, but then it stops when it hits the z limit switch. I don't know much about this stuff...I'm aware of the hardware out there and what I want to do, but otherwise I don't know how to plan or execute a project like this. Would this be a good series? Or what other learning materials would you recommend to get good enough to do something like this?
I just came across your series Apr 26 2022. The test packages for ROS Humble LTS just came out so I thought I would see how the series builds on ubuntu 22.04 with ROS Humble as a first project on Jammy. My RPI4 only has 2GB so I might have to do a little pruning to make things fit. I'll keep you updated.
Haha. I had quite a bit of difficulty in figuring out the difference between foxy and humble.
Can u plz give me a update on this as I also started with humble
I am a bit confused. In this video, it is mentioned that a "Raspberry Pi as on-board" and a "laptop as off-board" are used and recommended. The Raspberry Pi is used to send raw data and receive results from the off-board laptop. From what I understand, the off-board laptop performs resource-intensive computations, while the Raspberry Pi primarily handles data transmission. If that’s the case, wouldn’t a non-GUI operating system be more efficient for the Raspberry Pi to optimize resource usage? Or am I missing something?
That brings me to my main question: which version of the operating system should we use for the Raspberry Pi? Which OS versions are compatible with applications like building a robot using ROS2, LiDAR sensors (SLAM), and motors? For example, would Ubuntu Server 22.04 LTS (Jammy Jellyfish), Ubuntu Server 20.04 LTS (Focal Fossa), Raspberry Pi OS, Debian 11 Bullseye, Ubuntu Core, or something else be the best choice? In later videos of this RUclips series, an OS with a GUI is installed on the Raspberry Pi, which adds to my confusion.
Thank you in advance for your help.
Really helpful please upload more videos
Hope your next video has subtitles
sorry ı dont now so much englısh words and , ı used subtitle everytime :) , please when ı was learn(very much learn) this language, you add subtitle for video series :) thanks so much. I like your projects. (Thanks from Turkey)
Can we use ESP32 instead of of the Pi since we just need to pass sensor data?
thanks for the very nice vids. I however, do have an unrelated question: how did you add the text DEV MACHINE to the wallpaper/background??
Haha good question! I think I dug around in the OS until I found the default backgrounds directory and edited the image with GIMP :)
Thanks for the video.
Please can I use an Arduino una board or an ESP32 chip instead of the Raspberry 4 you talked about
What if I want it to run mobile without my laptop around? Can I do part of the ros stuff on the pi? I don't mind doing the programming and all that on the computer, but when I'm done I want to be able to go completely mobile like take the robot to a friend's without the pc with me.
I'm still not sure who Ros is
Frasier Crane's producer.
Chandler's best friend
Just a tool to communicate bw different subprograms of your application. Each subprogram would be doing its own thing. For e.g., one would be an camera driver, another an image processing, another a motor driver blah blah blah...
😂Mike Ros
😂😂
Thanks you for the video. I have one question: Should we install the Ubuntu MATE Operating System on both the Raspberry Pi and the base station laptop?
Can the on board computer be an ESP32?
Dispuesto a aprender. Gracias! Sería muy útil contar con los subtítulos en ingles para poder captar todo lo que dices.
can i use ESP32 S3 instead of RPI?
I've got news for you; building the robot was the EASIEST part.
I've worked distributed computing in the industrial sector for many years, and I have to tell you that ROS/ROS2 has a masters-level learning curve.
Is ROS very difficult ?😢
@@phamduyaaaa Basic ROS isn't hard to learn, and I apologize for my comment if it made ROS seem off-putting, but its basics are not very difficult at all. Getting into the deeper, more advanced functions is where things can get complicated.
As a beginner, I can tell you that it is fairly complex compared to "integrated IDE environments" where everything is presented as a cohesive package, and might seem overwhelming at first, but after I waded in and became familiar I found that all of the activities are essentially repetitive, allowing me to absorb the basics at a comfortable pace.
As complicated as the system can be, you will probably find that most of your time at first will be spent getting the basics like becoming comfortable with URDF, catkin, and ROS launching options, but the exercises and tutorials will demonstrate the repetitiveness of the "basics".
Getting to know C++ is helpful, and will become essential for working with ROS in the future, but you don't have to worry about coding for a long while since there are so many libraries available, and it seems that the ROS tutorials will ease you into that, and before you know it you'll be modifying existing and creating C++ modules of your own.
Below is some information that would have helped me in the beginning though:
* WORKSTATION VS LIMITED PC DEVICES/SBCS
Your main development machine will have the entire ROS system installed, but your robot controller board will probably lack the resources to run the whole package.
Full-Featured Development machine gets "ROS DESKTOP"
More limited Robot Control PC gets "ROS CORE"
I am using a Raspberry Pi 4 8GB as a robot controller, and I did install the full package on it, but the ROS2 package developed for the Raspberry Pi stays several versions behind ("Foxy" on Ubuntu 19.04 I believe) the most recent release ("Iron" on Ubuntu 22.04 I believe).
ROS recommends installing ROS Core only on the Raspberry Pi 4, but the new RPi 5 may be able to handle dev ops and robot control with ease...
* MICROCONTROLLER-BASED
ATMEL/Arduino devices (like the ATMEGA 2560) must run "MicroROS"...
RP2040 devices (Like the Raspberry Pi Nano) must run "MicroROS"...
ESP32 devices must run MicroROS...
Hi, thanks for creating these tutorial videos! Would you also happen to know if I would encounter any complicated issues during these videos if I were to go with the latest versions of ros2 (humble + ubuntu 22.04) other than maybe just switching the name of what ros i'm using when writing commands?
Great question, there was another viewer doing the same a while back.
95% of the process will be identical. There may be one or two things that work slightly differently and if you get stuck on those I can probably give you a hand (I forget what).
The biggest hurdle at the moment is that if you were to build the same robot as I am in my other tutorial series, and use my motor control code, it will only work on foxy. But I plan to release a humble update at some point (probably at the end of the project so maybe start of next year)
@@ArticulatedRobotics Thank you!
@@yingkailee3768 have you observed any other issues along the way while using ROS Humble?
@@educateme7286 I didn't, I went through the tutorial playlist well. I only did the simulation part of things though, didn't work with a physical robot.
Do we have to install the server or the core version of Ubuntu 20.04 on the rpi?
Can I do the development on Raspberry Pi 4 as well ?
Which Pi board do I need?
Very interesting! Why does it need to be the 64-bit version of the OS though?
Thanks Georgia, ROS2 platform support is sorted into 3 tiers and only 64-bit platforms have Tier 1 support.
According to www.ros.org/reps/rep-2000.html arm32 has Tier 3 support and can be compiled from source, and x86 is not supported at all.
Unless you really know what you're doing I strongly recommend sticking with 64-bit and installing using the official repo (there will be a video on that soon!).
Is it all the time required to connect my pc(dev machine) with rasPi all the time. If not so how could i do that.
what do you think about using ros + gazebo+ wsl2 in windows? or is better idea using a virtual machine?
Hi Victor!
I haven't actually tried it, but I've been meaning to (I don't spend much time on Windows). WSL has been moving so quickly - it was not that long ago that we couldn't run GUI programs at all and now we can run full 3D software!
I think both methods have a chance of problems, I'm personally more familiar with VMs and happier to deal with its issues, but depending on your hardware and your background experience, you may find WSL to be a smoother approach. Maybe you can give it a go and report back with your finding ;)
I'd like to do a video on it but it's low on my priorities at the moment (and hopefully support will improve between now and then).
It's worth noting that in both cases the issues you're most likely to run into are around the 3D graphics rendering (e.g. RViz, Gazebo). And possibly driver issues when connecting to physical hardware.
All the core ROS stuff should work just fine either way.
@@ArticulatedRobotics Thanks for your reply, I really enjoy your channel! I will try both methods and let you know. :D
Hi there, I'm currently trying to learn Gazebo and using ros + gazebo + wsl2 on windows. I'm having a GUI by starting an xrdp server on my wsl2 ubuntu and using windows remote connection to look at it.
I just installed it and tried to run Gazebo, everything seems to work well.
Now that you have a bit of experience would you mind sharing how it went for you ? Did you stumble across specific problems or is everything alright ?
@@godetarnaud1005 If you are interested in connecting real hardware via USB ports (LIDAR sensor, Camera etc.) then WSL2 currently does not support it. It works great for simulations and other virtual stuff.
if i could, i would subscribe twice
Would you suggest a towel?
You should always know where your towel is.
@@noiwonttellyoumyname.4385 Thats cool! Just as long as you know where your's is;)
Dont have the username as "dev" , especially for linux.
Hmm, I suppose it's not ideal (one could get mixed up between /dev and /home/dev, or in the case of ROS the confusion of /home/dev/dev_ws) but I don't see that as a hard rule not to. Is there another reason?
I wanted something fairly generic (and not "ubuntu" as many have) that indicated clearly when I was logged into the dev machine rather than the robot (over ssh). I'd happily consider an appropriate alternative for future builds.
@@ArticulatedRobotics more of a personal pref, first time I used ubuntu for dev , and I didn't have a clue about linux, I also had the username as dev. I would say it would get confusing for beginners. But if your familiar with linux, then go for it I guess, since you obviously easily recognise if its /dev or ~/dev. :P
Does Ubuntu get installed on Windows or Linux?
With a virtual machine like VirtualBox, yes.