Struct TrajectoryHeuristicTask
The trajectory heuristic task compares the trajectories of a current and candidate pose to a desired trajectory.
Namespace: Unity.Kinematica
Syntax
[Data("TrajectoryHeuristic", "#2A3756", DataType.Flag.None)]
public struct TrajectoryHeuristicTask : Task
Fields
candidate
Denotes the candidate time index to be used for the heuristic evaluation.
Declaration
[Input("Candidate Time")]
public Identifier<TimeIndex> candidate
Field Value
Type | Description |
---|---|
Identifier<TimeIndex> |
desiredTrajectory
Denotes the desired trajectory to be used for the heuristic evaluation.
Declaration
[Input("Desired trajectory")]
public Identifier<Trajectory> desiredTrajectory
Field Value
Type | Description |
---|---|
Identifier<Trajectory> |
threshold
Denotes the relative threshold to be used for the heuristic evaluation.
Declaration
public float threshold
Field Value
Type | Description |
---|---|
Single |
timeIndex
Denotes the current time index to be used for the heuristic evaluation.
Declaration
[Output("Time Index")]
public Identifier<TimeIndex> timeIndex
Field Value
Type | Description |
---|---|
Identifier<TimeIndex> |
Methods
Execute()
Execute method for the trajectory heuristic task.
Declaration
public Result Execute()
Returns
Type | Description |
---|---|
Result | Result success if the candidate pose performs better the current pose subject to the desired trajectory; Failure otherwise. |
Implements
Remarks
Animation poses implicitely define a future trajectory by looking at the subsequent root transforms given a reference pose. The trajectory heuristic task compares the trajectories of a current and candidate pose to a desired trajectory. It returns Success if the candidate trajectory performs better than the current trajectory subject to a user defined threshold. The purpose of this heuristic is to avoid pushing a new sampling time to the motion synthesizer too frequently. Ideally the goal is to only switch to a new sampling time if a potential candidate performs much better than the sampling time that is currently active.
ExecuteSelf(ref TaskRef)
Surrogate method for automatic task execution.
Declaration
public static Result ExecuteSelf(ref TaskRef self)
Parameters
Type | Name | Description |
---|---|---|
TaskRef | self | Task reference that is supposed to be executed. |
Returns
Type | Description |
---|---|
Result | Result of the task execution. |