[ROS] Gazebo ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

2022. 7. 8. 13:42ยท๐Ÿ’ป Language/ROS : ๋กœ๋ด‡์‹œ์Šคํ…œ
728x90

Gazebo๋ž€?

์ž๋™ ๋กœ๋ด‡์„ ์œ„ํ•œ 3D ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ์œผ๋กœ, ROS์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. (ROS์™€๋Š” ๋ณ„๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ, ์˜คํ”ˆ ์†Œ์Šค๋กœ ์ œ๊ณต๋˜๋Š” ๊ฐ€์ƒ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํˆด. ROS์™€ ๋†’์€ ํ˜ธํ™˜์„ฑ์„ ๋„์–ด ๋กœ๋ณดํ‹ฑ์Šค ๊ฐœ๋ฐœ์— ๋งŽ์ด ์ด์šฉ๋œ๋‹ค.)

URDF, SDF, XACRO ๋“ฑ์˜ XML ๋ฌธ์„œ๋กœ ๋กœ๋ด‡/๊ฐ€์ƒํ™˜๊ฒฝ์„ Gazebo์— ์‚ฝ์ž…ํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด ๋กœ๋ด‡๊ณผ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›์œผ๋ฉฐ ๋™์ž‘ํ•˜๊ฒŒ ๋œ๋‹ค.

  • ๋ถ„์‚ฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜: ์—ฌ๋Ÿฌ ์„œ๋ฒ„์—์„œ ๋™์ž‘์‹œ์ผœ ์„ฑ๋Šฅ ํ–ฅ์ƒ ํšจ๊ณผ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๋™์  ์ž์‚ฐ ๋กœ๋”ฉ: ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์ž์‚ฐ์„ ์ž๋™์œผ๋กœ Loadํ•˜์—ฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.
  • ์„ฑ๋Šฅ ์กฐ์ •: ์‹ค์‹œ๊ฐ„ ์†๋„, ๋˜๋Š” ๋А๋ฆฌ๊ฒŒ/๋น ๋ฅด๊ฒŒ ์กฐ์ ˆํ•˜์—ฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹œ๊ฐ„ ๋‹จ๊ณ„๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ”Œ๋žซํผ: Linux, Mac OS, Windows ๋“ฑ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์„ ์ง€์›ํ•œ๋‹ค.
  • ROS Melodic ํ™˜๊ฒฝ์—์„œ ROS ๋ฉ”์‹œ์ง€๋ฅผ ์ž๋™์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๊นŠ์ด ์นด๋ฉ”๋ผ, LIDAR, IMU ๋“ฑ์˜ ์„ผ์„œ์™€ ๋…ธ์ด์ฆˆ ๋ชจ๋ธ ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • QtQuick ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ์‹œ๊ฐํ™”ํ•œ๋‹ค.

 

์ผ๋ฐ˜ ๊ฐ€์ƒ ํ™˜๊ฒฝ, ๋กœ๋ด‡ ์ฃผํ–‰ ํŠธ๋ž™ ๋“ฑ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•˜๋ฉฐ, ROS Dist๋ณ„ ๋‹ค๋ฅธ Release๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

  • ROS Kinetic: Gazebo 7.x
  • ROS Melodic: Gazebo 9.x
  • ROS Noetic: Gazebo 11.x
  • ROS2 Dashing: Gazebo 9.x
  • ROS2 Eloquent: Gazebo 9.x
  • ROS2 Foxy: Gazebo 11.x

ROS Dist๋Š” OS(Ubuntu) ๋ฒ„์ „์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฏ€๋กœ, ํ™•์ธ ํ›„ ๋ฒ„์ „์— ๋งž๋Š” ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ์ด์šฉํ•ด์•ผ ์˜ค๋ฅ˜ ์—†์ด ๋™์ž‘์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

๋ฒ„์ „์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ Gazebo ํ™˜๊ฒฝ์ด ๋™์ž‘ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, ROS ํ™˜๊ฒฝ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ผญ ํ™•์ธํ•  ๊ฒƒ!

 

 

Gazebo๋Š” gazebo_ros ํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•ด ROS์™€ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ํ•œ๋‹ค.

 

Gazebo๋Š” ROS์—๊ฒŒ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋œ ์„ผ์„œ์™€ ๋ฌผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ, ROS๋Š” Gazebo์—๊ฒŒ ์•ก์ถ”์—์ดํ„ฐ ๋ช…๋ น์„ ์ „๋‹ฌํ•œ๋‹ค.

 

๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์— ๋Œ€ํ•œ ์ผ๊ด€๋œ ์ด๋ฆ„, ๋ฐ์ดํ„ฐ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋ฉด Gazebo๊ฐ€ ๋กœ๋ด‡์— ๋Œ€ํ•œ ROS API์™€ ์ •ํ™•ํ•˜๊ฒŒ ํ†ต์‹  ๊ฐ€๋Šฅ.

→ ์žฅ์น˜ ๊ตฌ๋™๊ธฐ ์ˆ˜์ค€ ์ด์ƒ์˜ ๋ชจ๋“  ๋กœ๋ด‡ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์‹ค์ œ ๋กœ๋ด‡๊ณผ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ๋˜‘๊ฐ™์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค.

 

 

gazebo_ros ํŒจํ‚ค์ง€๋ž€?

Gazebo 3D ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ๋กœ๋ด‡์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ROS ํŒจํ‚ค์ง€ ์„ธํŠธ. ROS ๋ฉ”์‹œ์ง€, ์„œ๋น„์Šค ๋ฐ ๋™์  ์žฌ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ROS์™€ ํ†ตํ•ฉ๋œ๋‹ค.

  • ๊ธฐ์กด ROS ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ์˜ ํ˜ธํ™˜์„ฑ
  • ๋งŽ์€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋œ ์„ผ์„œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

 

 

์žฅ๋‹จ์  ; ์†๋„, ์ •ํ™•๋„, ๊ทธ๋ž˜ํ”ฝ์Šค ํ’ˆ์งˆ, ์ฐจ์›์„ฑ(2D/3D), ์ง€์› ์„ผ์„œ ์ข…๋ฅ˜, ํŽธ์˜์„ฑ, ์ง€์› ํ”Œ๋žซํผ ๋“ฑ์— ๋”ฐ๋ผ ๋‹ค๋ฆ„

์Šคํ…Œ์ด์ง€, MORSE, VREP, turtlesim, MORSE, VREP ๋“ฑ

 

 

URDF

Unified Robot Description Format. ๋กœ๋ด‡ ๋ชจ๋ธ์— ๋Œ€ํ•œ ์ •๋ณด๋“ค์„ ๊ธฐ์ˆ ํ•ด ๋†“์€ ๊ทœ๊ฒฉ์„œ(๋กœ๋ด‡์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์„ค๋ช…)๋กœ, Gazebo ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๋Š” XML ํŒŒ์ผ์ด๋‹ค. Gazebo์—์„œ URDF ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ด€๋ จ ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค. (Gazebo๋Š” URDF ํŒŒ์ผ์„ ์ž๋™์œผ๋กœ SDF ํŒŒ์ผ๋กœ ๋ณ€ํ™˜)

  • URDF๋Š” ROS์—์„œ ์œ ์šฉํ•˜๊ฒŒ ํ‘œ์ค€ํ™”๋œ ํ˜•์‹์ด์ง€๋งŒ, ๊ธฐ๋Šฅ์ด ๋ถ€์กฑํ•œ ์ธก๋ฉด์ด ์žˆ์Œ (๋‹จ์ผ ๋กœ๋ด‡์˜ ์šด๋™ํ•™์ /๋™์  ํŠน์„ฑ๋งŒ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ง€์ • ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋กœ๋ด‡์˜ ํฌ์ฆˆ ์ง€์ •, ์กฐ์ธํŠธ ๋ณ‘๋ ฌ ์—ฐ๊ฒฐ ๋ถˆ๊ฐ€)
  • Gazebo์—์„œ URDF์˜ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์ƒˆ๋กœ์šด ํ˜•์‹: SDF(Simulation Description Format)
728x90
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ’ป Language > ROS : ๋กœ๋ด‡์‹œ์Šคํ…œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Ubuntu+ROS2] LG CLOiSim Simulator ์„ค์น˜ ๋ฐ ๊ตฌ๋™  (0) 2022.07.26
[ROS2] Ubuntu 20.04 Focal - ROS2 Foxy ์„ค์น˜ ๋ฐ ๊ตฌ๋™  (0) 2022.07.25
[ROS] ๋กœ๋ด‡ ๋ชจ๋ธ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ XML, URDF์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.  (0) 2022.07.06
[ROS] Python์œผ๋กœ ๊ฐ„๋‹จํ•œ Publisher & Subscriber ๋งŒ๋“ค๊ธฐ  (0) 2022.07.04
[ROS] ROS๋ž€ ๋ฌด์—‡์ธ๊ฐ€? (Robotics)  (0) 2022.07.04
'๐Ÿ’ป Language/ROS : ๋กœ๋ด‡์‹œ์Šคํ…œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Ubuntu+ROS2] LG CLOiSim Simulator ์„ค์น˜ ๋ฐ ๊ตฌ๋™
  • [ROS2] Ubuntu 20.04 Focal - ROS2 Foxy ์„ค์น˜ ๋ฐ ๊ตฌ๋™
  • [ROS] ๋กœ๋ด‡ ๋ชจ๋ธ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ XML, URDF์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.
  • [ROS] Python์œผ๋กœ ๊ฐ„๋‹จํ•œ Publisher & Subscriber ๋งŒ๋“ค๊ธฐ
mxnxeonx
mxnxeonx
"์•„, ์ด๊ฑฐ ๋ญ์˜€๋”๋ผ"๋ฅผ ํ•˜์ง€ ์•Š๊ธฐ์œ„ํ•œ ์ผ๊ธฐ์žฅ.
  • mxnxeonx
    MJ's Development Diary
    mxnxeonx
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (158)
      • ๐Ÿ’ป Language (43)
        • Java : ์ž๋ฐ” (18)
        • Python : ํŒŒ์ด์ฌ (9)
        • ROS : ๋กœ๋ด‡์‹œ์Šคํ…œ (9)
        • Android : ์•ˆ๋“œ๋กœ์ด๋“œ (4)
        • JavaScript : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ (2)
      • ๐ŸŒ Environment (19)
        • IDE : ํ†ตํ•ฉ๊ฐœ๋ฐœํ™˜๊ฒฝ (9)
        • Virtual : ๊ฐ€์ƒํ™˜๊ฒฝ (10)
      • โš™ Framework (12)
        • Vue-๋ทฐ (3)
        • Spring-์Šคํ”„๋ง (7)
      • ๐Ÿ’พ DataBase (18)
      • ๐ŸŒŒ OS (36)
        • Linux-๋ฆฌ๋ˆ…์Šค (36)
      • ๐Ÿ’ฌ CI · CD (7)
        • Git : ๊นƒ (7)
      • ๐Ÿ“ƒ ETC (6)
      • ๐Ÿค– AI (5)
  • ๋งํฌ

    • GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
mxnxeonx
[ROS] Gazebo ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”