TinySoar

About

TinySoar is an implementation of the Soar artificial intelligence architecture that is intended to run on a memory-constrained device, like a robot. Soar is a “real time” (as opposed to “off-line”) performance runtime that incorporates acting, planning, and learning in a rule-based framework.

TinySoar consists of two primary components. The first is a portable, light-weight runtime that implements the Soar decision cycle as a host for a Soar agent. The second is a Tcl extension that is used to create and debug Soar agents, and then export them into a format that can be compiled into the runtime component.

A sample embedding (in fact, the one that inspired the project!) is also included: alternative firmware for the Lego® Mindstorms RCX that embeds the TinySoar runtime. Using this firmware, you can control a Lego robot with a Soar agent. (Disclaimer: this site is neither endorsed by nor associated with Lego. I'm telling you this because every other Lego Mindstorms site does the same.)

Links

SourceForge Project Homepage
From here, you can get to the CVS repository, discussion groups, and all the other gewgaws that SourceForge offers.
tinysoar-0.3.2.tar.gz
The latest source tarball. The tinysoar-0.3.2 runtime supports the basic Soar decision cycle. Impasses are also supported, although chunking is not yet implemented. Included is the Tcl extension for developing and debugging agents, firmware for the Lego Mindstorms RCX, minimal documentation, and sample agent code.
Build Instructions
A quick-start guide to getting the source code, building it, and developing Soar agents.
Host Environment
A guide to using the TinySoar host environment to create and debug agents.
TinySoar on the Lego Mindstorms RCX
Describes how to write agents that run on the Lego Mindstorms RCX.
Differences Between TinySoar and Soar8
Describes some of the important differences between TinySoar and Soar8, as well as some of the known issues with TinySoar.

Contact

Chris Waterson