Robocup Software Tasks 2013
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.
- AI engine
- Improve the State Machine to support:
- A decision algorithm for choosing plays
- Offensive - Open - Defensive states
- Better continuity in role assignments
- Scripting language
- faster implementation == larger play database
- Dynamically learn other teams plays
- predictive defense etc.
- Logging
- A standardized logging format and logger for SSL
- Run soccer on log file
- for debugging and testing our ai against opponents
- Calculate latency
- important for passing!
- Recognizing when opponents chip from curvature of ball motion
- Robot plays/behaviors
- 2-robot passing behavior
- one-touch pass kicking
- Yank ball/spin out when scuffling for ball
- Improve goalie
- must clear ball out of defense area, stop charging robots, not be retarded
- Use fullbacks and goalie as a 3 man team
- v formation, move as a unit. fullbacks can stop charging robots
- ... and any other creative strategy!
- Motion
- Improve on board motion control
- faster accel and max speed
- IMU
- wheel slippage, precise kicking, motion feedback
- Drive, line up, and kick a fast moving ball
- Improve path planning
- Radio
- Fix radio to work with 6 robots
- Qt
- Add above tools to GUI
- Streamline interface, ie for real game situations
- Simulator
- Start stop the simulator from soccer
- Read log file -> navigate to frame -> start simulator
- Improve realism of physics
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
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
IMU precise kicking
Use IMU to kick at correct angle.