Path: utzoo!utgpu!news-server.csri.toronto.edu!ephemeral.ai.toronto.edu!ai.toronto.edu!green Newsgroups: comp.robotics From: green@ai.toronto.edu (Anthony Thomas Green) Subject: Re: HackerBot Information Message-ID: <90Jul31.180211edt.8310@ephemeral.ai.toronto.edu> Keywords: ubiquitous movit robot kits inexpensive but dumb Organization: Department of Computer Science, University of Toronto References: <1990Jul30.004821.27254@talos.pm.com> <5974@jhunix.HCF.JHU.EDU> Distribution: na Date: 31 Jul 90 22:02:26 GMT Lines: 42 Ah yes, the MOVIT. Here's a fun project a friend and I did last year: The MOVIT robot has a powerful (:-) 4 bit controller which we promptly disconnected from the motors and removed. We then interfaced a 6809 to the motors and wrote a LOGO-like interpreter in Concurrent Euclid. The robot could perform all of our LOGO commands, with one nifty twist. We wrote an ON-KEY-DO command which would map key strokes on to LOGO procedures. A keyboard monitoring task would watch for these keys and inform the interpreting task, which would push what it was doing on to a stack and jump to the requested procedure. For instance, ON 'T' DO TWIST_AND_MOVE TO SQUARE (SIDE) REPEAT 4 FORWARD SIDE RIGHT 90 END REPEAT END TO TWIST_AND_MOVE RIGHT 20 FORWARD 20 REVERSE 20 LEFT 20 END Now if we ran SQUARE 100, and hit 'T' a bunch of times, the interpreter would nest all of the TWIST_AND_MOVE procedures, causing the robot to do a little jig. Eventually it would finish everything up and sit where it began. The system was clever enough to know that if it was interrupted in the middle of a FORWARD 100, by an ON-KEY-DO, it would finish it up when it returned. Anthony T. Green green@ai.toronto.edu