From 9780e44c1ed67286f3d4ba2899691b7ddfdd4d31 Mon Sep 17 00:00:00 2001 From: Bill Finger Date: Wed, 19 Mar 2025 16:32:47 +0300 Subject: [PATCH] update robot gripper and current scene - added bunker with 4 slots and refactored bunker --- .../Bunker_50mm_height_for_labels_60х40.STL | Bin 0 -> 5084 bytes .../bunker/meshes/Bunker_for_labels_60х40.STL | Bin 13284 -> 0 bytes .../assets/bunker/meshes/bunker.stl | Bin 10084 -> 0 bytes rbs_mill_assist/assets/bunker/model.sdf | 8 +- .../Bunker_50mm_height_for_labels_60х40_4.STL | Bin 0 -> 9884 bytes .../assets/bunker_4_slots/model.config | 16 ++ .../assets/bunker_4_slots/model.sdf | 53 +++++ rbs_mill_assist/meshes/Link6.STL | Bin 101784 -> 17184 bytes rbs_mill_assist/meshes/Link7.STL | Bin 25484 -> 27084 bytes rbs_mill_assist/meshes/Link8.STL | Bin 25484 -> 27084 bytes .../src/planning_scene_publisher.cpp | 80 ++++--- rbs_mill_assist/urdf/rbs_arm.xacro | 2 +- rbs_mill_assist/urdf/rbs_arm_macro.xacro | 202 +++++++++--------- rbs_mill_assist/world/default.sdf | 24 ++- 14 files changed, 239 insertions(+), 146 deletions(-) create mode 100644 rbs_mill_assist/assets/bunker/meshes/Bunker_50mm_height_for_labels_60х40.STL delete mode 100644 rbs_mill_assist/assets/bunker/meshes/Bunker_for_labels_60х40.STL delete mode 100644 rbs_mill_assist/assets/bunker/meshes/bunker.stl create mode 100644 rbs_mill_assist/assets/bunker_4_slots/meshes/Bunker_50mm_height_for_labels_60х40_4.STL create mode 100644 rbs_mill_assist/assets/bunker_4_slots/model.config create mode 100644 rbs_mill_assist/assets/bunker_4_slots/model.sdf diff --git a/rbs_mill_assist/assets/bunker/meshes/Bunker_50mm_height_for_labels_60х40.STL b/rbs_mill_assist/assets/bunker/meshes/Bunker_50mm_height_for_labels_60х40.STL new file mode 100644 index 0000000000000000000000000000000000000000..f8e2518ef514f394db824550ba3cf2965ad93e13 GIT binary patch literal 5084 zcmXTU&&fN512SuDU@ii zN0vbj1&}y~&l?yRP<0@y!tD=a8FU>u?brizFGx2`6>gs+%OLB>7h>KEi%qDf!4%jZ zpjg`jigQrhZ2MdbW`lIkd%qma1}lXU5FIcXWE~(jOdP5hOo4TP(ht}yXu1NkL7{+K z2TTT82Q+TLx*>*xNkn{rWsp_*m~(>C0$3cPmVto*9)m*72f#AOE&=%*CJxsD(gaE+ zdtfr?I$*Aa>wwvTtOFFAVEdr)0cNA>K$Zcy1ZFPo&_&jPtO}YI;C3|ZhuH*Dg)OJT z#Fx!>u?DHd)B%zKse+|S7#pM-guyyMdA$K71F{2I2S^1}d=E$*#0TpDGmvFKY>*uw z2`GCHhz-JE9UwaxKr*283Nj1C289(!1&9q22c>BcA5#ZN2BZpE2Z#+42kWp0ksu6; z1DHQRY>=x!_JPe+f^VLEIQ!n3LI8od!W7ry9yd^Fg7UM z;C6sag!l!f10;f`0~CfRIzVa~_Cr%2SO)4U7<(@$20^NjF4TA zpZ(C16KpQDOa!xGE`;lVG8*up5OFpolV5&iM1IXv#`VPcH)&VUOaq9qwE>snm4RtM;4KfXe;jRM9AnSnI z2Ns8^2GOWGkX1p$5W5ag`T@%z>wtzESR72eJ&ZxzPBB>wuIB zAe%t$1*K6?-iETlc^=9}j0H~ zFguWR*nq@AI>7lHUOX=+zxnIg64B@ z_&{~T{Q=U2C`&*(K(<5u0n-6;6^agsE~qN7?ND=JZ2UUFW})c-wFbeuL1x1+xD5yL zAxsC{T##<$ItmoJAYBk0Fd3)|VY)Hx0F?~j_7##2xGGS}hlzvChGB3^AJqTAFc+!= z;SZ4cpcn+jIoMoK%7Cc?v7!Dz=s=EhuntgsAnSm!LE>N+f$RXsIaCG~YarcVHcT9@ z17rt^4v-AgC14#eHb|U-;bC*jzBg{=U>zVCSbqS<2Dt*YOvI%FSrv>83Izs+zbvNv zU$U5j?Ld}+u|ak~OFL*Oic1HwDi|AL$1}I`{Q@m5cF1OdWMHa5;-IhsA09Ha_lJF+Sm8zc@6D|={I zH6Y8t*dUicOHrsDe_2dnIv8N8KxQGUg0Vs3V4vGV!>R#U2F3>20WGzmc06+{hv{H| zsREgWtO~{kiNnJRls{lThowGHxPfZ`sB6J&+&Yj|!Pp=d!ovz|2eJ%|4RQ(8wNN{t zVTGXsSrv>8u>8G70Q+P#y%k3Yzc0X2IAXRnWWw z4ny2JkX6ChAQyte3X})Ib|A~Z*dRNgc?D_*G!J6vKvo4~L+pU&C|Fp5MpD53fT;r6 z0nJfRJ8;M&S3=H5p9n>ELw?&ZJ3|L$GAe~?xpxzx=2goI$Tnnlbk#&Q_ zL8?JD4!q_B)l1-(1vJ*cY^ZK%{s8M?K-B><3t0z@4HAc_hx!FHeg$?F$R#jUAU4zv Yu%F;MK$<|c8pu^(87w-$E@WT;0H2kn4FCWD literal 0 HcmV?d00001 diff --git a/rbs_mill_assist/assets/bunker/meshes/Bunker_for_labels_60х40.STL b/rbs_mill_assist/assets/bunker/meshes/Bunker_for_labels_60х40.STL deleted file mode 100644 index 2ab7bf2231ef71ff1e3c4dc7aceccbeaa17b684d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13284 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 - model://bunker/meshes/Bunker_for_labels_60х40.STL + model://bunker/meshes/Bunker_50mm_height_for_labels_60х40.STL @@ -14,12 +14,16 @@ 1 1 1 1 0.5 0.5 0.5 1 0 0 0 1 + + + + - model://bunker/meshes/Bunker_for_labels_60х40.STL + model://bunker/meshes/Bunker_50mm_height_for_labels_60х40.STL diff --git a/rbs_mill_assist/assets/bunker_4_slots/meshes/Bunker_50mm_height_for_labels_60х40_4.STL b/rbs_mill_assist/assets/bunker_4_slots/meshes/Bunker_50mm_height_for_labels_60х40_4.STL new file mode 100644 index 0000000000000000000000000000000000000000..2609b85e078da63452f86519000cf4f51bdb1151 GIT binary patch literal 9884 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 + + + bunker_4_slots + 0.1 + model.sdf + + + Bill Finger + ur.narmak@gmail.com + + + + Empty + + diff --git a/rbs_mill_assist/assets/bunker_4_slots/model.sdf b/rbs_mill_assist/assets/bunker_4_slots/model.sdf new file mode 100644 index 0000000..14e9398 --- /dev/null +++ b/rbs_mill_assist/assets/bunker_4_slots/model.sdf @@ -0,0 +1,53 @@ + + + + + + + + + model://bunker_4_slots/meshes/Bunker_50mm_height_for_labels_60х40_4.STL + + + + 1 1 1 1 + 1 1 1 1 + 0.5 0.5 0.5 1 + 0 0 0 1 + + + + + + + + + + model://bunker_4_slots/meshes/Bunker_50mm_height_for_labels_60х40_4.STL + + + + + + 1e6 + 1e3 + 0.1 + 0.001 + + + + 0.3 + + + + 0.61 + 0.47 + 0.0 + 0.0 + + + + + + + diff --git a/rbs_mill_assist/meshes/Link6.STL b/rbs_mill_assist/meshes/Link6.STL index ccea12c61d9aa9cf1782a2f766bc8f2e9d46a7ca..f110c5ca4c3af585544bad12ec4c9f3209aaae80 100644 GIT binary patch literal 17184 zcmZReG6-X2V3?7vw4ddP>wd8}(^a{yEAQF+xOdNlLtph^Y_98zt)Iq}?fJkPu?NJ) ztpiyVj14l0fgvz8a({_F`~LrpU8=}3FgD2Cz_{sq7M%XI8^p$~16dV}4Y7kEpmP7# zwv2rjPsFGq%fQ$mb8TxE@9`;Ky$i%8u_O0L-F~yZCv4l~cvX>QU~G`N z_Z;W#SvYT{HHgi?fJ+CmDi|ALN4#F<{z$*ecB0QMRgh(1Y>>IJRvmlh@R-?v*bEG~ zbResOu_1OO+_2jJ{J);Pc6!JXWEmJ6WbT|Q_dUyhH$v^er2|TIYTxO5<^g0UfXaGz7#w{l92{nPlwrN}ZcHpmVJh6PGo z*B3+Wz@-CKRR>rH+zvaC9owFCFJ)jrmO+?1W5p$Fgg>~?sbSTDtO~}4*zq#zqa7%$ zLL6p*`~fx#Bm+|g^2eMicN;`};L?Gt3dRPR#K4en!^$2M=S;;@K=A=K3nT+m1+pX7 zs>246u5jrTTto(&>@#Oq~Z)q$)E#)jCDd!)`D zlm{>S+Al?xfw4h$*w!w#LF98>I*?Vt*bqAy0xIo6WyxEvi%XDYU~G^bfpODq5aksv z9muL+Y=|9!sgd@eGI8gkD~ph2U~G^bPh-k#5ali|9muL+Y=|8*(v|E%W&5uC+f|Td zU~G^bT-TLtKxICN4KCZU>OfWnV?*pPtZ~BJ14ufy@H2*DUtj7Z^9) z8pM9)#>Fu&ZFIK)Pqm zlmxpL(+-#nNENaUP*`EN16c=56-YOT4GIyE9U$DWpMjwPT-PF-3uE8TezY6J&hllj z0;vXJhz?{KkhvgLAeY?Eeq;?|W9o1Y{&Lvk^!j(xeUYx*@f&skZKTy>wt#|vJQ|g zkZzC|NHqv!>OfW{BHRu(2_yzm4Z;u|$TA>Vn7PPd2vg0#z|W!%jzOffy9X(??}4RC zOdT*8Q2Pp52P{qF*8x)n(hYJUDE={Zz+^zGkafUPD1IFdRs;iK7AghA4OEK+0 zmO<8mJFJj(AghA4uQBaF4HHDm3E5Am{y>#M=zz6@FzrCrfvgJFs=?F&tHVJuu(}q+ zhP59+Y*bev%OLAOwi~w&WL2bHY`3sY_O}~ zI*?Vt`~*@3vm3-l)q$3`ZE)suxE&xJpfn0H3*_OJkTikYzx2 zz;xjCIlMiH>~mObV%mW$gRBEN3{m}otOHpUEH*LiK$bz)f$S$#JCI`vmNG!*BI`!g zfh>cp1D01nx^e43RfXv9pz45?a3Hf_B@u`XD<45@R2|4N$U2Z+i(3b>Dp(nVX$P_l zvJTXq9;hCN<*2=nd3TGfQ{Q*?%o$K`ad*%TIVf9s_u;P^U^c3&xUM5)xUMfo(y@3q zsNMycgkJ|t70B*FTP-YhfMk$dwaa9m8dw#wedu`gpiqT{ z0)`H2gbc!5uIr1fU@pYa0S}YCk9&6)+IqqKvFr6Q7cd(`2V4eKhw^SCSswyAKyiam zwLocyoGSqxppfRe?hIB13SC&-V7Lm&AH2H}I+Sgfj zb%077m@2&SffQ2+b3r-~E<}qDxDI4hp!kP{8%9cmhaxDfkWvXeo-lO4Wl(h}Tf@>Z zZXKXFhp7Uk9-KMK8YY9R17sg8cVXHA(}ApN@8e!;Sh<3#16c-H2PihNmp;fkkX3

}m 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 literal 101784 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 R|Lfs8kY%vx0O@96000PEOTz#F diff --git a/rbs_mill_assist/meshes/Link7.STL b/rbs_mill_assist/meshes/Link7.STL index 9e180b25a1195971a64bfef5f5ddeec932aeeba6..23e4662cff5e5315b36444d9460f8c94cb3e2e9a 100644 GIT binary patch literal 27084 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 J1x>q9I{+5`ya@mR literal 25484 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 I_=oBM0HZ6@#Q*>R diff --git a/rbs_mill_assist/meshes/Link8.STL b/rbs_mill_assist/meshes/Link8.STL index 9db4181dd764ed49184514d96029fee3f25307de..89eabbd27fe2993bc6c1125f91144d7ce2820193 100644 GIT binary patch literal 27084 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 literal 25484 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 diff --git a/rbs_mill_assist/src/planning_scene_publisher.cpp b/rbs_mill_assist/src/planning_scene_publisher.cpp index c837af7..cc343a1 100644 --- a/rbs_mill_assist/src/planning_scene_publisher.cpp +++ b/rbs_mill_assist/src/planning_scene_publisher.cpp @@ -1,3 +1,5 @@ +#include "geometry_msgs/msg/pose.hpp" +#include "moveit_msgs/msg/collision_object.hpp" #include "moveit_msgs/msg/planning_scene.hpp" #include "shape_msgs/msg/mesh.hpp" #include @@ -11,6 +13,7 @@ #include #include #include +#include class PlanningScenePublisher : public rclcpp::Node { public: @@ -30,7 +33,7 @@ private: void publish_scene() { if (object_published_) { - return; // Избегаем повторной публикации объекта + return; } moveit_msgs::msg::PlanningScene planning_scene; @@ -39,12 +42,10 @@ private: collision_object.header.frame_id = "world"; collision_object.id = "table"; - // Определяем геометрию объекта (стола) shape_msgs::msg::SolidPrimitive table; table.type = shape_msgs::msg::SolidPrimitive::BOX; - table.dimensions = {1.2, 0.7, 0.8}; // Длина, ширина, высота + table.dimensions = {1.2, 0.7, 0.8}; - // Задаем позу объекта geometry_msgs::msg::Pose table_pose; table_pose.position.x = 0.0; table_pose.position.y = 0.0; @@ -56,50 +57,63 @@ private: planning_scene.world.collision_objects.push_back(collision_object); - // Добавляем объект меша moveit_msgs::msg::CollisionObject mesh_object; mesh_object.header.frame_id = "world"; mesh_object.id = "mesh_object"; - shape_msgs::msg::Mesh mesh; - shapes::Mesh* m = shapes::createMeshFromResource("package://rbs_mill_assist/assets/laser/meshes/laser.dae"); - shapes::ShapeMsg mesh_msg; - shapes::constructMsgFromShape(m, mesh_msg); - mesh = boost::get(mesh_msg); + std::vector meshes = { + "package://rbs_mill_assist/assets/laser/meshes/laser.dae", + "package://rbs_mill_assist/assets/bunker/meshes/Bunker_50mm_height_for_labels_60х40.STL", + "package://rbs_mill_assist/assets/bunker_4_slots/meshes/Bunker_50mm_height_for_labels_60х40_4.STL" + }; - //0.30 0.0 0 0 0 3.14159 - geometry_msgs::msg::Pose mesh_pose; - mesh_pose.position.x = 0.30; - mesh_pose.position.y = 0.0; - mesh_pose.position.z = 0.0; + std::vector> mesh_poses = { + {0.350, -0.170, 0.0, 0.0, 0.0, 1.0, 0.0}, + {-0.050, 0.250, 0.0, 0.0, 0.0, 0.707, 0.707}, + {-0.470, 0.250, 0.0, 0.0, 0.0, 0.707, 0.707}, + }; - mesh_pose.orientation.x = 0.0; - mesh_pose.orientation.y = 0.0; - mesh_pose.orientation.z = 1.0; - mesh_pose.orientation.w = 0.0; + for (size_t i=0; i < meshes.size(); i++) { + auto mesh = getMeshCollisionObject(meshes[i]); + auto mesh_pose = arrayToPose(mesh_poses[i]); + mesh_object.meshes.push_back(mesh); + mesh_object.mesh_poses.push_back(mesh_pose); + } - moveit_msgs::msg::ObjectColor color; - color.id = mesh_object.id; - color.color.r = 0.0; - color.color.g = 1.0; - color.color.b = 0.0; - color.color.a = 1.0; - - - mesh_object.meshes.push_back(mesh); - mesh_object.mesh_poses.push_back(mesh_pose); mesh_object.operation = moveit_msgs::msg::CollisionObject::ADD; - // planning_scene.object_colors.push_back(color); - // planning_scene.object_colors.clear(); - planning_scene.world.collision_objects.push_back(mesh_object); planning_scene.is_diff = true; planning_scene_publisher_->publish(planning_scene); RCLCPP_INFO(this->get_logger(), "Published collision objects: table and mesh"); - object_published_ = true; // Устанавливаем флаг, чтобы больше не публиковать объект + object_published_ = true; + } + + shape_msgs::msg::Mesh getMeshCollisionObject(const std::string &mesh_filepath) { + shape_msgs::msg::Mesh mesh; + shapes::Mesh* m = shapes::createMeshFromResource(mesh_filepath); + shapes::ShapeMsg mesh_msg; + shapes::constructMsgFromShape(m, mesh_msg); + mesh = boost::get(mesh_msg); + return mesh; + } + + geometry_msgs::msg::Pose arrayToPose(const std::vector arr) { + if (arr.size() != 7) { + throw std::invalid_argument("Size of array must be equal 7"); + } + geometry_msgs::msg::Pose pose; + pose.position.x = arr[0]; + pose.position.y = arr[1]; + pose.position.z = arr[2]; + + pose.orientation.x = arr[3]; + pose.orientation.y = arr[4]; + pose.orientation.z = arr[5]; + pose.orientation.w = arr[6]; + return pose; } }; diff --git a/rbs_mill_assist/urdf/rbs_arm.xacro b/rbs_mill_assist/urdf/rbs_arm.xacro index 205cd7b..baa0af8 100644 --- a/rbs_mill_assist/urdf/rbs_arm.xacro +++ b/rbs_mill_assist/urdf/rbs_arm.xacro @@ -7,7 +7,7 @@ - + diff --git a/rbs_mill_assist/urdf/rbs_arm_macro.xacro b/rbs_mill_assist/urdf/rbs_arm_macro.xacro index 8ef4316..1e650e8 100644 --- a/rbs_mill_assist/urdf/rbs_arm_macro.xacro +++ b/rbs_mill_assist/urdf/rbs_arm_macro.xacro @@ -342,51 +342,51 @@ velocity="10" /> - - - - - - - - - - - - - - - - - - - - - + name="Link6"> + + + + + + + + + + + + + + + + + + + + + + rpy="0 0 3.14" /> + value="0.0119295697834755" /> + ixx="4.27745590342647E-07" + ixy="2.68928440312099E-33" + ixz="1.44687693702654E-21" + iyy="4.2774559034265E-07" + iyz="3.0329437472821E-21" + izz="3.81314853129931E-07" /> @@ -453,64 +453,64 @@ xyz="0 0 0" /> - + name="Link8"> + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + @@ -611,7 +611,7 @@ - + diff --git a/rbs_mill_assist/world/default.sdf b/rbs_mill_assist/world/default.sdf index ab75071..4914e0c 100644 --- a/rbs_mill_assist/world/default.sdf +++ b/rbs_mill_assist/world/default.sdf @@ -41,7 +41,7 @@ - true + false 0 0 10 0 0 0 0.8 0.8 0.8 1 0.2 0.2 0.2 1 @@ -56,45 +56,51 @@ shildik_0 - -0.5 -0.2 0.02 0 0 1.57 + -0.403959 0.250 0.02 0 0 1.57 model://shildik shildik_1 - -0.5 -0.2 0.04 0 0 1.57 + -0.447918 0.250 0.02 0 0 1.57 model://shildik shildik_2 - -0.5 -0.2 0.05 0 0 1.57 + -0.491997 0.250 0.02 0 0 1.57 model://shildik shildik_3 - -0.5 -0.2 0.06 0 0 1.57 + -0.536033 0.250 0.02 0 0 1.57 model://shildik shildik_4 - -0.5 -0.2 0.07 0 0 1.57 + -0.491997 0.250 0.03 0 0 1.57 model://shildik true - 0.30 0.0 0 0 0 3.14159 + 0.350 -0.170 0 0 0 3.14159 model://laser true - -0.505 -0.20 0.06 0.0 0.0 1.57 + -0.050 0.250 0.0 0.0 0.0 1.57 model://bunker true - 0.20 0 0.01 0 0 1.57 + -0.470 0.250 0 0 0 1.57 + model://bunker_4_slots + + + + true + 0.350 -0.170 0.01 0 0 1.57 model://conductor