Subject:
|
Re: Problem with auto-steering mechanism.
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Sun, 27 Oct 2002 14:57:24 GMT
|
Original-From:
|
Steve Baker <sjbaker1@airmail.NOSPAMnet>
|
Viewed:
|
870 times
|
| |
| |
PeterBalch wrote:
> You shouldn't have a differential.
Yes - I realised that and posted a photo of the new mechanism yesterday.
http://www.sjbaker.org/toy2.gif
> The front bogey can rotate about its vertical axis about (let's call it)
> the steering shaft - which also doubles as the drive shaft.
>
> The two wheels on the bogey are on a solid axle.
...well...I used a single wheel.
> The idea is that it's "easier" for the two wheels to go in a straight line
> than to turn because of the gear ratios (and perhaps because the axle is
> solid). But when they meet an obstacle, the bogey prefers to rotate.
Right.
The problem with making it work reliably is that you need to get the
gear ratios just right so that when the robot is not hitting anything,
there is less torque required to spin the drive wheel than to rotate
the turntable - but when the robot has hit an obstacle, there must be
sufficiently small amount of torque to spin the turntable rather then
having the drive wheel continue to rotate - skidding against the ground.
Getting this balance right is *HARD*. The choice of using one drive
wheel (instead of two on a solid axle) reduces the amount of torque you
need to spin the turntable because with two wheels, they have to
skid against the ground in order for the turntable to rotate. This
gives the robot a greater preference for driving straight - but when
it hits something, there is a choice between skidding the wheels in
order to turn the turntable versus skidding the wheels and NOT turning
the turntable. Since there is some friction in the turntable and the
skidding forces are about the same, a two wheeled version tends to
just sit there with its wheels skidding instead of turning.
In either the one or two wheeled versions, you have to adjust the
gearing to get the right balance between driving straight when
unencumbered and steering when blocked.
I've managed to get the thing to work reliably on a wood floor - but
on carpet, the wheel-slip-friction is much less and it won't steer
when blocked.
I managed to change the gear ratio so it would steer on carpet - but
now it drives in little circles on wood flooring.
What's worse is that the behavior changes when I change the overall
gearing to the motor - so it's speed-dependent. If I get the system
working well - but the robot is moving too slowly - I can't just
change the gearing to the motor without making it drive in circles
again.
It seems to me that toy makers must have figured out something we don't
know because their toy seem to work well on any surface - and they can't
be too picky about manufacturing tolerances either.
> I've seen designs where the bogey wheels axle is directly under the
> steering shaft and (more rarely) where the bogey wheels are (one
> wheel-diameter) in front of the steering shaft.
I wondered if there was some trick there too...so I built a version
with the drive wheel one stud forward of the centerline of the
turntable.
If the drive wheel is out in front of the turntable, It makes the
body of the robot move sideways when the turntable spins. If the
robot is stuck in a corner, then it's unable to do that - so the
wheel has to skid sideways rather than just rotate about it's own
axis. That requires a LOT more torque - which in every case made
the robot fail to escape from corners.
However, it did have one good effect - once the robot had reversed
away from the obstacle, it's body would more quickly spin around
to head off in the new direction instead of reversing indefinitely.
> The only example I could find in my son's toy box has a steering shaft
> pinion with ten teeth and a crown wheel on the bogey axle with twenty
> teeth. So the bogey wheels are geared-down relative to the steering. The
> bogey wheels are 20mm dia and 25mm apart. The rear axle is 65mm behind the
> bogey.
>
> In general, the rear wheels shouldn't be on a solid axle but, in this
> example, they are but are made of slippery plastic (whereas the bogey
> wheels are rubber).
Yes - that's something I haven't played with. My wheels are on a solid
axle. Again, there is a tradeoff here. If the rear wheels are solidly
connected then the BODY of the robot will want to go in a straight line.
That seems to come into play mostly when it's already away from the
obstacle. Once the drive wheel is pointing out at (say) 90 degrees
from the body, it has no trouble overcoming the skidding of the rear
wheels.
I may change that though because these robots tend to have a high center
of gravity (because of all the gearing underneath that turntable) and
topple over easily. That happens mostly when the thing is turning hard
- allowing the rear wheels to spin independantly should help that - but
then it'll probably have a harder time driving straight.
What I'm really looking for here is some kind of insight as to how to
make the mechanism less dependent on careful tuning of wheel friction
and gear ratios.
> I used to work in the Artificial Intelligence department here in Edinburgh
> and my boss was fascinated by these toys. They could find their way out of
> corners far better than any of the "intelligent" mobile robots. He had one
> hidden under a cardboard box with fake antennae, etc. and would ask
> students what they thought the algorithm might be.
:-)
It's impressive that someone figured out this mechanical system way back
before I was a kid...these things were certainly around in the 1950's
*LONG* before there were computers or robots in common use. If a toy
maker had to invent something like that today, he'd use two motors and a
computer without ever considering something this elegant.
> His view was that it is very difficult to get the whole machine to behave
> properly.
That's rapidly becoming my view too.
> The factors you have to adjust are the ratio of the gears, the
> diameter of the wheels vs. their distance apart, the loading on the front
> and rear wheels and the distance from the bogey to the rear wheels.
...the slipperyness of the tyres on front and rear...the amount of
slippage between the axles of the rear wheels...how far the steering
wheel is from the centerline of the turntable...the weight distribution
over the front wheel...all whilst getting the thing to turn at the speed
you'd like, drive forwards at a reasonable speed, not stall the Lego
motor and NOT topple over when turning due to having too high a center
of gravity.
All of those things alter the ratio of torque-to-spin-the-turntable
versus torque-to-drive-the-robot-forwards versus torque-to-skid-the-wheel.
If we give these symbols then:
A == Torque required to drive forwards when not blocked.
B == Torque required to turn the turntable.
C == Torque required to skid the front wheel when robot is
stuck against an obstacle.
So, for this thing to work, we have to satisfy the criteria:
A < B < C
So, we need to make 'A' be as low as possible and 'C' be as high as
possible - with 'B' being halfway between those two extremes ...
increasing the gap between 'A' and 'B' and between 'B' and 'C' makes the
robot more reliable and able to operate on a wider range of surfaces.
* The problem being that the goal of making 'A' small and 'C' large is
best resolved by having a nice 'grippy' front tyre with lots of weight
over it - but with low rolling friction. (Like a tank track or
something). Unfortunately those are also the things that tend to make
'B' large too.
* If you try to get 'B' smaller by using a tyre that's more slippery
then 'C' gets smaller too.
* Tweaking the gear ratios can increase the difference between 'A' and
'B' - but will also reduce the difference between 'B' and 'C'.
I don't think I understand how these are affected by the length of the
body, the size of the rear wheels or the presence of a split rear axle
versus a solid one.
The other thing that this symbolic approach doesn't address is the
business of what happens when the robot has steered away from the
obstacle - so the turntable is at some funny angle - but now you'd
like the body to automatically straighten out so the robot follows
along in the new direction of the front wheel instead of spinning
around in a circle and hitting the obstacle again.
That requires that 'A' is now somehow less than 'B'.
> Once one works, it works well but if you try adding extra weights to a
> shop-bought toy, you'll see how sensitive they are.
That's depressing.
However, they are evidently much better tuned than my efforts because
they work equally well on carpet and wood floor and I've failed to
make that work.
<sigh>
---------------------------- Steve Baker -------------------------
HomeEmail: <sjbaker1@airmail.net> WorkEmail: <sjbaker@link.com>
HomePage : http://web2.airmail.net/sjbaker1
Projects : http://plib.sf.net http://tuxaqfh.sf.net
http://tuxkart.sf.net http://prettypoly.sf.net
|
|
Message has 2 Replies: | | Re: Problem with auto-steering mechanism.
|
| (...) Yes, exactly, look at Mark Tilden. His "robots" don't do anything more than these ancient Bump-and-Go style toys, and people think he's a genius! He demonstrates how he can break legs on his "robots" and they keep on trying to work, but so (...) (22 years ago, 27-Oct-02, to lugnet.robotics)
|
Message is in Reply To:
| | Problem with auto-steering mechanism.
|
| Steve You shouldn't have a differential. The front bogey can rotate about its vertical axis about (let's call it) the steering shaft - which also doubles as the drive shaft. The two wheels on the bogey are on a solid axle. The idea is that it's (...) (22 years ago, 27-Oct-02, to lugnet.robotics)
|
5 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|