Using ros2_control to drive our robot (off the edge of the bench...)

Поділитися
Вставка
  • Опубліковано 14 січ 2025

КОМЕНТАРІ • 88

  • @Asifkhan-lj6qm
    @Asifkhan-lj6qm 2 роки тому +22

    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.

    • @ArticulatedRobotics
      @ArticulatedRobotics  2 роки тому +4

      What a crazy coincidence, thanks!

    • @derdieterhans
      @derdieterhans 2 роки тому +2

      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

  • @benoitmalenfant5287
    @benoitmalenfant5287 2 роки тому +29

    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🙂

    • @ArticulatedRobotics
      @ArticulatedRobotics  2 роки тому +6

      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!

    • @cangozpinar
      @cangozpinar 2 роки тому +4

      Writing controllers would be great too !

  • @RamanarayananB
    @RamanarayananB Рік тому +4

    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

  • @NielsHvid
    @NielsHvid 2 роки тому +6

    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!

    • @ArticulatedRobotics
      @ArticulatedRobotics  2 роки тому +2

      Thanks! Yes I've got quite a bit of feedback on that so I definitely will be doing it at some point!

    • @ayoublakhdar3184
      @ayoublakhdar3184 11 місяців тому

      @@ArticulatedRobotics 3:34

  • @RyanHeaney42
    @RyanHeaney42 2 роки тому +2

    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
      @ArticulatedRobotics  2 роки тому +1

      Thanks so much! And that sounds like a cool project - I'm keen to see how it goes!

  • @marcinkonwerski2016
    @marcinkonwerski2016 2 роки тому +10

    Can you show how to write hardware interfaces

    • @ArticulatedRobotics
      @ArticulatedRobotics  2 роки тому +4

      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!

    • @heatherlynn1962
      @heatherlynn1962 2 роки тому

      I would be interested in this topic as well. Love your videos. They're both engaging and entertaining.

    • @AssaXO
      @AssaXO 2 роки тому +1

      @@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.

  • @varungampa1945
    @varungampa1945 Рік тому +1

    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. 😄

  • @amirraj20
    @amirraj20 2 роки тому

    Thank you for your helpful contents! Looking forward to navigation and planning based tutorials using move_base.

  • @rekabuk
    @rekabuk 2 роки тому +2

    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 🙂

    • @ArticulatedRobotics
      @ArticulatedRobotics  2 роки тому +1

      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.

    • @karanbirchahal3268
      @karanbirchahal3268 Рік тому

      Same ! Hardware interfaces video would be awesome

  • @ahskoduru9595
    @ahskoduru9595 14 днів тому

    kudos to mum and dad for their support :)

  • @ironrider4526
    @ironrider4526 2 роки тому

    Excellent tutorial. Thank you.👍

  • @FlamethrowerYT
    @FlamethrowerYT 4 місяці тому +1

    Can this be applied to 4-wheeled robots or do I need another plugin?

  • @nahushdesai691
    @nahushdesai691 2 роки тому

    I am really excited for drones

  • @alfretznehemia4253
    @alfretznehemia4253 Рік тому

    Thanks coach for this amazing video :)

  • @amoljamble2498
    @amoljamble2498 Рік тому

    thanks. will you please make videos on tricycle_controller?

  • @emilsjonans4518
    @emilsjonans4518 Рік тому +3

    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).

    • @ArticulatedRobotics
      @ArticulatedRobotics  Рік тому +1

      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?

    • @emilsjonans4518
      @emilsjonans4518 Рік тому

      @@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.

  • @vineshanand493
    @vineshanand493 Рік тому +2

    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.

  • @mhmtzks
    @mhmtzks Місяць тому

    Where is the code we will embed into Arduino?

  • @dennismoreno2158
    @dennismoreno2158 Рік тому

    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 ?

  • @ranikinnal
    @ranikinnal 5 місяців тому

    Thanks for the video! Can you also explain writing the custom hardware interfaces? If its already there please share the ref

  • @beamkeerati
    @beamkeerati Місяць тому

    Please make for humble distro using ackermann steering

  • @akhilgeorge5634
    @akhilgeorge5634 2 роки тому

    Thanks mahnnn a lot ❤️i learn a lot

  • @aromalp5353
    @aromalp5353 3 місяці тому

    thanks for the video but i am using a custom motor controller so how to make hardware interface for that?

  • @Pandakaniya
    @Pandakaniya 2 місяці тому

    What should we do if encoder values for each motor is different for a revolution?

  • @RodrigoLima-z7p
    @RodrigoLima-z7p Рік тому

    Can you make video about custom hardware interface ?

  • @Mateus-vj6fy
    @Mateus-vj6fy 2 роки тому +2

    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?

    • @ArticulatedRobotics
      @ArticulatedRobotics  2 роки тому +2

      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!

  • @wisnueepis3593
    @wisnueepis3593 8 місяців тому

    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?

  • @EricLikesTurtles
    @EricLikesTurtles Рік тому

    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?

  • @burf2000
    @burf2000 Місяць тому

    So moving to Humble, I had to install Libserial-dev to get this to compile

  • @niatoaxel5176
    @niatoaxel5176 8 місяців тому

    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?

  • @stevesfriendlyrobots5682
    @stevesfriendlyrobots5682 2 роки тому

    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.

    • @ArticulatedRobotics
      @ArticulatedRobotics  2 роки тому +1

      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!!

  • @bendthenet
    @bendthenet Рік тому +1

    Any idea why I'm not seeing moment in rviz. The robot moves just fine, and I see tf and robot model getting data.

    • @swathianila1765
      @swathianila1765 8 місяців тому

      Did you manage to sort this out? If so, how did you fix it? I'm facing the same problem.

    • @bendthenet
      @bendthenet 8 місяців тому

      @@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.

    • @onuratasever8419
      @onuratasever8419 7 місяців тому

      ​@@bendthenetbro İ have same issue how did u solve it

  • @shakeelshakeel8286
    @shakeelshakeel8286 4 місяці тому

    To control a motor like for a node to send command like "Start Motor" or "Stop Motor" what should we use Topic or Service?

  • @KSLEEProjects
    @KSLEEProjects 11 місяців тому

    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!

  • @iamdrfly
    @iamdrfly Рік тому +1

    It would be great to have a tutorial on how to write the hw interface 😀😀😀

    • @russhall1097
      @russhall1097 Рік тому

      This depends on what hardware you want to use to control the motors. If they are powerful motors, the Sabertooth is a good controller.

  • @apichartintarapanich2911
    @apichartintarapanich2911 2 роки тому

    May I ask why dont you use micro-ros instead of ros2-control? What is the advantage of using ros2-control over micro-ros?

  • @pranavpatil7312
    @pranavpatil7312 3 місяці тому

    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 ?

  • @envilonscript
    @envilonscript Рік тому

    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.

  • @manigoyal4872
    @manigoyal4872 Рік тому

    is there a source or link where I can know how to deploy the ros code on an actual bot

  • @semiuadebayo9626
    @semiuadebayo9626 6 місяців тому

    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?

  • @AzharKhan-cy5kt
    @AzharKhan-cy5kt Рік тому

    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

  • @9jatechie
    @9jatechie 2 роки тому

    Please do the tutorial on the arduino controller.

  • @alexnd98
    @alexnd98 2 роки тому

    AMAZING!

  • @jtx5868
    @jtx5868 2 роки тому

    Hey i have question , Can i use windows 10 in palce of Linux Ubuntu ?

  • @jtx5868
    @jtx5868 2 роки тому

    If i wanna add line guide vehicle (using IR) sensor where i add this option?

  • @frankfurtdynamics2783
    @frankfurtdynamics2783 Рік тому

    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?

    • @kaushikboora
      @kaushikboora 10 місяців тому

      @frankfurtdynamics2783 I am facing a similar issue. Did you figure it out?

    • @frankfurtdynamics2783
      @frankfurtdynamics2783 10 місяців тому

      @@kaushikboora it was a wiring issue in my case. Are you using the same motor driver as in the video?

    • @kaushikboora
      @kaushikboora 10 місяців тому

      @@frankfurtdynamics2783 Thanks for the reply. I have not tested this on actual device, I am facing this issue in gazebo simulation itself.

    • @frankfurtdynamics2783
      @frankfurtdynamics2783 10 місяців тому

      @@kaushikboora have you tried opening a second terminal and use ros echo?

    • @frankfurtdynamics2783
      @frankfurtdynamics2783 10 місяців тому

      @@kaushikboora use rostopic echo to see if everything is published correctly to gazebo. You can isolate the issue like that

  • @PrathameshPhulpagar-u6u
    @PrathameshPhulpagar-u6u 4 місяці тому

    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????

  • @nahushdesai691
    @nahushdesai691 2 роки тому

    Please make video on drone

  • @nahushdesai691
    @nahushdesai691 2 роки тому

    Make video on drone please

  • @RohinRaj-zx8bk
    @RohinRaj-zx8bk 7 місяців тому

    Great work.!! It would be helpful if you could provide the Arduino code that you used, Please provide the Arduino side code.

    • @oscarlovato7741
      @oscarlovato7741 7 місяців тому

      did you find the code? because i didn't find anything about arduino code

    • @chiragsharma9104
      @chiragsharma9104 6 місяців тому

      ​@@oscarlovato7741 The code is available in the motors video in the playlist

  • @codewithemmaprime
    @codewithemmaprime Рік тому

    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 😅

  • @kurious-design
    @kurious-design 2 роки тому

    i'm missing the serial.h package, which one are you using and how did you install it?

    • @ArticulatedRobotics
      @ArticulatedRobotics  2 роки тому

      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 :)