I dont believe this happend, when i needed some tutorial on ros2_control and my just subscribed channel owner uploaded a video on the same. Your videos are way better than other ROS tutorials on the internet so far.
To be honest, sources I searched all along aren't that clear especially at beginner's level. Seriously Hats off to you, you're video is really helping me in my project
Your videos are so incredibly concise and right to the point! I would love to see a video where you dive into writing a hardware interface, I think it would be of great value to the entire ros community!
Ah thanks once again for another awesome edition of your tutorial! I've been starting building a self-driving trike to take to the Burning Man event next year, and your videos have been a crucial part of making that happen. Can't wait to see it all come together (with your help!) Thanks again!
@@ArticulatedRobotics IU would be interested in this too, steering with a MD25 directly from the PI (so no arduino but a motor controller) and not sure how to make the hardware-interface node.
Thank you so much for these tutorials, they are great! As I lean into controls, this is especially useful. Would also appreciate a lot if you could cover a tutorial on how to write the controller plugin (or use any of the other ros2 controllers, that is how to find what params are required as they are not specified clearly in documentation) and how the hardware interface is written. 😄
I'm really enjoying your videos and learning a lot, thank-you. I am stuck writing a hardware interface for Humble, so a video on that would be very much appreciated 🙂
Thanks, yes I definitely will be doing a tutorial on writing a Humble hardware interface, probably the first thing once this series is finished as many people have been asking.
Following along this series, and I have to say that this is a bit outdated. Because after trying my own code I noticed that if I use ros-humble with humble branches for `diffdrive_arduino ` and `articubot_one `. It will not work since there is no `DiffDriveArduino` instead there is "DiffDriveArduinoHardware". Another thing is after you fix that the DiffDriveArduinoHardware class crashes because it cant find `timeout_ms` key since there is no such thing in `ros2_control.xacro`. After that is fixed it still fails to launch and complains about `state_interface` order for wheels (position first and then velocity).
Yes it's unfortunate the way a small software update can break things :( I would have expected the humble branches to work though - I cover this in a fair bit of detail in this video ua-cam.com/video/J02jEKawE5U/v-deo.html so maybe check that out if you haven't already?
@@ArticulatedRobotics I understand that. I will look at that video later once I will be finished with the series and I'll need to implement my own hardware. Btw do you have any videos or blog posts on communication troubleshooting between two machines using ros2? Because for some reason my PI sometimes won't receive any data, but when I use "ros2 multicast" PC can send and receive, but the pi can only send when this happens.
Hi, thank you for your videos. So I'm getting this error when I build the diffdrive_arduino package: Starting >>> diffdrive_arduino --- stderr: diffdrive_arduino CMake Error at cmake_install.cmake:95 (file): file INSTALL cannot find ".../src/diffdrive_arduino/description": No such file or directory. If I remove the description from the CMake file, the compilation works well... why do we need to install this directory?
Thanks Mateus, you are absolutely right and I thought I had pushed that fix but apparently not. An earlier version of the code had an example xacro in a descriptions directory which I later deleted, but forgot to delete the install line. The fix should be pushed now - thanks for bringing it to my attention!
Hi Josh! I'm still not clear about your diffdrive package. I have been through this series and suddenly jumped up to this package at this video. As far as I know for HW level communication you are using serial_demo_msg package. I have been developing serial_demo_nsg to listen to Twist messages and pass them through the robot. and this stage come up and makes me confused. and this package is based on C++. I understand a little about all those cmake stuff. but can you give more explanation about diffdrive package, please?
Lidar mismatch at 20:00 appears to me to be more related to timing (between odometry and lidar stamps) than odometry error. Do you still see this after fixing your robot?
Hello, thank you for this tutorial. I would like to know if it is possible to use an accelerometer and a gyroscope for feedback instead of the motor encoders?
This series is so great. Thank you for putting it together. I would like to join the discourse community but I am not getting emails to verify my account.
Thanks so much for bringing this to my attention, as soon as I saw your comment yesterday I started looking into it and apparently the email system has been down for a while! I hope I have got it fixed now, please have another try at logging in and let me know if there are any troubles :) Sorry!!
Hello, your tutorial is great and I've been following it to a T! Though, when using the teleop keyboard something is causing the robot to drift to the left in real life and in rviz. It also happens when I used the miniterm command to test the encoders from your motors video. The left encoder returned a different value than the right encoder. Do you know where in your code that could be causing that? Thanks in advance!
Sir, did we need to write a certain algorithm for controlling the robot?? or ros2_control will crate the algorithms by itself ? can we implement other control algorithm other than PID ?
Hey, thanks for the great videos! What if I wanted to run gazebo simulation where I spawn multiple copies of this robots and control them with the same teleoperation inputs (so they move in sync)? I recon I need to run multiple robot_state_publisher, multiple spawn_entity scripts and multiple control managers with some namespaces, but I can't get it to work.
please make a tutorial on 5 dof robotic arm gazebo simulation controlled by 5 potentiometers and the potentiometers data is published through esp32 microconroller and then the physical robot mimics the simulation robot or the simulation robot mimics the actual robot, both are acceptable but please make a tutorial as soon as possible i really need it
i wanted to change the topic name from cmd_vel to any another i have tryed using this smd_vel_ok in code but its not working any way i can change default topic name????
Hi Jake, sorry it was a bit quick but at 4:46 you'll see I clone the serial package as well as the diffdrive_arduino package. I made a comment about that package earlier that it's an external dependency which would be nice to be able to install through apt but for now I've made a fork that just needs to be cloned in. Hope that helps :)
I dont believe this happend, when i needed some tutorial on ros2_control and my just subscribed channel owner uploaded a video on the same. Your videos are way better than other ROS tutorials on the internet so far.
What a crazy coincidence, thanks!
It was the same for me! I looked for a tutorial for 2 hours, and then I came across this one, posted like 40min ago, nice :D
1000x thanks, this is the best ROS content, keep it up! Would really like to see a vid about writing hardware interfaces too, that’d be great🙂
Thanks, I have had a lot of feedback on this so I think it will be the first thing I do once the main part of this series is finished!
Writing controllers would be great too !
To be honest, sources I searched all along aren't that clear especially at beginner's level. Seriously Hats off to you, you're video is really helping me in my project
Thank you!
Your videos are so incredibly concise and right to the point!
I would love to see a video where you dive into writing a hardware interface, I think it would be of great value to the entire ros community!
Thanks! Yes I've got quite a bit of feedback on that so I definitely will be doing it at some point!
@@ArticulatedRobotics 3:34
Ah thanks once again for another awesome edition of your tutorial! I've been starting building a self-driving trike to take to the Burning Man event next year, and your videos have been a crucial part of making that happen. Can't wait to see it all come together (with your help!) Thanks again!
Thanks so much! And that sounds like a cool project - I'm keen to see how it goes!
Can you show how to write hardware interfaces
Thanks, I have had a lot of feedback on this so I think it will be the first thing I do once the main part of this series is finished!
I would be interested in this topic as well. Love your videos. They're both engaging and entertaining.
@@ArticulatedRobotics IU would be interested in this too, steering with a MD25 directly from the PI (so no arduino but a motor controller) and not sure how to make the hardware-interface node.
Thank you so much for these tutorials, they are great! As I lean into controls, this is especially useful. Would also appreciate a lot if you could cover a tutorial on how to write the controller plugin (or use any of the other ros2 controllers, that is how to find what params are required as they are not specified clearly in documentation) and how the hardware interface is written. 😄
Thank you for your helpful contents! Looking forward to navigation and planning based tutorials using move_base.
I'm really enjoying your videos and learning a lot, thank-you. I am stuck writing a hardware interface for Humble, so a video on that would be very much appreciated 🙂
Thanks, yes I definitely will be doing a tutorial on writing a Humble hardware interface, probably the first thing once this series is finished as many people have been asking.
Same ! Hardware interfaces video would be awesome
kudos to mum and dad for their support :)
Excellent tutorial. Thank you.👍
Thanks!
Can this be applied to 4-wheeled robots or do I need another plugin?
I am really excited for drones
Thanks coach for this amazing video :)
thanks. will you please make videos on tricycle_controller?
Following along this series, and I have to say that this is a bit outdated. Because after trying my own code I noticed that if I use ros-humble with humble branches for `diffdrive_arduino ` and `articubot_one `. It will not work since there is no `DiffDriveArduino` instead there is "DiffDriveArduinoHardware". Another thing is after you fix that the DiffDriveArduinoHardware class crashes because it cant find `timeout_ms` key since there is no such thing in `ros2_control.xacro`. After that is fixed it still fails to launch and complains about `state_interface` order for wheels (position first and then velocity).
Yes it's unfortunate the way a small software update can break things :(
I would have expected the humble branches to work though - I cover this in a fair bit of detail in this video ua-cam.com/video/J02jEKawE5U/v-deo.html so maybe check that out if you haven't already?
@@ArticulatedRobotics I understand that. I will look at that video later once I will be finished with the series and I'll need to implement my own hardware.
Btw do you have any videos or blog posts on communication troubleshooting between two machines using ros2? Because for some reason my PI sometimes won't receive any data, but when I use "ros2 multicast" PC can send and receive, but the pi can only send when this happens.
I'm facing a issue in running my robot model in rviz (tf is freezing) but it is functioning well in hardware. help me to resolve this problem.
Yes same problem for me pls help
Do you slove it . If u solved it pls help me
@@seenivaasseenivaas8072did you solve it ?
Where is the code we will embed into Arduino?
Thanks for the great work that you provide to the community! Also, could you make a video going over on how to create a plugin in ROS2 ?
Thanks! And yep it's on the to do list :)
Thanks for the video! Can you also explain writing the custom hardware interfaces? If its already there please share the ref
Please make for humble distro using ackermann steering
Thanks mahnnn a lot ❤️i learn a lot
thanks for the video but i am using a custom motor controller so how to make hardware interface for that?
What should we do if encoder values for each motor is different for a revolution?
Can you make video about custom hardware interface ?
Hi, thank you for your videos. So I'm getting this error when I build the diffdrive_arduino package:
Starting >>> diffdrive_arduino --- stderr: diffdrive_arduino CMake Error at cmake_install.cmake:95 (file): file INSTALL cannot find ".../src/diffdrive_arduino/description": No such file or directory.
If I remove the description from the CMake file, the compilation works well... why do we need to install this directory?
Thanks Mateus, you are absolutely right and I thought I had pushed that fix but apparently not.
An earlier version of the code had an example xacro in a descriptions directory which I later deleted, but forgot to delete the install line.
The fix should be pushed now - thanks for bringing it to my attention!
Hi Josh! I'm still not clear about your diffdrive package. I have been through this series and suddenly jumped up to this package at this video. As far as I know for HW level communication you are using serial_demo_msg package. I have been developing serial_demo_nsg to listen to Twist messages and pass them through the robot. and this stage come up and makes me confused. and this package is based on C++. I understand a little about all those cmake stuff. but can you give more explanation about diffdrive package, please?
Lidar mismatch at 20:00 appears to me to be more related to timing (between odometry and lidar stamps) than odometry error. Do you still see this after fixing your robot?
So moving to Humble, I had to install Libserial-dev to get this to compile
Hello, thank you for this tutorial. I would like to know if it is possible to use an accelerometer and a gyroscope for feedback instead of the motor encoders?
This series is so great. Thank you for putting it together. I would like to join the discourse community but I am not getting emails to verify my account.
Thanks so much for bringing this to my attention, as soon as I saw your comment yesterday I started looking into it and apparently the email system has been down for a while!
I hope I have got it fixed now, please have another try at logging in and let me know if there are any troubles :)
Sorry!!
Any idea why I'm not seeing moment in rviz. The robot moves just fine, and I see tf and robot model getting data.
Did you manage to sort this out? If so, how did you fix it? I'm facing the same problem.
@@swathianila1765I did at some point but can’t remember of the top of my head. I’ll post my project if I can find it.
@@bendthenetbro İ have same issue how did u solve it
To control a motor like for a node to send command like "Start Motor" or "Stop Motor" what should we use Topic or Service?
Hello, your tutorial is great and I've been following it to a T!
Though, when using the teleop keyboard something is causing the robot to drift to the left in real life and in rviz.
It also happens when I used the miniterm command to test the encoders from your motors video. The left encoder returned a different value than the right encoder.
Do you know where in your code that could be causing that?
Thanks in advance!
It would be great to have a tutorial on how to write the hw interface 😀😀😀
This depends on what hardware you want to use to control the motors. If they are powerful motors, the Sabertooth is a good controller.
May I ask why dont you use micro-ros instead of ros2-control? What is the advantage of using ros2-control over micro-ros?
Sir,
did we need to write a certain algorithm for controlling the robot??
or ros2_control will crate the algorithms by itself ?
can we implement other control algorithm other than PID ?
Hey, thanks for the great videos!
What if I wanted to run gazebo simulation where I spawn multiple copies of this robots and control them with the same teleoperation inputs (so they move in sync)? I recon I need to run multiple robot_state_publisher, multiple spawn_entity scripts and multiple control managers with some namespaces, but I can't get it to work.
is there a source or link where I can know how to deploy the ros code on an actual bot
Hi Josh, how about if I'm not using Arduino, but controlling from same Raspberry Pi? how do I go about the ROS2_Controll part?
please make a tutorial on 5 dof robotic arm gazebo simulation controlled by 5 potentiometers and the potentiometers data is published through esp32 microconroller and then the physical robot mimics the simulation robot or the simulation robot mimics the actual robot, both are acceptable but please make a tutorial as soon as possible i really need it
Please do the tutorial on the arduino controller.
AMAZING!
Hey i have question , Can i use windows 10 in palce of Linux Ubuntu ?
If i wanna add line guide vehicle (using IR) sensor where i add this option?
I have a really weird Issue. The robot drives forwards and backwards fine but it doesn't turn. Is that a bug you had in your code as well?
@frankfurtdynamics2783 I am facing a similar issue. Did you figure it out?
@@kaushikboora it was a wiring issue in my case. Are you using the same motor driver as in the video?
@@frankfurtdynamics2783 Thanks for the reply. I have not tested this on actual device, I am facing this issue in gazebo simulation itself.
@@kaushikboora have you tried opening a second terminal and use ros echo?
@@kaushikboora use rostopic echo to see if everything is published correctly to gazebo. You can isolate the issue like that
i wanted to change the topic name from cmd_vel to any another
i have tryed using this
smd_vel_ok
in code but its not working any way i can change default topic name????
Please make video on drone
Make video on drone please
Great work.!! It would be helpful if you could provide the Arduino code that you used, Please provide the Arduino side code.
did you find the code? because i didn't find anything about arduino code
@@oscarlovato7741 The code is available in the motors video in the playlist
Hey Josh thanks for the tutorial
I have got a bit of a funny problem. The front of my real robot is actually at the back in rviz 😅
i'm missing the serial.h package, which one are you using and how did you install it?
Hi Jake, sorry it was a bit quick but at 4:46 you'll see I clone the serial package as well as the diffdrive_arduino package.
I made a comment about that package earlier that it's an external dependency which would be nice to be able to install through apt but for now I've made a fork that just needs to be cloned in. Hope that helps :)