Monday, July 16, 2018

Mojo (#10) - Design Changes - A Compliant Quadruped Robot

Mojo's legs are moving with the first Gait program, but only flopping around on the surface. A number of issues are preventing forward motion.  The biggest are:
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
Tether
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