Quadruped Robot Basics

Ғылым және технология

In this video I explain some basic theory regarding quadruped (four-legged) robots.
ROS : Noetic
The project is here
drive.google.com/drive/folder...

Пікірлер: 79

  • @sally6779
    @sally6779 Жыл бұрын

    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

    Жыл бұрын

    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

    11 ай бұрын

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

  • @simonjeppesen9484
    @simonjeppesen94842 жыл бұрын

    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

  • @ErrorClements.
    @ErrorClements.10 ай бұрын

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

  • @robotmania8896

    @robotmania8896

    10 ай бұрын

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

  • @mikaeltrana8426
    @mikaeltrana8426Ай бұрын

    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

    Ай бұрын

    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

    29 күн бұрын

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

  • @maenhp2678
    @maenhp2678 Жыл бұрын

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

  • @robotmania8896

    @robotmania8896

    Жыл бұрын

    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.

  • @lixiaokang1469
    @lixiaokang1469 Жыл бұрын

    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

    Жыл бұрын

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

  • @juggernaut7453
    @juggernaut745310 ай бұрын

    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

    10 ай бұрын

    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!

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

  • @fengliu9837
    @fengliu9837 Жыл бұрын

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

  • @robotmania8896

    @robotmania8896

    Жыл бұрын

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

  • @Paul-rs4gd
    @Paul-rs4gd2 жыл бұрын

    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

    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

    Жыл бұрын

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

    Жыл бұрын

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

    Жыл бұрын

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

  • @Et3rnalFir3
    @Et3rnalFir32 жыл бұрын

    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

    2 жыл бұрын

    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

  • @daffercoll1998
    @daffercoll19982 жыл бұрын

    Nice video!

  • @robotmania8896

    @robotmania8896

    2 жыл бұрын

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

  • @teerthraj_verma
    @teerthraj_verma2 жыл бұрын

    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!

  • @oracid
    @oracid2 жыл бұрын

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

  • @robotmania8896

    @robotmania8896

    2 жыл бұрын

    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

    2 жыл бұрын

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

  • @mustafagorur7603
    @mustafagorur7603 Жыл бұрын

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

  • @robotmania8896

    @robotmania8896

    Жыл бұрын

    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~

  • @simonjeppesen9484
    @simonjeppesen94842 жыл бұрын

    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

    2 жыл бұрын

    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

    2 жыл бұрын

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

  • @kittapaschuaymee6115
    @kittapaschuaymee6115 Жыл бұрын

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

  • @robotmania8896

    @robotmania8896

    Жыл бұрын

    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.

  • @rutgervisscher5527
    @rutgervisscher5527Ай бұрын

    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

    Ай бұрын

    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.

  • @OverClockedShow
    @OverClockedShow2 жыл бұрын

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

  • @user-jx9rl1ny3h

    @user-jx9rl1ny3h

    Жыл бұрын

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

  • @OverClockedShow

    @OverClockedShow

    Жыл бұрын

    @@user-jx9rl1ny3h 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

  • @simonjeppesen9484
    @simonjeppesen94842 жыл бұрын

    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

    Жыл бұрын

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

  • @zlobinalexandr
    @zlobinalexandr2 жыл бұрын

    Hi. Do you have git repository? Very interesting project

  • @robotmania8896

    @robotmania8896

    2 жыл бұрын

    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.

  • @neo1960
    @neo19605 ай бұрын

    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

    5 ай бұрын

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

  • @neo1960

    @neo1960

    5 ай бұрын

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

    5 ай бұрын

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

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

  • @thecongo8505
    @thecongo850511 күн бұрын

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

  • @robotmania8896

    @robotmania8896

    11 күн бұрын

    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

    Күн бұрын

    @@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 kzread.info/dash/bejne/X2pt1siwZqychco.htmlsi=uuZ099Tzzx17pffy

  • @robotmania8896

    @robotmania8896

    2 сағат бұрын

    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.

  • @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
    @ravinaidu495111 ай бұрын

    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

    11 ай бұрын

    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 Жыл бұрын

    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

    Жыл бұрын

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

  • @robotmania8896

    @robotmania8896

    Жыл бұрын

    @@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 Жыл бұрын

    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

    Жыл бұрын

    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

    Жыл бұрын

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

  • @robotmania8896

    @robotmania8896

    Жыл бұрын

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

  • @tamimislam5568

    @tamimislam5568

    Жыл бұрын

    thx a lot brother

  • @tamimislam5568

    @tamimislam5568

    Жыл бұрын

    I will mail you then.

Келесі