Subject:
|
Re: Balancing robots
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Tue, 27 Jan 2004 21:32:36 GMT
|
Original-From:
|
PeterBalch <PeterBalch@compuserve.#ihatespam#com>
|
Viewed:
|
1123 times
|
| |
| |
Gordon
> http://www.dprg.org/tutorials/1998-04a/
> http://www.drrobot.com/products/item_downloads/MDM5253_1.pdf
Good descriptions but a little basic for what we're discussing here.
PWM can be used to control balancing in three ways. In the two parts of the
cycle, the transistors are:
- on or open-circuit
- on-forwards or on-backwards
- on-forwards or on-connecting the terminals to ground
I've only ever used the first of these in PWM. I think the second is called
Locked-Antiphase and the third is Sign-Magnitude. I think Locked-Antiphase
and Sign-Magnitude give a faster (mechanical) response (and so are used in
balancing robots). In theory, one could measure back EMF continuously using
any of the techniques but as far as I can tell, no-one does. I want to know
why.
I did a quick web search - in particular, some MicroMouse enthusiasts use
PWM and back EMF to control speed.
From the few detailed descriptions I found, most people seem to separate
the PWM cycle from the speed-measurement feedback loop. 10% accuracy seems
feasible. They run the motor for 20-50mS (possibly using PWM) then measure
the speed. They turn off the drive, wait until the transients have died
(say, 0.5mS) then average the back EMF over a couple of milliseconds.
www.acroname.com sell motor control boards that use this technique.
HardistyBahr99.pdf describes an analogue system which does the measurement
during the PWM Off phase (i.e. PWM and measurement are combined). It's only
used for speed control (whereas for balancing, everyone seems to control
torque and measure the resulting wheel motion). They claim 1% accuracy but
don't say whether this includes variable loads.
> The measured EMF voltage (converted to an average current measurement across
> the coil resistance) is only a very small fraction of the power supplied
> full on or reverse current. This will make the measurement noisy.
I'm not sure what you mean.
I've just connected two identical small DC motors together and powered one
of them. The voltage output from the second is about half the voltage
applied to the first. Presumably, most of the difference is due to the
internal resistance of the first motor. Commutation noise was around 30% of
the total output voltage: a mixture of high frequency spikes and low
frequency "humps" corresponding to the rotation of the armature.
> There is no absolute position, only velocity measurement. You are using a
> derivative as the measurement, not the linear state variable. That can cause
> problems.
Yes but the question is: does it help with the stability of a balancing
robot? People who build big balancing robots always seem to include a
rotation sensor (and use it in a PID loop). People who build Lego bots
generally don't. My simulations of balancing have convinced me that if you
only have a PID controller for "uprightness" then the robot weaves back and
forth. If you add a PID controller for "distance" then suddenly the robot
snaps upright.
A rotation sensor would be best but I'd prefer not to use one. Using the
motor commands as a substitute for velocity only helps a little (because
the velocity lags behind the motor commands - putting in a delay doesn't
help).
Maybe using back EMF as a crude measure of distance will help a lot.
Peter
|
|
Message has 1 Reply: | | Re: Balancing robots
|
| Has this link been given: (URL) file) Rich Chi Ooi's "Final Year Thesis" in mechanical engineering (U of Western Australia) on a balancing robot. Mentions Steve Hassenplug's Legway. I'm convinced that Peter is on a useful track (in that wheel (...) (21 years ago, 28-Jan-04, to lugnet.robotics)
|
2 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|