Practical Robotics in Computer Science Using the Lego NXT

Educator Resources

Video Clips (click on the image to play)

Particle Filter Localization

Robo Soccer Final (A)

Robo Soccer Final (B)



Particle Filters for Robot Localization

Project Handout

Starter code and map



How to implement this: The easiest way is to download into a Windows laptop the Lego NXT drivers (download directly from Lego) and the Bricx Command Center software.

Bricxcc: http://bricxcc.sourceforge.net/

Alternate way: Lego goes not provide drivers for Linux. However, you can do everything on Linux, Bricxcc runs perfectly well on Linux via WINE. So you can do your programming on Bricxcc. However, you have to save the compiled bytecode to a file and then upload it to the NXT block using a separate command-line utility. See the following link for details: http://bricxcc.sourceforge.net/nbc/doc/nxtlinux.txt

Reference material:

The online tutorial for building a simple bot with the Lego NXT set: http://www.nxtprograms.com/NXT2/castor_bot/index.html

NXC tutorial: http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_tutorial.pdf



Robo Soccer project

Project Handout

Robo Soccer software distribution (Linux)

Requirements:

A computer running Linux, equipped with bluetooth

A USB webcam

A playing field (can be built with nothing more than sticky tape)

A Lego NXT

How to use this: Download the starter package and uncompress into an empty directory and run 'make'. You will require the bluez bluetooth library and the OpenGL libraries (mesa, glu, and glut).

The 'src' contains the actual robo soccer source code, but note that the distribution also includes a copy of nxtlib-0.1. This is the library that handles the communication with the NXT. The API is defined within the 'API' directory in 'src'. You may want to add or modify this API depending on how much work you want your students to do.

In order to get your NXT to work with this code, you must update the bluetooth device ID at the top of 'RoboSoccer.c' with the corresponding identifier for your Lego kit.



If you find any of the above material useful, and especially if you decide to run a robotics soccer competition, I would love to hear from you.

Please send any questions, comments, or bug reports to

Francisco J. Estrada - festrada [@] utsc [.] utoronto [.] ca

http://www.cs.utoronto.ca/~strider