home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / bit / listserv / csgl / 2240 < prev    next >
Encoding:
Internet Message Format  |  1993-01-21  |  12.0 KB

  1. Path: sparky!uunet!noc.near.net!hri.com!spool.mu.edu!howland.reston.ans.net!paladin.american.edu!auvm!VAXF.COLORADO.EDU!POWERS_W
  2. From: POWERS_W%FLC@VAXF.COLORADO.EDU (William T. Powers)
  3. Newsgroups: bit.listserv.csg-l
  4. Subject: Multiple directions; arm models
  5. Message-ID: <01GTRYQCOS2Q008XEO@VAXF.COLORADO.EDU>
  6. Date: 21 Jan 93 16:58:07 GMT
  7. Sender: "Control Systems Group Network (CSGnet)" <CSG-L@UIUCVMD.BITNET>
  8. Lines: 239
  9. Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
  10. Return-Path: <@VMD.CSO.UIUC.EDU:POWERS_W%FLC@VAXF.Colorado.EDU>
  11. X-Envelope-to: CSG-L@vmd.cso.uiuc.edu
  12. X-VMS-To: @CSG
  13. MIME-version: 1.0
  14. Content-transfer-encoding: 7BIT
  15.  
  16. [From Bill Powers (930121.0830)]
  17.  
  18. Martin Taylor (930120.1545)--
  19.  
  20. >I think it more likely that the human is not working with
  21. >orthogonal control systems at all.  It seems more likely that
  22. >there are many, rather than two directions of control, and that
  23. >the observed actions of handle (mouse) movement are the result
  24. >of these many outputs in the different directions.
  25.  
  26. I can see perceptions being made of individual contributions from
  27. many individual direction-detectors aimed in different
  28. directions, but when it comes to output the available directions
  29. are limited to the degrees of freedom of the arm.
  30.  
  31. Exactly orthogonal control is not necessary; if there is a slight
  32. deviation from a 90-degree angle between the axes, motion in one
  33. axis simply disturbs the other axis a little, and the control
  34. system on the other axis cancels the disturbance by normal means.
  35. The only thing to watch out for is positive feedback in the
  36. interaction. If the angle between axes is 95 degrees (as in your
  37. example), the coupling of one axis to the other is about 0.09.
  38. Multiply that by the error sensitivity of the other system, and
  39. by 0.09 again for the return coupling, and you get the positive
  40. feedback gain (or something, I'm skimming the surface here). My
  41. point is that a certain amount of interaction between high-gain
  42. control systems can be tolerated.
  43.  
  44. >So, to enhance the model, I would put more ECSs, which look at
  45. >error in different directions, rather than impute to the human
  46. >an ability to rotate the space.
  47.  
  48. You'd better work out an example; this just looks like a great
  49. opportunity for conflict to me.
  50.  
  51. >If one does make a model with more ECSs, there are more degrees
  52. >of freedom with which to fit the data, which makes it more
  53. >difficult to determine whether the new model is an improvement
  54. >over the old.
  55.  
  56. Slow down. First demonstrate that such a model would work at all.
  57. Then worry about degrees of freedom.
  58. ---------------------------------------------------------------
  59. John Gardner (930121.0000)--
  60.  
  61. >Albus suggests an approach in which the arm states (angles and
  62. >velocities) can be used as addresses to a large memory system
  63. >which contains values of muscle torques/forces.  These tables
  64. >are built up, either through evolution or learning and the
  65. >system runs and a funny kind of hybrid open/closed loop system.
  66.  
  67. The open-loop aspects of Albus' model are what I object to. He
  68. does have some good concepts of hierarchical control, although
  69. his approach is still "task oriented." By that I mean that he
  70. seems to partition the behavior according to externally-defined
  71. objectives instead of internal reference signals. In robotics, of
  72. course, that may be appropriate. In models of organisms it isn't.
  73.  
  74. The idea of using the memory capacities of the brain looks good
  75. to me. In the Arm model I used something like that just to get
  76. the show on the road, not because I thought I had done it right.
  77. The output of the visual control systems is based on errors
  78. computed from the coordinates of the eyes, while the arm itself
  79. works in a shoulder-centered coordinate system. For slow
  80. movements this causes no difficulties, but it makes fast
  81. movements toward a target start off in the wrong direction,
  82. resulting in unrealistic trajectories. I "solved" this problem by
  83. putting in an adaptive transformation map between the visual
  84. systems and the reference inputs of the arm control systems. I
  85. would rather have put the transformation in the perceptual
  86. systems, but had computational problems in getting the perceptual
  87. map to adapt without ruining control when the map was half-
  88. finished. So I took the easy way out, figuring on doing it right
  89. later.
  90.  
  91. Paul Churchland has also suggested transformation maps in his
  92. "crab" model, but he failed to notice that the same
  93. transformation would apply to the visual image of the reaching
  94. claw, so he never got to the stage of proposing a control system.
  95. The target position was transformed into a claw movement open
  96. loop.
  97.  
  98. I'm quite pleased, actually, that you didn't consider my previous
  99. post to be a nut letter. It's been hard to get real control
  100. engineers to listen long enough to see that there is another
  101. point of view possible. When you say "This reminds me of
  102. performing dynamic system simulation using analog
  103. computers" you hit the nail on the head. My earliest experiences,
  104. and the initial modeling I did, was with analogue computers
  105. (Philbrick). That's where I learned about solving simultaneous
  106. differential equations with that magical bootstrap method where
  107. you say "OK, this wire contains the solution for x, so I'll
  108. connect it back to the input where x is needed, and use it to
  109. compute the solution." My whole approach to modeling organismic
  110. control systems is based on insights learned from analogue
  111. computers. I spell analogue with the -ue in the same way some
  112. people still build bathtubs with claw feet.
  113.  
  114. >The point I'm trying to make is that by manipulating the
  115. >reference signals in that way, you're just performing the exact
  116. >same computations (inverse Jacobian), you're just doing it 'in
  117. >the hardware' instead of software.
  118.  
  119. Hooray, you understand! The control loop is doing the inverse
  120. computations by BEING the solution. Hearking back to your
  121. previous post, it's perfectly true that you must convert the
  122. positional error into appropriate changes in the joint angles,
  123. but this doesn't mean that you have to actually compute the
  124. inverse matrix. It means getting the sign of feedback to be
  125. correct (negative) for every possible feedback path through every
  126. joint. The amount of feedback (the weighting) is of only minor
  127. importance if the sign is correct. Because integrators are used
  128. in the output functions, the errors will eventually go to zero.
  129. Stabilizing the system is a separate consideration; first you
  130. have to make sure you have the basic organization of a control
  131. system that will work quasi-statically.
  132.  
  133. >By your own arguments, isn't it even less likely that the
  134. >lower reaches of the brain' are capable of the kind of high-
  135. >level reasoning that was required for you to come up with the
  136. >solution you outlined above?  Or are these relationships 'hard-
  137. >wired by evolution?
  138.  
  139. Let's just say "by learning" and leave the mechanism to be
  140. discovered.
  141.  
  142. >Sounds to me like your describing a control based on neural
  143. >networks.
  144.  
  145. I think that self-adaptive neural nets are a definite
  146. possibility. Using them as parts of control systems is especially
  147. nice because you have a built-in criterion for guiding the
  148. adaptations: the error signals should all be as small as
  149. possible.
  150.  
  151. RE: accuracy.
  152.  
  153. FORTRAN single precision is what, 18 bits? The precision of
  154. nervous system analogue computations is something like 8 bits. If
  155. your model tried to invert a 6x6 matrix of variables known to
  156. that precision, by computations of that precision, what would the
  157. final precision look like? Remember that when you do matrix
  158. inversions in hardware, every implicit multiplication, division,
  159. and addition must actually be done by a computing element. I
  160. think you'd be lucky to end up with 4 bits. Yet the behavior we
  161. have to account for is as accurate as perceptual resolution.
  162.  
  163. >We assume that the links don't bend and it doesn't take a very
  164. >heavy payload to cause significant link bending when the robot
  165. >arm is extended.
  166.  
  167. This is where the lack of good sensors is a real handicap. If you
  168. could sense where the payload is very accurately, you wouldn't
  169. care if the arm bends a bit. Real control is based on the sensed
  170. outcome, not the generated output. The kludgiest control system I
  171. ever built was also the most precise: it controlled the position
  172. of a carriage under the ruling diamond of a grating-ruling
  173. engine. The position was sensed using a stabilized laser
  174. interferometer, and the fine adjustments of the carriage were
  175. made by a voice coil pushing through a nonlinear compound lever
  176. to bend the inch-thick supports of the central part of the 300-
  177. pound carriage. We had no idea what the minification function of
  178. the compound lever looked like. But the interferometer could
  179. measure the carriage position to 0.01 wavelength of laser light,
  180. and that is the accuracy of groove-spacing that we achieved. The
  181. un-fed-back engine accuracy was about 1 wavelength.
  182.  
  183. All you really need is reasonable monotonicity of the output part
  184. of the system. You don't even need linearity or precise
  185. repeatability over time. All precision is achieved by the sensor;
  186. the rest of the system can be pretty crude.
  187.  
  188. >The scheme I described (and similar ones described on the
  189. >CSGNET earlier) are what we call 'local control schemes' based
  190. >on local velocity or position control loops at each motor.
  191. >Since we are using geometry to compute desired set points for
  192. >those loops, things which cause disturbing torques (like
  193. >gravity) are compensated, more or less, by the local loops.
  194.  
  195. The local loops can do some of the compensation -- but what if
  196. the target moves? What you are calling "local loops" I would call
  197. lower-level control systems. In the arm model, these lower level
  198. loops actually turn out to have modest steady-state loop gain,
  199. only 5 to 10 depending on how you tweak the system. The main
  200. effect is to achieve stability. A higher level of kinesthetic
  201. control is needed to boost the gain for positional errors -- I
  202. used joint=angle sensors and leaky integrators, which makes
  203. steady-state position errors small, while allowing transient
  204. effects from disturbances (as in real human arms).
  205.  
  206. I'll send you a copy of the arm model version 2 if you want it.
  207. It needs a 286, 386, or 486 DOS computer with Hercules, CGA, EVA,
  208. or VGA graphics (no color is used). Full C source code is
  209. included. If you can get your department to buy it, great;
  210. otherwise just ask.
  211.  
  212. >No real argument from me here.  I think my discussion up to
  213. >this point deals with this pretty well.  I've never seen that
  214. >number on the dynamic range of the neural signals.  Where can I
  215. >find that in the literature?
  216.  
  217. Nowhere that I know of. I'm estimating that the maximum possible
  218. frequency of a neural signal is about 2500 pulses per second,
  219. with a noise level equal to the square root of the pulse rate. E.
  220. g., 50:1. What says Martin Taylor?
  221.  
  222. >I'm enjoying this exchange.  I believe there is some
  223. >substantial common ground here and I look forward to continuing
  224. >the discussion.
  225.  
  226. Me, too.
  227. --------------------------------------------------------------
  228. Greg Williams (930121) --
  229.  
  230. >Regarding the ongoing discussion about modeling pointing
  231. >behavior, I think it is clear that PCTers apparently could be
  232. >looked up to by (at least some) roboticists if they
  233. >successfully make a fast PCT model (endpoint control) with six
  234. >or seven degrees of freedom. So, if that's what it takes, why
  235. >not try to do it?
  236.  
  237. I'm tempted. Unfortunately I seem to be leaving a trail of
  238. projects started but never finished. Everything is so
  239. interesting, and my time and energy are so limited! Well, maybe a
  240. bunch of half-finished projects will some day give other people
  241. ideas about how to finish them. Actually, last night before going
  242. to sleep I saw how to compute the fingertip position by using a
  243. series of rotation matrixes progressing from the fingertip back
  244. to the shoulder. Maybe it would be worth while trying this out in
  245. the same way that the Little Man version 1 ran -- without
  246. dynamics. At least this would show what the kinematic problems
  247. are. If I can get that much to work, maybe the real control
  248. engineers on the net would see some value in trying to get the
  249. dynamics under control. I sure wouldn't know how to do that in 6
  250. or 7 degrees of freedom.
  251. --------------------------------------------------------------
  252. Best to all,
  253.  
  254. Bill P.
  255.