[ROS2+Gazebo] Docker Image๋กœ ROS2, Gazebo ๋นŒ๋“œํ•˜๊ธฐ

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

Dockerfile์„ ์ด์šฉํ•˜๋ฉด ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€๊ฐ€ ํ•œ ๋ฒˆ์— ์„ค์น˜๋œ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ฏธ์ง€ ์ƒ์„ฑ์„ ์œ„ํ•ด ์•„๋ž˜ Github์˜ ๋„์ปค ํŒŒ์ผ์„ ์ด์šฉํ•  ๊ฒƒ์ด๋‹ค.

 

GitHub - ryomo/ros2-gazebo-docker: A ROS2 & Gazebo container with WSLg enabled

A ROS2 & Gazebo container with WSLg enabled. Contribute to ryomo/ros2-gazebo-docker development by creating an account on GitHub.

github.com

 

๋จผ์ € ๊นƒ์„ ํด๋ก ํ•˜๊ณ , ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•œ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

$ git clone https://github.com/ryomo/ros2-gazebo-docker.git
$ cd ros2-gazebo-docker/docker
$ docker build -t ros2-gazebo .

 

๊ทธ๋Ÿผ ์ด๋ฏธ์ง€๊ฐ€ ๋งŒ๋“ค์–ด์กŒ์„ ๊ฒƒ์ด๋‹ค. docker images ๋ช…๋ น์–ด๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ฏธ์ง€๊ฐ€ ๋งŒ๋“ค์–ด์กŒ๋‹ค๋ฉด, ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ์€ ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ์ง„ํ–‰ํ•ด์ฃผ์—ˆ๋‹ค.

$ docker run -it -e DISPLAY=unix$DISPLAY -e USER=$USER -e XDG_RUNTIME_DIR=/tmp -v /root/.Xauthority:/root/.Xauthority -v /tmp/.X11-unix:/temp/.X11 --privileged --gpus all --net=host --runtime=nvidia --name ros2-gazebo ros2-gazebo:latest

 

๋„์ปค๊ฐ€ ์‹คํ–‰๋  ๊ฒƒ์ด๋‹ค. ๋ฐฐํฌ ๊นƒ์—์„œ๋Š” docker-compose๋ฅผ ์‚ฌ์šฉํ•˜๋ผ๊ณ  ๋˜์–ด์žˆ๋Š”๋ฐ, ์ด ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์•„ ๊ทธ๋ƒฅ docker๋ฅผ ์ด์šฉํ–ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋‹ˆ ํ•ด๋‹น ํ„ฐ๋ฏธ๋„์€ ์‚ฌ์šฉํ•  ์ˆ˜๊ฐ€ ์—†์–ด์„œ ์ƒˆ๋กœ์šด ํ„ฐ๋ฏธ๋„์—์„œ executeํ•ด์ฃผ์—ˆ๋‹ค.

$ docker exec -it ros2-gazebo /bin/bash
๋”๋ณด๊ธฐ

๋งŒ์•ฝ root ์œ ์ €๋กœ ์ ‘์†ํ•˜๋ ค๋ฉด, --user root ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.

 

ํ„ฐ๋ฏธ๋„์— ์ •์ƒ์ ์œผ๋กœ ์ ‘์†๋˜์—ˆ๋‹ค. ์ด์ œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด ๋ณผ ์ฐจ๋ก€์ด๋‹ค.

 

๊ฐ„๋‹จํ•˜๊ฒŒ ํ„ฐํ‹€์‹ฌ์„ ๋จผ์ € ์‹คํ–‰ํ•ด๋ณธ๋‹ค.

$ ros2 run turtlesim turtlesim_node

 

์ž˜ ์‹คํ–‰์ด ๋˜๋Š” ๋ชจ์Šต์ด๋‹ค. Gazebo๊ฐ€ ์„ค์น˜๋˜์—ˆ๋Š”์ง€๋„ ํ™•์ธํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์ผœ๋ณด๊ฒ ๋‹ค.

# 1๋ฒˆ ํ„ฐ๋ฏธ๋„
$ gazebo --verbose /opt/ros/galactic/share/gazebo_plugins/worlds/gazebo_ros_diff_drive_demo.world
# 2๋ฒˆ ํ„ฐ๋ฏธ๋„
$ ros2 topic pub /demo/cmd_demo geometry_msgs/Twist '{linear: {x: 1.0}, angular: {z: 1.0}}' -1

1๋ฒˆ ํ„ฐ๋ฏธ๋„์—์„œ ๊ฐ€์ œ๋ณด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ํ™˜๊ฒฝ์ด ์ถœ๋ ฅ๋œ๋‹ค.

์ด ์ƒํƒœ์—์„œ 2๋ฒˆ์งธ ํ„ฐ๋ฏธ๋„์„ ์—ด๊ณ  ros ํ† ํ”ฝ์„ ํผ๋ธ”๋ฆฌ์‹œํ•ด์ฃผ๋ฉด ๋ฐ๋ชจ ๋กœ๋ด‡์ด ๋น™๊ธ€๋น™๊ธ€ ๋ˆ๋‹ค.

728x90
320x100
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

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

[ROS2] TurtleBot3+ROS2(Foxy)+Gazebo Naviagtion2 Install  (0) 2022.08.09
[E] XML Attribute[version] in element[sdf] not defined in SDF, ignoring.  (0) 2022.08.09
[Ubuntu+ROS2] LG CLOiSim Simulator ์„ค์น˜ ๋ฐ ๊ตฌ๋™  (0) 2022.07.26
[ROS2] Ubuntu 20.04 Focal - ROS2 Foxy ์„ค์น˜ ๋ฐ ๊ตฌ๋™  (0) 2022.07.25
[ROS] Gazebo ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.  (0) 2022.07.08
'๐Ÿ’ป Language/ROS : ๋กœ๋ด‡์‹œ์Šคํ…œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ROS2] TurtleBot3+ROS2(Foxy)+Gazebo Naviagtion2 Install
  • [E] XML Attribute[version] in element[sdf] not defined in SDF, ignoring.
  • [Ubuntu+ROS2] LG CLOiSim Simulator ์„ค์น˜ ๋ฐ ๊ตฌ๋™
  • [ROS2] Ubuntu 20.04 Focal - ROS2 Foxy ์„ค์น˜ ๋ฐ ๊ตฌ๋™
mxnxeonx
mxnxeonx
"์•„, ์ด๊ฑฐ ๋ญ์˜€๋”๋ผ"๋ฅผ ํ•˜์ง€ ์•Š๊ธฐ์œ„ํ•œ ์ผ๊ธฐ์žฅ.
  • mxnxeonx
    MJ's Development Diary
    mxnxeonx
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (154)
      • ๐Ÿ’ป 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 (3)
      • ๐Ÿค– AI (4)
  • ๋งํฌ

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

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

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
mxnxeonx
[ROS2+Gazebo] Docker Image๋กœ ROS2, Gazebo ๋นŒ๋“œํ•˜๊ธฐ
์ƒ๋‹จ์œผ๋กœ

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