ROS 내비게이션: costmap_2d 장애물 미제거 및 로봇 흔들림 문제 해결
costmap_2d에서 로컬 장애물 미제거 현상 진단
ROS 내비게이션 스택을 활용한 로봇 개발 중, 로컬 코스트맵(costmap_2d)에서 장애물이 제대로 제거되지 않아 로봇이 움직이지 못하는 현상이 발생할 수 있습니다. 특히 동적인 환경에서 이러한 문제가 두드러지게 나타나며, 사람이 지나가거나 물체가 이동한 후에도 해당 위치에 장애물 정보가 계속 남아있는 경우가 있습니 ...
9월 16일 07:03에 게시됨
ROS 노드 간 요청-응답 패턴 구현: Service 통신 가이드
ROS 환경에서 분산 노드 간 데이터 교환은 일반적으로 토픽(Topic)을 사용하지만, 실시간성이 요구되거나 명확한 논리적 처리 흐름이 필요한 경우 Service 통신이 적합합니다. Service는 클라이언트가 요청(Request)을 전송하면 서버가 해당 작업을 처리한 후 응답(Response)을 반환하는 동기식 패턴을 따릅니다.
서버(Server) 구현
서버 측에서는 서비스 타입을 정의한 ...
8월 30일 16:17에 게시됨
LiDAR-카메라-자이로스코프 융합 기반 실시간 위치 추적 및 맵핑 시스템
고정밀 실시간 SLAM을 위한 다중 센서 융합 솔루션
자율주행 로봇 및 드론 응용 분야에서 정밀한 실시간 위치 인식(SLAM)은 핵심 기술 요소이다. 단일 센서에 의존하는 기존 시스템은 조명 변화, 구조 단순화 등의 환경에서는 성능 저하가 두드러지며, 반면 다중 센서 융합 접근은 계산 부담으로 인해 실시간 처리에 어려움을 겪는 경우가 많다. 이러한 문제를 해결하기 위 ...
7월 5일 16:07에 게시됨
ROS에서 서비스 클라이언트와 서버 구현하기
서비스 기반 통신 개요
ROS에서는 토픽(Topic) 외에도 서비스(Service)를 통해 노드 간 동기식 요청-응답 방식의 통신을 지원합니다. 이 방식은 클라이언트가 특정 작업을 요청하면 서버가 이를 처리하고 결과를 반환하는 모델입니다.
기능 패키지 생성
먼저, 새로운 ROS 패키지를 생성합니다. 아래 명령어는 의존성으로 roscpp, rospy, std_msgs, geometry_msgs, turtles ...
6월 6일 16:04에 게시됨
PlotJuggler: 차세대 로봇 데이터 분석 도구
로봇 개발에서 효과적인 데이터 시각화는 성능 디버깅과 문제 해결의 핵심입니다. 특히 센서 데이터 스트림을 실시간으로 분석하거나 대용량 로그에서 특정 이벤트를 찾을 때, 전통적인 도구들은 종종 한계에 부딪히게 됩니다. 이러한 상황에서 PlotJuggler와 같은 새로운 도구가 주목받고 있습니다. PlotJuggler는 시간 시리즈 데이터 처리를 최적화한 오픈소스 도구로서, ...
5월 24일 16:57에 게시됨
MAVROS GPS 관련 토픽 분석 및 위도, 경도, 고도 정보 수집 방법
ROS1-Noetic과 mavros v1.20.1 환경에서 GPS 데이터 수집 메커니즘을 분석합니다. 주요 토픽은 다음과 같습니다:
/mavros/global_position/raw/fix
/mavros/gpsstatus/gps1/raw
/mavros/global_position/global
mavros 소스코드를 분석한 결과, 첫 두 토픽은 동일한 MAVLink 메시지(MAVLINK_MSG_ID_GPS_RAW_INT)를 기반으로 하며, 각각 다른 처리 로직을 가집니다.
/mavr ...
5월 23일 16:45에 게시됨