Difference between revisions of "RoboCup Software"

From RoboJackets Wiki
Jump to navigation Jump to search
(Tasks)
 
(42 intermediate revisions by 4 users not shown)
Line 1: Line 1:
=Overview=
+
= Overview =
 +
 
 
RoboCup Software encompasses all parts of the system that run on a host machine (not the robots). The entire software system is composed both of the components we play soccer and compete with as well as a sort of SDK that allows new components to be written quickly for idea and system testing.
 
RoboCup Software encompasses all parts of the system that run on a host machine (not the robots). The entire software system is composed both of the components we play soccer and compete with as well as a sort of SDK that allows new components to be written quickly for idea and system testing.
  
==Agenda==
+
We currently host our software project on github, so check it out: [https://github.com/RoboJackets/robocup-software https://github.com/RoboJackets/robocup-software].
This is a list of the meeting agendas throughout the semester
+
 
* [[Robocup Meeting: Sunday Sep-9-2012]]
+
= Main Programs =
 +
 
 +
;[[RoboCup Soccer|soccer]] 
 +
:Everything after [[RoboCup_Vision|vision]] and before radio happens here.
 +
;[[RoboCup Simulator|simulator]] 
 +
:Simulates a game environment, including vision and radio
 +
;[[RoboCup_Referee|sslrefbox]] 
 +
:The standard SSL referee box for issuing referee commands to all teams
 +
;radio 
 +
:Radio communication with on-field robots
 +
 
 +
= Logging Utilities =
  
=Tasks=
+
;log_viewer 
This is the main list of project ideas/tasks for robocup 2013
+
:Playback of logged data
; AI engine
+
;simple_logger 
* Improve the State Machine to support:
+
:Records vision and referee data just like soccer does, but with no processing.
** A decision algorithm for choosing plays
+
;convert_tcpdump 
** Offensive - Open - Defensive states
+
:Reads vision and referee packets from a tcpdump file and generates a log file. Use with util/log_vision.
** 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
 
  
==Main Programs==
+
= Development =
; [[RoboCup Soccer | soccer]] : Everything after vision and before radio happens here.
 
; [[RoboCup Simulator | simulator]] : Simulates a game environment, including vision and radio
 
; sslrefbox : The standard SSL referee box for issuing referee commands to all teams
 
; radio : Radio communication with on-field robots
 
  
==Logging Utilities==
+
;[[RoboCup Tips&Tricks]] 
; log_viewer : Playback of logged data
+
:Some pointers on how to begin writing and debugging code.
; simple_logger : Records vision and referee data just like soccer does, but with no processing.
+
;[[RoboCup GIT HOWTO]] 
; convert_tcpdump : Reads vision and referee packets from a tcpdump file and generates a log file.  Use with util/log_vision.
+
:We currently use Git as our code management system, and this will explain how to acquire and update the code base.
 +
;[[RoboCup Simulator Execution]] 
 +
:How to start and configure the simulator and connect to one or two soccer playing modules, as well as the Referee Module
 +
;[[RoboCup Live Robot Execution]] 
 +
:How to start and run the soccer with actual robots, connect to shared vision, and receive commands from the Referee Module
  
=Development=
+
= Conventions =
; [[RoboCup GIT HOWTO]] : We currently use Git as our code management system, and this will explain how to acquire and update the code base.
 
; [[RoboCup Eclipse HOWTO]] : You can use any editor you want, but one useful one is Eclipse.  This HOWTO explains how to get an set up eclipse.
 
; [[RoboCup Compile HOWTO]] : System requirements, dependencies, and using the build tools to compile all of the software.
 
; [[RoboCup Simulator Execution]] : How to start and configure the simulator and connect to one or two soccer playing modules, as well as the Referee Module
 
; [[RoboCup Live Robot Execution]] : How to start and run the soccer with actual robots, connect to shared vision, and receive commands from the Referee Module
 
; [[RoboCup Vision System]] : How to setup the vision system (camera calibration, blob detection, etc.)
 
; [[Robocup Play Development HOWTO]] : How to create a simple play to get started
 
  
=Conventions=
+
There are a variety of conventions used throughout the code, both to represent soccer-playing, and to maintain consistency in code development.
There are a variety of conventions used throughout the code, both to represent soccer-playing, and to maintain consistency in code development.
 
; [[RoboCup Robot Identification]] : The means by which specific robots and field entities can be identified
 
; [[RoboCup Field Structure]] : The coordinate systems and their relationship to the field
 
; [[RC_FieldCamera| Field and Camera Information]] : Specifications on our cameras
 
  
[[Category: RoboCup]] [[Category: 2012]]
+
;[[RoboCup Field Structure]] 
 +
:The coordinate systems and their relationship to the field
 +
;[[RC FieldCamera|Field and Camera Information]] 
 +
:Specifications on our cameras
 +
[[Category:RC Software]]<br/>[[Category:2013-2014]]

Latest revision as of 20:39, 24 May 2020

Overview

RoboCup Software encompasses all parts of the system that run on a host machine (not the robots). The entire software system is composed both of the components we play soccer and compete with as well as a sort of SDK that allows new components to be written quickly for idea and system testing.

We currently host our software project on github, so check it out: https://github.com/RoboJackets/robocup-software.

Main Programs

soccer 
Everything after vision and before radio happens here.
simulator 
Simulates a game environment, including vision and radio
sslrefbox 
The standard SSL referee box for issuing referee commands to all teams
radio 
Radio communication with on-field robots

Logging Utilities

log_viewer 
Playback of logged data
simple_logger 
Records vision and referee data just like soccer does, but with no processing.
convert_tcpdump 
Reads vision and referee packets from a tcpdump file and generates a log file. Use with util/log_vision.

Development

RoboCup Tips&Tricks 
Some pointers on how to begin writing and debugging code.
RoboCup GIT HOWTO 
We currently use Git as our code management system, and this will explain how to acquire and update the code base.
RoboCup Simulator Execution 
How to start and configure the simulator and connect to one or two soccer playing modules, as well as the Referee Module
RoboCup Live Robot Execution 
How to start and run the soccer with actual robots, connect to shared vision, and receive commands from the Referee Module

Conventions

There are a variety of conventions used throughout the code, both to represent soccer-playing, and to maintain consistency in code development.

RoboCup Field Structure 
The coordinate systems and their relationship to the field
Field and Camera Information 
Specifications on our cameras