The Mallard Bane Design Process
Philosophy
Our goal is to create a robot whose world model is sufficiently complex to play
Duck Hunt. Speed is a central consideration, so we wish to design a minimally
complex system, in line with the position advocated by Rodney Brooks. Since the
task is simple and reactiveness and speed are the primary concerns, the linkage
between sensing and acting will be very direct.
Specifications
Mallard Bane should be able to track a moving duck sprite on a television
screen at a distance of up to ten feet (the approximate length of a Nintendo
peripheral's cord). It should be able to independently determine the dimensions
of the television on which it is playing. It must be capable of successfully
firing the Nintendo Zapper to hit a duck, once the duck is found and is being
tracked. We can divide these goals into several smaller goals which suggest a
course of action for the project.
Intermediate Goals
-
Capture and manipulate camera images
-
Control the pan/tilt head programmatically
-
Isolate image components which are moving
-
Differentiate between TV and non-TV image elements
-
Accurately gauge size and position of television
-
Mount and fire the Nintendo zapper
-
Track motion with gun
-
Hit a duck
-
Hit many fast ducks in quick succession
Proposed Architecture
We will take in image data from the camera using a TV card, and acquire a pixel
buffer using the Video for Linux programming interface. This data will be
passed to an image preprocessor, which isolates the image components of
greatest interest (either via color or some edge detection algorithm). A series
of consecutive images are analyzed to determine whether there is currently a
duck target, and if so, where it is. This information is passed to the tracking
unit, which keeps a best estimate of the current gun position, and adjusts the
pan/tilt unit to track the duck with the gun. If the tracking unit's estimation
of gun position is close enough to the image unit's estimation of duck
position, the trigger device will be activated, hopefully slaying the duck.