Difference between revisions of "Robocup Software Tasks 2013"

From RoboJackets Wiki
Jump to navigation Jump to search
(Recognizing chips from curvature of the ball)
 
(31 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
=Overview=
 
=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.
 
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=
 
=Logging=
Line 20: Line 62:
 
Priority:  
 
Priority:  
  
Persons:  
+
Persons: Mark
  
 
==Calculate latency==
 
==Calculate latency==
Line 34: Line 76:
 
Priority:  
 
Priority:  
  
Persons:  
+
Persons: Mark Roberto
 
 
==Latency panel in GUI==
 
 
 
Priority:
 
 
 
Persons:
 
  
 
==Calibrating Soccer to recognize fast kicks==
 
==Calibrating Soccer to recognize fast kicks==
Line 50: Line 86:
  
 
==Recognizing chips from curvature of the ball==
 
==Recognizing chips from curvature of the ball==
The ball trajectory noticeably curves when robots are chipping during corner kicks.
+
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:
 
Priority:
  
 
Persons:
 
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.
 +
 +
[[Category: RC Software]]
 +
 +
[[Category:2012-2013]]

Latest revision as of 20:39, 24 May 2020

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.