작성자: 박준규

2023.10.14(토)

Robot Operating System

ROS - 로보틱스 분야에서 각종 센서들과 프로그램끼리 통신하는게 귀찮아서 이를 간소화하자는 취지로 만들어진 우분투 패키지. 센서들끼리 이어주고 프로그램끼리 이어주니 미들웨어라고 할 수도 있다.

앞서 말한 서로 통신하는 프로그램들을 node 라고 부르고, 각 node 들은 데이터 (ROS에서는 이를 topic 이라 부름)를 publish 하거나 다른 node 에서 발행하는 topic 에게 subscribe 하여 데이터를 주고 받는다.

소프트웨어랑 하드웨어 연결할 때 ROS 사용하면 편하다. 대부분 하드웨어 개발자들이 ROS SDK 제공하기 때문이다.

topic 은 데이터 자체는 아니고 데이터의 이름이다. 데이터 자체는 message 라고 한다. 예를 들어 velocity 라는 topic 이 있으면, message 는 int x, int y, int z.

앞서 언급한 ROS SDK에 있는 node 들에서 ROS에 기본적으로 있는 topic 들을 쏴주기 때문에 개발이 편해진다.

드론 조종은 99%가 PX4-Autopilot을 쓴다. ROS가 호환되기 때문인 것 같다. PX4-Autopilot 같은 경우 Pixhawk FC에 flashing 하고, Pixhawk FC<->ROS가 돌아가는 컴퓨터에 시리얼 통신해주면 된다.

ROS1, ROS2가 있는데, 연구용이면 ROS1을 추천한다. 이유는 ROS1용 알고리즘이 엄청 많고, ROS2는 별로 없기 때문이다.

ROS1 스터디 노트 (2기, OLD)

위 페이지에서 들어가서 TurtleSim에 DWA Planner 적용시켜보기 (ROS1) 정도까지 할 수 있으면 PX4 Documentation 보면서 알아서 할 수 있을 것이다.

<aside> ❓ 친구가 카톡으로 질문해서 답했던 내용입니다ㅎ

</aside>