Class MoveBaseComponent

java.lang.Object
edu.tufts.hrilab.diarc.DiarcComponent
edu.tufts.hrilab.movebase.MoveBaseComponent
All Implemented Interfaces:
MoveBaseInterface

public class MoveBaseComponent extends DiarcComponent implements MoveBaseInterface
Provides simplified access to the ROS move base node. This interface is convenient when you want to be able to send navigation goals without tracking their progress.
  • Constructor Details

    • MoveBaseComponent

      public MoveBaseComponent()
  • Method Details

    • init

      protected void init()
      Description copied from class: DiarcComponent
      Perform any component initialization. This should not be used for setting local fields to default values as was the case in DIARC. This method is called after the constructor, and after parseArgs. Setting default values should be done in field declaration or in the constructor.
      Overrides:
      init in class DiarcComponent
    • additionalUsageInfo

      protected List<org.apache.commons.cli.Option> additionalUsageInfo()
      Description copied from class: DiarcComponent
      Command line options available in sub-class. This should be paired with a parseArgs implementation.
      Overrides:
      additionalUsageInfo in class DiarcComponent
      Returns:
    • parseArgs

      protected void parseArgs(org.apache.commons.cli.CommandLine cmdLine)
      Description copied from class: DiarcComponent
      Called directly after construction to pass runtime values that will override default values. This should parse all the options that additionalUsageInfo provides.zs
      Overrides:
      parseArgs in class DiarcComponent
    • getPose

      protected edu.tufts.hrilab.diarcros.msg.geometry_msgs.Pose getPose()
    • getPosition

      public javax.vecmath.Point3d getPosition()
      Used to updated Firebase GUI
      Returns:
    • setPoseGlobal

      public void setPoseGlobal(double x, double y, double theta)
      Specified by:
      setPoseGlobal in interface MoveBaseInterface
    • getPoseGlobalQuat

      public double[] getPoseGlobalQuat()
      Specified by:
      getPoseGlobalQuat in interface MoveBaseInterface
    • goToLocation

      protected Justification goToLocation(edu.tufts.hrilab.diarcros.msg.geometry_msgs.Pose pose, boolean wait)
      Go to a pose in the world.
      Parameters:
      pose - a goal pose
    • goToLocation

      public Justification goToLocation(Symbol location, boolean wait)
      Go to a known location in the world.
      Specified by:
      goToLocation in interface MoveBaseInterface
      Parameters:
      location - a known location.
      wait - should wait until movement is complete
    • goToLocation

      public Justification goToLocation(Symbol location)
      Description copied from interface: MoveBaseInterface
      go to the location and then move forward until certain distance from object in front
      Specified by:
      goToLocation in interface MoveBaseInterface
      Parameters:
      location - name of the desired location to navigate to
      Returns:
      justification specifying if the robot navigated to the location
    • goToLocation

      public Justification goToLocation(Symbol desiredLocation, Symbol initialLocation)
      Description copied from interface: MoveBaseInterface
      go to the location and then move forward until certain distance from object in front
      Specified by:
      goToLocation in interface MoveBaseInterface
      Parameters:
      desiredLocation - name of the desired location to navigate to
      initialLocation - name of the initial location to navigate from -- used for conditions and effects
      Returns:
      justification specifying if the robot navigated to the location
    • goToLocation

      public Justification goToLocation(double xdest, double ydest, double quat_x, double quat_y, double quat_z, double quat_w, boolean wait)
      Description copied from interface: MoveBaseInterface
      go to the point and orientation
      Specified by:
      goToLocation in interface MoveBaseInterface
      Parameters:
      xdest - x point
      ydest - y point
      quat_x - x quaternion value
      quat_y - y quaternion value
      quat_z - z quaternion value
      quat_w - w quaternion value
      wait - should robot wait until reached desired point and orientation
      Returns:
      justification if the robot reach the desired point and orientation
    • approachLocation

      public Justification approachLocation(Symbol desiredLocation)
      Description copied from interface: MoveBaseInterface
      go to the location and then move forward until certain distance from object in front
      Specified by:
      approachLocation in interface MoveBaseInterface
      Parameters:
      desiredLocation - name of the desired location to navigate to
      Returns:
      justification specifying if the robot navigated to the location
    • approachLocation

      public Justification approachLocation(Symbol desiredLocation, Symbol initialLocation)
      Description copied from interface: MoveBaseInterface
      go to the location and then move forward until certain distance from object in front
      Specified by:
      approachLocation in interface MoveBaseInterface
      Parameters:
      desiredLocation - name of the desired location to navigate to
      initialLocation - name of the initial location to navigate from -- used for conditions and effects
      Returns:
      justification specifying if the robot navigated to the location
    • stop

      public Justification stop()
      Specified by:
      stop in interface MoveBaseInterface
    • isMoving

      public Justification isMoving()
      Specified by:
      isMoving in interface MoveBaseInterface
    • checkAt

      public List<Map<Variable,Symbol>> checkAt(Term locationTerm)
      Checks to see if the robot is within atOffset distance from goal pose
      Specified by:
      checkAt in interface MoveBaseInterface
      Parameters:
      locationTerm - the predicate to observe at(?actor, ?location)
      Returns:
      list of argument bindings empty list is failure to observe list with empty hashmap means actor is within atOffset of goal pose
    • getLocationPose

      protected edu.tufts.hrilab.diarcros.msg.geometry_msgs.Pose getLocationPose(Symbol refID)
    • followPath

      protected Justification followPath(List<PathAction> path)