ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Smooth movement in MoveIt! and ROS

asked 2020-01-14 05:02:02 -0600

drodgu gravatar image

Hi everyone,

I'm developing an application with an UR10 robot. I want the robot to follow a row of points without stopping when it reaches each of these points. I've made a little research and you can use carthesian planner in order to follow a waythrough path. This way of moving a robot could be a solution if I wouldn't need some flexibility because this row of points can change while the manipulator is moving.

I guess that you can dynamically change these waythrough path points but unless you recompute the trajectory the robot won't change its trajectory to match with these new points. So, my first question is: 1) Is there any way to change this trajectory online (while the robot is moving) in order to match with the new points?

As using waythrough points seems not to be an accurate solution to my application, I've tried with move_group.asynMove() in order to move in a non-blocking way. The problem this solution has is that you might implement your own navigation stack and it can failed if the robot is moving quickly because the start point of the trajectory is not the same as the end point. I've also read that MoveIt! has a navigation stack, but navigation stack notion it's still unclear to me. So, 2) What is the navigation stack? If it might be a solution, 3) How can I use it properly in order to achieve this?

I've worked with ROS for 8 months now and I'm not exactly new in this. But I've never ever used MoveIt with this level of task accuracy and I might be forgeting lots of things. 4) Are there any other ways to move the robot as I want using MoveIt! or should I forget about using MoveIt! and create my own code to feed ROS Controllers?

Thanks in advance for your help and your time!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2020-01-14 10:06:31 -0600

AndyZe gravatar image

updated 2021-05-25 11:21:23 -0600

fvd gravatar image

Take a look at the jog_arm package within MoveIt (edit: name changed to moveit_servo (tutorial))

It pretty much does the same thing as the Cartesian planner but it can update in real time.

edit flag offensive delete link more


Thank you! I will have a look to that package. That's really useful

drodgu gravatar image drodgu  ( 2020-01-15 01:22:07 -0600 )edit

Here's a tutorial for it. You're fortunate that the tutorial was made for a UR5.

AndyZe gravatar image AndyZe  ( 2020-01-15 09:12:40 -0600 )edit

Thank you very much!! That tutorial is very inspiring and useful!

drodgu gravatar image drodgu  ( 2020-01-15 09:31:31 -0600 )edit

Is there an updated link to this package?

riverray gravatar image riverray  ( 2021-04-13 12:39:30 -0600 )edit

It's now called moveit_servo. I updated the answer.

fvd gravatar image fvd  ( 2021-04-14 04:34:24 -0600 )edit

Thanks for updating the answer!

drodgu gravatar image drodgu  ( 2021-04-14 05:02:22 -0600 )edit

Hello @fvd,

Thanks for sharing these links. Can you please re-put the link of jog_arm package?

Ranjit Kathiriya gravatar image Ranjit Kathiriya  ( 2021-05-25 10:52:30 -0600 )edit

Question Tools



Asked: 2020-01-14 05:02:02 -0600

Seen: 991 times

Last updated: May 25 '21