com.kuka.nav.fleet
Interface GraphMotionContainerBase

All Known Subinterfaces:
CoordinatedGraphMotionContainer, GraphMotionContainer

public interface GraphMotionContainerBase

Container for accessing common fleet motion status.


Method Summary
 double getPathLengthToGoal()
          Returns the estimated remaining path length to the goal in meters.
 GraphMotionResult getResult()
          Gets the result of the container after it was finalized.
 GraphMotionState getState()
          Gets the state of the container.
 double getTimeInActive()
          Returns the time (in seconds) that this graph motion container was active (a graph motion is not active, for example, when it is waiting for a conflict with another graph motion to be resolved).
 double getTimeInActivePercent()
          Returns the time that this graph motion container was active relative to the whole life-time of the graph motion container (in percent).
 double getTimeToGoal()
          Returns the estimated time to reach the goal in seconds.
 double getTravelledDistance()
          Returns the distance traveled so far in meters.
 double getTravelledDistancePercent()
          Returns the distance traveled so far relative to the complete distance to be traveled (in percent).
 ReplanResult replan()
          Re-plans this graph motion container based on the container's underlying GraphMotions.
 

Method Detail

getPathLengthToGoal

double getPathLengthToGoal()
Returns the estimated remaining path length to the goal in meters. In particular, this method returns 0.0 if this container's motion has successfully been finished and positive infinity if it has been finished but the motion was not completed for some reason.

The returned value is an estimate and only gets updated every ten seconds. Thus, critical application logic should not rely on the accuracy of this value.

Returns:
the estimated remaining path length

getTravelledDistance

double getTravelledDistance()
Returns the distance traveled so far in meters.

The returned value is an estimate and only gets updated every ten seconds. Thus, critical application logic should not rely on the accuracy of this value.

Returns:
the traveled distance

getTravelledDistancePercent

double getTravelledDistancePercent()
Returns the distance traveled so far relative to the complete distance to be traveled (in percent).

The returned value is an estimate and only gets updated every ten seconds. Thus, critical application logic should not rely on the accuracy of this value.

Returns:
the percentage of the complete distance to be traveled that has been traveled.
See Also:
getTravelledDistance()

getTimeToGoal

double getTimeToGoal()
Returns the estimated time to reach the goal in seconds. In particular, this method returns 0.0 if this container's motion has successfully been finished and positive infinity if it has been finished but the motion was not completed for some reason.

The returned value is an estimate and only gets updated every ten seconds. Thus, critical application logic should not rely on the accuracy of this value.

Returns:
the estimated time to reach the goal in seconds.

getTimeInActive

double getTimeInActive()
Returns the time (in seconds) that this graph motion container was active (a graph motion is not active, for example, when it is waiting for a conflict with another graph motion to be resolved).

The returned value is an estimate and only gets updated every ten seconds. Thus, critical application logic should not rely on the accuracy of this value.

Returns:
the active time in seconds.

getTimeInActivePercent

double getTimeInActivePercent()
Returns the time that this graph motion container was active relative to the whole life-time of the graph motion container (in percent).

The returned value is an estimate and only gets updated every ten seconds. Thus, critical application logic should not rely on the accuracy of this value.

Returns:
the percentage of the container's life time which the container was active
See Also:
getTimeInActive()

getState

GraphMotionState getState()
Gets the state of the container.

Returns:
the state

getResult

GraphMotionResult getResult()
Gets the result of the container after it was finalized.

Returns:
the result

replan

ReplanResult replan()
Re-plans this graph motion container based on the container's underlying GraphMotions. This container's state must not yet be GraphMotionState.FINISHED or GraphMotionState.FINALIZED.

If the underlying graph motions should be re-planned with changed parameters the corresponding motions have to be retrieved from this container and adapted accordingly before calls to this method. Such changes only become active if re-planning is actually triggered. Changing a parameter without invoking re-planning will not affect the motion containers. The following parameters may be changed:

  1. via nodes
  2. black-list
  3. white-list
  4. goal node
  5. priority (Note that changing the priority also affects the resolution of waiting relations with regard to this graph motion container when further graph motions are commanded in the future. The changed priority will be kept even if re-planning fails.)

Re-planning will maintain the association of MobileRobot to graph motion and attempt to find a plan for these robots based on the current fleet state. These plans will start at the TopologyNodes that the robots will reach after all motions that have already been queued have been executed. Any changed parameter's will only become active after these queued motions have been completed. Thus, in particular, it is possible that the robots may still visit nodes violating changed black-lists or white-lists even if re-planning was successful.

If re-planning fails a re-planning result containing the reason for failure will be returned. Other than that, re-planning does not have any effect, i.e., the robots will continue executing the graph motions as before. Re-planning, may fail, for example, if no path can be found or if the container is already finalized, finished, or all motions to the graph motion's goal node have already been queued.

Returns:
a re-plan result which contains the success and if not the reason (exception)
See Also:
FleetManager.replan(GraphMotionContainer)


Copyright © 2019. All rights reserved.