apollo@ecf.utoronto.ca (Vince Pugliese) (08/08/90)
assuming one is using optical encoders (with 2-phase output) to measure position of a (rotary) robotic joint, what should one use to then measure velocity?? two possibilities come to mind: 1) use the position encoders with some sort of digital differentiator 2) a specialized velocity encoder any ideas, suggestions, possibilities, clues as to the feasibility of the above. in fact any we would welcome any sort of discussion with regard to obtaining velocity information. thanks in advance apollo@ecf.utoronto.ca .vp
macminn@powertool.crd.ge.com (Stephen R MacMinn) (08/08/90)
In article <1990Aug7.205751.21206@ecf.utoronto.ca> apollo@ecf.utoronto.ca (Vince Pugliese) writes: >assuming one is using optical encoders (with 2-phase output) >to measure position of a (rotary) robotic joint, what should one use >to then measure velocity?? > >two possibilities come to mind: > >1) use the position encoders with some sort of digital differentiator This is pretty common. You could (for instance) just look at the frequency of the pulse train coming from one channel of your encoder, although that wouldn't give you direction. Its a little more tricky in your application because the joint probably spends a lot of time loitering near zero velocity. In that case there is a minimum speed that you can control to, determined by your encoder resolution, with a stable control system. >2) a specialized velocity encoder ...also pretty common. A DC tachometer is probably well suited to this application. If you wanted to change sensors, you could get both position and velocity information from a resolver with R/D converter at up to 16 bits of accuracy.
jpexg@wheaties.ai.mit.edu (John Purbrick) (08/09/90)
In article <1990Aug7.205751.21206@ecf.utoronto.ca> apollo@ecf.utoronto.ca (Vince Pugliese) writes: > >assuming one is using optical encoders (with 2-phase output) >to measure position of a (rotary) robotic joint, what should one use >to then measure velocity?? 2-phase encoders can work reasonably well (Galil motion control, based in California somewhere, has a range of PC-based controllers which run servos using encoder-only feedback) though most companies sell encoder-plus-tachometer systems. One idea which I'd like to hear of someone trying is to use a 2-phase encoder with sinusoidal output, which actually means a sine and cosine. Take one of the phases and differentiate it using an op-amp circuit, then divide the result by the magnitude of the other phase. The result should be proportional to velocity, because in the case of the differentiated phase, the voltage would be V = A sin(w t), so d(A sin(w t))/dt = A w cos(w t) and the second phase would be V = A cos(w t) Hence dividing one by tother results in w. [V = voltage out for either encoder phase A = max voltage at peak of the sine/cosine wave w = rotation rate t = time (thus speed * time = present position)] This only works if the sine waves are pure, equal in magnitude and properly phased, which may not be true. Plus differentiating analog quantities is a famous way to get in trouble. John Purbrick jpexg@ai.mit.edu
nagle@well.sf.ca.us (John Nagle) (08/09/90)
This is a worthwhile area for exploration. We have direct-drive arms, so we should have direct-drive sensors, ones which produce useful position and velocity data while being rotated through small angles. DC tachometers are not useful at low angular rates, and adding a geartrain to support a tachometer is a messy solution; among other things, you would need antibacklash mechanisms. Shaft encoders have similar problems. Potentiometers seem an obvious choice, but they aren't a good solution. They tend to become noisy as they wear, and this can result in violent arm motions in a servo loop. Differentiating the output of a pot to get velocity is even worse; any noise indicates a big velocity change, and adding a low-pass filter introduces a phase lag. Variable capacitors are a good choice. These are the usual sensors in laser mirror deflection systems. Since there's no physical contact between the plates, the noise and wear problems of pots are eliminated. The usual circuts for sensing capacitor values produce a variable frequency as an output. This can be counted and used digitally with little difficulty. You can use a high frequency, megahertz if necessary, so that you can obtain frequent counter readings and difference for velocity data. Remember to use an enclosed variable capacitor with a grounded, conductive case, so that the readings aren't affected by nearby moving conductive objects. John Nagle
grege@gold.GVG.TEK.COM (Greg Ebert) (08/10/90)
Although non-digital, another method of measuring the rotational velocity is to measure the back-emf of the motor. I've seen this used in closed-loop analog systems for accurate speed control. A degenerate case is the detection of a 'motor-jam' condition. With cheap multichannel ADC's available, methinks this might warrant some consideration.
rick@ameristar (Rick Spanbauer) (08/10/90)
In article <19481@well.sf.ca.us> nagle@well.sf.ca.us (John Nagle) writes: >Remember to use an enclosed variable capacitor with a grounded, conductive >case, so that the readings aren't affected by nearby moving conductive >objects. > John Nagle John, I've got a couple of noisy var caps in my antenna tuner I would like to introduce you to ;-). The mechanical coupling to the variable element seems to have worn, resulting in noise when the shaft is rotated. Anyways, using capacitance to close the loop seems a reasonable solution. Check out the July 1990 Issue of Sky & Telescope for an application that uses a differential capacitative measurement to control the mirror in the Keck telescope. Neat idea! Rick Spanbauer
krukar@pprg.unm.edu (Richard Krukar [CHTM]) (08/10/90)
To sense velocity from an incremental optical encoder, you only need a little digital circuitry. There are two functions to consider, speed and direction. First, direction because it is easy. Use some edge triggered flip-flops. At the positive or negative going edge of one of the quadrature signals, the other signal's state will indicate direction. Next, speed. A low resolution method would be to feed one of the signals into a counter. Use a crystal and another counter to esablish an "integration time". Example: a 100 kHz crystal ( clock chip ) feeding a counter doing a divide by 500 function yields a .005 second integration time. So every .005 seconds ( on every tick ) latch the frequency counter output into a register and then reset the frequency counter. Changes to the basic theme can yeild better resolution. For instance, create a state machine to read the quadrature outputs. Note the the output is a grey code ( 0-1-3-2-0-1-3-2 ) indicative of four states. If the last state was three, and the inputs indicate you have entered state one, then you know the direction of rotation. Also, on each state transition send a pulse to the frequency counter. Now you have a full blown quadrature detector/speed measurement capability. Did you specify what this sucker needs to interface to? Richard Krukar ( krukar@chtm.unm.edu )
cmcmanis@stpeter.Eng.Sun.COM (Chuck McManis) (08/11/90)
Another area you might consider is using simple inductors. A system which has as much resolution as you'd care to spend on it. The tecnique being to place an inductor on one section of the joint and a moving "core" (in the form of a conductive wire) on the other section. Energizing the inductor and then measuring the emf generated in the core. Note I've never actually implemented one of these so I don't have complete confidence in its viability but I don't see any obvious flaws in it. -- --Chuck McManis Sun Microsystems uucp: {anywhere}!sun!cmcmanis BIX: <none> Internet: cmcmanis@Eng.Sun.COM These opinions are my own and no one elses, but you knew that didn't you. "I tell you this parrot is bleeding deceased!"
jn163051@longs.LANCE.ColoState.Edu (Joel Nevison) (08/13/90)
In article <140483@sun.Eng.Sun.COM> cmcmanis@stpeter.Eng.Sun.COM (Chuck McManis) writes: > >Another area you might consider is using simple inductors. A system >which has as much resolution as you'd care to spend on it. The >tecnique being to place an inductor on one section of the joint and >a moving "core" (in the form of a conductive wire) on the other >section. Energizing the inductor and then measuring the emf generated >in the core. Note I've never actually implemented one of these so >I don't have complete confidence in its viability but I don't see >any obvious flaws in it. My first contribution, neat group! I have seen this implemented on a GCA stepper as velocity feedback to prevent the auto-focus from oscillating. They called it an LVTD which I believe stands for linear velocity difference transducer? Correct me someone. I don't believe the coil was energized, I think they had a magnet moving inside. This was measuring some fairly small velocities as the total travel was less than 1/2" and I never saw it move that distance faster than ~1/3 second (in failure mode). Normally it measured moves on the order of a millimeter. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | Substitution mass confusion / Joel Nevison | | Clouds inside my head / jn163051@longs.lance.colostate.edu | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
whit@milton.u.washington.edu (John Whitmore) (08/14/90)
In article <8441@ccncsu.ColoState.EDU> jn163051@longs.LANCE.ColoState.Edu (Joel Nevison) writes: > >I have seen this implemented on a GCA stepper as velocity feedback to >prevent the auto-focus from oscillating. They called it an LVTD which >I believe stands for linear velocity difference transducer? Correct me >someone. I don't believe the coil was energized, I think they had a >magnet moving inside. There is a position-measuring device called LVDT (Linear Variable Differential Transformer) which is used to measure distance displacement. Our machine shop has a gage using this sort of cell that gives about one microinch resolution. For velocity measurement, we use a Hewlett-Packard gizmo that looks similar, but the bead in the center is a permanent magnet; it is called an LV-Syn, or sometimes LVT (Linear Velocity Transducer). Our machine does Mossbauer measurements, requiring control of velocity to one part in 1000 of 1 mm/sec velocities. It works fine. I have seen similar linear velocity transducers (basically it's just a linear generator) in large hard disk drives, in the head assembly, also presumably to control seek speeds. Unfortunately, this sort of device fails at LOW velocities because of its inductive output impedance; the signal/noise ratio can be guaranteed worse than any given value for some sufficiently small velocity. Creep of the system becomes a problem (so the disk drives had ANOTHER feedback mechanism to control absolute positions). Since the original question was about controlling a rotational velocity (like in an arm joint), I wonder why no one has suggested looking at the motor's back EMF; it gives the same information as a separate electric generator would, and it's ALREADY built in. John Whitmore
n8243274@unicorn.WWU.EDU (steven l. odegard) (08/22/90)
I read about a new General Electric DC motor that uses back EMF as an signal to trigger the rotor or stator to switch electronically. As anyone used this system as a servo? -- --SLO 8243274@wwu.edu uw-beaver!wwu.edu!8243274 n8243274@unicorn.wwu.edu