[Documentation] [TitleIndex] [WordIndex

trajectory/Reviews

Package proposal

Proposal for a package that takes as input a WaypointTrajWithLimits message - a set of positions, (velocities, accelerations, times) and parameterizes them using different types of spline representations. The input message includes specifications of joint limits and whether the joint wraps around.

Why do we need this package

Here's a simple example of why we need this package. Suppose you have two joints and a planner/decision maker gives you a path for the two joints of this form:

lspb_original.jpg

Note how jagged the path is. Further, its possible that this path does not obey velocity and acceleration limits for this particular joint. This package provides functionality to convert this path into a time parameterized trajectory that obeys velocity and acceleration limits. E.g., let the maximum velocities for joints 1 and 2 be (0.5,0.25) and the maximum accelerations be (0.25,0.5). A trajectory that obeys these limits and yet goes through the positions specified in the input is given in the figures below. Note that the velocities and accelerations for each joint do not exceed the specified limits.

lspb_pos.jpg

lspb_vel.jpg

lspb_acc.jpg

API Proposal

The API is simple. A base class contains two main functions:

In addition, there are a few helper functions.

Question / concerns / comments

Stu

My main issue is that this is not a generic "trajectory" package. It's doing a specific thing: it's resampling a trajectory into a list of splines, and then sampling from those splines. Let's call this something like "trajectory_resampler" and avoid trying to create a generic trajectory library right now.

Additionally, it's difficult to tell what it handles as input. I expect it to take in some combination of positions, velocities, accelerations, and times, but looking at the code I'm pretty sure it doesn't take in every combination. Documenting precisely what it takes in would be a good start.

I also have a few lower-level suggestions:

In conclusion, I don't think this should become a public API. It will be useful internally for certain nodes, but it needs a few more iterations before I would consider the API polished and ready for external consumption.

Vijay

Old Package proposal

Proposal for a trajectory package that does general n-DOF trajectory interpolation. This package is needed to specify trajectories for the arm/base and interpolate between points in the trajectory.

Features

Question / concerns / comments

Enter your thoughts on the design and any questions / concerns you have here. Please sign your name.

Vijay

Package review meeting notes

Create new package review

Enter the date in the appropriate box to generate a template for an API or code review meeting. Check the QAProcess page for more information.



2022-05-28 13:05