robomechanics / quad-sdk

Software tools for agile quadrupeds, developed by the Robomechanics Lab at Carnegie Mellon University.
https://robomechanics.github.io/quad-sdk/
MIT License
715 stars 134 forks source link

Bad standup on hardware robot (not spirit, go or A1!) #353

Closed elpimous closed 1 year ago

elpimous commented 1 year ago

Hello the team. Thanks for help. Now, i can make my ylo2 robot move for a standup. URDF and SDF ok, inertias and gravity ok.

When running robot_hardware.launch, the robot automatically standup (after a homemade zero calibration = ok) During standup, all joints have correct direction, imu seems ok,

But robot is pushed backward : it stands up, with anything like 45° up-rear. Any idea ?

Perhaps should I modify standup pose (joints). If yes, where?

elpimous commented 1 year ago

https://youtu.be/LNuAhMMIKZ0

elpimous commented 1 year ago

hello, well even with correct servos direction and correct sit down and standup params :

ylo2@ylo2-UP-WHL01:~$ rosparam get /robot_driver/sit_joint_angles

- 0.165
- 0.59
- 1.36

ylo2@ylo2-UP-WHL01:~$ rosparam get /robot_driver/stand_joint_angles
- 0.0
- 0.5213467868148791
- 1.09094730619712

The robot put it legs right, and perpendicular to body (my real zero joints)

I don't anderstand what happens.. Any small idea to share to help me progress ?!

elpimous commented 1 year ago

Here are my steps : Ylo2 robot is permanent zeroed with legs parallel, right, and perpendicular to body Ylo-2_urdf

In gazebo, robot has same pose than A1 (same xacro angles)

My xacro, urdf, sdf exactly reflect A1 description, with A1 naming directory and files.

Before running code, robot is in a sit position : Screenshot_20230311_170405_com google android apps photos

Then, when running the quad sdk controller, I do a rezero all joints, to check initial pose (the upper picture) , and if correct, i let controller loop.

When standing, even if I have set up sit and stand pos params, all joints goes to real 0 position (the hardware motors zero pos)

It's strange for me.. (ça fait ch#€%...)

elpimous commented 1 year ago

Or perhaps in hardware mode, initial pose and stand are set in other place? If yes, didn't find...

jrenaf commented 1 year ago

Hello @elpimous, it's great to see you are trying quad-sdk on new quadruped platform! The stand-up motion is hardcoded in robot_driver and it might be impacted by different initialization configuration. You might directly change that part here .

elpimous commented 1 year ago

Hello the team. Found an error in my joints order... Working now on joint direction, and initial pose.. Thanks https://youtu.be/VRGTjSVr3n8 Vincent