Robinson's RobotsSlider
Note: This robot will not be entered in John Simmons contest.
Please feel free to use any ideas from this page for building your own slider --
there's always room to improve things.
Slider relies entirely on manipulating static friction in order to achieve directed motion. It is supported entirely on three "feet", metal pins that project straight down from the final gear on an Omron gearmotor. The following images show the various "levels" in Slider's construction.
The stainless wires projecting out from each motor are edge detectors. If one of
them drops over an edge, an Nu is tripped which changes Slider's direction.
HistorySlider began as a theoretical design. I was examining how robots might walk with different numbers of legs and I noticed that few designs had an odd number of legs. Slider has three legs -- the minimum number that will support a robot without relying on "feet" for balance. As it's name implies, it slides rather than walks. This isn't very practical, but it was an interesting design exercise.Slider was just a concept until I needed to test some theories on motor control feedback. My goal then was to keep construction simple. The original control system was supposed to produce a very efficient sliding gait but this turned out not to be the case. The present design uses a much simpler control circuit and a less efficient sliding gait.
Mechanical ConceptSlider uses the principles of sliding friction to move. The force needed to start an object sliding along a horizontal surface is proportional to the weight of the object and the static coefficient of friction. The coefficient depends on the type of materials that slide over one another. Once the object begins to move, a different (usually smaller) force is needed to maintain the motion.A three legged robot with symmetrically spaced legs has the same amount of weight supported by each leg. This means that when a sufficiently powerful motor attempts to move just one leg, that leg will begin to slide before there is sufficient horizontal force to move the remaining two legs. On most surfaces once the leg starts to move, the force required to move it becomes less and there is little chance of the other two legs moving. The robot can be made to move by sliding one leg forward at a time, and then simultaneously moving all three legs backward. This last motion shifts the body forward.
It's important that the step length not be too large relative to the spacing of the
legs. Otherwise the weight distribution will change significantly on each step, and
may prevent the sliding principle from working properly.
Basic CircuitThe control pattern for the three motors is simple: motor 1 forward, motor 2 forward, motor 3 forward, all three motors reverse. This can be easily achieved with a simple microcore. Each of the first three neurons is connected to one lead of a motor. The fourth neuron is connected to the othrt lead of all three motors.
The motors need to have identical speed and torque characteritics. While it is
possible to compensate for minor differences by adjusting resistor values, major
adjustments are not possible. With one neuron running all three motors backwards,
there is no convenient way to compensate for differences in motor speed.
Mechanical DesignThe mechanical arrangement shown in the above diagram has swinging legs mounted on horizontal axles. It needs either very slow gearmotors driving the legs directly or some kind of linkage between the gearmotors and the legs. I chose a simpler method: mount the motors vertically and use a single offset leg attached to each motor. This causes the legs to oscillate in an arc rather than a straight line. As long as the legs all move parallel to each other on the reverse step (all three motors running), the sliding principles will work just as well.
This arrangement has one particular advantage: to make the robot change direction, the motors just have to run a little longer on a reverse cycle. This will shift the motor starting positions to a new angle and the robot will take a new heading. Notice that the orientation of the body will not change. With vertical motors, the robot simply doesn't have a "front". The arrangement also has a drawback: if the motors don't move exactly the same amount as one another on each cycle, the legs will drift away from being parallel. Since it is virtually impossible to keep the motors in synch without some position feedback, it seems inevitable that the performance will eventually degrade to random movements. In practice, this degradation does occur, but doesn't seem to have much effect on Slider's directed motion. Such was not the case with the original, more complex control circuit. Finally, I mounted a triangular circuit board on the three motor-mounting bolts to hold the various connectors. This board brings together all the signal wires into a 5-pin connector (white) and the power supply lines to a 2-pin connector (red). all the connections between the motors and the body are made with plugs or screws, so the whole robot can be easily dissambled.
The blue portion of the circuit shows a simple asymetric oscillator that flashes an LED when the sensor neuron is active. A second resistor was added in series with the normal grounding resistor on the Nv neuron which operates all three motors on their reverse cycle. Normally, this second resistor is bypassed by the Nu output (which is normally low). When a sensor activates the Nu, the extra resistor increases the delay in the reversing neuron, and all three motors reverse for approximately twice the normal delay. The effect is to turn them to a different starting position, which causes the robot to head off in a new direction. As long as at least one sensor is over an edge, the Nu will remain active and the motors will turn twice as far on their reverse cycle as they do on their individual forward cycles. The effect will be to change the direction of travel until the robot starts to move away from the edge. With luck, Slider will not have dropped a foot over the edge in the meantime.
Finally, it is perfectly acceptable to add other sensor switches in parallel to the
edge detector. For example, a bumper switch could be tripped when Slider runs into an
object, and it will have exactly the same effect as encountering an edge: the robot
changes direction.
Further ReadingIf you're interested in the design process I went through to come up with this design, you might want to visit Slider's design page.As always, robot design is evolutionary. If you want to see the latest thoughts on slider control mechanisms (including other people's circuit ideas), look at some of Slider's variations. Notes
|