Jun 30, 2006

Post # 300

I never... NEVER... thought this blog would even reach post 100. But here we are... post #300. Thanks to all of you for visiting, contributing, commenting, differing, explaining, fixing, updating, complaining, praising, and just enjoying. The new community is off to a good start and I can't wait until the pool of NXT owners is larger.

As always, send us your pictures and programs/screenshots of your designs and we'll get them up and posted. Also interested in more website links and blogs, so keep your eyes open and let us know if you find something of interest.

Thanks, all.

Programmers of the NXT World...

I haven't had a lot of time to tour the site - feel free to post your thoughts and comments on what you see here.

My Portal has changed...

Jonathan wrote: "Hey, I just clicked on "My Portal" (in the NXT-G software), and instead of saying, "This is a temporary page, please check back later, blah blah blah" it said, "software downloads coming soon". Looks pretty interesting..."

Well, I had to verify this - and it has changed! Looks like LEGO is getting ready to offer us some new content using the My Portal tool - I had completely forgotten this was going to be available.

Thanks, Jonathan.

Jim

Repeat of... more RoboCam footage, and flying spheres...

I messed up and posted this a second time... but heck, I still think it's fun, and laugh every time I see it. So, here it goes... again...

More HoB RoboCam footage

Here the camera was mounted on a third robot (driven by John Brost - his camera as well), just behind the robots front claws... so ever time it tries to attack an opponent, you can see the claws dropping in front of the camera. The single claw on the robot with the ball caster that can be seen in the video was effective in a surprising way - at one point, it managed to hit the "cancel" button on another robot, shutting it off. Near the end of the video you can also see the effect of earlier prototype Zamor sphere launchers... we were using a friend of ours as a target. The small robot that is seen firing a single shot is completely autonomous: it drives forward, scans for the nearest target, and then reaquires that target and launches a single sphere before retreating back from whence it came.

Something new? Well, now you have an idea of an alternate use of those big colored balls in the NXT kits...

--
Brian Davis

Welcome, Eric, to the wonderful world of NXT journalism!

Eric has a blog and forum startup... looks good. Check it out at

http://www.nxtasy.org/

Jun 29, 2006

Some videos of the RoboCenter challenges

Todd sent me links to some videos he made - one with the QuickStart bot and the other the TriBot doing its grab routine.
1) Quick Start Bot: http://userpages.umbc.edu/~haddaway/Quickstart.mov

2) TriBot: http://userpages.umbc.edu/~haddaway/TriBot.mov

Jun 28, 2006

NXT Problems? Post Problems and Solutions/Suggestions

I'm starting to receive emails and postings with installation and other NXT-related issues. Let's collect them here as comments... along with suggestions.

UPDATE: The NXT STEP is a blog - we're always considering ways to improve it, but for now it will remain a blog. Adding a forum isn't in the cards right now, sorry. This post is just intended to be a temporary aid as a place to address problems or questions.

Jim

BEFORE UPDATING FIRMWARE, READ THIS

Apparently updating firmware for the NXT is currently causing some users issues... please read ALL the comments in this post and the one above it (June 28, 2006) and its comments for an idea on how this issue might affect you...

Jim

Jun 26, 2006

Submit your pictures and programs

As you begin to receive your NXT kits, I hope some of you will begin to document your early designs and share them with all of us. Feel free to email me your pictures, screenshots, and .rbt files - whatever you can handle. Please don't send me videos as storage space is always a concern... instead, if you have a video that you absolutely must share, please email me with details first... but JPEG files and .RBT files I'll be happy to take and post.

Now, the small print: If you send me files, please give me written permission within the email to post and share the files on the blog. We also reserve the right to edit your commentary... space limits again, and sometimes spelling/grammar issues will need to be cleaned up.

I'm excited to have some more people with the kits in hand soon... more ideas, more bots, more experiments, more challenges, more troubleshooting, more theory, more of everything NXT.

Also, if any of you are going to be creating your own NXT blogs or websites, please let me know - I'd love to have more links on the right-side of the screen for readers to visit.

It's going to be a CRAZY time - the sheer amount of information, pictures, web content, programs, and other stuff might be overwhelming, so please be patient with all of us here at The NXT STEP as we sift through all the information coming our way... the original purpose (and continuing job) of this blog is to provide links to new information, websites, and other media sources... and we'll continue to do so along with our random bit of commentary, new discoveries, and miscellaneous projects.

Thanks to all of you for the kind words, the encouragement, and your participation in discussions... I never had any idea this blog would become such a fun (and apparently, popular) project to maintain... Brian, Matthias, and the others have brought their own ideas and the blog has really become a partnership.

Good times ahead...

Jim

It's done: my first NXT program with the Robotics Studio



I'm pleased to introduce my first application for the NXT created with Microsoft's Robotic Studio: a GUI-based remote control, running on the PC (XP only) and commmunicating via Bluetooth with the brick (or nearer the mark: with the LEGO NXT motor services running there).

It's very simple still, containing buttons only for running each motor separately (at need concurrently) forward or backward and for stopping them, but with the fact in mind that I'm a newbie to C#, the Visual Studio and to the Robotics Studio, I'm happy that it works at all now (after all the rummaging of the tutorials, the samples' code and a bunch of manifest files - the NXT parts are still pretty scantily documented).

Once I have spiced up the app and found out how to package Robotics Studio services for delivery, I'll put the whole stuff on my web page.

At interest, though, I could post some illustrating code snippets here already.

Regards,
Matthias Paul

Jun 25, 2006

NXT versions

I was emailed recently and asked if I would cover the differences between the Education version and the Retail version. I was also asked to give opinions on which to buy.

This topic has been covered in earlier posts, so I'm going to just provide some links here for those earlier discussions.

As for my opinion - I don't really have one. What I can tell you is what was told to me by Soren Lund:

1. The retail version is intended for those who will not be using the kit in a classroom or with any of the educational programs being developed.

2. Buy the education version if you will be using the kit in a classroom or anticipate purchasing any of the educational programs being developed for it.

Pretty simple. Remember, the Education version does NOT come with RoboCenter - the projects for each version are different. It comes with Robo Educator that has projects that are more in-line with the educational projects a classroom would use.

Links:

http://thenxtstep.blogspot.com/2006/05/entertaining-nxt-video-7-minutes.html

http://thenxtstep.blogspot.com/2006/05/lego-is-listening.html

Thing's I'd like to see...

Now that the NXT is shipping to some of you, I'm hoping to start receiving pictures, videos, programs, and commentary on your designs. I almost wish I had another NXT kit, because most of my work with the NXT right now is for the bots that will be included in my book. This leaves me very little time for un-official bot business :)

That said, here are some of the NXT bots that I'd like to either work on or see someone else take a try at...

1. Mars Rover type bot - something that has a video camera, a claw, a soil sampler, etc... go crazy.

2. As mentioned in earlier post, alternative forms of biped (the AlphaRex is soooo January 2005)

3. NXT version of The Scribbler

Jim

First confirmation of shipping

Received an email from Art - he got this email:

"Greetings from Amazon.com. we shipped item from Toys"R"Us (Sold by Toysrus.com, LLC):
1 Lego Building Set - Make and Create Mindstorms NXT (8527) $249.99
Item shipped on June 23, 2006:
Delivery estimate: June 27 - 28, 2006"

Looks like they're in the open, people.

Jim

Microsoft and LEGO partnership

Reader Kirk pointed me to this article... confirms a lot of what we've been reading about Microsofts Robotic Software Suite...

Jim

Jun 24, 2006

Bracing for Launch

DAZLR uses the Zamor sphere launchers from the new(er) LEGO Piraka sets, and I was asked how I attach & power them. A Zamor sphere (the gold ball) sits in a three-fingered cup, and an axle (red) pushes it from behind. The bottom finger is flat, but the side fingers have a slightly in-turned tip, making the opening just slightly smaller than the sphere. As the sphere is shoved forward, the side arms are forced out, until the sphere is squeezed between the fingers. The stressed plastic arms then push on the curved rear of the sphere, launching it forward at about 4.9 m/s (the range, at 45°, is around 2.4 m). The NXT motors are powerful enough to directly drive an axle like a piston to push spheres out of the launcher; the problem then becomes in how to secure the launcher to the motor! In the 2nd launcher the mounting points are all shown by blue axle pins for reference.

Simply pinning the launcher to a beam doesn’t work: the problem is that as the drive axle pushes forward, it pushes the entire launcher forward, away from anything it might be attached to behind it... and those NXT motors have some torque! The middle-top attachment point would be good, but it is difficult to use without interfering with balls feeding in from the top. So what to do?

Here are two solutions that you might try at first (These are side-views. I’ve used slightly too-long red axles here for clarity, but the driving axle is not shown; if shown, it would be parallel to the other red axles in the images). In the top case, the forces would slide the launcher forward on the red axle, right off the structure. The second would seem better: because that yellow cross-block is in front of the launcher where it attaches, the launcher can’t just slide forward, and the friction pin holding the cross-block to the beam could only come out if pulled sideways. But if you try this a new problems crops up, as the force pushing on the launcher tends to tip or rotate the attachment around the friction pin, usually bending (!) the driving axle. The force required to launch the spheres is more than enough to warp or rip apart a lot of structures.

Here are some better ways to secure it. If I can lock the red axle into place both ahead & behind, or just ahead but with a piece that doesn't permit rotation, I’ve solved both problems. In practice, actually, the lower solution is still not stiff enough, and the structure tends to bend and bind up on the driving axle. There is a lot of force in launching the spheres! Now all I need to do is secure this to a motor, add a “piston” of an axle, and let the spheres fly!

The final image is a step from the assembly of DAZLR, showing one side of the dual launcher assembled, and the other side partially disassembled. Can you see how I attached the launchers (it's slightly different here than the examples)? And how the “pistons” work? Two challenges: can you understand why the two launchers should alternate? And for bonus points, which way does the motor in this picture turn, and why? Yes, there’s a “best way” to turn the motor here…

--
Brian Davis

Amazon "Shipping Soon"

Reader Greg informed me that his Amazon/Toys'R'Us order status has changed to "Shipping Soon" - with a One-Day shipping estimate of June 26.

This would be a great time to invite all of you to submit photos of your newly arrived kits - send photos and a small description of your initial thoughts/comments. With your permission, I'll post them on the blog.

I'm glad the wait is almost over for all of you...

Jim

NXT Robo-One?

I've been watching some of the Robo-One competitions and am really amazed at what these little guys can do. I realize these bots are slightly more complicated in their programming (balancing, for example, requires some finesse) and have more servo motors than the basic retail kit, but I can't stop wondering what an NXT version would look like.

Given the size and shape of the NXT servo motors, I think it's safe to say that a NXT Robo-One competitor would be slightly larger in size. I haven't dug too deep into the rules, but I imagine there are maximum and minimum height/weight requirements (if anyone knows more, please comment).

A bot like the Robonova-1 has a total of 16 servos. Given that we will be able to buy individual servos from LEGO for under $20US, I don't think it's completely impossible for us to expect some individuals to purchase 13 or more servos and build a "NXT-One."

One of the biggest costs for buying and/or building a custom Robo-One competitor seems to be the machining costs involved in building the framework to hold all those servos - add in the cost of the software and the servos and you've got a pricey little bot. The ready-to-assemble kits float around $750 to $2000 or more (Robonova-1, Lynxmotion, Kondo).

Now, let's tally up the costs for the NXT-One:

Basic Retail Kit: $250US
13 additional servos: $260US
Software: $0

There will be some other costs not listed (such as extra cables), but the biggest expense are the motors. The framework would be built from the basic Technic beams and misc. parts. If the NXT-G software can't handle the programming requirements, there are plenty of free options that are available now or coming soon. But I think it's very reasonable to see a few bi-ped bots designed using the NXT system showing up soon...

Now, are there potential problems? Sure.

The cabling for the NXT sensors and motors are thick and not so flexible. Easy to fix? Absolutely - I'm sure users will figure out how to create more flexible cables, not to mention third-parties offering different lengths and thicknesses for the cables. LEGO may have options in the planning as well...

Size is definitely an issue. If you figure 1 servo for foot, ankle, calf, thigh, waist, shoulder, bicep, and forearm (x2 for 16 servos), you've got one very TALL bot. Take a look at the example Robo-Ones I've linked to and you'll see that most of these servos are small, square, and fairly compact. So we've got the issue of the NXT motor size and shape to deal with. But LEGO builders are a creative bunch, so I don't anticipate this being a problem for too long.

Balance - I've seen NXT bots now that balance okay on two legs... but the steps taken are small, and some could be considered sliding rather than true walking. This will most likely be a software issue - how best to shift the weight/center-of-gravity of the NXT-One to keep it from falling over.

Bulkiness - It'll be interesting to see how few parts can be used to build a solid framework for keeping all the servos linked while at the same time reducing bulk and keeping the bot looking "human" in shape.

Other issues? Please comment...

Jim

Jun 23, 2006

Behind-the-Scenes: MDP forum

I have recently asked LEGO for their approval of including a screenshot of the MDP forum area on The NXT STEP with some commentary. Please understand that the MDP were under NDA's (ah, the joys of acronyms) and I have wanted to make certain I am not volunteering any information that would violate the NDA or put LEGO in an awkward position.

My attempt here is to simply show you the interface for how the team worked together. What you are seeing is a simple forum screen - on the right side were a handful of categories that we posted comments, questions, etc. and helped us to keep topics organized.

Info & Updates - new software release notices and in-house competitions were announced here among other things.
Encounter of the NXT Kind: Initially, this is where MDP members introduced themselves and their interests. In the end, it was a great little unofficial meetingplace for all the members as well as a catch-all for random and miscellaneous messages that didn't fit into other categories.
Building Robots - We talked about what we wanted to build, what we were buildling, and other stuff related to using the new sensors, motors, and Technic pieces. No particulars.

Community Activities - Similar to Encounter of the NXT Kind - discussions on how we intend to use the product in clubs, events, etc.

As you can see, there are other categories that are blurred out - sorry. Some of the categories are still off limits, so please do me two favors - (1) Thank LEGO for letting me post this much and (2) Please do not ask about the blurs - period.

As for the rest of the screen, you can see tabs along the top : Address Book (contact info for other members - very helpful), Calendar, All Messages, All Polls, All Files, Chat, and All Notices. Some of these were used... others never or very little.

The ability existed to create new groups (categories), but very few were made since we had adequate places to post messages.

The other blurred areas simply showed what categories you had chosen to participate in as well as messages posted since your last login. Invitations to polls could be accepted or declined as well.

A closer look will reveal that the browser is not in English - all MDP members were required to submit comments in the Danish language. Small price to pay. (Just kidding...)

Thanks to LEGO for allowing me to share this little bit of information with all of you.

Jim

What the heck do you call that?!?

LEGO has made an amazing number of different pieces over the years, and rarely if ever does the company give an official label to each piece. So how do fans keep them straight? While I'm not sure there is a single "official" standard name list, there are at least two places on-line to look up a "reasonable" name for a piece: Peeron and Bricklink. Peeron is a searchable inventory of many (5000+ at last count) of the sets LEGO has made over the years: search for the set you have, and find out how many of each piece it has (and what color; currently it lists something like 10,737 different pieces). Bricklink is a marketplace of LEGO resellers, and list 13,148 different parts in its catalog tree. These two don't always agree, and there are other naming conventions, but these are two reasonable places to go to find the name of that "thingamajig from that old whatsitsname set I got back in 1980something".

--
Brian Davis

Jun 22, 2006

Spend some time here...


Here's the promised link...



Jim

Things are quiet...

Well, with the MDP program over, we're back to limited sources of information. Things are slow right now with the LEGO Education blog, but I imagine that they're fairly busy with the upcoming release of the product. The official Mindstorms website has had some nice updates lately, and I continue to watch it for any new items, but my guess is that they're also working like crazy in preparation for the product release.

My hands are tied until tomorrow, but please check back on Thursday for a link that I think you'll all really enjoy. I was asked not to reveal anything until tomorrow, but I can tell you that some people have been working on a great website that I'm anxious to share with you...

Brian, Matthias, and I are in negotiations to start back on our Jousting project. I'm hesitant to move forward too fast, though, as something is in the works on the official website that may lend itself to the Jousting project's completion.

I've just completed the 3rd (of 5) bots for my book and have crossed the halfway point... the book's completion is in sight. I'm enjoying writing it, and a few test readers (age 10-14) have provided some nice feedback and like the format. I can breathe a little better...

I'm preparing to test the NXT software on Vista... I've managed to get beta 2 and a new PC (by the way, Windows Vista requires a HUGE amount of memory and hard drive space - you've been warned). More on that as I have time to test...

All in all, I'm still having fun with my NXT system... I apologize for not posting any more designs, but most of my work is for the book and I can't post info on them yet. I may try and play around this weekend with something new, just for the blog.

Jun 20, 2006

Microsoft and NXT part 2

To add to Matthias' post, I checked out a lot of the links that Microsoft has available for their Robotic Studio software... you can see some images of it here.

(Scroll down and look at the 8th screenshot - does the small white bot look familar?)

Some other links of interest:

Download an early version here.

Microsoft and NXT (?)

So Microsoft is jumping on the robotics train also, having announced the Microsoft Robotics Studio for Windows XP (and Vista later on).
Still, it's just a Technical preview and the announcement doesn't delve too much into technical specifications, but it claims to be open for 3rd party enhancements and I should be surprised if Redmond will not try to get a piece of the NXT customers cake.
Let's wait and see if this is going to evolve into an interesting option (next year ?).

Jun 19, 2006

Thoughts on Complex Programs...

A recent comment asked what I thought the limits were on complex programs in the NXT-G language. The short answer is "I don't know (yet)", since I've not had the time to push it to the maximum in this way. Additionally it's hard to judge what's ment by "complex" here as well: How big? How much decision-making ability? How many things going on at once? It seems clear to me that NXT-G allows significantly more complex programs than the old RIS code. Not just in the choice of "blocks" availible, but in the ways these blocks can interact. With parallel tasks, wiring of values between blocks, and flexible loops and switch structures, the complexity can get much higher. So perhaps a better way to phrase the question is "what limits does a NXT-G program bump up against?" Keep in mind, I may be completely wrong on these issues - it's going to take a bunch of new Mindstorms users to really test these limits. That said...

Speed of the editor is a factor: as a program gets larger, the editor slows down, especially with deeply nested control structures like loops & switches. This has generally limited me to nesting only 4-5 levels deep, although I've gone as deep as 12. Note you can bypass the speed issue somewhat by using MyBlocks, so with proper structuring, this might not be the limiting factor.

Program size can be much larger than I'd like at times: the largest program I've written has 39 blocks, 6 loops, & 1 switch (named "Nesting7.rbt", this is the program that gives JennToo her territorial behavior): this is 2 Mb (!) on my hard drive, but compiles down to 23.5 kb in the NXT. Based on having about 106 kb free memory on the NXT, it would seem you could hold a program of about 200 blocks, loops, and switches. But, I'm sure some blocks are "bigger" than others, and probably getting that big a chunk of contiguous memory is tough, so... I suspect I practical upper limit is around 150 blocks, if there's little else on the NXT itself.

Procedural & representational complexity is pretty good: NXT-G allows three types of variables (integer, logical, and string), a file access system, and "advanced" (over RIS) blocks like compare a value to a range (does the value fall inside or outside a range), or switch on a string value. The lack of arrays is a real problem... but one that can be gotten around in a couple of ways. It lacks string operators (parsing of strings). I've not yet bumped into limits on the number of parallel sequences (tasks) or variables. The fact that you can define your own MyBlocks actually helps a lot here as well: for instance, NXT-G does not contain a Modulo block, so I wrote one, and it was easy and transparent to use (good for kids or adults, but perhaps especially for adults teaching kids). I've done this for negation, trig functions, arrays, etc.

Talking completely off-the-cuff here, I'd say NXT-G is comparable to Robolab, and I've seen some amazing things done in Robolab under what I'd say are tougher constraints. Personally, I suspect the program size may ultimately be the limiting factor: compiled NXT-G programs just seem really large given what I think might be possible at the firmware level. For FLL, I don't think this will be a problem at all (especially as downloading new programs can be done easily and wirelessly, without worrying about IR interferance).

For adults pushing the limits, size may be the factor. Taking a Tic-Tac-Toe playing RCX-based robot and duplicating it on the NXT-G system is going to be very difficult, I think (I've built RCX-based ones, but even there I used NQC; at least on the NXT, I don't have the variable limits thankfully).

Final footnote: this may not be the end state for NXT-G (LEGO released upgrades for the RIS firmware and software over time; hopefully they will do the same here), and there are already third-party offerings (NBC by John Hansen, ROBOT-C by Carnegie Mellon, a Java-based environment from others, etc.) that appear to unlock much more of the power in the platform. Already NBC has clearly shown that NBC NXT programs can be much smaller than their NXT-G counterparts, and John has already been developing for both the PC and Mac communities (thank you!). I've got no worries about having powerful options, only how long I will stay with the "official" NXT-G language. For the RCX, I used Robolab for about 2-3 months before I moved on to NQC... for the NXT, I've not yet begun to tap the potentials of NXT after at least that long. And that's good news.

--
Brian Davis

Brian's MDP Profile

Brian's MDP profile is up... check out some of the cool bots he's designed. I love the HORUS... using a motor as steering control is a great idea and I'm going to "borrow" this idea for a bot idea...

View his profile here.

Great Ball Contraption: A call for a Central Europe Group


Jim's posting of the link to the GBC video gingered me up to address something that has been in my mind for some weeks now: creating my first own NXT-based GBC module.
In my opinion, the Great Ball Contraption is a great idea by Steve Hassenplug, setting up some kind of standardized interface for LEGO® based modules to enable them to interact.
Obviously, the real fun here is to actually meet other GBC makers and physically interconnect ones' modules, pleased watching the whole machinery running smoothlessly.
As not least the video mentioned above shows, there already are GBC groups doing exactly this in North America - yet, I'm not aware of any such ones in Central Europe (apart from some individual efforts, for instance by Philo or Jürgen Stuber - if I'm wrong here, please tell me!).

So (picking up an idea of Jürgen) this is a call for participants in such a Central Europe GBC Group to-be - whoever is interested, please drop a comment to this blog entry (or, if you don't want to expose yourself yet, use the contact section of my NXT pages).

Looking forward to your feedback,
Matthias Paul

Jun 17, 2006

Reader catches a possible hint of things to come

I totally missed this one, but reader Drew S. was kind enough to point me to this LEGO Education link. Read the "Description" paragraph carefully...

The "Science & Technology Set" sounds very interesting... definitely sounds like one of many potential new releases.

I don't have any additional information... you know as much as I do now. But I'll definitely check into it.

Jim

Crazy program

Brian, Matthias, and crew...

I was building a program last night that got a little too "spaghetti" -ish - wires and loops and switches and, in the end, I ended up scrapping it.

This morning, I wish I hadn't done that... because I think it would have been cool to post, without comments, and see if readers could guess what it does.

Inviting you guys to post up your idea of a complicated program - I'll try and rebuild mine tonight.

Jim

Jun 16, 2006

Unofficial NXT parts for LDraw available

For all of you who are into LDraw, it may be of interest that the NXT parts for LDraw are now publically available on Philo's pages, meeting a demand frequently raised in this blog.
Keep in mind that these parts are still completely unofficial and that some of them are partially mock-ups yet.

/Matthias Paul

FLL Competition Table Building Plans


Jake Covert created the plans for the FLL Competition table using Google's SketchUp.

View the plans here.

Back


Well, I'm back from out there finally, too.

As you might deduce from the image, the NXT brick works also in the Russian Antarctican Research Station on -40 °F ;-)

Now it's time for updating my NXT web site (which is, by the way, accessible through a very shorter URL now: http://mynxt.matthiaspaulscholz.eu).

Regards,
Matthias Paul

ps I also had an NXT visitation there:

Jun 15, 2006

The End of the Road...

Well, the Mindstorms Developer Program ends today. It's been a great experience and I have no complaints. I've made an invitation to other MDP members to join our blog as contributors in the hopes that we'll continue to see some new ideas and projects before the official retail release.

Our discussions are and will remain private - that was part of our agreement with LEGO. I think it's important to understand that one of our jobs was to find bugs - another was to put the product to some extreme testing. This was done so LEGO could make certain that the final retail version that hits shelves soon would be as good a product as they could make it.

I don't know anything more than you, but I can read between the lines in some of my email correspondence with LEGO employees - LEGO definitely has some surprises in store for us, and I get the impression that LEGO, too, has learned some lessons from RIS 1.0, 1.5, 2.0 and the MDP experience and intends to put more energy into this new version. My guess is that LEGO will be releasing some expansion products sooner, rather than later, to keep the momentum going.

A while back, I posted a "Letter to LEGO" with some of my ideas. I'd like to invite you to add to it. I know that I've got some LEGO/Billund readers who visit the blog, so maybe some of your comments/suggestions might make a difference.

The end of the MDP does not mean the end of The NXT STEP. Brian, Matthias, and the rest of us will continue to keep you informed of any news related to NXT. And if you know of something that needs to be included, please email one of us. The amount of information is growing quick and I'm sure we can't find it all.

Time to go build a bot...

Jim

NXT Book on Amazon


Place your pre-orders :)

Congrats, Brian! (If your publisher needs a technical editor, give 'em my name - been a tech editor for 9 years - Jim)

Maximum LEGO NXT

Jun 14, 2006

C programming environment announced for NXT

Reader Bernard C. pointed me to this new posting... I'm pasting the original message below:

-----

The Botline
News & Information from the Carnegie Mellon University Robotics Academy

* * *

Dear Robotics Educator,

Thank you for registering to receive the Robotics Academy Botline.

The Robotics Academy is pleased to announce the release of RobotC™ at http://www-education.rec.ri.cmu.edu/robotc/ RobotC is a new C-based programming environment designed to work on the RCX, the NXT, and the VEX robot controllers. It provides a common user interface regardless of the actual controller in use. Programs written for one platform can easily be ported to a different platform with little or no change.

Teaching C-based programming in today’s classroom can be very challenging… It becomes harder when you have to change programming languages and environments as new learners advance and migrate to more powerful controllers and robots. At the Robotics Academy we’re making the job easier. With the new RobotC programming solution, hobbyists, teachers and students move from the RCX to the NXT to Vex to the larger FIRST robot controllers using a single common programming environment.

RobotC is designed for both beginners and advanced users. Advanced features can be disabled and hidden from beginners under administrative control. A graphical drag-and-drop interface simplifies program creation. It includes an extensive library of how-to videos, sample programs, code ‘snippets’ and curriculum support now in development at the Robotics Academy.

The secret to RobotC’s cross-platform architecture is a small platform-specific Virtual Machine (VM) layer that provides the glue to each specific hardware platform. VM technology is the same architecture used by JAVA for its cross-platform support. It’s relatively easy to add future support for additional controllers to RobotC based on feedback and demand.

RobotC was successfully trialed in live classrooms this past winter semester. It’s ready for broader exposure and feedback. At http://www-education.rec.ri.cmu.edu/robotc/ you can download the software and take it for a test drive. At the site you will find sample code for multiple controllers, helper links, step-by-step videos, a bulletin board so that the larger community can compare notes, and a bug tracker which will enable the Robotics Academy to be responsive to your needs.

* * *

Robotics Academy Mission Statement

The Robotics Academy is a nonprofit whose mission is to use the motivational effects of robotics to teach mathematical competency and technological literacy. We feel that the best way to reach the largest number of children is through teachers.

Our vision involves:

· Classrooms where children learn by doing
· Content organizers designed to integrate both academic concepts and the development of workplace competencies
· Creating educational tools that simplify learning

NXT/Great Ball Contraption video

Thanks to reader Louis D. for pointing me to a new video... you don't get to see a whole lot of NXT, but you do get to see it integrated into a GBC collective.

Does the host of the video seem a little nervous at the end of the video?

View it here.

HiTechnic has some new images

A quick look over at the HiTechnic site shows some new images... it looks like they've matched the look of the LEGO sensors in terms of color, size, and shape... excellent!

Also, look in the Development Lab area... more details there.

Jim

Jun 12, 2006

Back in the office...

Hello, everyone. I'm happy to see that Brian kept you entertained with some great posts. I've got some reading to catch up on and I need to check in with my contacts.

I did receive an email from an 'insider' with a rather vague statement, but I'll share it with you here and you can make of it what you will... when discussing upcoming projects for MSNXT, the email simply said "we cannot tell you, but wait for the surprise!"

I would suggest keeping an eye on the official website...

Jim

Jun 9, 2006

Studless Part III: Offsetting the Mindset...

Studded constructions can create half-offsets horizontally (using either “jumper plates”, Or things like the 2-hole 1x2 beams), and 1/3rd offsets vertically (plates) – what new tricks does studless have? Well, half-stud offsets are easy enough (I demonstrated another one in the “template”)… as is, actually, anything else!

Here’s where “breaking the mindset” of the studded LEGO world is sometimes difficult for me. Since an axle can be pushed through an axle hole by any amount, all sorts of offsets are allowed if you use axles to join things. For that matter, using this property of axles lets you make fairly rigid structures with any angle you want: just use axles to make adjustable elements! The red axle sliding through the red cross-block (also called an “axle joiner perpendicular”) makes an adjustable-length element in these structures. Another handy construction in this picture is the two-tone grey piece near the top. As shown, it’s a nice rigid way to connect two parallel beams… substitute a normal cross block for the dark grey piece on the left, and you have a half-stud offset again.

Here’s another more practical example. I recently built a NXTbot where the frame ended up with a whole lot of odd angles, but I still needed some way to direct the US sensor exactly where I wanted it: forward and parallel to the ground. The US sensor (it's visible upside down right at the bottom middle of the image), is attached to a structure the connects to the main robot only at a single friction pin (at the bend of the inverted L beam) and via a sliding linkage on the long black axle. As a result, I could position it just like I wanted - exactly parallel to the ground and facing forward, although the robot itself has no beams in this orientation.

--
Brian Davis

Jun 8, 2006

Studless Part II: Hybrid templates...

One of the places I sometimes have trouble is remembering all the useful angles or construction techniques that are available. So I made a template of a few of the “good” ways to join parts together. This includes things like the old “beam-plate-plate-beam” spacings that allow you to cross-brace a conventional studded structure, but here I’ve included a bunch of studless options as well. The fact that the long double-bent liftarm allows right angles is obvious, but now I can see that I can pin it easily into a “beam-plate-plate-beam” structure as well, using for instance the 1st holes to either side of the 45° section. And the single-bent liftarm will also fit handily – in fact, if you look at the spacing you’ll see it allows a 3-4-5 right triangle construction. Also look at the little odd bit in red and yellow, up under the curve of the double-bent liftarm: the distance between the top-left and bottom-right holes is 1.5 units, very handy for certain gear combinations. Almost hidden in the back are two black beams: these sketch out the geometry for more 3-4-5 right triangles (in this case, double-sized).

These are certainly not all the interesting geometries that are possible, but a simple hybrid structure that shows some of the common geometries. How many more interesting ones can you find?

--
Brian Davis

Full-up Studlessness, Part I

A couple of folks have asked about studless building: how tough is it, how is it different, is it “better” or “worse” than the conventional (studded) way of building, etc. This is not an answer to that – this is just some ideas and thoughts on the subject, take them for what they’re worth.

There are certainly some difference. Prime among them, I find studless building to often be slightly “sloppier” than conventional LEGO building: often the end structure has more give and play in it than a similar studded structure. That’s a disadvantage when you what high-accuracy mechanisms, for instance. The flip side to this is studless structures often seem less likely to fall apart, due to being held together by pins and axles that are often stressed in shear instead of in tension. That’s a nice advantage, particularly for kids. Although it leads to some problems when you need to make small changes in the center of a mechanism; you sometimes have to disassemble a lot of stuff to “fix” what needs correcting.

Another factor is up, down, & right angles. LEGO studded structures traditionally have a specific top direction (“studs-up”, though they don’t have to) and to consist of almost exclusively right angles (although again, they don’t have to: hinges are often critical parts in getting some shapes for just this reason). With studless construction, these limitations are removed. In fact, quite often a robot ends up with many non-right angles and oddly-“bent” or sloped sections. For instance, for strength, you can often easily arrange to have a triangle construction in a studless build… but that means at least one “non-right-angle” piece, that may be difficult to join to later with the exacting LEGO geometry.

Finally, I’ve got to say that hybrid structures are certainly worth exploring. For some things, studded frameworks have great advantages (rigidity, for instance) while for other studless mechanisms have the upper hand (light-weight, reconfigurable structures). While I’ve recently become locked into a “no studs” mode of building, there’s absolutely no reason why both can’t be used to compliment each other!

--
Brian Davis

Jun 7, 2006

Meet The MDP's

Hi Folks! The Wonderful webcrew over at the Official LEGO MindStorms website have posted the first batch of MDP Member Profiles. You can read about some of us and several of our NXT MDP creations. I was told that several more MDP Member Profiles will be posted soon. So, check us out and check back for new profiles here.

Littlehorn

Jun 4, 2006

More video from House of Bricks

Someone asked for more video from the robots point of view... wish granted!

House of Bricks combat

The first half of the movie is three remote-controled NXT robots fighting it out. Mine is, of course, the one that ends up on its side, and the other visible one is Steve Hassenplugs (with a single small front claw). The third was driven by John Brost, and had the camera mounted right behind its "claws": when he moved the control to raise or lower the claws, they drop down into the camera field of view. Ironicly, later in the day Steve's single claw managed to (accidently) shut off John's NXT by hitting the grey "cancel" button. Who needs weapons, just shut off your opponent!

The second half of the movie shows what inter-continental communication can do. Another member of the MDP came up with the idea of mounting one of the "Zamor launchers" from LEGO onto a NXT robot. When she shared this, some of us took this to an extreme, and by the end of the weekend we had several sphere-throwing robots. So, I demonstrated this on the organizer for the LEGO portion of the event, Joe Meno. The rapid-fire stream of balls was from my launch system, while Steve modified his robot to autonomously look for a close target and fire a single shot before retreating. The match-up between the two of them was pretty funny.

--
Brian Davis

An Array of Solutions

OK, so far we’ve probably painted a pretty picture of the NXT. But some of you are likely saying “wait a minute, where’s the down side?” And there are some – after all, this is first and foremost a toy (educational or otherwise) aimed at kids, not adults with computer science and engineering degrees. So there are some things that are missing from the out-of-the-box kit. In terms of parts, this isn’t a critical problem; I (and a lot of others… you know who you are) have a lot of LEGO around the house, and it’s fully compatible. Even in terms of motors and sensors, the NXT is a more “complete” kit than the RCX (for example, the RCX with three motor ports generally came with only two motors, while the NXT comes complete with a full complement of three motors). But what about the software?

There are (from my viewpoint – again, to be honest, I’m not the target market for this) some things missing that I really wish were built in to the software. Arrays are a really good example: NXT-G has no official support for arrays, yet I find them very useful. But NXT-G is powerful enough that with a little bit of work (and a good deal of fun) I can get around this, and have my own arrays!

The method I’ve used (I’m sure there are others) uses the file system on the NXT. For each element of an array, I just create a very short on-brick file to hold that number: essentially, the array is just a series of numbered files on the NXT. What would be really nice is if you could just add this ability into NXT-G in a way even a kid could understand. Gee, yeah, that would be really nice…

Remember MyBlocks?

Here I’ve created two MyBlocks, ArrayRead (which will read a number from a specific element of the array) and... ArrayWrite (to write a number into the array). Take a look.










With these as MyBlocks, all these messy details are hidden, and almost anybody can use them as easily as the "stock" blocks from the official NXT-G pallets. For instance, to test these MyBlocks I wrote a simple program that just puts five random numbers into an array, and then reads them out to display on the screen. Notice that the code is pretty much self-documenting used this way.

While this is a reasonable way to do arrays, there's a deeper point here. Yes, there are things missing from the language. But in a lot of cases, you can write MyBlocks to patch these holes (like arrays, trig functions, etc.)... and learn (or teach!) something in the process. It this extendability of the language that I think is its greatest strength, and kudos to LEGO and NI for keeping it in. Now, when we need something implemented in the NXT-G language... we can do it ourselves.

--
Brian Davis

Jun 2, 2006

GoRobotics.net article

William over at GoRobotics.net will be posting a writeup of mine on the Record/Play blocks next week. As a reminder, I will be away from June 3 to June 11 and will not be posting or responding to emails. Have a great week.

Jim

Jun 1, 2006

RaSPy final: Updated building instructions

In response to some comments, I've upgraded the building instructions for Jim's RaSPY robot. It now contains images of higher quality and parts lists.

Matthias
Related Posts Plugin for WordPress, Blogger...