ROS 2 TurtleBot3 카메라 영상을 PyQt5 GUI로 표시하고 동영상으로 저장하기 #2

28) 동영상 저장 코드를 write_video_frame()으로 분리 동영상 저장 기능을 별도 메서드로 분리했습니다. 새 메서드는 다음과 같습니다. 이렇게 분리한 이유는 image_callback()의 역할을 명확하게 만들기 위해서입니다. 동영상 크기 확인, 리사이즈, 파일 쓰기, 저장 오류 처리는 write_video_frame()이 담당합니다. 기능을 메서드 단위로 분리하면 다음 장점이 있습니다. 29) 화면 표시 조건 카메라 화면 표시 상태가 활성화된 경우에만 show_frame()을 호출합니다. 카메라 … Read more

ROS 2 TurtleBot3 카메라 영상을 PyQt5 GUI로 표시하고 동영상으로 저장하기 #1

1. 실습 개요 이번 실습에서는 TurtleBot3에 연결된 Raspberry Pi Camera 영상을 ROS 2 토픽으로 발행하고, 원격 Ubuntu PC에서 PyQt5 GUI를 사용해 영상을 표시합니다. 카메라 영상은 압축되지 않은 raw 영상이 아니라 다음 압축 이미지 토픽을 사용합니다. GUI에는 다음 4개 버튼을 배치합니다. 카메라 영상을 발행하기 위한 별도의 Python 카메라 노드는 작성하지 않습니다. TurtleBot3에서 제공하는 다음 launch 파일을 … Read more

TurtleBot3 Burger를 이용한 ROS 2 이동 로봇 서비스 개발 프로젝트 안내

1. 프로젝트 개요 이번 프로젝트는 그동안 학습한 ROS 2 Humble, TurtleBot3 Burger, SLAM, Navigation2, 카메라 인식, 센서 연동, GUI, 자동 실행 기술을 하나의 서비스 로봇 시스템으로 통합하는 팀 프로젝트입니다. 단순히 로봇을 움직이는 수준이 아니라 실제 사용 가능한 이동 로봇 서비스를 기획하고, 요구사항 작성부터 설계, 구현, 시험, 발표까지 전체 개발 절차를 수행합니다. 실습 공간은 강의실 내부에 … Read more

사무실 안내·순찰 로봇 GUI·HMI 간이 설계서 작성 예시

1. 설계 개요 본 설계서는 터틀봇3 버거(TurtleBot3 Burger)를 활용한 원격 관제 및 제어 프로그램의 GUI·HMI 구성을 정의합니다. GUI 프로그램은 로봇 내부가 아닌 원격 PC에서 실행합니다. 원격 PC와 터틀봇3는 동일한 네트워크에 연결하며, ROS 2 통신을 이용하여 로봇 상태 확인, 카메라 영상 모니터링, 원격 주행 제어, 이상 이벤트 처리, 방문자 메모 작성을 수행합니다. 본 프로젝트는 4주 과정의 … Read more

사무실 안내·순찰 로봇 인터페이스 명세서 작성 예시

1. 문서 개요 본 문서는 터틀봇3 버거(TurtleBot3 Burger)를 이용한 사무실 안내·순찰 로봇 시스템의 ROS 2 인터페이스를 정의한다. 로봇 본체에서는 센서 처리, 주행, 상태 관리, 순찰, 이상 상황 감지 등의 노드를 실행한다. 원격 PC에서는 관리자 GUI, 실시간 영상 확인, 원격 조종, 순찰 제어, 이벤트 승인 및 보고서 확인 기능을 실행한다. 인터페이스 명세를 따르지 않을 경우 다음 … Read more

사무실 안내·순찰 로봇 시스템 아키텍처 및 소프트웨어 설계서 작성 예시

1. 문서 개요 본 문서는 터틀봇3 버거(TurtleBot3 Burger)를 활용하여 사무실 안내, 심부름, 입구 감시, 야간 순찰, 이상 징후 감지, 원격 제어 기능을 수행하는 서비스 로봇의 시스템 아키텍처와 소프트웨어 구조를 정의한다. 로봇의 전체 운용 상태는 중앙 상태 관리 노드에서 관리하며, 비상정지와 충돌 방지 기능은 일반 임무 기능과 독립적으로 동작하도록 설계한다. 2. 시스템 목표 본 시스템의 주요 … Read more

실내 안내·순찰 로봇 시스템 요구사항 작성 예시

본 문서는 실내 공간에서 방문자 안내, 자율 순찰, 이상 상황 감시, 원격 관제 기능을 수행하는 이동형 로봇 시스템의 요구사항 견본이다. 대상 시스템은 건물 입구에서 방문자를 맞이하고, 지정된 경로를 순찰하며, 침입이나 화재와 같은 모의 이상 이벤트를 감지한다. 또한 관리자가 원격 화면을 통해 로봇의 상태를 확인하고 필요한 명령을 전달할 수 있도록 구성한다. 1. 기능 요구사항 기능 요구사항은 … Read more

사무실 안내·순찰 로봇 사용자 요구사항 작성 예시

1. UR-001 충전스테이션 대기 요구사항 ID: UR-001 요구사항 명칭: 충전스테이션 대기 사용자: 시설 관리자 요구사항 내용:로봇은 평상시 사무실 입구의 충전스테이션 또는 관리자가 지정한 대기 위치에서 대기해야 한다. 필요 이유:출입자를 신속하게 감지하고 필요한 경우 즉시 안내 또는 이동 임무를 수행하기 위해 필요하다. 우선순위: 필수 인수 조건:로봇이 지정된 대기 위치에 정지하고 사람 감지 기능을 활성화한 상태를 유지한다. … Read more

사무실 안내·보안 로봇 서비스 시나리오

1. 서비스 개요 로봇은 평상시 사무실 입구에 설치된 충전스테이션에서 대기하며, 임직원 출입 안내, 사내 정보 전달, 방문객 응대, 간단한 심부름, 야간 무인 경비 등의 업무를 수행한다. 주간에는 임직원과 방문객을 지원하는 안내 로봇으로 운영하고, 모든 임직원이 퇴근한 이후에는 사무실 내부를 순찰하는 보안 로봇으로 전환한다. 2. 평상시 대기 및 충전 3. 임직원 출근 및 출입 응대 4. … Read more

PM2와 tmux를 이용한 TurtleBot3 ROS 2 자동 실행 환경 구축 #2

11. PM2 ecosystem 설정 파일 작성 PM2는 명령행에서 직접 프로그램을 등록할 수도 있지만, 운영 환경에서는 ecosystem 설정 파일을 사용하는 것이 좋습니다. ecosystem 파일에는 다음 내용을 저장할 수 있습니다. PM2 공식 문서에서도 여러 프로그램과 실행 옵션을 관리할 때 ecosystem.config.js 파일을 사용하는 방법을 안내합니다. 다음 파일을 생성합니다. 파일 내용은 다음과 같습니다. 1) 운영체제 정보 모듈 불러오기 Node.js의 … Read more