-
Notifications
You must be signed in to change notification settings - Fork 173
Make TimeParamerization configurable #339
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -36,7 +36,6 @@ | |
| /* Authors: Luca Lach, Robert Haschke */ | ||
|
|
||
| #include <moveit/task_constructor/merge.h> | ||
| #include <moveit/trajectory_processing/iterative_time_parameterization.h> | ||
|
|
||
| #include <boost/range/adaptor/transformed.hpp> | ||
| #include <boost/algorithm/string/join.hpp> | ||
|
|
@@ -106,7 +105,8 @@ moveit::core::JointModelGroup* merge(const std::vector<const moveit::core::Joint | |
|
|
||
| robot_trajectory::RobotTrajectoryPtr | ||
| merge(const std::vector<robot_trajectory::RobotTrajectoryConstPtr>& sub_trajectories, | ||
| const robot_state::RobotState& base_state, moveit::core::JointModelGroup*& merged_group) { | ||
| const robot_state::RobotState& base_state, moveit::core::JointModelGroup*& merged_group, | ||
| const trajectory_processing::TimeParameterization& time_parameterization) { | ||
| if (sub_trajectories.size() <= 1) | ||
| throw std::runtime_error("Expected multiple sub solutions"); | ||
|
|
||
|
|
@@ -166,8 +166,7 @@ merge(const std::vector<robot_trajectory::RobotTrajectoryConstPtr>& sub_trajecto | |
| } | ||
|
|
||
| // add timing | ||
| trajectory_processing::IterativeParabolicTimeParameterization timing; | ||
| timing.computeTimeStamps(*merged_traj, 1.0, 1.0); | ||
| time_parameterization.computeTimeStamps(*merged_traj, 1.0, 1.0); | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This can (and could before) break a lower specified dynamics limit in one of the merged trajectories. The merged trajectory might suddenly be "inexplicably" faster. But the real solution to this is not adding yet another set of parameters, but implement a "proper" merge, that does not need to compute a whole new timing for the trajectory, but resamples the trajectories as needed.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please file an issue as a reminder... |
||
| return merged_traj; | ||
| } | ||
| } // namespace task_constructor | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just saw you backported the polymorphic base class change to melodic. So this should be unnecessary.
But Jafar and you both did not notice the missing pointers in the original patch, so I just filed this PR. It might be worth creating a patch release for melodic with this addition as well. If you should do that, these lines can go away
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Until we have a new release of MoveIt, this addition is required. Do you propose a patch release of MoveIt before?
I could do that over the weekend indeed...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess you can remove this now. :)