Hacker News new | past | comments | ask | show | jobs | submit login
Lego's Mindstorms EV3 robots are here (cnet.com)
124 points by cubicle67 on Jan 7, 2013 | hide | past | favorite | 33 comments



I'm glad to see Lego continuing this line of logic - it's amazing what can be done with these mindstorms with the proper tools. When I was much younger (about 12 years ago), I built a bipedal walker with gimbaled hips and articulated ankles and knees out of two first gen RCX units, and it managed to get me a free trip to ISEF, which in itself was pretty neat. I was using NQC [1] to program them in tandem, which at the time was pretty neat sauce. I've fallen way out of the loop with these, but it seems like Lego is encouraging good work that removes a lot of the stumbling blocks you'll see when using more bare-bones components like raw servos and arduinos.

My only wish was that Lego would start selling 'engineering' sets for those of us that grew up with them to use for prototyping - I got through a few hairy sessions in college using the tub I'd kept from when I was younger, but with the sets these days there's a lot of stuff you don't need. Something like the fischertechnik toys but with lego's distribution and selection of parts. Alas.

[1] http://bricxcc.sourceforge.net/nqc/


>My only wish was that Lego would start selling 'engineering' sets

Is this is what you want?

http://www.legoeducation.us/eng/product/lego_mindstorms_educ...

817 Technic parts go get you going.

It is marked "Lego Education." I ordered two sets using my .edu email address and no one complained.


After a quick browse I found this: http://www.legoeducation.us/eng/categories/products/universi...

Certainly closer to real robotics, with servos, metal parts, etc.


Wow, how long has this been around? Does it use the standard LEGO attachment system or is it all nuts and bolts? Looks sort of like Meccano.


It's actually produced by a Pitsco, Inc. Much like Meccano it's put together with nuts and bolts. There are parts called Hard Point connectors to interface with Lego. http://www.legoeducation.us/eng/product/tetrix_hard_point_co...

Looks like a joint venture for educational purposes.


Tetrix with an NXT brick is the basis for FIRST Tech Challenge robots, if you want to see some examples of what high school age kids build with it. http://www.usfirst.org/roboticsprograms/ftc


I've been looking at this system too. http://matrixrobotics.com Interfaces perfectly with Lego and is more Lego like in the way you can build things. Their holes line up perfectly with Lego holes. Pretty cool.


I wish they had more details on this "design engineering" pack: http://www.legoeducation.us/eng/product/ev3_design_engineeri...

It seems pretty cool.


NQC was my first real world experiences with coding. I remember making a printer with one of the original RCX. It consisted of three motors, two rotation sensors, a pen, and a computer-side script to turn images into black and white "halftone".

The output was predictably bad, but I had a lot of fun making it.


Thanks guys - I'd forgotten about lego education, as I'm unfortunately outside of the range of mechanical prototypes these days (ended up as a materials engineer). However, it'd be better if lego publicised these some more!


So... back in the day I cross-compiled GCC to write code for the original Mindstorms in C (and to some extent, in C++). That wasn't easy for my early-teen self, but it was possible.

To which degree is it possible to program Mindstorms NXT or EV3 in a "real" programming language?


We have a NXT which we were able to programme in LUA. It had a very nice library and worked well, much easier than the visual block programming

Edit: http://hempeldesigngroup.com/lego/pblua/nxtfunctiondefs/


Lua, btw. I wonder if someone could package a nice Lua IDE for Mindstorms and charge $10 or $15 for it?


There's RobotC for NXT. It's a little funky and runs $49 for a single user. http://www.robotc.net/download/nxt/


I teach RobotC to a FIRST robotics team, I really dislike it sometimes. The IDE is pretty bad, and only runs on Windows, and up until recently all variables in a RobotC program would implicitly be global. They fixed that with 3.5, and are aiming towards a more ANSI-C compliant implementation, but I still find it a pretty frustrating platform sometimes.

http://www.robotc.net/blog/2012/10/24/robotc-3-5-global-vs-l...


There are Python bindings to communicate with the NXT brick ... aptly named PyNXT. The python doesn't run directly on the NXT brick so there is some additional latency that one has to deal with.


I only briefly played with the NXT too, but I thought it was similarly C compatible?

Having full control of the I/O over Bluetooth connected to an Android device (there's an SDK-ish thing for custom apps) was one of the better things.


I've used leJOS, an open-source jvm on NXT. It comes with libraries for sensors and actuators and it works quite well.

http://lejos.sourceforge.net/


I've used it on the RCX a year or five ago and back then leJOS didn't have any proper garbage collector implementation nor a proper way to free memory explicitly. Due to all my buddies only having Java knowledge we were forced to use leJOS and I ended up still having to write some C code and cross compile it in the leJOS JVM to get that all to work. A bit of a pain but fun and I learned lots.


I used to have NXT 2.0 and you could do that. I'm not sure the possibilities for EV3. I can't even find it on sale.

EDIT: Ahh... FTA "Lego expects to begin selling the product... this summer at a retail cost of $350."


Was that using brickOS (previously legOS)? I always stuck to NQC since it was powerful enough for my (likewise) early-teen self but worked with the stock firmware.


I did a lot of stuff with brickOS when it was still legOS. I started out in NQC, but it just wasn't fast enough. I had a two-wheeled robot that did dead reckoning by counting wheel revolutions to figure out where it was in the room. NQC took about one second per navigation update. My robot was kind of hilarious running NQC, because it would jump forward and then stop for a second while it calculated the navigation update, then jump forward and stop again, etc.

Using native C, I got the navigation update cost down to 10ms, allowing for smooth driving without having to stop and wait for calculations.


Having played around a bit with the original 1998 Mindstorms hardware, I found that the main factor restricting what I could build was the limit of three input and three output ports. Its a bit disappointing to see that the EV3 has added only one more input and one output port.

If Lego had made the physical connectors smaller then I don't see why eight or more sensor inputs couldn't have been allowed. I appreciate that outputs are limited by the on-board power, though.

Still, this looks very tempting.


The Sensor Multiplexer solves the too-few-ports problem, though it comes with its own sizeable battery pack.

http://www.legoeducation.us/eng/product/hitechnic_sensor_mul...


Didn't know they made these.

I remember building a mux for touch sensors with some resistors and reading it as a light sensor.


A lot of that I think is to keep the complexity of a single unit fairly low. On the older models, you could set up IR communication without too much hassle, and it looks like these new ones can speak over bluetooth and wifi. I'm not sure if they support it out of the box, but I'll bet an API is forthcoming for microsoft's robotics studio or similar, and will make coordinating multiple units a bit simpler.


There is actually an arduino shield that let you integrate arduino with the Lego microcontroller, so you can expand the number of inputs and outputs, though this is mostly a transition from lego to arduino, because at that point, you better off doing everything through an arduino (except that you get to use your lego motors and sensors with it this way). Here is a book that teaches about how to do it and talks more about the arduino shield:

http://shop.oreilly.com/product/0636920024316.do


I don't think they added any sensor ports - still just the four. But now it comes with a gyro sensor built into the brick.

The 4th motor port is huge for some things. It was almost impossible to build a holonomic drive with only 3 motor ports. Now you can have two drive motors and two for manipulators, so you can have a simple articulated arm with a motorized grabber. But I'd sure love to have six of each port.


This looks fantastic. My main limitation so far has been memory, but 16 MB ought to be enough for everyone (plus there's an SD card slot).

While NXC is pretty simple to program in, I would like to see someone port a Go-like language to it. This would be a more natural fit, as the NXT brick works concurrently and NXC has coroutines doing the work.


The Transterpreter VM was ported to RCX if I recall correctly. It uses Occam-pi for the development language: http://transterpreter.org/

Not Go, but go-like.


Oh, that's very interesting, thank you!



How can you interface it, with low power consumption, with a mobile? using the Accessory Development Kit?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: