자율주행 시스템 구성을 위한 ROS Directory 구성은 대략적으로 다음과 같다.
📂 Driven_ws(Driven_autonomous_driving)
⏐
├ 📂 devel
├ 📂 build
⎣ 📂 src
⏐
├ 📂 perception(pkg)
⏐ ├ 📄 CMakeList.txt
⏐ ├ 📄 package.xml
⏐ ├ 📂 src
⏐ ⏐ ⎣ 📄 node.cpp | node.c
⏐ ├ 📂 launch
⏐ ⏐ ⎣ 📄 .launch
⏐ ├ 📂 msg
⏐ ⏐ ⎣ 📄 .msg
⏐ ├ 📂 include
⏐ ⏐ ⎣ 📄 .h
⏐ ⎣ 📂 scripts
⏐ ⎣ 📄 node.py / .sh
⏐
├ 📂 decision(pkg)
⏐ ⎣ ...
⎣ 📂 control(pkg)
⎣ ...
Bash
복사
src
•
src 에는 .cpp .c 소스코드 scripts 에는 .py .sh 파일을 넣어둔다.
◦
.sh 파일의 경우는 쉘 스크립트라고 하며 보통 터미널에 입력하는 명령어를 해당 파일에 여러개 적어두어 하나하나씩 입력하는 노고를 줄여준다.
launch
•
launch 파일을 여러개의 노드를 실행하기 위해 필요하며
msg
•
msg 폴더에는 사용하고 싶은 메시지타입을 적어둔다.
int64 x
int64 y
string Class
...
Bash
복사
include
•
include 에는 #include <ros/ros.h> 와 같은 헤더파일을 쭉 넣어두고 src/node.cpp 에서는 #include header.h 와 같이 사용한다
1.
catkin_make 실행 이유:
catkin_make 명령어는 ROS 패키지를 빌드하고 컴파일하는데 사용. 패키지를 수정하거나 추가한 경우, 변경 사항을 반영하려면 catkin_make를 실행하여 패키지를 재빌드 해야함
2.
source devel/setup.bash 실행 이유:
ROS ws에서 devel/setup.bash 스크립트를 실행하면, 현재 터미널 세션에서 ROS 패키지와 관련된 환경 변수를 설정함. 이 환경 변수는 ROS 실행 파일 및 라이브러리를 찾는 데 필요함. 무조건 실행해야함