ROS2 Docker Setting
Youtube Docker ์๋ฃ ์ค๋ช ์ ๋ฆฌ
์๋ณธ ๋งํฌ[Docker_Ros]
๋์ปค์ ์ผ๋ฐ์ ๋ฌธ์ ์ ํ์ฉ์?
๋์ปค์ ๊ธฐ์ด๋ฅผ ๋ฐฐ์ฐ๊ณ ์ปจํ
์ด๋๋ฅผ ์คํํ์ง๋ง, ์ผ๋ถ ๊ทธ๋ํฝ ํ๋ก๊ทธ๋จ์ ์คํ๋์ง ์์์.
๋คํธ์ํฌ ํต์ ์ ์ด์ํ๊ฒ ์๋ํ๋ฉฐ, ๊ณต์ ๋ณผ๋ฅจ์์ ์์ฑํ ํ์ผ์ ์ ๊ธฐ๋ ๋ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ด์.
์ค๋์ Dockerfile๊ณผ docker run ๋ช
๋ น์ ์์ ์ ๊ฐํด ์ด๋ฌํ ์ผ๋ฐ์ ๋ฌธ์ ๋ค์ ํด๊ฒฐํด๋ณผ ๊ฑฐ์์.
๋ก๋ด๊ณตํ ๋ฐ ์๋ํ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๊ฒฝ์ ์๋ก ๋ค๋ฉฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ฃผ๊ฒ ์ง๋ง, ์ด๋ ๋ค์ํ Docker ์ฌ์ฉ ์๋๋ฆฌ์ค์๋ ์ ์ฉ ๊ฐ๋ฅํด์.
์ต์ข
์ ์ผ๋ก Docker๋ ๋งค์ฐ ๊ฒฌ๊ณ ํ ํ๋ซํผ์ด๋ฉฐ, ๋ค์ํ ์ด๋ฏธ์ง๋ฅผ ๊ตฌ์ถํ ์ ์๋ ์์ ์ ์ธ ๊ธฐ๋ฐ์ ์ ๊ณตํด์.
๋์ปค ํ์ผ ์ ๋ฐ์ดํธ ๋ฐ ROS ์ด๋ฏธ์ง ๋ณ๊ฒฝ
์์์์ ๋ณด์ฌ๋๋ฆฌ๋ ๋ด์ฉ ์ค ์๋ชป๋์๊ฑฐ๋ ์ต์ ์ ๋ฐฉ๋ฒ์ด ์๋ ๋ถ๋ถ์ด ์์ ์ ์์ด์.
Dockerfiles๋ Alison Thaxton์ด ์์ฑํ ๊ฒ์ ์ฐธ๊ณ ํ๊ณ , ์ฌ๋ฌ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ๊ณตํ์ด์.
์ด์ ์์์์ ๋จ๊ฒจ๋ ๋ถ๋ถ์ ๋ฐํ์ผ๋ก ROS ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ณ๊ฒฝํ๊ธฐ๋ก ํ์์ด์.
๊ธฐ๋ฅ์ ๋ง์ถฐ ์ฌ์ฉ๋ ์ด๋ฏธ์ง๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ค๋ ๋ด์ฉ์ ๋ค๋ฃจ์ฃ .
๋์ปค ์ปจํ ์ด๋์์ ์ฌ์ฉ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์?
๋์ปค ์ปจํ ์ด๋ ๋ด์์ ์์ฑ๋ ํ์ผ์ด ํธ์คํธ์์ ๋ฃจํธ ์ฌ์ฉ์์ ์ํด ์์ฑ๋์ด ์ ๊ฒจ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํด์.
๋ฆฌ๋ ์ค์์๋ ์ฌ์ฉ์์๊ฒ๋ ์ฌ์ฉ์๋ช ๊ณผ ์ฌ์ฉ์ ID ๋ฒํธ ๋๋ UID๊ฐ ์๊ณ , ๋์ปค ์ปจํ ์ด๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฃจํธ๋ก ์คํ๋ผ.
์ฃผ๋ก ํธ์คํธ์ ํธํ์ฑ ์๋ ์ฌ์ฉ์๋ก ๋๋ ์ผ๋ฐ ์ฌ์ฉ์๋ก ์คํํ๋ ค๋ฉด ๋ฆฌ๋ ์ค ์ฌ์ฉ์ ์๋ณ์ ๋ํ ๋ฐฐ๊ฒฝ ์ง์์ด ํ์ํด์.
ํ์ผ์ ์์ฑํ๋ ์ฌ์ฉ์๋ ์์ฑํ ์ฌ์ฉ์์ UID๋ฅผ ์ ์ฅํ๋๋ฐ, ls -l ๋ช ๋ น์ ์ฌ์ฉ์ ์ด๋ฆ์ ๋ณด์ฌ์ฃผ์ง๋ง ls -ln ๋ช ๋ น์ ํตํด ์ฌ์ฉ์ ID ๋ฒํธ๋ฅผ ํ์ธํ ์ ์์ด์.
ํ์ผ๋ง๋ค ์ฌ์ฉ์ ID์ ๊ทธ๋ฃน ID๊ฐ ์์ด์ ์์ ์๋ง ํธ์งํ๊ณ ๋ค๋ฅธ ์ฌ์ฉ์๋ ๋ณผ ์ ์๋๋ก ํ๋ ๋ฑ์ ์ ํ์ ๋๋ ๊ฒ๋ ๊ฐ๋ฅํด์.
Docker์ ์ฌ์ฉ์ ์ง์ ๋ฐฉ๋ฒ์?
Docker์๊ฒ ์ ์ฌ์ฉ์๋ฅผ ์ฌ์ฉํ๋๋ก ์ง์ํ๋ ๋ฐฉ๋ฒ์ ๋ช ๊ฐ์ง๊ฐ ์์ด์.
์ฌ์ฉ์๋ฅผ ๋ง๋ค๊ธฐ ์ ์๋ ์ค์ ๋ก ์๋ํ์ง ์์์.
์ฝ๋๋ฅผ ๋ถ์ฌ๋ฃ์ผ๋ฉด์ โ๋ก์ค(Ross)โ๋ผ๋ ์ฌ์ฉ์๋ฅผ ์์ฑํ๊ณ UID ๋ฐ GID 1000์ผ๋ก ์ค์ ํ๋ฉฐ, ์ด๋ฌํ ์ธ์๋ค์ด ๋น๋ ์ ๋ณ๊ฒฝ ๊ฐ๋ฅํ๋๋ก ์ค์ ๋์ด ์๋ค๊ณ ํด์.
ํ์ฌ โ๋ฑ(deck)โ์ธ ํธ์คํธ์ ๋ค๋ฅธ ์ฌ์ฉ์๋ช ์ด๋ผ ์๊ฐํ ์ ์์ง๋ง, ์๋ํ ์ ์๋ค๋ ์ ์ ๊ธฐ๋ค๋ ค๋ด์ผ ํด์.
์ฌ์ฉ์๋ฅผ ์ํ ํ ๋๋ ํ ๋ฆฌ์ ๊ตฌ์ฑ ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋๋ฉฐ, ์ผ๋ถ ํ๋ก๊ทธ๋จ์ ํด๋น ๋๋ ํ ๋ฆฌ๊ฐ ์์ ๊ฒ์ผ๋ก ์์๋ผ์.
โdocker build -t myimageโ๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋๋ฅผ ๋ค์ ๋น๋ํ ํ ์ ์ฅํ ์ ์๊ณ , โhumbledesktop/fullโ์ด ์ค์ ๋ฆฌํฌ์งํ ๋ฆฌ์ธ ๊ฒ์ ์์ด๋ฒ๋ ธ๋ค๋ฉด, ์ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ํ ๊ฒ์ด๋ผ ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค.
๋์ปค ์ปจํ ์ด๋์์์ ์ฌ์ฉ์ ์ค์ ๊ณผ ํ์ผ ์์ ๊ถ ํ์ธ
๋์ปค ์ปจํ ์ด๋ ๋ด์์ ํน์ ๋ณผ๋ฅจ์ ๋งคํํ์ฌ ์ ์ฌ์ฉ์๋ก ์คํํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํด์.
์ปจํ ์ด๋ ์์์ ํ์ผ์ ์์ ์๋ฅผ ๋ณ๊ฒฝํ๊ณ ํธ์คํธ์์ ๊ด๋ จ์ฑ์ ์ค๋ช ํฉ๋๋ค.
๋์ปค ์ปจํ ์ด๋์์ ์ฌ์ฉ์๋ฅผ ํธ์คํธ์ ์ผ์น์ํค๋ ๊ฒ์ด ์ค์ํ ๊ฒฝ์ฐ์ ๋ํ ์ํฉ์ ์ค๋ช ํ๊ณ , ํ์ผ์ ๋ํ ์์ ๊ถ ๊ด๋ จ ์์ธ์ ์ธ ์ํฉ์ ๋ํด ์ธ๊ธํ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก๋ ๋ฌธ์ ์์์ ๊ฐ์กฐํด์.
๋์ปคํ์ผ์์์ ์ฌ์ฉ์ ๊ด๋ฆฌ ๋ฐฉ๋ฒ?
๋์ปคํ์ผ ๋ด์์ ์ฌ์ฉ์๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ๋ฃจํธ ๊ถํ์ผ๋ก ์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํด์.
์ฌ์ฉ์ ์ด๋ฆ, UID ๋๋ GID๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด Dockerfile ๋๋ ๋น๋ ์์ ์ธ์ ์ ๋ฌ ๊ฐ๋ฅํด์.
์ฌ์ฉ์ ๋ณ๊ฒฝ ํ ๋ช ๋ น์ด ํด๋น ์ฌ์ฉ์๋ก ์คํ๋๋ฉฐ, ๋ง์ง๋ง ์ฌ์ฉ์๊ฐ ์ปจํ ์ด๋ ์คํ ์ ๊ธฐ๋ณธ ์ฌ์ฉ์๊ฐ ๋ฉ๋๋ค.
์ด๋ฏธ์ง๋ฅผ ํ์ฅํ ๋ ๋ฃจํธ ์ฌ์ฉ ์ฌ๋ถ์ ์ฃผ์ํ๊ณ , โRUNโ ๋ช ๋ น์ด๋ก ์์ํ ๋ ์ฌ์ฉํ ์ฌ์ฉ์๋ฅผ ์ ํํ ์ ์์ด์.
sudo์ pseudo ๊ถํ ์ค์ ์ ์ฃผ์ ๊ธฐ๋ฅ?
์ฃผ์ ๊ธฐ๋ฅ์ ๋ ๊ฐ์ง๋ก, ๋จผ์ apt๋ฅผ ์ฌ์ฉํ์ฌ sudo๋ฅผ ์ค์นํด์.
๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๊ธฐ๋ฅ์ผ๋ก, pseudo ๊ถํ์ ์ค์ ํด์.
์ด๋ก์จ, ํน์ ์ฌ์ฉ์์๊ฒ sudo ๊ถํ์ ๋ถ์ฌํ๊ณ sudo๋ฅผ ์คํํ ๋๋ง๋ค ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ ํ์๊ฐ ์๋๋ก ์ค์ ํด์.
๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํ์ง ์์๊ธฐ ๋๋ฌธ์ ์ด ๋์์ ๋ณ๊ฒฝํ๊ฑฐ๋ ํน์ ํ๋ก๊ทธ๋จ์ด sudo๋ก ์คํ๋๋ ๊ฒ์ ์ ํํ ์ ์์ด์.
์ด์ apt ์ค์น ์์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ ์ ๊ด๋ จ ๋ช ๋ น์ด๋ฅผ ๋ค๋ค๋ด์.
์ด ๋ช ๋ น์ด๋ค์๋ ํด์ํ ์์๊ฐ ๋ช ๊ฐ์ง ์์ผ๋ฏ๋ก ๊ถ๊ธ์ฆ์ ํด์ํ๊ธฐ ์ํด ๋ ธ๋ ฅํด ๋ณผ๊ฒ์.
Docker์์ apt-get ๊ณผ apt์ ์ฐจ์ด์ ์ ๋ฐ์ดํธ ํ์์ฑ
apt-get์ ์๋ํ๋ ์์ ๋ฐ ์คํฌ๋ฆฝํธ์ ๋ ์ ๋ขฐ์ฑ ์๊ณ ํธํ ๊ฐ๋ฅํ๊ฒ ์ฌ์ฉ๋ผ์.
๋ฐ๋ฉด, apt๋ ์ฌ์ฉ์ ์นํ์ ์ผ๋ก ์ค๊ณ๋์ด ์์ง๋ง ์๋ํ๋ ์์ ์๋ ์ ํฉํ์ง ์์์.
โapt-get updateโ๋ฅผ ์คํํด์ผ ํ๋ ์ด์ ๋ ์ด์ ํธ์ถ๋ก ํจํค์ง ๋ชฉ๋ก์ด ์์ ํ ๋ฌดํจํ๋์์ ๊ฐ๋ฅ์ฑ์ด ์์ด ์ค์น๋ฅผ ์ํด ์๋ก ๊ณ ์ณ์ผ ํ๊ณ , ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ค์ ๋น๋ํ ๋ ์ด์ ๋ผ์ธ์ ์ฌ์คํํ์ง ์์ ์ ์๊ธฐ ๋๋ฌธ์ด์์.
โinstall -yโ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ์ด์ ๋ ์ฌ์ฉ์๊ฐ ํ์ธ์ ์์ฒญํ์ง ์๊ณ โ์โ๋ก ์๋ตํ๋๋ก ๊ฐ์ ํ๋ค๋ ๊ฑฐ์ฃ .
Docker ๋ช ๋ น์ด ์คํ์ ์ด์ ?
๋ชจ๋ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ณ์ ์ธ ์คํ ๋ช ๋ น์ด๋ก ์ค์นํ ์ ์์ง๋ง, ์ด๋ ๋ฒ๊ฑฐ๋ก์ธ ๋ฟ๋ง ์๋๋ผ ๊ฐ ์ค์น๋ง๋ค ํจํค์ง ๋ชฉ๋ก์ ์ ๋ฐ์ดํธํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์ด์.
ํจํค์ง ๋ชฉ๋ก์ ์ญ์ ํ๋ ์ด์ ๋ ์ต์ข ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ธฐ ์ํจ์ด๋ฉฐ, ๋ค๋ฅธ ๊ณ์ธต์์๋ ์ด๋ฌํ ์์ ์ด ๋ฐ์ํ๋ ๊ฑธ ๋ฐฉ์งํ๊ธฐ ์ํจ์ด์์.
apt-get update๋ฅผ ์คํํ์ง ์๊ณ ์ค์น ๋ช ๋ น์ ๋ด๋ฆด ๊ฒฝ์ฐ ๋์ค์ ํ๋ก๊ทธ๋จ ์ค์น๊ฐ ๋ถ๊ฐ๋ฅํด์ง ์ ์์ผ๋ฏ๋ก ํ ๋ฒ์ ๋ชจ๋ ์คํํด์ผ ํด์.
๋์ปค ํ๊ฒฝ ๋ณ์ ์ค์
๋์ปค๋ฅผ ์ฌ์ฉํด ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ ๋ Debian_frontend๋ฅผ non-interactive๋ก ์ค์ ํ ์ ์์ด์.
์ค์น ๊ณผ์ ์ค์ ๋ค๋ฅธ ์ฌ์ฉ์ ํ๋กฌํํธ๋ฅผ ๋ฐ์ง ์๊ฒ ํด์.
์คํ ๊ฒฐ๊ณผ, ํฐ ์ฐจ์ด๋ฅผ ๋ชป ๋๊ผ๊ณ , ๊ตฌ๊ธ๋ง ๊ฒฐ๊ณผ ์ด๊ฒ์ ๋ฃ์ด๋ ์ผ๋ถ ํ๋กฌํํธ๊ฐ ํ์๋ ์ ์๋ค๊ณ ํด์.
๋ฐ๋ผ์ Docker ENV ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์ค์ ํ์ง ์๋ ๊ฒ์ด ์ข์์.
์ด๋ ๊ฒ ํ์ง ์์ผ๋ฉด ์ดํ์ ๋ค์ ๋์ง ์์๋ค๊ฐ ์ฌ์ฉํ๋ ๋ชจ๋ ์ฌ์ฉ์์ ์ํฅ ์ค ์ ์์ด์.
๋์ปค์์์ ์ค์ํ ์ค์ ์?
Docker๋ฅผ ์ฌ์ฉํ ๋, ์ค์ํ ๊ฒ ์ค ํ๋๋ ๋คํธ์ํน์ด์์.
ROS๋ฅผ ์ฌ์ฉํ๋ค๋ฉด, โout of the boxโ๋ก๋ ํญ์ ์ ์๋ํ์ง ์์์ ๋นจ๋ฆฌ ๊นจ๋ซ๊ฒ ๋์ด์.
Docker๋ ๋์ ์ค์ ๊ฐ๋ฅ์ฑ์ ๊ฐ์ง ๋คํธ์ํน ์์คํ ์ ๊ฐ์ง๊ณ ์์ด์ ๋ณต์กํ ์์ ์ ํ ์ ์์ฃ .
๋ก๋ด ์์ฉ ํ๋ก๊ทธ๋จ์์๋ ์ด๋ฅผ ๊ณ ๋ คํ์ง ์๊ณ ๋ชจ๋ ๊ฒ์ด ์ ์์ ์ผ๋ก ๋์ํ๊ธธ ์ํ ๋, โnetwork=host๋ฅผ ์ถ๊ฐํ์ฌ ํธ์คํธ์ ๋คํธ์ํน์ ๊ณต์ ํ๋๋ก ์ง์ํ๊ณ , โipc=host๋ฅผ ์ถ๊ฐํ์ฌ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ก ์ง์ํ์ฌ ์ํต ์์คํ ์์ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ํด์.
๋์ปค ๋ํ๋จผํธ์ ๋ด์ฉ์ ๋ฌด์์ธ๊ฐ์?
๋์ปค ๋ํ๋จผํธ๋ ์ต์ ์ ๋ํด ์น์ ํ๊ฒ ์ค๋ช ํ๋ฉฐ, GUI ํ๋ก๊ทธ๋จ ์คํ ๋ฐฉ๋ฒ๋ ๋ค๋ฃจ์ด์.
๋์ปคํ์ผ์ ์์ฑํ ๋ Entry point์ command๋ฅผ ์ง์ ํ ์ ์์ง๋ง, ๋ ๊ฐ์ง๊ฐ ์ํธ์์ฉํ๋ ๋ฐฉ์์ ์กฐ๊ธ ๋ณต์กํ์ฃ .
๋ํ ํน์ ํจํด์ ์๊ฐํด ์์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ธ๊ธํด์.
ROS ์ด๋ฏธ์ง ๋ฐ ์ํธ๋ฆฌ ํฌ์ธํธ ์ค์ ๋ฐฉ๋ฒ์?
ROS ์ด๋ฏธ์ง ์ค์ ์ bash ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด ๋ฐํ์ ํ๊ฒฝ์ ์ค์ ํ๊ณ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ ๊ฒ์ด์์.
์ด ์คํฌ๋ฆฝํธ๋ ์คํ ๊ฐ๋ฅํ ๋ํผ์ฒ๋ผ ์๋ํ๋ฉฐ ์ ๋ฌ๋ ์ธ์๋ ์ถ๊ฐ๋ก ์ ๊ณต๋ ๋ด์ฉ์ ํฌํจํ์ฌ ์คํ๋ผ์.
์ํธ๋ฆฌ ํฌ์ธํธ ์คํฌ๋ฆฝํธ๋ ์ค๋ฅ ์ ํธ๋ฅผ ํ์ฑํํ๊ณ ROS ์ค์น๋ฅผ ์คํํ๊ณ ์ ๋ฌ๋ ๋ด์ฉ์ ์ถ๋ ฅํ๋ฉฐ ์คํ๋ผ์.
Dockerfile์ ์ถ๊ฐ ์ง์๋ฌธ์ ๋ฃ์ด ์ค์ ์ ์๋ฃํ๊ณ ๋ช ๋ น์ ์ ๋ฌํ๊ธฐ ์ํด ๋ช ๋ น ์ง์๋ฌธ์ ์ฌ์ฉํ๋ฉฐ, ์ด๋ฏธ์ง๋ฅผ ๋ค์ ๋น๋ํ์ฌ ์คํ ์ ์ ๋ฌ๋ ์ธ์๋ฅผ ํ์ธํ ์ ์์ด์.
ํ๋ก๊ทธ๋จ ์คํ ํ PCBWay ์๊ฐ ๋๊ธฐ๋?
ํ๋ก๊ทธ๋จ์ด ํน์ ๋ฒ์ ์ ROS ๋ฐ Linux์์ ์คํ ์ค์ด๋ผ๋ ์ฌ์ค์ ์ธ์ง ๋ชปํ ์ฑ, ๋จ๋ ์ผ๋ก ๊ทธ ํ๋ก๊ทธ๋จ์ ์คํํ ๊ฒ ๊ฐ์์.
ํํ ๋ฆฌ์ผ์์ ๋ค๋ค๋ ๋ด์ฉ์ด ๋ง์๋ฐ, ์ด์ ๋ค์ ๋จ๊ณ์์๋ ๊ทธ๋ํฝ ํ๋ก๊ทธ๋จ์ ๋์์ํค๋ ๊ฒ์ด ๋ ๋ณต์กํด์ง ๊ฒ์ผ๋ก ์์๋ผ์.
๋ฐ๋ผ์ ์ ์ ์ฌ์ด๊ฐ๋ฉฐ ์ด ๋์์์ ํ์์ฌ์ธ PCBWay๋ฅผ ํ์ธํ๊ธฐ๋ก ํ์ด์.
PCBWay๋ PCB ๊ด๋ จ ๊ตญ๋ด ์ต๋ ํ๋ธ๋ก PCB ์ ์ ๋ฟ๋ง ์๋๋ผ ์กฐ๋ฆฝ๊น์ง ๊ฐ๋ฅํ๋ฉฐ, 3D ํ๋ฆฐํ , CNC ๊ฐ๊ณต, ์ํธ ๊ธ์ ๊ฐ๊ณต, ์ฌ์ถ ์ฑํ ๋ฑ ๋ค์ํ ์ ํ์ ์ ๊ณตํด์.
PCB๊ฐ ํ์ํ์ง ์๋ค๋ฉด, ๋ค์ํ ๋ค๋ฅธ ์ ํ๋ ์ ๊ณตํ๋, ์ฐฝ์์ ์ธ ์์ด๋์ด๋ฅผ ์คํํ๊ณ ์ ํ๋ค๋ฉด ๋งํฌ๋ฅผ ํตํด PCBWay๋ฅผ ๋ฐฉ๋ฌธํด๋ณด์ธ์.
๋์ปค ๋ด์์ ๊ทธ๋ํฝ์ค ์ฌ์ฉํ๊ธฐ
๋์ปค ๋ด์์ ๊ทธ๋ํฝ์ค๋ฅผ ์ ๋๋ก ์๋์ํค๋ ค๋ฉด ์ฌ์ฉํ๊ณ ์๋ CPU ์ ์กฐ์ฌ, ์คํํ๋ ค๋ ํ๋ก๊ทธ๋จ, ํ์ํ ๊ธฐ๋ฅ ์ ํ์ ๋ฐ๋ผ ๋ณต์กํ ์ ์์ด์.
X ์๋์ฐ์ฆ๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํ๋ฉฐ, ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐฉ๋ฒ์ ์ํฉ์ ๋ฐ๋ผ ๋๋ ์ ์ ํ ๊ฒ์ด ์กด์ฌํด์.
์ฌ์ฉ์ ๊ถํ๊ณผ X์ ๋ํ ์ ๊ทผ ๊ถํ์ด ์ค์ํ๋ฉฐ, X ๋๋ฉ์ธ ์์ผ์ ๋ ธ์ถ์์ผ์ผ ํด์.
๋ํ, ํด๋น ์ฌ์ฉ์๋ก ์คํ๋ ์ปจํ ์ด๋๋ค์ด ์ ๊ทผํ ์ ์๋๋ก ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ๊ถํ์ ๋ถ์ฌํ๊ฑฐ๋ ํน์ ์ฌ์ฉ์์๊ฒ ๊ถํ์ ๋ถ์ฌํ ์ ์๊ณ , ํ๊ฒฝ์ค์ ์์ ํ์๋ ํ์์ ํด๋น ๊ถํ์ ์ทจ์ํ ์ ์์ด์.
๋ง์ง๋ง์ผ๋ก, X ๋์คํ๋ ์ด๋ฅผ ํ ๋นํ๊ณ , ํธ์คํธ์์ ์ฌ์ฉ ์ค์ธ ๋์คํ๋ ์ด๋ฅผ ์ฌ์ฉํ๋๋ก Docker์ ์ง์ํ์ฌ ํน์ ๊ฐ์ ์ ๊ณตํ๋ ๋์ ์ ํธ์คํธ ๋์คํ๋ ์ด๋ฅผ ์ฌ์ฉํ๋๋ก ์ค์ ํด์.
ROS2 ํฅํ ์ฝํ ์ธ ์์ ์?
ROS2 ํ ํฝ ๋ชฉ๋ก์ด ์๋ ์ปจํ ์ด๋๋ฅผ ์์ํ๊ณ RViz๋ฅผ ์คํํ๋ฉด ๊ทธ๋ํฝ์ด ์คํ๋ ๊ฒ์ผ๋ก ๊ธฐ๋๋๊ณ , CUDA์ ๋ฏธ๋ ๋น๋์ค์์ GPU ๊ฐ์์ ๋ํด ์์ธํ ๋ค๋ฃฐ ์์ ์ด์์.
๋ก์ผ์ผ๊ณผ ์๊ฐ๋ ๊ฐ๋ ์ ์ํํธ์จ์ด๊ฐ ํน์ ๋ฐ์ดํฐ ์กฐ๊ฐ์ ์ฌ์ฉ์์๊ฒ ์ด๋ป๊ฒ ํํํด์ผ ํ๋์ง ์๋ ค์ฃผ๋ ์์คํ ์ธ๋ฐ, ๊ณต์ ROS ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ฉด ์ด ์์ ์ด ์ฒ๋ฆฌ๋์ง๋ง, Ubuntu ๊ธฐ๋ณธ ์ด๋ฏธ์ง์์ ์์ฑํ๋ ๊ฒฝ์ฐ ์ฃผ์ํด์ผ ํด์.
ROS2 ์๋์์ฑ ์ค์ ๋ฐฉ๋ฒ์?
ROS2์์ ์๋์์ฑ์ ์ผ๋ถ ์ค์ ์ด ํ์ํ๋ฉฐ, .bashrc ํ์ผ์ ์์ค ๋ช ๋ น์ด ์ถ๊ฐํ์ฌ ํด๊ฒฐํ ์ ์์ด์.
ํฐ๋ฏธ๋์ด ์คํ๋ ๋๋ง๋ค .bashrc ํ์ผ์ ๋ช ๋ น์ด๊ฐ ์คํ๋๋๋ก ๊ตฌ์ฑํ๋ฉด ros2๋ colcon๊ณผ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์๋์ผ๋ก ์์ฑํ ์ ์์ด์.
์๋์์ฑ์ด ์๋ํ์ง ์์ ๋๋ python3-ardcomplete์ ์ค์นํ๊ฑฐ๋ bash completion์ ์๋ํ ์ ์์ด์.
๋ํ, ๋ค๋ฅธ ์ ์ฉํ ๋๊ตฌ, ํ๋ก๊ทธ๋จ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ์ฉ ๊ฐ๋ฅํด์.
Docker ์ด๋ฏธ์ง ๊ตฌ์ฑ ๋ฐ ํ์ฅ ๋ฐฉ๋ฒ์?
๊ธฐ๋ณธ ์ค์น์์๋ ํ ์คํธ ํธ์ง๊ธฐ, ํฅ์ค ํธ์ง๊ธฐ, ์ปดํ์ผ๋ฌ, ๋ฆฐํฐ์ ๊ฐ์ ๊ฒ๋ค์ด ํ์ํด์.
๋งค์ฐ ์ผ๋ถ๋ง ๋ค๋ฃฌ ๊ฒ์ด๋ฉฐ, ์ธ๋ถ์ฌํญ์ ๊ฐ์ธ๋ง๋ค ๋ค๋ฅผ ๊ฑฐ์์.
ํ์์ ์ธ ๊ฒ์ด ๋ชจ๋ ์๋ ๊ฒฝ์ฐ, ํด๋น ์์ ๋๊ธ์ด๋ Articulated Robotics Discourse Forum์ ๋ ผ์ ์ค๋ ๋์์ ์๋ ค์ค์.
๋ง์ง๋ง์ผ๋ก ๋์ปค์ ๊ธฐ๊ธฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ๋ค์ ์์์ ๋ฃ๊ธฐ๋ก ๊ฒฐ์ ํ์ง๋ง, ๊ฒ์ํจ๋, ์นด๋ฉ๋ผ, ์๋ฆฌ์ผ ๊ธฐ๊ธฐ ๋ฑ์ด ๋ ์ ์์ด์.
ํ์ฌ ์ฌ์ฉ ์ค์ธ run ๋ช ๋ น์ด๋ ๋ง์ ์ธ์๋ค์ ๊ธฐ์ตํด์ผ ํ๊ณ ์ค์ ๋ก ์ฌ์ฉํ๋ ๊ฒ์ ์ฌ์ ํ ๋ค์ ๋ณต์กํ์ฃ .
๊ทธ๋์ ๋ค์ ์์์์๋ ๋ชจ๋ ์คํ ์ ์ธ์๋ค์ ์ค์ ํ๋ ๋ ๊น๋ํ ๋ฐฉ๋ฒ์ธ Docker Compose์ ์ฌ๋ฌ ํ๋ซํผ์์ ๊ฐ๋ฐ์ ๊ฐํธํ๊ฒ ํ๋ VS Code Dev containers๋ฅผ ์ดํด๋ณผ ๊ฑฐ์์.
์ด๋ค ๊ฒ๋ถํฐ ๋ณผ์ง๋ ์์ง ๊ฒฐ์ ํ์ง ์์์ผ๋, ํน๋ณํ ๋ณด๊ณ ์ถ์ ๊ฒ์ด ์๋ค๋ฉด ์๋ ค์ค์.