How to use MOVE operation within the moveit_msgs::CollisionObject message

744 views
Skip to first unread message

Michael Francis

unread,
Apr 29, 2015, 5:38:51 PM4/29/15
to moveit...@googlegroups.com

Hey everyone

I am having problems trying to understand how change the pose of a collision object that I have already added into the planning scene. I found that one of the operations that can be done using the CollisionObject message is called MOVE. However I am unsure how I can use the operation. Unlike with how to add or remove a collision object there isnt any tutorial on how to use the move operation. I did try sending a message over the collision_object ros topic using a moveit_msg::CollisionObject msg. The message got sent successfully over the ros topic, however the move_group node process died, leaving this error:

move_group-4] process has died [pid 10631, exit code -11, cmd /home/mfrancis/catkin_ws/devel/lib/moveit_ros_move_group/move_group --debug __name:=move_group __log:=/home/mfrancis/.ros/log/44a4b390-eeb7-11e4-a9fc-b8ca3ab282dc/move_group-4.log].
log file: /home/mfrancis/.ros/log/44a4b390-eeb7-11e4-a9fc-b8ca3ab282dc/move_group-4*.log


I am not sure why it happened. So if anyone has any idea of how to move an already created collision object, your help would be most appreciated. 

Sincerely
Mike

Francisco Viña

unread,
Apr 30, 2015, 3:41:38 AM4/30/15
to moveit...@googlegroups.com
Hi,

Are you using the python interface?

I've used the move operation recently by just publishing to the  /collision_object topic a  CollisionObject message  and it worked fine.

Here is my python code

collision_object_pub = rospy.Publisher('/collision_object', moveit_msgs.msg.CollisionObject)
shelf_collision_object_msg = moveit_msgs.msg.CollisionObject()
shelf_collision_object_msg.operation = shelf_collision_object_msg.MOVE

shelf_collision_object_msg.id = 'shelf'
shelf_collision_object_msg.mesh_poses = [shelf_pose]
shelf_collision_object_msg.header.stamp = rospy.Time.now()
shelf_collision_object_msg.header.frame_id = base_frame_id

collision_object_pub.publish(shelf_collision_object_msg)

Are you sure the object was correctly added to the planning scene (look at it in RVIZ)

Best,

Francisco

Michael Francis

unread,
Apr 30, 2015, 11:12:56 AM4/30/15
to moveit...@googlegroups.com
Hey Francisco

I am using the c++ language. I followed your methodology of using the move operation, and it worked! I think my problem may have been how I was trying to publish a static collisionobject message. Once I created a local collisionobject msg like you did and followed your sequence of commands and everything worked!

Hope that helps other people too who try to use the MOVE operation!

Jonathan Bohren

unread,
Apr 30, 2015, 11:40:57 AM4/30/15
to Michael Francis, moveit...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages