Difference between revisions of "Robocup Software Tasks 2013"
(→Logging) |
(→Robot AI) |
||
Line 71: | Line 71: | ||
=Robot AI= | =Robot AI= | ||
− | A rewrite/redesign of these behaviors/positions is recommended. | + | A rewrite/redesign of these behaviors/positions is recommended. Rewriting will make the entire AI system much more transparent and easier to debug. |
− | |||
− | |||
− | |||
==Goalie== | ==Goalie== |
Revision as of 15:42, 14 September 2012
Overview
This page contains the list of software related tasks/projects/bugs for the 2013 year. People can attach themselves to a project or task by adding their name to the "Persons: " list.
Logging
SSL Standardized Logger and Viewer
A standardized SSL Logger would be a stand-alone program that will allow logging of RoboCup matches into a standardized logging format. Likewise, the viewer would provide playback of the logged files. This will allow other teams (and us) to share their logs of past RoboCup matches. At the Mexico 2012 competition, the Brazilian team RoboFEI mentioned that they would work with us on this project.
We currently have a good logging system and viewer, but it is in our own format and contains play/robot statues information and the like.
Priority: ~Low
Persons:
Run soccer from log file
Some subgoals for this project:
- Passing in the logged radio packets, vision frame, back into soccer so that we can step our AI through a log file.
- Starting the simulator from the log frame, allowing our AI to run robots in simulation against the opponents' "ghosts", i.e. the opposing team in the logged game.
Priority:
Persons: Mark
Calculate latency
There are several different sources of latency in the system:
- From cameras -> SSL Vision -> Soccer
- The cameras are not synchronized
- From Soccer -> Robots
- From Robots -> Soccer
- Code execution in Soccer
The idea is to calculate the various latencies in the system and use those to make more accurate decisions based on predicted ball and robot location.
Priority:
Persons: Mark Roberto
Calibrating Soccer to recognize fast kicks
When a robot kicks the ball at 8+m/s, SSL Vision will often lose track of the ball in the first few seconds/milliseconds. The idea here is to fit a curve to ball speed, location, and camera frame in order to generate a predicted ball location. This can help us both execute and defend against passing plays.
Priority:
Persons:
Recognizing chips from curvature of the ball
The ball trajectory noticeably curves when robots are chipping during corner kicks. Corner kicks are a high scoring play, and some teams will chip right into your defense area and blitz the goalie.
Priority:
Persons:
AI Engine
Eric
Scripting Language
Object representation of a State Machine
File system for scripts
GUI script loader interface
Decision Algorithm + Execution Framework
Machine Learning
Brice
People interested in this part, write up the sub projects here.
Robot AI
A rewrite/redesign of these behaviors/positions is recommended. Rewriting will make the entire AI system much more transparent and easier to debug.
Goalie
Scrap the current goalie and redesign a new one. Here are some tips for the redesign process.
Draw out the state machine for the goalie. What are the different nodes of the machine, i.e. what are the different states the goalie can be in.
Next, figure out how to transition between those states. Under what testable conditions should the goalie go from say covering an area to clearing the ball?
Test your state machine. Will it get stuck in any node? What happens when bad input is given to the system, i.e. SSL Vision cannot see the ball?
Priority:
Persons: Eric, Wade, Andrew
Fullback
Scrap the current fullback and redesign a new one, perhaps using the old one as a starting point.
Priority:
Persons: Steven, Brice
Plays
Mighty Might - Steven
ChipGoalKick - Rahim
PenaltyKick - Nick
FreeKick - Gana
Persons: Steven, Rahim, Nick, Gana
Kicking
LineKick - Vikram
PivotKick - Pratik
Persons: Vikram, Pratik
Motion
Ryan, Al,
Three wheel drive
- Modify the onboard motion control to support 3 wheel driving
Priority:
Persons:
IMU Setup
- Read data from the IMU
- Calibrate and recalibrate the IMU when a robot slips or error has accumulated
- Create some functions for querying IMU information
Priority:
Persons: