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
- Use Move Skills to move your robots to the triangle initially
- Use the CoordinatedPass Tactic to pass between, setting receive points as sides of the triangle
- 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).