GT RoboCup SSL
Soccer software, robot firmware
Skills, Tactics, Plays - Overview

Communications Recap

Questions about Plays?

  • We're going to slow down a bit after last meeting
    • We're going to catch up everyone who's behind, and give you a chance to work on something real if you're ahead!
    • Plays are not the only area in RoboCup
    • They are a very high impact thing to cover though.
  • Topics Covered:
    • Subbehaviors
    • Role Requirements
    • Creating Plays

Additional Information

  • See the previous slide deck and docs for more information, they should be a pretty comprehensive overview of our play system.

Solution to Binary Clock

Solution Links

Misc Plays Information

Do we have any Subbehaviors?

# Returns True if we have any subbehaivors
self.has_subbehaviors()

Get all Subbehaviors

# Returns an array of all subbehaviors
self.all_subbehaviors()

Is a Subbehaivor Done?

  • Done = our completed or failed states
self.subbehavior_with_name('mybehavior').is_done_running()

Docs

CoordinatedPass Overview

  • Coordinated Pass is a complicated tactic with a lot of different features
  • It is used everywhere, and it isn't terribly complicated

Coordinated Pass Behavior Diagram

Let's Look at Code!

Overview

  • We went through everything in coordinated pass, which is located here.
  • Using what we learnt in previous sections, this should be fairly self explanitory.
  • For a high level overview, check out the coordinated pass docs page.

Wrapping Up

Play Ideas?

  • Offense, Defense, Etc.
  • Great Place for Beginners to Start
  • (side note: Anyone can begin contributing now if you wish)
    • We <3 contributions!
    • Recommend starting with intro issues, then moving on to beginner.

Future Meeting Possibilities

  • Joint Meeting with Electrical, Intro To Firmware
  • RRT Path Planning in RoboCup (Maybe a bit of Motion Control)
  • Soccer C++ Internals
  • QT Tutorial (develop soccer's UI!)
  • Contribution Quickstart Meeting
    • Submitting a PR
    • Some Git
    • Build Systems/CI?
  • What do you guys want to learn?

Assignment

  • Create a Triangle Pass Play
  • Round up 3 Robots in a Triangle, and pass between them.
  • Starter code is in soccer/gameplay/plays/skel/binary_clock.py (same as last time).
  • Move it to soccer/gameplay/plays/training/triangle_pass.py to begin.

Tips

  1. Use Move Skills to move your robots to the triangle initially
  2. Use the CoordinatedPass Tactic to pass between, setting receive points as sides of the triangle
  3. At a bare minimum, I would make setup and passing states. You may want to have a state for every side of the triangle (or not).