Laurens and I were asked by LEGO to give a Mindstorms NXT demo at the Microsoft Tech Days Geek Night last Thursday, so who were we to refuse the almighty TLG?
It was great fun, Laurens brought his awesome Segway robot that impressed a lot of the hardcore geeks that were present that evening. His Manty robot was, as always, a big hit. A camera crew even caught it on tape. I am not sure where the footage is, but I’m sure Manty is featured on there somewhere!
I had brought a Kinect controlled NXT-powered Rotacaster omniwheel robot. People had great fun trying to get to grasps with the seemingly tricky controls. I have learned a few things, though. One of which is that a 400×400 circle with smaller circles inside is very, very difficult to see from about 150 cm. So the UI needs a major rework. We weren’t the only ones with some Kinect demos, so it was nice to exchange ideas and get pointers from the other groups.
Although we weren’t in the best spot of the convention center, we still managed to attract several 100 people in between their seminars. The most frequently asked question was “So, did you program this in .Net?”. Perhaps LEGO should make a .Net micro-framework for this platform. It sure would open up a HUGE new market.
TLG, are you listening?
Actually, as far as I know, the Microsoft Robotics Developer Studio allows for NXT programming based on .NET already, so there would be no need to implement some sort of extra framework by TLG for it.
What remains, though, is to implement a layer that is able to execute the hardware-part of low-level MS RDS routines directly on the firmware; presently, one can control NXT robots with MS RDS only remotely.
True, but that renders the NXT to nothing more than a very pricey remote control car, useless for anything that requires a fast reaction, like a balancing robot.
Right… Robotics Studio has to use Bluetooth (or USB) to talk to the NXT.
There is some Micro Framework stuff to put .NET on embedded controllers.
And, the controller in the NXT is actually the right one, except for one thing… insufficient memory.
If LEGO would up the memory in the NXT (from 256 to 512), I’m sure they’d get folks willing to port the .NET Micro framework (and build the libraries) for this.
Actually, that’s just because there’s no implementation of the firmware part of the Robotics Studio framework for the NXT: the idea of MSDRS is that the framework provides the abstract layers and the hardware vendors do implement the interfaces on the low level hardware layer.
That hasn’t happened so far for the NXT, so MSRDS has to fallback to remote communication here – but that’s only the second choice, not the way MSRDS is originally intended.
So instead of porting the .NET framework to the NXT, it might be much more reasonable to implement a hardware layer for MSRDS on the brick. Everything else already exists.
And,