E.R.I.C. Adding Front Legs

So far in this project I have been working with just the hind legs. Of course this will need to change and extra legs added to make E.R.I.C. a full robotic quadruped. This page starts to detail this process.

I have physically designed and constructed the front legs and added them to E.R.I.C.'s chassis. To start with I decide to map the servo angles in the fore legs.

Front leg servo map

The picture below shows the servo numbering used in the fore legs and the change in servo angle as the joints are moved. /media/uploads/ms523/servos5.jpg

In the same way as in the hind leg implementation I start by going over the inverse kinematics for the fore leg. The main differences between the fore and hind legs are that the sections (femur & tibia compared to ulna & radius), are of different lengths, and the knee joints bend in opposite directions.

The different lengths will effect the IK function but the knee bending will not at this stage.

Modified IK function

In the front legs the ulna (E) is 90 mm and the radius (F) is 120 mm. The IK function will run fine using these these values but it needs to be modified to allow the function to select if the fore or hind leg values are used.

To achieve this an additional variable needs to be sent to the function which selects either the fore of hind leg values to use.

I won't publish the code here but the program can be found below.

Modified FK function

As well as the inverse kinematics function the forward kinematics function will need to be updated to account for the fore legs. The FK engine is really just a case of reading the servo positions and then using trigonometry to calculate the position of the end of the limb. To do this however I need to be able to translate the servo reading into meaningful data that relates to E.R.I.C.'s biometrics. This page details how this was done for the hind legs and the fore legs will take the same route.

So after I figure out values to translate the servo readings into more useful data I add the 6 new servos into the FK program and test it.

Import program3DForwardKinematics

Forward Kinematics code for all four of E.R.I.C.'s legs...

Under testing I got feedback from all 4 legs showing their positions in a X,Y,Z coordinate system.

What's Next?

Now I have feedback and control over all four legs the next stage is to work out a walking gait and program E.R.I.C. to move in that manner.


Please log in to post comments.