If you’re using IR detection you could also make a vest with IR LEDs on so it emits IR light. Then you could put the vest on and see if you dare enter the room when the robot is on :-D… or maybe a contest to see who can be in the same room as the robot without getting hit the longest… possibilities are endless
I’d guess there are only two commands: on and off. I’d also hazard a gues that the USB interface is identical for most major brands. I’ve used 5 or 6 different ones and the Logitech QuickCam driver works for them all.
Question: take a VGA Webcam, stream the data to a PIC. That’s 640x480x24 = 900Kbytes of data. That’s a whole lot of ones and zeroes. Not sure what other cams do, but it would be great if you could reduce the resolution, so it only sees a 5x5 array of colours. I’d be stunned (and pleased) if it were possible.
How does the Lego one work? Does it simply have a reduced resolution?
The Lego one? Is that the one that comes with the Robolab package? If so I think that it is just a standard Logitech QuickCam that requires a PC. It doesn’t connect to the RCX or anything.
A typical webcam has a little more functionality than just on and off :-), but I reckon those are the main ones of interest.
Ok, that is the main idea Ok, that is the main idea yeah. And then process the ones and zeros. But how would I get the serial data to be sent for the on / off command? I think that isn’t documented anywhere… is it? (I have an old 320x200 camera, love to get that one to work with my uC).
The USB protocol is much more complicated than serial. I don’t think it’d be trivial at all to interface with a USB camera – you’d basically have to reverse engineer their driver and re-implement it on your microcontroller. I don’t think most microcontrollers would have the horsepower to handle that stream of data, much less do image processing to actually identify objects in it. I think the only real practical option is to move up to an actual computer (GroG-style), run linux or something on it, and let the native driver handle the camera interfacing.
I’ve actually got the Lego camera (Lego Vision Command), and yeah, it’s just a regular webcam packaged up in a Lego shell – it’s got a regular USB port on it, so it doesn’t connect to the RCX brick. You connect it to a computer, do your image processing there, and then send commands to the RCX brick via the IR tower. I was disappointed to find that the robot wouldn’t be truly autonomous.
But of course, if you figure out how to get a camera working on a microcontroller, I’d love to hear about it
Haha yes, maybe my next robot will eat cheeseburgers and hate foreigners. It would have to run on gasoline, of course.
That’s interesting about optical mice – I didn’t realize it was an actual camera, I thought it was just some sort of IR detector or something. I guess that makes sense – it needs to be able to look at the ground and determine when it’s moving. Sounds like a hardcore project, but it would be interesting to try.
Frits HAD mentioned that YDM and my robots should get together for a visit sometime… Maybe I’ll have a surprise for him Sorry Frits, parents can’t be held responsible when their kids misbehave.
That makes sense. I had thoguht the Lego one was hooked to the Lego NXT. I have RCX, and … well, a camera just wasn’t going to ever happen, was it?
My vision would be for a camera with only a small resolution, wheich could detect changes in colour from edge to edge. If you have only 5 pixels across, for example, and your background is white and your target is green, a PIC or the like should easily be able to detect if the target is moving left/right or right/left.
Where the hell do you get a CCD which is only 5x5 pixels?
Yeah, I only have the RCX also, so I can’t speak for the NXT, but I’d be surprised if it was THAT much more capable. I agree, a simple low-res “camera” would be best. Maybe with an array of color-filtered CdS sensors, so each one only sees red or blue or green… of course, even 5x5x3 colors = 75 sensors. Damn, this gets complicated quick.
The main processor in the The main processor in the NXT is of the same class (ARM7) as the one that sits on the CMUCam3 and is running at 60 MHz, so I guess it is quite more capable than the 8 MHz Hitachi processor that was in the RCX, and I reckon that something like a 50x50 image should be no problem to process in near realtime as long as you’re doing basic stuff.
And you are doing the "IR detector in tube" - I always wanted to do that! Wicked!! Nice to see that it is working - I would have thought a longer tube should be used. I have one on about 10 CM laying, the reciever taped in (to stop false light), over in my shed, but never got as far as you… Why do you live so far away? I want to come over and play
wii controller, BTW awesome robots you got there!!
I heard from some video I’ve watched that $40 wii remote has a powerful camera with infrared on it or some sort. I think this has a big potential on robots for $40 but I really don’t have the know-hows. I found the video here. << http://www.ted.com/index.php/talks/johnny_lee_demos_wii_remote_hacks.html >>. I also got a working camera from a used store. seems look like the one sold by parallax but without the second PCB on the back of it. Maybe that is the communication for the camera to Basic Stamp 2.
This is an awesome site!! I’ve been looking for a dedicated site just for cheap robot building forever not til I found this site. Thanks for this site!
Oh - and perhaps you want the inside of the tube to be mat to avoid reflections. Either make it in paper, or spray the inside with black mat paint - Oven paint in my case.
- And I was considering 2 sensors placed out in the open, to do the initial discovery of "enemies", placed with a simple plate between 0i0
- And my plan was not to shoot, but let them sort of hit each other (kick off a brick stuck with a voltage leading magnet to detect "Mine is kicked off, I have lost")… and so, robot A should say (invisible to humans) "I am doing attack number 3", and the other one should then pick defence 3a, 3b, 3c - whatever it prefered. Attack number 2 would be defence numer 2a, 2b etc.
That way one robot would attack the other, but just as it did, the other would come up with a smart move… Perhaps the drummer-robot should be notified that it is under attack, so it can "run away" when shooting starts, insted of just playing drums?
I played with different lengths of tube – the one you see there, and two shorter ones. I found that (when I blocked the side leakage with my fingers), the length you see in the picture actually was a little too long for distances about 6-7 feet away – the LED barely lit up at all. But the shorter ones were too short for closer range – they worked well farther away, but up close it could still detect the emitter from pretty much any angle. I decided to go with the longer one, though, because there was still SOME signal farther away, so I figure if I just look for the point with the strongest signal, I should still be able to find something at that distance. And I figure it’s better for my robot to be nearsighted – works up close, but can’t “see” robots beyond a certain distance and ignores them – rather than farsighted, so that robots can get too close and then it “sees” them everywhere and starts shooting in directions where people like me might be
That’s a good idea about painting the inside matte black. I’m glad I bought 10 of these sensors, because I might have to sacrifice a few trying to find the best way to limit its view.
I also thought it might be useful to have a few more ‘wide-angle’ sensors mounted at various angles, to give me a basic idea of which directions a signal is detected, so I can then turn in that direction and start looking with the more precise one mounted on the gun. Like the ‘finder scope’ on a telescope.
And I love the idea of having the other robots react to being shot I had started to fantasize about building a bipedal robot next, who would follow LDM around and dance to his music. And if BullyBot shot the bipedal robot, he would do an elaborate death scene and then throw himself to the ground. Might be asking a bit much of a robot with (a planned) 2 DOF per leg, but I like the idea of them running and hiding
It is definitely too bad that we’re on opposite sides of the planet. Maybe one day we should organize a LMR gathering where we all get together and build robots to interact with each other. Like, say, to fight a war, medieval style. That’s something I’d like to see
And in other news a man was And in other news a man was held hostage in his house for 10 years by a robot that shot pellets, picked them up and reloaded by itself, recharged itself, and played Barry Manalow’s hit songs. Eventually the man made a bullet proof robot to kill the first robot.