Subject:
|
Re: robotic rovers
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Mon, 30 Aug 1999 00:36:23 GMT
|
Viewed:
|
721 times
|
| |
| |
Steve,
I think your post was meant to read like this:
David Chen wrote:
> Ian Warfield wrote:
> > Incidentally, has anyone tried to combine a rotation sensor and a touch
> > sensor on the same input? I've tried programming a sensor task routine
> > to separate the input signals based on RAW voltage but it's not fast enough
> > to handle normal movement :(. With two rotation sensors taking up two
> > inputs, I'm not looking forward to sharing input 3 with two touch sensors
> > and a light sensor.
>
> Have you tried combining the inputs of the two output motors into a
> differential? If the inputs are counter-rotating, the net differential
> body rotation will tell you which side is moving faster, i.e.:
>
> Motor A ------> Differential <--(Reversed Input) Motor B
> +
> +-----Rotation Sensor (hooked up to the diff body)
I was working with this same idea yesterday, but the problem is this will
not give you correct information when you are turning. Does anyone have a
suggestion about how to do that?
I want to use two motors to drive (max speed), two rotation sensors to
adjust speed/direction, and also have two touch/bump sensors to avoid
things.
> Make sure Motor A and Motor B are input to the differential via the same
> gear reduction. If the rotation sensor hooked up to the differential is
> reading zero then both are moving at the same rate. If there is a change,
> slow or float one side to let the other catch up.
>
> I have also figured that if you connect the two motors to each other (as
> well as to their respective outputs), you should lock in their movements
> together. Perhaps you could run this thru a interrupter switch to shut
> off this connection while turning.
Well, I was with you up to this point... I don't understand exactly what
you're suggesting here.
Thanks
Steve
-------------------------------------------------------------------
(Lugnet doesn't format reply posts correctly unless you fix the newline
errors.)
I think what David meant with the phrase "lock in their movements together" is
the incorporation of an electronic or mechanical device that will connect the
respective wheel outputs so that the robot travels in an absolutely straight
line. I have a commercial motor casing that does something like this - it's a
6" x 4" x 2" box that is designed to operate a dual set of wheels. It
contains a magnectic clutch that links the two output shafts of the motors
when they rotate in the same direction. This way, it ensures that both the
wheels are travelling at the same rate. I'm not sure how this could be done
in LEGO, but it would be a nice way to get the advantages of both two-motor
powered wheels and straight lines. The interrupt switch or clutch would be
used to disengage this connection when the motors are moving in opposite
directions to turn.
As to the differential turning apparatus - I'm not sure exactly what's not
working with your setup, but I'll see if I can explain it in a little more
detail. Try this experiment:
Rig the standard differential apparatus with two 8-stud (approx.) axles
sticking out the sides of an assembled differential casing. Hold one axle in
each hand between thumb and index finger. Rotate both axles forward at the
same speed and notice that the differential rotates along with it, at exactly
the same speed. Notice also that the little gear in the middle does not turn
at all.
Now, rotate only one of the axles while holding the other one still. The
differential body will only rotate at half-speed compared to the axle that's
moving. If you want to be technical, you can say that the differential
rotation represents the *difference* (hence the name) of the two axle
rotations. It's a bit hard to see, but the gear in the middle is also
rotating at half-speed.
Finally, turn the axles in opposite directions. If you rotate them at exactly
the same speed (hard to do with just your fingers) you'll see that the
differential body does not move at all. The middle gear, on the other hand,
rotates just as fast as either axle.
If you study this a little bit, you'll see that the greater the difference in
the two axle rotations, the slower the differential rotates, and the more
alike the axle rotations are, the faster the differential rotates. This is
great for measuring straight robot movement - if you want to see how far
straight your robot goes, measure the output of the differential. The key to
all this is in how the middle gear links the two axles. If you study the
differential for a moment you'll start to understand how it works. It's a
marvel of engineering.
There's just one problem - in most applications involving the differential, we
want to measure how much the robot is turning, not how far it's going
straight. We want to rig it so that the greater the difference in the axle
rotations, the faster the differential rotates, and the more alike the axle
rotations are, the slower the differential rotates.
The way to do this is to invert one of the axle rotations. This is
accomplished with a gearbox or fancy gear setup, or possibly a twist in a
rubber band connection. Hook up your inverter to one of the axles and feed it
into the differential. Now, when the axles are rotating at the same speed and
direction, the differential will receive opposite inputs and the casing will
hold still, just like the last example. This corresponds to a robot going
straight, so now the differential body will indicate very little or no
rotation. If the robot is turning and the axle rotations are different, the
inverter will trick the differential into thinking that the rotations are the
same, and the differential will spin quickly like in the first example. Any
other combination of wheel movement will produce something in-between like in
the second example.
If you hook a rotation sensor to this device you have a very reliable way to
measure how far a robot spins. A good illustration of this is Simen Svale
Skogsrud's vector rover (http://www.mop.no/~simen/vector_rover.htm). He has
some good illustrations of his rotation sensor apparatus on his page.
Hope this helps and you're able to fix your differential.
Ian
|
|
Message has 1 Reply: | | Re: robotic rovers
|
| (...) To which you wrote: (...) Then he wrote: (much more concisely) (...) It could work in theory, but I just tested it again with 2 motors that were grossly mismatched. Having both motors interconnected (electrically) did NOT cause their (...) (25 years ago, 30-Aug-99, to lugnet.robotics)
|
Message is in Reply To:
| | RE: robotic rovers
|
| Ian Warfield wrote: > Incidentally, has anyone tried to combine a rotation sensor and a touch sensor > on the same input? I've tried programming a sensor task routine to separate > the input signals based on RAW voltage but it's not fast enough to (...) (25 years ago, 26-Aug-99, to lugnet.robotics)
|
6 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
|
|
|
Active threads in Robotics
|
|
|
|