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

Execute request fails on a real robot in ROS 2 Rolling #2140

Closed
hello-chintan opened this issue Apr 25, 2023 · 3 comments
Closed

Execute request fails on a real robot in ROS 2 Rolling #2140

hello-chintan opened this issue Apr 25, 2023 · 3 comments
Labels
bug Something isn't working

Comments

@hello-chintan
Copy link

hello-chintan commented Apr 25, 2023

Hello MoveIt 2 maintainers,

I am trying MoveIt 2 with ROS 2 Rolling and facing issues while working with a real robot. Through RViz, the planner generates a trajectory for a valid goal state, however, a subsequent attempt to execute the same trajectory fails with an error stating that the execution was timed out. The controller loads correctly, and I am able to execute well-formed trajectories directly through the joint trajectory server.

Upon investigating the log I found that the default planner is generating a trajectory consisting of multiple waypoints spaced over 0.0 seconds. This is impossible for the controller to achieve, as a result, the execution seems to time out instantly.

Are there any parameters in the config files that need to be changed to overcome this behavior?

  • ROS Distro: Rolling
  • OS Version: Ubuntu 22.04
  • Source built from the main branch
  • Cyclone DDS

Steps to reproduce

Move the joints to a goal state and plan using RViz, and then execute.

Expected behaviour

The joints should move to the goal state

Actual behaviour

The execution is timed out instantly without any movement

Backtrace or Console output

Here's the gist of the console output

@hello-chintan hello-chintan added the bug Something isn't working label Apr 25, 2023
@hello-chintan
Copy link
Author

To anyone reading this in the future, if you are moving from an older version of ROS 2 like Galactic, it is likely that you had an older algorithm of Time Parameterization added as the default planning adapter. In the ompl_planning.yaml file, one of the default planning adapters was set as "default_planner_request_adapters/AddTimeParameterization" which is no longer (or not yet) supported in Rolling.

The documentation very briefly mentions switching to Time Optimal Trajectory Generation (TOTG), This can be done by using "default_planner_request_adapters/AddTimeOptimalParameterization". Switching to this updated algorithm resolved this issue for me.

@AndyZe
Copy link
Member

AndyZe commented Apr 27, 2023

Good job debugging! I'm sorry I didn't pick up on this sooner. Made an issue to add better error coverage: #2145

On the bright side, your robot will move smoother for switching to TOTG.

@hello-chintan
Copy link
Author

@AndyZe, you actually helped! Your belated response to this rather old issue was the hint I needed.

Thanks for creating #2145. It would indeed be helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants