블로그
-
ROS2 독학 자료 고르는 법: 공식 문서, 책, 온라인 강좌, 한국어 자료, 가상 개발 환경
ROS2를 혼자 공부할 때 docs.ros.org를 배포판 버전 차이에 속지 않고 읽는 법, ROS2 전용 서적과 온라인 강좌에서 기대할 수 있는 것, 얇은 한국어 자료를 보완하는 전략, 컨테이너 개발 환경 활용법을 다룹니다.
-
ROS2 통신의 실체: RMW 계층과 Fast DDS, QoS 정책, XML 프로파일, Discovery Server
ROS2 통신의 실체인 RMW 추상화 계층과 Fast DDS를 파헤칩니다. QoS 정책, XML 프로파일, Discovery Server, 서브넷/Docker 트러블슈팅까지 실전 예제로 정리합니다.
-
소프트웨어 엔지니어가 알아야 할 AMR 기초: AGV와의 차이, SLAM, 경로 계획, ROS2
AMR이 정해진 길을 따라가는 AGV와 어떻게 다른지, SLAM·센서 퓨전·파티클 필터·전역/지역 경로 계획이 어떻게 이어지는지, ROS2의 노드와 토픽 구조가 코드베이스를 읽는 데 왜 필요한지 소프트웨어 엔지니어 관점에서 설명합니다.
-
AMR 경로 계획에서 미션 실행까지: A*·DWA·Nav2와 VDA5050 오더의 물리 동작 검증
코스트맵 위에서 A*가 전역 경로를 찾고 DWA·TEB가 매 제어 주기마다 속도를 고르는 과정, Nav2가 이를 하나의 스택으로 묶는 방식, 그리고 VDA5050 오더가 리프트·컨베이어·그리퍼 동작으로 실행되고 검증되는 과정을 다룹니다.
-
AGV·AMR 플릿 게이트웨이 개발 가이드 - 이기종 로봇과 관제 시스템을 잇는 미들웨어 아키텍처
VDA5050을 쓰지 않는 로봇까지 섞인 AGV·AMR 플릿을 WMS/MES에 연결할 때, 어댑터형·브로커 중심·사이드카형 게이트웨이 중 무엇을 고르고 재연결·멱등성·페일세이프를 어떻게 설계할지 다룹니다.
-
VDA5050으로 AGV·AMR 관제 통신하기: MQTT 토픽, order·state·instantActions, libVDA5050++ C++ 구현
VDA5050이 AGV·AMR과 관제 시스템을 MQTT로 표준화하는 방법과 order/state/instantActions 메시지 구조, libVDA5050++ 기반 C++ 구현 예제를 정리합니다.
-
VDA5050 instantActions와 표준 액션 총정리: 상태·blockingType·실무 패턴
VDA5050 2.0.0 문서의 instantActions 토픽과 표준 액션 표(startPause, cancelOrder, initPosition, startCharging, pick 등)를 키워드별로 풀어 설명하고, actionStatus 전이와 blockingType, 에러 보고, 운영에서 쓰는 패턴을 컨테이너 실행 결과와 함께 정리합니다.
-
libVDA5050++ 어댑터 만들기: 핸들러·설정·order 처리 흐름과 실행 확인
libVDA5050++ v2.11.3으로 VDA5050 차량 어댑터를 만드는 법을 설치, Config와 MQTT 설정, 내비게이션·액션·쿼리 핸들러 구현, order 검증과 horizon 갱신, pause·cancel 동작까지 컨테이너에서 실행한 메시지로 정리합니다.
-
VDA5050 커스텀 데이터 전송 가이드 - actionParameters·informations로 표준 확장하기
VDA5050 표준 필드 밖에서 제조사 고유 데이터를 주고받는 법. actionParameters, state.informations, factsheet 확장 필드, 커스텀 MQTT 토픽, 스키마 호환성까지 실전 정리.
-
VDA5050 Action 상태 머신 분석 - pick 액션 처리와 blockingType 구현
VDA5050 order의 node action이 실제로 어떻게 실행되는지, actionStatus 전이·blockingType·load 갱신·에러 처리까지 pick 액션을 중심으로 C++ 구현 패턴을 정리합니다.