• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Building Robots

 
pie sneak
Posts: 4727
Mac VI Editor Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
So I'm getting into building robots.

A friend of mine does a podcast on the Muppets at muppetcast.com and he and I were curious to fool around with puppet building. Somehow that stemmed into wanting to create puppets with some innard gadgetry and well..

I was always interested in the idea of building robots when I was younger but I never had the money or resources to get started. Well, that's not so much a problem anymore!

I recently learned there's a programmer by the name of Scott Preston in Columbus who started a Columbus Robotics Society this year. He's also the author of the book Building Java Robots. I'll likely be buying that book soon and will try to make it out to the CRS monthly meeting.

In the meantime, I grabbed a couple books by David Cook on Robot Building (one beginner and one intermediate book). So far I've mostly been reexposing myself to the material from Electronics classes of years past. "Ohm" is again my mantra. (Sorry for the bad joke, I just couldn't resist!) The most complicated thing I've ever assembled was a Wien bridge oscillator, so I've a lot to learn!

Among the things I've looked at in catalogs is LEGO's Mindstorms NXT which is rather expensive and more high-level (which in LEGO terms I guess would be like calling the NXT a bulky Duplo of the robotics world) than I'd probably like. But I'm curious and there seems to be a multitude of books on hacking around with the NXT.

Does anyone here have experience in this or currently pursuing such a hobby in robotics?
[ September 21, 2007: Message edited by: Marc Peabody ]
 
Bartender
Posts: 9626
16
Mac OS X Linux Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm a slacker who stumbled into programming via philosophy, logic and proofs, so my knowledge of electronics is strictly which end of a battery is "+". That said, I have wasted days, weeks and months playing with my lego mindstorms. Perfect for those of us who don't want to get bogged down with the low-level hardware. I have the RCX, and if the NXT is a Duplo, the RCX is a ball. Three inputs and three outputs is all you get. But it is enough to get create simple behaviors. I think one of my friends has upgraded to the NXT. I'll have to check in with him and see what he's been up to.
 
Rancher
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A few years back, I played arround a bunch with some robotic stuff, controlled by Java, from a company called Ferrotronics.

They sold ICs that allowed Java programs (with their open source library) to control standard model car/airplane servos. Took all the magic out of making my code control the servo, which then can control one axis of anything, head, eyes, mouth, etc.

http://www.ferrettronics.com/

I think they've been bought once or twice, but it all worked great.

Model servos are great because they are standardized and available at any hobby shop, and lots of web retailers.
 
Joe Ess
Bartender
Posts: 9626
16
Mac OS X Linux Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Finally heard back from my friend:


The NXT is much more open sourced than the old one. You can create Java apps to control the bots you create through the Bluetooth access if I recall correctly. I know I can control my bot with my phone. I think the big bonus with Lego is the simplicity of the parts. No wiring or crap like that needed. It's perfect for building platforms to test out programs. Building the body is the easy part. It's the program that'll make or break it. You can quickly throw together a set of sensors and then test any program. I actually have in my back pack the 'Lego Mindstorms NXT Hacker's Guide'. It's not quite the hacking book you'd think it would be, but it does have some pluses for the novice. How to build, how to wire your own sensors in, adding a video camera, that sort of thing.

There's several languages available for programming too. The usual old skool ones and a few new ones. If you want to go more circuitry and soldering, I would suggest getting the Roomba platform. They make the bot sans vacuuming that is really easy to hack and play with.

Oh and compared to the other one, much more fun. Sensors seem a bit better and the new motors are great. Built-in counters!



Yea, the counters in the motors would be a great plus. Doing navigation or rotational positioning is painful with the RCX.
 
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Years ago together with a colleague I participated in a competition with Lego RCX robots. My colleague mainly built the robot itself, and I wrote the software for it, in Java. There was a small JVM available for the RCX at that time.

The objective of the competition was to make the robot solve a maze. On a black and white checkered underground there were walls set up that formed the maze, and the robot had a number of sensors: a light sensor which could be used to detect if the robot was on a white or black square, bumper sensors to check if the robot bumped into a wall, etc.

I haven't looked at the robots since then, so I forgot most of how it worked exactly.
 
ranger
Posts: 17347
11
Mac IntelliJ IDE Spring
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I like Robot Chicken.

Mark
 
Marc Peabody
pie sneak
Posts: 4727
Mac VI Editor Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Jesper Young:
There was a small JVM available for the RCX at that time.


Was it LEJOS?

The day after posting this thread I saw that my alma mater was having a robotics course in January with the NXT. I got so excited I ran out and bought the NXT from my local Toys 'R Expensive. I was disappointed to find that didn't come with printed manuals for all the neato things it advertises on the box. But it did include a manual for building something much like a primitive go-kart. So I built that and fooled around with it a bit. Eh... I'm more excited to use the input devices than just the servo motors.

The NXT comes with software called NXT-G that is basically a drag and drop programming language for creating scripts. I have a hunch the software includes digital manuals for building some of the stuff on the box but I haven't loaded it yet. Crossing my fingers.

As an alternative to NXT, you can wipe the intelligent brick (the thing that looks like the old school GameBoy) firmware and replace it with the LEJOS stuff, so you end up with a tiny JVM on your robot. Then you can Java-program scripts for the robot. I think it would be easier to manage subroutines in OO methods than the way it works in NXT-G.
 
Joe Ess
Bartender
Posts: 9626
16
Mac OS X Linux Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Marc Peabody:
I was disappointed to find that didn't come with printed manuals for all the neato things it advertises on the box.



Are they still doing that? One of the big criticisms of the original Mindstorm set was that it didn't come with much in the way of instructions. It was developed by Lego's education division and they're like: "instructions are for fascists, man. We want people's imaginations to be free, man". Sure, that's great. How about giving me some idea as to how all these weird parts fit together? Of course, there's no shortage of third-party books on the subject. The couple I got were really useful if only to see how different people use Lego in different ways (see Martin's Art of Lego for the basics).
I used Not Quite C for programming. Using objects seemed a little high-level for the programming I was doing (hit wall, turn around).
 
Marc Peabody
pie sneak
Posts: 4727
Mac VI Editor Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Joe Ess:
Martin's Art of Lego for the basics).


This is great, even though the NXT set doesn't come with any gears. I absolutely love (starting at the bottom of page 13) how he has some design patterns. Even more, I love that he doesn't call them design patterns. He calls them cliches.

I'm tempted to start replacing design pattern with cliche in my vocabulary. "You should use the singleton cliche." "Do you really have the problem context that this cliche is meant to solve?"

I really don't understand why they can't print a couple manuals. That's so unLEGOlike. The thing costs so much that it really wouldn't be that bad if they had to increase the price by ten or twenty more dollars to cover printing and layout costs.
 
Marc Peabody
pie sneak
Posts: 4727
Mac VI Editor Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Ok, it turns out that the NXT-G software includes the instructions for how to build the humanoid and other robots advertised on the box. I could still see it as frustrating for folks that don't have a laptop.
 
Jesper de Jong
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Marc Peabody:
Was it LEJOS?


Yes, that's what we were using on the RCX.
 
Marc Peabody
pie sneak
Posts: 4727
Mac VI Editor Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Cool! I'm excited to try out LEJOS. I still want to fool around with the NXT-G programming before wiping the firmware though.

And there are gears in the NXT set. I had to use a number of them to start building the RoboArm model using the instructions that are built into their NXT-G IDE.

I also purchased a couple books on the NXT and the Programming Java Robots book by Scott Preston that I mentioned earlier.
 
Ranch Hand
Posts: 1061
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Marc Peabody:
...He's also the author of the book Building Java Robots...



Originally posted by Pat Farrell:
A few years back, I played arround a bunch with some robotic stuff, controlled by Java...
Took all the magic out of making my code control the servo...



Damn , i have no idea about electronics nor electro-mechanics, but i want to build a Java robot now.
 
Ranch Hand
Posts: 1282
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
[Chris Baron:]  l have no idea about electronics nor electro-mechanics, but i want to build a Java robot now.

I want some, Android will probably use Micro or Squeak or something, I already code that way anyway and so it is only a matter of individual equipment makers releasing or specing a compiler.

There are several vendors who make kits and so on that are very well thought out and if you have never put together a Vellmann amp or a PAiA Corporation - Analog Synths, Theremins, Preamps, and More you better stay with ready made kits.
 
Chris Baron
Ranch Hand
Posts: 1061
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

You better stay with ready made kits.


Yes, that was my idea too. I found a modular kit around a programmable C-Controller so far.

While searching for literature i came across this Book. It's about bots using Nitinol (Flexinol) as "muscles". Maybe the material is interesting for Marc's puppets-project or your android.

cb
[ November 14, 2007: Message edited by: Chris Baron ]
 
reply
    Bookmark Topic Watch Topic
  • New Topic