Quadruped Robot Basics

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

КОМЕНТАРІ • 95

  • @ErrorClements.
    @ErrorClements. Рік тому +1

    Thank you so much!Trying to get into robotics,so here we go

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

      Hi ErrorClements!
      Thanks for watching my video!
      It is my pleasure if this video has helped you!

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

    Thanks so much for this amazingly informative video! I've had a look at your other uploads and they're all incredible resources for anyone into robotics, you've definitely earned a new sub for all the work you must have put in in order to produce these. Although I understood ‘enough’ to follow along, I keep getting stuck at the graphic you showed at 4:10 and can't fully get my head around what it means. What does Kp, or the s, 1/s stand for? steps? I'm probably overlooking something very easy here

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

      Hi Sally!
      Thanks for watching my video!
      This is a scheme of a PID controller. Kp, Kd, Ki are controller gains. “p”,”d” and “i” stand for proportional, differential and integral respectively. “s” and “1/s” are Laplace transformation of the differential and integral. Please refer to these pages for further information.
      en.wikipedia.org/wiki/PID_controller
      Why the Laplace transform of the integral is 1/s? - Mathematics Stack Exchange

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

      @@robotmania8896 I've had another look at it and it's a lot clearer now, thanks for taking the time to reply!

  • @Paul-rs4gd
    @Paul-rs4gd 3 роки тому +12

    Great video, thanks ! Getting a stable gait is a lot harder than it seems at first. I succeeded after quite a lot of trial and error. I still have not got my dog to turn on the spot, but I am working on it. The geometry of turning circles and foot placement is interesting, could you do a video about that...

    • @robotmania8896
      @robotmania8896  3 роки тому +2

      Hi Paul!
      Thanks for watching my video!
      I explained pivot turn at 5:23 ~. Basically, that is all I know. Here is a list of technical papers
      quadrupedalism.com/d/22-a-list-of-quad-related-papers
      I hope these papers will help you.

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

      @@robotmania8896 Great information for beginners such as me, thanks for your efforts!! The website link on technical papers is non-existent, can u kindly check and do the needful. If u could also provide any suggestion on resources for quadrupedal robots, it will be very much appreciated. Thanks in advance!!

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

      @@mukunthans3600 Thanks for watching my video!
      Yes, unfortunately that page was suspended while ago. If you are a student, maybe you can access papers like this through your university or college.
      link.springer.com/chapter/10.1007/978-3-642-41968-3_59

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

      @@robotmania8896 yeah, this will be of tremendous help!! Thanks for your immediate response. I wish you continue to make robotics more accessible to people who don't have the privilege of ivy league education

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

    Thanks,I've learned a lot from your vedio!

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

      Hi feng liu!
      Thanks for watching my video!
      I am glad that this video has helped you!

  • @1988trevor
    @1988trevor 28 днів тому

    thanks, it's very helpful

    • @robotmania8896
      @robotmania8896  27 днів тому

      Hi Ray Tang!
      Thanks for watching my video!
      It is my pleasure if this video has helped you!

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

    Thanks
    Its really hard to find such video where gaits, motion is explained in detail.

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

      Hi 55-TeerthrajVerma -Se-Elex!
      Thanks for watching my video!
      It is my pleasure if this video helps you!

  • @maenhp2678
    @maenhp2678 2 роки тому +3

    This is so cool, really appreciate it!
    Could you recommend a paper to read regarding the dynamics of quadruped? Thanks

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

      Hi MAEN HP!
      Thanks for watching my video!
      There is a lot of papers regarding machine learning of quadruped robots, but I don’t know whether there is a paper about dynamics of it. I think you should just study basic mechanics.

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

    Thank you so much for this tutorial! Its a wonderful introduction to quadruped robots and really helped me out. Have you published any paper or document about your work? I would like to reference and give credit to you.

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

      Hi juggernaut7453!
      I don’t have any papers related to this work since I am explaining already known facts from theoretical point of view. But I am glad if this video has helped you!

  • @mikaeltrana8426
    @mikaeltrana8426 9 місяців тому

    Really love your videos! This helped me out a ton when building my own quadruped and getting it to move correctly in Gazebo. I was wondering, I would like to give it a try to enable it to handle stairs as well, perhaps through some kind of reinforcement learning. What would you recommend to start looking into for solving something like that? Thanks again for the great content!

    • @robotmania8896
      @robotmania8896  9 місяців тому

      Hi Mikael Trana!
      Thanks for watching my videos!
      I think it is possible to add stairs climbing movement using classic control. The difficult part will be recognizing stairs themselves and calculating proper foot placement. Also, you have to implement torque/force sensors to detect contact with a surface.

    • @mikaeltrana8426
      @mikaeltrana8426 9 місяців тому

      @@robotmania8896 Great, thanks for the reply. Sounds lika a good idea to try solving it using classic control. Guess I was a bit eager to try out some reinforcement learning for it 😅.

  • @rutgervisscher5527
    @rutgervisscher5527 9 місяців тому

    Would be really interesting to see a video on the actual programming of the gait, how to go from the IK to the gaits... Or am I missing something here...

    • @robotmania8896
      @robotmania8896  9 місяців тому

      Hi Rutger Visscher!
      Thanks for watching my video!
      The gate describes the order and position of legs at each time step. IK calculates angle of each joint to place legs to positions specified by gate. So, both functions are implemented in this program.

  • @Et3rnalFir3
    @Et3rnalFir3 3 роки тому +1

    Hi, I am getting an error when running the script. "Could not load controller 'rear_left_shin_joint' because controller type 'effort_controllers/JointPositionController' does not exist"

    • @robotmania8896
      @robotmania8896  3 роки тому +1

      Hi Doski!
      Thanks for watching my video!
      Maybe you don’t have the necessary packages.
      Try this
      $ sudo apt install ros-noetic-ros-control
      $ sudo apt install ros-noetic-ros-controllers

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

    Hey, I've followed the instructions perfectly and have changed the chmod permission to allow gazebo to access the controller scripts. I have also installed the ros-noetic-control and controllers libraries. But the robot still cannot do the stand up function or change its pose. It just stands there in the crouch pose. Am I doing something wrong? Please help and thanks in advance.

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

      Hi Ashwath Karthikeyan!
      Thanks for watching my video!
      Are there any errors in the terminal?

  • @mikhaelsunil2383
    @mikhaelsunil2383 22 дні тому +2

    Does this work with ros2?

    • @ayushb3289
      @ayushb3289 22 дні тому

      Same que possible it may work

    • @robotmania8896
      @robotmania8896  21 день тому

      Hi Mikhael Sunil!
      Thanks for watching my video!
      Yes, there is a ROS2 version of this project in the google drive. Please find the link in the description.

    • @robotmania8896
      @robotmania8896  21 день тому

      @@ayushb3289 There is a ROS2 version of this project in the google drive. Please find the link in the description.

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

    Hi fantastic video. Are the gazebo assets publicly available?

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

      Hi Azmyin Md. Kamal!
      Thanks for watching my video!
      Yes, link to the program is in the description. Please check it.

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

    I think there's a "mistake" in the inverse kinematics. The angle you have represented in with a blue semi-circle is not atan(y/x) but pi-atan(y/x) so it would probably be easier to understand if you wrote theta1 = pi-atan(y/x) -atan(AG/OA) where pi-atan(y/x) would be blue to match your drawing. Thank you again for the great video, I just rewatched it. Best from Simon.

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

      Hi Simon Jeppesen!
      Thanks for pointing out!
      I will check it.

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

      theta1 = atan(y/x) - atan(AG/OA), am I right?

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

    Thanks for the video. I have tried to make a moving quadratic, the legs are moving but the quadratic isn’t moving

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

      Hi The Congo!
      Thanks for watching my video!
      If I understand correctly, you are talking about your own robot. If the robot is not moving, it means that there is not enough reaction force from the ground. You have to make your robot kind of kick the ground to move forward.

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

      @@robotmania8896 this is my video of the quadratic I was referring to. If you can take a look and tell me what you think the issue may be
      ua-cam.com/video/-69tfw6I6Ug/v-deo.htmlsi=uuZ099Tzzx17pffy

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

      It seems to me that the biggest problem of this structure is that your robot only has one joint on each leg. So, when the robot moves one leg, other legs resist and the robot is not able to move forward.

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

      @@robotmania8896would you suggest 2 joints on each leg?

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

      Since the robot should move its center of mass to the left and right, I actually think that 3 joints are required for each leg. Just as I described in my video.

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

    Hello, how can I control the robot from the computer, the gazebo opens but I cannot move it.

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

      Hi Mustafa Görür!
      Thanks for watching my video!
      You should use GUI which you can execute using the controller.py script. I explain it in the video at 10:20~

  • @oracid
    @oracid 3 роки тому

    Great video ! Thank you for sharing. Do you think this could work if I install Gazebo for Windows 10 ?

    • @robotmania8896
      @robotmania8896  3 роки тому +1

      Hi Oracid!
      Thanks for watching my video!
      I did a little research, and it seems that you can run gazebo and ros noetic on windows. But I personally recommend you run ros and gazebo on ubuntu. Since running ros on windows is not common, it might be difficult to find support if you got problems with it. If you are using windows, you can install VMware workstation to use ubuntu.

    • @oracid
      @oracid 3 роки тому

      @@robotmania8896 Thank you for your reply. I appreciate.

  • @daffercoll1998
    @daffercoll1998 3 роки тому +1

    Nice video!

    • @robotmania8896
      @robotmania8896  3 роки тому

      Hi D. Jetshu Queque Palomino!
      Thanks for watching my video!
      It is my pleasure if this video helps you!

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

    Is it supported in jazzy ros

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

      Hi be good!
      Thanks for watching my video!
      No, the program works only with ROS1 Noetic.

  • @towerboi-zg3it
    @towerboi-zg3it 7 місяців тому

    Very nice work! By the way, are you planning to have a github for this pkg? I think it's a good opportunity if you or someone would like to upgrade or debug something. One I have tried is migration from ros to ros2 humble env. Also, you may fixed it already, but at the beginning when I down load the code, there is some incorrect path to the mesh files in the urdf file, so it would be great if you have updated it already.

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

      Hi Towerboi!
      Thanks for watching my video!
      I am currently not planning to create a GitHub repository for this project, but I will fix errors if there are any. Please tell me in which URDF file exactly you have found an incorrect path?
      I am planning to make another tutorial with quadruped robot using ros2. But currently I have some difficulties with ros2 control (even though it might not be a ros2 control problem), so it will take me a while.

    • @towerboi-zg3it
      @towerboi-zg3it 7 місяців тому

      the : there is no /STL/base folder, in stead it should be /STL/body for the collision tag.
      I have already tried to spawn your urdf with ros2 control in Gazebo, so if you want me to share it, that's is very welcome!

    • @robotmania8896
      @robotmania8896  7 місяців тому +1

      @@towerboi-zg3it Thank you for your suggestion. I have updated the zip file in the google drive.

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

    Thank you for your great video! Can I ask some problem?
    I want to install catkin. But The problem is not solved.
    (catkin : depends: python3-catkin-pkg (>= 0.4.14-2) but it is not going to be installed)
    I used in Ubuntu 20.04. (Ryzen 5900HS + RTX 3060 Notebook).

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

      Hi NEO!
      Have you gone through all the steps described here?
      wiki.ros.org/noetic/Installation/Ubuntu

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

      @@robotmania8896 Yes. I have tried this all steps. But the problem is not solved.
      [sudo] password for dogeon:
      Reading package lists... Done
      Building dependency tree
      Reading state information... Done
      Some packages could not be installed. This may mean that you have
      requested an impossible situation or if you are using the unstable
      distribution that some required packages have not yet been created
      or been moved out of Incoming.
      The following information may help to resolve the situation:
      The following packages have unmet dependencies:
      catkin : Depends: python3-catkin-pkg (>= 0.4.14-2) but it is not going to be installed
      E: Unable to correct problems, you have held broken packages.

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

      @neo1960 Here I found identical issue to yours.
      answers.ros.org/question/258444/sudo-apt-install-catkin-not-working/
      Also, you may reinstall Ubuntu, since it seems that something is wrong with your apt.

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

    Hello, thanks for the great video.
    I use Ubuntu 18 and ROS melodic. When launching the file, there are some errors. "ImportError: dynamic module does not define module export function (PyInit__tf2)" and "ERROR: cannot launch node of type [joy/joy_node]: joy". Do you have any clue to fix these? Thank you!

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

      This project is made using ROS Noetic, so it will not run with Melodic since melodic uses python2 whereas Noetic uses python3. Also, regarding the error of joy_node, you probably have to install the joy_node package. Try to do this “sudo apt install ros-melodic-joy”.

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

    How can i open your file ? What I must download program for open this project ?

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

      Hi Kittapas Chuaymee!
      Thanks for watching my video!
      To run this project, please download the zip folder from the google drive. The link is in the description to this video.

  • @simonjeppesen9484
    @simonjeppesen9484 3 роки тому

    Hey there. Great video, loved it! We are working on building a quadruped robot, do you have any useful references you could share? We have already made the mechanical construction we are soon to implement gait controllers and probably WBC and MPC (if we have time). I am sure we can use some of your code to establish a simulation thank you!

    • @robotmania8896
      @robotmania8896  3 роки тому +1

      Hi Simon Jeppesen!
      Thanks for watching my video!
      I don’t have many articles about quadruped robots. This is the only one I could find.
      drive.google.com/drive/folders/1iQ5dOQ95Eb8nRnrZjcthdj5pu4xGXXAC?usp=sharing
      Also, you may find valuable information here
      quadrupedalism.com/d/22-a-list-of-quad-related-papers

    • @simonjeppesen9484
      @simonjeppesen9484 3 роки тому

      @@robotmania8896 That's great just what I was looking for. Thanks a lot. Best of luck with your future endeavours

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

    Hello robot mania. I am building a gazebo simulation for my own robot as well, however when I enable controllers in my simulation the robot starts slipping around. I can tell there's a bit of slip in your model as well but it is far less than what I am experiencing. Would you have any clue how to fix feet slipping? Thanks!

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

      Hi Simon Jeppesen!
      Thanks for watching my video!
      Probably this happens because either physical properties of your robot or PID gain values of joint controllers are set to inappropriate values. Please check origin, mass, inertia, friction coefficient values for each part of your robot. Also, check PID gain values in controllers.yaml file. Maybe these values are too high.

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

      @@robotmania8896 Thank you I appreciate it. I''ve gone over everything and adjusted all parameters individually it seems that I've managed to find an appropriate combination that minimizes slipping. Thanks

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

    Hello. thanks for the great video, very well explained
    I also had an error when running the script. "Could not load controller 'rear_left_shin_joint' because controller type 'effort_controllers/JointPositionController' does not exist" but when I manually run joypad.py and robot_controller_gazebo.py manually and then "roslunch" the project it works perfectly.
    I'm not familiar with ROS nor catkin. do you think you can take a look at it? thank you so much for sharing.

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

      Hi navid sabet!
      Thanks for watching my video!
      Usually, errors like “'effort_controllers/JointPositionController' does not exist" mean that you do not have necessary packages. Can you please try to run these two commands?
      $ sudo apt install ros-noetic-ros-control
      $ sudo apt install ros-noetic-ros-controllers

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

      @@robotmania8896 Thanks for your reply. It wasn't that, I didn't know I had to give them permission ( chmod +x).

    • @김지홍-t4w
      @김지홍-t4w 2 роки тому

      @@OverClockedShow Hi, can you tell me about (chmod +x) command? I'm in same problem..

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

      @@김지홍-t4w The simplest way would be, to open the terminal and go to the directory where these 2 files exist. Then type "chmod +x "
      in my case, it was like this : ~/quadrupted_robot/src/controller/scripts$ chmod +x robot_controller_gazebo.py

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

    Can you please explain the project for a beginner in robotics engineering undergrad student. Please please please please

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

      Hi Swaraj Rohan!
      Thanks for watching my video!
      In which part exactly are you having trouble understanding?

  • @zlobinalexandr
    @zlobinalexandr 3 роки тому

    Hi. Do you have git repository? Very interesting project

    • @robotmania8896
      @robotmania8896  3 роки тому

      The Zlobins, hi!
      Thanks for watching my video!
      I don’t have git repository for this project, but I have uploaded all packages to the google drive. The link is in the description. I also have explained how to use these packages in the video (9:26~). Please see that part for details.

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

    why i run this it move like an old man,cannot run fast

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

      Hi Alex Ma!
      Thanks for watching my video!
      If you increase length of the step, the robot will run faster, but you will also need to readjust PID gains of controller.

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

    If these robots can be used for agriculture purpose aunty designed for agriculture products then great advancement and that is the end of the poverty in all of the world

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

      Hi Ravi Naidu!
      Thanks for watching my video!
      I also hope that these robots will be used to help people, not to harm them.

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

    I'm new in ros and gazebo. I tried to run the project but I'm getting this error.
    ERROR: cannot launch node of type [joy/joy_node]: joy
    ROS path [0]=/opt/ros/noetic/share/ros
    ROS path [1]=/home/tamim/quadrupted_robot/src
    ROS path [2]=/opt/ros/noetic/share
    process[RAMPED_JOYSTICK-8]: started with pid [32134]
    process[ROBOT_CONTROLLER-9]: started with pid [32135]
    [INFO] [1674160616.289649, 0.000000]: Loading model XML from ros parameter robot_description
    [INFO] [1674160616.316177, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
    [INFO] [1674160616.480459, 0.000000]: Waiting for /clock to be available...
    [gazebo-2] process has died [pid 32121, exit code 255, cmd /opt/ros/noetic/lib/gazebo_ros/gzserver -e ode /home/tamim/quadrupted_robot/src/spot_gazebo/launch/world/normal.world __name:=gazebo __log:=/home/tamim/.ros/log/01d44f88-9839-11ed-8721-65622d089ba7/gazebo-2.log].
    log file: /home/tamim/.ros/log/01d44f88-9839-11ed-8721-65622d089ba7/gazebo-2*.log
    [ INFO] [1674160617.522318952]: Finished loading Gazebo ROS API Plugin.
    [ INFO] [1674160617.524098482]: waitForService: Service [/gazebo_gui/set_physics_properties] has not been advertised, waiting
    Can you please tell me how to solve the error? it will help me a lot.

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

      After getting the error gazebo is launching but inside is no robot just gazebo interface.

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

      @@tamimislam5409 I think this error occurs because you have not installed joy package. I answered you in another thread. Please refer to that answer.

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

    Thanks a lot for your tutorial. Can you please tell me why i am getting this errors?
    ERROR: cannot launch node of type [joy/joy_node]: joy
    ROS path [0]=/opt/ros/noetic/share/ros
    ROS path [1]=/home/tamim/quadrupted_robot/src
    ROS path [2]=/opt/ros/noetic/share
    process[RAMPED_JOYSTICK-8]: started with pid [32134]
    process[ROBOT_CONTROLLER-9]: started with pid [32135]
    [INFO] [1674160616.289649, 0.000000]: Loading model XML from ros parameter robot_description
    [INFO] [1674160616.316177, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
    [INFO] [1674160616.480459, 0.000000]: Waiting for /clock to be available...
    [gazebo-2] process has died [pid 32121, exit code 255, cmd /opt/ros/noetic/lib/gazebo_ros/gzserver -e ode /home/tamim/quadrupted_robot/src/spot_gazebo/launch/world/normal.world __name:=gazebo __log:=/home/tamim/.ros/log/01d44f88-9839-11ed-8721-65622d089ba7/gazebo-2.log].
    log file: /home/tamim/.ros/log/01d44f88-9839-11ed-8721-65622d089ba7/gazebo-2*.log
    [ INFO] [1674160617.522318952]: Finished loading Gazebo ROS API Plugin.
    [ INFO] [1674160617.524098482]: waitForService: Service [/gazebo_gui/set_physics_properties] has not been advertised, waiting...

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

      Hi Tamim Islam!
      Thanks for watching my video!
      Probably you don’t have the joy package. Please try this command “sudo apt install ros-noetic-joy”.

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

      I want to learn more about this project. Can you give me your social media accounts?

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

      @@tamimislam5568 Here is my e-mail address: robotmania8867@yahoo.com

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

      thx a lot brother

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

      I will mail you then.