Macs Robotics Page
On these pages you'll find some information about robots I built using LEGOŽ and MINDSTORMS©. Please see the disclaimer for more information.
View the guestbook
The first time I saw this sort of design for a mobile robot platform was on
Leo's Lego Page.
Unfortunately I did not have the wheels he proposed in his design, therefore I built my own.
I think this is one of the smallest designs for a
Killough Platform (search for Stephen Killough)
or Omnidirectional Holonomic Platform
possible to build with Lego without modifying any Lego parts.
Two other designs can also be found: A
monster from
Doug's LEGO Robotics Page
and another
monster :-).
Sorry to call them monsters, but they really are!
As I have not used the original spherical wheels, but cylindrical wheels instead, the movement of the platform is
not very smooth as the distance to the floor of the axels change, when they rotate! But this platform is able to move
all the fancy ways like the big ones can! It can drive into any direction without having to turn and
can rotate in place (compare this to
a tank, which can drive into two directions and rotate in place).
I programmed the RCX using Not Quite C
This is the same basic design as above, only bigger. I used the six wheels, that come with the package 8446 (56 x 30 R).
These wheels are smaller than the ones Leo suggests on his page.
This is the same basic design as above, only bigger. I used the wheels
Leo suggests on his page.
See an AVI of the platform driving a square two times. First the real cool Killough- way without
turning in the corners. Afterwards like a tank would drive the square turning 90° in the corners.
For this robot I used a classic car design.
The back wheels drive the robot foward and reverse,
while the front wheels are used for steering.
It has three bumpers, one for the front left, one for the front right and one in the back.
At the moment the two front bumpers are connected to the same input.
That means it makes no difference, wether an obstacle was hit with the right or left front bumper.
I programmed the robot using an subsumption approach:
"Subsumption archietcure is a way of organizing the intelligence system by means of layering task achieving behaviours without
recourse to world models or sensor fusion".
(Mobile Robots, Jones and Flynn. Wellesley, 93)
The code shows the layers I used:
task main(){
init();
start cruise;
start avoidFront;
start avoidBack;
start arbitrate;
}
The layers are:
- Cruise
- Avoid obstacles in the front
- Avoid obstacles in the back
The higher the number, the higher is the priority of the task.
That means the Cruise task has the lowest priority,
and this behavior stops, when an obstacle in the front is hit.
I read about subsumption design for robots in the great book
The Unofficial Guide to LEGOŽ MINDSTORMS© Robots.
This is the same basic design as the large version above only smaller ;-)
This was a submission for the first contest held at BrickBots.
It was the second place. The goal was to stack empty aluminium cans in
under ten minutes as high and fast as possible.
This was a submission for a contest held at BrickBots.
The goal was to shoot ping pong balls as wide and accurate as possible.
These were submissions for a contest held at BrickBots.
The goal was to build a robot that climbes up and down a rope.
This is a robot that can be used as a panoramic head for the Nikon CoolPix 995 digital camera.
See the disclaimer for more information.
Markus Matern, October 2002