ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ROS] 1-1. ROS(Robot Operating System) 소개
    IT/ROS 2020. 1. 18. 07:20

    ROS란?

    ROS란 로봇용 오픈 소스 메타 운영체제를 의미합니다.

    벌써 어렵습니다. 메타 운영체제??

    로봇용 오픈 소스 메타 운영체제란,  'Linux와 Windows, OS X 등과 같은 기존의 운영체제들이 하는 일처럼 로봇 제어를 위한 하드웨어 추상화, 저수준 기기 제어, 프로세스간 메시지 전달, 패키지 관리 기능 등의 빈번하게 사용되는 기능들을 제공해주는 프레임워크'를 의미합니다.

    다시 말해, 원래대로라면 하루종일 밤을 새고 머리를 쥐어 뜯어가며 만들어야 했을 저수준 로봇 소프트웨어와 시스템의 대부분을 제공한다는 이야깁니다..!!

    이전부터 많은 종류의 로봇 소프트웨어가 존재했지만, ROS는 특히 더 많은 사용자들에게 선택받고 생태계를 유지하며 꾸준히 발전하고 있습니다.

    ROS의 특징은 다음과 같습니다.

    ROS의 특징

    • ROS는 표준적인 통합 개발 및 실행 환경이 없다.
    • ROS는 Python, C++, Matlab, Ruby를 비롯한 수많은 언어로 작성할 수 있다.
    • ROS는 수많은 작은 프로그램들로 이루어져있다. 이는 ROS의 개발 철학과도 연관이 있다.

    ROS 개발 철학

    ROS는 Unix 개발 철학을 따릅니다.

    수많은 작은 프로그램들(Nodes)로부터 복잡한 소프트웨어 시스템이 구성되는 Unix의 견고한 구조와 같이, P2P(Peer-to-Peer) 방식으로 지속해서 메세지를 교환하는 작은 프로그램들로 구성되어 있습니다.

    이러한 구조로 인해  ROS의 프로그램들이 주고 받는 데이터의 양이 증가하거나 형식이 변해도 쉽게 확장하는 것이 가능합니다.

    또한, ROS는 작은 하나 하나의 프로그램을 특정 작업을 수행하는 도구처럼 사용합니다. 작업 영역에 더욱 적합한 해결 방안이 나타나면 해당 부분을 교체함으로써 기존 시스템에 큰 영향을 끼치지 않고 이전보다 더 나은 구조로 쉽게 개선할 수 있습니다.

    요약하자면 다음과 같습니다.

    • 로봇의 연구 개발에 있어서 코드 재사용이 용이하도록 한다.
    • 작은 프로세스를 분산하여 실행 프로그램을 독립적으로 설계하고, 실행시 프로세스간 결합도를 낮추도록 한다.
    • 라이브러리를 개발할 때, 명확하고 기능적인 인터페이스를 가지고, ROS에 의존적이지 않도록 한다.

    지원 운영체제

    ROS는 현재 Unix 기반의 운영체제에서만 동작합니다.

    'IT > ROS' 카테고리의 다른 글

    [ROS] n-1. How to use Depth Camera on ROS?  (0) 2020.05.19
    [ROS] n. darknet_ros를 활용한 Yolo-v3 사용법  (6) 2020.02.05
    [ROS] 1-2. ROS 시작하기  (0) 2020.01.18

    댓글

Designed by Tistory.