Sunday, December 15, 2019

Mojo3 - A Robotic Dog (#6) - Alternative leg design

A change in thought, a change in name.  Perhaps "A Compliant Quadruped Robotic Dog" is a little redundant and fabricated(?)  To start, "Quadruped Dog" is redundant, Dog implies four legs.  And with today's post, I am missing some compliancy, so let's just go by robot dog.  Perhaps even then, dog is a euphemism, afterall it is just a four legged robot.  ;)

The difficult part is the legs of course.  The first leg has compliancy, but it struggling to meet the additional design criteria of using 9g servo motors.  The engineering challenge of this exercise is to be able to lift the leg enough to move the leg forward, while at the same time absorbing some of the energy of the motion (inferred here as compliant).

While on holiday, away from my CAD, I was imaging what types of other motion that could be used.  For robots here are 5bar mechanisms, and strandbeest mechanisms, servos at the knees and legs (static motion, no compliance), as well as the 'fancy spot-mini' designs with simulated compliancy. Ultimately, there are only 2 degrees of freedom for the appropriate foot motion, so there seems to always be the need for 2 servos. It is just the question of where the servos will be positioned on the robot.

One solution is to assign all of the leg (forward, backward) motion to the hip - one degree of freedom. Then the function of lifting the foot is the sole responsibility of the second motion - the other degree of freedom. after mentally arranging the location of the motion and trying to avoid direct load of the weight of the robot on the servo, I settle on this option for the design.

In this design iteration, the for-leg/foot is directly connected to the top of the leg. There is a pivot point half-way through the for-leg. The foreleg is controlled by two linkages, this allows for the retraction and extension of the foreleg. Now the options for the servo can be either in one of the linkages or a force from the pivot between the linkages. The simpler will be on the linkage itself.

Mojo3 - Alternative leg designs
The question with this design is 'where to put the compliancy'? since the servo is directly connected to the linkages, this puts load on the servo (albeit less load). I think at this stage in the design, I will determine compliance later, mostly likely in the foot of the leg.

Using a the technique of "Frankenstein Prototyping" (a form of rapid prototyping), I mashed up parts left over from the last design as well as disassembling a leg of 'The Bug'.

Mojo3 - leg in down position
Here the leg is extended in the Down Position.  The engineering question will be how much load is placed on the servo in this position.  It would be very desirable to find a mechanism that will 'lock the leg' during the time the hip servo will be moving it backward in motion.

Mojo3 - leg in up position
In the retracted position in the foot is lifted up, allowing for the hip to move the leg forward to the starting position of the gait.

Next Steps:
Answer the engineering question of how the leg will hold the load of the robot.
This can be done by physical testing, by wiring up the servo to the microcontroller and test the motion. If that is successful, then it will be back to the CAD and draft up a new leg based on this concept.  

Sunday, December 1, 2019

Mojo3 - A Compliant Quadruped Robot Dog (#5) - First Servo Leg Tests

Mojo 3 - First Tests!

It is always exciting to start the testing in an iterative design/build phase.  I have made a few changes to the leg and SEA design. It was really important to allow for the servo to pull the actuator with as little friction as possible. two additional prints later, I have a working servo actuator.  However, the weak 9 gram servos will continue to be an issue, as well as how much 'hooke' to put into the spring. 

First:  the new movie!

first test - on the TNERA YouTube Channel

Design status - from the movie, you can see that the servo is functioning and pulling the actuator up.  This motion is critical to lifting/contracting the leg as the leg will be moving forward.  It must have enough clearance to avoid stumbling and the return swing. I would like to have 1cm or more of clearance.  However, from the video you can see that the design is only giving 5-6mm of contraction.  It it clear that the servo will need to have some more pull, or that the spring constant (see Hooke's Law) is weaker.

There will have to be a balance between two competing factors:

1) the servo must be strong enough to contract the SEA
2) the spring must be strong enough to absorb some of the weight of the robot

the competition in physics and mechanics:  a larger servo can pull the spring, but will create additional weight that will further contract the spring. To help/confuse this engineering issue is that the 'foot' spring will also be absorbing the weight of the robot. This may result in the SEA contracting - but not resulting in a lift due to the 'release' of the foot spring.

Tune in to see how we can resolve these design issues.  At this point in time, I am not beyond creating a completely new iteration on the SEA perhaps adding a new linkage.