NimbRo ROS Soccer Package
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
walk_and_kick Namespace Reference

This namespace defines everything that is required for the walk and kick behaviour node. More...

Classes

class  BehDiveForBall
 A walk and kick behaviour state that dives for the ball. More...
 
class  BehDribbleBall
 A walk and kick behaviour state that dribbles the ball towards a target. More...
 
class  BehGoBehindBall
 A walk and kick behaviour state that lines up the robot with the ball and a target. More...
 
class  BehKickBall
 A walk and kick behaviour state that kicks the ball towards a target. More...
 
class  BehPanicAttack
 A walk and kick behaviour state that induces a panic attack and stops the robot still. More...
 
class  BehSearchForBall
 A walk and kick behaviour state that searches for the ball. More...
 
class  BehStopped
 A walk and kick behaviour state that simply tells the robot to stop in place. More...
 
class  BehUnknownState
 A walk and kick behaviour state that stands in for an unknown state or ID. More...
 
class  GazeBehLookAround
 A walk and kick gaze behaviour state that looks around. More...
 
class  GazeBehLookAtBall
 A walk and kick gaze behaviour state that looks at the ball (and does not move the head from the last commanded pose if the ball is not seen). More...
 
class  GazeBehLookDown
 A walk and kick gaze behaviour state that looks down. More...
 
class  GazeBehLookForBall
 A walk and kick gaze behaviour state that looks for the ball. More...
 
class  GazeBehLookLeftRight
 A walk and kick gaze behaviour state that looks left and right. More...
 
class  WalkBehWalkToPose
 A walk and kick walk behaviour state that makes the robot walk to a desired target pose on the field. More...
 
class  GameDefaultBallHandling
 A walk and kick game state that implements default ball handling for playing soccer. More...
 
class  GameDefaultGoalie
 A walk and kick game state that implements default goalie behaviours for playing soccer. More...
 
class  GameGazeForBall
 A walk and kick game state that makes the robot look for the ball by gaze only. More...
 
class  GamePanicAttack
 A walk and kick game state that induces a panic attack. More...
 
class  GamePenaltyBallHandling
 A walk and kick game state that implements ball handling for taking a penalty kick. More...
 
class  GamePenaltyGoalie
 A walk and kick game state that implements goalie behaviours for defending a penalty kick. More...
 
class  GamePositioning
 A walk and kick game state that forces the robot to the positioning behaviour state. More...
 
class  GameStopped
 A walk and kick game state that forces the robot to the stopped behaviour state. More...
 
class  GameUnknownState
 A walk and kick game state that stands in for an unknown state or ID. More...
 
class  GameWaitForBallInPlay
 A walk and kick game state that waits for the ball to be in play. More...
 
class  ActuatorVars
 An interface class for encapsulating all of the data that the walk and kick behaviour states should command. More...
 
class  WAKBehManager
 A class that manages and executes the walk and kick behaviour states. More...
 
class  WAKBehShared
 A class that shares the required walk and kick variables amongst the behaviour state classes. More...
 
class  WAKBehState
 The base class for all walk and kick behaviour states. More...
 
class  WAKBehStateCombined
 A walk and kick behaviour state that combines two others (which are assumed to operate independently). More...
 
class  WAKConfig
 Configuration struct for the walk and kick node. More...
 
class  WAKGameManager
 A class that manages and executes the walk and kick game states. More...
 
class  WAKGameShared
 A class that shares the required walk and kick variables amongst the game state classes. More...
 
class  DynamicTargetPose
 Simple class that encapsulates the variables needed to easily dynamically calculate a target pose. More...
 
class  WAKGameState
 The base class for all walk and kick game states. More...
 
class  GameVars
 An interface class for encapsulating all of the data that the walk and kick game states should command. More...
 
class  GCRosInterface
 An interface class to the ROS world for getting game controller messages. More...
 
class  GCVars
 A class that encapsulates all of the game controller input data to the walk and kick node. More...
 
class  WAKRosInterface
 An interface class between the walk and kick and ROS worlds. More...
 
class  SensorVars
 An interface class for encapsulating all of the ROS input data to the walk and kick node. More...
 
class  TCRosInterface
 An interface class to the ROS world for team communications. More...
 
class  TCRobotListener
 A class that listens to the team communications data of one particular robot. More...
 
class  TCVars
 A class that encapsulates all of the team communication input data to the walk and kick node. More...
 
class  TCRobotVars
 A class that encapsulates all of the team communications data received from one particular robot. More...
 
class  WAKUtils
 A collection of independent helper functions that should be available to all. More...
 
class  Counter
 A simple counter class for counting events. More...
 
class  TheWorm
 A class that implements the worm, for making a live decision between two opposites. More...
 
class  LiveTrapVelSpline
 A wrapper class for the trapezoidal velocity spline class rc_utils::TrapVelSpline with a focus on smoothly supporting live updates of the spline. More...
 
class  TrapVelSpline2D
 A trapezoidal velocity spline that operates in 2D, based on the rc_utils::TrapVelSpline class. More...
 
class  FieldDimensions
 A simple class for abstracting away the source of the field dimensions. More...
 
class  WAKMarkerMan
 Visualisation marker manager for the walk and kick node. More...
 
class  WAKBagMarkerMan
 Visualisation marker manager for visualisations that are intended for when playing behaviour bags. More...
 
class  WalkAndKick
 The main walk and kick behaviour class. More...
 

Typedefs

typedef WAKBehStateCombined
< WalkBehWalkToPose,
GazeBehLookAround
BehWalkToPoseLookAround
 
typedef WAKBehStateCombined
< WalkBehWalkToPose,
GazeBehLookAtBall
BehWalkToPoseLookAtBall
 
typedef WAKBehStateCombined
< WalkBehWalkToPose,
GazeBehLookForBall
BehWalkToPoseLookForBall
 
typedef WAKBehStateCombined
< WalkBehWalkToPose,
GazeBehLookLeftRight
BehWalkToPoseLookLeftRight
 
typedef Eigen::Vector2f Vec2f
 
typedef Eigen::Vector3f Vec3f
 
typedef std::vector< Vec2f,
Eigen::aligned_allocator
< Vec2f > > 
Vec2fArray
 
typedef std::vector< Vec3f,
Eigen::aligned_allocator
< Vec3f > > 
Vec3fArray
 
typedef long long int cycle_t
 
typedef std::vector< GoalPost > GoalPostList
 
typedef std::vector< Obstacle > ObstacleList
 
typedef boost::shared_ptr
< const TCRobotListener
TCRobotListenerConstPtr
 
typedef std::vector
< TCRobotListenerConstPtr > 
TCRobotListenerList
 
typedef boost::shared_ptr
< const TCRobotVars
TCRobotVarsConstPtr
 
typedef std::map< unsigned int,
TCRobotVarsConstPtr > 
TCRobotDataMap
 

Enumerations

enum  BAType {
  BA_UNKNOWN = 0, BA_KICK, BA_DRIBBLE, BA_COUNT,
  BA_DEFAULT = BA_KICK
}
 
enum  KickoffType {
  KT_UNKNOWN = 0, KT_DEFENDING, KT_ATTACKING, KT_DROPBALL,
  KT_MANUAL, KT_COUNT, KT_DEFAULT = KT_MANUAL
}
 
enum  ButtonState {
  BTN_UNKNOWN = 0, BTN_STOP, BTN_PLAY, BTN_GOALIE,
  BTN_POS, BTN_COUNT
}
 
enum  GameCommand {
  CMD_UNKNOWN = 0, CMD_STOP, CMD_POS, CMD_PLAY,
  CMD_COUNT
}
 
enum  GameRole {
  ROLE_UNKNOWN = 0, ROLE_FIELDPLAYER, ROLE_GOALIE, ROLE_COUNT,
  ROLE_DEFAULT = ROLE_FIELDPLAYER
}
 
enum  PlayState {
  PS_UNKNOWN = 0, PS_STOP, PS_TIMEOUT, PS_READY,
  PS_SET, PS_BEGIN_PLAY, PS_PLAY, PS_COUNT
}
 
enum  DiveDirection {
  DD_NONE = 0, DD_LEFT, DD_RIGHT, DD_SIT,
  DD_COUNT
}
 
enum  WAKPMIDS {
  PM_WAK_TRUEDT = 0, PM_WAK_CYCLE, PM_RI_COMMSOK, PM_RI_PUBGAZEPITCH,
  PM_RI_PUBGAZEYAW, PM_RI_PUBGCVX, PM_RI_PUBGCVY, PM_RI_PUBGCVZ,
  PM_RI_PUBWALK, PM_RI_PUBKICKLEFT, PM_RI_PUBKICKRIGHT, PM_GC_SEQID,
  PM_GC_TIMESINCEPACKETBASE, PM_GC_TIMESINCEPACKETEXTRA, PM_GC_EXTRAOUTOFDATE, PM_GC_GAMEPHASE,
  PM_GC_GAMESTATE, PM_GC_TIMEPLAYING, PM_GC_KICKOFFTYPE, PM_GC_TIMEREMAINING_RAW,
  PM_GC_TIMEREMAINING_SMOOTH, PM_GC_SECONDARYTIME_RAW, PM_GC_SECONDARYTIME_SMOOTH, PM_GC_TIMETOBALLINPLAY_RAW,
  PM_GC_TIMETOBALLINPLAY_SMOOTH, PM_GC_OWNPENALTYSTATE, PM_GC_OWNPENALTYTIME_RAW, PM_GC_OWNPENALTYTIME_SMOOTH,
  PM_GC_OWNSCORE, PM_GC_OPPSCORE, PM_GC_OWNNUMPLAYING, PM_GC_OPPNUMPLAYING,
  PM_TC_NUMFRESH, PM_TC_NUMFRESHVALID, PM_TC_TIMESINCEDATA, PM_SV_ISPENALTYSHOOT,
  PM_SV_ISPENALTYTAKER, PM_SV_KICKOFFTYPE, PM_SV_GOALSIGN, PM_SV_PLAYASCYAN,
  PM_SV_GAMECOMMAND, PM_SV_GAMEROLE, PM_SV_PLAYSTATE, PM_SV_PLAYSTATEFIRSTIN,
  PM_SV_PLAYSTATEFIRSTTOLD, PM_SV_PLAYSTATELASTTOLD, PM_SV_PLAYSTATETIMEOUT, PM_SV_TIMEPLAYING,
  PM_SV_COMPASSHEADING, PM_SV_ROBOTPOSECONF, PM_SV_HAVEROBOTPOSE, PM_SV_ROBOTPOSETIMEAGO,
  PM_SV_ROBOTPOSEDUR, PM_SV_ROBOTPOSEX, PM_SV_ROBOTPOSEY, PM_SV_ROBOTPOSEZ,
  PM_SV_BALLCONF, PM_SV_HAVEBALL, PM_SV_BALLTIMEAGO, PM_SV_BALLDUR,
  PM_SV_BALLX, PM_SV_BALLY, PM_SV_BALLANGLE, PM_SV_BALLDIST,
  PM_SV_BALLSTABLE, PM_SV_HAVEBALLPOSE, PM_SV_BALLPOSETIMEAGO, PM_SV_BALLPOSEDUR,
  PM_SV_BALLPOSEX, PM_SV_BALLPOSEY, PM_SV_BALLPOSESTABLE, PM_SV_BALLHASMOVED,
  PM_SV_BALLINPLAY, PM_SV_DIRECTGOALALLOWED, PM_GV_FORCEBEHSTATE, PM_GV_SUGGESTFOOT,
  PM_GV_DRIBBLEIFPOSSIBLE, PM_GV_KICKIFPOSSIBLE, PM_GV_DIVEIFPOSSIBLE, PM_GV_HAVEBALLTARGET,
  PM_GV_BALLTARGETX, PM_GV_BALLTARGETY, PM_GV_BALLTARGETCONF, PM_GV_BALLTARGETDIST,
  PM_GV_BALLTARGETANGLE, PM_GV_BALLTARGETWEDGE, PM_GV_BALLTARGETTYPE, PM_GV_BALLTOTARGETDIST,
  PM_GV_BALLTOTARGETANGLE, PM_GV_BTTANGLEOFFSETKICK, PM_GV_TARGETPOSEX, PM_GV_TARGETPOSEY,
  PM_GV_TARGETPOSEZ, PM_GV_TARGETPOSETOL, PM_GV_TARGETPOSEVALID, PM_AV_GAZEPITCH,
  PM_AV_GAZEYAW, PM_AV_GCVX, PM_AV_GCVY, PM_AV_GCVZ,
  PM_AV_HALT, PM_AV_KICKLEFT, PM_AV_KICKRIGHT, PM_AV_DIVE,
  PM_GM_STATECYCLE, PM_GM_CURSTATE, PM_GM_POSELEGAL, PM_DG_SCORINGDIST,
  PM_OBH_ACTIVE, PM_OBH_BALLTOOBSTDIST, PM_OBH_ANGLEATBALLLOW, PM_OBH_ANGLEATBALLHIGH,
  PM_OBH_ANGLEATBALLSTD, PM_OBH_TARGETANGLEADJUST, PM_OBH_ANGLEADJUSTFORDRIBBLE, PM_OBH_ANGLEADJUSTFORFOOTSEL,
  PM_OBH_KICKIFPOSSIBLE, PM_OBH_SUGGESTFOOT, PM_BM_STATECYCLE, PM_BM_CURSTATE,
  PM_BM_OKTOKICK, PM_BM_OKTODRIBBLE, PM_BM_OKTODRIBBLESTILL, PM_BM_COULDKICKNOW,
  PM_BM_COULDDRIBBLENOW, PM_BM_ALLOWKICK, PM_BM_ALLOWDRIBBLE, PM_BM_BALLACTIONISKICK,
  PM_WTGP_GBLTARGETX, PM_WTGP_GBLTARGETY, PM_WTGP_GBLTARGETZ, PM_WTGP_USEZ,
  PM_WTGP_TARGETX, PM_WTGP_TARGETY, PM_WTGP_TARGETZERR, PM_WTGP_TARGETDIST,
  PM_WTGP_TARGETANGLE, PM_WTGP_DISTCOST, PM_WTP_DISTCOST, PM_WTP_ARRIVED,
  PM_GAB_TS90, PM_LA_GAZEMAG, PM_LA_GAZETARGETID, PM_LA_GAZETARGETX,
  PM_LA_GAZETARGETY, PM_LLR_GAZEFREQ, PM_SFB_SFBSTATE, PM_SFB_ISREQUEST,
  PM_SFB_ISRESUMED, PM_SFB_SFBSTATETIME, PM_SFB_BALLHYPTYPE, PM_SFB_TIMEOUT,
  PM_SFB_TARGETX, PM_SFB_TARGETY, PM_SFB_DIRN, PM_SFB_FACTOR,
  PM_SFB_FAILCOUNTER, PM_SFB_DONECOUNTER, PM_GBB_BALLDIST, PM_GBB_BETA,
  PM_GBB_RADIUS_MIN, PM_GBB_RADIUS_DES, PM_GBB_RADIUS_HALO, PM_GBB_PATH_LEN,
  PM_GBB_WALK_SPEED, PM_GBB_PSI_BALL, PM_GBB_PSI_TARGET, PM_GBB_PSI_DES,
  PM_GBB_PROXIMITY_VALUE, PM_GBB_NEAR_FACTOR, PM_GBB_FOOTDUETOLESSDIST, PM_GBB_FOOTDUETOBALLPOSE,
  PM_GBB_RECONSIDERFOOT, PM_GBB_USERIGHTFOOT, PM_GBB_REQBALLX, PM_GBB_REQBALLY,
  PM_GBB_GCVX, PM_GBB_GCVY, PM_GBB_GCVZ, PM_GBB_GCVN,
  PM_GBB_BALLACTIONTIP, PM_DB_WEDGETOL, PM_DB_WEDGETOLSTILL, PM_DB_FACINGTARGET,
  PM_DB_FACINGTARGETSTILL, PM_DB_BALLXOK, PM_DB_BALLXOKSTILL, PM_DB_BALLYOK,
  PM_DB_BALLYOKSTILL, PM_DB_OKTODRIBBLE, PM_DB_OKTODRIBBLESTILL, PM_DBAPP_PREFERRIGHTFOOT,
  PM_DBAPP_RECONSIDERFOOT, PM_DBAPP_USERIGHTFOOT, PM_DBAPP_ROBOTEX, PM_DBAPP_ROBOTEY,
  PM_DBAPP_LOCALPATHANGLE, PM_DBAPP_UFACTOR, PM_DBAPP_RATIOXY, PM_KB_WEDGETOL,
  PM_KB_BALLERRORLEFTX, PM_KB_BALLERRORLEFTY, PM_KB_BALLERRORRIGHTX, PM_KB_BALLERRORRIGHTY,
  PM_KB_FACINGTARGET, PM_KB_FACINGTARGETSTILL, PM_KB_LEFTFOOTOK, PM_KB_LEFTFOOTOKSTILL,
  PM_KB_RIGHTFOOTOK, PM_KB_RIGHTFOOTOKSTILL, PM_KB_OKTOKICK, PM_KB_OKTOKICKSTILL,
  PM_KB_DOKICK, PM_KB_BESTKICKRIGHT, PM_KB_KICKLOCK, PM_DFB_DIVELOCK,
  PM_COUNT
}
 

Functions

bool ballActionTypeValid (int type)
 
bool ballActionTypeValid (BAType type)
 
const std::string & ballActionTypeName (BAType type)
 
bool kickoffTypeValid (int type)
 
bool kickoffTypeValid (KickoffType type)
 
const std::string & kickoffTypeName (KickoffType type)
 
bool buttonStateValid (int state)
 
bool buttonStateValid (ButtonState state)
 
const std::string & buttonStateName (ButtonState state)
 
bool gameCommandValid (int command)
 
bool gameCommandValid (GameCommand command)
 
const std::string & gameCommandName (GameCommand command)
 
bool gameRoleValid (int role)
 
bool gameRoleValid (GameRole role)
 
const std::string & gameRoleName (GameRole role)
 
bool gameRoleIsGoalie (GameRole role)
 
bool gameRoleIsFieldPlayer (GameRole role)
 
bool playStateValid (int state)
 
bool playStateValid (PlayState state)
 
const std::string & playStateName (PlayState state)
 
bool diveDirectionValid (int dirn)
 
bool diveDirectionValid (DiveDirection dirn)
 
const std::string & diveDirectionName (DiveDirection dirn)
 
void configurePlotManager (plot_msgs::PlotManagerFS *PM)
 

Variables

const std::string BATypeName [BA_COUNT]
 
const std::string KickoffTypeName [KT_COUNT]
 
const std::string ButtonStateName [BTN_COUNT]
 
const std::string GameCommandName [CMD_COUNT]
 
const std::string GameRoleName [ROLE_COUNT]
 
const std::string PlayStateName [PS_COUNT]
 
const std::string DiveDirectionName [DD_COUNT]
 

Detailed Description

This namespace defines everything that is required for the walk and kick behaviour node.

Variable Documentation

const std::string walk_and_kick::BATypeName[BA_COUNT]
Initial value:
= {
"Unknown",
"Kick",
"Dribble"
}
const std::string walk_and_kick::ButtonStateName[BTN_COUNT]
Initial value:
= {
"Unknown Mode",
"Halt Mode",
"Play Mode",
"Goalie Mode",
"Positioning Mode"
}
const std::string walk_and_kick::DiveDirectionName[DD_COUNT]
Initial value:
= {
"No Dive",
"Left Dive",
"Right Dive",
"Sit Dive"
}
const std::string walk_and_kick::GameCommandName[CMD_COUNT]
Initial value:
= {
"UnknownCmd",
"Stop",
"Positioning",
"Play"
}
const std::string walk_and_kick::GameRoleName[ROLE_COUNT]
Initial value:
= {
"UnknownRole",
"FieldPlayer",
"Goalie",
}
const std::string walk_and_kick::KickoffTypeName[KT_COUNT]
Initial value:
= {
"Unknown",
"Defending",
"Attacking",
"DropBall",
"Manual"
}
const std::string walk_and_kick::PlayStateName[PS_COUNT]
Initial value:
= {
"UnknownPlayState",
"Stop",
"Timeout",
"Ready",
"Set",
"BeginPlay",
"Play"
}