탑승식 바닥 청소 로봇의 주행 자동화 시스템 개발
CopyrightⓒKROS
Abstract
Large-scale three-wheeled cleaning robots are utilized to clean large spaces such as warehouses and manufacturing plants where significant floor contamination occurs. Although there are autonomous cleaning robots, user-operated cleaning robots are often preferred because they are easy to repair and inexpensive. Therefore, workers have to spend extra time on cleaning, which reduces work efficiency. In this paper, we propose an autonomous driving system designed to automate the operation while maintaining the structure of existing cleaning robots. The contributions of this paper are as follows: 1) Hardware modules that control the driving and steering components. 2) A LiDAR-based autonomous driving system and path point generation system considering the mechanical characteristics of the cleaning robot. 3) The proposed system is implemented on an actual cleaning robot and driving tests are performed. As a result, when path planning is performed to cover the cleaning area, the average RMSE for each straight path is 0.0802 m, which is smaller than the minimum cleaning overlap of 0.3 m that occurs during the straight cleaning of the robot. This shows that the proposed system effectively covers the entire cleaning area.
Keywords:
Cleaning Robot, Automated Driving System, Agricultural Products Processing Center1. 서 론
농산물산지유통센터(APC), 물류창고, 공업단지 등에서 작업에 의해 발생하는 바닥의 오염물들을 주기적으로 제거, 관리하여 청결한 환경을 유지하는 것은 중요하다. 청소로봇은 작업자가 빗자루, 청소기 등을 이용하여 바닥의 오염물을 제거하던 방식에서 대공간의 청소를 효율적으로 수행하기 위해 개발되었으며, 작업 효율성 증가 및 노동강도 감소를 위해 시장이 점차 확대되고 있다[1].
청소로봇은 주행 방식에 따라 [Fig. 1]과 같이 사람이 직접 운행하는 수동(manual) 주행, 탑승형방식과 자동(automated) 주행형 방식으로 구분된다. 수동 주행 청소로봇은 주행 및 상황을 인식하기 위한 별도의 센서와 구동장치가 없으므로 구조가 상대적으로 간단하고 유지 보수가 용이하며 상대적으로 경제적이다[2]. 하지만 작업을 위한 인력이 필요하며, 일반적으로 작업자들이 작업시간 외 별도로 청소를 수행하기 때문에 원래 수행해야 하는 작업의 효율성을 떨어뜨린다. 이러한 문제를 해결하기 위한 자율주행 청소 로봇은 자신의 위치를 파악하기 위한 LiDAR, 적외선 등의 센서를 부착하고 로봇 위치 추적 및 청소 경로 추종 주행을 통해 청소를 자동으로 수행한다[3]. 하지만, 실제 도입을 위해 기존 청소로봇과 호환되지 않아 경제적인 부담이 생기고, 구조가 복잡해 관리에 대한 문제가 있다.
수동형 주행방식을 전동형·자동형으로 변경하는 것은 청소 로봇 외에도 다양한 도메인에서 진행되어왔다. 수동형 휠체어의 사용자 편의성 향상을 위해 수전동 복합기능의 휠체어를 위한 부착형 전동기를 개발하였다[4]. 개발된 전동기를 부착함으로써 기존 수동형 휠체어의 경제성 및 운반 편의성을 보장하였다. 이처럼 다양한 도메인에서 기존 수동형 시스템의 장점을 보장하며 자동화를 수행하였다. 또한 물류 창고의 지게차와 대형 트렉터의 기본 구조는 유지하면서 자율 주행 또는 반자율 주행을 구현하기 위한 연구가 진행되었다[5,6].
본 논문에서는 수동형 청소로봇을 기반으로 사용자의 선택에 의해 수동 및 자율 주행 방식을 자유롭게 전환할 수 있으며, 기존 청소로봇의 구조를 크게 변경하지 않아 경제성을 확보할 수 있는 주행 자동화 시스템의 개발 방법을 제안한다. 먼저 다수의 탑승형 청소로봇의 구조를 기반으로 자동화를 위해 필요한 요소를 정의한다. 정의된 요소인 조향부와 구동부를 제어하기 위한 기구물과 전장부를 설계하고 적용하였다. 자동화를 위한 로봇 기구학 및 자율주행 알고리즘은 LiDAR기반의 gmapping 기반의 위치 추적, 일정 영역을 청소하기 위한 경로 계획, 경로점을 추종하기 위한 pure pursuit 알고리즘을 기반으로 소프트웨어 구조를 설계하고 개발하였다.
개발된 주행 자동화 시스템을 실제 청소로봇에 적용하였다. 정해진 경로를 주행하였을 때, 각 경로에 대한 평균 RMSE가 0.0802 m로 직진주행시 청소 영역의 오버랩인 0.3 m보다 작음을 확인하였다. 또한, 정해진 공간에 모래를 분사하고 청소를 수행하였을 때 청소수행 능력을 확인한 결과 약 86%를 흡입하는 것을 확인하였다.
본 논문의 2장은 자율주행 시스템을 위한 하드웨어에 관한 내용이며, 3장은 청소 경로 생성 및 추종 주행을 위한 소프트웨어에 관한 내용이다. 4장은 실험에 관한 결과이며, 5장은 결론으로 마무리한다.
2. 청소로봇 주행 자동화 시스템
2.1 탑승형 청소로봇 구조 분석
청소로봇 주행 자동화를 위해 카처(karcher), 영신 E&C, 한양청소기에서 판매되는 탑승형 청소로봇의 기구적인 구조를 분석하고 [Fig. 2]와 같이 일반화하였다. 세 업체 모두 후륜 구동방식(Rear-wheel drive, RWD)으로 전기 모터를 사용하여 전·후진이 가능하며, 전위차계 방식의 페달을 사용자가 밟음으로써 인가되는 전압의 세기로 속도가 제어된다. 청소로봇량의 조향은 기계적인 방식의 조향휠을 사용하며, 사용자가 조향 핸들(Steering handle)을 조작한다.
로봇의 구조는 사이드브러쉬(Side brush)와의 간섭과 메인브러쉬(Main brush)를 이용하여 바닥에 있는 오염물을 제거할 수 있고, 먼지통의 크기를 최대한 확보할 수 있도록 3륜 구조로 잡혀있다. 전방에 있는 2개의 사이드 브러쉬는 각각 반대방향으로 회전하여 전방에 있는 오염물을 중앙으로 모으는 역할을 하며, 중앙에 모인 오염물은 청소로봇이 전짐함에 따라 메인브러쉬의 회전으로 호퍼(Hoper)로 이동시키는 역할을 한다.
본 논문에서는 청소로봇의 3륜 구조를 변경하지 않고 주행을 자동화하기 위해서, 기계적인 조향으로 구성된 조향휠을 제어하기 위한 추가적인 하드웨어 모듈 및 구동휠의 속도 및 브러쉬 작동을 제어하기 위한 제어기를 개발했다.
2.2 청소로봇 조향·구동 바퀴 제어 모듈
탑승형 청소로봇의 조향을 제어하기 위해 [Fig. 3]와 같이 조향축에 부착되는 하드웨어 모듈을 설계하였다. 하드웨어 모듈은 조향축에 타이밍 풀리를 장착고, 프레임에 엔코더 BLDC 모터를 장착하여 타이밍 벨트로 동력을 전달하도록 구성하였다. 또한 조향축의 원점을 인식하기 위해 조향축 윗단에 캔틸레버 기구물을 부착하였고, 기구 프레임에 조향축에 장착된 캔틸레버 기구물의 위치와 동일하게 포토센서를 장착하여 원점을 인식한다. 모든 기구물은 탈·부착이 용이하도록 볼트결합 구조로 설계하였다.
구동휠 전동화하기 위한 제어기는 [Fig. 4]와 같이 설계하였다. 청소로봇의 구동휠의 속도는 사용자가 페달을 밟아 발생하는 전위차계의 전압을 신호로 속도를 제어하기 때문에 마이크로 컨트롤러(Micro Controller)를 추가하여 페달의 전압 입력을 Pulse Width Modulation (PWM) 방식으로 구동되도록 구성하였다. 또한, 청소로봇의 전·후진 신호는 릴레이 모듈(Relay Module)을 사용하여 ON/OFF 입력이 가능하도록 구성하여 기존 청소로봇에 종속되어 있던 제어권을 반환한다.
본 논문에서는 [Fig. 1(a)]의 영신E&C에서 판매하는 GTS1200 청소로봇을 기반으로 조향 제어를 위한 하드웨어 모듈 및 제어기를 설계하였다. GTS1200 청소로봇은 전장 1512 mm , 전폭 1200 mm, 전고 1310 mm, 중량 328 kg이며, 사이드 브러쉬의 청소 영역은 700~1200 mm이다. 또한, 청소로봇의 최대 조향각은 ±58°로 기구적으로 제한되어있으며, 최대 구동속도는 6 km/h이다.
[Fig. 5(a)]는 조향부의 전동형 제어 시스템이며, 조향 제어용 하드웨어 모듈의 BLDC 모터는 차체의 무게, 바닥과의 마찰력을 고려하여 MOTORBANK사의 PG42BL 제품을 선정하였으며, 조향축의 원점을 인식하기 위한 포토센서는 AUTONICS사의 BS5-Series 포토센서를 사용하였다. [Fig. 5(b)]는 마이크로 컨트롤러로 Arduino MEGA를 적용하여 구동휠 제어한다. 브러쉬 동작 스위치 제어를 위해 4CH Relay Module을 적용하였다. 제어기 모듈에서는 구동 바퀴의 속도와 조향각을 제어하며, 상위 제어기(PC)에서 로봇이 운행되는 환경을 파악하고 목표 위치로 이동하기 위한 제어 명령을 RS485기반으로 전달한다.
3. LiDAR기반 자율주행 시스템
3.1 자율주행 시스템 구성
본 논문에서는 탑승형 청소로봇의 주행을 자동화하기 위한 자율주행 시스템은 Robot Operating System (ROS)를 기반으로 [Fig. 6]과 같이 구성하였다[7]. 탑승형 청소로봇이 자율주행 하기위해 LiDAR센서를 부착하였으며, 이를 기반으로 청소로봇의 위치를 추적하였다. 로봇위치추정 모듈에서는 gmapping 알고리즘을 이용하여 청소로봇의 운용 환경에 대한 지도를 생성하고 지도를 기반으로 로봇의 현재 위치를 추정한다[8]. 사용한 Adaptive Monte Carlo Localization (AMCL) 알고리즘은 로봇의 현재 위치를 IMU, Odometry, Scan 데이터를 이용하여 파악한다. 일반적으로 구동 모터의 엔코더에 의해 생성되는 Odometry 데이터를 탑승형 청소로봇의 구동계를 수정하지 않고 사용하기 위해 라이다 기반의 Odometry를 생성하여 사용하였다[9]. 경로점 생성 모듈에서는 청소 영역 내 청소로봇의 최대 회전각을 고려하여 경로점을 생성하고 생성된 경로점을 로봇이 활용하는 지도 좌표로 변경하여 전달한다. 로봇 제어 모듈에서는 경로점 생성 모듈에서 전달받은 목표 위치로 이동하기 위한 로봇의 구동모터와 조향모터 값을 계산하여 전달한다. 본 논문에서는 목표 위치로 이동하여 pure pursuit 알고리즘을 사용하여 구현하였다[10].
청소로봇의 자율주행이 시작되면 경로점 생성 모듈에서 첫 번째 경로점을 전달하고 로봇 제어 모듈에서 속도와 방향을 결정하여 전달한다. 로봇이 경로점에 도달하였을 때 다음 경로점이 전달되며, 마지막 경로점까지 로봇을 주행하는 것을 영역내 1회의 주행이 완료된 것으로 구성하였다.
3.2 청소 영역내 경로 설정 및 추종
본 논문에서의 특정 영역을 청소하기 위한 청소로봇의 주행은 직진주행 구간과 회전주행 구간으로 구분된다. 청소로봇의 청소는 직진주행시에만 수행되며, 청소로봇의 사이드브러시의 간격을 고려하여 설정한다. 또한, 제자리 회전이 불가능한 3륜 구조의 특성을 고려하여 직진 주행시 청소간격을 최소 0.3 m의 오버랩(Overlap) 영역을 두도록 설정하였다[11]. [Fig. 7]은 가로 3 m 세로 3 m를 청소하기위해 설정한 경로점의 예이다. 경로점 1에서 2는 직진구간으로 설정되어 청소로봇은 기본적인 pure pursuit 알고리즘을 기반으로 추종 주행을 한다. 청소로봇이 경로점 2에 도달하면, 회전주행 구간인 경로점 3, 4를 추종한다. 회전구간의 경로점은 [Fig. 8]과 같이 청소로봇의 기구적 특성을 고려하여 설정한다.
[Fig. 8]은 청소로봇의 단순화된 모델을 나타낸다. GTS1200 청소로봇은 최대 조향각 ±58°로 기구적으로 한계치가 존재한다. 따라서 최대 조향각 기준 청소로봇의 최소 회전 반경을 식 (1)과 같이 계산된다.
(1) |
여기서, Rmin은 최소회전반경, θmax 청소로봇의 최대 조향각, 그리고 L 은 휠 중심 간 거리이다. 따라서, [Fig. 7]의 회전구간내 경로점들은 식 (1)의 청소로봇 최소 회전반경과 경로간의 오버랩을 고려하여 설정된다.
회전구간에서의 청소로봇은 식 (2)를 이용하여 조향각을 계산하여 제어한다.
(2) |
이때, δ는 청소로봇의 조향각, ld는 목표까지의 거리, α는 ld와 청소로봇 방향각도이다.
4. 실험 및 결과
본 장에서는 제안하는 주행 자동화 시스템의 성능을 검증하기 위해 탑승형 청소로봇(GTS1200) 제안하는 시스템을 적용하였다. 주행 성능 평가를 위해 수동 주행과 자동 주행에 대한 청소 영역 및 청소 수행시 오염물 흡입 성능에 대하여 비교하였다.
4.1 청소 영역에 대한 적용 범위 검증
청소로봇의 경로 주행을 검증하기 위해 [Fig. 7]에서 설정한 웨이 포인트에 대하여 교정받은 LEICA GEOSYSTEMS사의 MS60장비를 사용하여 이동 경로를 측정하였다[12]. 본 장비는 레이저 트래커를 이용하여 정확도 1 mm,정밀도 0.1 mm로 정말한 측정이 가능한 장비이다. 레이저 트래킹을 위한 프리즘은 GRZ101 360을 사용하였으며, [Fig. 9]와 같이 청소로봇에 장착되어있는 LiDAR위에 장착하여 오차를 최소화하였다.
[Fig. 10(a)]는 3 m 정사각형으로 구성된 전체 청소 필요 영역에 대하여, 각 직진주행시 청소영역의 오버랩을 0.3 m로 설정하여 경로를 생성하고 청소로봇이 자율주행 하였을 때, 프리즘 추적장치를 이용하여 주행 궤적을 측정한 결과이다. 직진 주행 경로는 회전 반경을 고려하여 비순차적으로 주행한다.
[Table 1]은 각 설정된 주행 경로 대피 측정된 주행 궤적에 대한 RMSE를 계한한 결과이며, 최소 0.034 m, 최대 0.120 m, 평균 0.0802 m의 오차로 주행하는 것으로 측정되었으며, 이는 설정한 직진주행시 청소구간의 오버랩인 0.3 m보다 작은 것을 확인하였다. 또한 [Fig. 10(b)]와 같이 주행 경로에 대하여 로봇의 청소 범위인 1.2 m를 대입한 결과 전체 청소 필요 영역 3 m의 정사각형을 청소할 수 있음을 확인하였다.
4.2 청소 성능 검증
본 장에서는 청소로봇의 주행 방식에 따른 오염물 처리능력을 비교한다. 3×3 m 영역내 가는 모래와 먼지로 구성된 오염물은 분포하고 수동으로 청소하였을 때와 자동으로 청소하였을 때 분포한 오염물 무게와 흡입된 무게를 비교하여 청소 능력을 비교하였다. 무게를 측정하기 위해 사용한 저울은 교정된 CAS사의 EC-D를 사용하였다.
[Fig. 11]은 청소 능력 검증을 위한 실험 과정이다. 청소를 수행하기 전 오염물의 무게를 측정하고, 청소로봇의 먼지통을 비운다. 청소 영역내 오염물을 분포한뒤 청소를 수행한 후 먼지통의 오염물을 옮겨 무게를 측정하였다. 그 결과 분포한 오염물의 86.4%를 흡입하였다. 이는 수동으로 청소하였을 때와 비교하여 약 5% 낮지만, 수동으로 청소시 오염물이 있는 영역을 사람이 확인하고 속도를 조정하여 청소하였기 때문으로 분석된다.
5. 결 론
본 논문에서는 탑승형 청소로봇의 기구적인 구조를 유지하면서 자율화하기 위한 주행 자율화 시스템을 제안하였다. 자율화를 위한 하드웨어는 구동 바퀴와 조향 바퀴를 위한 제어 모듈을 설계하고 제작하여 상용 청소로봇에 부착하였다. 자율주행 소프트웨어는 ROS를 기반으로 설계하여 적용하였으며, 청소영역의 청소를 위한 경로점 생성 시스템을 제안하였다. 제안하는 시스템의 성능을 검증하기 3 m의 정사각형 영역에 대한 청소 로봇 경로를 생성하고, 생성된 경로에 대하여 직선 주행에 대한 RMSE의 평균이 0.0802 m로 주행하는 것을 검증하였다. 또한 청소시 86.4%의 오염물을 제거할 수 있음을 확인하였다.
향후 연구로는 바닥의 오염물양에 따라 청소로봇의 속도를 제어하여 수동으로 조종하였을 때와 오염물의 흡입 성능 차이를 줄일 예정이며, 주행을 위한 추종알고리즘의 정확도를 향상하기 위해 입력된 Waypoint대비 실제 로봇의 경로 오차를 줄이기 위해 추정 정확도를 높이는 연구를 추가로 진행하여 주행 안정성과 청소 영역간 오버랩 영역을 최소화할 예정이다. 또한 각 브러쉬의 회전에 따른 마찰이 주행에 미치는 영향을 분석하여 제어성능을 향상을 위한 연구를 진행할 예정이다.
Acknowledgments
This work was supported by Korea Institute of Planning and Evaluation for Technology in Food, Agriculture and Forestry (IPET) through Smart Agri Products Flow Storage Technology Development Program, funded by Ministry of Agriculture, Food and Rural Affairs (MAFRA) (1545027072).
References
- “Cleaning robot market size, share & trends analysis report by product (in-house, outdoor), by charging type, by type, by operation mode, by distribution channel, by end-use, by region, and segment forecasts, 2023 – 2030,” [Online], https://www.grandviewresearch.com/industry-analysis/cleaning-robot-market, .
- M. Kaur and A. Preeti, “Design and development of floor cleaner robot (automatic and manual),” International Journal of Computer Applications, vol. 97, no, 19, Jul., 2014. [https://doi.org/10.5120/17118-7776]
- S. Yi, W.-H. Cho, and B. Choi, “Remote Monitoring System for a Building Cleaning Mobile Robot.” The Journal of Korea Robotics Society, vol. 4, no. 1, pp. 74-80, Jan., 2009, [Online], https://www.researchgate.net/publication/264140293_Remote_Monitoring_System_for_a_Building_Cleaning_Mobile_Robot, .
- Y. C. Choi, K. M. Rhee, H. S. Choi, and Y. T. Seo, “Development of the foldable manual/power hybrid wheelchair,” Journal of the Korean Society of Precision Engineering, vol. 23, no. 2, pp. 172-180, Feb., 2006, [Online], https://koreascience.kr/article/JAKO200614222993767.page, .
- R. Lin, H. Huang, and M. Li, “An automated guided logistics robot for pallet transportation,” Assembly Automation, vol. 41, no. 1, pp. 45-54, Feb., 2021. [https://doi.org/10.1108/AA-04-2020-0052]
- V. Bulgakov, J. Olt, S. Pascuzzi, S. Ivanovs, V. Kuvach, F. Santoro, Ia. Gadzalo, V. Adamchuk , and M. Arak, “Study of the controlled motion process of an agricultural wide span vehicle fitted with an automatic driving device,” Agronomy Research, vol. 20, no. 3, pp. 502-518, 2022. [https://doi.org/10.15159/AR.22.042]
- H. S. Kang, D. W. Lee, and D. H. Shin, “SW Development for Easy Integration of Robot System Composed of Heterogeneous Control Platforms into ROS-based System,” The Journal of Korea Robotics Society, vol. 15, no. 4, pp. 375-384, Nov., 2020. [https://doi.org/10.7746/jkros.2020.15.4.375]
- Y. Abdelrasoul, A. B. S. H. Saman, and P. Sebastian, “A quantitative study of tuning ROS gmapping parameters and their effect on performing indoor 2D SLAM,” 2016 2nd IEEE International Symposium on Robotics and Manufacturing Automation (ROMA), Ipoh, Malaysia, pp. 1-6, 2016. [https://doi.org/10.1109/ROMA.2016.7847825]
- Q. H. Nguyen, P. Johnson, and D. Latham, “Performance evaluation of ROS-based SLAM algorithms for handheld indoor mapping and tracking systems,” IEEE Sensors Journal, vol. 23, no. 1, pp. 706-714, Jan., 2022. [https://doi.org/10.1109/JSEN.2022.3224224]
- J. H. Choi, Y. E. Lim, J. H. Park, H. S. Jeong, S. J. Byun, U. H. Sagong, J. H. Park, C. H. Kim, J. C. Lee, D. H. Kim, and M. J. Hwang, “Implementation of an autonomous driving system for the segye AI robot car race competition,” The Journal of Korea Robotics Society, vol. 17, no. 2, pp. 198-208, May, 2022. [https://doi.org/10.7746/jkros.2022.17.2.198]
- C. Hofner and G. Schmidt, “Path planning and guidance techniques for an autonomous mobile cleaning robot,” Robotics and autonomous systems, vol. 14, no. 2-3, pp. 199-212, Dec., 1999. [https://doi.org/10.1016/0921-8890(94)00034-Y]
- G. Lenda, A. Uznansk, and M. Strach, “Comparison of Accuracy of Kinematic Methods for Localization of Mobile Targets,” 2018 Baltic Geodetic Congress (BGC Geomatics), Olsztyn, Poland, pp. 138-144, 2018. [https://doi.org/10.1109/BGC-Geomatics.2018.00032]
2017 계명대학교 의용공학과(공학사)
2020 경북대학교 기계공학과(공학석사)
2019~현재 한국로봇융합연구원 지역연구본부 선임연구원
관심분야: 기계설계, 구조해석
2011 세종대학교 디지털콘텐츠학과(공학사)
2014 연세대학교 컴퓨터과학(공학석사)
2018~현재 한국로봇융합연구원 지역연구본부 선임연구원
관심분야: 인공지능, 지식추론, 상황인식
2015 계명대학교 게임모바일콘텐츠학과(공학사)
2017 계명대학교 컴퓨터공학과(공학석사)
2021 동국대학교 멀티미디어공학과(공학박사)
2022~현재 한국로봇융합연구원 지역연구본부 선임연구원
관심분야: 인공지능, 딥러닝, 로봇 제어
1999 고려대학교 전기공학과(공학사)
2001 KAIST 전기및전자공학(공학석사)
2009 동대학(공학박사)
2009~현재 한국로봇융합연구원 지역연구본부 수석연구원
2021~현재 경북대학교 로봇 및 스마트 시스템 공학과 겸임교수
관심분야: 시스템 제어, 농업로봇, 웨어러블로봇