Overview

86Hexapod is a open-source, 3D-printed hexapod robot to demonstrate the application of the 86ME (86Duino Motion Editor). 86Hexapod has 12 DOF and employs the low-cost TowerPro SG90 servos as its actuators. With 86Duino Zero/One as its controller, you can easily edit 86Hexapod's motion and automatically generate its control program using 86ME.

Connect to ROS

Wired

The controller of 86Hexapod is 86Duino. 86Duino can connect to ROS by rosserial_Arduino with a usb cable.

Wireless

For the wireless solution, users can adopt the rosserial for 86Duino with ESP8266. First, generate ros_lib by rosserial_86duino and use it as rosserial_arduino in 86Duino IDE. Then, check the connection of ESP8266 and 86Duino works by AT commands. Finally, we can write a program to connect 86Duino to ROS. An example:

#include <ros.h>
#include <std_msgs/String.h>

ros::NodeHandle nh;

std_msgs::String msg;
ros::Publisher chatter("chatter", &msg);

void setup()
{
  //(HardwareSerial, Baudrate). Depends on settings of ESP8266
  nh.getHardware()->setESP8266(Serial1, 115200);
  // connect to an AP
  nh.getHardware()->setWiFi("ssid", "password");
  // "IP<:PORT>". Default port number is 11411
  nh.initNode("192.168.4.175");
  nh.advertise(chatter);
}

void loop()
{
  chatter.publish( &msg );
  nh.spinOnce();
  delay(100);
}

Demo Video

By this work, we can connect multiple 86Duinos to ROS through wifi. Here is a demonstration to controll two 86Hexapods by a ROS topic "chatter".

Wiki: 86Hexapod (last edited 2016-08-13 11:25:42 by Chi-Ju Wu)