1) the Trot Gait may be too ambitious.
2) the 'fibia' is too lax.
3) the tether is too stiff and heavy
To address these issues:
New Gate: Slow Lateral Sequence Walk (75% Duty Factor)
I recoded the micro-controller to serve up a better sequence for moving the servos. This new motion is called a Lateral Sequence moving LH-RF, then RH-LF in a slow gait. The new sequence is has a 'duty factor' of 75%, meaning that the feet are on the ground 75% of the time. This is also officially designated as a "Walk". While the feet are on the ground, they are constantly moving backward to propel the robot forward. For 1/3 of the gait, two of the legs will be off the ground. The sequence looks like this:
Start | 1 | 2 | 3 | 4 | 5 | 6 | end |
25 | 25 | 35 | 45 | 55 | 65 | 45 | 25 |
125 | 125 | 115 | 135 | 155 | 145 | 135 | 125 |
65 | 65 | 45 | 25 | 35 | 45 | 55 | 65 |
155 | 145 | 135 | 125 | 115 | 135 | 155 | 155 |
The columns represent the 'segments' (my term) of the gait. there are 6 segments in 1 complete cycle. The values are the 'starting angle' in that segment. Green represents ground contact, Red represents leg lifts. From this I created a matrix that provides the rate of angle change per segment. The leg lift is 4 times faster than the ground contact.
I am quite happy with the code, it refactored down quiet nicely!
//cycle: segments 6 X 10 steps X 8 servos
for(int seg=0; seg<=5; seg++){
for(int qStep=0; qStep<=stepCount; qStep++){
for(int x=0; x<=7; x++){
angle[x]=angle[x]+seq[x][seg];
pwm.setPWM(x, 0, anglePulse(angle[x]));
}
delay(stepDelay);
}
}
Fibia
The Fibia linkage of the leg is much to lax, and allows the robot to 'stumble' over its own feet. The picture below shows the problem area. you can see that the bottom leg segment is often too far back and should be in the 'green' position.
tibia section of the robot |
The quick fix for this is to replace my spring linkage with a solid linkage. A solid piece would complete the 'Pantograph' more completely. luckily, the tibia on the bottom of the linkage would also suite for the fibia. So a quick print should solve this problem.
Tibia now Fibia |
This I still need to work on. I need A) Power for the servos at 5V and B) Power for the Arduino with a barrel connection. Then I will have a stand alone solution, but I still need to connect to the laptop to update the code.
The current tether is heavy compared to the robot and is impacting its ability to move!
No comments:
Post a Comment