Created and successfully simulated PID CoM Estimator Controller in PyBullet
Successfully executed a three leg balance stability test on stable and unstable terrain on stable and unstable terrain
Wrote an algorithm to use force and position data to determine the stability of the terrain
Accounted for poor force data from hardware in conducting stability test
Hardcoded to walk over or avoid terrain after stability test
Overall, the current state of our stability controller meets our original design criteria. We currently have not completed stretch goals, mainly vision, which would enable path-finding as well as improve the stability controller as well as the stability test algorithm.
Vision
Estimation of world position of foot and height/shape of terrain
SLAM to model surrounding environment
Development of a path-planning algorithm to navigate to some destination
Controller Improvements
Using Force Data to better improve CoM estimator
Optimize speed in PID controller for smoother transitions between joint states in
Optimize weight amount put onto the test swing leg on terrain
Ability to probe/test with multiple legs
Cache Terrain (Machine Learning)
Use vision/force data and stable/unstable classifications to categorize terrains
Possible prediction of terrain stabilities
Utilizing the elevation mapping package (C++)
Running the motion imitation library and resolving dependencies
Balancing on 3 legs and implementing the setting of motor angles based on CoM estimator
Only foot position relative to the robot's center is known
Force sensor data has low resolution, accuracy, and has high drift
Simulating non-rigid terrains in PyBullet (primarily soft-bodies)
Not enough memory on Virtual Machine or did not meet hardware specifications on native Linux devices