TurtleBot3 Burger에서 원격 PC PyQt 버튼으로 ROS 2 Humble Bringup 실행하기

1. 로봇에 스크립트 폴더 만들기 먼저 원격 PC에서 TurtleBot3 Burger에 SSH로 접속합니다. 여기서 192.168.200.28은 예시 IP입니다.수업 환경에서는 각자의 TurtleBot3 IP 주소로 변경하셔야 합니다. 로봇에 접속한 후 스크립트를 저장할 폴더를 만듭니다. 이 폴더 안에 bringup 실행, 정지, 상태 확인 스크립트를 만들겠습니다. 2. bringup 시작 스크립트 만들기 다음 명령으로 시작 스크립트를 만듭니다. 아래 내용을 입력합니다. 저장 후 … Read more

TurtleBot3 PyQt GUI 미니 프로젝트 안내

1. 프로젝트 개요 이번 미니 프로젝트는 PyQt와 ROS 2를 연동하여 TurtleBot3 제어용 GUI 프로그램을 제작하는 실습입니다. GUI는 단순한 버튼 화면이 아니라, 로봇 상태 확인, 토픽 모니터링, 경유점 이동, trajectory 주행, TTS 출력, bringup/nav2/teleop 실행, 로그 출력 기능을 포함하는 통합 제어 도구 형태로 구현합니다. 프로젝트 기간은 총 2일이며, 별도 평가는 진행하지 않습니다.각 팀은 최종 결과물로 다음 … Read more

TurtleBot3 Burger에서 gTTS 출력 노드는 로봇에서 실행하고 원격 PC PyQt GUI로 음성 토픽 발행하기

1. 목표 실습 환경은 아래와 같습니다. 즉, 원격 PC의 GUI는 명령만 보내고, TurtleBot3 Burger가 실제 음성을 출력합니다. 2. 시스템 구조 전체 구조는 다음과 같습니다. 3. AudioCommand 메시지 먼저 음성 명령 메시지를 사용합니다. 파일 위치는 다음과 같습니다. 내용은 다음과 같습니다. 메시지 필드의 의미는 다음과 같습니다. 필드 의미 type 명령 종류 text gTTS로 출력할 문장 sound_id 출력할 … Read more

ROS 2 Humble TurtleBot3 Burger + Pi Camera 2.0 카메라 캘리브레이션 방법

TurtleBot3 Burger에 Raspberry Pi Camera Module 2.0을 장착하고 카메라 영상 출력까지 확인했다면, 본격적인 비전 실습 전에 먼저 해야 할 작업이 있습니다. 바로 카메라 캘리브레이션입니다. 카메라 캘리브레이션은 카메라가 가진 렌즈 왜곡, 초점 거리, 중심점 같은 내부 파라미터를 구하는 과정입니다. ROS 2에서는 이 결과가 보통 camera_info 형태로 사용됩니다. camera_calibration 패키지는 ROS 시스템에서 모노 카메라 또는 스테레오 카메라를 … Read more

Pi Camera 2를 이용한 OpenCV 응용 : 색상 검출 예제

카메라 영상 처리 강의에서 가장 기본이 되는 응용은 색상 검출입니다. 예를 들어 빨간색 물체를 찾는 예제를 만들 수 있습니다. HSV 참고 사이트 : HSV 색 공간 색상 검출에서는 보통 BGR 이미지를 HSV 색공간으로 변환합니다. 빨간색 영역을 검출하기 위해 HSV 범위를 지정합니다. 빨간색은 HSV 색상 범위에서 양끝에 걸쳐 있으므로 두 구간으로 나눠서 처리하는 것이 일반적입니다. 검출된 … Read more

Ubuntu 22.04 Server 기반 TurtleBot3 Burger에서 ROS 2 Humble과 Pi Camera 2를 이용한 YOLO 객체 인식 연동

1. 개요 이번 글에서는 Ubuntu 22.04 Server가 설치된 TurtleBot3 Burger에서 ROS 2 Humble을 사용하고, 장착된 Pi Camera 2 영상을 기반으로 YOLO 객체 인식 딥러닝 노드를 연결하는 과정을 설명합니다. 카메라 ROS 2 토픽 → OpenCV 변환 → YOLO 객체 인식 → 인식 결과 ROS 2 토픽 발행 → rqt 또는 RViz2에서 확인 이 원리를 이해하면 TurtleBot3에 … Read more

TurtleBot3 Burger에서 Pi Camera 2와 LiDAR를 결합한 ROS 2 Humble 장애물 회피

1. 강의 목표 이번 강의의 목표는 TurtleBot3 Burger에 장착된 LiDAR와 Pi Camera 2 영상을 함께 사용하여 장애물을 회피하는 ROS 2 노드를 직접 만들어 보는 것입니다. 기본적인 TurtleBot3 예제에서는 주로 /scan 토픽의 LiDAR 거리값만 이용해 장애물을 회피합니다. 하지만 실제 로봇에서는 거리 정보만으로는 부족한 경우가 많습니다. 예를 들어 앞에 있는 물체가 벽인지, 사람인지, 색깔이 있는 표식인지, 지나갈 … Read more

ROS 2 Humble + TurtleBot3 Burger + Pi Camera 2 색상 물체 추종 로봇 만들기

1. 강의 목표 이번 강의의 목표는 다음과 같습니다. 2. 전체 시스템 구성 이번 실습 환경은 다음과 같습니다. ROS 2에서 카메라 영상은 일반적으로 sensor_msgs/msg/Image 타입으로 발행됩니다. 이 메시지를 OpenCV 이미지로 변환하기 위해 cv_bridge를 사용합니다. cv_bridge는 ROS 이미지 메시지와 OpenCV 이미지 사이의 변환을 담당하는 패키지입니다. 3. 동작 원리 색상 물체 추종 로봇의 핵심 원리는 비교적 단순합니다. 여기서 … Read more

TurtleBot3 Burger에 Raspberry Pi Camera Module 2 설정하기

1. TurtleBot3 SBC 기본 ROS 2 환경 확인 먼저 TurtleBot3 SBC에 SSH로 접속합니다. Remote PC에서 다음과 같이 접속합니다. 예를 들어 Raspberry Pi IP가 192.168.0.20이면 다음과 같이 접속합니다. 접속 후 ROS 2 Humble 환경이 정상적으로 잡혀 있는지 확인합니다. 다음과 비슷한 값이 보여야 합니다. 만약 ROS_DISTRO=humble이 보이지 않는다면 다음 명령으로 ROS 2 환경을 적용합니다. TurtleBot3 워크스페이스까지 사용 … Read more

Qt Designer로 TurtleBot3 Burger 제어용 PyQt UI 만들기 #2

11. ROS 2 Node 클래스 추가하기 이제 Python 코드에 ROS 2 노드를 추가합니다. 먼저 필요한 ROS 2 모듈을 import합니다. Python 파일 상단에 다음을 추가합니다. 그리고 MainWindow 클래스 위에 ROS 2 노드 클래스를 추가합니다. 이 클래스는 ROS 2 노드입니다. 핵심은 다음입니다. 이 코드가 /cmd_vel 토픽 publisher를 만듭니다. Namespace를 입력하면 /tb3/cmd_vel 같은 토픽으로 바꿔서 발행할 수 있습니다. … Read more