ROS2 Action

ROS2에서 노드 간 통신 방식은 크게 Topic, Service, Action으로 나눌 수 있습니다. 이 중 Action은 시간이 오래 걸리는 작업을 처리할 때 사용하는 통신 방식입니다. 예를 들어 로봇이 특정 위치까지 이동하거나, 드론이 목표 고도까지 상승하거나, 터틀심의 거북이가 특정 각도까지 회전하는 작업처럼 즉시 끝나지 않는 명령에 적합합니다. Action은 내부적으로 다음 요소를 사용합니다. 구성 요소역할 Goal 클라이언트가 서버에 전달하는 목표값 Feedback 작업 … Read more

ROS2 Topic

ROS 2에서 토픽(Topic)은 노드(Node) 간 데이터를 전달하는 가장 기본적이고 핵심적인 통신 방식입니다. 실제 로봇 시스템을 구성할 때 센서 데이터 처리, 상태 공유, 제어 명령 전달 등 대부분의 데이터 흐름이 이 토픽을 기반으로 이루어진다고 보시면 됩니다. 아래에서는 개념부터 구조, 특징, 그리고 실무적인 활용까지 체계적으로 정리해 드리겠습니다. 1. 토픽 통신의 기본 구조 토픽 통신은 Publisher(발행자)와 Subscriber(구독자) 간의 메시지 교환 구조로 … Read more

ROS2 Service

1. ROS 2 Service란 무엇인가요? ROS 2에서 Service는 한 노드가 다른 노드에게 특정 작업을 요청하고, 그 결과를 응답받는 통신 방식입니다. Topic이 계속 데이터를 주고받는 구조라면, Service는 다음과 같은 형태입니다. 위의 그림과 같이 Node A와 Node B가 연결되어 있고 이때 사용하는 방식은 동기식 양방향 메시지 송수신 방식입니다. Service Client는 서비스의 요청(Request)을 하는 쪽이며, Service Server는 요청받은 서비스를 수행한 후 … Read more

ROS2 Humble에서 Turtlesim 설치 및 실행하기

ROS2를 처음 학습할 때 가장 먼저 다뤄볼 만한 예제 패키지가 turtlesim입니다. turtlesim은 거북이 모양의 시뮬레이터를 실행하여 ROS2의 노드, 토픽, 서비스, 액션 개념을 실습할 수 있게 해주는 기본 예제 패키지입니다. ROS2의 구조를 이해하려면 단순히 명령어를 외우는 것보다, 하나의 노드가 어떻게 실행되고 ROS2 환경이 어떻게 터미널에 적용되는지를 먼저 이해하는 것이 중요합니다. ROS를 처음 설치하고 turtlesim_node를 실행하면 파란 … Read more

ROS2 Run Commands 설정

 ROS 2 Humble 설치 후 매번 터미널에서 source /opt/ros/humble/setup.bash 명령을 입력하는 것은 번거롭습니다. 따라서 ~/.bashrc 파일에 ROS 2 환경 설정, 워크스페이스 설정, 자주 사용하는 alias를 등록해 두면 개발 효율이 좋아집니다. 1. bashrc 파일 열기 아래와 같이 다양한 편집기를 사용할 수 있습니다. 저는 윈도우용인 gedit를 사용하겠습니다. nano ~/.bashrc 또는 vim ~/.bashrc 또는 gedit ~/.bashrc bashrc에 명령어를 추가할 때 기존 … Read more

ROS2 Humble 개발 환경 설정

1. ROS2 개발 환경 설정 다음 소프트웨어는 ROS 2를 이용한 로봇 프로그래밍에 필수적인 소프트웨어 모음입니다. 개발 환경 설치 시에 반드시 설치할 것을 권장합니다. sudo apt update && sudo apt install -y \ build-essential \ cmake \ git \ libbullet-dev \ python3-colcon-common-extensions \ python3-flake8 \ python3-pip \ python3-pytest-cov \ python3-rosdep \ python3-setuptools \ python3-vcstool \ wget … Read more

Ubuntu 22.04에서 ROS2 설치

1. ROS 사이트에 접속하여 GETTING STARTED 메뉴를 선택합니다. https://www.ros.org/ROS: HomeKilted Kaiju Kilted Kaiju is our latest ROS 2 short-term release targeted at Ubuntu 24.04 (Noble) and Windows 10, though other systems are supported to varying degrees. Jazzy Jalisco Jazzy Jalisco is our latest ROS 2 LTS release targeted at Ubuntu 24.04 (Nwww.ros.org GETTING STARTED 메뉴를 … Read more

Ubuntu 22.04 LTS : Terminator 설치

리눅스나 Ubuntu 환경에서 개발을 하다 보면 터미널을 여러 개 띄워야 하는 상황이 반복됩니다.특히 ROS2, 서버, 네트워크, 임베디드 작업에서는 하나의 터미널로는 한계가 분명합니다. 이 문제를 해결하는 가장 단순하고 확실한 도구가 바로 Terminator입니다. 1. Terminator란 무엇인가? Terminator는 Ubuntu에서 사용할 수 있는 터미널 에뮬레이터입니다.기본 터미널과 가장 큰 차이는 하나입니다. 한 화면에서 여러 개의 터미널을 동시에 사용할 수 있다 즉, … Read more

VS Code 확장 프로그램 설치

실제 개발 과정에서는 C/C++, Python, CMake, URDF, Colcon 등을 자주 사용하기 때문에, VS Code에 관련 확장 프로그램을 설치해 두면 훨씬 효율적으로 작업할 수 있습니다. 1. VS Code 실행하기 먼저 Ubuntu 터미널을 열고 아래 명령어를 입력합니다.  code 위 명령어를 실행하면 VS Code가 실행됩니다. 만약 code 명령어가 동작하지 않는다면 VS Code가 정상적으로 설치되지 않았거나, PATH 설정이 되어 있지 … Read more

Ubuntu 22.04 LTS : Terminal 실행

1. Ctrl + Alt + T를 입력하여 터미널을 실행합니다. 2. 터미널을 실행하면 Dock(좌측 바)에 단축아이콘이 출력되는데 Shift 키를 누른 상태에서 이 아이콘을 클릭하면 새로운 터미널 창이 출력됩니다. 아이콘에는 빨간 점이 2개 생깁니다. 이것의 의미는 현재 터미널 창이 2개 열려 있다는 의미입니다. 3. Dock의 터미널 단축 아이콘 위에 마우스를 올려놓고 오른쪽 버튼을 클릭하여 “Add to Favorites”를 … Read more