Korean Institute of Information Technology

Current Issue

The Journal of Korean Institute of Information Technology - Vol. 22 , No. 6

[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 21, No. 8, pp. 19-25
Abbreviation: Journal of KIIT
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 31 Aug 2023
Received 24 May 2023 Revised 14 Jun 2023 Accepted 17 Jun 2023
DOI: https://doi.org/10.14801/jkiit.2023.21.8.19

자율주행 및 객체 탐지 기반의 실내 보안 로봇 시스템 설계
우은상* ; 김태현** ; 이동현***
*(주)시스콘 Software 1팀 연구원
**금오공과대학교 전자공학부 학사
***금오공과대학교 IT융복합공학과 부교수(교신저자)

Design of an Indoor Security Robot System based on Autonomous Navigation and Object Detection
Eun Sang Woo* ; Tae-Hyun Kim** ; Dong-Hyun Lee***
Correspondence to : Dong-Hyun Lee Dept. of IT Convergence Engineering, Kumoh National Institute of Technology Tel.: +82-54-478-7474, Email: donglee@kumoh.ac.kr

Funding Information ▼

초록

본 논문은 실내 환경에서 보안 임무를 수행하기 위한 로봇 시스템을 제안한다. 제안된 시스템은 차동 구동식 이동 로봇 플랫폼, LiDAR 센서, 그리고 카메라로 구성된다. LiDAR는 지도 생성, 위치 추정, 장애물 회피에 활용되며, 카메라는 사람 객체 탐지와 QR code 인식에 사용된다. 사람 객체 탐지는 YOLOv4 객체 탐지 프로그램을 통해 수행되며, 이를 정확도 향상을 위해 개선하였다. 시스템은 로봇 운영 시스템인 로봇 운영 체제인 ROS 2를 사용하여 구현되었다. 지정된 실내 영역에서 자율적으로 보안 임무를 수행하기 위해 시스템은 지도를 생성하고 자율주행을 위한 경유지를 설정한다. 제안한 시스템은 이동 중에 사람 감지 시 음성 기반 QR code 확인을 요청하여 사용자를 식별한다. 제안된 시스템은 실제 실험을 통하여 효용성을 검증하였다.

Abstract

In this paper, we propose a robotic system for performing security missions in indoor environments. The proposed system consists of a differential-drive mobile robot platform, a LiDAR, and a camera. The LiDAR is used for map generation, localization, and obstacle avoidance, while the camera is used for human detection and QR code recognition. Human detection is performed using the YOLOv4 object detection algorithm and we have refined this process to improve accuracy. The system is implemented using the Robot Operating System (ROS) 2. To autonomously perform security missions in designated indoor areas, the system generates a map and sets waypoints for autonomous driving. The proposed system requests QR code checks to detected humans by voice to identify users. We have demonstrated the effectiveness of the proposed system through real experiments.


Keywords: autonomous driving, mobile robot, security robot system

Ⅰ. 서 론

최근 실내 무인 이동체에 대한 관심이 높아지면서 해당 시스템의 개발 및 연구의 중요성이 부각되고 있다[1]. 자율주행 로봇은 시간의 제약이 없으며 일관된 성능을 제공하는 장점을 갖고 있다. 이러한 이점으로 인해 로봇은 실내 보안, 서비스, 소독 등 다양한 분야에 활발히 적용되고 있으며, 이를 위한 실내 자율주행 관련 연구가 활발히 진행되고 있다[2]. 기존의 보안 시스템은 야간 경비원이 직접 보안을 유지하는 유인 시스템으로, 야간 업무로 인한 피로로 인해 업무 능력이 저하되고, 이에 따라 실내 보안의 취약점이 발생할 수 있다. 이러한 단점을 보완하기 위해 실내 자율주행 로봇을 활용한 보안 시스템에 대한 관심이 증가하고 있다[3][4]. 특히 객체 인식을 통한 보안 로봇의 연구가 매우 활발하게 진행되고 있다[5].

본 논문에서는 YOLOv4 객체 인식 알고리즘과 ROS(Robot Operating System) 2를 활용하여 실내 보안 로봇 시스템을 구축한다[6]. YOLOv4를 통해 사람 객체 인식의 높은 정확성을 달성하고, 이를 바탕으로 안정적인 임무 수행을 위한 객체 인식 조건을 추가하였다. 또한, 보안 임무를 수행하는 실내 공간의 지도를 생성하고, 자율주행 알고리즘을 사용하여 보안 임무 영역을 이동한다. 이동 중에 사람 객체를 감지하고 음성으로 QR code 제시를 요청함으로써 등록된 사용자를 판별하고, 침입자로 판단되면 메시지를 통해 관리자에게 알림을 전송한다.

본 연구에서는 Gazebo 시뮬레이터를 사용하여 알고리즘적인 검증을 수행하고, 실제 로봇 시스템에서는 Jetson Xavier NX와 같은 SBC(Single Board Computer)를 활용한다. 로봇 제어는 SSH(Secure Shell) 원격 접속 및 통신을 통해 수행하며, ROS 2를 활용하여 각 알고리즘에 대응하는 노드를 실행하고 메시지 토픽을 통해 노드 간에 메시지를 주고받는다. 로봇은 Nav2 패키지를 이용하여 자율주행을 하며, 영상에서 사람 객체 인식을 위해 YOLOv4와 같은 딥 러닝 기반 알고리즘을 사용한다. 따라서, 본 연구에서는 안정적인 임무 수행을 위해 사람 객체 인식의 높은 정확성과 추가된 객체 인식 조건을 가진 실내 보안 로봇 시스템을 제안하며, 이는 실내 보안 분야에서의 차별화된 사람 인식 솔루션으로 기대된다.


Ⅱ. 시스템 설계
2.1 로봇 환경 구성

본 연구에서 로봇의 운용을 위하여 ROS 2를 활용한다. ROS 2는 기존 ROS의 후속 버전으로 로보틱스 분야에서 널리 사용되는 open source 시스템으로 로봇의 자율주행, 모델링, 로봇 머니퓰레이터, 시뮬레이션 등 여러 분야의 로봇 개발에 사용된다. 본 연구에서 사용된 모바일 로봇은 차동 구동형 로봇으로 실내 구조에 대한 지도 생성, 위치 인식 및 장애물 감지를 위한 LiDAR 센서, 자세 추정을 위한 IMU 센서, 모터 드라이브와 이를 실행, 제어하는 SBC인 Jetson Xavier NX를 포함한다.

2.2 패키지 구성 및 통신

로봇에서 수행되는 노드들은 영상처리를 통한 사람 객체 탐지 및 QR code 인식, 로봇의 위치 추정, 로컬 플래닝, 글로벌 플래닝, 모터 드라이버 제어와 관련된 알고리즘을 수행한다. 특히 자율주행 알고리즘은 Nav2 패키지를 기반으로 하고 있으며 위치추정을 위해 AMCL 알고리즘[9]을 사용하였다.

Local Planner로는 DWA(Dynamic Window Approach)[10] 에 기반한 DWB 알고리즘 및 글로벌 플래너로 A* 알고리즘을 사용하였다. 각 패키지의 노드들은 토픽 기반의 메시지를 기반으로 publish/subscribe를 통하여 데이터전송을 수행한다.

그림 1은 PC 및 SBC에서 실행되는 노드들과 노드 간의 토픽을 통해 송수신되는 구성도를 보여준다. 경유지 노드는 보안 임무를 수행하기 위해 로봇이 이동하는 경로상에서 코너나 교차점과 같은 특징적인 지점을 지정하고 지점별 순차적인 이동을 위한 목적지를 제공하는 노드이다. Navigation2 노드는 로봇의 위치 추정, 주어진 목표지점에 도달하기 위한 글로벌 플래닝, 로컬 플래닝을 수행한다.


Fig. 1. 
Integrated robot/local system diagram

Camera 노드는 YOLOv4를 기반으로 영상에서 사용자를 인지하기 위한 노드인 Human_Detect와 사용자의 신원 확인을 위한 QR code를 확인하는 QR_CODE_Access 노드로 구성된다. 우선 Human_Detection 노드가 사람 객체를 인식하면 순차적으로 QR_CODE_Access 노드가 실행되어 사용자에게 QR code 제시를 요구하고 일정 시간 동안 대기한다. 이를 위하여 Camera 노드는 토픽을 통하여 Security_Control 노드에게 일정 시간 정지해 있을 것을 요청한다. Security_Control 노드는 Camera 노드로부터 정지 명령을 수신받을 경우 Navigation2의 속도 명령 대신 로봇을 정지시키는 속도 명령을 publish 한다. Robot_Motor 노드는 Security_Control이 publish 하는 속도 명령을 수신하여 로봇의 바퀴 속도를 제어한다. 만약 탐지된 사람 객체가 일정 시간 동안 QR code를 제시하지 않거나 등록되지 않은 QR code를 제시할 경우 로봇은 관리자에게 침입자가 발생했다는 메시지를 전송한다. 만약 등록된 QR code를 제시한다면 로봇은 경유지 노드가 기존에 출력하였던 좌표 위치로 이동함과 동시에 지속적으로 사람 객체의 유무를 판별한다.

2.3 사람 객체 인식

사람 객체의 탐지는 YOLOv4-tiny를 사용하였으며, 사람 객체의 거리 측정은 참조 이미지에 대한 데이터를 활용하여 계산함으로써 이루어진다. 참조 이미지에 대한 데이터로는 이미지의 대상과 카메라의 거리, 실제 사람 객체의 너비 등을 바탕으로 카메라의 이미지 픽셀 크기를 계산해 거리를 측정한다. 일정 거리 내에서 감지되면 로봇은 정지하고 보안 인증을 요청한다. 보안 인증이 완료되면, 로봇은 5초 뒤 경유지 이동을 다시 수행한다. 객체 인식은 RGB에서 사람의 감지에 따라 지속적으로 감지되어 특정 거리는 정의를 내려 5m 거리 내에서 감지되면 로봇은 정지되고 보안 인증을 수행한다. 보안 인증이 완료되면, 로봇은 5초 뒤 경유지 이동을 다시 수행한다. 그림 2는 보안 이동 수행 및 사람 객체 포착 후 캡처된 모습이다. 사람 객체 인식과 해당 객체의 거리가 같이 표시된다.


Fig. 2. 
Screen capture of person detection

2.4 로봇 시스템

그림 3은 자율주행 로봇의 하드웨어 구성 모습이다. 로봇의 프레임 내부에 SBC인 Jetson Xavier NX가 장착되어있고 12V 배터리를 통해 전원을 공급받는다. 또한, Jetson Xavier NX는 기본 WiFi 모듈이 장착되어 있으며, 송수신 거리의 확장을 위해 안테나를 설치하였다. 실내 주변의 360도 거리 측정을 위하여 LiDAR 센서를 사용하였고, 로봇의 가속도 및 각속도를 측정하기 관성센서를 사용하였다. 모터 드라이버는 두 바퀴의 속도 제어를 수행한다. 각종 센서와 모터 드라이버는 USB to Serial 케이블을 통해 Jetson Xavier NX와 연결되어 시리얼(Serial) 통신이 이루어지게 된다.


Fig. 3. 
Autonomous robot hardware block diagram

카메라는 Depth 센서를 사용하여 3D 객체를 인식하는 것이 아닌 객체 인식 프로그램인 YOLO를 활용하는 것이므로 일반적인 RGB 카메라를 로봇의 최상부에 부착하였다.

보안 임무 수행을 위한 실제 로봇 시스템에서는 하드웨어적 한계에 따라 SBC와 노트북(Local PC)에서 개별적으로 노드들이 수행되며 이는 SSH 연결을 통해 서로 같은 환경에서 통신한다. Local PC의 연산 능력이 SBC보다 우수하여 영상처리 및 자율주행과 관련된 노드를 Local PC에서 수행하였으며, 로봇 플랫폼의 구동 및 센싱과 관련된 노드는 SBC에서 구동하였다. Host PC에서 로봇의 위치를 실시간으로 파악하기 위해 그림 4와 같이 Host PC에서 Local PC와 원격으로 접속하여 Host PC의 화면에서 로봇에게 명령어를 전달하고 보안 로봇의 임무를 수행하게 된다.


Fig. 4. 
Overview of remote access between PC


Ⅲ. 알고리즘 설계 및 실험
3.1 알고리즘 설계

본 연구의 알고리즘 순서도는 그림 5와 같다. 최초 실행 시 보안 이동과 QR code 등록 단계를 선택할 수 있다. QR code 등록 단계가 실행되면 10초간 QR code를 읽어올 수 있고 읽은 QR code 데이터값을 저장한다. 이후 10초의 등록 단계가 종료되면 다시 처음 기능 선택으로 되돌아온다. 보안 이동을 실행한 경우에는 경유지 이동과 human detect를 동시에 수행하며 이동하는 동안 사람 객체를 탐지한다. 이동 중 사람 객체가 탐지되면 로봇은 정지 후 QR code 인증 노드를 실행한다. QR code의 인증 성공 여부에 따라 관리자에게 1:1 메시지를 전달하고 5초의 대기를 가진 뒤 다시 경유지 이동을 수행한다.


Fig. 5. 
Algorithm flowchart

3.2 실험

본 연구의 로봇 완성본 및 로봇 시작 지점은 그림 6과 같다. 로봇의 초기 상태는 모든 노드가 실행된 상태에서 초기 위치설정을 (0, 0)으로 마친 뒤 보안 이동 대기 상태로 설정된다.


Fig. 6. 
Robot and starting point

그림 7은 보안 임무 수행을 위한 환경 지도와(좌) 경유지 좌표 경로를(우) 나타낸다. 로봇은 0지점부터 4지점까지 차례로 이동된다. 본 연구의 목적은 ROS 2 기반의 자율주행 보안 로봇이므로 이를 검증하기 위해 간단한 상황을 연출하여 시스템의 효용성을 검증하였다. 로봇은 초기 위치로부터 경유지 이동 및 human detect를 수행하고 최초 사람 객체를 감지하여 등록된 관계자 QR code 인증이 수행된다. 인증을 완료하면 다시 경유지 이동이 수행되며 돌아오는 중 미등록자를 만나 QR code 인증이 실패할 때 관리자에게 1:1 메시지가 수신되는 것을 확인하였다. 최종적으로 로봇이 마지막 지점에 도달할 때 보안 단계를 종료하는 알림을 하여 모든 노드가 종료되도록 설계하였다. 본 연구의 시나리오는 총 360초의 시간 동안 시나리오가 진행되어 위의 설계대로 임무를 수행하였다.


Fig. 7. 
Map view and path execution


Ⅳ. 결 론

본 연구는 실내 자율주행 로봇을 활용한 보안 임무 시스템을 제안한다. 이를 위해 YOLOv4 객체 탐지 알고리즘과 ROS 2를 기반으로 한 패키지를 개발하고 구현하여 실제 로봇에 적용한다. 이렇게 함으로써 Local PC 서버를 통해 원격으로 로봇을 제어하고, 무인 로봇이 보안 임무를 자동으로 수행할 수 있다. 우리는 구현된 시스템을 테스트하기 위해 설계된 시나리오에 따라 실제 로봇 실험을 진행하며, 임무를 원활하게 수행하는 것을 확인할 수 있다.

본 연구에서 제안된 실내 자율주행 시스템은 보안 이동 명령을 통해 설계된 시나리오에 적용된다. 그러나 이 시스템은 보안 임무에만 국한되지 않고, 다른 다양한 분야에서도 활용할 수 있는 잠재력을 가진다. 예를 들어, 실내 자율 배달 시스템[11] 등 다른 자율주행 응용 분야에서도 이 시스템을 적용할 수 있을 것으로 기대된다. YOLOv4와 ROS 2를 기반으로 한 실내 자율주행 시스템은 다양한 후속 연구 및 응용 분야에서 높은 활용성을 가질 수 있다는 점을 강조하고자 한다. 이 시스템의 성공적인 적용과 확장은 더욱 광범위한 자율주행 로봇 응용 분야에 대한 연구를 위한 기반이 될 것이다.


Acknowledgments

이 연구는 금오공과대학교 대학 연구과제비로 지원되었음(2022∼2023)


References
1. O. Esan, S. Du, and B. Lodewyk, "Review on Autonomous Indoor Wheel Mobile Robot Navigation Systems", International Conference on Artificial Intelligence, Big Data, Computing and Data Communication Systems (icABCD), Durban, South Africa, pp. 1-6, Aug. 2020.
2. I. Chio, K. Ruan, Z. Wu, K. I. Wong, L. M. Tam, and Q. Xu, "Design and Autonomous Navigation of a New Indoor Disinfection Robot Based on Disinfection Modeling", IEEE Transactions on Automation Science and Engineering, Vol. 20, No. 1, pp. 649-661, Jan. 2023.
3. T. Dharmasena and P. Abeygunawardhana, "Design and Implementation of an Autonomous Indoor Surveillance Robot based on Raspberry Pi", 2019 International Conference on Advancements in Computing (ICAC), Malabe, Sri Lanka, pp. 244-248, Dec. 2019.
4. A. Lopez, R. Paredes, D. Quiroz, G. Trovato,and F. Cuellar, "Robotman: A security robot for human-robot interaction", 2017 18th International Conference on Advanced Robotics (ICAR), Hong Kong, China, pp. 7-12, Jul. 2017.
5. J. Yu, G. Chen, and X. Chen, "Design and implementation of security robot system based on YOLOv3", 2019 IEEE International Conference on Mechatronics and Automation (ICMA), Tianjin, China, Aug. 2019.
6. S. Macenski, T. Foote, B. Gerkey, C. Lalancette, and W. Woodall, "Robot Operating System 2: Design, architecture, and uses in the wild", Science Robotics, Vol. 7, No. 66, May 2022.
7. S. Macenski, F. Martín, R. White, and J. G. Clavero, "The marathon 2: A navigation system", IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2718-2725, Oct. 2020.
8. A. Bochkovskiy, C.-Y. Wang, and H.-Y. M. Liao, "Yolov4: Optimal speed and accuracy of object detection", arXiv preprint arXiv:2004.10934. Apr. 2020.
9. D. Fox, "Adapting the sample size in particle filters through KLD-sampling", The International Journal of Robotics Research, Vol. 22, No. 12, pp. 985-1003, Dec. 2003.
10. D. Fox, W. Burgard, and S. Thrun, "The dynamic window approach to collision avoidance", IEEE Robotics & Automation Magazine, Vol. 4, No. 1, pp. 23-33, Mar. 1997.
11. U.-S. Kim, B.-S. Kim, and I.-S. Kim, "Implementation of serving mobile robot using ROS", Journal of KIIT, Vol. 17, No. 2, pp. 33-43, Feb. 2019.

저자소개
우 은 상 (Eun Sang Woo)

2023년 : 금오공과대학교 전자공학부(학사)

2023년 ~ 현재 : (주) 시스콘 Software 연구원

관심분야 : 모바일 로보틱스, 자율주행, 인공지능

김 태 현 (Tae-Hyun Kim)

2023년 : 금오공과대학교 전자공학부(학사)

관심분야 : 모바일 로보틱스, 인공지능, NFT

이 동 현 (Dong-Hyun Lee)

2007년 : 경북대학교 전기전자 및 컴퓨터학부(학사)

2009년 : KAIST 전자공학부(석사)

2015년 : KAIST 전자공학부(박사)

2016년 ~ 현재 : 금오공과대학교 IT융복합공학과 부교수

관심분야 : 모바일 로보틱스, 자율주행, 인공지능