{"id":3506,"date":"2024-03-09T12:04:36","date_gmt":"2024-03-09T03:04:36","guid":{"rendered":"https:\/\/www.kdel.org\/wp\/?p=3506"},"modified":"2024-03-09T15:33:00","modified_gmt":"2024-03-09T06:33:00","slug":"gazebo-rcll%e3%81%aetag","status":"publish","type":"post","link":"https:\/\/www.kdel.org\/wp\/?p=3506","title":{"rendered":"gazebo-rcll\u306etag"},"content":{"rendered":"<p><mark><a href=\"https:\/\/github.com\/robocup-logistics\/gazebo-rcll\">gazebo-rcll<\/a><\/mark>\u306f\uff0c2022\u5e7410\u6708\u306b\u66f4\u65b0\u304c\u6b62\u307e\u3063\u3066\u3044\u307e\u3059\uff0e<br \/>\n\u305d\u3057\u3066\uff0cRCLL \u3067\u306f\uff0c<mark><a href=\"https:\/\/ll.robocup.org\/page-7\/\">Secondly, the deprecated ALVAR tags got replaced by ARUCO tags as markers for machines. <\/a><\/mark>\u3068\u306e\u3053\u3068\u3067\uff0c2022\u5e74\u306bTag\u306e\u7a2e\u985e\u304cALVAR\u304b\u3089ARUCO\u306b\u5909\u308f\u3063\u3066\u3044\u307e\u3059\uff08\u3053\u308c\u306fRobotino View \u304cARUCO\u3092\u4f7f\u3063\u3066\u3044\u308b\u3000\u3068\u3044\u3046\u306e\u304c\u7406\u7531\u3060\u3068\u79c1\u306f\u601d\u3063\u3066\u3044\u307e\u3059\uff09\uff0e<br \/>\n\u3055\u3066\uff0cgazebo-rcll \u3092\u4eca\u306e\u5927\u4f1a\u3067\u4f7f\u3046\u306b\u306f\uff0c\u3053\u306e\u90e8\u5206\u3092\u66f4\u65b0\u3057\u306a\u3044\u3068\u3044\u3051\u307e\u305b\u3093\u306d\uff0e<br \/>\n\u3068\u3044\u3046\u308f\u3051\u3067\uff0c\u305d\u306e\u30e1\u30e2\u3067\u3059\uff0e<\/p>\n<p>\u5bfe\u5fdc\u8868\u304c\u6b32\u3057\u3044\u3067\u3059\u306d\uff0e<\/p>\n<h3> 2016\u5e74\u30682023\u5e74\u306e\u30eb\u30fc\u30eb\u30d6\u30c3\u30af\u3088\u308a <\/h3>\n<table align=\"center\" width=\"300\">\n<tr align=\"center\">\n<td colspan=\"2\"><\/td>\n<td colspan=\"2\">input<\/td>\n<td colspan=\"2\">output<\/td>\n<\/tr>\n<tr align=\"center\">\n<td colspan=\"2\"><\/td>\n<td>2016<\/td>\n<td>2023<\/td>\n<td>2016<\/td>\n<td>2023<\/td>\n<\/tr>\n<tr align=\"center\">\n<td rowspan=\"8\" align=\"middle\">Cyan<\/td>\n<td>Machine<\/td>\n<td colspan=\"2\">Tag ID<\/td>\n<td colspan=\"2\">Tag ID<\/td>\n<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>CS 1<\/td>\n<td>  1<\/td>\n<td>102<\/td>\n<td>  2<\/td>\n<td>101<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>CS 2<\/td>\n<td> 17<\/td>\n<td>104<\/td>\n<td> 18<\/td>\n<td>103<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>RS 1<\/td>\n<td> 33<\/td>\n<td>112<\/td>\n<td> 34<\/td>\n<td>111<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>RS 2<\/td>\n<td>177<\/td>\n<td>114<\/td>\n<td>178<\/td>\n<td>113<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>BS  <\/td>\n<td> 65<\/td>\n<td>122<\/td>\n<td> 66<\/td>\n<td>121<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>DS  <\/td>\n<td> 81<\/td>\n<td>132<\/td>\n<td> 82<\/td>\n<td>131<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>SS  <\/td>\n<td>&#8212;<\/td>\n<td>142<\/td>\n<td>&#8212;<\/td>\n<td>141<\/td>\n<\/tr>\n<tr align=\"center\">\n<td rowspan=\"7\" align=\"middle\">Magenta<\/td>\n<td>CS 1<\/td>\n<td> 97<\/td>\n<td>202<\/td>\n<td> 98<\/td>\n<td>201<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>CS 2<\/td>\n<td>113<\/td>\n<td>204<\/td>\n<td>114<\/td>\n<td>203<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>RS 1<\/td>\n<td>129<\/td>\n<td>212<\/td>\n<td>130<\/td>\n<td>211<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>RS 2<\/td>\n<td>145<\/td>\n<td>214<\/td>\n<td>146<\/td>\n<td>213<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>BS  <\/td>\n<td>161<\/td>\n<td>222<\/td>\n<td>162<\/td>\n<td>221<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>DS  <\/td>\n<td> 49<\/td>\n<td>232<\/td>\n<td> 50<\/td>\n<td>231<\/td>\n<\/tr>\n<tr align=\"center\">\n<td>SS  <\/td>\n<td>&#8212;<\/td>\n<td>242<\/td>\n<td>&#8212;<\/td>\n<td>241<\/td>\n<\/tr>\n<\/table>\n<p>\u3053\u3046\u3084\u3063\u3066\u307f\u3066\u307f\u308b\u3068Aruco\u3078\u5909\u66f4\u3057\u305f\u969b\u306bID\u306b\uff0c\u898f\u5247\u6027\u3082\u91cd\u8996\u3057\u305f\u306e\u304c\u308f\u304b\u308a\u307e\u3059\u306d\uff0e<br \/>\nCyan\u3068Magenta\u306e\u95a2\u4fc2\uff08100\u756a\u53f0\u304cCyan\uff0c200\u756a\u53f0\u304cMagenta\uff09\uff0e<br \/>\n\u30de\u30b7\u30f3\u306e\u7a2e\u985e\u306e\u95a2\u4fc2\uff0810\u756a\u53f0\uff09\uff0e<br \/>\n\u540c\u3058\u30de\u30b7\u30f3\u540c\u58eb\u306e\u95a2\u4fc2\uff08CS-1\u3068CS-2\uff0cRS-1\u3068RS-2\u306e\u9055\u3044\u306f1\u756a\u53f0\uff09\uff0e<br \/>\nInput\u3068Output\u306e\u95a2\u4fc2\uff081\u9055\u3044\uff09\uff0e<\/p>\n<h4>\u30d5\u30a1\u30a4\u30eb\u306e\u6e96\u5099<\/h4>\n<p>\u307e\u305a\uff0c\u5927\u5143\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u6301\u3063\u3066\u304d\u307e\u3057\u3087\u3046\uff0e<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ngit clone https:\/\/github.com\/robocup-logistics\/rcll-rulebook\r\ncp -r rcll-rulebook\/markers .\r\ncd markers\r\n<\/pre>\n<h4>\u753b\u50cf\u30b5\u30a4\u30ba\u306e\u5909\u66f4<\/h4>\n<p>\u3067\uff0c\u4e00\u5fdc\u753b\u50cf\u30b5\u30a4\u30ba\u3082\u5909\u66f4\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3045\u304b\uff0e<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo apt-get install imagemagick\r\nmogrify -resize 175x175 *.png\r\n<\/pre>\n<h4>\u30d5\u30a1\u30a4\u30eb\u540d\u306e\u5909\u66f4<\/h4>\n<p>\u540d\u524d\u306e\u5909\u66f4\uff0e<br \/>\n301\u3068302\u306fUnkown\u7528\u306a\u306e\u3067\uff0c\u4eca\u306egazebo\u3067\u306f\u4f7f\u3063\u3066\u3044\u307e\u305b\u3093\u304c\uff0c\u5c06\u6765\u7684\u306b\u4f7f\u3046\u3053\u3068\u306b\u306a\u308a\u305d\u3046\u306a\u306e\u3067\uff0c\u542b\u3081\u3066\u304a\u304d\u307e\u3059\uff0e<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nfor TAG in 101 102 103 104 111 112 113 114 121 122 131 132 141 142 201 202 203 204 211 212 213 214 221 222 231 232 241 242 301 302;do cp figure_$TAG.png tag$TAG.png; done\r\n<\/pre>\n<h3>world\u306e\u5909\u66f4<\/h3>\n<p>world \u306e\u30bf\u30b0\u306e\u90e8\u5206\u3092\u4fee\u6b63\uff0e<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n    &lt;include&gt;\r\n      &lt;name&gt;tag_01&lt;\/name&gt;\r\n      &lt;uri&gt;model:\/\/tag&lt;\/uri&gt;\r\n      &lt;pose&gt;0 -1 0.2 0 0 0&lt;\/pose&gt;\r\n    &lt;\/include&gt;\r\n<\/pre>\n<p>\u3053\u308c\u3092\u5168\u3066\u5909\u66f4\u2026\uff0e<br \/>\n\u306a\u304a\uff0c\u3053\u3053\u3067\u306f\u5168\u3066\u540c\u3058\u5ea7\u6a19\u306b\u30bb\u30c3\u30c8\u3057\u3066\u3044\u308b\u306e\u3067\uff0c\u9806\u756a\u306f\u95a2\u4fc2\u3042\u308a\u307e\u305b\u3093\uff0e<br \/>\n\u5148\u307b\u3069\u306e\u5bfe\u5fdc\u8868\u306f\u7121\u8996\u3057\u3066\uff0cTAG\u756a\u53f7\u9806\u306b\u66f8\u3044\u3066\u554f\u984c\u3042\u308a\u307e\u305b\u3093\uff0e<br \/>\n\uff08\u3068\u3059\u308b\u3068\uff0c\u5148\u307b\u3069\u306efor \u6587\u307f\u305f\u3044\u306a\u611f\u3058\u3067\uff0c\u4e00\u62ec\u751f\u6210\u3067\u304d\u307e\u3059\u306d\uff09<\/p>\n<h3>script\u306e\u5909\u66f4<\/h3>\n<p>\u6b21\u306f\uff0cgazebo-rcll\/models\/tag\/materials\/scripts\/label.meterial \u306e\u5909\u66f4\uff0e<br \/>\n\u3053\u306e\u4e2d\u306f\uff0c\u5404\u30bf\u30b0\u306b\u5bfe\u3057\u3066\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3092\u5272\u308a\u5f53\u3066\u3066\u3044\u308b\u306e\u3067\uff0c<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nmaterial tag\/tag_01\r\n{\r\n  receive_shadows off\r\n  technique\r\n  {\r\n    pass\r\n    {\r\n      texture_unit\r\n      {\r\n        texture tag01.png\r\n        filtering anistropic\r\n        max_anisotropy 16\r\n      }\r\n    }\r\n  }\r\n}\r\n<\/pre>\n<p>\u4e0a\u8a18\u306e\uff0cmaterial \u306e\u90e8\u5206\u3068\uff0ctexture \u306e\u90e8\u5206\u3092\u5168\u3066\u5909\u66f4\uff0e<br \/>\n\u3053\u308c\u3082\uff0c\u4e00\u62ec\u751f\u6210\u3057\u305f\u3044\u306a\u3041\uff0e<br \/>\n\u3042\u3041\u305d\u3046\u304b\uff0e\u3053\u3053\u306etexture\u3067301\u3068302\u3092\u6307\u5b9a\u3057\u305f\u3089\uff0cUnkown\u306aMPS\u304c\u7c21\u5358\u306b\u751f\u6210\u3067\u304d\u307e\u3059\u306d\uff0e<\/p>\n<h4>tag\u3068MPS\u306e\u95a2\u9023\u4ed8\u3051<\/h4>\n<p>\u3053\u306e\u307e\u307e\u5b9f\u884c\u3059\u308b\u3068\uff0ctag \u3068MPS\u306e\u8cbc\u308a\u4ed8\u3051\u306e\u3068\u3053\u308d\u3067\u5bfe\u5fdc\u4ed8\u3051\u3067\u304d\u306a\u3044\u306f\u305a\uff0e<br \/>\n\u300cTags not there, yet\u300d\u306e\u30a8\u30e9\u30fc\u304c\u51fa\u307e\u3059\uff0e<br \/>\n\u3053\u308c\u306f\uff0cplugins\/src\/plugins\/mps\/mps.cpp \u3067\u3059\u306d\uff0e<br \/>\n\u30d5\u30a1\u30a4\u30eb\u3092\u898b\u3066\u307f\u308b\u3068\uff0c<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nconst std::map&lt;std::string, std::string&gt; Mps::name_id_match = {\r\n  {&quot;C-CS1I&quot;, &quot;tag_01&quot;},  {&quot;C-CS1O&quot;, &quot;tag_02&quot;},  {&quot;C-CS2I&quot;, &quot;tag_17&quot;},  {&quot;C-CS2O&quot;, &quot;tag_18&quot;},\r\n  {&quot;C-RS1I&quot;, &quot;tag_33&quot;},  {&quot;C-RS1O&quot;, &quot;tag_34&quot;},  {&quot;C-RS2I&quot;, &quot;tag_177&quot;}, {&quot;C-RS2O&quot;, &quot;tag_178&quot;},\r\n  {&quot;C-BSI&quot;, &quot;tag_65&quot;},   {&quot;C-BSO&quot;, &quot;tag_66&quot;},   {&quot;C-DSI&quot;, &quot;tag_81&quot;},   {&quot;C-DSO&quot;, &quot;tag_82&quot;},\r\n  {&quot;M-CS1I&quot;, &quot;tag_97&quot;},  {&quot;M-CS1O&quot;, &quot;tag_98&quot;},  {&quot;M-CS2I&quot;, &quot;tag_113&quot;}, {&quot;M-CS2O&quot;, &quot;tag_114&quot;},\r\n  {&quot;M-RS1I&quot;, &quot;tag_129&quot;}, {&quot;M-RS1O&quot;, &quot;tag_130&quot;}, {&quot;M-RS2I&quot;, &quot;tag_145&quot;}, {&quot;M-RS2O&quot;, &quot;tag_146&quot;},\r\n  {&quot;M-BSI&quot;, &quot;tag_161&quot;},  {&quot;M-BSO&quot;, &quot;tag_162&quot;},  {&quot;M-DSI&quot;, &quot;tag_49&quot;},   {&quot;M-DSO&quot;, &quot;tag_50&quot;},\r\n  {&quot;C-SSO&quot;, &quot;tag_194&quot;},  {&quot;C-SSI&quot;, &quot;tag_193&quot;},  {&quot;M-SSO&quot;, &quot;tag_210&quot;},  {&quot;M-SSI&quot;, &quot;tag_209&quot;}};\r\n<\/pre>\n<p>\u306a\u308b\u307b\u3069\uff0e\u3053\u3053\u3067\u3059\u306d\uff0e<br \/>\n\u4ee5\u4e0b\u3067\u3044\u3044\u306e\u304b\u306a\u3041\uff0e<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nconst std::map&lt;std::string, std::string&gt; Mps::name_id_match = {\r\n  {&quot;C-CS1I&quot;, &quot;tag_102&quot;}, {&quot;C-CS1O&quot;, &quot;tag_101&quot;}, {&quot;C-CS2I&quot;, &quot;tag_104&quot;}, {&quot;C-CS2O&quot;, &quot;tag_103&quot;},\r\n  {&quot;C-RS1I&quot;, &quot;tag_112&quot;}, {&quot;C-RS1O&quot;, &quot;tag_111&quot;}, {&quot;C-RS2I&quot;, &quot;tag_114&quot;}, {&quot;C-RS2O&quot;, &quot;tag_113&quot;},\r\n  {&quot;C-BSI&quot; , &quot;tag_122&quot;}, {&quot;C-BSO&quot; , &quot;tag_121&quot;}, {&quot;C-DSI&quot; , &quot;tag_132&quot;}, {&quot;C-DSO&quot; , &quot;tag_131&quot;},\r\n  {&quot;M-CS1I&quot;, &quot;tag_202&quot;}, {&quot;M-CS1O&quot;, &quot;tag_201&quot;}, {&quot;M-CS2I&quot;, &quot;tag_204&quot;}, {&quot;M-CS2O&quot;, &quot;tag_203&quot;},\r\n  {&quot;M-RS1I&quot;, &quot;tag_212&quot;}, {&quot;M-RS1O&quot;, &quot;tag_211&quot;}, {&quot;M-RS2I&quot;, &quot;tag_214&quot;}, {&quot;M-RS2O&quot;, &quot;tag_213&quot;},\r\n  {&quot;M-BSI&quot; , &quot;tag_222&quot;}, {&quot;M-BSO&quot; , &quot;tag_221&quot;}, {&quot;M-DSI&quot; , &quot;tag_232&quot;}, {&quot;M-DSO&quot; , &quot;tag_231&quot;},\r\n  {&quot;C-SSO&quot; , &quot;tag_142&quot;}, {&quot;C-SSI&quot; , &quot;tag_141&quot;}, {&quot;M-SSO&quot; , &quot;tag_242&quot;}, {&quot;M-SSI&quot; , &quot;tag_241&quot;}};\r\n<\/pre>\n<h4>different station mps.cpp: 228<\/h4>\n<p>\u306a\u3093\u3060\u308d\u3046\uff0e\u3053\u308c\uff0c\u5909\u66f4\u524d\u3067\u3082\u305f\u307e\u306b\u898b\u304b\u3051\u305f\u30a8\u30e9\u30fc\u3067\u3059\uff0e<\/p>\n","protected":false},"excerpt":{"rendered":"<p>gazebo-rcll\u306f\uff0c2022\u5e7410\u6708\u306b\u66f4\u65b0\u304c\u6b62\u307e\u3063\u3066\u3044\u307e\u3059\uff0e \u305d\u3057\u3066\uff0cRC &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/www.kdel.org\/wp\/?p=3506\"> <span class=\"screen-reader-text\">gazebo-rcll\u306etag<\/span> \u7d9a\u304d\u3092\u8aad\u3080 &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[3,2,26,9,24],"tags":[],"class_list":["post-3506","post","type-post","status-publish","format-standard","hentry","category-logistics-league","category-robocup","category-robotino-2","category-robotino-3","category-robotino-4"],"_links":{"self":[{"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3506"}],"version-history":[{"count":29,"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3506\/revisions"}],"predecessor-version":[{"id":3536,"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3506\/revisions\/3536"}],"wp:attachment":[{"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kdel.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}