ROS 개념

유진신·2024년 9월 25일

ROS

목록 보기
1/1

ROS 구성 요소

노드

  • ROS에서 실행되는 최소 단위의 프로세스
  • 하나의 목적에 하나의 노드 작성을 권장함
  • 노드가 구동될 때, 노드의 역할(토리그 서비스 등), 메세지 형태 등이 등록됨

패키지

  • 로스를 구성하는 기본 단위
  • ROS 응용 프로그램은 패키지 단위ㅗㄹ 개발되며, 최소한 하나의 노드를 가진다

메세지

  • 노드와 노드는 서로 메세지를 통해 데이터를 주고받음
  • INTEGER, FLOAT, BOOLEAN 등의 변수형태로 존재한다
  • 메세지 안에 메세지를 품는 데이터 구조가 가능함
  • 단방향은 토픽(topic), 양방향은 서비스(service)

토픽

  • 토픽은 ROS의 노드 사이의 데이터 통신의 한 종류이다
  • 단방향 통신으로, 데이터를 메세지에 담아 방송함
  • 방송하는 퍼블리셔(publisher)와 수신하는 서브스크라이버(subscriber)로 구성됨

서비스

  • ROS의 통신 중 한 종류로, 양방향 통신을 뜻한다
  • 요청을 받고 데이터를 전달하는 서비스 서버(service server)와 데이터를 요청하는 서비스 클라이언트(service client)로 구성됨

액션

  • 서비스와 유사한 ROS 간의 데이터 통신 방법
  • 액션 서버와 액션 클라이언트로 구성되어있음
  • 서비스와 달리 클라이언트의 요청을 즉시 답하지 ㅇ낳고 일정 시간이 지난 후 응답을 할 수 있고, 중간에 상태 값을 전달할 수도 있다

파라미터

  • 서비스 통신에서 변수를 전달하는 방법
  • 서비스 데이터를 송수신할 때, 기존 데이터 전송에 더해서 파라미터를 전달할 수 있다

콜콘(colcon)

  • ROS의 빌드 시스템
    -ROS는 CMake를 이용해서 패키지의 소스코드를 빌드한다
    CMake 빌드 시스템을 기본으로 수정해서 만든 ROS 전용 빌드 시스템

ROS 설치

0개의 댓글