MATLAB File Help: HebiTrajectoryGenerator/estimateTime
HebiTrajectoryGenerator/estimateTime
  estimateTime creates a time vector that respects velocity limits
 
  Arguments:
 
    Positions     - [numWaypoints x numJoints] matrix
 
  Parameters:
 
    'VelocityLimits' [rad/s] is a vector of velocity 
    limits for each joint.
 
    'AccelerationLimits' [rad/s^2] is a vector of acceleration
    limits for each joint
 
    'Heuristic' is the internally used heuristic: 
      - 'NFabian' estimates the segment time based on the
        maximum accel and velocity provided.
      - 'VelocityRamp' estimates the segment times based on
        a trapezoidal velocity profile
      - 'MinJerk' is a basic heuristic that simply divides the
        distance by the maximum velocity
 
    'FabianConstant' is a magic constant used only for the
    'NFabian' method.
 
    'ApplyScalingStep' applies a second step after the initial
    heuristic that scales the time such that the result is
    exactly within the velocity limits. (defaults to true)
 
    Example:
        % Estimate time vector for multi-joint waypoints
        position = [
            0, 1, 2, 3
            2, 3, 4, 5
            6, 2, 6, 2
            1, 2, 3, 3
            5, 7, 7, 9
        ];
        trajGen = HebiTrajectoryGenerator();
             
        % Estimate time
        time = trajGen.estimateTime(position, ...
            'VelocityLimits', [3, 2, 3, 4], ...
            'AccelerationLimits', [500, 250, 500, 250], ...
            'heuristic', 'VelocityRamp');
 
        % Compute trajectory with the estimated time vector
        trajectory = trajGen.newJointMove(position, 'time', time);
        HebiUtils.plotTrajectory(trajectory)
See also
Method Details
Access public
Sealed false
Static false