Testing HaViMo2.0 with Open-CM9.04 and Dynamixel XL-320

Hi everybody,

We were selected by ROBOTIS as a beta tester of their new XL-320 and Open-CM9.04 platform.A few weeks ago we received the first packet containing 4 XL-320 servos, an Open-CM9.04 controller, and plenty of parts.
So we started thinking what we can make out of the parts. A bipedal robot would be ideal  but only 4 servomotors were a little bit too few :).

We have already developed our bio-inspired leg locomotion concept and shown its performance during RoboCup2013.

We decided to do the same with this platform. By removing some less necessary DOFs we could finally design something functional. The first prototype worked well but without the batteries on board.

 

After the first tests, we concluded that we need to reduce the leg dimensions to increase the maximum load the robot can carry. We also added an upper body.

 

 

We added a neck and head and mounted the HaViMo into the head.

Watch the robot in action:

Here is our sketch for walking:


Dynamixel Dxl(1); //Dynamixel on Serial1(USART1)
void setup() {
Dxl.begin(1);
}
void loop() {
float ramp = (millis() % 400) / 400.0;
float rramp = ramp < 0.5 ? ramp * 2 : 1;
float lramp = ramp > 0.5 ? ramp * 2 - 1 : 0;
float rLeg = sin(sqrt(rramp) * 3.14);
float lLeg = sin(sqrt(lramp) * 3.14);
float forward = 40 * sin(ramp * 6.28 - 1.0);
rLeg = rLeg * 100;
lLeg = lLeg * 100;
Dxl.writeWord(1, 30, 200 - forward);
Dxl.writeWord(3, 30, 209 - forward);
Dxl.writeWord(2, 30, 190 + rLeg);
Dxl.writeWord(4, 30, 213 - lLeg);
delay(20);
}

Our next step is to program the HaViMo to make the robot move towards an object.