Ch2. ํฐ๋ฏธ๋๊ณผ bashrc ๊ทธ๋ฆฌ๊ณ ๋ฆฌ๋ ์ค ์ต์ํด์ง๊ธฐ์ ๋ํด์ ์์๋ณด๊ณ ์ ํ๋ค.
์ฌ๊ธฐ์ ๋ค๋ฃจ๋ ๊ฐ์ฅ ๋ฉ์ธ์ด ๋๋ ์ด์ผ๊ธฐ๋ ํ ๊ฒฝ๋ก์ ์๋. bashrc์ ๋ํ ํ์ผ์ ๋ํ ๊ฒ์ด๋ค.
1. ์ฐ๋ถํฌ ๊ธฐ๋ณธ ๋ช ๋ น(๊ถํ์ด ์๋ ๊ฒฝ์ฐ sudo๋ฅผ ์ด์ฉํด ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํ)
- ํด๋ ๋ง๋ค๊ธฐ : mkdir <ํด๋ ๋ช >
- ํด๋ ์ด๋ : cd <๊ฒฝ๋ก> (์ด๋ ๊ฒฝ๋ก ์ง์ ์ ์ํ๊ณ .. ์ ์น๋ค๋ฉด ํ ํด๋์ ์ ํด๋๋ก ๊ฐ๊ฒ ๋จ.)
- ํ์ผ ์ญ์ : rm <ํ์ผ>
- ํด๋ ์ญ์ : rm -r <ํด๋>
2. bashrc
(1) Shell ์
: Shell์ ์ด์์ฒด์ ์ ์ผ๋ถ๋ก PC๊ฐ ์คํ๋ ์ดํ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ๋ ํต์ฌ ํ๋ก๊ทธ๋จ์ธ ์ปค๋๊ณผ ์ฌ์ฉ์ ์ฌ์ด๋ฅผ ์ฐ๊ฒฐํด ์ฃผ๋ ํ๋ก๊ทธ๋จ. Ubuntu์์ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ bash์. ๋ง์ฝ ์ด๋ฅผ ํ์ธํ๊ณ ์ ํ๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์น๋ฉด ๋จ.
echo $SHELL
(2) .bashrc
2.(1)์์ ์ด์ผ๊ธฐํ bash์ ๊ฐ์ข ์ค์ ์ ์ ์ฅํ๋ ํ์ผ์ด ์ฌ๋ฌ ๊ฐ ์๋๋ฐ, ๊ทธ์ค ๋ก๊ทธ์ธํ ์ฌ์ฉ์ ๊ฐ๋ณ๋ก ์ง์ ํ ์ค์ ์ ์ ์ฅํด ๋๋ ๊ฒ์ด bashrc ํ์ผ์. ์ ์๋ช ์นญ : '. bashrc'
์ด๊ธฐ ์ํด์ '<ํธ์ง๊ธฐ> ~/. bashrc'๋ผ๋ ๋ช ๋ น์ด๋ฅผ ์ณ์ผ ํ๋ฉฐ, code๋ก ์ด๊ธฐ ์ํด์ code ~/. bashrc๋ฅผ ์น๋ฉด ๋จ.
code ~/.bashrc
์ฌ๊ธฐ์ ์ด๋ฐ์ ROS๋ฅผ ์คํํ ํ๊ฒฝ์ ๋ง๋ค์ด์ฃผ๊ธฐ ์ํด์ ํญ์ 'source /opt/ros/humble/setup.bash'๋ฅผ ํฐ๋ฏธ๋์ ์ ๋ ฅํ๋๋ฐ ์ด๋ฅผ. bashrc ํ์ผ ์ ์ผ ๋ง์ง๋ง์ ์ ๋ ฅํด ๋๋ฉด ๋ช ๋ น์ด ๋ฑ๋ก๋จ.
์ด๋ ๊ฒ ์์ฑ ํ ๋ฌด์กฐ๊ฑด ์ ์ฅ์ ํด์ผ ํ๋ค!
echo "ROS2 humble is activated!" // "..." ์ ๋ง์ ๋งํ๋ค.
source /opt/ros/humble/setup.bash // ROS ๊ธฐ๋ณธ ๋ช
๋ น ์คํ
์ดํ ํฐ๋ฏธ๋์ ์ฐ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์คํ์ด ๋๋ค.
์ดํ ํฐ๋ฏธ๋์ ๊ป๋ค ์ผ๊ฑฐ๋ ์๋์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ๋ณ๊ฒฝ๋. bashrc ํ์ผ์ ์ฝ์ด์ค๊ฒ ๋๋ค.
source ~/.bashrc
3. alias ์ค์
: ํ์ฌ์ ๊ฐ์ ๋ฐฉ์์ ์ง๊ธ ์ฌ์ฉํ๋ ROS ๋ฒ์ ์ ๋ฌด์กฐ๊ฑด ๋ถ๋ฌ์ค๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋ฒ์ ์ ROS๋ฅผ ์ด์ฉ ๋ชปํ๋ ๋ฑ์ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค. ๋ฐ๋ผ์ alias๋ผ๋ ๋ช ๋ น์ด๋ฅผ ํตํด ํน์ ๋จ์ด๋ฅผ ์ ๋ ฅํ์ ๋ ๋ช ๋ น์ ์คํํ๊ฒ ๋๋ค. ๋จ์ถ์ด์ ๋น์ทํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
Alias ์ค์ ์ ๋ค์์ ๋ฌธ๋ฒ์ ๋ฐ๋ฅธ๋ค.
alias command_name="values"
. bashrc ๋งจ ๋ฐ์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํ๊ณ ํ ์คํธํด๋ณด์.
alias alias_test="echo \"Alias test\""
์ด๋ ํน๋ณํ ์กฐ์ฌํด์ผ ํ ์ ์ name_value์ ๋ฑํธ๋ ๋ถ์ฌ ์จ์ผ ํ๋ค๋ ์ ์ด๋ค.
๋ํ alias ๋ช ๋ น์ ์ ๋ถ ๋ค ํ์ธํ๊ณ ์ถ๋ค๋ฉด ํฐ๋ฏธ๋์ alias๋ผ๊ณ ๋ช ๋ น์ด๋ฅผ ์น๋ฉด ๋๋ค.
์ดํ ์๊น ์ค์ ํ ๋ถ๋ถ๋ค์ ๋ฌถ์ด humble์ด๋ผ๋ ๋จ์ด๋ฅผ ์น๋ฉด ROS๋ฅผ ์ค๋นํ๋๋ก ๋ง๋ค์ด๋ณด์.
alias humble="source /opt/ros/humble/setup.bash; echo \"ROS2 humble is activated!\""
๋ํ ์์ฃผ ์ด์ฉํ๋ ๋ช ๋ น์ด๋ค์ ๋จ์ถ์ด๋ก ์ด์ฉํ๋ฉด ๋งค์ฐ ์ข์ผ๋ ์ดํ ํธํ๊ฒ ์ค์ ์ ํด์ฃผ๋ฉด ๋๋ค.
4. ROS2 ๋๋ฉ์ธ ์ค์
ROS1์์๋ ๋ ธ๋ ๊ฐ์ ํต์ ๊ณผ ๋ค์์คํ์ด์ค์ ๊ด๋ฆฌ ๋ฑ์ ROS master๊ฐ ์ํํ์ง๋ง ROS2์์๋ ROS master๊ฐ ์์ด์ง๊ณ DDS(Data Distribution System)๋ฅผ ์ด์ฉํฉ๋๋ค. ์ด๋ฌํ ์ ์์ ํ AP(Access Point)์์ ์ฌ๋ฌ ์ฌ๋์ด ๋์์ ROS2๋ฅผ ๊ณต๋ถํ๋ค๋ฉด ๊ฐ์ ๋ ธ๋์ ์ด๋ฆ, ๊ฐ์ ํ ํฝ์ ์ด๋ฆ์ด ์ถฉ๋๋ ์ ์๊ธฐ์ ์์ ์ ์์คํ ์ ๋๋ฉ์ธ์ ๋ณ๋๋ก ์ง์ ํ ํ์๊ฐ ์๋ค.
๋ฐ๋ผ์ ํฐ๋ฏธ๋์์ ๋ณธ์ธ์ ID๋ฅผ ์ ํ ๋ค์, ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํ๋ฉด ๋๋ค.
export ROS_DOMAIN_ID=<ID>
์ด๋ ๊ฐ์ ๊ณต๊ฐ์์ ๊ณต๋ถํ๋ ์ฌ๋๋ค์ ID๋ฅผ ๋ค๋ฅด๊ฒ ํด์ผ ํ๋ค.
์ดํ ๋ค์๊ธ์์๋ ROS2 ๊ธฐ์ด ๋ช ๋ น์ด๋ฅผ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
'๊ณต๋ถ ๐ > Robot & ROS2' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฌด์์ ๊ณต๋ถํ๊ธฐ - ํผ์ ๊ณต๋ถํ๋ ๋ก๋ด SW ๋ฐ๋ผํ๊ธฐ (4) (0) | 2023.02.09 |
---|---|
๋ฌด์์ ๊ณต๋ถํ๊ธฐ - ํผ์ ๊ณต๋ถํ๋ ๋ก๋ด SW ๋ฐ๋ผํ๊ธฐ (3) (0) | 2023.02.07 |
๋ฌด์์ ๊ณต๋ถํ๊ธฐ - ํผ์ ๊ณต๋ถํ๋ ๋ก๋ด SW ๋ฐ๋ผํ๊ธฐ (1) (0) | 2023.01.28 |
Use Camera in Raspberry Pi (0) | 2022.09.10 |
Raspberry PI 4์ ROS ์ค์น (0) | 2022.09.10 |