Designing, Building and Programming a Hexapod: From King Spider to TevBot
- 1 TevBot
- 2 Summer Research Abstract
- 3 Exploring and Modifying the Roomba
- 4 Working with the Bioloid
- 5 Designing and Building TevBot
- 6 Mechanical Components
- 7 Electronic Components
- 8 Manuals Used
- 9 References
Summer Research Abstract
Design and Control of a Dynamic Hexapod
Teyvonia ThomasMentors: 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:
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
- Crossing Gate
- King Spider
The Fluke on King Spider
Designing and Building TevBot
From King Spider to TevBot
- What sensors should TevBot have and how many?
- Software: CM-5 vs. Tekkotsu
- On-board Processor or off?
- Will TB have bluetooth capabilities?
- Will TB have a camera?
- Serial Port connections
- Baud Rate
The Design Process
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.
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.