Bug Toy
Update 2011.04.21
Thanks for all the feedback on the PID questions I had. I have some basic P-control system in place, in addition I found a really nasty bug (heh) in deriving the change of heading needed to face a target. It does "ok" now in turning towards a target. Or it did until a mini-pc relay gave out on one of the H-bridges. It now will not go forward on one of the track - reverse still works - yarg !
I refactored a huge amount of code, and in the process made it more extensible. Creating color data entries were a pain previously, now they are one liners like this.
findThingy ("yellow blocks", 26, 37, 160, 256, 220, 256, 120, 1600); |
Below is the outcome of goofing around for a couple minutes. The next step would be a gray area, where I could place an object. The computer would have the area masked, then noticing it had change, ask me what it is. Speech recognition would associate the two and it would become part of its memory. I've seen this done with a kinect on youtube. If I get it done, it will be the first time I've seen it done with a cheapo webcam. The data is "pretty" stable, but not exactly rock solid.
Here's the Bug Toy! Cute isn't he ? I think he is, but I'm his mom.
Bug Toy, is nearly the dumbest robot on this site. That is not to say, he doesn't have a brain. He's does! But, its a little itty bitty brain. It's an Arduino clone (Bare Bones Board). What makes him dumb is the fact that he has no sensors. He's dumb, deaf, and blind. Which is a pretty rough way to go through life. UNLESS ! You have a demi-god silently speaking to you over the airwaves ! Which is why Bug Toy has a little antenna on his bottom. So he can obey the messages he receives from the "Other".
Am I the demi-god "Other"? No, no, no. But, my home computer is, plus all the computers and vast resources and information on the internet ! Bwah ha ha !
I think I will call the "Other", Audrey, because its a little more friendly and less intimidating than something like SkyNet. Don't you think?
Bug Toy is a little test platform to examine the capabilities of MyRobotLab (MRL). MRL is a Java distributed machine control framework. The objective of the Bug Toy will be to demonstrate the enhanced capabilities of inexpensive micro-controllers to do intelligent (cool) tasks. This will be possible because resources of the computer and internet will become available to the micro-controller. Hopefully, I'll have video and other updates soon. Most of the initial technical problems have been worked out, with the exception of a good claw design. Today, I just cracked the poor little buggers servo claw.
Mood Lighting Shot
Working on targeting
2011.04.12 UPDATE
Made some progress with the little bugger. Some set backs came up too. The axle fell out and I tear all the innards out, in order to tighten to set screws on the Tamiya gearbox (DOH). Another continuing issue is the little press-fit hubs on the axles fall out all the time. Bug Toy may need to get slimmer? And of course the gripper is not gripping after stripping the gears.
Wrote a lot more software.
Bug Toy does its first turn ! Oh, and finds targets, and chooses a target, yatta yatta....
Uploaded video of current software. Still needs work (heh)..
I had a conversation with birdmun regarding all the complexities of turning. There is hysteresis, inertia, friction, power and speed levels and all kinds of equations related to turning. I'm trying to get some handle on it so I can create a Chassis service which with a little input and some "calibration" routines it can produce accurate movements regardless of the robots form factor. Back to the drawing board :D
Here are some pictures from building it, although its (by design) supposed to be simple and inexpensive to construct. In retrospect I probably should have used a motor shield for simplicity, although they always seem more expensive than necessary.
Basically its nothing more than a couple servos, an Arduino, and RF module, motor controller, 2 motors and a gearbox. The motor controller was the only thing not pre-fabricated (possible mistake).
voice control, internet applet control, Java app control, joystick
- Operating system: myrobotlab
- Programming language: Java