Fun with LEGO Mindstorms Programming
I've developed pbForth, a port of a rather archaic programming language, for the LEGO Mindstorms brick. The cool thing about it is that with a dumb terminal emulator that does ASCII uploads and can handle XMODEM (checksum) transfers, you can compile applications right on the brick! Yes, on the brick! When you are done, you blast S records back to your PC using XMODEM and then you can reload the app anytime using one of the standard firmware uploaders.
Check out pbForth for LEGO Mindstorms
pbForth got a whole chapter in the O'Reilly book, and it is getting more and more momentum as replacement firmware that busts the 32 variable barrier, and allows total cross-platform development without screwing around with building ecgs.
OK, I'm biased - I wrote it - but I think it's cool. Maybe some of you LEGO gearheads out there would like to try programming in something other than the native tongue. Learning Forth can make you a better C programmer. No, I'm not a Forth evangelist - I write embedded systems in C all day long.
first post? and i just KNOW its gonna get moderated down. sorry :/
I for one would love to see Perl for LEG0. Do any such extensions for Perl exist, or are they in the works? Could other languages be adapted for LEGO? Forth is admittedly rather archaic, and few people program in it any more. Might open the appeal of the Mindstorm to a greater community.
Oh. Who am I kidding. Every geek wants LEGO. :^)
-DrPsycho - Coping with reality since 1975
While I'm still new to the LEGO Mindstorms field (just got it for Christmas) I have found that NQC is a really good for programming that lil "brick". So far, I've only been toying with the ones that come with the book. But, I'd certainly like to make a few fighting robots. I love to watch the pieces fly off ;)
"Klaatu, verada, necktie!" -Ash
I've always loved LEGO (since I was 5 or so) and when if first heard about Mindstorms I almost went insane. I've bought that they-say-it's-programmable-but-in-fact-it-isn't control station but when I first started programming (when I was 12) that just didn't attract me any more. ;). ;)) (those things are neat!! :)
After all, I'me glad I started programming C, but lego still has a 'special place in my heart'. This slashdot article brought the entire feeling back. It makes me want to run to the nearest toy-store and buy that Mindstorms set. (too bad it's sunday and 0:34 Am
Can anyone tell me how far this Mindstorms-programming thing goes? Might it actually be possible to create your own Aibo??
--
If code was hard to write, it should be hard to read
i remember the story about the expensive robot maids, etc, and someone saying that these guys are just as useful. i havent had a chance to check them out, but im wondering exactly what they are capable of. the backs of the display boxes are pretty lax on information.
i would gladly spend a hundred bucks for something that can retrieve the remote control for me.
I, for one, do not want to see perl on legos. While the string handling is really great, it's a write-only language. I mean, with the standard legos you can take them apart and reassemble them in chunks... but with perl, once you assembled it the nanobots would come out of the controller box and glue everything together. Write-only legos... oi.
Isn't Signal 11 the only other poster besides Money_ who's only purpose is to be an absolute karma whore?
The reason tools like this are so important are of course variables. I mean what programming language is complete without something as basic as variables? Unfortunately, the default mindstorms "language" doesn't really have variables, and we had to pull off some rather absurd tricks in my high school robotics class to emulate them. It was unfortunate that the teacher wouldn't let us use something different like pbForth. I don't know what his problem was :(, then again he also loved NT.
I think I'm going to try and convince him to use pbForth for future classes, anyone know of other schools (highschools in particular) doing such a thing now? Our problem is that the classes primarily contain normal students with no programming knowledge, so this might sharply increase the learning curve. Any ideas on how to make programming simpler to the non-geek/techie?
Q:Doctor, how many autopsies have you performed on dead people?
A:All my autopsies have been performed on dead peop
im waiting for LEGO QBasic
That is my first programming language. Very cool and very extensible. I am very happy to see it still alive.
I would like to know just what the capabilities of this little compiler are. Has anyone used it? Does it come with a fully functional set of libraries? If so, this might be a rather useful (or at least fun).
Perl is much like Lego... you can put almost anything almost anywhere. Just instead of innies and outties Perl has lots of punctation and even more context.
What a dumb-ass. If you /reply/ to a message, do you really think you're going to get first post?
Perl is NOT suited to embedded programming. Perl is huge. A Forth interpreter is tiny, and Forth bytecode is tiny. Forth was written for embedded systems.
Perl is best suited to larger systems, as a good method of tying together the extensive resources available on such a machine. It's just not suited to a tiny system.
If you use windows try Mark Overmar's RCX control center. It's a keen IDE with a bunch of other kewl features like remote control, var watches, and more!
License: By reading this you are agreeing that you agree with me.
Your lucky to have a high school computer teacher who even knows anything about computers. Ours is constantly stoned and preached karel++ all day long. Ugh!
I want to get Lego Mindstorms, but over a $100 for
Legos just doesn't seem right to me. Can anyone
(Who owns them) tell me if they are worth $100?
What can you do with them? If they would go down
in price I would buy them right now. I fell anyone
that spends over $100 for legos, needs to check
their priorities. Sure they are neat but you could
get stuf for your computerwith that money. For
that much money you could get more RAM, a burner,
speakers, zip drive...etc..
Thank you for this stupid Dilbert rip-off. It might be funny if it was Original, but It is not.
As usual, Sig*11 is whoring for points.
I love seeing people call others stupid when they have no idea what they're talking about. Good show, you've made my night. :)
This is fabulously compulsive! i recognize that it is off-topic, but the parts (each stanza) are modular, not unlike legos. Throw the man a bone for having a little chutzpah, folks!
Firstly, legOS is a really cool project. They've totally re-written the firmware for the RCX and built a fully pre-emptive multitasking environment running programs you can write in C or C++ and compile with a gcc cross-compiler. Very cool stuff, though the networking support (IR) doesn't seem very usable just yet.
NQC uses the standard firmware I believe, and is a bit more solidified. You write programs in a pseudo-C language and compile/upload it using the NQC utility. It also has some good IR message passing abilities.
Information about both of these can be found at LUGNET in the robotics section.
I experimented with LegOS a while back but ended up using NQC and a bunch of server-side Perl to build myself a telerobotic camera mount for my webcam.
There are definitely tools available out there for some extremely flexible Mindstorms programming.
Has any one got this? I saw it at future shop before christmas and it was about half the price of the main mindstorms set. Is it usable stand-alone or do you need the base set. Can it be programed?
The difference between Canada and the USA is that in Canada healthcare is a right and gun ownership is a privilege.
not trying to start a flame war here, but i was replying to my first post. which was first post.
sorry for any confusion
Or, maybe it's just playing, with toys?
Aren't you being a bit hypocritical, hanging out here on slashdot? You're basically espousing the idea that any kind of technological advancement is bad (because it's all creative, after all). So why are you on a computer?
Or perhaps you could look at it the other way - that by creating things, we're honoring the Creator (imitation being the sincerest form of flattery and all that).
I was in the Penninsula Robotics Competition here in south eastern Virginia. We(my school's team) had to build a robot that would drive around a rectangular course and collect small white wiffle balls.
Programming for the Mindstorms robots isn't very hard. However there are many other problems with them.
For one you are only allowed to have three engines on a given mindstorms robot. I guess i should more accuratly say that you are only given 3 power terminals to plug your engines into, you may plug in more than three engines, but then two of them must go in the same direction.
Another problem with the mindstorms robots is that they don't allow much room for a "smart" robot, as you are only given 3 sensors (like the engines above you can plug in more than three sensors but then two of them must respond to the same stimulus).
Also the strength of legos in general is much worse when you try to put legos and a moving vehicle into one. Your building style will have to be entirely reformed if you plan on keeping your mindstorm alive for more than 10 minutes. The technic legos help with this a little, because they are longer and contain those neat axle shafts which we used liberally. But overall if you decide to change anything on the robot it will have to be entirely rebuilt for strengh/durability reasons.
The last major problem with mindstorms robots is that they cost way too much. For a kit including three engines, a bunch of legos, and one cpu unit(basically the bare minimum you can get by on if you want a robot that moves), it was > 500$.
WOW! someone moderated this up to Funny!
Jeepers! My trolling seems to be much better today!
Next thing you know, they'll create a cheap linux distro for Lego, and have an IPO. Viva linuxone!
Hey.. Did you ever consider that if God made us in His own image, then we are like Him - and as such we have the desire to create also. As for setting ourselves up like God, Psalms say we were made a little lower than Elohim (hebrew for God). Only a little lower than God, and a cool reflection of His creativity. I for one love to create things and ask God what he thinks of them. He is one of the persons I know who can understand my code! Jesus said he didnt come to condemn people - you are doing Him no favours if you start now. As long as people don't start worshipping their lego and ascribing some supernatural significance to it then it is fine. J - close friend of the big guy upstairs.
Don't feed the Trolls kids!!!
_____________ Blah, blah, this is my sig, yackyty shmakity
Ever notice how salshdot is like a Brecht play, with the occasional character coing in our of nowhere, singing a song and then leaving?
wonderful! beautiful! further!
Sounds rather hypocritical to me, Mr Flamebait.
one word...prozac
Heh... :)
A bizaro open letter to Hemos... fun read... I wonder if there is a better way to get in touch with someone, then an off-topic post in reply to a news item on a public forum message board....
::shrug::
_____________ Blah, blah, this is my sig, yackyty shmakity
...instead of playing with legos, why not build sculptures using HOT GRITS? Say hello to Rastus the Chef (TM) for me!
I'm not absolutly sure about this! Look, i am a 30 years old engineerer an i bought the whole star-wars lego-collection, last year :-)
When I was in highschool, we had a lego robotics course that used Apple II's with a language that resembled BASIC and C rolled into one, TC/LOGO/LEGO, I made automatic weapons in that class, those short axles have good trajectory ;>
....move along....nothing to see here....
That kicks ass, I see that your on /. , wave your hand in front of the camera if you are reading this right now. :) Well Done.
I got my mindstorms kit a while back but i havent played with it a lot recently. I know 300 bucks (canadian ;) is a lot to spend but i think it was completely worth it since i have quite an investment in a lot of other technics lego kits. Now i am able to use all those pieces to make tonnes of stuff!
I tried using the RCX software which came with it (under emulation on my mac) but it was deplorable.. not just slow, i found it icky to use. I tried using RoboLab (the software used in the educational market from Dacta) but that was graphical too! I finally chose NQC and so far have found it the most useful. Theres just something about whipping out a bunch of code and compiling it ;) rather than dragging a bunch of icons together and hitting 'SEND' (imho).
the last thing i remember making is a garbage dump truck which used sensors to pickup and empty a garbage container, then drive away.. (wasnt my idea, i saw it on the web) but it was my implementation. The next thing i want to make is a wicked sports car with a rack & pinion steering and a gear box. Check out Ben's Lego Creations for ideas. He has some really neat designs.
i also recommend the new david baum book (he made NQC) for general programming and lego design issues. I love this book. Check out his site.
cheers,
nitin
My congratulations to Ralph on pbFORTH. It appears
to be a great alternative to the Lego firmware
in providing more granular control of the RCX and
in its functionality. I especially enjoyed the
ability to try out commands on the fly via a terminal (without having to compile or write a
whole program first).
At this time, however, I find I'm spending more of
my time in NQC. It's a fantastic tool -- very C
like and feature-rich. I find I haven't really
run into a situation yet where pbFORTH's extra
functionality has been required (and consequently
the installation of a firmware different from that
which came with the RIS).
Ultimately, I'm not sure I need to spend the time learning FORTH, just to play with legos.
Last, I have no opinion of legOS, since I haven't
tried it yet. It looks very cool, though.
It's probably worth mentioning that most of these
alternatives are due to the reverse engineering
of the RCX done by Kekoa Proudfoot:
http://graphics.stanford.edu/~kekoa/rcx/
You're an idiot.
Thus, we make computers/robots in our own.
Aside from Lego (I do love the stuff) Robotics in general is not an attempt to 'out-do' God's handiwork but if anything, to admire it.
Check out Honda's Biped and read the extensive research into human walking (about 10 years) and tell me that those engineers do not appreciate the complexity of life.
iRobot
How do you open your Java Console?
I wanted to buy the mindstorms kit for prototyping purposes but there were too little acutator an sensors that could be fixed on the RCX.
I was thinking a system in which multiple sensors/motors were linked via a bus would be more useful - I wonder if the RCX can be programmed to do that.
By the way, has anyone managed to build a lego based laser guided bomb yet?
Ewww... there's some icky thing moving in my keyboard.
Haha! The fundament in human anatomy is the lower part of the body; the butt-cheeks. In ornithology the fundament is also called 'the vent...' Kind of a double entendre I suppose...
I like to make Beowulf clusters out of 'em!
Sheepdot: Open Source good, Closed Source baaaaaaad!
Man, you have been reading Dune too much....
At first I thought, oh, that's OK. That still involves problem solving and working with constraints, yes?
But what constraints! Forget any notion of building Rodney Brooks-like robots: You get three sensor inputs. Even if you were willing to spring for lots of extra-cost sensors, and used some clever multiplexing schemes, you'd be hard pressed to build an insect that could even know whether its legs were up or down, forward or back.
And seemingly simple robots have a way of using up the parts that come in the standard set. Once you've built a track following robot, what do you do with it? You've used up both motors. Similarly, once you've built an arm that can raise/lower open/close its claw, you've used both motors, both touch sensors, and most of the gears and structural pieces.
I'm afraid that I lost interest pretty quickly.
I would also like to see perl available for LEGO, however it would need to be compiled perl. The idea, for me at least, would be to be able to use the language, not to be able use the interpreter. As in Perl, not perl. Clearly, running the interpreter on the brick would be as silly as running gcc on the brick.
Forth is tiny, but assembly can be even more tinier, be made even more compact, and reach a higher benchmark in execution than Forth or any other language.
Is there a LEGO-assembler? Any geek out here want to invent one if there isn't one already?
Muchas Gracias, Señor Edward Snowden !
umm, i think we're all wondering what this post is actually about.. can the person who posted it maybe explain it?
I personally use NQC becuase personally its much easier for me to deal with than the drag-and-drop interface provided with the application on the kit's CD-ROM, and IMHO I find it more flexible.
Mark Miller has made modifications to allow each sensor input on the RCX to handle four different sensors per input (for a total of twelve sensors per RCX unit). He has also provided example code in NQC to show how to handle the situation. Here's the link: http://www.eagle-software.com/MindFest.h tm. This is a great solution for those of you who would like to use more than 3 input devices on a single brick.
What am I doing with mine? Currently I'm trying (honest!) to create an ATV that can map out its immediate surroundings (using proximity detection [http://www.mop.no/~simen/legoproxi.htm], and input from touch sensors) so that if it gets stuck it can quickly figure out how to leave the area. I just purchased my second set and a myriad of sensors too. Joy! =)
--
I have good news and bad news. The good news is that God did make Man in His image. The bad news is that we're the 2.0 version, and that velociraptors--the other featherless bibeds--were the 1.0 release, and were even closer to God's image. Yes, that means there's going to be some very scary company in Heaven. --Dave Barry
Well, I wouldn't mention it, I've already been slashdotted into the ground once and that was just a quickie fu, but you asked...
The Public 8-Ball is a robotic magic 8-ball driven by Lego bricks, RCX, and a radioshack motor (it's burnt up all my lego motors and they are just too expensive.) Hit it with Netscape and see your destiny in real time.
And please, if anyone has a Java applet to display a stream of JPEG frames let me know, then IE users can see the 8 ball too.
I may be slashdot resistant now. After a dozen or so people are queued for 8 ball shaking I start deflecting.
I hope your notion of "literal truth" recognizes the many uses of metaphor, allegory, and symbolism in Scripture. And I hope that you haven't fallen into the inerrancy heresy. Become a Bible translator for a bit and you'll lose that quickly.
What better use than...
LEGOS THAT MAKE NAKED AND PETRIFIED GIRLS!
and
LEGOS THAT AUTOMAGICALLY POUR HOT GRITS DOWN MY PANTS!
I just had a thought-- does anybody know of a way to get X10 remote functionality into the mindstorms computer? I have the free X10 kit they gave away a while back, as well as the MP3Anywhere wireless A/V transmitter. Building a robot that could control the lights might actually be useful, somehow, although I don't exactly know HOW useful yet.
One way to do it would be to use the X10 serial port dongle which is a remote transmitter for any X10 device, and rig up a 9-pin port on the Lego brick, perhaps with its own power supply.
-CausticPuppy "Of all the people I know, you're certainly one of them." -Somebody I don't know
I'm using librcx and a cross-compiling gcc. I'd use legOS if I could get it to work, but using librcx and standard C is pretty good.
I haven't done anything cool yet because I don't have enough sensors. Having a second brick would be nice too. Hmm
What, that atheists couldn't be patriotic, or shouldn't be allowed to vote?
The answer: YES. How else do you appeal to the xtian 'right' that runs the goddam country? Those republican bastards certainly don't 'turn the other cheek', do they?
Well, most of the bits about wrath are from the Hebrew Bible (aka Old Testament), which are a mish-mash of political manuevering (Deuteronomy: the laws were made to swerve the Hebrews into strict monotheism and cement the political power of a sect of priests (deuteronomites)) and ancient myths (ie, Adam and Eve comes from ancient Summeria). Prior to the Bible, the Hebrews were a few assorted Yaweh cults who also believed in many other gods, but only worshipped the big Y.
IMNSHO, it is impossible to take the Bible literally. It would take a stunning amount of ignorance in the face of all we know about it do so. If you are going to use the Bible as a religious text, maybe study it's history and much of the pre-israelite matieral behind much of it.
Please don't write `xtian'. It's very rude. Don't cross out Christ from our lives.
Here's a related topic to this whole Mindstorm business. I have a system that LEGO designed way way before the Mindstorms and even MIT's LEGO brick (which became the basis of the Mindstorms) called LEGO Technic TC. It consisted of a very simple 8-bit ISA card that connected to a black box with a ribbon cable. Basically it was a relay control card. The thing had 6 "output ports" that could either drive a motor forward and backward or operate a light. It also had two input ports for 1-bit touch sensors or optical sensors (or any other 1-bit sensor you could build for that matter).
The whole system was programmed in a LOGO (Remember that one, geeks?) environment called LEGO TC LOGO. It ran under DOS. I have been unable to find any control programs for this thing except for the stupid worthless DOS based LOGO.
Is anyone else still using this system? Is there anything for it under Linux?
~GoRK
Only *you* can cross Christ out of *your* life.
The X comes from the Rhi-Cho (or whatever), and has the same basic meaning as the fish symbol. In one of my other favourite sites, several of the Christians took to calling themselves 'Fishtians' and wishing each other 'merry Fishmas' after someone complained about the 'Xmas' thing.
I guess the point is WWJD? I dunno
I'd like to see an app for the Palm -- written using Quartus Forth for the Palm of course -- that would let you control and program the Lego brick directly from the Palm infrared port.
Neal Bridges
Quartus Handheld Software!
TIMTOWTDI is opposed to orthagonality. It makes it easy to learn how to do new things, but makes things harder to maintain.
This isn't anything that can't be overcome with good comments and uniform coding style (ie: everyone in a group using the same methods), but it is a definite tendency in any language that gives you more than one way to do common tasks (this is true of C++ also).
IMHO.
YMMV.
ps: my email address isn't real.
You're lucky that your high school computer teacher went to college. At my high school, the computers were just used to teach typing. No programming (or anything other than typing) was taught. I'm still trying to figure out if I can take the district to court over this.
Amazing magic tricks
All programming languages offer more than one path to a solution. This is the nature of individual expressivity. You can't compare what a professional programmer produces with what your Aunt Maude can read.
--
let me start off by stating that I have no experience whatsoever with the lego mindstorms, or robotics in general. However it seems to me that if you have three programmable power terminals that you could use a PAL or somesuch, along with an encoder, to run up to 8 motors independant of each other. Granted that requires a little more than being able to snap parts together, but is a robotics competition afterall, you cant really expect to win with legos alone eh?
I have built UML models and translated them into ANSI C, compiled with gcc (using rcx-tools) on Linux and run them on the Lego brick. [The UML modeling tool suite is BridgePoint/MC-3020 from Project Technology.]
Actually, the H8 micro (inside the brick) is a pretty hot little micro. $200 is pretty cheap for an engineering prototyping system.
The macintosh boot mechanism-- called "open firmware"-- has a built-in Forth interpreter.
I am of course talking out of my ass here, but i wonder if you could adapt this pbForth thing to run under Open Firmware.. and use the macintosh as a kind of replacement brain for the lego mindstorms.
This would bring the number of things a macintosh can do without any kind of operating system to two-- the first being play Pong.
Meaning we're two uses ahead of all you PC users. Ha! You think you're so great, with your "linux operating system".. but without Lilo, you're NOTHING!! MWAHAHAA!!
-mcc-baka
i got my head but my head is unravelling
can't keep control, can't keep track of where it's travelling
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
That said, you're right that the lack of IO is constraining. You can use multiple RCXs linked via an infrared network, but that of course doubles your cost. It'd be nice if Lego would release an "RCX Pro", with something like eight inputs and eight outputs.
(While I'm wishing, I'd also like to see a MiniRCX, about 1"x1"x2". It'd be supercool if that had a large number of IO ports, but I'd be happy as long as they were made to talk to each other easily -- you could fit quite a few in the space taken by a regular RCX, after all.)
--
I'm getting off topic, I suppose, but Legos aren't the only platform where FORTH is available and you are not going to waste your time learning it.
Versions, free and commercial, exist for any Unix with GCC, DOS, OS/2, Macintosh, Windows, the Palm Pilot, and dozens of microcontrollers. Did you know that FORTH is part of the Open Firmware provided in the Sun and the PowerMac boot proms? (Note IEEE requires a subscription, so check out Sun's OpenFirmware page)
The experience on one platform transfers well to another and there is lots to like about FORTH, especially when dealing with an environment with exceedingly limited resources in comparison to a PC.
This list of FORTH implementations by platform is a little dated but should point in the right direction.
chide molestas, ever' last one o' ya!
Well, I got to thinking pretty quickly that only two motors was a bit of a problem and even three doesn't really allow you to do too much. So, I implemented a mechanical trinary counter which allows one drive motor and one touch sensor to control an arbitrary number of drive shafts: forward, reverse and no power. The higher order drive shafts change state quite slowly, but the thing is pretty neet anyway. With this one can basically do anything as long as it doesn't require quick response times.
Helping with organizational effectiveness is our job.
That certainly would explain man's aptitude and taste for petty cruelty and mass murder.
A few days after getting my LEGO Mindstorms set, I hit upon the idea of using a joystick as an input sensor. I had an Atari 2600 in the closet with a few good controllers left, so I hacked together a method to use it with the RCX.
.sig: Not a text file ********
Briefly, with any switch-based joystick, you can use different resistors between each direction wire and ground so that unique sensor values result which can be read by the RCX.
When it's done, you have a 10-position switch that's very useful -- discrete values for joystick in the center, all 8 positions, and fire button pressed. (trigger RCX-mounted weaponry? Mmmm...)
Complete info is available at http://xidus.xidus.net/joystick.html
Have fun, and let me know if you do anything interesting with this sensor, or even if you manage to build one correctly.
-
$ more ~/.sig
********
$ more ~/.sig
********
it was a strictly legos competiton. we had conciderd some sort of switch, but you still have to have some extra equipment for that.
--
Okay, it's not Mindstorms related but...
I finally solved a problem I've been working on for several years: a Technic four-speed transmission done my way. Sure, the SuperCar(the coolest Technic set ever) 8880 has it, but no reverse. Last friday I was really bored at work, so I laid out my (flawed) plan that has been sitting on graph paper for years, and finally ironed out the kinks. Now I just need to get drawing again and put the plans on my website, and look for a place on it(so the gears don't get in the way of each other) to implement reverse. It's tricky, but can be done.
And after I finished that, I found an alternate way using universal joints to make odd, but nicely spaced gear combinations.
I've read alot of hype about the Lego Mindstorm and while it looks fun I have found the Basic Stamp to be much more interesting. For those of you who don't know the Basic Stamp is a small microcontroller with a built in interpreter, and memory unit. The interpreter understands a version of Basic called PBasic (stands for Parallax Basic), and it's very simple to program. For those of you interested in Electronics and Embedded computing this is a great way to get started at a fraction of the cost (the stamp unit only costs around 35 bucks). I highly recommend these two books for starters:
"Getting Started in Electronics" By Forest M. Mims III (Published by Radio Shack).
"Programming, and Customizing the Basic Stamp Computer" By Scott Edwards.
also Nuts and Volts magazine has a monthly column dedicated to the Basic Stamp. This is the ultimate in hacker toys =).
www.parallaxinc.com has more info. Enjoy.
I'll agree about the grits/portman thing. Depending on my mood my reaction vaccilates between "dammit, those idiots AGAIN" to "Jesus those guys are hillarious".
About Money__ -- people should be punished for not bothering to read articles (ie, the "-1 Redundant" moderation for posts that ask questions answered in the article), not rewarded for exploiting the lazy.
Also, the Whores to the Karma Whores do serve ONE purpose: we OCCASIONALLY remind moderators that the post we are mocking were either off-topic nonsense or information simply filtered from the original article. This IMPROVES the signal/noise ratio (for people who sort by score; 0-5, which I believe is most of the slashdot community) because Singal11 and Money__'s mostly useless posts won't get their knee-jerk score of 5.
Of course, some people are probably just doing it to be assholes. I apologize for those wankers.
I run a small website for Lego Robot (and general robotics) fans. Check out www.marsrobot.com for many interesting examples of mindstorms fun. How many toys are there that can be hacked to the level that the mindstorms kit has been?
Play Well
If you want to (possibly) meet Ralph, and see some cool LEGO bots in a competition, *and* you'll be in the Toronto area this weekend, check out the 4th Annual Toronto Lego Robotics Event, and look at my team's entry from last year. It's been totally redesigned, so watch out for it...
->www.chuma.org, ranting and Newtons, what more could you want?
LegOS rocks! For anyone unaware, it's an open source replacement for the firmware, allowing easy development of programs for the RCX in C. The programer(s) that wrote it really went off on this...it has a small 7segment font, and it's even multitasking!
Badgers? Badgers! We don't need no stinkin' Badgers!
It is in fact considered good style to extend the compiler to deal with application specific data structures and the interpreter to create a app specific command line syntax.
example interactive session with interpreter (output in bold, comments in brackets)
4 3 * . ( put 4, then 3 on stack, multiply, convert to ascii using current number base and emit to terminal )
12 ok
: 4 11 ; ( redefine '4' as numerical value 11 )
ok
4 3 * .
33 ok
Changing the number base is also pretty easy:
6 9 * .
54 ok
13 base ! ( change number base to 13 )
6 9 * . ( for Douglas Adams fans )
42 ok
Forth has its down side, but for interactive embedded control systems it is hard to beat.
cheers,
dean
Bah, base 1 is legal (tally marks). Sounds like a programming/design bug in Forth's part to me...
Tom
I like it...didn't realize that smileys had no syllabilic value though...
Blar.
One of my Fav languages...but I have not had much use for it in a long time...I wonder if I still remember how to write in it...
ttyl
Farrell
...with memories of GraForth on the APPLE ][...
CAN-CON 2019 - Ottawa's only book oriented Science Fiction Convention! October 18-20, Sheraton Hotel, Ottawa, Canada h
I've got a number of comments ranging from "what a stupid idea it is to eliminate cross-platform issues by compiling right on the brick" to "what a great idea it is to eliminate cross-platform issues by compiling right on the brick" Now I don't know what to think anymore...
Here's a real pbForth application. It's a robot that navigates mazes drawn on paper. No, it's not on wheels, it's really a gantry crane, but it's something that the standard Mindstorms firmware can't do...
pbForth MazeWalker
Have fun...
Why couldn't they have produced a CPU unit that had some sort of bus, to which you could attach additional 'i/o units', each controling three input (sensors) and three output lines (motors)? That way, the basic unitwould not cost much more, but the expansion would be cheaper and easier... The märklin digital model train control-center implements this really good.
--The knowledge that you are an idiot, is what distinguishes you from one.
Id like to see Python, or a fraction of it for LEGO Mindstorms. I know that Guido is working on making Python (or something like it) easier to learn and use for kids, and I think using it for programming Mindstorms would be interesting (not only for the kids...)
you ever seen one of those display legos with all the peices glued together? They're light weight, and durable as hell.
:)
Let's send our mindstorms to mars!
-- 'The' Lord and Master Bitman On High, Master Of All
It's true that there are only 3 input "ports", but it's possible to pile more than one sensor on a single port. For example, you can put a touch sensor and a light sensor on the same port and then use a little logic in the code to distinguish between the two. (I've never tried this, but that's the theory anyway.)
The most rabid believers in American Exceptionalism are the exact same people whose policies are destroying it.
The Chi-Rho thing came along later on, anyhow. The Greek influence came in with St. Paul, who didn't convert until after the Crucifixion.
Of course, if ol' Jesus really was the Son of God, he could probably speak any damn language he pleased -- but if so, then it must have pleased him to speak Aramaic, 'cause that's what he spoke. If (as I suspect) he was just a random long-haired radical with some groovy ideas about renouncing violence and wealth, why then Aramaic and Hebrew were probably all he had to work with.
And, yeah, Bush père really did state publically that he doubted "that an atheist could be considered a patriot, or even a citizen". I'm quoting from memory, but the sense is correct and the wording is at least close.
--80md
I've thought of something I been wanting to try ever since I saw the Lego brick sorter on the web.
Write a program involveing the light sensor that reads lego bricks as instructions.
Example red motorA blue motorB green motorC
Yellow not
then follow the instruction with a duration
coded somehow(Binary in gray and black???)
use white as an insturction cap that says you are done taking input start program
It would be and interresting programming project at least, but I'm sure with more instructions it could be useful.
"Sometimes it's hard to tell the dancer from the dance." --Corwin Of Amber in CoC
"if jesus were", not "if jesus was". wtf was i thinking . . . senility, foax, it hits yunger an yunger ever yeer . . .
--80md
I got the RIS for Christmas (just like everybody else, it seems!) and it's great fun and all, but the programming is the least of my troubles. I mostly struggle with the actual construction of robots. Do any of the books out there cover the construction aspects well, or are they all about programming?
--
"A dessert without cheese is like a beautiful woman who has lost an eye." -- Jean Anthelme Brillat-Savarin
We've taken some pictures, wrote up some text and released the software we're using:
http://fastolfe.net/features/telecam/