Hexapod_Robot_Kit__SKU_ROB0080_-DFRobot

Please read through this guide carefully before assembling your Hexapod

Hexapod Robot Kit

This uneven terrain traveling hexapod comes with eighteen(18) CDS5516 high performance 300 degree rotation servos which gives this hexapod 18 degrees of freedom. The CDS5516 servos have more than 14kg/cm of max holding torque allowing the hexapod to stand on only two feet.

The CDS5516 servos have the capability of returning their current angle, torque, and working temperature when polled via serial interface. This feature allows for greater accuracy and control of each individual servo. Giving you access to critical information about each servo will also allow you to troubleshoot your sketches. The arduino mega 1280 and Mega IO expansion shield included in this robot kit make this hexapod a powerful, yet DIY-friendly robotics platform. The Mega's 54 I/O pins and multiple serial communications ports allow you to add many additional sensors and modules for all your robotic needs.

Buy it now: Hexapod Robot kit

Specification:

Power supply:

It is possible to power the whole robot with only one 7.4v battery for the Arduino mega board as well as for both servo driver boards.

Servos:

Frame kit:

Basic Kit:

Wiring Diagram

Wiring diagram for servos

Sample Code

/*
*Sample code for the hexapod robot.
*Author: Danfei Xu
*Created on Aug 9th, 2011
*You must import the below three libraries first.
*/


#include <CDS5500_2Serials.h>
#include <Hexapod_Servo.h>
#include <ServoConsole.h>


// Below are the ID arrays of servos. You must set the IDs of the servo according
//to the documents :
//IDs of the servos of the left front leg: 0, 1, 2 (inner, middle, outer)
//IDs of the servos of the left middle leg: 10, 11, 12(inner, middle, outer)
//IDs of the servos of the left back leg: 20, 21, 22 (inner, middle, outer)
//IDs of the servos of the right back leg: 30, 31, 32(inner, middle, outer)
//IDs of the servos of the right middle leg: 40, 41, 42 (inner, middle, outer)
//IDs of the servos of the right front leg: 50, 51, 52(inner, middle, outer)
int axisA[] = {0, 20, 40};
int axisB[] = {10, 30, 50};
int hipA[] = {1, 21, 41};
int hipB[] = {11, 31, 51};
int legA[] = {2, 22, 32};
int legB[] = {12, 32, 52};
int axis[] = {0, 10, 20, 30, 40, 50};
int hips[] = {1, 11, 21, 31, 41, 51};
int legs[] = {2, 12, 22, 32 ,42, 52};
// servo controller
ServoConsole console;

void setup(){
  Serial.begin(115200); //For printing out data, or debugging.
  Serial2.begin(1000000); // Used for control servos on left side.
  Serial1.begin(1000000);// Used for control servos on right side.
}

void loop(){
   console.Move(legs, 6, 170, 511); //Legs move to 170 for standing up
   console.Move(hips,6, 480, 511); // hips move to 480 for standing up
   console.Move(axisA, 3, 130, 511); // axis group A move to 130. Prepare for walking
   console.Move(axisB, 3, 70, 511); // axis group B move 70. Prepare for walking
   delay(1000); // waits for their moving

   while(1){
     walk();
     //walking loop
   }
}

void walk(){
  delay(500);
  console.MoveUp(hipB, 3, 100, 500); //hips group B move up 100
  console.MoveUp(axisB, 3, 60, 300);// axis group B move forward 60
  console.MoveDown(axisA, 3, 60, 300);// axis group A move backward 60
  delay(500);// waits for movement
  console.MoveDown(hipB, 3, 100, 500);//hips group B move down 100
  delay(500);// waits for movement
  console.MoveUp(hipA, 3, 100, 500);//hips group A move up 100
  console.MoveDown(axisB, 3, 60, 300);// axis group B move backward 60
  console.MoveUp(axisA, 3, 60, 300);// axis group A move forward 60
  delay(500);// waits for movement
  console.MoveDown(hipA,3, 100, 500);//hips group A move down 100
}

Downloads

Sample code and libraries Zip file includes all Documents, sample code, libraries, and servo testing program