본문으로 바로가기

ROS2 강의 일정 안내(1일차 ~ 10일차)

category 강좌/ROS2 2026. 5. 22. 19:01

 

1. 1일차 강의

 

1) 윈도우에서 VirtualBox 설치

 

윈도우에서 VirtualBox 설치

1. 구글에서 Virtualbox키워드를 검색하여 Oracle VirtualBox사이트에 접속합니다. https://www.virtualbox.org/ Oracle VirtualBoxPowerful open source virtualization For personal and enterprise use VirtualBox is a general-purpose full virtual

makingrobot.tistory.com

 

 

2) VirtualBox 환경 설정

 

VirtualBox 환경 설정

1. VirtualBox의 환경설정은 "파일> 환경 설정"이나 메뉴 아래에 있는 단축 아이콘 "환경설정"을 클릭하여 실행이 가능합니다. 2. 다음과 같은 설정 화면이 출력됩니다. 일반 항목에서 가상머신 저장

makingrobot.tistory.com

 

 

 

3) VirtualBox에 Ubuntu 22.04 LTS 설치 #1

 

VirtualBox에 Ubuntu 22.04 LTS 설치 #1

1. 아래의 링크를 클릭하여 우분투 이전 버전 다운로드 사이트에서 22.04 버전의 설치 파일을 다운로드합니다. https://releases.ubuntu.com/jammy/ Ubuntu 22.04.5 LTS (Jammy Jellyfish)Select an image Ubuntu is distributed on

makingrobot.tistory.com

 

 

4) VirtualBox에 Ubuntu 22.04 LTS 설치 #2

 

VirtualBox에 Ubuntu 22.04 LTS 설치 #2

1. 새로 생성한 가상 머신을 선택하시고 툴바에서 "시작" 버튼을 클릭합니다. 2. 가상머신이 시작됩니다. 우분투 설치 화면이 출력됩니다. 아무것도 하지 않고 그 상태로 있으면 설치가 시작됩니

makingrobot.tistory.com

 

 

5) Ubuntu 22.04 LTS에서 게스트 확장 CD 설치

 

Ubuntu 22.04 LTS에서 게스트 확장 CD 설치

1. VirtualBox의 Ubuntu 22.04 LTS를 설치하시고, 실행하신 후 VirtualBox의 "장치" 메뉴에서 "게스트 확장 CD 이미지 삽입..." 메뉴를 선택합니다. 2. 오른쪽 바에 확장 CD 아이콘이 새롭게 나타나는데 이 아이

makingrobot.tistory.com

 

 

6) Ubuntu 22.04 LTS : 공유 폴더

 

Ubuntu 22.04 LTS : 공유 폴더

1. 공유 폴더 메뉴에서 현재 가상머신의 공유폴더 설정 상태를 확인할 수 있습니다. 2. 게스트 확장 CD 설치 후에 재부팅하고 미디어에 마운트 된 게스트 확장 CD는 "Eject"를 실행하여 마운트를 해

makingrobot.tistory.com

 

 

7) Ubuntu 22.04 LTS : 네트워크 설정

 

Ubuntu 22.04 LTS : 네트워크 설정

1. 우분투를 설치하고 연결된 네트워크 주소를 확인하기 위해 ifconfig 명령을 실행할 경우 아래와 같은 에러가 발생하면 해당 패키지가 설치되어 있지 않은 경우입니다. 2. 아래의 명령을 실행하

makingrobot.tistory.com

 

 

8) Ubuntu 22.04 LTS : 한글 입력 설정

 

Ubuntu 22.04 LTS : 한글 입력 설정

1. 우측 하단의 "Show Application" 버튼을 클릭하고, Setting을 실행합니다. 만약 Setting가 보이지 않을 경우 "Type to search" 창에 setting를 입력하여 검색하면 해당 프로그램이 출력됩니다. 2. 좌측에 "Region &

makingrobot.tistory.com

 

 

9) Ubuntu 22.04 LST : 소프트웨어 업데이트

 

Ubuntu 22.04 LST : 소프트웨어 업데이트

1. Ubuntu 22.04 LTS 설치가 완료되면 소프트웨어 업데이트를 수행합니다.먼저 업그레이드 서버 설정을 확인합니다. "Show Application" 아이콘을 클릭하고 "Type to serach" 편집창에 "soft"를 입력합니다. 검색

makingrobot.tistory.com

 

 

 

10) Ubuntu 22.04 LTS : Terminal 실행

 

Ubuntu 22.04 LTS : Terminal 실행

1. Ctrl + Alt + T를 입력하여 터미널을 실행합니다. 2. 터미널을 실행하면 Dock(좌측 바)에 단축아이콘이 출력되는데 Shift 키를 누른 상태에서 이 아이콘을 클릭하면 새로운 터미널 창이 출력됩니다.

makingrobot.tistory.com

 

 

 

 

11) Ubuntu 22.04 LTS : 크롬 설치

 

Ubuntu 22.04 LTS : 크롬 설치

1. 먼저 아래의 명령을 실행하여 wget 설치 여부를 확인합니다. wget --version 아래의 그림과 같이 버전정보가 출력되면 wget이 설치되어 있는 상태입니다. 만약 wget이 설치되어 있지 않으면 아래의 명

makingrobot.tistory.com

 

 

 

12) Ubuntu 22.04 LTS : VS Code 설치

 

Ubuntu 22.04 LTS : VS Code 설치

1. 먼저 패키지 업데이트를 수행합니다. sudo apt update 2. VS Code 설치에 필요한 패키지를 설치합니다. sudo apt install -y wget gpg apt-transport-https 3. Microsoft GPG 키를 등록합니다. 3줄의 명령을 별도로 실행

makingrobot.tistory.com

 

 

 

 

 

13) Ubuntu 22.04 LTS : Terminator 설치

 

Ubuntu 22.04 LTS : Terminator 설치

리눅스나 Ubuntu 환경에서 개발을 하다 보면 터미널을 여러 개 띄워야 하는 상황이 반복됩니다.특히 ROS2, 서버, 네트워크, 임베디드 작업에서는 하나의 터미널로는 한계가 분명합니다.이 문제를

makingrobot.tistory.com

 

 

 

 

2. 2일차 강의

1) Ubuntu 22.04에서 ROS2 설치

 

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 t

makingrobot.tistory.com

 

 

 

2) ROS2 Humble 개발 환경 설정

 

ROS2 Humble 개발 환경 설정

1. ROS2 개발 환경 설정 다음 소프트웨어는 ROS 2를 이용한 로봇 프로그래밍에 필수적인 소프트웨어 모음입니다. 개발 환경 설치 시에 반드시 설치할 것을 권장합니다. sudo apt update && sudo apt install -y

makingrobot.tistory.com

 

 

 

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

 

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

ROS2를 처음 학습할 때 가장 먼저 다뤄볼 만한 예제 패키지가 turtlesim입니다. turtlesim은 거북이 모양의 시뮬레이터를 실행하여 ROS2의 노드, 토픽, 서비스, 액션 개념을 실습할 수 있게 해주는 기본

makingrobot.tistory.com

 

 

 

4) ROS2 Topic

 

ROS2 Topic

ROS 2에서 토픽(Topic)은 노드(Node) 간 데이터를 전달하는 가장 기본적이고 핵심적인 통신 방식입니다.실제 로봇 시스템을 구성할 때 센서 데이터 처리, 상태 공유, 제어 명령 전달 등 대부분의 데이

makingrobot.tistory.com

 

 

 

5) ROS2 Service

 

ROS2 Service

1. ROS 2 Service란 무엇인가요?ROS 2에서 Service는 한 노드가 다른 노드에게 특정 작업을 요청하고, 그 결과를 응답받는 통신 방식입니다.Topic이 계속 데이터를 주고받는 구조라면, Service는 다음과 같

makingrobot.tistory.com

 

 

 

6) ROS2 Action

 

ROS2 Action

ROS2에서 노드 간 통신 방식은 크게 Topic, Service, Action으로 나눌 수 있습니다.이 중 Action은 시간이 오래 걸리는 작업을 처리할 때 사용하는 통신 방식입니다. 예를 들어 로봇이 특정 위치까지 이동

makingrobot.tistory.com

 

 

 

7) ROS2 파라미터

 

ROS2 파라미터

1. 파라미터 개념 ROS 2에서 파라미터(parameter)는노드 내부 동작을 외부에서 “실시간으로 조정”할 수 있는 핵심 기능입니다.기존 ROS1에서는 중앙 Parameter Server가 있었지만,ROS 2에서는 다음과 같이

makingrobot.tistory.com

 

 

 

8) 토픽, 서비스, 액션 정리

 

토픽, 서비스, 액션 정리

1. 오늘 배운 핵심이번 강의에서는 ROS 2 Humble 환경에서 turtlesim을 이용해 ROS 2의 기본 통신 구조를 직접 확인했습니다. turtlesim은 단순한 예제처럼 보이지만, ROS 2의 노드, 토픽, 서비스, 메시지, rqt_

makingrobot.tistory.com

 

 

 

 

3. 3일차 강의

1)  ROS2 Run Commands 설정

 

ROS2 Run Commands 설정

ROS 2 Humble 설치 후 매번 터미널에서 source /opt/ros/humble/setup.bash 명령을 입력하는 것은 번거롭습니다.따라서 ~/.bashrc 파일에 ROS 2 환경 설정, 워크스페이스 설정, 자주 사용하는 alias를 등록해 두면

makingrobot.tistory.com

 

 

 

2) Ubuntu 22.04에서 Jupyter 설치하기

 

Ubuntu 22.04에서 Jupyter 설치하기

Ubuntu 22.04에서 Jupyter를 설치하는 가장 깔끔한 방법은 Python 가상환경(venv) + pip 방식입니다. 시스템 Python을 오염시키지 않고 프로젝트별로 패키지를 관리할 수 있기 때문입니다. Jupyter 공식 문서도

makingrobot.tistory.com

 

 

 

 

3) Python에서 ROS2 토픽 구독

 

Python에서 ROS2 토픽 구독

ROS 2의 Python 클라이언트 라이브러리인 rclpy를 사용하여 turtlesim 노드가 발행하는 /turtle1/pose 토픽을 구독합니다.최종적으로 Python 코드에서 거북이의 현재 위치와 방향 정보를 받아 다음 값을 출력

makingrobot.tistory.com

 

 

 

 

4) Python에서 ROS2 토픽 발행

 

Python에서 ROS2 토픽 발행

이번에는 /turtle1/cmd_vel 토픽으로 속도 명령을 발행하여 거북이를 움직입니다.turtlesim에서 거북이를 움직이는 토픽은 다음과 같습니다. /turtle1/cmd_vel 메시지 타입은 다음과 같습니다. geometry_msgs/msg

makingrobot.tistory.com

 

 

 

 

5) ROS 2 Python Service Client 사용하기

 

ROS 2 Python Service Client 사용하기

이번 글에서는 ROS 2에서 Python으로 Service Client를 만드는 방법을 정리합니다.ROS 2의 서비스는 기본적으로 다음 구조입니다.Service Client → Request → Service ServerService Client ← Response ← Service Server 즉,

makingrobot.tistory.com

 

 

 

6) ROS2 패키지 만들고 토픽 다루기

 

ROS2 패키지 만들고 토픽 다루기

1. 개발 도구 설치 먼저 ROS 2 Python 패키지 개발에 필요한 도구를 설치합니다. sudo apt update && sudo apt install -y \ python3-flake8-docstrings \ python3-pip \ python3-pytest-cov \ ros-dev-tools sudo apt install -y \ python3-flake8-

makingrobot.tistory.com

 

 

 

 

7) ROS2 사용자 정의 메세지 만들기 #1

 

ROS2 사용자 정의 메세지 만들기 #1

이번 글에서는 ROS 2에서 직접 메시지 타입을 정의하고, 이를 Python 노드에서 사용하는 방법을 정리해 보겠습니다. 예제 목표는 turtlesim의 위치 정보와 속도 명령 정보를 각각 구독한 뒤, 하나의 사

makingrobot.tistory.com

 

 

 

 

8) VS Code 확장 프로그램 설치

 

VS Code 확장 프로그램 설치

실제 개발 과정에서는 C/C++, Python, CMake, URDF, Colcon 등을 자주 사용하기 때문에, VS Code에 관련 확장 프로그램을 설치해 두면 훨씬 효율적으로 작업할 수 있습니다. 1. VS Code 실행하기먼저 Ubuntu 터미

makingrobot.tistory.com

 

 

 

 

9) ROS2 사용자 정의 메세지 만들기 #2

 

ROS2 사용자 정의 메세지 만들기 #2

이번 글에서는 앞에서 만든 사용자 정의 메시지 CmdAndPoseVel을 실제 토픽으로 발행하고, 이어서 사용자 정의 서비스 MultiSpawn.srv까지 만들어 보겠습니다. 핵심 목표는 다음과 같습니다.1. /turtle1/pose

makingrobot.tistory.com

 

 

 

4. 4일차 강의

1) ROS2 사용자 정의 메세지 만들기 #2

 

ROS2 사용자 정의 메세지 만들기 #2

이번 글에서는 앞에서 만든 사용자 정의 메시지 CmdAndPoseVel을 실제 토픽으로 발행하고, 이어서 사용자 정의 서비스 MultiSpawn.srv까지 만들어 보겠습니다. 핵심 목표는 다음과 같습니다.1. /turtle1/pose

makingrobot.tistory.com

 

 

 

2) 서비스 정의 만들기

 

서비스 정의 만들기

1. 서비스 정의 만들기 이번에는 토픽이 아니라 서비스를 만들어 보겠습니다. 토픽은 계속 흐르는 데이터 통신에 적합합니다. 반면 서비스는 요청과 응답이 명확한 작업에 적합합니다. 예를 들

makingrobot.tistory.com

 

 

 

3) 서비스 서버 만들기

 

서비스 서버 만들기

1. 서비스 서버 만들기 이제 Python 패키지에 서비스 서버 파일을 만듭니다. 파일 위치는 다음과 같습니다. my_first_package/my_first_package/my_service_server.py 먼저 서버 파일을 생성합니다. cd ~/ros2_study/src/m

makingrobot.tistory.com

 

 

 

4) ROS2 사용자 정의 메세지 만들기 #3

 

ROS2 사용자 정의 메세지 만들기 #3

이번 글에서는 ROS 2 서비스 구조를 조금 더 확장해서, 사용자가 원하는 개수만큼 turtlesim 거북이를 생성하고 원 모양으로 배치하는 예제를 정리해 보겠습니다. 이전 단계에서는 사용자 정의 서비

makingrobot.tistory.com

 

 

 

 

5) ROS 2 Action 정의 만들기

 

ROS 2 Action 정의 만들기

1. ROS 2 Action의 개념 ROS 2에서 Action은 시간이 오래 걸리는 작업을 처리할 때 사용하는 통신 방식입니다.Service는 요청을 보내면 결과가 바로 돌아오는 구조에 가깝지만, Action은 작업이 진행되는 동

makingrobot.tistory.com

 

 

 

 

6) ROS2 Action Server 만들기 #1

 

ROS2 Action Server 만들기 #1

1. 간단한 Action Server 만들기 이제 my_first_package 안에 Action Server 파일을 만듭니다.my_first_package/└── my_first_package/ └── dist_turtle_action_server.py 먼저 cd ~/ros2_study/src/my_first_package/my_first_package/ 로

makingrobot.tistory.com

 

 

 

 

7) 로봇 개발자를 위한 Python 기초 교육 #1

 

로봇 개발자를 위한 Python 기초 교육 #1

1. Python이 로봇 개발에 많이 쓰이는 이유로봇 개발은 보통 다음 요소들이 섞여 있습니다.센서 입력 → 데이터 처리 → 판단 → 제어 명령 출력 예를 들어 자율주행 로봇이라면:라이다 / 카메라 / I

makingrobot.tistory.com

 

 

 

 

5. 5일차 강의

1) ROS2 Action Server 만들기 #2

 

ROS2 Action Server 만들기 #2

1. Feedback 기능 추가하기 이 코드는 Action Server의 기본 구조만 확인하는 코드입니다. 아직 다음 기능은 없습니다.1. Goal 값 사용 안 함2. turtlesim 이동 안 함3. Feedback 발행 안 함4. 실제 이동 거리 계산

makingrobot.tistory.com

 

 

 

2) ROS2 Action Server에 Cancel 기능 추가하기

 

ROS2 Action Server에 Cancel 기능 추가하기

앞에서 만든 Action Server는 Goal을 받고 Feedback을 발행한 뒤 성공 상태로 종료됩니다. 하지만 아직 중요한 기능이 하나 빠져 있습니다. 바로 Cancel 처리입니다. 현재 코드는 Client가 작업 취소 요청을

makingrobot.tistory.com

 

 

 

3) ROS2 MultiThread 기초

 

ROS2 MultiThread 기초

1. 왜 MultiThreadedExecutor가 필요한가요? ROS 2 노드는 기본적으로 하나의 실행 흐름에서 callback을 처리합니다. 더보기ROS 2 노드는 보통 이렇게 실행합니다. rclpy.spin(node) 이 코드는 내부적으로 기본 Exe

makingrobot.tistory.com

 

 

 

4) ROS 2 MultiThreadedExecutor와 Action Server로 Turtlesim 거리 이동 구현하기

 

ROS 2 MultiThreadedExecutor와 Action Server로 Turtlesim 거리 이동 구현하기

이번 단계에서는 ROS 2 Action Server를 실제 turtlesim 제어에 연결합니다.앞에서는 Action Server가 Goal을 받고 Result와 Feedback을 반환하는 구조를 확인했다면, 이번에는 다음 기능을 함께 구현합니다.1. Acti

makingrobot.tistory.com

 

 

 

5) 소스에서 파라미터 사용하기

 

소스에서 파라미터 사용하기

여기서는 파라미터를 사용하여 액션 서버 작성 시 사용했던 소스에 특정 기능을 추가하도록 하겠습니다. 1. Python 코드에서 파라미터 선언하기 ~/ros2_study/src/my_first_package/ my_first_package/dist_turtle_act

makingrobot.tistory.com

 

 

 

6) Python 기본 타입 메시지 Publisher / Subscriber 예제

 

Python 기본 타입 메시지 Publisher / Subscriber 예제

이번 실습에서는 직접 만든 메시지 타입을 사용해서 Publisher와 Subscriber가 통신하도록 구성합니다.사용할 메시지 구조는 다음과 같습니다.int32 idfloat32 temperaturebool enabledstring name 최종 실행 구조는

makingrobot.tistory.com

 

 

 

 

6. 6일차 강의

1) ROS 2 디버깅과 관찰 도구: 로그, rqt_console, rqt_graph, rqt_plot 실습 정리 #1

 

ROS 2 디버깅과 관찰 도구: 로그, rqt_console, rqt_graph, rqt_plot 실습 정리 #1

1. 이번 실습의 목적ROS 2에서 노드를 개발하다 보면 단순히 코드가 실행되는지만 보는 것으로는 부족합니다.노드가 어떤 토픽을 발행하는지, 어떤 노드와 연결되어 있는지, 내부 상태가 어떻게

makingrobot.tistory.com

 

 

 

2) VS Code 원격 개발 환경 (SSH 원격 접속)  Ubuntu 22.04 LTS : 네트워크 설정

 

 

Ubuntu 22.04 LTS : 네트워크 설정

1. 우분투를 설치하고 연결된 네트워크 주소를 확인하기 위해 ifconfig 명령을 실행할 경우 아래와 같은 에러가 발생하면 해당 패키지가 설치되어 있지 않은 경우입니다. 2. 아래의 명령을 실행하

makingrobot.tistory.com

 

 

 

 

3) ROS 2 디버깅과 관찰 도구: 로그, rqt_console, rqt_graph, rqt_plot 실습 정리 #2

 

ROS 2 디버깅과 관찰 도구: 로그, rqt_console, rqt_graph, rqt_plot 실습 정리 #2

11. rqt 도구를 왜 써야 하는가 ROS 2는 노드, 토픽, 서비스, 액션이 복잡하게 얽힙니다.CLI 명령만으로도 확인은 가능하지만, 구조를 빠르게 이해하기에는 GUI 도구가 훨씬 편합니다. 예를 들어 CLI에

makingrobot.tistory.com

 

 

 

 

4) ROS 2 단위, 좌표, 시간, 파일 시스템, 빌드 시스템, 패키지 구조 정리 #1

 

ROS 2 단위, 좌표, 시간, 파일 시스템, 빌드 시스템, 패키지 구조 정리 #1

ROS 2를 처음 배울 때 많은 분들이 바로 토픽, 서비스, 액션, 노드 코드부터 시작합니다.그런데 실제로 현장에서 문제가 생기는 지점은 의외로 코드 문법이 아닙니다. 진짜 문제는 보통 이런 곳에

makingrobot.tistory.com

 

 

 

 

5) Python 기본 타입 메시지 Publisher / Subscriber 예제

 

Python 기본 타입 메시지 Publisher / Subscriber 예제

이번 실습에서는 직접 만든 메시지 타입을 사용해서 Publisher와 Subscriber가 통신하도록 구성합니다.사용할 메시지 구조는 다음과 같습니다.int32 idfloat32 temperaturebool enabledstring name 최종 실행 구조는

makingrobot.tistory.com

 

 

 

 

6) ROS 2 Humble rqt Plugins 정리 #3

 

ROS 2 Humble rqt Plugins 정리 #3

1. ROS 2 Humble rqt 기본 플러그인 전체 목록ros-humble-rqt-common-plugins 메타패키지는 여러 rqt 플러그인 패키지를 한 번에 설치해 주는 묶음입니다. 해당 메타패키지에는 rqt_action, rqt_bag, rqt_console, rqt_graph

makingrobot.tistory.com

 

 

 

 

7) 로봇 개발자를 위한 Python 기초 교육 #2

 

로봇 개발자를 위한 Python 기초 교육 #2

1. 변수와 자료형Python은 변수를 선언할 때 자료형을 따로 적지 않습니다. speed = 1.5robot_name = "mobile_robot"is_running = Truewheel_count = 4 각 변수의 자료형은 값에 따라 자동으로 정해집니다. print(type(speed)

makingrobot.tistory.com

 

 

 

 

7. 7일차 강의

1) ROS2 launch 작성

 

ROS2 launch 작성

1. roslaunch 기본 개념 ROS 2에서 여러 노드를 실행할 때 터미널을 여러 개 열고 하나씩 실행하면 불편합니다. 예를 들어 다음과 같은 명령을 각각 실행해야 한다고 가정해 보겠습니다. ros2 run turtlesi

makingrobot.tistory.com

 

 

 

 

2) 로봇 개발자를 위한 Python 기초 교육 #3

 

로봇 개발자를 위한 Python 기초 교육 #3

21. JSON 다루기로봇 설정이나 웨이포인트 파일은 JSON 형식으로 저장하는 경우가 많습니다.예를 들어 다음과 같은 JSON 파일이 있다고 가정합니다. { "robot_name": "delivery_robot", "max_speed": 1.2, "waypoints":

makingrobot.tistory.com

 

 

 

 

3) Cancel 테스트용 Action Client 만들기

 

Cancel 테스트용 Action Client 만들기

1. Cancel 기능 실습 개요이번 실습에서는 실행 중인 Action Goal을 중간에 취소하는 방법을 확인합니다.ROS 2 Action은 Client가 Server에 Goal을 보내고, Server는 작업을 수행하면서 Feedback을 보내다가 마지막

makingrobot.tistory.com

 

 

 

 

4) ROS 2 Python Topic 실습 : RobotStatus 메시지로 로봇 상태 주고받기

 

ROS 2 Python Topic 실습 : RobotStatus 메시지로 로봇 상태 주고받기

1. 최종 목표이번 실습에서 만들 구조는 다음과 같습니다.ros2_lab_ws└── src ├── robot_interfaces │ └── msg │ └── RobotStatus.msg │ └── topic_practice └── topic_practice ├── robot_status_pub

makingrobot.tistory.com

 

 

 

 

5) launch 파일에서 실행 인자 사용하기

 

launch 파일에서 실행 인자 사용하기 #1

1. launch 파일에서 실행 인자 사용하기ROS 2 launch 파일은 단순히 노드를 실행하는 용도만 있는 것이 아닙니다.실행할 때 값을 외부에서 받아서 launch 파일 내부에서 사용할 수도 있습니다. 예를 들

makingrobot.tistory.com

 

 

 

 

8. 8일차 강의

1) launch 파일에서 실행 인자 사용하기 #2

 

launch 파일에서 실행 인자 사용하기 #2

4. launch 파일에서 remapping 사용하기ROS 2에서 토픽 이름을 바꿔 연결해야 하는 경우가 많습니다.이때 launch 파일에서 remapping을 사용할 수 있습니다. 예를 들어 어떤 노드가 /cmd_vel 토픽을 구독하도

makingrobot.tistory.com

 

 

 

 

2) ROS 2 개발자를 위한 C/C++ 기초강의 #1

 

ROS 2 개발자를 위한 C/C++ 기초강의 #1

ROS 2를 제대로 다루기 위해서는 C++ 문법에 대한 기본기가 필요합니다. ROS 2의 핵심 클라이언트 라이브러리인 rclcpp는 C++ 기반으로 작성되어 있으며, 실제 로봇 제어, 센서 처리, 드론 제어, 실시간

makingrobot.tistory.com

 

 

 

 

3) C++ ROS 2 패키지 생성하기

 

C++ ROS 2 패키지 생성하기

1. 개요이번 실습에서는 ROS 2 Humble 환경에서 C++ 패키지를 생성하고, Publisher 노드와 Subscriber 노드를 작성한 뒤 빌드하고 실행하는 과정을 진행합니다.이번 실습에서 사용할 패키지 이름은 다음과

makingrobot.tistory.com

 

 

 

 

 

 

9. 9일차 강의

1) ROS 2 C++ 토픽 통신 기초: 센서 데이터를 보내고 받는 퍼블리셔와 서브스크라이버 만들기

 

ROS 2 C++ 토픽 통신 기초: 센서 데이터를 보내고 받는 퍼블리셔와 서브스크라이버 만들기

이번 실습에서는 C++로 ROS2에서 제공하는 인터페이스를 이용하여 토픽 통신하는 예제를 만들어 보겠습니다. 예제 내용은 간단합니다. temperature_publisher 노드는 1초마다 임의의 온도 값을 만들어 /t

makingrobot.tistory.com

 

 

 

 

2)  ROS 2 개발자를 위한 C/C++ 기초강의 #2

 

 

 

 

 

 

 

3) ROS 2 C++ 서비스 프로그래밍 이해하기

 

ROS 2 C++ 서비스 프로그래밍 이해하기

이번 실습에서는 ROS 2 Humble 환경에서 C++로 서비스 서버와 서비스 클라이언트를 작성합니다. 패키지는 이미 생성되어 있다고 가정합니다.사용할 패키지 이름은 다음과 같습니다. my_cpp_package 인터

makingrobot.tistory.com

 

 

 

4) ROS 2 C++ Action Server / Client 실습 #1

 

ROS 2 C++ Action Server / Client 실습 #1

1. 실습 목표이번 실습에서는 ROS 2 Humble에서 C++을 사용하여 다음 내용을 직접 작성하고 실행합니다.Action 인터페이스 작성Action Server 작성Action Client 작성colcon build로 컴파일서버와 클라이언트를

makingrobot.tistory.com

 

 

 

 

5) ROS 2 C++ Action Server / Client 실습 #2

 

ROS 2 C++ Action Server / Client 실습 #2

7. Action Client 작성파일 생성: cd ~/ros2_study/src/my_cpp_package/touch src/move_distance_client.cpp 내용: #include #include #include #include "rclcpp/rclcpp.hpp"#include "rclcpp_action/rclcpp_action.hpp"#include "my_first_package_msgs/action/move

makingrobot.tistory.com

 

 

 

 

10. 10일차 강의

1) ROS 2 C++ 파라미터 실습

 

ROS 2 C++ 파라미터 실습

ROS 2를 사용하다 보면 같은 프로그램이라도 상황에 따라 설정값을 바꿔야 하는 경우가 자주 생깁니다.예를 들어 모바일 로봇의 주행 속도, 제어 주기, 장애물 감지 거리, 좌표계 이름, 제어 게인

makingrobot.tistory.com

 

 

 

 

2) ROS 2 C++ 실행 인자 사용하기

 

ROS 2 C++ 실행 인자 사용하기

ROS 2 노드를 만들다 보면 같은 프로그램이라도 실행할 때마다 다른 조건으로 동작시켜야 할 때가 있습니다.예를 들어 모바일 로봇의 이동 속도를 바꾸거나, 반복 횟수를 다르게 주거나, 테스트

makingrobot.tistory.com

 

 

 


3) C++ Service Client 작성 실습 — 모바일 로봇 긴급정지 요청 보내기

 

C++ Service Client 작성 실습 : 모바일 로봇 긴급정지 요청 보내기

1. 실습 목표이번 실습에서는 C++로 모바일 로봇의 긴급정지 서비스를 호출하는 구조를 작성합니다.패키지는 이미 생성되어 있다고 가정합니다. ~/ros2_study/src/my_cpp_package 작성할 파일 구조는 다음

makingrobot.tistory.com

 

 

 

 

4) ROS 2 에서 CMakeLists.txt 이해하기

 

ROS 2 에서 CMakeLists.txt 이해하기

1. CMakeLists.txt란?CMakeLists.txt는 ROS 2 패키지를 빌드할 때 사용하는 설정 파일입니다. 쉽게 말하면 다음 역할을 합니다.이 패키지를 어떻게 빌드할지,어떤 ROS 2 패키지를 사용할지,어떤 실행 파일을

makingrobot.tistory.com

 

 

 

 

5) ROS 2 package.xml 이해하기 : Python 패키지와 C++ 패키지 기준

 

ROS 2 package.xml 이해하기 : Python 패키지와 C++ 패키지 기준

ROS 2에서 package.xml은 패키지의 신분증입니다. 노드가 실제로 어떻게 빌드되는지는 C++ 패키지에서는 CMakeLists.txt, Python 패키지에서는 setup.py가 담당합니다.하지만 이 패키지가 어떤 이름을 가지는

makingrobot.tistory.com

 

 

 

 

6) ROS 2 Python 패키지의 setup.py 이해하기

 

ROS 2 Python 패키지의 setup.py 이해하기

ROS 2에서 Python 패키지를 만들면 거의 항상 setup.py 파일이 함께 생성됩니다.처음 보면 단순한 설정 파일처럼 보이지만, 실제로는 Python 코드를 ROS 2 패키지로 설치하고, ros2 run 명령으로 실행 가능

makingrobot.tistory.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
728x90