top of page

Master's degree projects:

robotics and autonomous control projects

Legged robotics

Problem statement

In this project, we try to implement balance control strategies for CASSIE (shown right) to withstand any impulse from any direction and stabilize the body within a few seconds (If it fails to stabilize within 5 seconds, it's considered a failure)

CASSIE has 20 DOF with 7 joints in each leg, but only 5 joints are actuated by motors. Those 5 motors are (1) hip yaw (2) hip abduction (3) hip pitch (4) knee pitch (5) toe pitch

Due to COVID-19, this project is done with MATLAB simulation, which should be reasonably accurate compared to the physical hardware

c.PNG

Strategy

There are many approaches to accomplish balancing tasks. In this project, the contact force control method is used. This approach is broken down into three parts

First, the simple PD controller is used to stabilize the CoM to the initial CoM. The resulting force in x,y,z directions, as well as the torque in raw, pitch, yaw, are used in the next part. There is a total of 12 Kp and Kd to tune.

Second, find the contact force that generates the above wrench. Since the force to resist the disturbance can only come from the friction of the floor, there is a need for related friction in all directions to the desired wrench. To avoid slipping, the optimization is set up as QP with the friction cone constraints and minimizes the normal force for each contact point (there are four contact points for CASSIE's legs). 

Third, find motor torques that produce the desired normal force at each contact point. This is done by using the Jacobian transpose to map from workspace to joint space with the assumption that the robot is in quasi-static motion. If the velocity and acceleration of the state are far from zero, this transformation won't produce accurate joint torques. 

Result

This approach works well if the impulse is small in magnitude and shorter duration. This approach relies on the friction of the ground. If the input is too long or too large, the robot may slip. Therefore, the improvement is to implement a "taking a step" approach for the robot to reposition to resist the push just like human

The sample result shown on the right is for input in y-direction for 0.5 s with the magnitude of 6% of its own weight. If the duration needs to be longer, the magnitude needs to be reduce or vise versa

The GIF show on the right is MATLAB's CASSIE simulation. 

testing.gif
Self-driving-Car-Companies.jpg

Model Predictive Control for vehicle trajectory tracking

Future implementation:

The MPC algorithm can be tested with Carla or other high fidelity simulation 

MPC for vehicle tracking
bottom of page