LIN Linear Trajectory Planning#
This planner generates a linear Cartesian trajectory between the start pose and target pose. It uses Cartesian limits to generate a trapezoidal velocity profile in Cartesian space. Translational motion is a linear interpolation between the start and target position vectors. Rotational motion is a quaternion linear interpolation between the start and target orientations. Translational and rotational motion are synchronized in time.
This planner accepts only a start state with zero velocity. Its output is a joint trajectory. If motion planning fails because of a joint-space limit violation, adjust the Cartesian velocity/acceleration scaling factors.
If planning fails because a velocity limit is exceeded, specify whether planning failure is allowed. If it is allowed, the Cartesian-space trajectory will be interpolated using the configured number of interpolation points. This results in more planning points than expected and correspondingly slows both planning and trajectory execution.
Note that if a singularity causes the velocity at one trajectory point to diverge, the planning result cannot be guaranteed to reach the target point.
When using LIN planning, configure the following parameters in options:
velocity_scaling_factor: Scaling factor for the maximum joint velocityacceleration_scaling_factor: Scaling factor for the maximum joint acceleration/decelerationsampling_time: Sampling interval (in seconds)allow_planning_time: Maximum allowed planning timeforce_calc_lin: Allows the interpolation strategy to be returned after planning failslin_interpolate_num: Number of interpolation points between each pair of points in the interpolation strategy returned after linear planning fails; larger values have a more pronounced effectlin_hard_threshold: Hard velocity threshold for the linear-planning interpolation strategy. If wrist flipping caused by a singularity makes the velocity diverge beyond this threshold, planning is forced to fail