Eurobot 2004 Drafts (04-01-12)
The task for MART in the year 2004 is to create representants for the
Eurobotopen robotic contest - the Coconut Rugby game.
This year’s rules allow the use of two robots per team.
One called the primary (Marta) and one
called the secondary (Marty).
The aim is to collect as much “coconut balls” as possible and
transport them into the opponent’s goal or in-goal zone.
The balls may be taken from the in-goal zone but not from the goal.
In the beginning of the match there are 14 balls on the playing field
– 2 in fixed position and 6 randomly
placed (on ground) and 3 + 3 installed on the two obstacles
(all 30 - 39 cm above ground).
- height of robots: 40 cm (primary), 20 cm (secondary)
- circumference: 160 cm unfolded (each), 180 cm in starting configuration (sum of both)
- goal low edge: 40 cm (unreachable by any robot’s part)
- ball guidance: no more than 3 (primary) and 1 (secondary) at a time
- starting position: in touch with the in-goal bar (both)
- height: maximizing to minimize circumference
- unfolding: 140 cm+ 40 cm in starting configuration to 140 cm + 100 cm
- ball thwowing: balls collected from obstacles are thrown into the goals
- ball pushing: balls on ground guided into the opponent’s in-goal zone, our in-goal zone kept clean by the secondary robot
- primary robot: in the playing zone in touch with the in-goal bar, in front of the fixed ball, secondary robot: in the in-goal zone in touch with the in-goal bar, climbing onto the boundary when unfolded
MartA is the primary robot. She is operating in the playing zone
of the playing field only. To point out some of its main
- robustness: she should stand some bumps from opponents robots and even from borders,
- speed: cruising speed will be around 0.5 m/s, max speed a bit above,
- simplicity: no hi-tech ball grabbing devices, just simple and efficient devices,
- size: can take up to 140 cm circumference and wont be much less - drivetrain will stand this size and nothing will cross its vertical projection
MartA is differencial driven robot with a U shaped drivetrain.
Two individually powered wheels placed in the axis intersecting the COG.
Additional sliders in the corners - big enough not to get stuck in the
MartA will not pick up any balls from ground, just push
them towards the opponents in-goal zone. The balls from obstacles, if found,
would be collected and then thrown into the
- sensors: encoders connected to wheels (odometry), bumpers and IR rangefinders
- low level: microcontroller (MC) controlling motors (PWM), servos with rangefinders etc.,
- high level: small PC, used for localization and planing,
- power source: pack of AA size rechargable bateries
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 PIC16F876actually),
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).
Both the PC and the MC are programmed in pure (ANSI) C-language.
MartY is the secondary robot. It’s only purpose is to keep the in-goal
zone clean. There are three main aspects (in order of importance):
- efficiency: the speed and accuracy good enough to be able to remove 3 balls in no more than 20 - 30 seconds,
- size: the circumference limit is 40 cm in starting configuration,
- simplicity: as little devices as possible - fast construction, little debugging
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. These are
- unfolding arm (used to push the balls and pull martY onto the border too) with its drive
- wheeled body (only linear motion; able to snap onto the border) with its drive
- sensors (end-of-border buttons; Sharp GP2Dxx for ball detection)
- controller (able to do at least one ADC, 2 PWM and a few I/O - for example PIC 12F675)
- power source (4 NiMH accu)
MartY is controlled by a very simple algorhitm runing on the on-board MC.
It’s programmed in C-language.