Subject:
|
Precise turns of any angle!
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Sat, 12 Jan 2002 03:00:36 GMT
|
Viewed:
|
3148 times
|
| |
| |
About a year ago I was inspired by discussions about how to get an
RCX robot to make perfect 90 degree turns and also by an interest in
traversing mazes and collision avoidance. I had an idea to navigate and
turn using an approach similar to a blind person using a cane.
My early proto-type had long been dismantled and I wanted to complete
the project, so I recently created a new version and improved the NQC
program I had begun so long ago.
The robot has a top mounted cane which rotates 360 degrees and about
2.75" off the floor. The cane is on large 56 tooth turntable and linked
to a rotation sensor in a 7:1 gear ratio to increase the sensitivity of
the rotation sensor to 112 clicks per full rotation of the cane. The
turntable is mounted over the robot's center of rotation. The assembly
is driven via a motor and pulley setup, allowing the motor to run
continuously without fear of burning out when the cane is in contact
with an obstacle.
The basic theory of operation is that the rotation sensor tracks the
orientation of the cane and when the cane is in contact with an object
it stops rotating and we have a directional reference against which to
make course corrections.
One application of this is to make precise turns of any angle. If
the rotation sensor value reads X, the robot can pivot until the
rotation sensor reads X+Y, thus rotating an angle of (Y*360)/112. The
112 is a function of the gear ratio between the rotation sensor and the
cane, 16*7=112, making each click of the rotation sensor represent
360/112, about 3.214, degrees. For a 90 degree turn clockwise Y=28, and
for 90 degrees counter-clockwise Y=-28.
Another application of this is to follow a wall, even turning
corners. With the cane in contact with a wall and the robot in motion
the rotation sensor will read a constant value if the robot's course is
parallel to the wall. If the course is not parallel to the wall the
cane will rotate one direction or the other, giving feedback for
adjusting the course. The robot's task is to maintain the angle of the
cane at a particular value, and thus follow walls which turn sharply
away from its path or walls that turn at moderate angles into its path.
Some minor run-time calculations allow the robot to detect a nearby
wall, its distance and orientation relative to the wall, and choose the
particular rotation sensor value that will maintain the distance
required to sucessfully navigate sharp turns away from it's path.
The end of the cane includes a freely rotating wheel to prevent it
from catching on imperfections in the surface of the wall being followed
and to improve its ability to follow walls which turn moderately into
the path of the robot. The motor and pulley drive allow the cane to be
counter-rotated by the physical force of the wall on the tip of the
cane.
For walls which turn sharply into the robot's path the robot
incorporates a forward IR proximity sensor, in preference to a touch
sensor. When the IR proximity sensor detects a wall the robot turns and
reinitializes it's behavior.
The 3 main fatal error conditions that can occur are loss of contact
with the wall, the robot colliding with the corner of a wall which turns
sharply away from its path, or a wall turning too sharply into it's path
which the cane cannot follow and the IR proximity sensor does not
detect.
An idea I have not yet pursued is to have the robot use a portable
obstacle which can be set down as needed as a fixed point of reference
against which to make course corrections. Another variation on this
would be to have a center jack-stand to raise the robot up, then
pivot on the jack-stand the required angle before setting down again.
Pictures are at:
http://www.brickshelf.com/cgi-bin/gallery.cgi?f=10218
Brian H. Nielsen
LUGNET Member #108
|
|
Message has 1 Reply: | | Re: Precise turns of any angle!
|
| (...) The trouble is that the rotation sensor drops counts when you run it at low speeds - especially if it's reversing direction frequently. You can read about my experiments that prove that fact here: (URL) told that you get much better results (...) (23 years ago, 12-Jan-02, to lugnet.robotics)
|
11 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
Active threads in Robotics
|
|
|
|