Frank Klassner |
Title: LISP and Lego
MindStorms: Perfect Together? |
Abstract: |
Educators’ experience with hands-on robotics projects in specialized courses has shown that students'
motivation to learn computing principles in any language increases
significantly when they have the opportunity to apply those principles in
constructing robots and designing problem-solving code. Unfortunately, until
recently the high cost of robotics kits (often $5000 apiece in the early
1990s), led most liberal arts computer science departments to either avoid
the use of robotics altogether or restrict the use of a few expensive robots
to one small upper-level course.
Since the middle 1990’s, several manufacturers have released
standardized, low-cost robot platforms. Among the more recent models are
ActivMedia’s Pioneer robot [1], MIT’s HandyBoard and Cricket controller cards
[11], and LEGO’s MindStorms kit. In this paper I explain the ongoing efforts
at Villanova University to mould LEGO MindStorms into a suitable platform for
college students to investigate a broad range of computer science and
artificial intelligence topics within the Common LISP programming language. I
selected LEGO MindStorms for four reasons: 1. Cost: A single MindStorms kit, with
750 construction pieces, sensors, and programmable hardware, costs
approximately $200 and thus is one quarter the cost of a HandyBoard-based
robot kit and one tenth the cost of a ActivMedia-based robot kit – two of the
more commonly used platforms in colleges. 2. Flexibility: The MindStorms platform
supports a suite of reusable snap-together sensors, effectors, and building
blocks that can serve as the basis for a wide variety of programming
projects. 3. Student Interest: Many
students have played with LEGO building blocks as children, and therefore
they are intrigued with working on LEGO-based projects. 4.
Professional
Curiosity: As a Common LISP programmer, I wondered whether the
students’ interest in MindStorms could be harnessed to present several Common
LISP language features from a new perspective. This paper first describes the range of projects
and concepts in Lisp, artificial intelligence, and computer science that a
robotic platform should cost-effectively support in undergraduate curricula.
The second section of the paper discusses the basic MindStorms kit and its
strengths and weaknesses with respect to these needs. Based on this
evaluation, the paper then presents RCXLisp, a Common Lisp library that we
have developed to fill the holes in MindStorms’ capabilities. The library has
two features that distinguish it from other third-party packages and
languages designed by hobbyists for programming the MindStorms platform. The
first is that they were developed to support both remote control and on-board
programming of MindStorms robots. The second is that they work with an
extended firmware developed at Villanova to support targeted communication
between multiple LEGO robots and command-center desktops rather than the
broadcast protocol supported by standard LEGO MindStorms firmware. The paper
concludes with a discussion of future development plans for RCXLisp. Acknowledgments
LEGO MindStorms and RCX are trademarks of the LEGO Group, which does not
sponsor, authorize, or endorse any of the third-party work cited in this
article. The author of this article has no financial relationship with the
LEGO Group. This material is based upon work
supported by the National Science Foundation under Grant No. 0088884. Any
opinions, findings, and conclusions or recommendations expressed in this
material are those of the author and do not necessarily reflect the views of
the National Science Foundation. |
|