KdlTrajectory's constructor now accepts motion parameter defaults (namely max velocity & acceleration).
A few dreadful but necessary try-catch blocks for handling KDL exceptions.
Race conditions are mitigated but not avoided in all cases. This actually demands some deeper insight I'm going to defer until #118 (currently blocked) is properly focused on. In other words, I'm intentionally introducing some technical debt that should be taken care of once we finally reach a stable codebase.
Added support for rectangular velocity profiles, which provides a means to issue constant-velocity straight movements with movv while keeping track of a position reference (line path). As a result, it's no longer mandatory to provide a duration value to KdlTrajectory nor to add two waypoints prior to calling create(): users may choose to register two points along the path (as usual) or one point with an initial twist, which is closely related to how a linear, constant-velocity path with infinite duration is supposed to work. Trajectories that obey a trapezoidal velocity profile can be configured in the same manner, too. I called this single-point-initial-twist case (regardless of the duration) a "velocity driven path", see relevant lines.
Coverage decreased (-0.5%) to 57.751% when pulling cdeb1501093860a76e99931a227a0ce8536e54e2 on fix-166-movv into 44355d36c0fd5d31a7e9834f2973f88c4e633edd on develop.
Resolves #166. Notable changes:
KdlTrajectory
's constructor now accepts motion parameter defaults (namely max velocity & acceleration).movv
while keeping track of a position reference (line path). As a result, it's no longer mandatory to provide a duration value toKdlTrajectory
nor to add two waypoints prior to callingcreate()
: users may choose to register two points along the path (as usual) or one point with an initial twist, which is closely related to how a linear, constant-velocity path with infinite duration is supposed to work. Trajectories that obey a trapezoidal velocity profile can be configured in the same manner, too. I called this single-point-initial-twist case (regardless of the duration) a "velocity driven path", see relevant lines.