미들웨어와 도구 모음

ROS를 깔면 컴퓨터가 새 운영체제로 바뀔까?

이름과 달리

ROS 2는 Ubuntu 위에서 돕니다

이름은 Robot Operating System이지만, ROS 2를 깔아도 운영체제는 그대로 Ubuntu입니다. ROS 2로 만든 프로그램은 브라우저나 터미널처럼 Ubuntu 위에서 도는 평범한 프로그램입니다.

하드웨어와 프로그램 실행을 관리하는 진짜 운영체제는 Ubuntu(리눅스)가 맡습니다.

미들웨어

프로그램 사이를 맡습니다

ROS 2의 중심은 미들웨어(middleware)입니다. 운영체제와 내 프로그램 사이에 끼어, 프로그램끼리 데이터를 주고받는 일을 대신 맡습니다. 내 노드는 "이 이름으로 보낸다"만 말하면 됩니다.

어디에 있든

다른 컴퓨터여도 똑같이 잇습니다

노드가 같은 컴퓨터에 있든, 와이파이로 이어진 로봇에 있든 주고받는 방법은 같습니다. 그래서 로봇에서 센서 노드를 돌리고, 내 노트북에서 화면으로 볼 수 있습니다.

같은 네트워크의 노드를 어떻게 찾는지는 다음 편, 범위를 좁히는 법은 2강 8편에서 봅니다.

도구

보고 고치는 도구가 함께 옵니다

ROS 2에는 지금 무엇이 돌고 있는지 보고, 빌드하고, 한 번에 띄우고, 기록해서 다시 보는 도구가 함께 들어 있습니다. 이 과정에서 하나씩 손에 익힙니다.

라이브러리

내 코드는 rclpy로 말합니다

내 프로그램은 클라이언트 라이브러리(client library)를 불러 ROS 2와 이어집니다. 파이썬은 rclpy, C++은 rclcpp입니다. 이 과정은 파이썬으로 짭니다(6강).

코드는 맛보기입니다. 한 줄씩 뜻은 6강에서 봅니다.

정리

ROS 2는 네 가지의 묶음입니다

ROS 2는 운영체제가 아니라 통신, 라이브러리, 도구, 생태계를 묶은 것입니다. 이름에 속지 말고, 로봇 프로그램을 쉽게 짜게 돕는 바탕으로 기억하세요.

공식 문서도 ROS를 로봇 프로그램을 만드는 라이브러리와 도구 모음이라고 소개합니다.

다음 편

ROS 1에서 ROS 2로 오며 무엇이 바뀌었을까요?

5편ROS 1과 무엇이 달라졌나 1강 목록