Wednesday, January 6, 2016

Arduino Uno Powered 13/15/17 DOF Humanoid robot revisited

I had problems with weak servos on my 13-17 DOF humanoid robots.  So I am rebuilding them with better servos (MG-958's) and with better software.  They also have "heads" now!  Here is what the new 13 DOF robot looks like.
Here is the video on YouTube:


Next up is the 17 DOF humanoid robot.  This is what he looks like.

Here is his video on YouTube:

This next picture shows the back view.

Here is the array for walking forward:
int walkf[8][10] = {
// 0    1    2    3    4    5    6    7    8    9
{ 95, 105, 105, 105, 105,  95,  90,  90,  85,  85}, // Left Ankle
{ 90,  90,  90,  85,  80,  75,  70,  70,  75,  80}, // Knee
{ 90,  90,  90,  85,  80,  75,  70,  70,  75,  80}, // Hip
{ 95, 100, 100, 100, 100,  95,  90,  90,  85,  90}, // Hip
{ 95, 105, 105, 105, 105,  95,  90,  90,  85,  90}, // Right Ankle
{ 90,  90,  90,  85,  80,  75,  70,  70,  75,  80}, // Knee
{ 90,  90,  90,  85,  80,  75,  70,  70,  75,  80}, // Hip
{ 95, 100, 100, 100, 100,  95,  90,  90,  85,  90}, // Hip
};

This is the code to execute that array:
      case 'f': // forward key
        for (int i=0; i<10 i="" o:p="">
          servo1.write(walkf[0][i]); 
          servo2.write(walkf[1][i]); 
          servo3.write(walkf[2][i]); 
          servo4.write(walkf[3][i]); 
          servo5.write(walkf[4][i]); 
          servo6.write(walkf[5][i]);
          servo7.write(walkf[6][i]); 
          servo8.write(walkf[7][i]);
          delay(twait);
        }
        break;        

I have also added some more commands as seen in this video.

No comments: