|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface EdgeMotion
Interface defining access to common motion parameter values.
| Method Summary | |
|---|---|
boolean |
blocksCompleteEdge()
Returns true if executing the corresponding motion requires the complete edge to be considered as
blocked. |
com.kuka.nav.geometry.BlendingDiscretizationInfo |
computeBlendingPoses(com.kuka.nav.Pose start1,
com.kuka.nav.Pose goal1,
double blendingCart,
EdgeMotion motion2,
com.kuka.nav.Pose start2,
com.kuka.nav.Pose goal2,
com.kuka.nav.robot.DriveType type)
Computes the blending poses on the blending segment and the actual blending radius. |
com.kuka.nav.geometry.BlendingContext |
getBlendingContext(com.kuka.nav.Pose start,
com.kuka.nav.Pose goal)
Gets the blending context for the specific motion (its more for internal usage, method computeBlendingPOses calls this method). |
com.kuka.nav.Position |
getClosestPointOnMotion(com.kuka.nav.Position start,
com.kuka.nav.Position end,
com.kuka.nav.Position position)
Computes the point on this edge motion which is closest to the given position. |
EdgeMotion |
getCopyWithOrientation(double ori)
Creates a copy of this edge motion which has no edge-orientations and the single goal orientation is the one given as input parameter. |
Collection<Double> |
getGoalOrientations(TopologyNode node)
Returns a list containing all allowed goal orientations of this edge motion. |
List<com.kuka.nav.TupleSE2> |
getMotions(com.kuka.nav.TupleSE2 startPose,
com.kuka.nav.Pose entryPose,
com.kuka.nav.TupleSE2 goalPose,
com.kuka.nav.Pose exitPose,
double oriDelta)
Returns a list of the relative motions (each motion is relative to the (global) end pose of the previous motion, the first one being relative the the global start pose of the vehicle) to be performed in order to travel this edge motion. |
Collection<Double> |
getPathOrientations()
Returns a list containing all allowed path orientations of this edge motion. |
Collection<Double> |
getRelativeGoalOrientations(TopologyNode node)
Returns a list containing all allowed goal orientations of this edge motion in radians and relative to the edge orientation, also known as line orientation. |
Collection<Double> |
getRelativeStartOrientations(TopologyNode node)
Returns a list containing all allowed start orientations of this edge motion in radians and relative to the edge orientation, also known as line orientation. |
Collection<Double> |
getStartOrientations(TopologyNode node)
Returns a list containing all allowed start orientations of this edge motion. |
boolean |
isBlendingSupported()
Checks whether this edge motion supports blending. |
boolean |
isReachableOrientation(double startOri,
double goalOri,
double edgeAngle,
double allowedOriDelta,
com.kuka.nav.robot.DriveType drive)
Checks whether the given goal orientation is reachable from the given start orientation based on this edge motion. |
boolean |
isRecoverable()
Checks whether recovery actions (start- or path-recovery) are applicable to this motion property. |
boolean |
isRotationAllowed()
Checks whether this edge motion allows the robot to rotate while moving along the corresponding edge. |
| Methods inherited from interface com.kuka.nav.fleet.graph.properties.Property |
|---|
getAllowedTypes, getId, getValueToDisplay, setId |
| Method Detail |
|---|
Collection<Double> getStartOrientations(TopologyNode node)
node - the topology node at the start position of this motion
Collection<Double> getRelativeStartOrientations(TopologyNode node)
node - the topology node at the start position of this motion
Collection<Double> getGoalOrientations(TopologyNode node)
node - the topology node at the goal position of this motion
Collection<Double> getRelativeGoalOrientations(TopologyNode node)
node - the topology node at the goal position of this motion
Collection<Double> getPathOrientations()
boolean isRotationAllowed()
true if this edge motion allows rotation, false otherwiseboolean isRecoverable()
true if and only if this motion property is recoverable.
boolean isReachableOrientation(double startOri,
double goalOri,
double edgeAngle,
double allowedOriDelta,
com.kuka.nav.robot.DriveType drive)
startOri - the start orientation (in [rad] with respect to the global coordinate system)goalOri - the goal orientation (in [rad] with respect to the global coordinate system)edgeAngle - the angle of the edge where this motion is parameterized in [rad] with respect to the global
coordinate system)allowedOriDelta - the maximum difference until which orientation are considered equaldrive - the drive type of the vehicle
true if this edge motion allows rotation from the given start to the given goal orientation,
false otherwiseboolean isBlendingSupported()
true if this this edge motion supports blending.boolean blocksCompleteEdge()
true if executing the corresponding motion requires the complete edge to be considered as
blocked. Otherwise only start and goal pose are considered as blocked.
true if executing the corresponding motion requires the complete edge to be considered as
blocked
List<com.kuka.nav.TupleSE2> getMotions(com.kuka.nav.TupleSE2 startPose,
com.kuka.nav.Pose entryPose,
com.kuka.nav.TupleSE2 goalPose,
com.kuka.nav.Pose exitPose,
double oriDelta)
startPose - the global pose in map coordinates where the motion would start if it was not blended to (usually the
position of the source node of the edge enriched by the orientation at the node) --- note that this
pose does not necessarily have to be reached by the robot if the motion is blended toentryPose - the global pose in map coordinates where the robot completes the blending arc and reaches the actual
motion, may not coincide with the start posegoalPose - the global pose in map coordinates where the motion would be completed if it was not blended from
(usually the position of the target node of the edge enriched by the orientation at the node), note
that this does not have to be reached by the robot if the motion is blended fromexitPose - the global pose in map coordinates where the robot leaves the actual motion and starts blending to the
next motion, may not coincide with the goal poseoriDelta - the maximum difference until which orientation are considered equal
com.kuka.nav.geometry.BlendingDiscretizationInfo computeBlendingPoses(com.kuka.nav.Pose start1,
com.kuka.nav.Pose goal1,
double blendingCart,
EdgeMotion motion2,
com.kuka.nav.Pose start2,
com.kuka.nav.Pose goal2,
com.kuka.nav.robot.DriveType type)
DriveType.DIFFERENTIAL and the relative orientations to
the path at start and goal position differ.
start1 - start pose on edge 1goal1 - goal pose on edge 1blendingCart - blending parametermotion2 - motion for second edgestart2 - start pose on edge 2goal2 - goal pose on edge 2type - drive type holonomic or differential
com.kuka.nav.geometry.BlendingContext getBlendingContext(com.kuka.nav.Pose start,
com.kuka.nav.Pose goal)
start - start posegoal - goal pose
com.kuka.nav.Position getClosestPointOnMotion(com.kuka.nav.Position start,
com.kuka.nav.Position end,
com.kuka.nav.Position position)
start - the start pose of the motionend - the end pose of the motionposition - the position for which the closest point has to be computed
EdgeMotion getCopyWithOrientation(double ori)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||