northern-bites/nbites — pull request #618 by joshimhoff (2014-03-03 01:02:36+00:00)
Title: Improvements to the behaviors system

Hierarchical State Machines (@joshimhoff):
- Adds hierarchy to state machines via Python function decorators in util/Transition.py
*** Read the following paper for more information on what I mean by hierarchical state machines http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.461 ***
- Adds decorators to transition between states as a kind of syntactic sugar
- Implements fall controller and game controller as part of the hierarchical player FSA
- Makes chase somewhat hierarchical (that is, there are shared conditions)
- Implements Daniel's box-positioning system hierarchically

Box-Positioning System (@dzeller):
- Implements a positioning system in which robots have a home location and a box in which they respond to the ball based on their role (chaser, defender, cherry picker)
- Improves how they pan when they are returning to home
- Uses a larger box to decide when to return home after chasing to avoid oscillating between approachBall and positionAtHome when the ball is right on the cusp of the box
- Makes box-positioning system the default system we use to position robots

Cleanup:
- Deletes unused files, for example FSA used to test pre-B-Human walk
- Turns off motion kicking for now, until decision making is better thought out and more tuning is done
- Turns off sonars on lab field because the close walls set them off all the time