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 obstacles).

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).

Technical Details


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.

Energy Sources

NiMH accu packs, about 1200 mAh. The battery pack is replacable.

  • estimated life time: about 5 minutes,
  • estimated recharge time: 1 hour.

Ball Manipulation

  • 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.

General Tasks

  • 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:

  • MartA
    • 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)
  • MartY
    • chassis (H)
    • engines and gearing (H)
    • unfolding arm (H)
    • accu, voltage regulator (?)
    • H-bridges (?)
    • MC (H)
    • sensorics (Sharp, two bumpers) (T)
  • Software
    • 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)

Equipment, Support

The team is equipped from individual resources with significant support from the parental ogranization (Charles University in Prague).

  mart/2004/pilot_project.txt · Last modified: 2005/09/23 11:45
Recent changes RSS feed Driven by DokuWiki