Eurobot 2004 - Pilot Project (04-01-30)
There are two robots on the playing field. The primary (MartA) and the
secondary (MartY) one. MartA is operating in the playing zone
only while MartY’s motion is restricted to the in-goal zone.
MartA is pushing the balls on the ground into the opponent’s
in-goal zone using its flat back side. If an obstacle with
balls is detected, the 3 balls are collected onto a
“plate” and thrown into the opponent’s goal from a
minimum distance (in touch with the opponent’s goal bar).
The match starts in a fixed configuration:
- MartA in the playing zone, just in front of the fixed ball, front side to the goal-bar,
- MartY just behind MartA in the in-goal zone.
MartA goes to push the fixed ball
into the opponent’s in-goal zone first (following the border to avoid
obstacles) searching for obstacles on the interior side.
Then she goes to collect the balls from the obstacles
(assuming the location is symetric, thus known for both
MartY is designed to use the playing field border (behind
the in-goal zone) for motion. When a ball is detected in the in-goal zone the
unfolding mechanism is used to push the ball out.
- collecting balls from the ground (now dismissed),
- throwing the balls from a bigger distance (ditto),
- pushing the balls using compressed air (ditto).
MartA is differentially controlled using two (12V) already
geared engines (1:50 - 120rpm). Estimated maximum speed 0.5ms-1.
MartY uses only one (5V) engine to drive on the top of
the border. Estimated speed 0.3ms-1.
NiMH accu packs, about 1200 mAh. The battery pack is
- estimated life time: about 5 minutes,
- estimated recharge time: 1 hour.
- ball detection: using an IR rangefinder (to locate) and an optical bar (to ensure) on the back (pushing) side,
- obstacle detection: using the same IR rangefinder,
- ball collecting: from obstacles - using a fixed U-shaped arm to tear down the balls onto a “plate” when driving all the way round the obstacle,
- ball shooting: using a spring connected to the “plate”, shooting from a minimum distance (in touch with the goal-bar)
MartA is counting odometry and detecting borders using
the rangefinders. Raw direction is guarded by the Beacon. The
opponent’s goal is assumed where the in-goal bar on the
opponent side is missing (ends). MartA is
thus following walls a lot. The odometry is reset in corners.
MartY does no localization at all. He just assumes being on top of the
border all the time.
- embedded beacon: infrared (fixed-clock modulated) range detector. When the opponent gets into a specified range (20 - 50 cm), it is detected (a binary information),
- static beacon (aka the Beacon): a true infrared beacon, marking the opponent side of the playing zone.
MartA is is controlled using a two-level architecture. All
input and output devices (such as “smart sensors” and engines) are connected
both to a PC and an MC. Real-time operations (such as PWM) are
supposed to be done by the MC (a Microchip PIC16F876 actually),
high-level operations (such as localization and planning) are performed by
the PC (a Pentium-based computer with several I/O ports on an extension card;
running under a non-realtime environment such as MS-DOS).
It is thus possible to control MartA using only one of the MC / PC although it
is just an emergency scenario. In the default case, both controllers are doing
their appropriate job, while the MC is commanded from the PC using a simple
binary protocol over a serial bus.
Both the PC and the MC are programmed in C-language.
- January 2004 - finishing the layout,
- February 2004 - functional HW (reliable ball pushing and collecting),
- March 2004 - incremental programming (fixed path strategy for qualification first),
- 23rd-24th April 2004 - Czech National Cup qualification rounds,
- 21st-23rd May 2004 - La Ferté-Bernard Finals.
- Honza - MartY’s HW, MC programming
- (MartY’s body, arm and wheels, gearing; power and controller devices)
- Pavel - MartA’s functional architecture
- (balls collecting and throwing device - implementation and testing)
- Ondra - MartA’s HW basics, PC maintainememnt
- (MartA’s chassis and gearing, preparing the PC for running the controller executable)
- Tomas - “smart” sensorics
- (Sharp filtering, odometry, button debouncing, voltage regulators, beacons)
- David - team leader, general support
The following needs to be procured and/or implemented:
- chassis with bumpers and a plough on the rear side (O)
- engines and gearing (?!?)
- wheels (O)
- PC (board, cpu, ram, hdd?) (O)
- MC programming (H)
- accu (12V) (?)
- voltage regulator (5V for PC and MC) (P)
- power exciters (H-bridges for engines) (?)
- ball collecting device (from obstacles) (P)
- ball throwing device (into the goal) (P)
- beacon support (P)
- enemy beacon detector (assuming the IR-range-detector) (D)
- sensorics (Sharp as a “virtual bumper”, ball and obstacle detector, bumpers, beacon) (T)
- chassis (H)
- engines and gearing (H)
- unfolding arm (H)
- accu, voltage regulator (?)
- H-bridges (?)
- MC (H)
- sensorics (Sharp, two bumpers) (T)
- MC programming (H)
- PC installation and maintainment (O)
- PC-MC communication protocol (?)
- PC “hardware filter” (?) (higer-level access to the binary input/output data)
- PC “strategy server” (?) (fixed-path strategy x obstacle, ball and goal finding, collision avoidance)
The team is equipped from individual resources with significant support
from the parental ogranization (Charles University in Prague).