Skip to main content

intrinsic.trajectory_tracking

intrinsic.trajectory_tracking

Tracks a given JointTrajectoryPVA provided as action parameter. The trajectory to be tracked is given as triples of joint positions, velocities and accelerations with time-stamps. This action assumes that the provided trajectory is feasible and performs no collision checking before or during execution. Employs a differentially consistent spline for fine-interpolation between provided setpoints. Trajectory execution will slow down/speed up according to the speed override factor in a differentially consistent and time-optimal way. That is, accelerations will temporarily exceed the nominal trajectory accelerations (but not the system limits). The provided trajectory must not violate the system limits. This action also holds a settling state estimator which monitors residual oscillations or tracking error transients after the trajectory has been played back, see state variable documentation for is_settled. If the provided trajectory ends in a non-zero velocity terminal state, the caller is responsible for appending a differentially consistent motion or controller, too.

This action does not have streaming inputs or streaming output.

Fixed Parameters

Message Type: intrinsic_proto.icon.actions.TrajectoryTrackingActionFixedParams

Realtime Signals

signal_path_accurate_stop

Requests a path-accurate stop along the given trajectory. The path-accurate stop is guaranteed to be time-optimal w.r.t. the given system limits.

State Variables

intrinsic.is_done (bool)

Builtin state variable that tells whether an action has completed

is_settled (bool)

This Action reports 'settled' as soon as the robot has reached a settled state after tracking the prescribed motion trajectory, only if its target velocity was zero.

is_settled_uncertainty (double)

Reports the uncertainty in the belief if the robot has settled or not as a continuous measure in the range [0,1]. 1 means maximum uncertainty (robot is not settled), and 0 minimum uncertainty (robot has settled).

trajectory_progress (double)

A value between 0.0 and 1.0 describing the progress along the nominal trajectory, where 1.0 means that the final setpoint has been reached. Describes the progress along setpoints, and not the actual physical robot state.

time_since_trajectory_start (double)

Wall time in seconds since the start of the trajectory. This does not consider variations due to clock errors but simply accumulates the fixed time step each cycle. The incrementing of this value is independent of global speed override values and always increments by a fixed value every cycle.

cartesian_arc_length_along_trajectory (double)

The current Cartesian arc length along the trajectory since trajectory start in meters. The Cartesian arc length is defined as the translational distance traversed by the tip, as defined in the trajectory planning.

distance_to_final_setpoint (double)

Euclidean norm of the difference between the final trajectory position setpoint and the currently sensed joint position.

trajectory_done_for_seconds (double)

Time (in seconds) since the final setpoint was commanded. Will be zero in the cycle that the final setpoint is commanded and in all cycles before that.