public class TrajectoryEnvelopeSolver extends MultiConstraintSolver
MultiConstraintSolver for TrajectoryEnvelopes. Constraints of type AllenIntervalConstraint and
DE9IMRelation can be added to TrajectoryEnvelopes.MultiConstraintSolver.OPTIONSconstraintSolvers, ingredientsautoprop, components, constraintTypes, IDs, logger, name, nesting, noPropOnVarCreation, numcalls, skipPropagation, spacing, theNetwork, variableType| Modifier | Constructor and Description |
|---|---|
protected |
TrajectoryEnvelopeSolver(java.lang.Class<?>[] constraintTypes,
java.lang.Class<?> variableType,
ConstraintSolver[] internalSolvers,
int[] ingredients) |
|
TrajectoryEnvelopeSolver(long origin,
long horizon)
Create a
TrajectoryEnvelopeSolver with given temporal origin and horizon. |
|
TrajectoryEnvelopeSolver(long origin,
long horizon,
int maxTrajectories)
Create a
TrajectoryEnvelopeSolver with given temporal origin and horizon. |
| Modifier and Type | Method and Description |
|---|---|
TrajectoryEnvelope |
createEnvelopeNoParking(int robotID,
PoseSteering[] path,
java.lang.String symbol,
com.vividsolutions.jts.geom.Coordinate... footprintCoords) |
TrajectoryEnvelope |
createEnvelopeNoParking(int robotID,
java.lang.String[] pathFiles,
java.lang.String symbol,
com.vividsolutions.jts.geom.Coordinate... footprintCoords) |
TrajectoryEnvelope |
createEnvelopeNoParking(int robotID,
java.lang.String pathFile,
java.lang.String symbol,
com.vividsolutions.jts.geom.Coordinate... footprintCoords) |
java.util.HashMap<java.lang.Integer,java.util.ArrayList<TrajectoryEnvelope>> |
createEnvelopes(int firstRobotID,
long durationFirstParking,
long durationLastParking,
com.vividsolutions.jts.geom.Coordinate[] footprint,
java.lang.String... pathFiles)
Create a trajectory envelope for each given reference to a file containing a path.
|
java.util.HashMap<java.lang.Integer,java.util.ArrayList<TrajectoryEnvelope>> |
createEnvelopes(int firstRobotID,
long durationFirstParking,
long durationLastParking,
com.vividsolutions.jts.geom.Coordinate[] footprint,
Trajectory... trajectories)
Create a trajectory envelope for each given
Trajectory. |
java.util.HashMap<java.lang.Integer,java.util.ArrayList<TrajectoryEnvelope>> |
createEnvelopes(int firstRobotID,
java.lang.String... pathFiles)
Create a trajectory envelope for each given reference to a file containing a path.
|
java.util.HashMap<java.lang.Integer,java.util.ArrayList<TrajectoryEnvelope>> |
createEnvelopes(int firstRobotID,
Trajectory... trajectories)
Create a trajectory envelope for each given
Trajectory. |
protected static ConstraintSolver[] |
createInternalConstraintSolvers(long origin,
long horizon,
int maxTrajectories) |
TrajectoryEnvelope |
createParkingEnvelope(int robotID,
long parkingDuration,
Pose parkingPose,
java.lang.String locationName,
com.vividsolutions.jts.geom.Coordinate... footprintCoords) |
long |
getHorizon()
Get the temporal horizon.
|
long |
getOrigin()
Get the origin of time.
|
TrajectoryEnvelope[] |
getRootTrajectoryEnvelopes()
Get all
TrajectoryEnvelopes that have no super-envelopes. |
TrajectoryEnvelope[] |
getRootTrajectoryEnvelopes(int robotID)
Get all
TrajectoryEnvelopes that have no super-envelopes for a given robot. |
DE9IMRelationSolver |
getSpatialSolver()
Returns the
DE9IMRelationSolver which propagates spatial constraints (of type DE9IMRelation)
among the spatial parts (GeometricShapeVariables) of TrajectoryEnvelopes. |
AllenIntervalNetworkSolver |
getTemporalSolver()
Returns the
AllenIntervalNetworkSolver which propagates temporal constraints
(of type AllenIntervalConstraint)
among the temporal parts (AllenIntervals) of a trajectory envelope. |
TrajectoryEnvelope[] |
getTrajectoryEnvelopes(int robotID)
Get all the
TrajectoryEnvelopes in this solver's ConstraintNetwork pertaining to a particular robot. |
boolean |
propagate()
Propagate the constraint network.
|
addConstraintsSub, createVariablesSub, createVariablesSub, createVariablesSub, drawConstraintNetworkHierarchy, drawConstraintSolverHierarchy, failurePruning, getConstraintNetworkHierarchy, getConstraintNetworksFromSolverHierarchy, getConstraintSolver, getConstraintSolverHierarchy, getConstraintSolvers, getConstraintSolversFromConstraintSolverHierarchy, getDescription, getOption, registerValueChoiceFunctions, removeConstraintsSub, removeVariablesSub, setConstraintSolver, setIngredients, setOptionsaddConstraint, addConstraintNoPropagation, addConstraints, addConstraintsDebug, addConstraintsNoPropagation, containsVariable, createVariable, createVariable, createVariables, createVariables, deplenish, getComponent, getComponents, getConstraintNetwork, getConstraints, getConstraints, getID, getOption, getVariable, getVariables, getVariables, getVariables, isCompatible, maskConstraints, removeConstraint, removeConstraints, removeVariable, removeVariables, setComponent, setComponents, setConstraintNetwork, setName, setOptions, toString, unmaskConstraintsprotected TrajectoryEnvelopeSolver(java.lang.Class<?>[] constraintTypes,
java.lang.Class<?> variableType,
ConstraintSolver[] internalSolvers,
int[] ingredients)
public TrajectoryEnvelopeSolver(long origin,
long horizon)
TrajectoryEnvelopeSolver with given temporal origin and horizon.origin - The origin of the temporal solver underlying this TrajectoryEnvelopeSolver.horizon - The horizon of the temporal solver underlying this TrajectoryEnvelopeSolver.public TrajectoryEnvelopeSolver(long origin,
long horizon,
int maxTrajectories)
TrajectoryEnvelopeSolver with given temporal origin and horizon.origin - The origin of the temporal solver underlying this TrajectoryEnvelopeSolver.horizon - The horizon of the temporal solver underlying this TrajectoryEnvelopeSolver.maxTrajectories - The maximum number of TrajectoryEnvelopes that can be created with this solver.public long getOrigin()
public long getHorizon()
public TrajectoryEnvelope[] getTrajectoryEnvelopes(int robotID)
TrajectoryEnvelopes in this solver's ConstraintNetwork pertaining to a particular robot.robotID - The ID of the robot for which the TrajectoryEnvelopes are desired.TrajectoryEnvelopes in this solver's ConstraintNetwork pertaining to a particular robot.public TrajectoryEnvelope[] getRootTrajectoryEnvelopes()
TrajectoryEnvelopes that have no super-envelopes.TrajectoryEnvelopes that have no super-envelopes.public TrajectoryEnvelope[] getRootTrajectoryEnvelopes(int robotID)
TrajectoryEnvelopes that have no super-envelopes for a given robot.robotID - The ID of the robot for which the TrajectoryEnvelopes are desired.TrajectoryEnvelopes that have no super-envelopes for a given robot.protected static ConstraintSolver[] createInternalConstraintSolvers(long origin, long horizon, int maxTrajectories)
public boolean propagate()
ConstraintSolverpropagate in class MultiConstraintSolverpublic AllenIntervalNetworkSolver getTemporalSolver()
AllenIntervalNetworkSolver which propagates temporal constraints
(of type AllenIntervalConstraint)
among the temporal parts (AllenIntervals) of a trajectory envelope.TrajectoryEnvelopes.public DE9IMRelationSolver getSpatialSolver()
DE9IMRelationSolver which propagates spatial constraints (of type DE9IMRelation)
among the spatial parts (GeometricShapeVariables) of TrajectoryEnvelopes.TrajectoryEnvelopes.public TrajectoryEnvelope createEnvelopeNoParking(int robotID, PoseSteering[] path, java.lang.String symbol, com.vividsolutions.jts.geom.Coordinate... footprintCoords)
public TrajectoryEnvelope createEnvelopeNoParking(int robotID, java.lang.String[] pathFiles, java.lang.String symbol, com.vividsolutions.jts.geom.Coordinate... footprintCoords)
public TrajectoryEnvelope createEnvelopeNoParking(int robotID, java.lang.String pathFile, java.lang.String symbol, com.vividsolutions.jts.geom.Coordinate... footprintCoords)
public TrajectoryEnvelope createParkingEnvelope(int robotID, long parkingDuration, Pose parkingPose, java.lang.String locationName, com.vividsolutions.jts.geom.Coordinate... footprintCoords)
public java.util.HashMap<java.lang.Integer,java.util.ArrayList<TrajectoryEnvelope>> createEnvelopes(int firstRobotID, long durationFirstParking, long durationLastParking, com.vividsolutions.jts.geom.Coordinate[] footprint, Trajectory... trajectories)
Trajectory. Robot IDs are assigned starting from the given
integer. This method creates three envelopes for each Trajectory:
the main TrajectoryEnvelope covering the path; one TrajectoryEnvelope for the starting position
of the robot; and one one TrajectoryEnvelope for the final parking position of the robot. The three envelopes
are constrained with AllenIntervalConstraint.Type#Meets constraints. The two parking envelopes have a given duration.firstRobotID - The starting robot ID.durationFirstParking - The duration of the first parking TrajectoryEnvelope.durationLastParking - The duration of the final parking TrajectoryEnvelope.footprint - Coordinates representing the footprint of the robot.trajectories - The Trajectorys over which to create the TrajectoryEnvelopes.TrajectoryEnvelopes.public java.util.HashMap<java.lang.Integer,java.util.ArrayList<TrajectoryEnvelope>> createEnvelopes(int firstRobotID, long durationFirstParking, long durationLastParking, com.vividsolutions.jts.geom.Coordinate[] footprint, java.lang.String... pathFiles)
TrajectoryEnvelope covering the path; one TrajectoryEnvelope for the
starting position of the robot; and one one TrajectoryEnvelope for the final parking position
of the robot. The three envelopes are constrained with AllenIntervalConstraint.Type#Meets constraints.
The two parking envelopes have a given duration.firstRobotID - The starting robot ID.durationFirstParking - The duration of the first parking TrajectoryEnvelope.durationLastParking - The duration of the final parking TrajectoryEnvelope.footprint - Coordinates representing the footprint of the robot.pathFiles - The files containing paths over which to create the TrajectoryEnvelopes.TrajectoryEnvelopes.public java.util.HashMap<java.lang.Integer,java.util.ArrayList<TrajectoryEnvelope>> createEnvelopes(int firstRobotID, java.lang.String... pathFiles)
TrajectoryEnvelope covering the path; one TrajectoryEnvelope for the
starting position of the robot; and one one TrajectoryEnvelope for the final parking position
of the robot. The three envelopes are constrained with AllenIntervalConstraint.Type#Meets constraints.
The two parking envelopes have a duration of 3000 ms each. A default footprint of size 2.7 (w) x 6.6 (l) is used.firstRobotID - The starting robot ID.pathFiles - The files containing paths over which to create the TrajectoryEnvelopes.TrajectoryEnvelopes.public java.util.HashMap<java.lang.Integer,java.util.ArrayList<TrajectoryEnvelope>> createEnvelopes(int firstRobotID, Trajectory... trajectories)
Trajectory. Robot IDs are assigned starting from the given
integer. This method creates three envelopes for each Trajectory:
the main TrajectoryEnvelope covering the path; one TrajectoryEnvelope for the starting position
of the robot; and one one TrajectoryEnvelope for the final parking position of the robot. The three envelopes
are constrained with AllenIntervalConstraint.Type#Meets constraints. The two parking envelopes have a duration of 3000 ms each.
A default footprint of size 2.7 (w) x 6.6 (l) is used.firstRobotID - The starting robot ID.trajectories - The Trajectorys over which to create the TrajectoryEnvelopes.TrajectoryEnvelopes.