Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adopt rectangular velocity profiles in BasicCartesianControl::movv #170

Merged
merged 11 commits into from
Dec 16, 2018

Conversation

PeterBowman
Copy link
Member

Resolves #166. Notable changes:

  • 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 Monitor internal state in BasicCartesianControl/CartesianControlServer #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.
  • Enhanced unit tests.

@coveralls
Copy link

Coverage Status

Coverage decreased (-0.5%) to 57.751% when pulling cdeb150 on fix-166-movv into 44355d3 on develop.

Copy link
Member

@jgvictores jgvictores left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very impressive, and very useful (also for #134 and #168)!

@jgvictores jgvictores merged commit 22e7489 into develop Dec 16, 2018
@jgvictores jgvictores deleted the fix-166-movv branch December 16, 2018 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

BasicCartesianControl::movv should follow a velocity-driven trajectory
3 participants