-
Notifications
You must be signed in to change notification settings - Fork 75
Reference manual
Consider a trajectory of dimension n and composed of p chunks, of durations T[0],...,T[p-1]. Each chunk is given by n polynomials. Assume that the jth polynomial of ith chunk is given by (weak coefficients first):
P[i,j,0] + P[i,j,1]*x + ... + P[i,j,d]*x^d.
Then the string describing the trajectory will be given by:
T[0] n P[0,0,0] P[0,0,1] ... P[0,0,d] ... P[0,n-1,0] P[0,n-1,1] ... P[0,n-1,d] ... ... T[p-1] n P[p-1,0,0] P[p-1,0,1] ... P[p-1,0,d] ... P[p-1,n-1,0] P[p-1,n-1,1] ... P[p-1,n-1,d]
Consider a system of dimension n.
The first line of the constraint string must consist of one float value, discrtimestep, which is the time step to discretize the system dynamics and compute the Maximum Velocity Curves.
The following lines describe the constraints that the system is subject to.
Here the velocity and acceleration of each dof is limited. The acceleration and velocity limits are assumed to be symmetrical. Then the constraint string will be given by:
discrtimestep vmax[0] vmax[1] ... vmax[n-1] amax[0] amax[1] ... amax[n-1]
Here the velocity and torque of each dof is limited. The velocity limits are assumed to be symmetrical. Then the constraint string will be given by:
discrtimestep vmax[0] vmax[1] ... vmax[n-1] taumin[0] taumin[1] ... taumin[n-1] taumax[0] taumax[1] ... taumax[n-1]
Here the velocity is symmetrically limited. In addition, there are m general constraints of the form (see our paper « A general, fast, and robust implementation of the time-optimal path parameterization algorithm » for details about quadratic constraints)
ai sddot + bi sdot^2 + ci ≤ 0 for 0 ≤ i ≤ m-1.
Assume furthermore that the trajectories has been discretized into N time steps (NB: an error will be returned if discrtimestep*(N-1) ≠ trajectoryduration).
Then the constraint string will be given by:
discrtimestep vmax[0] vmax[1] ... vmax[n-1] a[0,0] a[0,1] ... a[0,m-1] b[0,0] b[0,1] ... b[0,m-1] c[0,0] c[0,1] ... c[0,m-1] ... a[N-1,0] a[N-1,1] ... a[N-1,m-1] b[N-1,0] b[N-1,1] ... b[N-1,m-1] c[N-1,0] c[N-1,1] ... c[N-1,m-1]
To do. See also the paper http://www.ntu.edu.sg/home/cuong/docs/overactuated.pdf
Here the velocity limits are assumed to be symmetrical. Suppose there are M bottles. The ZMP of each bottle, which depends on its height, must be limited in its supporting area. Let the bottle[i] has dimension of 2bottlex[i] x 2bottley[i] x 2bottleh[i]. As for the simplified version of friction constraint, the friction force must be in the friction pyramid given by the friction coefficient mu. Then the constraint string will be given by:
discrtimestep vmax[0] vmax[1] ... vmax[n-1] M bottlex[0] bottley[0] bottleh[0] bottlex[1] bottley[1] bottleh[1] ... bottlex[M-1] bottley[M-1] bottleh[M-1] mu
-
integrationtimestep
: time step for integrating the profiles ; if not set or 0, then will be automatically determined -
reparamtimestep
: time step for reparameterizing the trajectory ; if not set or 0, then will be automatically determined -
passswitchpointnsteps
: number of steps to go through a switch points ; set to 5 by default -
extrareps
: number of extra repetitions to do time parameterization ; set to 0 by default