Additional SMACH State Types

This list of states and methods should become a basis for others searching for working SMACH code.

Your welcome to link your code in the same scheme, but please do only add code parts that are functioning and documented fine.


  • University of Applied Sciences Hamburg Robot Vision Lab ROS Repository
  • General utilities:

    • State Types
      • WaitForMsgState - This class acts as a generic message listener with blocking, timeout, latch and flexible usage.

      • SleepState - Sleep for a time duration, given either on initialization or via userdata.

      • PromptState - Prompt and wait for user action or input on command line.

      • CheckSmachEnabledState(WaitForMsgState) - Simple way to enable or disable smach via ROS message.

    • Methods
      • get_current_robot_position - Return a (x,y,yaw) tuple for the robot in a given frame.

    • Other
      • TransformListenerSingleton - To avoid running multiple transform listeners, this singleton class provides one transform listener that is initialised and retrieved via class methods init() and get().

  • 2D-Navigation/move_base related:

    • State Types
      • ReadRobotPositionState - Return the current robot position in the given frame via userdata.

      • MoveBaseState - Calls a move_base action server with the goal (x, y, yaw) from userdata.

      • CalcRandomGoalState - Return a random (x, y, yaw) tuple via userdata.

    • Methods
      • get_random_goal_smach - Returns a SMACH Sequence for navigation to a random goal, combining CalcRandomGoalState with MoveBaseState.

Wiki: executive_smach/AdditionalStateTypes (last edited 2013-08-01 10:48:52 by FelixKolbe)