Senior Design Project Proposal

Senior Design Project Proposal

Senior Design Project Proposal

Madeleine Abromowitz

Spring 2010

Proposal: Rolling Robot

I. Abstract

I intend to build a robot capable of traveling by rolling (turning itself over). The robot will turn itself over by extending and retracting twelve rigid legs radiating from its body on prismatic joints. Ultimately, the robot should be able to travel autonomously towards a light source across a flat surface. It may be possible to hand-code a successful algorithm using kinematics, but artificial intelligence techniques will also be used to search for optimal behavior.

II. Introduction

Most robots that move over land, and most vehicles in general, are susceptible to falling over or being flipped upside down. Humans and other animals have the same vulnerability. Without wheels or feet on the ground, traveling becomes impossible. To avoid the problem, vehicles are designed for stability, and legged robots and organisms have balance, and often, the ability to right themselves after a fall. Still, falling or flipping over is usually dangerous, and occasionally catastrophic, for most creatures and vehicles that travel over land.

A spherical vehicle with no preferred orientation would never have this problem. Falling over would be its normal mode of travel. Being shaken or pushed, or rolling down a hill, might change the vehicle’s location but would not damage or immobilize it. Being knocked in the direction of a destination would be useful. Furthermore, an ideal rolling vehicle is completely holonomic – it can instantly begin to travel in any direction from any position.

I propose to design and build an autonomous spherical robot capable of controlled rolling. There are a number of existing prototypes. Rhodri Armour, a PhD candidate at the University of Bath, has created a round, deformable “grasshopper” robot that moves by contracting and releasing a central axis, launching itself into the air. A number of others have come up with gyroscope or ballast-based designs. One group developed a robot that turns itself over by inflating and deflating air sacs around its body.

I will explore a different concept: a robot which uses extendible legs to push itself along. A preliminary survey of the literature suggests that such a design has been never been implemented.

III. Design

The robot will have twelve legs, all radiating from a central cubic hub. Legs will extend from and retract into the center of the robot, each driven by its own continuous-rotation servo motor with a rack-and-pinion mechanism. Wood has been used in the first model, as it is lightweight and cheap and allows the racks to slide easily through grooves.

The 12 legs will run through the vertices of an imaginary icosahedron (20-sided Platonic solid), so that each group of three adjacent vertices forms an equilateral triangle, giving the problem symmetry. The current model is shown, with one servo motor attached:

IV. Locomotion

Three adjacent legs will touch the ground at all times, and a fourth leg will touch down when the robot is about to shift its weight. Given this geometry, the length of a fully-extended leg does not need to be more than 63% of the radius of the inner frame to allow for weight shifts. Longer legs will allow for a wider range of possible travel directions from a certain starting position. The legs will be made as long as possible while leaving space in the center for a hub even when fully retracted.

V. Sensors

Twelve light sensors, one on each leg, will make it possible to estimate the direction of a point source. An on-board accelerometer will allow the robot to identify the direction of gravity and thus its orientation. Limit switches will show when the legs are fully retracted, and rotational potentiometers will allow the robot to keep track of the extension of each leg.

VI. Electronics

The robot will be wireless, with all processing and power on board. The brain will be a PIC microcontroller. Several devices in the dsPIC33F line have enough analog inputs to monitor the positions of all the legs as well as the light sensors without additional circuitry. (The accelerometer communicates with the PIC digitally.) They also have 8 PWM outputs with which to control the servos. Since no more than four legs need to be moving at a time, this is sufficient.

The PIC will communicate with the accelerometer, with the motors, which will be protected by current limiters, and with a small circuit board at the end of each leg containing a limit switch, a potentiometer, and a light sensor.

The processor will regularly take in accelerometer information, collect light sensor data, check the positions of the legs, identify a desired direction of motion, and direct the legs to move accordingly.

Rechargeable batteries will be distributed symmetrically around the central hub so as not to change the robot’s center of mass.

VII. Artificial Intelligence

With the robot in a given state (a certain location, orientation, and set of leg extensions) and trying to travel a certain distance in a given direction, the robot’s ideal behavior – given infinitely fast servo motors – can be worked out by hand. There will be a finite number of shortest paths that the robot can travel, and the robot’s initial state will fully determine all the subsequent states required to travel along each path.

However, with the speed limitations of real servo motors, it may not be possible to travel all or any of the shortest paths, and it may be necessary to take a longer route. Or two routes of equal length may take different amounts of travel time due to the lengths of leg extensions and retractions. This is also calculable.

The robot could also be allowed to take advantage of gravity. If it can fall over (rather than statically shifting weight from one leg to another), it can avoid extending and retracting certain legs, thus moving more quickly and saving energy.

Once the robot is built and tested, and its limitations are known, it may turn out optimal behavior in the real world is more difficult to define. Genetic algorithms can be useful in such a situation. A genetic algorithm, generally, simulates natural selection on a “species” of neural networks such that the fittest individuals are those that best solve a specific problem. Such algorithms are often good for real-world tasks where noise and uncertainty make finding an exact solution impossible. Any genetic algorithm requires plenty of time for running fitness tests.

Doing these tests in simulation spares the robot from damage and saves the roboticist enormous amounts of time, although any inaccuracies in the simulation may hurt the results. The UnReal Tournament physics engine, originally developed for the video game, is cheaply available and often used for similar simulations.

VIII. Timeline

This timeline includes tasks up to the point of having a fully-operative robot. The goals for the rest of the semester will depend on the robot’s performance at that point.

Week 6 - February 21-February 27, 2010

Test leg mechanism with four legs

Select and order PIC, development board for PIC, and sensors

Design and order PCB’s for legs

Order batteries

Week 7 - February 28-March 6, 2010

Populate PCB’s and fix any issues

Hook up to robot and test

Spring Break

Week 9 - March 14- March 20

Integrate accelerometer

Hand-code rolling algorithm and test

IX. Costs

Product / Salvageable? / Quantity / Unit Cost / Total Cost
Servo motor / Yes / 12 / $14 / $168
Gears / Yes / 12 / $3 / $36
Brass rack / Yes / 6 x 2’ / $33 / $198
Batteries / Yes / 12 / $5 / $60
Microcontrollers / Yes / 6 / $3 / $18
PCB’s / No / 6 / $60 for 1st, $5 for each thereafter (?) / $85
Simulation environment / Yes / 1 / $10 / $10
Shipping costs / No / -- / ~$50 / $50
Misc. (electronic components, wood, aluminum) / No / -- / ~$20 / $20
Total Cost………………………………………………………………... / $645
Total Cost for Non-Salvageable Items………………………………… / $155