Testing the trajectory tracking of the legs

A project log for Blackbird Bipedal Robot

A low-cost, high-performance bipedal walking robot

Nathan BoydNathan Boyd 09/22/2019 at 04:050 Comments

It has been a few months since there has been an update for this page. Over the last few months there has been a ton of work finalizing the physical robot and improving the overall control code. Now that everything is all wired up on the robot, we can start looking at the tracking performance of the legs during the swing phase of walking. We looked around at a few different methods for generating trajectories. You get a preview of it walking in the air while we were testing the trajectories.

We decided to just settle with a stable polynomial spline trajectory. There are many types of splines out there, such as cubic, quintic, clothoids, etc., but a simple cubic spline was the best fit because we wanted basic acceleration motion profiling for the inverse kinematics and dynamics of the leg. Below is an example of a a basic cubic spline interpolating a few data points (This is not that actual trajectory of the foot, just an example). 

figure_1.pngFor those that don't know cubic splines (red) have pretty bad position tracking if the distances between knots (X's). Our trajectories are getting calculated online based on the swing distance needed to walk at the desired speed, so cubic spline inaccuracies shouldn't be an issue because we can generate plenty of knots to interpolate during the swing trajectory. 

Since the robot also has a concept of force control, the trajectory only acts as soft guideline for  the feet. If an object interferes with the foot before expected, the proprioception from the QDD's will notice and allow the robot to preemptively finish it's trajectory and act compliantly with the object disturbing it.