NXT Project

November 2009 to February 2010

Ludovic Apvrille

 

Mindstorms NXT(TM) robots are robots made of a main unit and a set of senors and actuators. They are sold by Lego for a few years now. Many very tricky things have been made using the standard kit (see for example that publication). You may also visuliaze interesting videos on youtube,  and for example a car factory, a walking dog, a scorpion, a forklift truck, the "holononic drive", and a rubik's cube solver.

The project you ought to do is not as complex as some aforementioned systems, but yet, it requires to spend quite a lot of programming / exploration time on the robot and its interfaces (sensors, actuators).

Project objectives

The robot you have to build shall be the winner of a rugby-like competition. The competition lasts 5 minutes, and is as follows:
Arena: specifications
Tournaments will be organized between robots so as to select winners (gold, silver and bronze medals).


First competition: the 17th of December

We'll first test each robot alone. Each robot - alone in the arena - shall be able to:
Thus, we'll first evaluate, for each robot, the three aforementioned points. Then, we'll make competitions for the first phase only. When a robot grabs the ball, it must play a sound such as: "I've grabbed the ball". That robot scores one point, and another competition starts, the loosing team of previous round deciding of the position of the ball on the middle line.

Pictures and video of this first competition are there (from a Microsoft Windows explorer): \\karma.eurecom.fr\public\COMMUNICATION\PHOTOTHEQUE\robot_cours_Apvrille

Results of the first competition:

Result1
Result1


Specification  of the robot

How to work? A few advices..

Reports and deadlines

Groups (to be defined)

The NXT box, and batteries



Working with NXC (Not eXactly C)

A good way to program your robot is to use the C language, and more specifically the NXC environment. That environment provides a compiler for programs written in NXC, and an uploader to upload to resulting program to the NXT robot. Good points about NXC is that:
I have tested it on my Mac, under MacOS X, it works fine.

Here is how I have made on my Mac (it should work quite the same on a PC running Windows, very good intructions are provided on the NXC environment web site):
export PATH= $PATH:/Applications/nxt $ cd /Users/ludovic.apvrille/code
$ nbc -O=program.rxe 5_light.nxc

$nxtcom program.rxe

This last command uploads the program on the NXT robot. Then, from the NXT robot, you may run that program, by selecting it using menus of the NXT.