DiveToBall
Description
Dives when the ball is close enough on the x-axis, diving in the direction of the ball. Intended for use by a goalie to stop the ball.
Usage
Add this module to the role to dive when the ball is close enough.
Consumes
message::strategy::DiveToBalla Task requesting to dive to the ball when it is close enoughmessage::localisaton::Ballwith the position of the ball
Emits
message::skill::Divea Task requesting to dive in a specified direction
Dependencies
- Director
- Needs the ball location to know when to dive
FallRecovery
Description
A strategy module that handles relaxing when falling and getting up when we hit the ground and have settled. Ensures that getting up has higher priority than falling planner so it doesn't try to relax while getting up.
It is recommended that this task be given higher priority than any other running provider in the system so nothing can interrupt it.
Usage
Emit a message::strategy::FallRecovery Task in order to activate this module's provider
Consumes
message::strategy::FallRecoveryto activate the provider
Emits
message::planning::GetUpWhenFallingto activate the get up plannermessage::planning::RelaxWhenFallingto activate a relax planner
Dependencies
- Director
FindObject
Description
Provider reactions to find objects. Currently includes a FindBall Provider to find an ball when its location is unknown.
Usage
Include this module and request a FindBall Task when needing to find the ball.
Consumes
message::strategy::FindBalla Task requesting to find the ball
Emits
message::planning::TurnOnSpotto turn around if the ball is not in viewmessage::planning::LookAroundto move the head around to find the ball
Dependencies
- Director
StandStill
Description
Makes the robot stand still and not move. It emits a zero walk command until Stability is STANDING and then emits the Stand script.
Usage
Add this module and emit a message::strategy::StandStill Task to make the robot stand still.
Consumes
message::strategy::StandStilla Task requesting the robot stands stillmessage::behaviour::state::Stabilityindicating the stability state of the robot, to check if it is standing
Emits
message::skill::Walkto make the walk engine stop cleanlymessage::actuation::LimbsSequencewith a Stand script loaded to make the robot stand still
Dependencies
- Director
- The script utility
- The walk engine
StartSafely
Description
Use this module to make the robot move safely to a stand position.
Usage
Emit the Task on Startup at the root of the Director tree.
Consumes
message::strategy::StartSafelyTask to request the robot to start safely.message::input::Sensorsto determine the position of the motors.
Emits
message::actuation::Bodyto move the whole body to the stand position.
Dependencies
- Director
StrategiseLook
Description
LookAtBall fixates on a ball if a recent one exists. LookAtGoals fixates on a goal if a recent goal exists.
Usage
Add this module to your role to make the robot look at balls or goals when requested.
Consumes
message::planning::LookAtBalla Task requesting to look at the ball if there is a recent ballmessage::planning::LookAtGoalsa Task requesting to look at a goal if there is a recent goalmessage::localisation::Ballwith the position of the ball for fixationmessage::vision::Goalswith the position of the goals for fixationmessage::input::Sensorsfor the world matrix to convert the goals measurement into the correct space
Emits
message::skill::Looka Task requesting to look in a direction (to the balls or goals)
Dependencies
- Director
- The coordinates utility
WalkToBall
Description
Four types of walking to the ball exist in this module.
WalkToBall is a very simple Provider directly walking to the ball without considering the goal position.
WalkToKickBall walks the ball with the robot positioned such that it will move the ball towards the goals. It will move behind the ball first if the robot is positioned between the ball and goals.
TackleBall will walk to the ball perpendicularly to the opponent robot closest to the ball, tackling it off them.
PositionBehindBall will walk behind the ball, facing the goals, and stop behind the ball without touching it. This is for penalty positioning where the ball should not be touched yet.
Usage
Add this module and emit the Task for the desired type of walk to ball.
Consumes
message::strategy::WalkToBallTask requesting to walk to the ball directlymessage::strategy::WalkToKickBallTask requesting to walk to the ball with the goals alignedmessage::strategy::TackleBallTask requesting to tackle the ball off an opponentmessage::strategy::PositionBehindBallTask requesting to position behind the ball without touching the ball, in line with the goalsmessage::localisation::Ballinformation on where the ball ismessage::support::FieldDescriptionto know where the goals aremessage::input::Sensorsfor transforming into robot spacemessage::localisation::Fieldfor calculations in field spacemessage::localisation::Robotsused by TackleBall to find the opponent robot to tackle off
Emits
message::planning::WalkToTask requesting to walk to the ball directlymessage::strategy::WalkToFieldPositionused by all exceptWalkToBallto position at the ball appropriately
Dependencies
- Director
utility::math::euler::pos_rpy_to_transformfor creating the transform forWalkToFieldPosition
WalkToFieldPosition
Description
Walks to the field position using localisation information.
Usage
Add this module to walk to a position on the field.
Consumes
message::strategy::WalkToFieldPositionTask requesting to walk to position on field
Emits
message::planning::WalkToTask requesting to walk to a point
Dependencies
- Director