## A General Multi-Segment Min. Crackle Trajectory Toolbox (V2)

version 1.0.3 (12.2 KB) by
A toolbox that can generate and plot the multi-segment min. crackle trajectory with any number of waypoints (all waypoints are constrained)

Updated 24 Mar 2021

** Please note that there are two versions of this code. This version (V2), which requires velocity, acceleration, jerk and snap constraints at all waypoints. The other version, (V1), which requires the boundary conditions only can be found in:
https://www.mathworks.com/matlabcentral/fileexchange/78628-a-general-multi-segment-min-crackle-trajectory-toolbox-v1

This is a toolbox that can be used to generate and plot the multi-segment minimum crackle trajectory that satisfies the following:
1) Passes through any number of waypoints at certain times.
2) Satisfies certain conditions for velocity, acceleration, jerk and snap of all waypoints.

Features:
1) It is a straightforward package as everything is in one file and all the user needs is to enter very few inputs, then run the code.
2) It is general, which means that it works with 2D and 3D trajectories and can deal with any number of waypoints.

Inputs:
1) Positions of the waypoints (2D or 3D).
2) The desired time of each waypoint.
3) The desired velocity, acceleration, jerk and snap of all of the waypoints..

Outputs:
1) The simulation time vector (t) in case the user wants to perform further analysis.
2) The Coefficient Vector (C), which contains all the coefficients of the 9th degree polynomials of the position trajectory segments. It has a dimension (10n), where n is the number of trajectory segments. The first 10 elements are the coefficients of the first trajectory segment, the second 10 elements are for the second segment and so on so forth. for each segment, the first coefficient is associated with (t^5) and the so on until the 10th coefficient in the segment which is associated with (t^0).
3) The minimum crackle trajectory and the corresponding trajectory for the velocity and the acceleration (PP, VV, AA) each as a matrix of size (d,n), where d is the dimension of the problem (2D or 3D) and n is the number of trajectory segments.
4) The minimum crackle trajectory and the corresponding trajectory for the velocity and the acceleration (POS, VEL, ACC) each as a piecewise function of time. This is a piecewise matrix of size (d,n), where d is the dimension of the problem (2D or 3D) and n is the number of trajectory segments.
5) The minimum crackle trajectory and the corresponding trajectory for the velocity and the acceleration (P, V, A) each as a numerical matrix. The numerical values are obtained after substituting the trajectory time into the piecewise function. This is a matrix of size (tt,n), where tt is the dimension of the simulation time vector and n is the number of trajectory segments.
6) Several plot such as: Position vs time (each direction on a separate subplot), Velocity vs time (each direction on a separate subplot), Acceleration vs time (each direction on a separate subplot), The path of motion (in 2D or 3D), The velocity path of motion (in 2D or 3D), The acceleration path of motion (in 2D or 3D).

### Cite As

Hassan Alkomy, Jinjun Shan (2021). A General Multi-Segment Min. Crackle Trajectory Toolbox (V2) (https://www.mathworks.com/matlabcentral/fileexchange/78625), MATLAB Central File Exchange. Retrieved March 24, 2021.

##### MATLAB Release Compatibility
Created with R2020a
Compatible with any release
##### Platform Compatibility
Windows macOS Linux