ROS 2와 로봇 개발을 실전으로 연결하는 기술 플랫폼
MakingRobot 은 ROS 2를 중심으로 로봇 소프트웨어, 자율주행, 센서, Vision, AI 기술을 직접 배우고 실제 로봇 시스템에 적용할 수 있도록 실습 중심의 기술 자료와 개발 정보를 제공하는 로봇 개발 전문 사이트입니다.
로봇 기술은 하나의 프로그램이나 하나의 하드웨어만으로 완성되지 않습니다.
Ubuntu와 Linux 기반 개발환경을 구축하고, ROS 2의 Node, Topic, Publisher, Subscriber, Service, Action과 같은 기본 통신 구조를 이해해야 하며, C++과 Python을 이용해 실제 프로그램을 개발할 수 있어야 합니다.
여기에 LiDAR, Camera, IMU와 같은 센서 데이터 처리, TF2와 URDF를 이용한 로봇 모델링, Gazebo 시뮬레이션, SLAM을 이용한 지도 작성, Navigation2를 이용한 자율주행 기술이 결합됩니다.
최근의 로봇 시스템에서는 OpenCV, YOLO, TensorFlow, TensorRT와 같은 Vision·AI 기술도 중요한 요소가 되고 있습니다.
MakingRobot 은 이러한 기술들을 각각 분리된 지식으로 설명하는 것에 그치지 않고, 하나의 실제 로봇 시스템을 만들어 가는 과정이라는 관점에서 연결하여 이해할 수 있도록 구성하고 있습니다.
ROS 2 기초부터 실제 로봇 개발까지
처음 ROS 2를 접하는 개발자라면 설치부터 시작해야 합니다.
MakingRobot 에서는 Ubuntu 기반 ROS 2 개발환경 구축을 시작으로 ROS 2의 핵심 개념과 명령어, 패키지 생성, CMake와 Colcon Build, Launch 파일, Parameter 설정과 같은 개발 과정을 단계적으로 학습할 수 있도록 기술 자료를 제공합니다.
ROS 2를 처음 배우는 분들이 단순히 명령어를 따라 입력하는 데서 끝나지 않고,
“왜 이런 구조를 사용하는가?”
“각 노드는 어떻게 연결되는가?”
“실제 로봇에서는 이 기능을 어디에 사용하는가?”
를 이해할 수 있도록 실습과 실제 개발 관점을 함께 다루는 것을 목표로 합니다.
C++과 Python을 이용한 ROS 2 프로그래밍
ROS 2 기반 로봇 개발에서 C++의 rclcpp와 Python의 rclpy는 핵심적인 개발 도구입니다.
MakingRobot 에서는 Publisher와 Subscriber를 이용한 Topic 통신부터 Service와 Client, Action Server와 Action Client, Parameter, Launch 시스템까지 실제 프로그램 작성에 필요한 내용을 단계적으로 다룹니다.
이를 통해 단순한 ROS 2 사용법을 넘어 직접 로봇 노드를 설계하고 여러 기능을 하나의 시스템으로 통합할 수 있는 개발 능력을 익히는 것을 목표로 합니다.
Gazebo·RViz2를 이용한 로봇 시뮬레이션
실제 로봇을 제작하기 전에는 시뮬레이션을 이용한 검증 과정이 매우 중요합니다.
MakingRobot 에서는 Gazebo와 RViz2를 이용하여 로봇 모델을 확인하고 센서 데이터를 시각화하며 로봇의 움직임과 ROS 2 통신 구조를 실습하는 방법을 다룹니다.
TF2, URDF, Xacro와 같은 로봇 모델링 기술과 함께 시뮬레이션 환경에서 로봇의 위치, 자세, 센서, 이동 명령이 어떻게 연결되는지 단계적으로 이해할 수 있습니다.
SLAM과 Navigation2 자율주행
이동 로봇과 서비스 로봇을 개발할 때 중요한 기술 중 하나가 자율주행입니다.
MakingRobot 에서는 LiDAR 데이터를 이용한 주변 환경 인식, SLAM 기반 지도 생성, Localization, Path Planning 그리고 ROS 2 Navigation2를 이용한 목적지 자율주행까지 이동 로봇 개발의 핵심 기술을 다룹니다.
단순히 완성된 프로그램을 실행하는 방법만 소개하는 것이 아니라 /cmd_vel, /scan, /odom, /tf, map, base_link 등 ROS 2 로봇 시스템을 구성하는 주요 Topic과 Coordinate Frame의 관계를 이해할 수 있도록 실습 중심으로 설명합니다.
TurtleBot3와 WEGO LIMO 기반 실습
로봇 기술은 직접 움직이는 시스템을 만들어 보았을 때 가장 빠르게 이해할 수 있습니다.
MakingRobot 에서는 TurtleBot3와 WEGO LIMO와 같은 이동 로봇 플랫폼을 활용하여 ROS 2 통신, 센서, Gazebo 시뮬레이션, SLAM, Navigation2, 카메라 영상 처리와 자율주행 기술을 실제 로봇 개발 과정과 연결하여 학습할 수 있도록 관련 자료를 제공합니다.
이를 통해 ROS 2 프로그램이 실제 모터와 센서, 카메라 그리고 로봇 하드웨어와 어떻게 연결되는지를 보다 구체적으로 이해할 수 있습니다.
LiDAR·Camera·Vision·AI
현대의 로봇은 단순히 움직이는 기계를 넘어 주변 환경을 인식하고 판단할 수 있어야 합니다.
MakingRobot 에서는 LiDAR와 Camera를 비롯한 로봇 센서 활용 방법과 센서 데이터 처리 기술을 다루며 OpenCV를 이용한 영상 처리, YOLO 기반 객체 인식, TensorFlow 기반 딥러닝 그리고 NVIDIA TensorRT를 활용한 AI 추론 기술까지 로봇 Vision·AI 분야로 학습 범위를 확장하고 있습니다.
이러한 기술은 자율주행 로봇, 서비스 로봇, 배송 로봇, 산업용 로봇과 다양한 지능형 로봇 시스템을 개발하기 위한 기반 기술로 활용할 수 있습니다.
Jetson과 임베디드 로봇 개발
AI 기반 로봇을 개발하려면 소프트웨어뿐만 아니라 실제 연산 장치와 임베디드 환경에 대한 이해도 필요합니다.
MakingRobot 에서는 NVIDIA Jetson과 같은 Edge AI 플랫폼을 비롯하여 로봇 개발 과정에서 필요한 Linux, 센서 인터페이스, 통신, 드라이버 및 개발환경 구축과 관련된 실무 자료도 함께 다룹니다.
PC 환경에서 작성한 프로그램을 실제 로봇 하드웨어에서 동작시키기까지 필요한 과정들을 연결하여 이해하는 것이 목표입니다.
이런 분들에게 도움이 되는 사이트입니다
MakingRobot 은 ROS 2를 처음 배우는 입문자부터 실제 로봇 시스템을 제작하려는 개발자까지 활용할 수 있는 기술 자료를 만들어 가고 있습니다.
ROS 2를 처음 설치하는 학생과 개발자, C++ 또는 Python으로 로봇 프로그램을 만들고 싶은 분, TurtleBot3나 이동 로봇을 이용하여 SLAM과 Navigation2를 공부하는 분, LiDAR와 Camera 센서를 ROS 2와 연결하려는 분, Jetson 기반 AI 로봇을 개발하려는 분, 그리고 Vision·AI 기술을 실제 로봇에 적용하고 싶은 개발자에게 실질적으로 도움이 되는 정보를 제공하는 것을 목표로 합니다.
직접 만들고, 실행하고, 확인하는 로봇 개발
로봇 개발은 문서만 읽어서는 완전히 익히기 어렵습니다.
직접 프로그램을 작성하고 빌드하고 실행하며 Topic 데이터를 확인하고, 센서를 연결하고, 로봇을 움직이고, 문제가 발생하면 원인을 찾아 해결하는 과정이 필요합니다.
MakingRobot 은 이 과정을 중요하게 생각합니다.
설명에서 끝나는 기술이 아니라 직접 실행할 수 있는 기술, 예제에서 끝나는 코드가 아니라 실제 로봇으로 확장할 수 있는 코드, 하나의 기능이 아니라 전체 로봇 시스템으로 연결되는 개발 지식을 제공하는 것이 MakingRobot 이 추구하는 방향입니다.
ROS 2, 자율주행, 센서, Vision, AI 그리고 실제 로봇 개발에 관심이 있다면 humanoidsystem.kr의 단계별 강의와 개발 자료를 통해 하나씩 직접 구현해 보시기 바랍니다.