Our current PID CoM Estimator Controller works well in the simulation as shown below. The controller balances itself based off its center of mass estimation and probes the terrain in front of it to conduct a stability test. Once the stability test is finished, the robot will decide whether to walk over the terrain or avoid it. Unfortunately, the A1 Unitree Robot was not available for use during this past week to test the improved controller on hardware, which will be our next upcoming result. Overall, it is expected that hardware tests will run without too much faults as the simulation results are close to that of the manual joint state controller simulation, where its hardware tests ran successfully.
This is a simulation of the quadruped testing stable terrain. The robot uses a PID controller to position its center of mass such that balancing on 3 legs is possible. It then uses its fourth leg to probe the stable surface, which is simulated in PyBullet. After the robot deems the surface to be stable, it walks across the terrain.
This is a simulation of the quadruped testing unstable terrain. The robot uses a PID controller to position its center of mass such that balancing on 3 legs is possible. It then uses its fourth leg to probe the stable surface, which is simulated in PyBullet by lowering the red block "terrain" after a certain force is applied to it. After the robot deems the surface to be unstable, it avoids walking on the surface.
This video shows the quadruped leaning backwards to position its center of mass at the rear of the body, which allows the front foot to lift up without causing the robot to tip over. The fourth leg probes a hard surface, and deems it to be stable. The robot then chooses to walk on top of the hard surface.
This video shows the quadruped leaning backwards to position its center of mass at the rear of the body, which allows the front foot to lift up without causing the robot to tip over. The fourth leg probes a soft surface, and deems it to be unstable. Walking on soft surfaces may cause the robot to lose balance. As a result, the robot then chooses to walk around the soft surface.
This is a simulation of the quadruped testing stable terrain. The robot is programmed to manually position its center of mass such that balancing on 3 legs is possible. It then uses its fourth leg to probe the stable surface, which is simulated in PyBullet. After the robot deems the surface to be stable, it walks across the terrain.
This is a simulation of the quadruped testing unstable terrain. The robot is programmed to manually position its center of mass such that balancing on 3 legs is possible. It then uses its fourth leg to probe the stable surface, which is simulated in PyBullet by lowering the red block "terrain" after a certain force is applied to it. After the robot deems the surface to be unstable, it avoids walking on the surface.