Current state of Cartesian functionality in MoveIt!
Can anyone comment on (or link to) the current state and/or future plans of MoveIt!'s Cartesian functionality? Maybe I am off base or missing something but I feel that MoveIt! lacks in terms of general support for such motions.
I am aware of things like the Cartesian Path Planner Plugin and moveit::planning_interface::MoveGroupInterface::computeCartesianPath
but these seems to assume "as fast as possible"
motions and/or require subsequent custom time parameterization by the user. What about support for linear moves with Cartesian velocity limits/targets that are supported by basically all industrial robot controller (e.g., movelin, circ, constant velocity splines, blending, etc.).
I would be happy to help develop on such a front (and even have some stuff implemented already) but admittedly don't know what all exists to date or if anything is planned. Is this wanted by the community and, if so, where do I start?
Something to live in moveit_core/trajectory_processing
possibly?
I believe this is a topic that is going to be discussed at the next MoveIt maintainers meeting.
tbh I've never felt that MoveIt was necessarily 'missing' something here, per se. It's initial design just didn't include this functionality, as it was not part of its ..
.. functional requirements (ie: planning collision free paths for n-dof systems in joint space, where the destination matters, not the path itself necessarily). With the increased usage of ROS (and consequently MoveIt) in more 'industrial' contexts, where Cartesian trajectories are more ..
.. prevalent, and typically constructed piece-wise from simple motion primitives, the discrepancy between what MoveIt was created for and these new use-cases became more and more noticable.
Not claiming that this should not be addressed, just that there's a rationale for it.
Sounds good; I look forward to hearing the outcome. :)
Fair enough, however, I think it belongs somewhere in ROS/ROS-I if not in MoveIt specifically
Oh, I completely agree that this is functionality that we all would like to have. I'm not disagreeing with you there.
I just wanted to mention that this is not supported as it was never really what MoveIt was intended for (or at least, insofar as we can know what it was intended for).