chvmp / champ

MIT Cheetah I Implementation
BSD 3-Clause "New" or "Revised" License
1.52k stars 354 forks source link

CHAMP Navigation and Planning #144

Open jdambrosio21 opened 3 months ago

jdambrosio21 commented 3 months ago

I am currently trying to understand how CHAMPs high level controllers are working so that my group and I can begin research. After analyzing the codebase, it seems that the body controller is just adjusting the body in place. So, a) how is CHAMP generating a path to the goal body pose, and b), how does the robot go from the desired body pose to foot positions and pose. Thanks

chrisalbertson commented 3 months ago

It is hard to know what you are asking, but let’s start with the very basics. The robot is controlled via two message types. Command Pose and Command Velocity

Command Pose controls the body’s position in x,y,z and roll,pitch,yaw and does not affect the robot’s path over the ground. Notice that these six values are not “rates” they are positions. To move you need to give a series of Command Pose messages at perhaps with a 20Hz (or whatever) update rate.

The pose x,y,z moght be confusing. They do but effect ther path traveled but are the body’s position relative a base frame. Think of it as shifting from side to side or bending and unbending the knees to stand tall of squat down.

Command velocity does define the robot’s path over ground by givng the X andf Y velocity as well as the rotational rate about the Z-axis. The three nu,bers are all rate in units of meters or radians per second. This needs to be sent at some resonable rate too.

My opinion: If you are working on getting a robot to move, even if a simulated one. the FIRT step is teleoperation (remote control) can you send command velocity messages and drive the robot around my hand? Then add command pose and see if you can make the robot lean left and right and do in-place body movements. (actualy I do ythis first, before command velocity)

Do not even attempt try localization or navigation before teleoperation.

On Jun 7, 2024, at 8:21 AM, jdambrosio21 @.***> wrote:

I am currently trying to understand how CHAMPs high level controllers are working so that my group and I can begin research. After analyzing the codebase, it seems that the body controller is just adjusting the body in place. So, a) how is CHAMP generating a path to the goal body pose, and b), how does the robot go from the desired body pose to foot positions and pose. Thanks

— Reply to this email directly, view it on GitHub https://github.com/chvmp/champ/issues/144, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQKNRSHV7WHAPIB3JH4TUDZGHFYRAVCNFSM6AAAAABI63TQZ6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGM2DANZQGE2TQMA. You are receiving this because you are subscribed to this thread.