Ask Your Question
0

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

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

prajval10 gravatar image

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

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 : https://github.com/ThomasTimm/ur_mode...

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(rospy.Time.now())) but it doesn't work.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

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

gvdhoorn gravatar image

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

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

Comments

Thanks! @gvdhoorn

prajval10 gravatar imageprajval10 ( 2018-03-12 08:52:49 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

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

Seen: 75 times

Last updated: Mar 12 '18