[ros-users] [Discourse.ros.org] [MoveIt!] A real-time motion planner?

Andy ros.discourse at gmail.com
Thu Mar 29 21:47:48 UTC 2018



This is just a discussion of if and how to integrate real-time motion planners in MoveIt!

Currently the jog_arm package does this with a Jacobian-based jogger -- it subscribes to joystick commands or force feedback commands to calculate a trajectory. I'm OK keeping this as a separate package but there are  lots of advantages to moving under the MoveIt! umbrella, I think.

Of course, it's also worth considering how future real-time planners might fit in... 

The jog_arm package has a C++ API that makes it easier for users to provide a jogging command programmatically. Usage of the API is like this, at present:

>   // Send motion commands with a jog_api object:
>   std::string move_group_name = "manipulator";
>   jog_api jogger(move_group_name);
> 
>   // 1cm tolerance on the linear motion.
>   // 0.01rad tolerance on the angular
>   // Scale linear velocity commands between -0.5:0.5
>   // Scale angular velocity commands between -1.0 : 1.0
>   // Timeout, i.e. stop sending commands, after 10s
>   if ( !jogger.jacobian_move(new_pose, 0.01, 0.01, 0.5, 1.0, ros::Duration(10)) )
>   {
>   	ROS_ERROR_STREAM("Jacobian move failed");
>   	return 1;
>   }

Pros of the real-time Jacobian planner, in comparison to the current MoveIt! planners:

* Determinism (if starting from the same pose, with the same target, its motion will be repeatable)
* ~0 planning time
* No reconfigurations, i.e. sudden, wild swings of the arm
* The trajectory can be altered in real-time

Drawbacks of the Jacobian planner:

* Trajectories can't be previewed in RViz
* The planner takes a straight line -- it doesn't know how to plan around obstacles, singularities, or joint limits
* This Jacobian technique is generally only useful over short distances.

Thanks!





---
[Visit Topic](https://discourse.ros.org/t/a-real-time-motion-planner/4354/1) or reply to this email to respond.




More information about the ros-users mailing list