Maintaining end effector orientation throughout execution.

103 views
Skip to first unread message

Nick Pestell

unread,
May 9, 2016, 4:09:19 AM5/9/16
to MoveIt! Users
Hello all,

I am working with the ur5 robot. I would like to be able to reposition the end effector between between points with Cartesian coordinates whilst maintaining its vertical orientation throughout the execution. Currently I'm able to reposition the end effector successfully with the desired orientation when the robot is on goal, using moveit_commander, with plan() and execute(). However, particularly for large movements, the end effector will deviate from this desired orientation when moving between start and goal states. 

Is there a way to maintain the end effector orientation throughout execution with my current set up or is something more involved required, for example trajectory control or something similar?

Many thanks,

Nick 

Minerva Vargas

unread,
May 12, 2016, 9:05:37 AM5/12/16
to MoveIt! Users
Hello,

I am new to MoveIt!, but I think you could use IKFast, it gives you more options for configuring the orientation.

Qiang Qiu

unread,
May 17, 2016, 12:39:31 AM5/17/16
to MoveIt! Users
Hi Nick,

As Minerva mentioned, the IKFast provides position-only IK, you can use it direct.

Besides, if you are using MoveIt!, there are another two choices:

1. use computeCartesianPath() to calculate and excute the Cartesian path from start_pos to end_pos, if the star_pos and end_pos have a similar orientation, the computed Cartesian path will maintain the orientation of end-effector.

2. If you want to plan a collision-free path, you can implement planning path constraints. the orientation_constraints can help to maintain the orientation of end-effector. But this will increase planning time.

Best Regards!

Qiang Qiu

unread,
May 17, 2016, 12:40:48 AM5/17/16
to MoveIt! Users
Refer to this Link


On Monday, May 9, 2016 at 4:09:19 PM UTC+8, Nick Pestell wrote:

Nick Pestell

unread,
May 17, 2016, 6:56:25 AM5/17/16
to MoveIt! Users
Thank you, I hope to get round to looking into IKFast at some point as this seems to be what a lot of people are using. I'm not sure however, does the planning have state validity checks, as in, does it take note of limits put in oint_limits.yaml and the the collision objects in urdf? 

Thanks again,

Nick

Nick Pestell

unread,
May 17, 2016, 6:57:27 AM5/17/16
to MoveIt! Users
Thank you for your advice that's exactly what I was looking for! Will try to implement when I have a little more time.

Regards,

Nick
Reply all
Reply to author
Forward
0 new messages