1
WITS RoboCup
1.1
Team
2
RoboCup
3
3D Soccer Simulation
4
Getting Started Workshop
4.1
Installation
4.2
Running
4.3
Coding
4.4
Walking
4.5
Kicking
4.6
Gamemodes
4.7
Useable Datastructures
4.7.1
VecPosition
4.7.2
worldModel
4.7.3
Field
4.7.4
TeamDistToBall and OppDistToBall
4.8
Assigning Unique Tasks
4.9
Formation
4.10
Basic Decision Tree
4.11
Implementing Your own Functions
4.12
Visualising Behaviours
5
Getting Started Installation
5.1
Installation(Source)
5.1.1
SIMSPARK INSTALLATION AND SETUP
5.1.2
ROBOVIZ VISUALIZER INSTALL AND USE
5.1.3
TO RUN THE TEAMS
5.1.4
TO USE IT ALL
5.2
Installation(Home)
5.2.1
Ubuntu 18.04
5.2.2
Ubuntu 20.04
5.2.3
Windows 10 with WSL
5.2.4
Common Issues
5.3
Installation(Labs)
5.4
Installation(Fat Proxy)
5.4.1
Testing Installation
5.5
My First Game
5.5.1
Running the Server
5.5.2
Running the Visualiser
5.5.3
Running a team (Agent)
6
Getting-Started-Optimisation
6.1
Installation Steps
6.2
Download the code
6.3
Running The Default Optimisation
6.4
Codebase Explanation
6.4.1
Important Files and Folders
6.4.2
Workflow
6.5
Example Optimisers
6.5.1
DoNothing.py
6.5.2
RandomSearch.py
6.5.3
SA.py
6.5.4
Bonus - Genetic Algorithm (GA)
6.6
Creating Your Own Optimisers
6.7
Example Optimisation Task
6.8
Creating Your Own Optimisation Task
7
RoboCup Components
7.1
SimSpark
7.2
RoboViz
7.3
Agents
7.3.1
UTAustinVilla CodeBase
7.3.2
Nima Shafii Walking Agent
7.3.3
MagmaOffenburg
7.3.4
BoldHearts
8
UTAustinVilla-Code-Breakdown
8.1
High-Level Overview
8.1.1
General Process Flow
8.1.2
World Model
8.1.3
Drawings in Roboviz
8.1.4
Skills
8.1.5
Parameter Files
8.1.6
Walk Engine
8.1.7
Kicking
8.1.8
Communication
8.1.9
Strategy
8.1.10
Penalty Kick Behaviors
8.1.11
Optimization
8.1.12
Collecting Game Statistics/Data
8.1.13
More Documentation
9
Class Breakdown
9.1
Main
9.2
Behavior
9.3
NaoBehavior
9.4
SkillType
9.5
BodyModel
9.6
VecPosition
9.7
WorldModel
9.8
WorldObject
9.9
RVSender
9.10
Field
9.11
Headers
10
Nao Robot Platform
10.1
Perceptors
10.1.1
General Perceptors
10.1.2
Soccer Perceptors
10.2
Effectors
10.2.1
General Effectors
10.2.2
Soccer Effectors
11
Rules and Fouls
11.1
Kick Off, Free Kick, Kick Ins
11.2
Offside
11.3
Charging and Touching
11.4
Play Modes
12
Getting Started Coding
12.1
GOTO
12.2
DRIBBLE
12.3
KICK
12.4
Assigning Different Tasks (UNUM)
12.5
Initial Agent Placement (BEAM)
13
Long Form Tutorials
13.1
Introduction Workshop
13.2
Tutorial 1
13.3
Tutorial 2
13.4
UT AustinVilla Codebase Tutorial
13.5
Andries’s Optimisation Demonstration
14
Function Breakdown
14.1
gotoFieldPosTheirKickOff
14.2
SmartGoToTarget
14.3
DistanceToBallArrayTeammates
14.4
GenerateTeamToTargetDistanceVector
14.5
DistanceToBallArrayOpponents
14.6
GenerateOppToTargetDistanceVector
14.7
isClosestPlayertoBall
14.8
isPossesion
14.9
isClosestTeam
14.10
isSafeToKick
14.11
isShootingRange
14.12
getClosestTeammatePos
14.13
ValidateFieldPos
14.14
isFarToBall
14.15
atDestination
14.16
FaceBall
14.17
FaceTarget
14.18
DangerClose
14.19
isInNeighbourhood
14.20
isBetweenTargetAndBall
14.21
stableMarriage
14.22
GeneratePreferenceArrayForTeam
14.23
GeneratePreferenceArrayForAnAgent
14.24
sortArr
14.25
wPrefersM1OverM
14.26
isThereObstructionBetweenTargetAndBall
14.27
DetermineValidPassRecipient
14.28
DetermineShootAtGoalPosition
15
Exporting
16
Past Internal Competitions
16.1
2V2 Individual Competition
16.2
2V2 Pair Competition
16.3
7-aside Competition April 2021
16.4
Fat-Proxy Challenge October 2022
16.5
Fat-Proxy Challenge May 2023
17
Past External Competitions
17.1
RoboCup 2023
17.2
RoboCup 2022
17.3
RoboCup 2021
18
Past Teams
18.0.1
Assembly AI
18.0.2
Public School Heroes
18.0.3
7 Public School Lads
18.0.4
WITS-FC 2021
RoboCup
11
Rules and Fouls
This Chapter has list of the rules that we have figured and observed so far.