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

MoveIt! Look at/point at while moving

asked 2017-09-29 08:48:15 -0500

Managarm gravatar image

Hello!

For our experiments we need our UR5 to keep the end effector pointing at specific targets while the arm is moving. Since the OrientationConstraint appears to just fix the relevant wrist joints in place, this seems not to be what we want. Is there an easy way to do it/some existing code we could use? I'd like to avoid having to implement a custom controller - I'm not even sure at which point I'd have to insert it. Maybe the UR driver?

Hope you can give me some hints. Thanks! ~

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2017-09-30 04:39:09 -0500

gvdhoorn gravatar image

updated 2017-09-30 04:39:44 -0500

I'm not sure how useful this is going to be, but I wanted to mention it: there is a VisibilityConstraint in the moveit_msgs package. From the msg documentation:

The constraint is useful to maintain visibility to a disc (the target) in a particular frame. This disc forms the base of a visibiliy cone whose tip is at the origin of the sensor. Maintaining visibility is done by ensuring the robot does not obstruct the visibility cone.

Note:

This constraint does NOT enforce minimum or maximum distances between the sensor and the target, nor does it enforce the target to be in the field of view of the sensor. A PositionConstraint can (and probably should) be used for such purposes.

I haven't used this myself, but I have the impression this would come closest to what you describe in your OP.

The reason I started my answer with "I'm not sure how useful this is going to be" is that constraints are non-trivial to get working correctly with MoveIt plan requests, so starting with this might lead you down a path where you have to spend quite some effort to get it to do what you want.

It could also "just work".


I'm not entirely sure whether it will help, but you could also take a look at the bio_ik package created by the TAMS group at Hamburg University. It also supports a nr of constraints that could potentially do what you are after.

edit flag offensive delete link more

Comments

Thanks for the suggestion. I might try that if nothing else works, but from what I've found it is not what I need. I have to admit though that the bio_ik package looks intriguing!

Managarm gravatar image Managarm  ( 2017-10-04 02:58:11 -0500 )edit

Which bit is "not what [you] need"? The VisibilityConstraint?

gvdhoorn gravatar image gvdhoorn  ( 2017-10-04 02:59:41 -0500 )edit

The VisibilityConstraint. I think I'll try to use bio_ik though. I didn't have time to integrate it yet, but I'll get back to you when I do. Should probably happen this year... Thanks!

Managarm gravatar image Managarm  ( 2017-10-13 07:06:59 -0500 )edit
0

answered 2017-09-29 09:07:09 -0500

AndyZe gravatar image

updated 2017-09-29 12:18:01 -0500

I suppose you could set a vector of desired positions. Then calculate the required orientation at each of those positions with the look_at_pose package.

Now that you have a position and an orientation, send the pose commands with the MoveGroup interface or URscript.

edit flag offensive delete link more

Comments

MoveGroup interface is probably easier. URscript uses an axis/angle orientation representation that doesn't mesh well with ROS.

AndyZe gravatar image AndyZe  ( 2017-09-29 16:51:43 -0500 )edit

Hm, that sounds like an easy solution. I think I'll try that out. Thanks!

Managarm gravatar image Managarm  ( 2017-10-04 02:59:36 -0500 )edit

Question Tools

Stats

Asked: 2017-09-29 08:48:15 -0500

Seen: 683 times

Last updated: Sep 30 '17