unitreerobotics / unitree_legged_sdk

SDK tools for control robots.
BSD 3-Clause "New" or "Revised" License
283 stars 156 forks source link

SDK implements gesture control of GO1 #89

Open 1874ruanshaodong opened 1 year ago

1874ruanshaodong commented 1 year ago

How to apply the SDK to realize the attitude control of GO1, should I use the bottom layer or the top layer? I saw that your books introduced related class implementations, but I didn’t find it on github. Do I need to implement it step by step at the bottom layer?

xyq1223 commented 1 year ago

Hello,the posture control of the robot dog you mentioned is to stand on the ground with four legs and then adjust the posture of the robot, which belongs to high-level control. We suggest that you can make changes based on the example_walk.cpp

1874ruanshaodong commented 1 year ago

Thanks a lot. How do I divide the application scenarios of high-level control and low-level control in the future?

xyq1223 commented 1 year ago

The low-level control is to control the 12 motors on the body of the robot dog. The example_position.cpp example_torque.cpp and example_velocity.cpp we provide are all used under low-level control.

xyq1223 commented 1 year ago

The high-level control mode is the complex movement of the robot dog. The example_walk.cpp we provide is in the high-level control mode.

1874ruanshaodong commented 1 year ago

Thanks a lot. Do you mean that I can use the low-level control to verify that the motor can work normally? If I want to achieve complex movements such as climbing, diagonal gait, triangular gait, attitude change, and stair climbing, do I need to use high-level control?

xyq1223 commented 1 year ago

yes, that's right

1874ruanshaodong commented 1 year ago

Hi, Is the high-level control unable to control the motor? I want to verify the inverse solution I calculated on the real machine. Although the low-level control can control the motor alone, other information about the robot cannot be obtained, so it is difficult to achieve attitude control under the low-level control. But to perform attitude control under high-level control, I only need to call certain modes to complete it, and the final result cannot verify the inverse solution calculated by myself.

xyq1223 commented 1 year ago

Hello, if you want to verify the inverse solution, you need to make the robot dog under low-level control.

1874ruanshaodong commented 1 year ago

Thanks,I just want to use the inverse solution to achieve attitude control, but if it is implemented in the underlying control, I have no idea.

xyq1223 commented 1 year ago

Hello,please refer to the example code in the example_position.cpp file

1874ruanshaodong commented 1 year ago

Hi, Thanks for your tips.