카테고리 ROS / ROS2

rosparam 이 안 먹는 것처럼 보일 때 체크할 것들

대상: ROS(특히 ROS1 Melodic/Noetic) 환경에서 파라미터가 적용되지 않거나 기본값으로만 동작하는 이유를 정확히 파악하고 싶은 개발자환경: Ubuntu 20.04 / ROS Noetic / catkin_make 1. 문제/주제 요약 rosparam이나 YAML 파일로 파라미터를 설정했는데,노드 실행 후 rosparam get으로 보면 값이 잘 들어가 있음에도정작 코드에서는…

ROS 파라미터 서버 제대로 쓰기: rosparam, YAML, 동적 설정 완벽 정리

대상: ROS(Melodic/Noetic)에서 노드 간 파라미터를 깔끔하게 관리하고 싶거나, 런타임 중 설정을 바꾸고 싶은 개발자환경: Ubuntu 20.04 / ROS Noetic / catkin_make 1. 문제/주제 요약 ROS에서는 여러 노드가 동시에 실행되기 때문에하드코딩된 설정값(예: 토픽 이름, 속도, 프레임 ID 등)을 코드 안에 직접…

실제 프로젝트에서 launch 파일을 계층적으로 나누는 방법

대상: ROS(Melodic/Noetic) 환경에서 프로젝트 규모가 커졌을 때, launch 파일을 체계적으로 구성하고 관리하고 싶은 개발자환경: Ubuntu 20.04 / ROS Noetic / catkin_make 1. 문제/주제 요약 처음에는 단일 bringup.launch 하나로도 충분하지만,프로젝트가 커질수록 이런 문제가 생깁니다: → 이런 문제를 해결하려면 launch 파일을 계층적으로…

roslaunch 기초: 여러 노드를 한 번에 올리는 패턴 정리

대상: ROS (Melodic/Noetic) 환경에서 여러 노드를 동시에 실행하거나, launch 파일 구조를 체계적으로 관리하고 싶은 개발자환경: Ubuntu 20.04 / ROS Noetic / catkin_make 1. 문제/주제 요약 ROS 패키지를 사용하다 보면하나의 노드를 실행하는 건 간단하지만,여러 개의 노드를 동시에 띄워야 하는 경우가 많습니다.…

CMakeLists.txt와 package.xml만 보면 ROS 패키지 기능이 보인다

대상: 다른 사람이 만든 ROS 패키지를 빠르게 분석하고, 어떤 기능을 하는지 구조를 파악하고 싶은 개발자환경: Ubuntu 20.04 / ROS Noetic / catkin 1. 문제/주제 요약 ROS 패키지를 오픈소스 저장소(GitHub 등)에서 받았을 때,파일이 너무 많아서 “도대체 이게 무슨 기능을 하는 패키지인지”한눈에…

catkin 워크스페이스와 패키지 구조 완전 이해하기

대상: ROS (특히 ROS1 Melodic/Noetic) 환경에서 catkin 빌드 시스템의 구조를 정확히 이해하고 싶은 개발자환경: Ubuntu 20.04 / ROS Noetic / catkin_make 1. 문제/주제 요약 ROS 프로젝트를 시작할 때 대부분 이렇게 합니다: 그런데 막상 catkin_ws 내부 구조와 catkin_package()의 역할,CMakeLists.txt와 package.xml의 관계를…

ROS Melodic에서 C++ 코드 작성 가이드

대상: ROS1(Melodic)에서 C++로 토픽(pub/sub) 노드 샘플을 직접 만들어보고 싶은 개발자환경: Ubuntu 18.04, ROS Melodic, C++ (catkin, roscpp 기준) 1. 문제/주제 요약 이 글에서는 다음 내용을 한 번에 정리합니다. 바로 따라 하면 토픽 통신이 되는 C++ 노드를 직접 만들어서 실행해볼 수…

Ubuntu 18.04에서 ROS Melodic 설치 및 기본 동작 확인

대상: Ubuntu 18.04(Bionic) 환경에서 ROS Melodic을 처음 설치하고, roscore / turtlesim 정도까지 실행해 보고 싶은 개발자환경: Ubuntu 18.04 Desktop 또는 Server, sudo 권한, 기본적인 터미널 사용 가능 ROS Melodic은 Ubuntu 18.04를 위한 대표적인 ROS1 배포판이다.이미 우분투 기반 C++/Python 개발환경을 쓰고…

ROS2 통신 인터페이스 정리: Topic / Service / Action 장단점, C++ 예제 코드

대상: ROS2(Humble 기준)에서 “언제 Topic을 쓰고, 언제 Service/Action을 써야 하는지”가 헷갈리는 C++ 개발자환경: Ubuntu 22.04, ROS2 Humble, C++17, rclcpp, rclcpp_action, ament_cmake, colcon 1. 문제/주제 요약 ROS2에는 여러 가지 통신 방법이 있습니다. 처음에는 “메시지 = topic만 있나?” 정도로 생각하다가, 처럼 헷갈리기…