차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 | |||
activity:public:2020:ros:201106 [2021/10/03 15:16:06] – [ROS 스터디 #2: ROS 사용법 기초] yhy01625 | activity:public:2020:ros:201106 [2021/10/03 15:45:48] (현재) – yhy01625 | ||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | ======ROS 스터디 #2: ROS 사용법 기초====== | ||
+ | 2020년 11월 06일 13:00\\ | ||
+ | ZOOM 화상회의 | ||
+ | {{youtube> | ||
+ | 영상의 PPT가 많은 도움이 됩니다. 꼭 시청해주세요! | ||
+ | |||
+ | =====1. ROS 기본개념===== | ||
+ | * **노드(Node)**: | ||
+ | * **패키지(Package)**: | ||
+ | * **메시지(Message)**: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ====1.1. 메시지 통신 방법의 종류==== | ||
+ | 요약: | ||
+ | ^종류 ^ 동기 ^ 방향 ^ 사용 ^ | ||
+ | | Topic | 비동기 | 단방향 | 연속으로 데이터를 송수신 | | ||
+ | | Service | 동기 | 양방향 | 요청 처리가 순간적(1회성); | ||
+ | | Action | 비동기 | 양방향 | 요청 처리 후 응답까지 오래 걸려서 서비스를 이용하기 어려운 경우, 중간 피드백값이 필요한 경우 | | ||
+ | |||
+ | |||
+ | =====2. 통신의 흐름===== | ||
+ | |||
+ | |||
+ | ====2.1. 마스터 노드 구동==== | ||
+ | |||
+ | <sxh bash title: 실행법> | ||
+ | roscore | ||
+ | </ | ||
+ | 모든 ros 노드들에 대한 **정보 중계**를 담당.\\ | ||
+ | 각 노드들이 **서로의 존재를 인식하게 하는 역할**만 담당하고, | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ====2.2. 노드2 구동==== | ||
+ | <sxh bash title: 실행법> | ||
+ | rosrun 패키지이름 노드이름 | ||
+ | </ | ||
+ | Subscriber나 client를 따로 임의로 실행시킬 때 사용한다. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ====2.3. 노드 1 구동==== | ||
+ | <sxh bash title: 실행법> | ||
+ | rosrun 패키지이름 노드이름 | ||
+ | </ | ||
+ | Publisher나 server를 따로 임의로 실행시킬 때 사용한다. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ====2.4. TCPROS 접속==== | ||
+ | 마스터는 노드1의 정보를 노드2에게 알리고, 노드1과 2 사이에 **TCPROS 접속**이 일어난다. | ||
+ | TCPROS 접속을 경로로 메시지 전송이 일어나는데, | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ====2.5. 예시==== | ||
+ | [[activity: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | =====3. ROS 개념===== | ||
+ | * **네임(Name)**: | ||
+ | |||
+ | |||
+ | * **좌표변환(TF)**: | ||