com.kuka.nav.fleet
Interface Conflict


public interface Conflict

Represents a conflict between two plan steps of two mobile robots.

A conflict is a dependency between two mobile robots r_1 and r_2, where r_1 (the delayed robot: getDelayedRobot()) has to wait at a certain plan step (getDelayedRobotPlanStep() until r_2 (the passing robot: getPassingRobot()) finished its corresponding plan step ( getPassingRobotPlanStep()). The conflict also provides an estimate of the time by which r_1 will be delayed. This time may be negative, indicating that r_2 is estimated to arrive at its corresponding step before r_1 arrives at the step where it would go into waiting. A conflict can be in different states: ConflictState.

Note that a conflict represents a snapshot of the situation at the moment of time where the conflict was queried. Thus, no parameters of the conflict are updated over time (in particular, neither the state changes, e.g., to ConflictState.RESOLVED when r_2 arrives at its plan step, nor the delay is updated). If necessary, a new snapshot of the current conflicts can be queried (cf. FleetManager.getConflicts()).


Method Summary
 double getDelay()
          Returns the delay of the delayed robot caused by this conflict, i.e. the time in seconds the delayed robot has to wait until the conflict is ConflictState.RESOLVED.
 com.kuka.nav.robot.MobileRobot getDelayedRobot()
          Returns the delayed robot, which has to give way.
 PlanStep getDelayedRobotPlanStep()
          Returns the plan step at which the delayed robot getDelayedRobot() has to wait.
 int getDelayedRobotPlanStepIndex()
          Returns the index of the plan step at which the delayed robot getDelayedRobot() has to wait.
 int getDelayedRobotPriority()
          Returns the GraphMotions's priority of the delayed robot getDelayedRobot().
 com.kuka.nav.robot.MobileRobot getPassingRobot()
          Returns the passing robot, which has the right of way.
 int getPassingRobotConflictStartIndex()
          Returns the index of the plan step, where the passing robot enters the conflict zone which will force the delayed robot to wait.
 PlanStep getPassingRobotPlanStep()
          Returns the plan step, that the passing robot getPassingRobot() has finish before the conflict is ConflictState.RESOLVED.
 int getPassingRobotPlanStepIndex()
          Returns the index of the plan step, that the passing robot getPassingRobot() has finish before the conflict is ConflictState.RESOLVED.
 int getPassingRobotPriority()
          Returns the GraphMotions's priority of the passing robot getPassingRobot().
 ConflictState getState()
          Returns the state of the conflict.
 

Method Detail

getDelayedRobot

com.kuka.nav.robot.MobileRobot getDelayedRobot()
Returns the delayed robot, which has to give way.

This robot has to wait at plan step getDelayedRobotPlanStep() until robot getPassingRobot() finished plan step getPassingRobotPlanStep().

Returns:
the delayed robot

getDelayedRobotPriority

int getDelayedRobotPriority()
Returns the GraphMotions's priority of the delayed robot getDelayedRobot().

Returns:
the priority of the delayed robot
See Also:
GraphMotion.getPriority()

getDelayedRobotPlanStep

PlanStep getDelayedRobotPlanStep()
Returns the plan step at which the delayed robot getDelayedRobot() has to wait.

Returns:
the plan step of the delayed robot

getDelayedRobotPlanStepIndex

int getDelayedRobotPlanStepIndex()
Returns the index of the plan step at which the delayed robot getDelayedRobot() has to wait.

Returns:
the index of the plan step of the delayed robot

getPassingRobot

com.kuka.nav.robot.MobileRobot getPassingRobot()
Returns the passing robot, which has the right of way.

This robot has to finish plan step getPassingRobot() before the delayed robot getDelayedRobot() is allowed to execute plan step getDelayedRobotPlanStep().

Returns:
the passing robot

getPassingRobotPriority

int getPassingRobotPriority()
Returns the GraphMotions's priority of the passing robot getPassingRobot().

Returns:
the priority of the passing robot
See Also:
GraphMotion.getPriority()

getPassingRobotPlanStep

PlanStep getPassingRobotPlanStep()
Returns the plan step, that the passing robot getPassingRobot() has finish before the conflict is ConflictState.RESOLVED.

Returns:
the plan step of the passing robot

getPassingRobotPlanStepIndex

int getPassingRobotPlanStepIndex()
Returns the index of the plan step, that the passing robot getPassingRobot() has finish before the conflict is ConflictState.RESOLVED.

Returns:
the index of the plan step of the passing robot

getPassingRobotConflictStartIndex

int getPassingRobotConflictStartIndex()
Returns the index of the plan step, where the passing robot enters the conflict zone which will force the delayed robot to wait.

Returns:
the start index of the conflict

getState

ConflictState getState()
Returns the state of the conflict.

Returns:
the state of the conflict

getDelay

double getDelay()
Returns the delay of the delayed robot caused by this conflict, i.e. the time in seconds the delayed robot has to wait until the conflict is ConflictState.RESOLVED. The returns value will be greater or equal than 0.

Returns:
the delay of the delayed robot caused by this conflict in [s]


Copyright © 2019. All rights reserved.