P&S

RoboCup is a tournament where teams of autonomous robots compete in soccer matches against each other. The ETH team NomadZ plays in the standard platform league with the humanoid NAO robot, where the focus lies on developing robust and efficient algorithms for vision, control and behavior. In this course, the basic challenges we encounter in RoboCup are presented and approached in practical exercises using MATLAB and Python. The topics cover visual localization, deep learning for object detection and reinforcement learning for control.

The course is offered to students of the 5th semester.

Please check the course catalogue for more information.

The seminar

Assistants: Siyuan Li, ETH Computer Vision Lab
Contact: ;
Room: ETZ D82.1
Presence Hours: 08:15-10:00
Start: tba
Date of tournament: tba
Presence Dates: tba
Course Type: C++ coding practice (suitable for first-time coders), image processing: recognition of gamble cards
Course Language: English
Platform: Linux (no preliminary knowledge of Linux required)
Code Template: Downloaddownload (BZ2, 343 KB)
Dataset: Downloaddownload

The tournament

Groups: 1-2 students per group
Aim: TO WIN !
What to win: Orelli Fuessli or bQm coupons
Who wins (per turn): The group whose program beats the human dealer (the TA) by better approaching the score of 21 from below
Card values: Cards 2-10: their nominal values, Face cards: 10, Ace: 1 or 11
Processing time limit: 3 seconds per card
Token coupon exchange rate: Calculated at the end of the contest
Coupons will be given to the players based on their remaining tokens
Total game time: 90 minutes

Details

The groups are essentially operators of the card processing system, which is based on a digital camera, a computer for grabbing the images and (equally powerful) remote stations for the groups to run their processing and decisioning codes on. The dealer (your teaching assistant) handles the camera and the stack of cards.

The (program of) each group plays against the human dealer (your assistant). After a round, each group has played with the dealer once, and the round is repeated until the total game time ellapses.

First, each group announces its bet up to the number of chips still available to them.

The program of each group waits for a key press which should be issued after that the dealer presented a new card from the stack to the camera.

Then the program scans the new card, determines the value of the card by processing the image, and decides either to request a new card from the dealer or to end the current turn.

In each step (key press) outputs of the program should be the value of the recognized card, the cumulated score achieved in the current turn, and the result of the binary decision. It is helpful if the program also outputs some processing results in the form of an image file to analyse mistakes.

If team k exceeds score 21, the bet is lost. If team k reaches exactly 21, the team gets back 3x the bet.

If team k is below 21, the result depends on the dealer's independent play. If the dealer exceeds 21, or has less than team k, the team gets 2x its bet. If dealer and team achieve equal scores, the team gets back the bet. If dealer does not exceed 21 and has more than the team, the team loses the bet. However, in this case, the team gets C consolidation points, if all cards are recognized correctly.

Parameters to define: initial credits per team, minimum bet per turn, consolidation score per lost turn.

Failure cases: At segmentation fault, the group loses the bet. If the program recognizes the card incorrectly, and hence, keeps track of a wrong score, the true score counts.

Rewards will be distributed to team k proportionally to Nk/sum(Nk), where Nk is the number of chips the team still posesses when the total game time expired.
 

JavaScript has been disabled in your browser