NXT Impressions from Fana'Briques 2006
On the weekend just gone by, the Fana'Briques 2006 event took place in Rosheim (Alsace).
Amongst other things (for instance a 3-meters-sized bike made completely of LEGO, as a showcatcher for the Tour de France passing by), there has been a GBC train by Jean-Marc "Joubarc" Nimal from BeLUG that I was allowed to join with my first-ever GBC module - thanks again for that, Joubarc! :-)
Feel free to have a look at the impressions from there (pictures and movies).
However, the program did not contain any statement in this direction (the outer loop was set to infinite execution).
Has anyone encountered something similar yet?
I am aware of the "switch off after a certain time when inactive" setting (which is set to 2 minutes on my brick), but the brick has been active all the time then (running a program, that is).
And the battery power was still high.
As for me, my favourite one was the minifig driving around on the little car to sweep the balls into the first module - that looked really funny!
The stray balls have been partly a result of the frequent shut-offs, partly of some balls having so much impact when falling into the NXT module's in-basket that they even rolled from the temporarily stopped tracks while the shovel was up.
Also I published on the Internet a NXT-G program for following a black line (like on the test pad). The program makes use of some some advanced programming techniques, such as a state variable.
The page is available at
I am sure there are improvements over this program. Adding a second state variable to keep track of the last direction searched (for the black line) might be one improvement. Doing this program constitute a neat introduction to the NXT-G programming environment. To be sure there are some bugs, but on the whole it works rather well. (Maybe its just my SW QA background, but I always seem to find the bugs first.) Anyway feel free to download the program and have at it!
> Maybe if you ran the tracks backward when the shoval was up, it would help.
Good idea. As a matter of fact, the same occurred to us on the event, so I changed the program then just to do so. It really helped a lot. Yet, there had been few balls still that made it through the input box, but the track reversing reduced the amount perceptibly.
> Also I published on the Internet a NXT-G program for following a black line
I think the readers of nxtasy.org or the offical LEGO NXT forum would like you posting it there.
By the way, what's your impression of the IDE's usability and responsitivity?
My experiences here are such that I see room for improvements when it comes to programs of advanced or even medium complexity.
ps The statement "In the former days of the RCX this program is something that could only be accomplished using Not Quite C (NQC)." seems not completely correct to me - you could have done it also with other RCX programming environments, for instance leJOS, couldn't you?
No need to thank me, you were more than welcome; actually I ought to thank you for the great exposure, the opportunity to touch a live NXT (not sure you wanted me to ;-))
And of course for naming all these crazy modules; I'm too lazy to do that myself. (Except the red/grey one which I guess I'd call the Peaucellier Bridge). I really enjoy the "Restless Sweeper" (as a matter of fact, he wasn't restless - I did have him lie down and rest during the night)
Small question on the NXT programming (which I guess could be of general interest): when you reprogrammed it, I noticed the resulting program would make the shovel go up; and then the threads go backward. Do you always have to wait for a motor block to complete before doing something else; or was it possible to have the thread go backwards even as the shovel was going up?
> the opportunity to touch a live NXT (not sure you wanted me to ;-))
You have been welcome! How could I have the heart to object to it?
Hope you recognized the abundance of LEGO force streaming into your body ;-)
> And of course for naming all these crazy modules
Well, french terms would have fit better; I think, but with my most reprehensible lack of knowledge there that would have limited all modules to the name "Bonjour"...
> Do you always have to wait for a motor block to complete before doing something else
No, you haven't. There's the very useful radio button group "wait for completion" in most block's configuration dialog (also in the motor block) - I just forgot to set it correctly to "false".
By the way, the frequent switching off of the brick seems to be connected to the "switch off after a certain amount of time of inactivity" indeed - a running program appears not be considered as an activity by the NXT (which I do not consider very intuitive)!
I believe the solution is to change shutoff time to 'never'. Should be able to do that directly on the NXT (given that I have gotten my NXT and then got slammed with real life stuff and haven't actually installed the software yet).
As this blog entry covers a completely different topic, I made your line follower gadget to a separate blog entry so it might be more easily deteced by readers and discussed.