본문 바로가기

FOSCAR-(Autonomous Driving)/ROS 스터디

[2024 ROS 스터디] 반제호 #3주차 - ROS 기본 프로그래밍

반응형

1. ROS 프로그래밍 전에 알아둬야 할 사항

  • 표준 단위 - SI 단위 사용
  • 좌표 표현 방식 - x: forward, y: left, z: up, 오른손 법칙
  • 프로그래밍 규칙

2. 메시지 통신의 종류

ROS 메시지 통신

  1. 토픽(Topic): 퍼블리셔 -> 서브스크라이버 [단방향]
  2. 서비스(Service): 서비스 서버 <-> 서비스 클라이언트 [양방향]
  3. 액션(Action): 액션 서버 <-> 액션 클라이언트 [양방향, 피드백]
  4. 매개변수(Parameter): 파라미터 서버에서 읽고 쓰기

3. Topic/ Publisher/ Subscriber

 

1. 패키지 생성

$ cd ~/catkin_ws/src $ catkin_create_pkg ros_tutorials_topic message_generation std_msgs roscpp

입력하면 src 소스 코드 폴더가 생성된다.

패키지 생성

 

2. 패키지 설정 파일(package.xml) 수정

package.xml은 패키지 정보를 담은 XML 파일로서 패키지 이름, 저작자, 라이선스, 의존성 패키지 등이 포함되어 있다.

패키지 설정 파일 수정

 

3. 빌드 설정 파일(CMakeLists.txt) 수정

소스 코드 작성 후 실행 파일 만들 때 사용되는 옵션들

빌드 설정 파일 수정

 

4. 메시지 파일 작성

• Time (메시지 형식), stamp (메시지 이름) , int32 (메시지 형식), data (메시지 이름)

메시지가 작성된 시간을 포함시킴

메시지 파일 작성

 

5. 퍼블리셔 노드 작성

퍼블리셔 노드 작성

 

6. 서브스크라이버 노드 작성

서브스크라이버 노드 작성

 

7. ROS 노드 빌드

ros_tutorials_topic 패키지의 메시지 파일, 퍼블리셔 노드, 서브스 크라이버 노드를 빌드

 

 

 

반응형