mstraj
Multi-segment multi-axis trajectory
traj = mstraj(p, qdmax, tseg, q0, dt, tacc, options) is a trajectory
(KxN) for N axes moving simultaneously through M segment. Each segment
is linear motion and polynomial blends connect the segments. The axes
start at q0 (1xN) and pass through M-1 via points defined by the rows of
the matrix p (MxN), and finish at the point defined by the last row of p.
The trajectory matrix has one row per time step, and one column per
axis. The number of steps in the trajectory K is a function of the
number of via points and the time or velocity limits that apply.
- P (MxN) is a matrix of via points, 1 row per via point, one column
per axis. The last via point is the destination.
- QDMAX (1xN) are axis speed limits which cannot be exceeded,
- TSEG (1xM) are the durations for each of the K segments
- Q0 (1xN) are the initial axis coordinates
- DT is the time step
- TACC (1x1) this acceleration time is applied to all segment transitions
- TACC (1xM) acceleration time for each segment, TACC(i) is the acceleration
time for the transition from segment i to segment i+1. TACC(1) is also
the acceleration time at the start of segment 1.
traj = mstraj(segments, qdmax, q0, dt, tacc, qd0, qdf, options) as above
but additionally specifies the initial and final axis velocities (1xN).
Options
Notes
- Only one of QDMAX or TSEG should be specified, the other is set to [].
- If no output arguments are specified the trajectory is plotted.
- The path length K is a function of the number of via points, Q0, DT
and TACC.
- The final via point P(end,:) is the destination.
- The motion has M segments from Q0 to P(1,:) to P(2,:) ... to P(end,:).
- All axes reach their via points at the same time.
- Can be used to create joint space trajectories where each axis is a joint
coordinate.
- Can be used to create Cartesian trajectories where the "axes"
correspond to translation and orientation in RPY or Euler angle form.
See also
mtraj, lspb, ctraj
© 1990-2014 Peter Corke.