Designing, Building and Programming a Hexapod: From King Spider to TevBot

From IPRE Wiki
Jump to: navigation, search



Summer Research Abstract

Design and Control of a Dynamic Hexapod

Teyvonia Thomas

Mentors: Doug Blank and Elizabeth McCormack

Robots are complex mechanical systems capable of performing various physical and computational tasks normally controlled by humans, a pre-defined program, or a set of rules using artificial intelligence techniques. Robots have a wide range of applications including car production, space exploration, medical surgery, housekeeping, education and entertainment. The goal of my research is to acquire a fundamental knowledge and understanding of the process involved in the engineering of TevBot, the robot I will design and build. TevBot will be a multi-legged, articulated robot with the ability to avoid obstacles and cliffs, take various pictures and recall them, move periodically to specific locations (precision positioning), climb up small stairs, dance, do artwork and play games. Extensive research will be carried out on existing robots in order to understand the electronics, mechanics and the software required to manipulate these devices.

My project will begin with the exploration and modification of the Roomba (a robotic vacuum cleaner) in order to understand its hardware and software infrastructure and to give it new and complex behaviors. Both Myro (the software that controls the scribbler robot used in the introductory Computer Science course) and the software for the scribbler’s Fluke (a chip that provides a bluetooth, sensors and a color camera) will be expanded to control the Roomba. The Roomba’s academic and recreational purposes will then be explored. My research also involves assembling and programming various forms of robots including a humanoid, a hexapod spider and an obstacle detection car using a robot kit. This aspect of my project will give me a great deal of familiarity with the servos (electric motors) that will be used in building TevBot as well as the processor and software I will need to control and program TevBot. The remainder of the research will be devoted to building a prototype for TevBot and programming it as well as developing a graphical user interface that will enable users to easily control TevBot.

My hope is that this research will be used as a framework for a course in Physics and Computer Science that will empower and teach students how to design and build their own robots. I also intend to use this project as a platform for exploring and conducting more research into developmental robotics, a study that involves creating learning methods for robots to give them sophisticated behaviors that have not been directly programmed into them.

Exploring and Modifying the Roomba

Primary Source: "Hacking Roomba" - Tod E. Kurt

The Roomba- an autonomous robotic vacuum cleaner created and sold by iRobot.

Cool and useful mini projects to explore with the Roomba : vacuum the lab, control the Roomba from a computer, create art with the Roomba, decorate Roomba, design a GUI to control the Roomba, Add Fluke to the Roomba , connect the Rommba to the internet.

Creating Art with the Roomba

Picture of RoombaArtist:


Image of SpiroExplorer in use:

File:Spiro explorer.png

RoombaArtist is able to create spirographs like the one displayed above using various spiral equations. SpiroExplorer is a program created by Processing - an open source programming language and environment that can be used to create images, animation, and interactions. Giving the Roomba Bluetooth Capabilities

Adding the Fluke: An alternative bluetooth device to the Rootooth

The Fluke vs. The Rootooth: Pros and Cons

What is the fluke?: see below for definition and fluke function

Image of Fluke on Roomba:


How Does the Roomba Compare to the Scribbler?

Working with the Bioloid

Robots Built

  1. Crossing Gate
  2. Humanoid
  3. King Spider‎

The Fluke on King Spider

The Fluke on King Spider

Designing and Building TevBot

From King Spider to TevBot

Questions Raised

  1. What sensors should TevBot have and how many?
  2. Software: CM-5 vs. Tekkotsu
  3. On-board Processor or off?
  4. Will TB have bluetooth capabilities?
  5. Will TB have a camera?


  1. Serial Port connections
  2. Baud Rate

The Design Process

Overall Design.jpg
A Closer Look.jpg
Manufacturing The Legs.jpg

Design and Control

The three major components of the engineering process are mechanics, electronics and software. I first assembled a spider robot (King Spider) using a Bioloid robot kit. TevBot’s design was inspired by this robot. 18 of King Spider’s servos (AX-12 Dynamixel motors) were used as the motors for TevBot’s legs. Five additional AX-12 Dynamixel motors were purchased to use as motors for the gripper and the fluke’s mount. TevBot’s body parts were constructed at Bryn Mawr College.


TevBot’s chassis (body), legs, fluke mount and gripper were constructed using strong, light-weight aluminum. The parts were all designed in AutoCAD and manufactured using a TRAK milling machine. TevBot weighs 2.9 kg and is 14 cm tall when standing. All six legs are identical. The 2 front legs and the 2 rear legs have a wider range of motion than the middle legs but each leg has at least 45 degrees of motion about its joint motor without interfering with adjacent legs.

Mechanical Components

Mechanical Components.jpg

Electronic Components

Electronic Components.jpg

The Sensor Module houses an IrDA receiver which can be used to communicate with other robots via infrared. It has three proximity sensors (left, right and center) that can measure distance and luminosity, a microphone to detect sounds and a piezo-electric speaker that can be used to create music and beeps.

The Fluke is a board that has bluetooth capabilities, a camera, IR sensors, LEDs and a microprocessor. I connected a TTL to RS232 level shifter between the CM-5 Zig-100 port and the fluke's port and was able to send messages to the CM-5. With the fluke I can control TevBot wirelessly.

The Microcontroller (CM-5 unit) uses a serial connection to communicate with each of the motors as well as the sensor module. Each of these servos has a pre-programmed ID (which can be changed) that allows for easy identification of and communication with the individual servos.

Manuals Used