6 import geometry_msgs.msg
7 from std_msgs.msg
import String
10 rospy.init_node(
'publish_scene_collision', anonymous=
True)
11 collision_pub = rospy.Publisher(
'/collision_object', moveit_msgs.msg.CollisionObject, queue_size=1)
12 coll_ob = moveit_msgs.msg.CollisionObject()
13 shape = shape_msgs.msg.SolidPrimitive()
16 shape.type = shape.BOX
17 shape.dimensions = [1.4, 1.4, 0.01]
20 g_pose = geometry_msgs.msg.Pose()
21 g_pose.position.z = -0.01
25 buff1 = shape_msgs.msg.SolidPrimitive()
26 buff1.type = buff1.BOX
27 buff1.dimensions = [0.8, 1.825, 0.05]
28 buff1_pose = geometry_msgs.msg.Pose()
29 buff1_pose.position.x = -0.5
30 buff1_pose.position.z = 0.025
32 buff2_pose = geometry_msgs.msg.Pose()
33 buff2_pose.position.x = 0.5
34 buff2_pose.position.z = 0.025
36 buff3 = shape_msgs.msg.SolidPrimitive()
37 buff3.type = buff3.BOX
38 buff3.dimensions = [0.4, 0.825, 0.05]
39 buff3_pose = geometry_msgs.msg.Pose()
40 buff3_pose.position.y = -0.5
41 buff3_pose.position.z = 0.025
43 buff4_pose = geometry_msgs.msg.Pose()
44 buff4_pose.position.y = 0.5
45 buff4_pose.position.z = 0.025
49 wall1 = shape_msgs.msg.SolidPrimitive()
50 wall1.type = wall1.BOX
51 wall1.dimensions = [0.02, 2.5, 1.0]
52 wall1_pose = geometry_msgs.msg.Pose()
53 wall1_pose.position.x = -0.15
54 wall1_pose.position.y = 0.3
55 wall1_pose.position.z = 0.5
58 coll_ob.operation = coll_ob.ADD
59 coll_ob.header.frame_id =
"base_link" 60 coll_ob.id =
"ground_plane" 67 coll_ob.primitives.append(buff1)
68 coll_ob.primitive_poses.append(buff2_pose)
70 coll_ob.primitives.append(buff3)
71 coll_ob.primitive_poses.append(buff3_pose)
73 coll_ob.primitives.append(buff3)
74 coll_ob.primitive_poses.append(buff4_pose)
77 coll_ob.primitives.append(wall1)
78 coll_ob.primitive_poses.append(wall1_pose)
81 collision_pub.publish(coll_ob)
83 collision_pub.publish(coll_ob)
84 collision_pub.publish(coll_ob)
85 collision_pub.publish(coll_ob)
88 if __name__==
'__main__':
91 except rospy.ROSInterruptException:
def publish_scene_collision()