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

Specifying new trajectory when old trajectory already running- `ur_modern_driver`

asked 2018-03-12 05:34:54 -0600

prajval10 gravatar image

updated 2018-03-12 05:38:40 -0600

I have a trajectory running on the UR10 (in URSim) with 3 points. I'd like to interrupt and send new trajectory commands. I get an error:

Goal start doesn't match current pose

I looked into :

A possible way to solve this is by specifying the time_from_start as non-zero value. How do I get the current time to make sure the current pose is considered as first point of the trajectory. I tried time_from_start=rospy.Duration( but it doesn't work.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-03-12 08:42:52 -0600

gvdhoorn gravatar image

updated 2018-03-12 08:46:59 -0600

What you're trying to do can't work (at least not with current HEAD of ur_modern_driver): the driver checks a few constraints upon receiving a new goal and one of them is whether the first trajectory point in the trajectory is sufficiently close to the 'current pose' of the robot (here).

A possible way to solve this is by specifying the time_from_start as non-zero value.

As ThomasTimm/ur_modern_driver#36 explains, this check does not depend on time, but on the joint angles of the robot at the time the goal is received.

I'm not sure how setting the time_from_start to some value will influence this.

Edit: trajectory replacement (which is sort of the 'official' name for what you are trying to do) is supported by the joint_trajectory_controller of ros_control. ur_modern_driver has support for ros_control (and that side of the driver does not include the 'start state check'), however that comes with its own set of constraints and requirements.

You could look into that, but please carefully review the open issues.

Edit2: you may also want to take a look at ThomasTimm/ur_modern_driver#120, which is a candidate upgrade of ur_modern_driver, and Zagitta/ur_modern_driver#9, which is an upgrade / extension of that.

Zagitta/ur_modern_driver#9 does not influence ros_control performance / compatibility at all.

edit flag offensive delete link more


Thanks! @gvdhoorn

prajval10 gravatar image prajval10  ( 2018-03-12 08:52:49 -0600 )edit

Question Tools

1 follower


Asked: 2018-03-12 05:34:54 -0600

Seen: 171 times

Last updated: Mar 12 '18