| 개념 | 설명 |
| Node | ROS에서 작업 단위, 하나의 실행 파일을 의미한다. 각각의 노드는 독립적으로 실행된다 |
| Package | 여러 작업을 수행하는 노드의 묶음 |
| Node file | 실행 가능한 노드 스크립트 |
| Launch file | 여러 노드를 설정과 함께 실행하기 위한 XML 형식의 파일 |
| Message | 노드가 생성하는 정보의 단위, 정수 값, 실수 값, 문자열, 시간, 이미지, 점군..등등이 포함된다 |
| Topic | 발행과 구독의 방식으로 이루어지는 노드 간 메세지 전달 방식 지속적으로 센서 데이터를 생성해내고 이를 받아 처리할 때 사용된다 |
| Service | 요청과 응답을 통한 동기식 통신 방식 특정 목적의 작업에 해당하는 서비스를 일회성으로 요청할 때 사용한다 |
| Action | 장기간 작업의 수행을 위한 비동기 방식의 통신, 중간 결과 값이 피드백 된다 |
| Parameter | 노드에서 사용하는 파라미터를 의미, 서버에서 관리하며, 프로그램 동작 중 실시간 변경이 가능하다 EX) 카메라의 내부 파라미터, 모터의 최대, 최소 속도 값, 특정 알고리즘에서 사용하는 설정 값 |
| Bag | 토픽 메세지를 타임스탬프와 함께 기록한 파일, .bag 확장자를 가진다 실험 환경의 재현을 위해 사용된다 |
| 구성 요소 | 설명 |
| catkin_init_workspace | catkin 워크스페이스 초기화 & CMakeLists.txt 생성 |
| catkin_make | ROS 워크스페이스를 빌드하는 명령어 |
| src 폴더 | 소스 코드, 패키지.. 등등이 위치하는 폴더 |
| 빌드 | 작성한 코드와 패키지를 컴파일하고 필요한 의존성을 해결하여 실행 가능한 바이너리, 라이브러리를 생성하는 과정 |
| 설정 파일 | 실행 및 경로 설정을 위한 파일, setup.bash나 setup.zsh.. 등등 |
| 명령어 | 설명 | 예시 |
| roscore | ROS 마스터 노드의 실행, 시스템의 필수 프로세스 일반 노드를 실행하기 전에 먼저 실행해 주어야하며, 모든 노드가 종료될 때까지 유지해야 한다 | roscore |
| rosrun | ROS 패키지 내의 하나의 노드를 실행하는 명령어 rosrun <패키지 이름> <노드 이름> | rosrun turtlesim turtlesim_node |
| roslaunch | 여러 노드와 설정 파일을 한 번에 실행 | roslaunch package_name launch_file.launch |
| rosnode | 현재 실행중인 노드 상태 및 관리 | rosnode list rosnode info node_name |
| rostopic | ROS 토픽 관련 정보 조회, 데이터 발행/구독 | rostopic list rostopic echo /topic_name |
| rosservice | ROS 서비스 정보 조회, 서비스 호출 | rosservice list rosservice call /service |
| rosparam | ROS 파라미터 조회 및 설정 | rosparam get /param_name rosparam set /param_name value |
| rosbag | Bag 파일을 기록, 재생하고 정보 확인 하는데 활용하는 명령어 | rosbag info "bag_file" rosbag play "bag_file" |
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
# [의존성 1], [의존성 2]...를 가진 [패키지 이름] 라는 이름의 패키지 생성
catkin_create_pkg [패키지 이름] [의존성 1] [의존성 2] ...
cd ~/catkin_ws/src/[패키지 이름]
# 필요한 의존성 패키지 설치
rosdep install --from-paths src --ignore-src -r -y
cd ~/catkin_ws
catkin_make
chmod +x src/[파일이름.py]
source devel/setup.bash
roscore (erp 실행시킨 상태에서는 X)
rosrun [패키지 이름] [파일이름.py]
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone [깃허브 링크]
cd ..
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
cd ~/catkin_ws
roslaunch [패키지 이름] [런치파일]