Monday, March 12, 2007

Cube Area Missle Defense: Prototype 1

Here Caleb demonstrates the first prototype of the "base unit" + fire control.

I apologize for the crappy video + wonky editing + low res. It was a spur-of-the-moment capture with the family digital (still) camera's movie mode...

It's being controlled via a custom windows form app written in C# and using the most excellent Mindsqualls .net api for NXT.

$1 laser pointer grafted on from a local dollar store.
Missile is a Technic Competition Arrow and launcher. (I bought a bunch from .BrickLink a while back.)

The control at this point is via bluetooth, so it's wireless.

Next steps:
  1. add a webcam control to the windows form app
  2. refactor the physical manifestation (ie the robot) for less gear lash.
  3. abstract out control functions for movement so I can plug in (arbitrarily) programmatic, keyboard, joystick, "forms buttons", or mouse control.
  4. calibration routines to map the camera's field of view to arms range of motion
  5. code to move the "aiming point" to a designated spot.
  6. plug in motion detection
  7. point at the center of mass of a detected movement
  8. experiment with the ultrasonic sensor to see how accurately it'll detect distance...maybe figure out some simple ballistics. (alternately, only fire at an object if it's within a given distance.)
  9. refactor the base with multi-shot capabilities.


Joe said...

Please tell me you will post some build shots and maybe the code? Please? A college friend of mine and I built a bot to "shoot" 3-6 logs/disks for our robotics class, yes it was the final project and yes the ACM ethical code was ignored when we did this one, but oh was it fun!

aaron said...

Sorry Joe...

That particular prototype (and even the newer one) was disassembled a while back for newer bits.

And I'd post the code but...well...let's just say the mindsqualls sample code is pretty much copy/pasted. (so my code wouldn't help you much)

The turning/aiming/firing code is all going to be very particular to your physical implementation. (which motors move how much, etc)

Ok, and truth be told I'm not willing to show the world just how much code I put in the button click events... =^))

Joe said...

Thank you so vary much for your reply! Love your blog by the way.

azamsharp said...


I am also using MindSqualls. Have you ever successfully got the UltraSonic sensor to work with MindSqualls?