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

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ก.ย. 2024

ความคิดเห็น • 82

  • @Asifkhan-lj6qm
    @Asifkhan-lj6qm ปีที่แล้ว +20

    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  ปีที่แล้ว +3

      What a crazy coincidence, thanks!

    • @derdieterhans
      @derdieterhans ปีที่แล้ว +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 ปีที่แล้ว +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  ปีที่แล้ว +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 ปีที่แล้ว +4

      Writing controllers would be great too !

  • @RamanarayananB
    @RamanarayananB ปีที่แล้ว +2

    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 ปีที่แล้ว +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

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

    • @ayoublakhdar3184
      @ayoublakhdar3184 7 หลายเดือนก่อน

      @@ArticulatedRobotics 3:34

  • @marcinkonwerski2016
    @marcinkonwerski2016 ปีที่แล้ว +10

    Can you show how to write hardware interfaces

    • @ArticulatedRobotics
      @ArticulatedRobotics  ปีที่แล้ว +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 ปีที่แล้ว

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

    • @AssaXO
      @AssaXO ปีที่แล้ว +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.

  • @RyanHeaney42
    @RyanHeaney42 ปีที่แล้ว +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  ปีที่แล้ว +1

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

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

  • @rekabuk
    @rekabuk ปีที่แล้ว +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  ปีที่แล้ว +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

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

  • @amirraj20
    @amirraj20 ปีที่แล้ว

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

  • @FlamethrowerYT
    @FlamethrowerYT 27 วันที่ผ่านมา +1

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

  • @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 th-cam.com/video/J02jEKawE5U/w-d-xo.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.

  • @ranikinnal
    @ranikinnal หลายเดือนก่อน

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

  • @shakeelshakeel8286
    @shakeelshakeel8286 18 วันที่ผ่านมา

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

  • @aromalp5353
    @aromalp5353 18 ชั่วโมงที่ผ่านมา

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

  • @Mateus-vj6fy
    @Mateus-vj6fy ปีที่แล้ว +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

      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!

  • @semiuadebayo9626
    @semiuadebayo9626 2 หลายเดือนก่อน

    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?

  • @niatoaxel5176
    @niatoaxel5176 4 หลายเดือนก่อน

    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?

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

  • @KSLEEProjects
    @KSLEEProjects 7 หลายเดือนก่อน

    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!

  • @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 4 หลายเดือนก่อน

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

    • @bendthenet
      @bendthenet 4 หลายเดือนก่อน

      @@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 4 หลายเดือนก่อน

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

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

  • @apichartintarapanich2911
    @apichartintarapanich2911 ปีที่แล้ว

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

  • @wisnueepis3593
    @wisnueepis3593 4 หลายเดือนก่อน

    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?

  • @PrathameshPhulpagar-u6u
    @PrathameshPhulpagar-u6u 21 วันที่ผ่านมา

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

  • @amoljamble2498
    @amoljamble2498 11 หลายเดือนก่อน

    thanks. will you please make videos on tricycle_controller?

  • @stevesfriendlyrobots5682
    @stevesfriendlyrobots5682 ปีที่แล้ว

    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  ปีที่แล้ว +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!!

  • @jtx5868
    @jtx5868 ปีที่แล้ว

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

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

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

  • @nahushdesai691
    @nahushdesai691 ปีที่แล้ว

    I am really excited for drones

  • @jtx5868
    @jtx5868 ปีที่แล้ว

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

  • @RodrigoLima-z7p
    @RodrigoLima-z7p 11 หลายเดือนก่อน

    Can you make video about custom hardware interface ?

  • @manigoyal4872
    @manigoyal4872 ปีที่แล้ว

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

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

  • @ironrider4526
    @ironrider4526 ปีที่แล้ว

    Excellent tutorial. Thank you.👍

  • @alfretznehemia4253
    @alfretznehemia4253 ปีที่แล้ว

    Thanks coach for this amazing video :)

  • @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 😅

  • @9jatechie
    @9jatechie ปีที่แล้ว

    Please do the tutorial on the arduino controller.

  • @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 6 หลายเดือนก่อน

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

    • @frankfurtdynamics2783
      @frankfurtdynamics2783 6 หลายเดือนก่อน

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

    • @kaushikboora
      @kaushikboora 6 หลายเดือนก่อน

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

    • @frankfurtdynamics2783
      @frankfurtdynamics2783 6 หลายเดือนก่อน

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

    • @frankfurtdynamics2783
      @frankfurtdynamics2783 6 หลายเดือนก่อน

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

  • @akhilgeorge5634
    @akhilgeorge5634 ปีที่แล้ว

    Thanks mahnnn a lot ❤️i learn a lot

  • @RohinRaj-zx8bk
    @RohinRaj-zx8bk 4 หลายเดือนก่อน

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

    • @oscarlovato7741
      @oscarlovato7741 3 หลายเดือนก่อน

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

    • @chiragsharma9104
      @chiragsharma9104 3 หลายเดือนก่อน

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

  • @nahushdesai691
    @nahushdesai691 ปีที่แล้ว

    Please make video on drone

  • @alexnd98
    @alexnd98 ปีที่แล้ว

    AMAZING!

  • @nahushdesai691
    @nahushdesai691 ปีที่แล้ว

    Make video on drone please

  • @kurious-design
    @kurious-design ปีที่แล้ว

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

    • @ArticulatedRobotics
      @ArticulatedRobotics  ปีที่แล้ว

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