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

1. 설계 개요

본 설계서는 터틀봇3 버거(TurtleBot3 Burger)를 활용한 원격 관제 및 제어 프로그램의 GUI·HMI 구성을 정의합니다.

GUI 프로그램은 로봇 내부가 아닌 원격 PC에서 실행합니다. 원격 PC와 터틀봇3는 동일한 네트워크에 연결하며, ROS 2 통신을 이용하여 로봇 상태 확인, 카메라 영상 모니터링, 원격 주행 제어, 이상 이벤트 처리, 방문자 메모 작성을 수행합니다.

본 프로젝트는 4주 과정의 실습 프로젝트를 기준으로 하며, 복잡한 디자인보다 다음 항목을 명확하게 구현하는 것을 목표로 합니다.

  1. 로봇의 현재 상태를 한 화면에서 확인할 수 있어야 합니다.
  2. 필요할 때 자율주행을 중지하고 원격으로 로봇을 제어할 수 있어야 합니다.
  3. 이상 이벤트 발생 시 현장 정보와 사진을 확인하고 후속 조치를 선택할 수 있어야 합니다.
  4. 방문자 정보를 최소한으로 입력하고 저장할 수 있어야 합니다.

2. 시스템 구성

2.1 로봇 구성

사용 로봇은 터틀봇3 버거입니다.

주요 구성은 다음과 같습니다.

  1. 터틀봇3 버거 본체
  2. OpenCR 제어 보드
  3. 라즈베리파이 또는 로봇용 온보드 컴퓨터
  4. LDS 거리 센서
  5. 다이나믹셀 구동 모터
  6. 배터리
  7. 무선 네트워크 장치
  8. USB 카메라 또는 라즈베리파이 카메라
  9. ROS 2 실행 환경

2.2 원격 PC 구성

원격 PC는 다음 기능을 수행합니다.

  1. GUI 프로그램 실행
  2. 로봇 상태 데이터 수신
  3. 카메라 영상 표시
  4. 지도와 로봇 위치 표시
  5. 원격 주행 명령 전송
  6. 이상 이벤트 확인 및 처리
  7. 방문자 메모 저장
  8. 이벤트 로그 저장

2.3 통신 구성

터틀봇3와 원격 PC는 동일한 Wi-Fi 공유기 또는 로컬 네트워크에 연결합니다.

ROS 2 통신이 정상적으로 이루어지도록 두 장치의 ROS 도메인 ID를 동일하게 설정합니다.

예시 설정은 다음과 같습니다.

export ROS_DOMAIN_ID=30

원격 PC와 터틀봇3의 시간 차이로 인해 센서 데이터 또는 지도 데이터가 정상적으로 표시되지 않을 수 있으므로, 두 장치의 시스템 시간을 동기화합니다.

2.4 주요 ROS 2 데이터

GUI 프로그램에서 사용할 수 있는 주요 ROS 2 토픽은 다음과 같습니다.

구분ROS 2 토픽 예시용도
이동 명령/cmd_vel전진, 후진, 회전, 정지 명령
로봇 위치/odom로봇의 상대 위치와 방향
지도/mapSLAM 또는 내비게이션 지도
위치 추정/amcl_pose지도 기준 로봇 위치
거리 센서/scanLDS 장애물 거리 정보
카메라 영상/camera/image_raw실시간 카메라 영상
카메라 압축 영상/camera/image_raw/compressed네트워크용 압축 영상
배터리 상태/battery_state배터리 전압 및 잔량
상태 진단/diagnostics센서, 모터, 시스템 상태
TF 정보/tf, /tf_static좌표계 변환
내비게이션 상태액션 또는 사용자 정의 토픽현재 임무 상태
이상 이벤트사용자 정의 토픽이상 감지 결과

실제 토픽 이름은 카메라 드라이버, 내비게이션 패키지, 배터리 상태 노드 구성에 따라 변경할 수 있습니다.

3. GUI 전체 구성

GUI는 다음 4개의 화면으로 구성합니다.

  1. 관리자 대시보드
  2. 원격 모니터링 및 제어
  3. 이상 이벤트 확인
  4. 방문자 메모

화면 전환은 GUI 상단 또는 좌측 메뉴를 이용합니다.

메인 메뉴 구성은 다음과 같습니다.

메뉴기능
대시보드전체 로봇 상태 확인
원격 제어카메라, 지도, 수동 주행 제어
이상 이벤트감지된 이상 이벤트 확인 및 처리
방문자 메모방문자 정보 및 전달 메시지 작성
종료GUI 프로그램 종료

모든 화면의 상단에는 다음 공통 정보를 표시합니다.

  1. 현재 날짜와 시각
  2. 로봇 연결 상태
  3. ROS 2 통신 상태
  4. 현재 운용 모드
  5. 비상정지 상태

4. 화면 1. 관리자 대시보드

4.1 화면 목적

관리자 대시보드는 터틀봇3의 전체 운용 상태를 한 화면에서 확인하기 위한 화면입니다.

관리자는 이 화면에서 로봇의 현재 운용 모드, 위치, 배터리, 네트워크, 카메라, 현재 임무 및 최근 이상 이벤트를 확인할 수 있습니다.

4.2 화면 구성

관리자 대시보드는 다음 영역으로 구성합니다.

  1. 운용 상태 영역
  2. 로봇 위치 영역
  3. 장치 연결 상태 영역
  4. 현재 임무 영역
  5. 최근 이상 이벤트 영역
  6. 비상정지 영역

4.3 표시 정보

4.3.1 현재 운용 모드

현재 로봇의 운용 모드를 표시합니다.

운용 모드는 다음과 같이 구분합니다.

운용 모드설명
대기로봇이 정지 상태로 명령을 기다림
자율주행지정된 경로 또는 목적지로 이동 중
원격제어사용자가 원격 PC에서 직접 조종 중
이상확인이상 이벤트 발생 위치를 확인 중
비상정지모든 이동 명령이 차단된 상태
연결끊김원격 PC와 로봇 간 통신이 끊어진 상태

표시 예시는 다음과 같습니다.

현재 운용 모드: 자율주행

운용 모드는 색상으로 구분합니다.

상태표시 색상
정상 또는 대기초록색
자율주행 또는 원격제어파란색
주의주황색
오류 또는 비상정지빨간색
연결끊김회색
4.3.2 로봇 상태

로봇의 현재 동작 상태를 표시합니다.

표시 항목은 다음과 같습니다.

  1. 이동 중
  2. 정지
  3. 회전 중
  4. 장애물 감지
  5. 모터 오류
  6. 센서 오류
  7. 비상정지
  8. 통신 대기

표시 예시는 다음과 같습니다.

로봇 상태: 이동 중
주행 속도: 0.12 m/s
회전 속도: 0.00 rad/s
4.3.3 현재 위치

로봇의 현재 위치를 표시합니다.

지도 기반 위치 추정 기능을 사용하는 경우 다음 정보를 표시합니다.

X 위치: 2.35 m
Y 위치: 1.42 m
방향: 90°

SLAM 또는 내비게이션 기능을 사용하지 않는 경우 /odom 데이터를 이용하여 출발 위치 기준의 상대 좌표를 표시합니다.

현재 위치 정보가 수신되지 않으면 다음과 같이 표시합니다.

현재 위치: 확인 불가
4.3.4 배터리 잔량

배터리 잔량을 백분율과 전압으로 표시합니다.

표시 예시는 다음과 같습니다.

배터리 잔량: 72%
배터리 전압: 11.5 V

배터리 상태는 다음 기준으로 표시합니다.

배터리 잔량상태
51~100%정상
21~50%주의
0~20%충전 필요

배터리 잔량이 20% 이하가 되면 경고 메시지를 표시합니다.

배터리 잔량이 부족합니다. 충전 위치로 이동하거나 로봇을 회수하십시오.

배터리 정보가 제공되지 않는 환경에서는 OpenCR 또는 별도의 배터리 상태 노드에서 전압 정보를 수집하도록 구성합니다.

4.3.5 네트워크 연결 상태

터틀봇3와 원격 PC 간 네트워크 연결 상태를 표시합니다.

표시 항목은 다음과 같습니다.

  1. 연결 여부
  2. 로봇 IP 주소
  3. 통신 지연 시간
  4. 마지막 데이터 수신 시각

표시 예시는 다음과 같습니다.

네트워크: 연결됨
로봇 IP: 192.168.0.30
통신 지연: 42 ms
마지막 수신: 14:32:18

일정 시간 동안 로봇 데이터가 수신되지 않으면 연결 끊김 상태로 처리합니다.

네트워크 연결이 끊어졌습니다.
로봇 상태를 확인하십시오.
4.3.6 카메라 연결 상태

카메라 영상 수신 여부를 표시합니다.

표시 상태는 다음과 같습니다.

상태설명
연결됨영상 데이터가 정상적으로 수신됨
지연영상 수신 주기가 기준보다 느림
연결끊김영상 데이터가 수신되지 않음
미설치카메라 장치가 구성되지 않음

표시 예시는 다음과 같습니다.

카메라: 연결됨
영상 크기: 640 × 480
수신 속도: 15 FPS
4.3.7 현재 임무

현재 실행 중인 임무를 표시합니다.

표시 항목은 다음과 같습니다.

  1. 임무 이름
  2. 시작 시각
  3. 현재 단계
  4. 목표 위치
  5. 진행률
  6. 임무 상태

표시 예시는 다음과 같습니다.

현재 임무: 1층 복도 순찰
현재 단계: 3번 순찰 지점으로 이동
목표 위치: 복도 B구역
진행률: 60%
임무 상태: 정상 수행 중

임무가 없는 경우 다음과 같이 표시합니다.

현재 임무: 없음
4.3.8 최근 이상 이벤트

최근 발생한 이상 이벤트를 최대 5건까지 표시합니다.

표시 항목은 다음과 같습니다.

  1. 이벤트 ID
  2. 감지 시각
  3. 감지 위치
  4. 이상 유형
  5. 처리 상태

표시 예시는 다음과 같습니다.

이벤트 ID감지 시각위치이상 유형상태
EV-001514:20:12복도 B사람 장시간 체류확인 필요
EV-001413:42:08출입문 A장애물 감지처리 완료
EV-001311:15:31로비미등록 방문자계속 감시

이벤트를 선택하면 이상 이벤트 확인 화면으로 이동합니다.

4.4 비상정지 버튼

비상정지 버튼은 화면에서 가장 눈에 잘 띄는 위치에 배치합니다.

버튼 표시 문구는 다음과 같습니다.

비상정지

비상정지 버튼을 누르면 다음 기능을 수행합니다.

  1. /cmd_vel에 정지 명령을 전송합니다.
  2. 선속도와 각속도를 모두 0으로 설정합니다.
  3. 자율주행 임무를 중지합니다.
  4. 원격 제어 입력을 차단합니다.
  5. 운용 모드를 비상정지로 변경합니다.
  6. 비상정지 발생 시각을 기록합니다.

비상정지 실행 전에는 확인 창을 표시합니다.

로봇을 비상정지하시겠습니까?

현재 이동과 자율주행 임무가 즉시 중지됩니다.

선택 버튼은 다음과 같습니다.

  1. 비상정지 실행
  2. 취소

비상정지 상태를 해제할 때도 별도의 확인 절차를 적용합니다.

주변 안전을 확인한 후 비상정지를 해제하십시오.

5. 화면 2. 원격 모니터링 및 제어

5.1 화면 목적

원격 모니터링 및 제어 화면은 관리자가 카메라 영상과 지도 정보를 확인하면서 터틀봇3를 직접 조종하기 위한 화면입니다.

원격 제어는 점검, 장애물 회피, 이상 현장 확인, 자율주행 실패 복구 등의 상황에서 사용합니다.

5.2 화면 구성

화면은 다음 영역으로 구성합니다.

  1. 실시간 카메라 영상 영역
  2. 지도 및 로봇 위치 영역
  3. 원격 주행 조작 영역
  4. 통신 상태 영역
  5. 운용 모드 전환 영역
  6. 안전 경고 영역

5.3 실시간 카메라 영상

카메라 영상은 화면의 좌측 또는 중앙에 크게 표시합니다.

표시 항목은 다음과 같습니다.

  1. 실시간 영상
  2. 카메라 연결 상태
  3. 영상 수신 속도
  4. 영상 수신 시각
  5. 화면 캡처 버튼

카메라 영상 위에는 다음 정보를 중첩하여 표시할 수 있습니다.

로봇: TurtleBot3 Burger
운용 모드: 원격제어
통신 지연: 48 ms
배터리: 68%

영상이 수신되지 않는 경우 다음 메시지를 표시합니다.

카메라 영상을 수신할 수 없습니다.

카메라 장치와 ROS 2 영상 토픽을 확인하십시오.

5.4 지도와 로봇 위치

지도 영역에는 /map 데이터를 표시하고, 현재 로봇 위치를 아이콘 또는 화살표로 표시합니다.

표시 항목은 다음과 같습니다.

  1. 지도
  2. 로봇 현재 위치
  3. 로봇 진행 방향
  4. 이동 경로
  5. 목표 위치
  6. 장애물 위치
  7. 이상 이벤트 발생 위치

로봇 위치 아이콘은 진행 방향을 확인할 수 있도록 화살표 형태로 표시합니다.

지도 데이터를 사용할 수 없는 경우 /odom 좌표를 이용하여 간단한 이동 경로를 표시합니다.

5.5 주행 조작 버튼

주행 조작 버튼은 다음과 같이 구성합니다.

          전진

좌회전     정지     우회전

          후진

각 버튼의 기능은 다음과 같습니다.

버튼동작
전진양의 선속도 명령 전송
후진음의 선속도 명령 전송
좌회전양의 각속도 명령 전송
우회전음의 각속도 명령 전송
정지선속도와 각속도를 즉시 0으로 설정

터틀봇3 버거의 실내 안전 운용을 위해 초기 속도는 낮게 설정합니다.

권장 초기값은 다음과 같습니다.

구분초기값
전진 속도0.10 m/s
후진 속도-0.08 m/s
좌회전 속도0.50 rad/s
우회전 속도-0.50 rad/s

속도 조절 기능을 추가하는 경우 슬라이더를 이용합니다.

주행 속도: 0.10 m/s
회전 속도: 0.50 rad/s

최대 속도는 실습 장소와 안전 조건을 고려하여 제한합니다.

5.6 버튼 입력 방식

전진, 후진, 좌회전, 우회전 버튼은 누르고 있는 동안만 이동 명령이 전송되도록 구성하는 것이 좋습니다.

버튼에서 손을 떼면 즉시 정지 명령을 전송합니다.

키보드 조작을 추가할 경우 다음 키를 사용할 수 있습니다.

동작
W 또는 ↑전진
S 또는 ↓후진
A 또는 ←좌회전
D 또는 →우회전
Space정지

GUI 창이 비활성화되거나 키 입력이 끊기면 자동으로 정지 명령을 전송해야 합니다.

5.7 원격 제어 시작

원격 제어 시작 버튼을 누르면 자율주행 임무를 중지하고 원격 조작 모드로 전환합니다.

버튼 표시 문구는 다음과 같습니다.

원격 제어 시작

원격 제어를 시작하기 전에 다음 경고 창을 표시합니다.

원격 제어를 시작하면 현재 자율주행 임무가 중지됩니다.

주변 상황과 카메라 영상을 확인한 후 원격 제어를 시작하십시오.

선택 버튼은 다음과 같습니다.

  1. 원격 제어 시작
  2. 취소

원격 제어가 시작되면 다음 기능을 수행합니다.

  1. 현재 자율주행 목표를 취소합니다.
  2. 로봇에 정지 명령을 전송합니다.
  3. 운용 모드를 원격제어로 변경합니다.
  4. 주행 조작 버튼을 활성화합니다.
  5. 원격 제어 시작 시각을 기록합니다.
  6. 원격 제어 사용자 정보를 기록합니다.

5.8 원격 제어 종료

원격 제어 종료 버튼의 표시 문구는 다음과 같습니다.

원격 제어 종료

원격 제어 종료 시 다음 기능을 수행합니다.

  1. 로봇에 정지 명령을 전송합니다.
  2. 주행 조작 버튼을 비활성화합니다.
  3. 운용 모드를 대기로 변경합니다.
  4. 원격 제어 종료 시각을 기록합니다.
  5. 기존 임무의 재시작 여부를 확인합니다.

종료 확인 창은 다음과 같이 표시합니다.

원격 제어를 종료하시겠습니까?

로봇이 정지 상태로 전환됩니다.

자율주행 임무를 자동으로 재개하지 않고 관리자가 직접 선택하도록 구성합니다.

중지된 자율주행 임무를 다시 시작하시겠습니까?

선택 버튼은 다음과 같습니다.

  1. 임무 재시작
  2. 대기 상태 유지

5.9 통신 지연 표시

통신 지연 시간은 밀리초 단위로 표시합니다.

통신 지연: 45 ms

통신 상태는 다음 기준으로 구분합니다.

통신 지연상태
0~100 ms정상
101~300 ms주의
301 ms 이상위험
데이터 미수신연결 끊김

통신 지연이 300ms 이상이면 다음 경고를 표시합니다.

통신 지연이 높습니다.

로봇이 조작 명령에 늦게 반응할 수 있습니다.
저속으로 조작하거나 네트워크 상태를 확인하십시오.

통신이 끊어지면 다음 동작을 수행합니다.

  1. 이동 명령 전송을 중지합니다.
  2. 마지막 명령을 유지하지 않습니다.
  3. 로봇에 정지 명령을 반복 전송합니다.
  4. 조작 버튼을 비활성화합니다.
  5. 연결 끊김 경고를 표시합니다.

5.10 장애물 안전 처리

원격 제어 중에도 LDS 센서의 /scan 데이터를 이용하여 전방 장애물을 감시합니다.

전방 일정 거리 이내에 장애물이 감지되면 다음 기능을 적용합니다.

  1. 전진 속도를 제한합니다.
  2. 전진 버튼을 비활성화합니다.
  3. 경고음을 출력합니다.
  4. 장애물 거리를 화면에 표시합니다.

표시 예시는 다음과 같습니다.

전방 장애물 감지
거리: 0.24 m

후진 또는 회전 가능 여부는 주변 센서 정보와 프로젝트 구현 범위에 따라 결정합니다.

6. 화면 3. 이상 이벤트 확인

6.1 화면 목적

이상 이벤트 확인 화면은 로봇 또는 외부 감지 프로그램에서 생성한 이상 이벤트를 관리자가 확인하고 처리하기 위한 화면입니다.

이상 이벤트는 사람 감지, 장시간 체류, 출입 금지 구역 진입, 장애물 발생, 문 열림, 쓰러짐 의심, 화재 또는 연기 의심 등의 형태로 구성할 수 있습니다.

6.2 화면 구성

화면은 다음 영역으로 구성합니다.

  1. 이벤트 기본 정보
  2. 감지 위치 정보
  3. 현장 사진
  4. 이벤트 처리 버튼
  5. 관리자 의견 입력
  6. 처리 이력

6.3 이벤트 기본 정보

이벤트 기본 정보에는 다음 항목을 표시합니다.

항목설명
이벤트 ID이벤트를 구분하는 고유 번호
감지 시각이벤트가 처음 감지된 시각
감지 위치지도 또는 구역 기준 위치
이상 유형감지된 이상 상황의 종류
감지 신뢰도감지 프로그램의 판단 확률
처리 상태미확인, 확인 중, 처리 완료 등
로봇 상태감지 당시 로봇의 운용 상태

표시 예시는 다음과 같습니다.

이벤트 ID: EV-0015
감지 시각: 2026-07-18 14:20:12
감지 위치: 복도 B구역
이상 유형: 사람 장시간 체류
감지 신뢰도: 87%
처리 상태: 확인 필요

6.4 감지 위치

감지 위치는 다음 두 가지 방식으로 표시합니다.

  1. 텍스트 구역명
  2. 지도 좌표

표시 예시는 다음과 같습니다.

구역명: 복도 B구역
X 위치: 3.42 m
Y 위치: 1.85 m

지도 화면에는 이벤트 발생 위치를 경고 아이콘으로 표시합니다.

6.5 이상 유형

프로젝트에서 사용할 수 있는 이상 유형의 예시는 다음과 같습니다.

이상 유형설명
사람 감지지정 구역에서 사람이 감지됨
장시간 체류일정 시간 이상 같은 위치에 머무름
출입 금지 구역 진입제한 구역에 사람 또는 물체가 진입함
장애물 발생기존 지도에 없던 장애물이 감지됨
통로 차단로봇 이동 경로가 물체로 막힘
미등록 방문자등록되지 않은 방문자가 감지됨
쓰러짐 의심사람이 바닥에 쓰러진 것으로 추정됨
연기 의심영상에서 연기와 유사한 현상이 감지됨
로봇 이상모터, 센서, 배터리 또는 통신 오류 발생

4주 프로젝트에서는 모든 이상 유형을 구현하지 않고 2~3개 항목을 선택하여 구현할 수 있습니다.

6.6 감지 신뢰도

감지 신뢰도는 백분율로 표시합니다.

감지 신뢰도: 87%

신뢰도에 따른 표시 기준은 다음과 같습니다.

신뢰도표시
90% 이상높은 신뢰도
70~89%확인 필요
70% 미만낮은 신뢰도

감지 신뢰도는 참고 정보이며, 최종 판단은 관리자가 수행합니다.

6.7 현장 사진

현장 사진 영역에는 이벤트 발생 시점의 카메라 이미지를 표시합니다.

표시 항목은 다음과 같습니다.

  1. 감지 당시 사진
  2. 촬영 시각
  3. 확대 보기
  4. 원본 이미지 저장
  5. 현재 실시간 영상 보기

현장 사진이 없는 경우 다음과 같이 표시합니다.

저장된 현장 사진이 없습니다.
실시간 카메라 영상을 확인하십시오.

6.8 정상 버튼

정상 버튼은 감지 결과가 정상 상황이거나 오감지인 경우 사용합니다.

버튼 표시 문구는 다음과 같습니다.

정상

정상 버튼을 누르면 다음 기능을 수행합니다.

  1. 이벤트 상태를 정상 또는 오감지로 변경합니다.
  2. 처리 시각을 기록합니다.
  3. 관리자 의견을 함께 저장합니다.
  4. 이벤트를 처리 완료 목록으로 이동합니다.

확인 창은 다음과 같이 표시합니다.

이 이벤트를 정상 상황으로 처리하시겠습니까?

6.9 재확인 버튼

재확인 버튼은 감지 결과가 불명확하여 추가 분석이 필요한 경우 사용합니다.

버튼 표시 문구는 다음과 같습니다.

재확인

재확인 버튼을 누르면 다음 기능을 수행합니다.

  1. 최신 카메라 이미지를 다시 수신합니다.
  2. 이상 감지 알고리즘을 다시 실행합니다.
  3. 감지 신뢰도를 갱신합니다.
  4. 재확인 횟수와 시각을 기록합니다.

6.10 계속 감시 버튼

계속 감시 버튼은 즉시 조치할 필요는 없지만 상황을 지속적으로 확인해야 하는 경우 사용합니다.

버튼 표시 문구는 다음과 같습니다.

계속 감시

버튼을 누르면 다음 기능을 수행합니다.

  1. 이벤트 상태를 계속 감시로 변경합니다.
  2. 로봇을 현재 위치에 대기시킵니다.
  3. 일정 시간마다 현장 사진을 갱신합니다.
  4. 상황 변화가 발생하면 새로운 알림을 표시합니다.

6.11 경고 방송 버튼

경고 방송 버튼은 로봇에 스피커가 연결된 경우 현장에 안내 메시지를 출력하기 위해 사용합니다.

버튼 표시 문구는 다음과 같습니다.

경고 방송

방송 문구의 예시는 다음과 같습니다.

안내 말씀드립니다.
현재 구역은 출입이 제한된 구역입니다.
지정된 장소로 이동해 주십시오.

스피커가 없는 실습 환경에서는 GUI에서 경고 방송 실행 기록만 남기거나 원격 PC에서 음성을 출력하도록 구성할 수 있습니다.

6.12 원격 제어 버튼

원격 제어 버튼은 이상 현장을 직접 확인하기 위해 원격 모니터링 및 제어 화면으로 이동할 때 사용합니다.

버튼 표시 문구는 다음과 같습니다.

원격 제어

버튼을 누르면 다음 경고를 표시합니다.

원격 제어를 시작하면 현재 자율주행 임무가 중지됩니다.

이상 현장 확인을 위해 원격 제어 화면으로 이동하시겠습니까?

원격 제어 화면으로 이동한 후에도 현재 이벤트 ID를 화면에 표시합니다.

확인 중인 이벤트: EV-0015

6.13 담당자 호출 버튼

담당자 호출 버튼은 이상 상황을 현장 담당자에게 전달하기 위해 사용합니다.

버튼 표시 문구는 다음과 같습니다.

담당자 호출

4주 프로젝트에서는 실제 전화 기능 대신 다음 방식으로 구현할 수 있습니다.

  1. 담당자 호출 상태를 데이터베이스에 저장
  2. 담당자에게 보낼 메시지 생성
  3. GUI에 호출 요청 완료 표시
  4. 호출 시각과 이벤트 ID 기록

표시 예시는 다음과 같습니다.

담당자 호출 요청이 등록되었습니다.
담당자: 시설관리 담당자
요청 시각: 14:24:18

6.14 관리자 의견 입력

관리자는 이벤트 처리 내용과 판단 근거를 입력할 수 있습니다.

입력 예시는 다음과 같습니다.

현장 영상 확인 결과 시설 점검 직원으로 확인됨.
출입 승인 여부를 담당자에게 확인함.

관리자 의견은 다음 정보와 함께 저장합니다.

  1. 이벤트 ID
  2. 관리자 의견
  3. 작성 시각
  4. 처리 결과
  5. 원격 제어 실행 여부
  6. 담당자 호출 여부

관리자 의견이 필요한 처리 버튼을 선택했으나 의견이 입력되지 않은 경우 다음 안내를 표시합니다.

처리 내용을 기록하기 위해 관리자 의견을 입력하십시오.

7. 화면 4. 방문자 메모

7.1 화면 목적

방문자 메모 화면은 로봇이 방문자 안내 역할을 수행하거나 관리자가 방문자의 전달 사항을 기록하기 위한 화면입니다.

개인정보는 실습 목적과 방문 전달에 필요한 최소 범위만 수집합니다.

7.2 화면 구성

입력 항목은 다음과 같습니다.

  1. 방문자 이름
  2. 소속
  3. 연락처
  4. 방문 대상자
  5. 방문 목적
  6. 전달 메시지
  7. 개인정보 수집 동의
  8. 저장 버튼
  9. 취소 버튼

7.3 방문자 이름

방문자의 이름을 입력합니다.

입력 예시는 다음과 같습니다.

홍길동

필수 입력 항목으로 설정합니다.

입력되지 않은 경우 다음 메시지를 표시합니다.

방문자 이름을 입력하십시오.

7.4 소속

방문자의 회사, 기관 또는 단체명을 입력합니다.

입력 예시는 다음과 같습니다.

휴머노이드시스템

소속이 없는 방문자는 다음과 같이 입력할 수 있습니다.

개인 방문

7.5 연락처

방문자의 연락처를 입력합니다.

입력 예시는 다음과 같습니다.

010-1234-5678

연락처는 방문 대상자가 방문자에게 연락해야 하는 경우에만 수집합니다.

프로젝트 실습에서는 실제 개인정보 대신 가상 데이터를 사용하도록 안내합니다.

연락처 입력 형식이 올바르지 않으면 다음 메시지를 표시합니다.

연락처 형식을 확인하십시오.
예시: 010-1234-5678

7.6 방문 대상자

방문자가 만나려는 사람 또는 부서를 입력합니다.

입력 예시는 다음과 같습니다.

로봇개발팀 김담당

방문 대상자를 선택 목록으로 구성할 경우 다음과 같이 작성할 수 있습니다.

  1. 로봇개발팀
  2. 시설관리팀
  3. 교육담당자
  4. 행정담당자
  5. 기타

7.7 방문 목적

방문 목적을 선택하거나 직접 입력합니다.

선택 항목의 예시는 다음과 같습니다.

  1. 업무 미팅
  2. 장비 전달
  3. 교육 참석
  4. 시설 점검
  5. 제품 상담
  6. 기타

기타를 선택한 경우 직접 입력란을 활성화합니다.

7.8 전달 메시지

방문 대상자에게 전달할 메시지를 입력합니다.

입력 예시는 다음과 같습니다.

오후 3시 장비 시연 일정으로 방문했습니다.
도착 사실을 담당자에게 전달해 주세요.

전달 메시지는 최대 글자 수를 제한할 수 있습니다.

권장 최대 길이는 300자입니다.

7.9 개인정보 수집 동의

저장 버튼을 누르기 전에 개인정보 수집 동의를 확인합니다.

동의 문구는 다음과 같이 작성합니다.

방문 안내 및 메시지 전달을 위해 이름, 소속, 연락처 정보를 수집하는 것에 동의합니다.

수집된 정보는 실습 및 방문 안내 목적으로만 사용되며, 정해진 보관 기간 이후 삭제됩니다.

선택 항목은 다음과 같습니다.

개인정보 수집 및 이용에 동의합니다.

동의하지 않은 경우 개인정보가 포함된 방문자 메모를 저장하지 않습니다.

실습 프로젝트에서는 실제 개인정보를 저장하지 않고 가상의 방문자 정보를 사용하는 것을 원칙으로 합니다.

7.10 저장 버튼

저장 버튼의 표시 문구는 다음과 같습니다.

저장

저장 버튼을 누르면 다음 항목을 확인합니다.

  1. 방문자 이름 입력 여부
  2. 방문 대상자 입력 여부
  3. 전달 메시지 입력 여부
  4. 개인정보 수집 동의 여부
  5. 연락처 입력 형식

입력 내용에 문제가 없으면 다음 메시지를 표시합니다.

방문자 메모가 저장되었습니다.

방문 대상자에게 전달할 준비가 완료되었습니다.

저장 정보는 다음과 같습니다.

  1. 메모 ID
  2. 방문자 이름
  3. 소속
  4. 연락처
  5. 방문 대상자
  6. 방문 목적
  7. 전달 메시지
  8. 작성 시각
  9. 전달 상태

7.11 취소 버튼

취소 버튼의 표시 문구는 다음과 같습니다.

취소

입력 내용이 있는 상태에서 취소 버튼을 누르면 다음 확인 창을 표시합니다.

작성 중인 내용을 취소하시겠습니까?

저장하지 않은 내용은 삭제됩니다.

선택 버튼은 다음과 같습니다.

  1. 작성 취소
  2. 계속 작성

8. 화면 이동 흐름

GUI의 기본 화면 이동 흐름은 다음과 같습니다.

프로그램 시작
→ ROS 2 연결 확인
→ 관리자 대시보드 표시
→ 로봇 상태 확인

원격 제어 흐름은 다음과 같습니다.

관리자 대시보드
→ 원격 모니터링 및 제어
→ 카메라와 지도 확인
→ 원격 제어 시작
→ 자율주행 임무 중지
→ 수동 주행
→ 원격 제어 종료
→ 대기 또는 임무 재시작

이상 이벤트 처리 흐름은 다음과 같습니다.

이상 이벤트 발생
→ 관리자 대시보드에 알림 표시
→ 이상 이벤트 확인 화면 이동
→ 현장 사진과 위치 확인
→ 정상, 재확인, 계속 감시 또는 담당자 호출 선택
→ 관리자 의견 작성
→ 처리 결과 저장

방문자 메모 작성 흐름은 다음과 같습니다.

방문자 메모 화면 이동
→ 방문자 정보 입력
→ 전달 메시지 입력
→ 개인정보 수집 동의
→ 저장
→ 방문 메모 등록 완료

9. 상태 및 경고 메시지

GUI에서 사용하는 주요 상태 메시지는 다음과 같습니다.

9.1 정상 상태

로봇이 정상적으로 연결되었습니다.
카메라 영상이 정상적으로 수신되고 있습니다.
자율주행 임무를 수행 중입니다.
원격 제어가 시작되었습니다.
로봇이 정지되었습니다.

9.2 주의 상태

배터리 잔량이 낮습니다.
통신 지연이 증가하고 있습니다.
카메라 영상 수신이 지연되고 있습니다.
전방에 장애물이 감지되었습니다.

9.3 오류 상태

로봇과의 연결이 끊어졌습니다.
카메라 영상을 수신할 수 없습니다.
로봇 위치 정보를 확인할 수 없습니다.
이동 명령 전송에 실패했습니다.
자율주행 임무를 중지하지 못했습니다.

9.4 비상 상태

비상정지가 실행되었습니다.

주변 안전을 확인하고 로봇 상태를 점검하십시오.

10. 데이터 저장 항목

GUI 프로그램은 다음 데이터를 저장합니다.

10.1 로봇 운용 기록

  1. 로봇 운용 모드 변경 시각
  2. 자율주행 시작 및 종료 시각
  3. 원격 제어 시작 및 종료 시각
  4. 비상정지 실행 및 해제 시각
  5. 네트워크 연결 및 끊김 시각
  6. 배터리 경고 발생 시각

10.2 이상 이벤트 기록

  1. 이벤트 ID
  2. 감지 시각
  3. 감지 위치
  4. 이상 유형
  5. 감지 신뢰도
  6. 현장 사진 경로
  7. 처리 상태
  8. 관리자 의견
  9. 담당자 호출 여부
  10. 처리 완료 시각

10.3 방문자 메모 기록

  1. 메모 ID
  2. 방문자 이름
  3. 소속
  4. 연락처
  5. 방문 대상자
  6. 방문 목적
  7. 전달 메시지
  8. 작성 시각
  9. 전달 상태
  10. 삭제 예정 시각

프로젝트에서는 SQLite 또는 JSON 파일을 이용하여 데이터를 저장할 수 있습니다.

11. 안전 요구사항

11.1 정지 명령 우선 처리

정지 명령은 모든 이동 명령보다 우선 처리해야 합니다.

비상정지, 통신 끊김, GUI 종료, 원격 제어 종료 상황에서는 반드시 선속도와 각속도가 0인 /cmd_vel 메시지를 전송합니다.

11.2 통신 끊김 안전 처리

통신이 끊긴 상태에서 로봇이 마지막 이동 명령을 계속 수행하지 않도록 구성합니다.

원격 제어 노드는 일정 시간 동안 새로운 명령이 수신되지 않으면 자동으로 정지해야 합니다.

권장 명령 제한 시간은 0.5초입니다.

11.3 속도 제한

실내 실습 환경에서는 터틀봇3의 속도를 낮게 제한합니다.

권장 최대값은 다음과 같습니다.

구분권장 최대값
선속도0.18 m/s
각속도0.8 rad/s

11.4 장애물 감지

원격 제어 중에도 LDS 센서를 활성화하여 전방 장애물과의 충돌을 방지합니다.

장애물 감지 거리는 실습 환경에 따라 설정하며, 초기 기준은 0.3m로 설정할 수 있습니다.

11.5 운용 모드 중복 방지

자율주행과 원격 제어가 동시에 로봇의 /cmd_vel을 제어하지 않도록 해야 합니다.

운용 모드는 다음 중 하나만 활성화합니다.

  1. 대기
  2. 자율주행
  3. 원격제어
  4. 비상정지

11.6 GUI 종료 처리

원격 제어 중 GUI 프로그램이 종료되면 다음 기능을 수행합니다.

  1. 로봇 정지 명령 전송
  2. 원격 제어 모드 해제
  3. 종료 시각 저장
  4. 비정상 종료 로그 기록

12. 개인정보 처리 기준

방문자 메모 기능은 실습에 필요한 최소한의 정보만 수집합니다.

수집 대상은 다음과 같습니다.

  1. 방문자 이름
  2. 소속
  3. 연락처
  4. 방문 대상자
  5. 방문 목적
  6. 전달 메시지

주민등록번호, 상세 주소, 계좌번호, 신분증 사본과 같이 방문 안내에 필요하지 않은 정보는 수집하지 않습니다.

실습 시에는 실제 개인정보 대신 다음과 같은 가상 정보를 사용합니다.

방문자 이름: 홍길동
소속: 테스트기업
연락처: 010-0000-0000
방문 대상자: 로봇개발팀 김담당

저장된 방문자 정보에는 접근 권한을 적용하고, 실습 종료 후 삭제합니다.

13. 화면 배치 예시

13.1 관리자 대시보드

13.2 원격 모니터링 및 제어

13.3 이상 이벤트 확인

13.4 방문자 메모

13.5 설정

14. 구현 범위

프로젝트에서는 다음 기능을 우선 구현합니다.

  1. 터틀봇3와 원격 PC의 ROS 2 통신
  2. /cmd_vel을 이용한 원격 이동
  3. /odom을 이용한 현재 위치 표시
  4. /scan을 이용한 장애물 경고
  5. 카메라 영상 표시
  6. 로봇 연결 상태 표시
  7. 배터리 또는 전압 정보 표시
  8. 이상 이벤트 목록과 상세 화면
  9. 방문자 메모 저장
  10. 비상정지 기능

다음 기능은 선택 기능으로 구현합니다.

  1. SLAM 지도 표시
  2. Navigation2 자율주행 임무 연동
  3. AI 기반 사람 또는 이상 행동 감지
  4. 경고 음성 방송
  5. 담당자 메시지 전송
  6. 데이터베이스 연동
  7. 사용자 로그인 및 권한 관리

작성 파일 견본 :

Leave a Comment