ROS basic

정소원·2023년 5월 1일
0

ROS 핵심 기능

  • 노드간 통신을 기반으로 전체 시스템을 구동시킴

하드웨어 제조사하 제공하는 ROS 노드들

ROS 통신

  1. 토픽 방식 통신
    1. 일방적이고 지속적인 메세지 전송
    2. 발행자-구독자 구조
    3. 일대 다수, 다대 다수 통신도 가능
  2. 서버 방식 통신
    1. 요청시, 요청한 데이터 전송
    2. 서버-클라이언트 구조
    3. 양방향 통신, 일회성 통신

ROS 배포판

LTS: long trem support

→ 안정화된 버전에 대하여 지속적으로 서포트함을 의미함

Ubuntu LTS

  • 18.04 LTS (codename: bionic)
  • 20.04 LTS (codename: Focal)
  • 22.04 LTS (codename: jammy)

ROS1 LTS

  • kinetic (with ubuntu 18.04)
  • melodic (with ubuntu 18.04)
  • notic (with ubuntu 20.04)

ROS2 LTS

  • humble (with ubuntu 22.04)

*ROS 버전별 지원하는 패키지가 달라짐에 유의

https://ubuntu.com/blog/ros-foxy-ros-melodic-eol

우분투 버전에 따른 ROS 버전. ubuntu 20.04를 사용하므로 notic을 설치함.

ROS 기본 용어

  • 마스터
    • 노드간 통신을 총괄 관리
    • ROS Core라 불림
  • 노드
    • 토픽을 주고받는 통신 주체
    • 실행가능한 최소단위의 프로세스
    • 하드웨어 장치에 하나씩 또는 소프트웨어 모듈에 하나씩
  • 토픽
    • 주고받는 메세지
    • 예: 센서데이터, 카메라 이미지, 명령
  • 발행자 노드
    • 토픽(Topic)을 만들어 보내는 노드
    • 예: 정보수집센서, 카메라
  • 구독자 노드
    • 토픽(Topic)을 받는 노드
    • 예: 모터제어기, 정보수집 SW모듈
  • 패키지
    • 하나 이상의 노드와 노트 실행을 위한 정보등을 묶어놓은 것
    • 노드, 라이브러리, 데이터, 실행파일(configration) 등을 포함

ROS 기본 명령어

ROS 주요 명령어

ROS에서 제공하는 쓸만한 도구

profile
성장지향형 자율주행 소프트웨어 개발자입니다. K-Digital-Training: 자율주행 데브코스 Planning & Control 1기로 활동하고 있습니다. 본 블로그를 통해 배움기록을 실천하고 있습니다. #자율주행 #기계공학

0개의 댓글