From: AAAI-86 Proceedings. Copyright ©1986, AAAI (www.aaai.org). All rights reserved. A Mobile Robot with Onboard Parallel Processor and Large Workspace Arm Rodney A. Brooks, Jon Connell, and Anita Flynn MIT Artificial Intelligence 545 Technology Cambridge, Lab Square Mass, 02139 ABSTRACT a. The MIT number AI Lab’s of unique second 32 processor sor system, robot, design features. two of them in detail. cheap mobile First, control BARNACLE, no central locus of control. Unlike processors this one has no expensive The communication a distributed patch almost Second, lightweight, but has an extremely MOBOT-2 by the parallel with all other parallel communications rout- is determined All computing panel. The proces- asynchronously topology the robot. arm is controlled has an extremely system. runs ing network. is done by onboard has an onboard arm. It is large working volume. The The MIT MOBOT-1, constructed machine sensors rooms which an offboard Lisp machine emphasis architecture, known system. which testbed and TV microlink to is done. The main research par- and strengths as the suhumption of the architecture. here, is intended runs the subsumption of this paper explores parallel architecture, tasks in the world than simply of MOBOT-2. decisions Figure uninteresting it more it works and there’s interesting. extremely Another and weight. larger motors The remainder and trade-offs in 1 shows MOBOT-1 all our problems Founda- tion, and in part by the Advanced Research Projects Agency under Office and NOOOlrl-82-K-0334. the robot This of it becomes to add to make to be This dictates we use. made from previous Big robots or is because level, and reassemble. systems apart modify like MOBOT-2 is that there is an explosive call for large batteries. with MOBOT-1 something we would fastening observation mobile robots quiring always Hence, the type of physical it. at any given easy to strip down experience phenomenon with regard- need hefty motors, Large batteries and even bigger which add more weight, batteries (e.g. re- [Giralt like to reverse this trend and smaller and lighter. In the limit, will be solved. 2. The Parallel Processor All serious previous 851, [Giralt an offboard perception, N00014-8GC-0505 once processor ment Award, in part by a grant from the Systems Development / ENGINEERING that running mobot Support for this work was provided in part by an IBM Faculty Develop- 1096 it, as we do actually the fact experience time taking in order to enhance, We would and the new MOBOT-2. of Naval Research contracts it back together build each succeeding and a lightweight move around. as much et al 841) and so on. to do much more interesting the design debug almost control the distributed an onboard arm which will enable the robot and putting ing power to on the first and to make for a richer exfor further pursuing that we spend on the Lisp machine. the one described To this end it includes these two aspects and has been on a distributed is simulated the motivations Our second robot, perimental It has an onboard where the real computing which 861 describes laboratories has 12 sonar depth other than its wheels. system be an improvement around over a radio with this first robot allel control We have found from previous has been underway 861. MOBOT-1 communicates It has no actuators control it wandering and a pair of TV cameras. processor [Brooks project In that time we have built our first robot, [Brooks b. Partially MOBOT-2. 1.1 Previous Lessons AI Lab MOBOT and tested Figure 1. MIT mobile robots a. MOBOT-1 processor. 1. Introduction since January 1985. b. has a In this paper we describe MOBOT-2 distributed called MOBOT-2, robot. mobile robot et al 841, [M oravec processor world and planning this approach ever, due to the availability processors robot [Brooks systems to move to all onboard [Crowley as required for MOBOT-1. of more computationally ful, low power CMOS control (e.g. 841) have used to do the bulk of the computation modelling We adopted projects 831, [Nilsson for by the Now howpower- and a new decompostion of 861, we believe the time is ripe processing. 4 , level 9 level P reason b. about behavior plan changes SeWX9 to the world identify obJecta monitor changes build level 1 of objects Ez& maps Figure 3. adding more levels. Augmenting level 0 Actuators an existing control system by explore wander avoid object, Figure 2. Slicing a control system a. Traditional position b. Subsumption architecture 2.1 The Subsumption Architecture The usual approach bile robots to building is to decompose of functional units as illustrated robot illustrated then tie them together difference is that have a contSrol sy&em petence. second which layer to augment it. new decomposition for mobile achieves The a large number The level of CO~Iand build continues a building more competent a subsuntptzon systems, plausible control architecture. different with radically at the hardware of advantages Our limited. lel processors or talk to memory. different im- Under control as a watchdog to its attached functions The current and base. and It can wait for ceror act t.imer. The finite state machine .also occasion- ally passes data computes processor The finite state machine save partial results in an internal register, geometry coprocessor such as polar coordinate and monotonic vector of modules Our initial robustness, coprocessor required boards. to control idea was that precisely Recently That the robot arm one physical play the role of one finite state pair, which addition, functions. design calls for 32 processor should switch happen offline. to reconfigure is never between parni- talk to each the subsumption run of the robot. is predetermined machine coprocessor. the data flow t,hrough the module. geometric part of most which lets processors this can essentially architec- processors is Thus there is no need message topology, as Instead the communication by a distributed patch panel. to build per physical machine- we are of the opinion Each processor and contains forming suppression with 128 bytes of internal adding layers from collections of very Each processor is 4 inches wide by 3 inches (described below). an architecture RAM similar high and logic for per- The 6301 is a CMOS to the 6800. and an external It has 8K piggy-back The board shown in figure 4 also has provisions an extra 2K of external will contain municating pairs, which we call modules. board a Hitachi 6301 microcontroller processor EPROM. pair processor. the program and the geometric 2.2 Physical Layout We have chosen controls tain inputs, processor concerning expensive for a fast dynamic simple processor of a finite state geometry level. It also is that the architecture of communications fixed for a particular from BARNACLE. that we may be able to simulate more than one processor The most is the switch ture the topology pair consists a peripheral is the number architecture and testability. One of these advantages bandwidth Figure 4. A processor board scaled comparison, control strategies buildability, topology intact process system. layer we already a certain system leads to a radically robot plementation other control the lowest as in figure 3. We call this architecture confers each slice explicit Iy, t’o form a robot We leave that running he- This is slices iu figure 2b. As wit,11 layer upon layer to give successively systems of the problem. we implement after building slices requirements to use task uchievzng decomposition decomposition for mo- by a series of vertical by a series of horizontal a functional systems into a series (roughly) the computational we have decided haviors as our primary control the problem in figure 2a. After analyzing for a mobile decom- the geometric of each module processor if needed. for The EPROM to emulate the finite state machine(s) co-processor(s), between modules. state variables RAM as well as the code for com- The RAM will hold the internal and serve as a scratch and for the decoding pad for of messages. ROBOTICS / 1097 Dominant nnn Inferior output b. a. C. Figure 6. In each of the three cases above the dominant input suppresses the inferior input. Figure 5. Physical arrangement of processor boards. is ignored. b. transmitted inferior Messages Inferior packet packet a. Inferior packet ie blocked. c. are sent serially over 2 conductors, tor is the data line and the other is a control Each processor puts. The input subminature board has 3 serial inputs and 3 serial out- and output lines of the module phone jacks on each individual of one module are connected board. to inputs of another wires made from a piece of coaxial end. A single lead contains terminate cable with two conductors, and the other to carry control signals. in Outputs ln addition each jack using patch plugs at each one to carry data All input jacks come in has a built in switch The 5 illustrates processor boards the complete are mounted the robot with the chips pointing on building four octagons gether with and stacking batteries required being nodes clipped for running thC periphery of we plan will be pabched the robot toThe reside in the center of the octagon. 2.3 Between All messages packets. Making must protocol. None of the physical deal are known processor Our analysis quantities than be controlled simpli- showed any physical how many bytes quantity. per packet. with which the robot 8 bits of accuracy more precisely command for distance. corridor orientation relative sonar sensors more likely infrared per ranger Z, y, and 0. to the current position. mounted on the robot depth can be placed / ENGINEERING sensors and one if desired. length, robot was of the robot can fit in three bytes: is plenty for local obstacle 1098 speed size to question by three bytes: byte can represent nor than this. takes two bytes, one for heading, A third description The remaining The configuration in the world can be represented that for several Since 8 bits make a byte, that seemed like a reasonable A motion using our lisp machine Inhibition, There a necessary width, With (as in MOBOT-1, A and 12 but on MOBOT-‘L), two bits in a single 24 bit packet. Two bits detection of BARNACLE. inhibit input amount t.he of time. to each processors which is can be varied from a tenth A pulse on line of the inhibit input starts the timer which in t,urn prevents although architec- by simply forbidding for a specified to a timer whose period the control of 24 bits This is much part of the subsumption in BARNACLE is a special 100 instruc- Packets rate we used to run MOBOT-1 simulation to send any messages connected the processor from sending any new messages, it is allowed to finish ones currently timer can be re-triggered are 24 bit for our application to more can any of its effecters represent faster than the communication three All ports are in progress. The at any time during the inhibition the duration. goes low, the processor When in- at last the timer’s is free to send whatever mes- sages it wishes. a fixed size significantly 24 bits was the right number (time for about can thus he sent in about one tenth of a second. output Modules in the BARNACLE the packets fies the communication reasons. 500 microseconds terval to extended Communication lines to supply of a second to several minutes by a potentiometer. t,opologies into these trays. I/O lines on each processor. t,ions) which is an easy speed to maintain. module (conceptually) Particular every one conduc- line. Both control to single bits of the processors We use 12 parallel ture, is accomplished system. Currently them frame. and suppressor the cables around outwards. above each other on a plexiglass for the processors BARNACLE polled which forces the input to a known state if no jack is inserted. Figure ports. input and three output pairs so that signals which must fan out can be daisy chained together. and data wires are connected parallel Partially is fluehed. and avoidance. Suppression special in BARNACLE hardware. Each is also implemented processor board contains pressor node which has two inputs and one output. of a flip-flop output. This flip-flop the dominant trolled controls input, which makes The state it through to the is set by a pulse on the control line of and reset after a time-out by an associated this works. input using one sup- The control potentiometer. line signals period con- Figure 6 shows how an impending message with a square pulse; the falling edge signals that the message is about to begin. There is a lower bound on the length of this pulse, but no upper bound, message indicates ignored-the ent message. be completely collision 3. Reassertion that the message of this line during is invalid and should new falling edge will indicate Thus the two inputs asynchronous problems the start of a differ- to a suppressor node can and yet there are no timing thanks to the protocol a be or definition. The Arm The fact that our robot is mobile makes a big difference in the design of the manipulator. A mobile an airplane in that all its resources only carry n certain fit in a specified is linlited. amount. of weight, all its equil)lllent power is also scarce. and weight is limited lights and disk drives, and occasionally illto inhabit noisy environthe teleme(ry communications What are in- (“‘) y = II sin 8 + 12 sin 4 - f Requirements has been said above ware residing on a mobile requirements is true for any piece of ltnrd- robot. There for manipulators are, however, also on mobile robots. One of these is that the arm and its end effector heavy that it tips the robot manipulator throughout We want our mobile wafers, to manipulate but 7. The manipulator Figure the hand is always and its kinematics. must, not be so they can’t up rocks for examination. b. and range of payloads. reasonably ounces Note that vertical. over. This needs to be true of the its workspace Arms that can lift a couple conductor d x=f~cos8+f~cos~+d altogether. 3.1 Special specific Fortunately, to beam information Yet, because robots ments full of fluorescent they ruII, t II(~ they consume. power, it is possible and out of a robot. bandwidth com~~u~nt?o~(~I \‘L!sl and C’M( IS, there are and the faster space, unlike electrical power scarce, Even with advanced the more processors terrupted (nil 111114 szze, and the power a~nil:~ble f~0111Ijilt t crier: Not only is electrical more power, is ;I lot likfb rol,ot are severely lilrlit,cb(l. It heavy objects. are fine for shuffling semimove Making coffee the actual means that it can move faster without mugs or pick arm light also encountering control instabilities. Another nipulators robots shortcoming of most commercially is that they have too small inhabit ferent heights: a three dimensional desks, tables, that t,he manipulator’s tical freedom. ma- Mobile world that, has mntty dif- shelves, workspace available a workspace. floors, etc. needs a large mrount The lateral mobility Lastly, the precision mobots to transfer t.o do low tolerance locate an object of commercial things manipulators to perform. from one location assembly. Sensors to a thousand is over kill things and setting something where you want it is usually positioning does matter, are often environmental fine. down constraints atively straight very accurate On the other end, a]) inch of absolute a peg from a hole, there (like the edges of the hole) given an appropriate control sys- design of the arm for MOBOT-2 It is a 2 degree of freedom manipulator which moves in a vertically ing through the central degrees of freedom vertical axis of the robot. is relplanar plane passThe two are used to select a height for t’he gripper and to give fine grain control Coarse oriented over the hand’s radial and angular control is provided Total poor headings range estimates. compensate toward only 2 degrees of freedom The rationale Each section radial position. by moving the behind vision, is desirable. we choose This to mount of the arm consists that can is why with the arm so it plane. of a parallel four-bat Figure 7 shows how these linkages are arranged. cause there is no wrist in this design we have decided the gripper always point straight four-bar mechanisms gripper to t’he robot’s two joints are capable cause the motors it controls. complicated serve down, an attitude frame. the motors power transmission an unacceptable a payload are light, each motor Mounting of 2 pounds. is located tfihe Be- at, the joint back further would require iL system that could phase lag in the servo control workspace The of the which actuate and would likely weigh as much as the motor The complete which al- the attitude The motors of lifting Be- to have from flat surfaces. to reference this supply but relat’ively a degree of freedom opera.tes in a radial rather than a tangential linkage. we have posit,ion of t,he a target object Having for these errors down in particular lows the hand to pick up s~nsll objects et al 831. forward. motion. not. 3.2 Mechanical Design The mechanical hand; there is no sideways of joints of the angular to another, within a. area. To keep the number fine grain control is that many long range sensors, For cases where like removing that can aid in the alignment tem [Lozano-PCrez ent,ire robot. our such as vision call not of an inch. for the mmipulntor. operating We expect getting the gripper to within half an inch is sufficient to grasp most b. Normal not provided we wish our robot Tip positions does base allows it t,o move the whole arm around. for the actions 8. workspace. of v(br- of the arm, however, not need to be very big since the robot’s Figure This me3;111s introduce of the fingers itself. of the arm is shown in figure 8;~. ROBOTICS / 1099 b. 9. Close-up Figure of a prototype compliant gripper. Figure 10. The hand finders (triangles). returned However, we are primarily concerned with the vel tic al colun~n shown in figure 8b which is 40 inches high and 18 inches witle. This alloys the arm to work 0x1 both of tables and to reach anywhere desk top. Quantizing the joint a1111a quarter inch accuracy 65530 possible fingertip the floor all(l the 101)s in the front half of a nor~nal angles to 8 bits eacll gives tllcx over the entire workspace. positions are plotted All fingers are 1 inch wide by 3 inches long and contact control over the angular the robot, lateral rubber the jaws of gripper leeway 2 degrees furthest location is important of the of error in the angular point Thcb the object, with respect, iWIll open to a wide 5 inches. because in its workspace it allows position t.0 This us to tolerate at shorte1 The arm is controlled the joints. voltage by specifying This is accomplished to a st,andard rate. Controlling a speed for each of by slowly ramping proportional controller the speed of t,he joints rather than their po- sition lets us move the hand along a desired trajectory. ticular, we can command up or move it directly by specifying sensed, but. the error volt- ages in the servo amps are also reported. Errors in the joint being supplied pling this with the configurat,ion the weight of the payload suring the control sufficiently necessary This the hand is grasping large grasping force is sensed. is determined slowly The amount of force by the weight of the payload directly until a as described above, which or esli- / ENGINEERING kinesthesic range-finders. sensors, These The pro- switch, but rather to local moving obst,acles, formulabes motors on the onboard processes sensor MOBOT-2 also has an onboard care and fashion. arm. Ilnlike other robols arms this one has a large workspace objects The arm, reacts information, high level plans all in a distributed with onboard topology. in the entire system. enabling it quite far above the base of the robot,. has been taken achieve this reach without to ensure tipping that the robot can itself over. REFERENCES [Brooks 861 “A Robust Robot”, Rodney RA-2, Automation, [Crowley March [Giralt search IEEE Giralt, Integrated Raja Ch+tila, for Robots”, and Russell Research, [Morave<: Mobile Robot”, and Automafzon,, Navigation Multisensory 831 “The P. Moravec, Motion Robots”, Robotics Re- 1984, 191-214. Synthesis of Fine- Tom&s Lozano-PCrez, H. Taylor, Volume and Mobile and Marc Vaisset, et al 831 “Automatic Strategies Robotics and 1985, 31-41. [Lozano-Pdrez Hans oj Robotics 1, Brady and Paul eds, MIT Press, Mason, oj Robotics for an Intelligent System for Autonomous Motion T. System for a Mobile Journal 1986 Journal al 841 “An et IEEE No l., April 851 “Navigation James L. Crowley, RA-1, Layered Control A. Brooks, International Mathew Journal oj 3, Issue 1, 1983 Stanford Proceedings Cart and the CM17 Rover”, of the IEEE, 71, July 1983, 872-884. the finger separation. from basic a cluster of 8 infrared 1100 controls Georges For the fingers, mea- allows us to close the fingers by measuring Aside processor angles iudicat e of the arm we can determine being carried. processor. of its communicat~ion locus of control parallel Control By cou- parallel configuration There is ILOcentral spring, this can by t#he mobors. error tells how tightly can either be measured mated If the servo has a such as a generalized be very useful information. the amount, of torque joint speeds that of the arm. Not only are the joint positions known transfer function, 111par- the arm to raise the gripper straight forward vary with the configuration an object. has an onboard the cont,lol at a particular For the table shown in figure map looks figure lob. relies on physical Special Control the fingers as can be seen in figure a coarse (3 bit) depth measurement cessor is unique in that it has no dynamic to manipulate and b. Ileights Conclusion of the arm at the and larger errors extensions. 3.3 Sensors lOa, the IR depth MOBOT-2 Since there is no fine grain pads. grid surrounding of the surface in its field of view. 4. by :I ring of II? range by the IR ring. 10a. Each sensor provides in ligtlre 8a. The hand is a simple linear slide parallel jaw gripper. via two compliant hexagonal is surrounded a. The arm over a table. the hand also has are arranged in a [Nilsson 841 ‘Shakey Center Technical the Robot”, Note 8!?3, April Nils J. Nileson, 1984. SRI Al