Meet Suki 6dof Leg Dynamixel Ax-18a


Meet SUKI, my 6 DOF leg biped robot using inverse kinematics.

This Video shows body IK rotation and translation, the IMU which will eventually be used for Balance whilst walking, and the beginnings of the Blob detection for ball tracking and walking direction control. Camera tracking needs a PID loop, body movement needs smoothing and the balance PID needs tuning.

This Video shows a few gait sequences / speeds which are very basic, it has no balance control and the gait needs some major tuning. These are second hand actuators and there is a huge amount of backlash / gear slop so I have installed some dampers on the ankles and put some latex tubing from the femur to the tibia. Its still a major problem though especially on the right leg!

This shows a slightly tuned gait still unbalance, I need to use a Bezier curve instead of the current 5 point curve in the gait sequence, this should make it slightly smoother.

Coding time was 4 months and I thought that would be the difficult bit, how wrong I was. Bad Design so I think it will never have a decent gait unless its more humanoid.

when its less buggy and I get a few more things sorted I will make a better quality video.


Hey this looks really nice, I guess the slippery table also adds to the weird slippery motion...but all in all I am very impressed by the smooth control with the XBox controller, that looks supercool!

How do you implement the Bezier curves?
I am also trying to get smooth motion to my servos, but always end up getting really choppy unless I am using linear point to point translation!

Great work! Grin


I'm using inverse kinematics to do all the body and leg calculations realtime, so there is never a start and end position. For larger movements where there is a start and end and smoothness is critical like standing or COG shifting I interpolate and this makes for super smooth transitions. I'm having a few timing issues so it's not as fluid as I'd like.

The Bézier curve will eventually be used for the foot trajectory, forward and backward walking. To implement this I need to get the timing issues sorted and clean up my code so it's more efficient.

The Slippery gait is due to the aging servos and the gear slop, I don't want to lift the foot completely off the ground pre-tuned as this will place huge stresses on the ankle and knee joints causing them to over heat after five minutes There are 12 variable in my gait so tuning will take forever!

Loving the EZB, especially the front end and camera tracking is already coded for me.

It would be nice if DJ implemented some sort of IK plugin so you just have to worry about the end effector coordinates, it would make life so much easier! Hint, Hint!

Thank you for the encouragement.

#4 IK plugin would be great! Grin

How do you handle your servo timing and smoothing?
Me and @WBS00001 are working on a plugin that will alow to transfer motion from an animation package to EZ-Builder, I would not have a clue on how to code this using EZ-Script!

We are currently having issues with timing and servo speed and experiencing choppy and jumpy servo movement due to the lack of a real time based OS!
Using the sleep() command is very inaccurate, so any help on solving this would be highly appreciated! Smile


Great work.


Great progress. Been following for a while patiently waiting for updates.

Do you have any plans on sharing your code and hardware used.

I'm not looking to copy your project but your coding progress will certainly push my project forward.