Abstract
This paper presents the cljRobust - middleware library, which allows an intelligent control application to be written for Lego Mindstorms NXT. cljRobust is based on Clojure, which is a modern, concurrent dialect of the Lisp language. It shortens the distance between deliberative, symbolic processing and hardware. In this way, cljRobust facilitates the writing of control algorithms which operate close to the hardware layer, and thus are able to quickly respond to changes in the environment. Since Lego robots have been adopted by many leading academic centers all over the world as a standard tool for teaching robotics, the author hopes the cljRobust library may also be found as an interesting teaching aid in AI robotics.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Lego Mindstorms User Guide. The Lego Group (2006)
Albus, J.S.: RCS: A Reference Model Architecture for Intelligent Control. IEEE Computer 25(5), 56–59 (1992)
Arkin, R.C.: Intelligent Control of Robot Mobility, ch. 16. Wiley, Chichester (2007)
Arkin, R.C., Balch, T.: Cooperative multiagent robotic systems (September 1998)
Atmatzidou, S., et al.: The use of LEGO Mindstorms in elementary and secondary education: game as a way of triggering learning. In: Workshop proceedings of International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR) (2008)
Bagnall, B.: Maximum LEGO NXT: Building Robots with Java Brains. Variant Press (2009)
Brooks, R.A.: A robust layered control system for a mobile robot. IEEE J. Robot. and Auto. 2(3), 14–23 (1986)
Brooks, R.A.: Intelligence without Representation. Artificial Intelligence 47, 139–159 (1991)
Clojure language home page, http://clojure.org/
Counterclockwise, Eclipse plugin helping developers write Clojure code, http://code.google.com/p/counterclockwise/
Crawford, R.: Programming Lego Robots using NBC (2007), http://bricxcc.sourceforge.net
Enclojure, an environment for the Clojure programming language, http://www.enclojure.org/
Friedman-Hill, E.: Jess in action: rule-based systems in Java. Manning Publications (January 2003)
Georgeff, M.P., Lansky, A.L.: Reactive Reasoning and Planning. In: Proceedings of the 6th National Conference on Artificial Intelligence (1987)
Giralt, G., Sobek, R., Chatila, R.: A multi-level planning and navigation system for a mobile robot; A first approach to HILARE. In: International Joint Conference on Artificial Intelligence, pp. 335–337 (1979)
Halloway, S.: Programming Clojure. In: Pragmatic Programmers (May 2009)
Hewitt, C.: PLANNER: A language for proving theorems in robots. In: The International Joint Conferences on Artificial Intelligence, Inc. (January 1969)
Hexor project home page, http://www.stenzel.com.pl
Klassner, F.: A Case Study of LEGO Mindstorms - Suitability for Artificial Intelligence and Robotics Courses at the College Level. In: Proceedings of the 33rd SIGCSE technical symposium on Computer science education (2002)
Konolige, K., Myers, K., Ruspini, E., Saffiotti, A.: The Saphira Architecture: A Design for Autonomy, July 14 (1997)
Kułakowski, K.: Robust - Towards the Design of an Effective Control Library for Lego Mindstorms NXT. In: Proceedings of Conference on Software Engineering Techniques CEE-SET 2009 (September 2009)
Kułakowski, K.: Towards Java-based Intelligent Control Architecture. In: Proceedings of International Joint Conference Intelligent Information Systems (June 2009)
Matsui, T.: EusLisp for Object-Oriented Robot Programming. Computer Software - Japan Society For Software Science and Technology Journal (January 2006)
Microsoft Robotics Studio, http://msdn.microsoft.com
Murphy, R.R.: Introduction to AI Robotics. MIT Press, Cambridge (2000)
Nilsson, N.: Shakey the Robot. Tech. Note 323, AI Center, SRI International (1984)
Parson, S., Sklar, E.: Teaching AI using LEGO Mindstorms. American Association for Artificial Intelligence (2004)
Presston, S.: The Definitive Guide to Building Java Robots. APress (2005)
Rajan, K., Bernard, D., Dorais, G., Gamble, E.: Remote Agent: An autonomous control system for the new millennium. In: ECAI 2000: 14th European Conference on Artificial Intelligence (January 2000)
Ueda, R., Ogura, T., Okada, K., Inabab, M.: Design and implementation of humanoid programming system powered by deformable objects simulation. In: Proceedings of the 10th International Conference on Intelligent Autonomous Systems (IAS-10) (January 2008)
Webots simulation environment, http://www.cyberbotics.com
Yuasa, T.: XS: Lisp on Lego MindStorms. In: Proceedings of International Lisp Conference (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kułakowski, K. (2010). cljRobust - Clojure Programming API for Lego Mindstorms NXT. In: Jędrzejowicz, P., Nguyen, N.T., Howlet, R.J., Jain, L.C. (eds) Agent and Multi-Agent Systems: Technologies and Applications. KES-AMSTA 2010. Lecture Notes in Computer Science(), vol 6071. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13541-5_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-13541-5_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13540-8
Online ISBN: 978-3-642-13541-5
eBook Packages: Computer ScienceComputer Science (R0)