ROSCon 2025 In-advance Lightning Talks: mesh2gazebo: Building a simulator environment using mesh data of 3D Scan Application

-- Views

October 30, 25

スライド概要

I proposed tool to build simulator environment using mesh data of 3D Scan Application.
https://community.gazebosim.org/t/community-meeting-mesh2gazebo/3499

The in-store image was collected at EZOHUB TOKYO with the cooperation of SATUDORA HOLDINGS CO.,LTD.

profile-image

OpenCVではじめよう ディープラーニングによる画像認識、OpenCVプログラミングブックの中の人(の一人).Computer Vision/OpenCV/GPGPU/ROS/AR/インタラクティブアート/ニコニコ技術部

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

ROSCon 2025 In-advance Lightning Talks mesh2gazebo: Building a simulator environment using mesh data of 3D scan application CyberAgent AI Lab Yasuhiro Yoshimura

2.

About me Yasuhiro Yoshimura CyberAgent AI Lab Activity Understanding Team Research Engineer I research robotics and the sensing to understand human activity. And, I published book for developer of OpenCV. 2

3.

Motivation ● Simulator environment is important for developing algorithms for autonomous mobile robots. ● And, robotics engineers hope to build a simulator environment by simply steps. Real world Gazebo World 3

4.

mesh2gazebo mesh2gazebo solves these problems!😆 ● Robotics engineers can build a simulator environment by simply steps. ● The quality of generated world is very good. ● mesh2gazebo supports Gazebo Ignition. Real World 3D Mesh data Gazebo World 4

5.

Pipeline of mesh2gazebo I proposed mesh2gazebo to build a simulator environment using mesh data of 3D scan application. 3D Scan Application mesh2gazebo Mesh data (obj data, texture) Gazebo Gazebo World 5

6.

Pipeline of mesh2gazebo Please see the Appendix for details. mesh2gazebo Conversion (OBJ ⇒ DAE) Mesh data (OBJ, texture) Post processing Making World Gazebo World 6

7.

Real retail store https://www.youtube.com/watch?v=4dIjLJ6BXzM 7

8.

Generated world with navigation https://www.youtube.com/watch?v=x92R9y_1isM 8

9.

Conclusion mesh2gazebo helps to developing algorithms for autonomous mobile robots.😆 ● Robotics engineers can build a simulator environment by simply steps. ● The quality of generated world is very good. ● mesh2gazebo supports Gazebo Ignition. Real World 3D Mesh data Gazebo World 9

10.

Acknowledgment The in-store image was collected at EZOHUB TOKYO with the cooperation of SATUDORA HOLDINGS CO.,LTD. 10

12.

Appendix:Pipeline of mesh2gazebo Please see the Appendix for details. mesh2gazebo Conversion (OBJ ⇒ DAE) Mesh data (OBJ, texture) Post processing Making World Gazebo World 12

13.

Appendix:Technical briefing ● 3D Scanning ○ ○ I used Scaniverse for the 3D Scanning. ■ I scan the floor surface for post processing. ■ I export OBJ format via Scaniverse. I convert from OBJ format to DAE format by MeshLab for Gazebo. Exported mesh data Texture data 13

14.

Appendix:Technical briefing ● Post Processing(1/2) ○ ○ If there is the difference in the coordinate axes between Gazebo and mesh, I need to rotate. I used MeshLab to rotate mesh data. Y Z X 14

15.

Appendix:Technical briefing ● Post Processing(2/2) ○ ○ If the floor surface is NOT flat in generated mesh data, it is difficult to run for mobile robot. So, I used MeshLab to make floor surface flat. before after Z Z 15

16.

Appendix:Technical briefing ● Making of Gazebo World(1/2) ○ I specified the file path of mesh data in <collision> tag in SDF file. <model name="mesh2gazebo"> <static>true</static> <link name="link"> <collision name="collision"> <geometry> <mesh> <scale>1 1 1</scale> <uri>file:///home/jazzy/Scaniverse_2024_11_18_162729.dae</uri> </mesh> </geometry> </collision> Filepath of ... mesh data </link> </model> 16

17.

Appendix:Technical briefing ● Making of Gazebo World(2/2) ○ I specified the file path of mesh data in <visual> tag in SDF file. <model name="mesh2gazebo"> <static>true</static> <link name="link"> ... <visual name="visual"> <geometry> <mesh> <scale>1 1 1</scale> <uri>file:///home/jazzy/Scaniverse_2024_11_18_162729.dae</uri> </mesh> </geometry> Filepath of </visual> mesh data </link> </model> 17

18.

Appendix:generated Gazebo world https://www.youtube.com/watch?v=z63dIfPx9iE 18

19.

Appendix:Visualization of mesh data in RViz2 scan RGB camera Mobile robot costmap I visualized scan, costmap and mesh data. 19

20.

Appendix:Tips for Gazebo ● Decrease of CPU usage ○ ○ I disabled cast shadows to decrease CPU usage. So, I set cast_shadows to 0. <light type="directional" name="sun"> <cast_shadows>0</cast_shadows> <pose>0 0 10 0 0 0</pose> <diffuse>0.8 0.8 0.8 1</diffuse> <specular>0.2 0.2 0.2 1</specular> <attenuation> <range>1000</range> <constant>0.9</constant> <linear>0.01</linear> <quadratic>0.001</quadratic> </attenuation> <direction>-0.5 0.1 -0.9</direction> </light> 20