Newsgroups: comp.robotics
Path: brunix!sgiblab!munnari.oz.au!metro!usage!news
From: Matthew Brian Garward <s2103420@cse.unsw.edu.au>
Subject: Motion and sensor questions
Message-ID: <1994Mar24.043100.24660@usage.csd.unsw.OZ.AU>
Sender: news@usage.csd.unsw.OZ.AU
Nntp-Posting-Host: 129.94.22.26
Organization: Dept of Comp Sci & Eng, Uni Of NSW, Oz
Date: Thu, 24 Mar 1994 04:31:00 GMT
Lines: 60

Hi. I am very new to this group, and indeed to any sort of robotics altogether,
and I have a few questions I would like answers to or suggestions for. The
cheapest and simplest is the way to go, though if a neater solution is more
expensive, I may give it a go. I asked all of this over a week ago, but I
think the distribution was stuffed then, so I'm trying again.

Basically, I am trying to make a simple robot to be run through the parallel
port of an Amiga (though the computer is irrelevant) for a project concerning
computer/world interaction. The robot is merely to move, sense when it is
touching (or almost touching) a wall, and maybe later to detect how far it has
travelled in any direction. It is to be about 25-30 cm square, and as high as
it needs to be.

The first difficulty lies with the movement. Looking from above, if it is told
to move east, it moves east. If north, it moves north. If north AND east at the
same time, it moves north-east. All the while retaining it's original
orientation wrt the room. I.e, the north bumper (wall sensor) is always
recognised by the computer as facing north. How can this type of motion be
achieved physically? Only the 8 major directions are needed, but if turning the
body is required, how do I easily keep track of which bumper is now facing
north, or indeed of exactly which way the robot is facing? My best thought at
the moment is balls for feet, like a computer mouse, where one wheel drives the
ball N-S, one E-W, and both combined give diagonal movement.

I should explain why I want this sort of movement. The actual controller of the
robot is fairly unintelligent, but is interesting to program. Basically circuits
are created using logic gates and simple flip-flops only, treating bumpers as
inputs and movement directions as output. So, for example, a simple connection
between the left bumper and the north movement would mean that whenever the
robot is touching the left wall, it would move north. Or, a not gate between
the right bumper and the east movement would mean that the robot would move
east until it hit a wall. Thus the robot's sensors and movement need to be
very directly connected to the computer, where its curcuit is. This is why any
motion system that requires the robot body to be rotated would be difficult.

The next question is what sort of bumper sensors could I use? Non-contact would
be ideal if it were inexpensive, as friction against a wall to the east as the
robot moved north could be a problem. For the moment I will use contact sensors
as they are cheap and quick, but are there any suggestions for non-contact ones?

A little out of my range at present, how could a claw or similar be made that,
once an object is detected within arm range of the robot, the claw picks up
the object? First, how could the object be detected? (The object could have a
specific characteristic, like magnetism, light or sound emitting, etc.) How
could the claw then easily find it to pick it up (if it could be anywhere around
the perimiter of the robot)?

Closer to realization, is there any way I could rig up sensors on the robot so
information could be received about which direction an object was in (NSE&W)?

Anyway, I'm sure there are more questions to ask, but that's plenty for now.
Please mail me personally as I'm sure not everyone wants to know about my
petty problems. All suggestions are greatly appreciated. Thanks in advance.

Matt Garward  (s2103420@cse.unsw.edu.au)

"Jim can eat twice as many pies as Jim can. Jack has eaten more pies than Jim
has had hot dinners. How many pies can Jack eat if Jim is only half the man
his father was?"

