00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #include <ros/ros.h>
00040
00041 #include <mapping_msgs/AttachedCollisionObject.h>
00042 #include <geometric_shapes_msgs/Shape.h>
00043
00044 int main(int argc, char** argv) {
00045
00046 ros::init(argc, argv, "attachCylinder");
00047
00048 ros::NodeHandle nh;
00049
00050 ros::Publisher att_object_in_map_pub_;
00051 att_object_in_map_pub_ = nh.advertise<mapping_msgs::AttachedCollisionObject>("attached_collision_object", 10);
00052 sleep(2);
00053
00054
00055 mapping_msgs::AttachedCollisionObject att_object;
00056 att_object.link_name = "r_gripper_r_finger_tip_link";
00057
00058 att_object.object.id = "attached_pole";
00059 att_object.object.operation.operation = mapping_msgs::CollisionObjectOperation::ADD;
00060
00061 att_object.object.header.frame_id = "r_gripper_r_finger_tip_link";
00062 att_object.object.header.stamp = ros::Time::now();
00063 geometric_shapes_msgs::Shape object;
00064 object.type = geometric_shapes_msgs::Shape::CYLINDER;
00065 object.dimensions.resize(2);
00066 object.dimensions[0] = .02;
00067 object.dimensions[1] = 1.2;
00068 geometry_msgs::Pose pose;
00069 pose.position.x = 0.0;
00070 pose.position.y = 0.0;
00071 pose.position.z = 0.0;
00072 pose.orientation.x = 0;
00073 pose.orientation.y = 0;
00074 pose.orientation.z = 0;
00075 pose.orientation.w = 1;
00076 att_object.object.shapes.push_back(object);
00077 att_object.object.poses.push_back(pose);
00078 att_object.touch_links.push_back("r_gripper_palm_link");
00079 att_object.touch_links.push_back("r_gripper_r_finger_link");
00080 att_object.touch_links.push_back("r_gripper_l_finger_link");
00081 att_object.touch_links.push_back("r_gripper_l_finger_tip_link");
00082
00083 att_object_in_map_pub_.publish(att_object);
00084
00085 ROS_INFO("Should have published");
00086
00087 ros::Duration(2.0).sleep();
00088
00089 ros::shutdown();
00090
00091 }