pyDynaMapp.trajectory package
Submodules
pyDynaMapp.trajectory.fourier module
- class pyDynaMapp.trajectory.fourier.FourierGenerator(trajectory_params: dict)[source]
Bases:
object
Base class for peroidic trajectories generation.
- Ref:
Fourier-based optimal excitation trajectories for the dynamic identification of robots Kyung.Jo Park - Robotica - 2006.
- computeConstraintedDifferentiationError(ti: float, tf: float, x, q0=None, qp0=None, qpp0=None)[source]
- computeFullTrajectory(ti: float, tf: float, q0=None, qp0=None, qpp0=None)[source]
Computes the full trajectory data between ti and tf
- computeTrajectoryCriterion(ti: float, tf: float, x, q0=None, qp0=None, qpp0=None) float [source]
Compute the trajectory identification criteria. The criteria mesures how the target x parmters changes du to a variation in W or in mesured torques for a linear or /linearized system τ ≈ W(q,qp,qpp,x0)x we use the Gramian matrix in calculations WTW wich is sysmetric square the cond number expressed as lamdamax/lamdmin.
- computeTrajectoryError(x, tspan, new_traj_params=None, q0=None, qp0=None, qpp0=None, verbose=False)[source]
- computeTrajectoryIdentifiability(ti, tf, torque, q, qp, qpp, x)[source]
Evaluate the regression criteria ε(qi, qpi, qppi, x) based on a given trajectory.
This function computes the regression criteria for a fixed system parameter vector x and a trajectory C(qi, qpi, qppi) computed previously. The trajectory is considered identifiable if the criteria is minimal for most of the time steps.
- Args:
qi: Generalized position coordinates of the trajectory. qpi: Generalized velocity coordinates of the trajectory. qppi: Generalized acceleration coordinates of the trajectory. x: Fixed system parameter vector.
- Returns:
Regression criteria value ε for the given trajectory and system parameters.
- Notes:
The trajectory is identifiable if ε remains minimal over most time steps.
TODO:
Investigate the relationship between the regression criteria evolution and
the trajectory C over time t.
- computeTrajectoryState(t: float = 0, q0=None, qp0=None, qpp0=None)[source]
Computes the trajectory states at time date t
- save2csv(ti: float, tf: float, file_path, q0=None, qp0=None, qpp0=None)[source]
compute a given trajectory and save it to csv file.
pyDynaMapp.trajectory.spline module
- class pyDynaMapp.trajectory.spline.SplineGenerator(trajectory_params)[source]
Bases:
object
- computeFullTrajectory(ti: float, tf: float, q0=None, qp0=None, qpp0=None)[source]
Computes the full trajectory between ti and tf.
- computeTrajectoryConstraints(qmax, qmin, qpmax, qpmin, qppmin, qppmax, ti, tf, q0=None, qp0=None, qpp0=None)[source]
Ensures trajectory meets specified constraints.
pyDynaMapp.trajectory.trajectory module
- class pyDynaMapp.trajectory.trajectory.TrajectoryGenerator(ndof=7, sampling=1000, ti=0, tf=1000)[source]
Bases:
object
Base class for general tarjectory motion generation. it uqses polynomail Args:
ndof - robot degree of freedom
sampling - sampling time-genration frequancy
nbWaypoints - number of genated pointed of the trakejctory
pyDynaMapp.trajectory.trapezoidal module
- class pyDynaMapp.trajectory.trapezoidal.TrapezoidalGenerator(njoints, nwaypoints, acc, delta_t1, delta_t2, Nf)[source]
Bases:
object
Base class for trapezoidal trajectories generation Args:
njoints number of joints
nwaypoints number of waypoints
acceleration values accelerated durations vel constant durations runtime
- Output:
q, qd, qdd