Deokhyeon's Blog

프로젝트

두 번째 글: ROS2 찍먹하기

By 김덕현 · 2026-01-04

ROS2가 도대체 뭘까?

로보틱스를 공부하다 보면 피할 수 없는 산이 하나 있습니다. 바로 ROS (Robot Operating System) 입니다. 이름은 운영체제지만, 사실은 미들웨어(Middleware) 에 가깝습니다.

왜 ROS2를 써야 할까?

기존 ROS1에 비해 ROS2는 다음과 같은 점이 좋아졌습니다.

  1. DDS (Data Distribution Service): 데이터 통신의 표준을 사용해서 더 안정적입니다.
  2. Real-time: 실시간 제어가 중요한 로봇에게 필수적인 기능이 강화되었습니다.
  3. Python 3 지원: 이제 Python 2.7의 늪에서 벗어날 수 있습니다! 🎉

간단한 코드 예제

ROS2에서 노드(Node)를 띄우는 파이썬 코드는 대략 이렇게 생겼습니다.

import rclpy
from rclpy.node import Node

class MyNode(Node):
    def __init__(self):
        super().__init__('my_node')
        self.get_logger().info('Hello, ROS2!')

def main():
    rclpy.init()
    node = MyNode()
    rclpy.spin(node)
    rclpy.shutdown()

if __name__ == '__main__':
    main()