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
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.
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::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 WalkToBall to dribble around obstacles
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