ROS 기초

Jaewon·2021년 5월 10일
0

ROS

목록 보기
3/9

✔ ROS 구조와 기능

ROS (Robot Operating System)

  • 오픈소스 로봇 운영체제
  • 로봇 소프트웨어 개발하는 데 필요한 소프트웨어의 집합체
    소프트웨어 프레임워크
  • 메타 운영체제 (Meta OS), 미들웨어
    소프트웨어 모듈 + 라이브러리 집합 + 도구 집합

==> 각종 센서와 모터를 프로그래머가 편하게 사용할 수 있도록 지원

장점 : 기본 기능, 필요한 기능 가져다 쓰고 살짝만 고치면 된다.
단점 : 모든 기능이 다 필요하지 않을 수 있는데 필요 없는 것도 가지고 있을 수 있다.(로봇을 위한 것이므로 자동차 만들면 자동차에 필요한 기능만 있는게 아니다..)
=> 필요없는 기능 지우는 최적화 작업 필요

프로토타입에 적합

ROS 특징

  • 코드 재사용 용이
    - 다양한 프로그래밍 언어 지원
    • 표준화된 ROS 인터페이스 따르는 HW, SW 편하게 엮을 수 있다.
    • 여러 응용 구성 가능
    • 대규모 실행 시스템 및 프로세스에도 적용 가능
  • 다양한 도구들 함께 제공
  • 다양한 OS 환경에서 통일된 방법으로 상호작용 구현하는 것 가능

ROS 제공 도구

RVIZ

  • 시각화 도구
  • 센서데이터(x,y,z축 숫자 보며 차가 어떻게 서 있는지)를 비롯한 주변환경 변화 시각화

RQT

  • QUI 만들 때 쓰는 도구
  • 노드연결 정보를 그래프로 표현
  • 사용자 상호작용을 UI를 갖춘 응용 개발에 이용

GAZEBO

  • 물리 엔진 기반의 3차원 시뮬레이터
  • 시뮬레이터 제작 및 모델링에 이용

ROS에서의 통신

ROS는 분산환경, 즉, 네트워크 통신을 통해 협업을 할 수 있는 환경에 맞다
==> 토픽

레이저 스캐너(python node)에서 받아와서 지도를 생성(C++ node)하고 싶은데 어떡하지??
==> 토픽이라는 메시지를 주거니 받거니 하게 ROS에서 한다.
ROS 표준만 맞춰주면 이기종간 메시지 교환 가능

ㅡㅡ

ROS 핵심 기능

0개의 댓글