It is a pretty good practice to attack your problems directly or head on.
Or at least this is what myself and Ali thought during our working session on Saturday morning. As we work to fully integrate the push primitive behavior into the coordinator Ali and I ran into some minor issues. Specifically within the functionality of the push primitive. Since the motor angles and positions are trained within the state machine of the push primitive then it needs to be changed so that instead it cycles through a set of motor positions over a certain time span and in this case for a specific time index there will be a different motor position.
There are examples of this already, since the threaded process requires the caterpillar behavior to function this way.
The main parts of this change are that the push primitive state machine will no longer be executing these motions directly on the snake. Instead it will be calculating them within the states and then spitting them back out as a vector for the coordinator to then execute the motion based off of the values in that vector.
Code Block Diagrams
Here is a visual representation of what was explained above.
Placeholder text by Nelson R.. Photographs by NASA on The Commons.