🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.robotics
Article #1254

Re: "Easy" way to put "AI" in realtime embedded systems?

#1254
From: MILLS,JOHN M.
Date: Mon, 15 Apr 1991 13:24
46 lines
2606 bytes
In article <5478@mindlink.UUCP> Nick_Janow@mindlink.UUCP (Nick Janow) writes:
>Forth might be a good choice for adding AI to embedded systems.  Forth is
>widely used in embedded systems, and is also used in robotics and AI research.
>Using Forth for all parts of the project would save time, money, system
>resources and complexity compared with using, say, C for one part and Lisp for
>the AI.

I haven't used Forth, but it has some attractive qualities for this:
  (1) [SUPPOSED to be] Inherently "clean" for real-time-interrupts,
  (2) Inherently extensible (but if you "extend" an existing function,
      you probably lose the original definition),
  (3) Inherently recursive,
  (4) Assembly-language sources available for several common processors,
and
  (5) Small but [fairly] visible body of experienced users.
I understand that Forth was invented for telescope control in a lab setting,
which sounds like a comparable set of problems viz. hardware driving.

(Also, Forth tends to parenthesize, making LISPers feel comfortable:
  LISP :: "Lots of Irritating Single Parentheses" M. Waite, _Software for
          Non-Numerical Applications_  [8->).

On the other front (built-in LISP):
  XLISP for the MS-DOS PC is distributed in source form, in C.  This is a
    PD offering; check local BBSs.  You have to decide whether to field the
    MS-DOS environment, or embed the LISP, but you've got the LISP to start
    with, or
  Some LISP systems can (I understand) compile user programs to C.  This
    would require a two-stage crossing (LISP->C; C->embedded env.).  (I have
    heard this claim for Symbolics, I think.)

I haven't done these things, and the Forth comments were gratuitous, but
since noone had mentioned either PD XLISP or cross-compilation, I hoped
this might start some ideas.

I _did_ play with a Forth-like "Threaded Interpretive Language" for CP/M,
called "STOIC." CPMUG distribution.  It would probably work, but FORTH
is more common and users at least _exist_.



-- 
MILLS,JOHN M.
Georgia Institute of Technology, Atlanta Georgia, 30332
uucp:	  ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!jm59
Internet: jm59@prism.gatech.edu
Technical Details
Message-ID: <26311@hydra.gatech.EDU>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!rutgers!gatech!prism!jm59
References: <5478@mindlink.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!rutgers!gatech!prism!jm59
From: jm59@prism.gatech.EDU (MILLS,JOHN M.)
Newsgroups: comp.robotics
Subject: Re: "Easy" way to put "AI" in realtime embedded systems?
Message-ID: <26311@hydra.gatech.EDU>
Date: 15 Apr 91 13:24:55 GMT
References: <5478@mindlink.UUCP>
Organization: Georgia Institute of Technology
Lines: 46