Import Meshes - modulabs/gazebo-tutorial GitHub Wiki
์ด๋ฒ ํํ ๋ฆฌ์ผ์ ๊ฐ์ ๋ณด์ 3D mesh๋ฅผ ๋ถ๋ฌ์ค๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ค.
๊ฐ์ ๋ณด๋ ์ค๋ฅธ์ ์ขํ ์์คํ ์ ์ฌ์ฉํ๋ค. +Z๋ ์, +X๋ ์คํฌ๋ฆฐ ์์ชฝ, +Y๋ ์ผ์ชฝ์ด๋ค.
Reduce Complexity
๋ง์ mesh๋ค์ ์๋นํ ๋ณต์กํ ์ ์๋ค. ์๋ง์ ์ผ๊ฐํ๋ค์ ๊ฐ์ง mesh๋ ๊ฐ์ ๋์ด์ผ ํ๊ณ , ํจ์จ์ ์ผ๋ก ๊ฐ๊ฐ์ mesh๋ค๋ก ๋ถ๋ฆฌ ๋์ด์ผ ํ๋ค. ์ผ๊ฐํ๋ค์ ์ค์ด๊ณ mesh๋ฅผ ๋ถ๋ฆฌํ๊ธฐ ์ํด ๊ด๋ จ๋ ์ ๋ณด๋ค์ ๋น์ ์ 3D mesh ์๋ํฐ์ ๋ฌธ์๋ฅผ ๋ณด์๋ผ.
Center the mesh
์ฒซ ์คํ ์์ (0,0,0)์์ mesh์ ์ผํฐ์ด๊ณ , x์ถ์ด ์ ๋ฉด์ ๋ฐฉํฅ์ด๋ค.
Scale the mesh
๊ฐ์ ๋ณด๋ metric system์ ์ฌ์ฉํ๋ค. ๋ง์ mesh๋ค์ English unit์ ์ฌ์ฉํ๋ค. mesh๋ฅผ metric size๋ก ์ค์ผ์ผ ํ ์ ์๋ 3D ์๋ํฐ๋ฅผ ์ฌ์ฉํด๋ผ.
์ผ๋จ mesh๊ฐ ์ ์ ํ ์ค๋น๋๋ค๋ฉด, ๊ทธ๊ฒ์ Collada ํ์ผ๋ก ๋ด๋ณด๋ด๋ผ. ์ด ํฌ๋งท์ ๋ชจ๋ 3D์ ๋ณด์ ๋ฌผ์ง ์ ๋ณด๋ฅผ ํฌํจ ํ ๊ฒ์ด๋ค.
mesh๋ฅผ ํ ์คํธํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋จ์ํ world ํ์ผ my_mesh.world์ ๋ง๋๋ ๊ฒ์ด๋ค. ์ด ํ์ผ์ mesh๋ฅผ ๋ก๋ ํ๋ค. my_mesh.dae๋ฅผ ์ค์ mesh์ ํ์ผ ์ด๋ฆ์ผ๋ก ๋์ฒด ํด๋ผ.
<?xml version="1.0"?>
<sdf version="1.4">
<world name="default">
<include>
<uri>model://ground_plane</uri>
</include>
<include>
<uri>model://sun</uri>
</include>
<model name="my_mesh">
<pose>0 0 0 0 0 0</pose>
<static>true</static>
<link name="body">
<visual name="visual">
<geometry>
<mesh><uri>file://my_mesh.dae</uri></mesh>
</geometry>
</visual>
</link>
</model>
</world>
</sdf>๊ทธ๋ฆฌ๊ณ ๋์ ํ์ผ์ด ์๋ ํด๋์์ ๊ฐ์ ๋ณด๋ฅผ ์์ํด๋ผ.
$ gazebo my_mesh.world
๋น์ ์ duck.dae, duck.png mesh ํ์ผ๋ค์ ์ด์ฉ ํ ์ ์๋ค. ์ด๊ฒ๋ค์ worldํ์ผ๋ก์ ๊ฐ์ ํด๋์ ํจ๊ป ๋๋์ด๋ผ. duck mesh๋ ์์ชฝ ๋ฐฉํฅ์ y์ถ์ผ๋ก ์ ์ํด ๋์๊ธฐ ๋๋ฌธ์ ๋น์ ์ ๊ทธ๊ฒ์ ์์ชฝ ๋ฐฉํฅ์ผ๋ก ๋ณด์ด๊ธฐ ์ํด์๋ sdf์์ ํ์ ์ ์ฃผ์ด์ผ ํ๋ค.