ros-industrial-consortium / descartes

ROS-Industrial Special Project: Cartesian Path Planner
Apache License 2.0
126 stars 92 forks source link

Problem with Changing Rotation Matrix along Path #217

Open demorise opened 6 years ago

demorise commented 6 years ago

I'm using Descartes to plan a path in which the yaw component of the rotation matrix of points changes in the course of the motion. I noticed that with a constant yaw, descartes generates a valid path, but once the yaw value is varied along the path, descartes gives an error of the form: "No edges between user input points at index i and i+1"

e.g. [ WARN] [1523422579.560259888]: No edges between user input points at index 425 and 426 [ERROR] [1523422579.561466246]: Could not solve for a valid path

With a little digging, I found out that the error occurs at points were there is a move between points with different yaw values (and hence different rotation matrices)

Please, any help on how to solve this will be highly appreciated. Thanks.

demorise commented 6 years ago

In case anybody faces a similar problem: So I found out the problem was from the "TimingConstraint(dt)" argument of CartTrajectoryPt. It was too small, so there wasn't enough time for the rotation to take place. I set it to -1, which caused it to be ignored, allowing the default joint velocity to be used for the rotation instead.

shaun-edwards commented 6 years ago

@demorise, thanks for the explanation. Am I right in assuming this can be closd?

demorise commented 6 years ago

@shaun-edwards Yes. Any additional insight will however be appreciated.