{"id":994,"date":"2025-03-11T20:31:31","date_gmt":"2025-03-11T11:31:31","guid":{"rendered":"https:\/\/txn.myds.me\/blog\/?p=994"},"modified":"2025-03-11T20:31:31","modified_gmt":"2025-03-11T11:31:31","slug":"gazebo-%e3%81%ae%e3%82%bb%e3%83%b3%e3%82%b5%e3%83%bc%e3%81%8c-publish-%e3%81%97%e3%81%a6%e3%81%84%e3%82%8b%e3%83%88%e3%83%94%e3%83%83%e3%82%af%e3%82%92%e8%aa%bf%e3%81%b9%e3%82%8b%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/blog.txn.red\/?p=994","title":{"rendered":"Gazebo \u306e\u30bb\u30f3\u30b5\u30fc\u304c publish \u3057\u3066\u3044\u308b\u30c8\u30d4\u30c3\u30af\u3092\u8abf\u3079\u308b\u65b9\u6cd5"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u524d\u56de\u306e\u8a18\u4e8b\u3067\u306f camera_sensor \u3068 depth_camera \u3092\u53d6\u308a\u4e0a\u3052\u307e\u3057\u305f\u304c\u3001\u305d\u306e\u969b rgbd_camera \u304c\u4e0a\u624b\u304f\u6271\u3048\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u3069\u3046\u3084\u3089 rgbd_camera \u306f \/ \u3067\u306f\u4f55\u3082\u5e83\u544a\u3057\u3066\u3044\u306a\u3044\u3053\u3068\u304c <a href=\"https:\/\/github.com\/gazebosim\/gz-sim\/blob\/gz-sim9\/examples\/worlds\/sensors_demo.sdf\">sensors_demo.sdf<\/a> \u3092\u307f\u3066\u308f\u304b\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30bb\u30f3\u30b5\u30fc\u304c\u3069\u3093\u306a\u30c8\u30d4\u30c3\u30af\u3092\u5e83\u544a\u3059\u308b\u304b\u3092\u8abf\u3079\u308b\u65b9\u6cd5\u3092\u8abf\u3079\u307e\u3057\u305f\u3002 \u30bb\u30f3\u30b5\u30fc\u304c\u5e83\u544a\u3059\u308b\u30c8\u30d4\u30c3\u30af\u304c\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3067\u898b\u3064\u3051\u3089\u308c\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u305d\u306e\u7406\u7531\u306e\u4e00\u65e6\u304c\u308f\u304b\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"%25e3%2583%2588%25e3%2583%2594%25e3%2583%2583%25e3%2582%25af%25e3%2582%2592%25e7%25a2%25ba%25e8%25aa%258d%25e3%2581%2599%25e3%2582%258b%25e6%2596%25b9%25e6%25b3%2595\">\u30c8\u30d4\u30c3\u30af\u3092\u78ba\u8a8d\u3059\u308b\u65b9\u6cd5<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305a\u306f\u3001\u4f55\u3067\u3082\u3044\u3044\u306e\u3067\u6b63\u3057\u304f\u69cb\u6210\u3055\u308c\u305f .sdf \u3092\u8aad\u307f\u8fbc\u3093\u3067\u304a\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5225\u306e\u7aef\u672b\u304b\u3089\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\u3053\u3053\u3067\u306f \/rgbd \u304c rgbd_camera \u304c publish \u3057\u3066\u3044\u308b\u30c8\u30d4\u30c3\u30af\u3067\u3059\u304c\u3001<br>\u305d\u306e\u4e0b\u306b\u3001camera_info\u3001depth_image \u306a\u3069\u304c\u3042\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>$ gz topic -l\n\/clock\n\/gazebo\/resource_paths\n\/gui\/camera\/pose\n\/gui\/currently_tracked\n\/gui\/track\n\/rgbd\/camera_info\n\/rgbd\/depth_image\n\/rgbd\/image\n\/rgbd\/points\n\/sensors\/marker\n\/stats\n\/world\/rgbd_world\/clock\n\/world\/rgbd_world\/dynamic_pose\/info\n\/world\/rgbd_world\/pose\/info\n\/world\/rgbd_world\/scene\/deletion\n\/world\/rgbd_world\/scene\/info\n\/world\/rgbd_world\/state\n\/world\/rgbd_world\/stats\n\/world\/rgbd_world\/light_config\n\/world\/rgbd_world\/material_color\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0a\u8a18\u306f\u3001\u3053\u306e .sdf  \u3092\u8aad\u307f\u8fbc\u3093\u3060\u7d50\u679c\u3067\u3059<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-xml\" data-file=\"rgbd.sdf\" data-lang=\"XML\"><code>&lt;?xml version=&quot;1.0&quot; ?&gt;\n&lt;sdf version=&quot;1.10&quot;&gt;\n  &lt;world name=&quot;rgbd_world&quot;&gt;\n    &lt;plugin\n        filename=&quot;gz-sim-physics-system&quot;\n        name=&quot;gz::sim::systems::Physics&quot;&gt;\n    &lt;\/plugin&gt;\n\n    &lt;physics name=&quot;1ms&quot; type=&quot;ignored&quot;&gt;\n      &lt;max_step_size&gt;0.001&lt;\/max_step_size&gt;\n      &lt;real_time_factor&gt;1.0&lt;\/real_time_factor&gt;\n    &lt;\/physics&gt;\n    &lt;gravity&gt;0 0 -9.8&lt;\/gravity&gt;\n\n    &lt;light type=&#39;directional&#39; name=&#39;sun&#39;&gt;\n      &lt;cast_shadows&gt;true&lt;\/cast_shadows&gt;\n      &lt;pose&gt;0 0 10 0 0 0&lt;\/pose&gt;\n      &lt;diffuse&gt;0.8 0.8 0.8 1&lt;\/diffuse&gt;\n      &lt;specular&gt;0.2 0.2 0.2 1&lt;\/specular&gt;\n      &lt;attenuation&gt;\n        &lt;range&gt;1000&lt;\/range&gt;\n        &lt;constant&gt;0.9&lt;\/constant&gt;\n        &lt;linear&gt;0.01&lt;\/linear&gt;\n        &lt;quadratic&gt;0.001&lt;\/quadratic&gt;\n      &lt;\/attenuation&gt;\n      &lt;direction&gt;-0.5 0.1 -0.9&lt;\/direction&gt;\n    &lt;\/light&gt;\n\n    &lt;model name=&quot;ground_plane&quot;&gt;\n        &lt;static&gt;true&lt;\/static&gt;\n        &lt;link name=&quot;link&quot;&gt;\n            &lt;collision name=&quot;collision&quot;&gt;\n            &lt;geometry&gt;\n                &lt;plane&gt;\n                &lt;normal&gt;0 0 1&lt;\/normal&gt;\n                &lt;\/plane&gt;\n            &lt;\/geometry&gt;\n            &lt;\/collision&gt;\n            &lt;visual name=&quot;visual&quot;&gt;\n            &lt;geometry&gt;\n                &lt;plane&gt;\n                &lt;normal&gt;0 0 1&lt;\/normal&gt;\n                &lt;size&gt;100 100&lt;\/size&gt;\n                &lt;\/plane&gt;\n            &lt;\/geometry&gt;\n            &lt;material&gt;\n                &lt;ambient&gt;0.8 0.8 0.8 1&lt;\/ambient&gt;\n                &lt;diffuse&gt;0.8 0.8 0.8 1&lt;\/diffuse&gt;\n                &lt;specular&gt;0.8 0.8 0.8 1&lt;\/specular&gt;\n            &lt;\/material&gt;\n            &lt;\/visual&gt;\n        &lt;\/link&gt;\n    &lt;\/model&gt;\n\n    &lt;model name=&#39;sphere1&#39;&gt;\n      &lt;pose&gt;1.5 1.5 0.5  0 0 0&lt;\/pose&gt;\n      &lt;link name=&#39;link&#39;&gt;\n        &lt;collision name=&#39;collision&#39;&gt;\n          &lt;geometry&gt;\n            &lt;sphere&gt;\n              &lt;radius&gt;0.5&lt;\/radius&gt;\n            &lt;\/sphere&gt;\n          &lt;\/geometry&gt;\n        &lt;\/collision&gt;\n        &lt;visual name=&#39;visual&#39;&gt;\n          &lt;geometry&gt;\n            &lt;sphere&gt;\n              &lt;radius&gt;0.5&lt;\/radius&gt;\n            &lt;\/sphere&gt;\n          &lt;\/geometry&gt;\n        &lt;\/visual&gt;\n      &lt;\/link&gt;\n    &lt;\/model&gt;\n\n    &lt;!-- RGB-D camera--&gt;\n    &lt;model name=&#39;rgbd_camera&#39;&gt;\n      &lt;pose&gt;0 0 0.5  0 0 0&lt;\/pose&gt;\n      &lt;link name=&#39;link&#39;&gt;\n        &lt;inertial&gt;\n          &lt;mass&gt;0.1&lt;\/mass&gt;\n          &lt;inertia&gt;\n            &lt;ixx&gt;0.000166667&lt;\/ixx&gt;\n            &lt;iyy&gt;0.000166667&lt;\/iyy&gt;\n            &lt;izz&gt;0.000166667&lt;\/izz&gt;\n          &lt;\/inertia&gt;\n        &lt;\/inertial&gt;\n\n        &lt;collision name=&#39;collision&#39;&gt;\n          &lt;geometry&gt;\n            &lt;box&gt;\n              &lt;size&gt;0.1 0.1 0.1&lt;\/size&gt;\n            &lt;\/box&gt;\n          &lt;\/geometry&gt;\n        &lt;\/collision&gt;\n\n        &lt;visual name=&#39;visual&#39;&gt;\n          &lt;geometry&gt;\n            &lt;box&gt;\n              &lt;size&gt;0.1 0.1 0.1&lt;\/size&gt;\n            &lt;\/box&gt;\n          &lt;\/geometry&gt;\n          &lt;material&gt;\n            &lt;ambient&gt;0.1 0.1 0.1 1&lt;\/ambient&gt;\n            &lt;diffuse&gt;0.1 0.1 0.1 1&lt;\/diffuse&gt;\n            &lt;specular&gt;0.01 0.01 0.01 1&lt;\/specular&gt;\n          &lt;\/material&gt;\n        &lt;\/visual&gt;\n        \n        &lt;sensor name=&#39;rgbd_camera&#39; type=&#39;rgbd_camera&#39;&gt;\n          &lt;always_on&gt;1&lt;\/always_on&gt;\n          &lt;update_rate&gt;1&lt;\/update_rate&gt;\n          &lt;visualize&gt;true&lt;\/visualize&gt;\n          &lt;camera&gt;\n            &lt;horizontal_fov&gt;1.047&lt;\/horizontal_fov&gt;\n            &lt;image&gt;\n              &lt;width&gt;640&lt;\/width&gt;\n              &lt;height&gt;480&lt;\/height&gt;\n              &lt;!-- &lt;format&gt;R8G8B8&lt;\/format&gt; --&gt;\n            &lt;\/image&gt;\n            &lt;clip&gt;\n              &lt;near&gt;0.1&lt;\/near&gt;\n              &lt;far&gt;100&lt;\/far&gt;\n            &lt;\/clip&gt;\n            &lt;save enabled=&#39;true&#39;&gt;\n              &lt;path&gt;images&lt;\/path&gt;\n            &lt;\/save&gt;\n          &lt;\/camera&gt;\n          &lt;topic&gt;rgbd&lt;\/topic&gt;\n        &lt;\/sensor&gt;\n      &lt;\/link&gt;\n    &lt;\/model&gt;\n    &lt;!-- RGB-D camea end --&gt;\n\n    &lt;!-- load sensors plugin  --&gt;\n    &lt;plugin filename=&#39;gz-sim-sensors-system&#39;\n      name=&#39;gz::sim::systems::Sensors&#39;&gt;\n    &lt;\/plugin&gt;\n  &lt;\/world&gt;\n\n&lt;\/sdf&gt;<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">ROS \/ ROS2 \u3092\u4f7f\u3063\u3066\u3044\u308b\u4eba\u306b\u3068\u3063\u3066\u306f\u3001\u30ce\u30fc\u30c9\u304c\u767a\u4fe1\u3057\u3066\u3044\u308b\u60c5\u5831\u3092 M2M \u7684\u306a\u30a2\u30d7\u30ed\u30fc\u30c1\u3067\u5916\u90e8\u304b\u3089\u78ba\u8a8d\u3059\u308c\u3070 OK \u3063\u3066\u3044\u3046\u65b9\u5f0f\u306b\u306a\u3058\u307f\u304c\u3042\u308b\u306e\u3060\u308d\u3046\u304c\u3001gazebo \u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u306f\u3042\u307e\u308a\u66f8\u3044\u3066\u3044\u306a\u3044\u6c17\u304c\u3059\u308b\u306e\u306f\u3061\u3087\u3063\u3068\u306a\u30fc\u3063\u3066\u6587\u53e5\u306e 1 \u3064\u3082\u3044\u3044\u305f\u3044\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u524d\u56de\u306e\u8a18\u4e8b\u3067\u306f camera_sensor \u3068 depth_camera \u3092\u53d6\u308a\u4e0a\u3052\u307e\u3057\u305f\u304c\u3001\u305d\u306e\u969b rgbd_camera \u304c\u4e0a\u624b\u304f\u6271\u3048\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u3069\u3046\u3084\u3089 rgbd_camera \u306f \/ \u3067\u306f\u4f55\u3082\u5e83\u544a\u3057\u3066\u3044\u306a\u3044 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":1,"footnotes":""},"categories":[5],"tags":[20],"class_list":["post-994","post","type-post","status-publish","format-standard","hentry","category-it","tag-robot"],"_links":{"self":[{"href":"https:\/\/blog.txn.red\/index.php?rest_route=\/wp\/v2\/posts\/994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.txn.red\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.txn.red\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.txn.red\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.txn.red\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=994"}],"version-history":[{"count":0,"href":"https:\/\/blog.txn.red\/index.php?rest_route=\/wp\/v2\/posts\/994\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.txn.red\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.txn.red\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.txn.red\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}