bridgedp / hunter_bipedal_control

An open source bipedal robot control framework, based on non-linear MPC and WBC, tailered for EC-hunter80-v01 bipedal robot.
MIT License
286 stars 64 forks source link

Issue: Altered Leg Lengths Causing Unstable Walking Behavior in Modified Hunter Simulation #14

Open Vishwajeetiitb opened 3 months ago

Vishwajeetiitb commented 3 months ago

Hello,

I am deeply impressed by your work on the Hunter bipedal robot simulation and its contribution to the open-source community for such complex field. Currently, We are working on adapting this simulation to fit our custom robot specifications within a simulation environment. As part of this adaptation and to begin with, Initially we just modified the leg lengths in the 'hunter.urdf' and 'hunter_sim.urdf' files, by increasing the joint positions from 0.24 to 0.29.

The modification we did in hunter.urdf and hunter_sim.urdf is as follow (for both legs)

For Thigh Length

From

<!-- ************* part 4 *************** -->
  <joint name="leg_l4_joint" type="revolute">
    <origin xyz="0 0.0145 -0.24" rpy="0 0 0" />

To

  <!-- ************* part 4 *************** -->
  <joint name="leg_l4_joint" type="revolute">
    <origin xyz="0 0.0145 -0.29" rpy="0 0 0" />

For Calf Length

From

<!-- ************* part 5 *************** -->
  <joint name="leg_l5_joint" type="revolute">
    <origin xyz="0.005 0 -0.23995" rpy="0 0 0" />

To

 <!-- ************* part 5 *************** -->
  <joint name="leg_l5_joint" type="revolute">
    <origin xyz="0.005 0 -0.29" rpy="0 0 0" />

After rebuilding the package, we initially faced stability issues. Initially, the robot would not stand upon loading the controller. We managed to stabilize the standing posture by adjusting the kp_position parameter to 200. However, activating the walking mode (set_walk) results in erratic behavior.

I have attached a video demonstrating the issue. It shows the Hunter robot, modified only in thigh and calf lengths through the specified joint position changes.

Could you provide any guidance or suggestions on how to correct this walking instability? Probably we are missing something, Any advice on parameters that should be adjusted or potential modifications to the URDF files would be greatly appreciated.

https://github.com/bridgedp/hunter_bipedal_control/assets/50112129/df84d449-01a6-43b8-9cbc-243f8cc7221d

(The walk.py script I am running is the same python script referenced in the Readme of this repo)