대상 추종 트럭을 위한 단층 레이저 스캐너를 이용하는 펄스 신호 기반 단일 조향 및 구동 제어 알고리즘 개발
Copyright Ⓒ 2022 KSAE / 199-03
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium provided the original work is properly cited.
Abstract
In this paper, we propose a single-based steering and a pulse-signal-based driving control using a single-layer laser scanner for object tracking. An in-wheel motor was used for driving, and a step motor was used for steering. After deriving the point cloud of the object tracking using a single laser scanner, the representative points were derived from clustering. The desired steering angle was derived by using the LQR optimal control theory. The desired steering angle was reached by using the pulse-based proportional control signal. Pulse signals were applied to the in-wheel motor to control the driving by using the driving threshold, and constant pulse width modulation(PWM) was applied to control the speed. Performance evaluation was carried out with an actual object tracking truck in two scenarios: J-turning path tracking and S-curve path tracking.
Keywords:
Single-layer laser scanner, Steering and driving, Object tracking, Pulse signal, In-wheel motor, Step motor키워드:
단층 레이저 스캐너, 조향 및 구동, 대상 추종, 펄스 신호, 인휠-모터, 스텝 모터1. 서 론
물류 산업, 공장 등 산업 현장에서는 무거운 짐을 원하는 장소까지 작은 힘을 쓰며 옮기기 위해 대차, 카트 등 다양한 장치들을 사용하고 있다. 대차와 카트는 짐을 싣고 사람이 조종하며 다니기 때문에 노동력이 필요하며 충돌, 끼임, 깔림, 넘어지는 등 많은 사고가 발생할 수 있다. 현대에 이르러 자율주행 차량 및 자동화 물류 산업 등에서도 사람에게 편의성을 주기 위해 주변을 인식하며 대상 또는 목표를 추종하는 대차와 로봇에 관심이 증가하고 있다. 관심이 증가함에 따라 실생활에서도 이를 이용하는 사례들을 확인할 수 있는데 몇몇 음식점에서는 직원이 음식을 나르는 것이 아닌 로봇이 음식을 손님에게 가져다주며 물류 창고에서는 무거운 물건을 실은 대차들이 주어진 경로를 따라서 대신 배달해주거나 특정 대상을 추종하기도 한다. 이처럼 대상 또는 경로를 추종하는 시스템은 다양한 분야에 사용하여지고 있으며 활발하게 연구개발이 이루어지고 있다.
기존 연구 중 레이저 스캐너, 카메라 등 센서들을 이용하여 대상 또는 경로 추종을 하는 연구들은 다음과 같다. 이동휘 등1)은 궤적 예측 방법을 이용하여 전방 충돌 예측 알고리즘을 제안하였다. 김동철 등2)은 추적 성능 향상을 위해 Integrated Probabilistic Data Association Filter를 제안하였다. 서주찬 등3)은 LiDAR와 Camera를 융합하여 딥러닝 기반이 아닌 듀얼 센서 모니터링 기반 차선 인식 알고리즘을 제안하였다. 정지은 등4)은 자율 배송 서비스를 위해 저해상도 LiDAR 기반 이동장애물 검출 및 추적에 대하여 제안하였다. Wang과 Zhang5)은 3D LiDAR를 이용하여 차량 탐지는 SVM을 통해 차량 추적은 칼만 필터와 GNN 알고리즘을 이용하는 방법론을 제안하였다. Farag6)는 칼만 필터 기반으로 라이다와 레이더의 데이터를 융합하여 실시간으로 도로 및 물체를 감지하고 추적하는 방법을 제안하였다. Bozorgi 등7)은 2D Laser와 3D 카메라 데이터를 통합하여 사람을 탐지하고 탐지된 사람은 이중 칼만 필터를 이용하여 궤적을 추적하는 방법론을 제안하였다. Taipalus와 Ahtiainen8)은 2D LiDAR를 이용하여 무릎 높이에서 사람 다리의 데이터를 획득하고 획득한 데이터를 이용하여 사람을 탐지하고 추적하는 알고리즘을 제안하였다. Seo 등9)은 노이즈가 많은 환경에서 멀리 있는 물체를 탐지하기 위해 임베디드 IF 필터를 이용하는 방법론을 제안하였다. Cho 등10)은 3D LiDAR와 도로 환경 정밀 지도를 이용하여 주행 차로 인식 기법에 대하여 제안하였다. Yum 등11)은 초음파 센서를 이용하여 객체와의 거리 및 각도를 도출하였으며 도출된 정보를 이용하여 속도 및 조향 제어를 하는 협동 로봇을 제안하였다.
대상을 탐지 또는 추종하는 기존 연구들은 레이저 스캐너, 카메라, 초음파 센서 등 다양한 센서들을 단일 사용하거나 융합하여 사용하면서 필터링, 인공지능 등을 활용하여 제어 성능 향상을 위한 내용이 일반적이었다.
이러한 센서를 기반으로 대상을 추종하거나 장애물을 회피하며 경로를 추종하는 AGV(Automated Guided Vehicles) 연구들은 다음과 같다. Tammvee와 Anbarjafari12)는 YOLO(You Only Look Once) 기반으로 사람의 이동 방향을 추정하여 AGV의 경로 계획 방법론에 대하여 제안하였다. Setiawan 등13)은 백스테핑 기법을 기반으로 정지, 이동하는 등 다양한 물체와 같은 작업 환경의 장애물을 회피하기 위해 AGV의 경로를 재계획하는 방법론에 대하여 제안하였다. Kumar14)는 AGV의 움직임을 제어하기 위해 사전 프로그래밍과 논리도를 이용하는 소프트웨어 PLC(Programmable Logic Controller)를 제안하였다. Qi와 Wu15)는 MPC(Model Predictive Control) 기반 AGV의 궤적 추적 제어 방법론을 제안하였다. 김세환 등16)은 라이다를 이용하여 대상을 인지하고 스텝 모터(Step motor)와 인휠 모터(In-wheel motor)를 이용하여 대상을 추종하는 자율 대차를 제안하였다. 기존 연구들을 보면 레이저 스캐너, 카메라 등 다양한 센서들을 융합하거나 단일 센서를 이용하여 물체 또는 객체를 인지하고 분류하는 다양한 연구들이 진행 중이다. 또한 물류 창고나 공장 등 대차를 대신하여 AGV 사용을 위해 경로 생성 및 궤적 추적 등 다양한 시스템 개발 및 연구들이 진행되고 있음을 확인할 수 있었다.
AGV 특성상 이동 영역 내 경로 생성을 위한 인프라가 일반적으로 필요하며, 운용 환경이 변화되면 시설 변경 작업을 필요로 한다. 이로 인하여 경제적 비용이 발생하는 한계점이 있으며, 완전 무인 물류 시스템이 아닌 경우 주변 작업자와의 협업이 필요한 경우가 많으므로 대상과의 상호 협력적 주행 및 협업이 필요하다.
본 논문에서는 단층 레이저 스캐너, 인휠 모터, 스텝 모터 그리고 MCU(Micro Controller Unit)를 이용하여 대상을 추종하며 협업할 수 있는 대상 추종 트럭 플랫폼을 개발하였다. 대상 추종 트럭은 단층 레이저 스캐너로 객체를 인지한 후 펄스 신호 기반으로 인휠 모터와 스텝 모터를 이용하여 구동 및 조향 제어를 수행하도록 하드웨어 구성과 알고리즘을 개발하였다. 개발한 대상 추종 트럭은 조향 및 구동 시스템을 기반으로 인지된 대상을 추종하는 시스템이며, 소프트웨어 / 하드웨어 모듈화를 통해 목적 및 환경에 따른 재구성이 가능하다.
본 논문의 나머지 부분은 다음과 같이 구성되었다. 2장에서는 대상 추종을 위한 제어 전략을 제안하고, 3장에서는 실 시스템 기반 2가지의 시나리오 성능평가 결과를 보여준다. 추종 대상의 경로는 J-turning path와 S-curve path 2가지이다. 4장에서는 결론 및 한계점 분석과 향후 계획을 기술하였다.
2. 대상 추종을 위한 조향 및 구동 제어
2.1 인지 및 판단 알고리즘
Fig. 1은 대상 추종 트럭에 대한 전반적인 알고리즘 개략도이며 인지, 판단, 제어 총 3가지의 모듈화된 단계로 나누었다. 단층 레이저 스캐너로 ROI 내 탐지된 추종 대상의 2D 포인트 클라우드를 군집화 과정을 통해 대표 포인트를 생성하여 대표 거리 및 각도를 도출하였다. 이를 기반으로 추종 대상과 추종 트럭과의 거리 및 각도 오차를 계산하여 구동 및 조향, 그리고 위험도를 판단하여 인휠 모터와 스텝 모터에 PWM 및 Pulse 신호를 인가하여 추종 트럭을 제어하였다.
대상 추종을 하기 위해 본 논문에서는 단층 레이저 스캐너를 이용하여 추종할 대상을 인지하였다. Table 1은 본 논문에서 이용한 단일 레이저 스캐너의 제원이다.
이용된 단일 레이저 스캐너의 측정 범위는 200∼8,000 [mm], 분해능은 0.75°, Field of View(FOV)는 레이저 스캐너가 계측할 수 있는 범위인 시야각으로 120°이다. Scanning frequency는 15 [Hz]로 이는 레이저 스캐너 시야각 내에 인지되는 객체의 데이터들을 초당 15번 계측하는 것을 의미한다. 단일 레이저 스캐너의 측정 방법은 Time of Flight(TOF)로 시야각을 분해능 간격으로 레이저 펄스를 발사하여 물체에 도달하게 되면 레이저 펄스는 반사되어 레이저 스캐너로 수신되는데 이 왕복 시간을 이용하여 거리를 도출하는 방식이다. 따라서 레이저 스캐너의 시야각 범위 내 모든 물체는 분해능 간격으로 거리에 따라 포인트 클라우드는 생성이 된다. 레이저 스캐너로 생성된 포인트 클라우드와 분해능을 통해 각각의 포인트 클라우드의 거리와 각도를 도출하였다.
Fig. 2에서 볼 수 있듯이 레이저 스캐너의 시야각 120° 범위 내 추종 대상을 인지 및 판단하기 위한 최소 및 최대 거리와 각도를 설정하여 Detection Region of Interest(ROI)를 생성하였으며, Detection ROI 영역 내에 탐지되는 물체를 추종 대상으로 판단하여 분해능 0.75° 간격마다 추종 대상의 포인트 클라우드가 생성되는 것을 보여준다.
(1) |
(2) |
Fig. 2와 같이 Detection ROI 내에서 추종 대상이 탐지되면 레이저 스캐너에서 도출된 2D 포인트 클라우드를 식 (1)과 (2)를 통해 군집화하여 추종 대상의 대표 포인트의 각도와 거리를 도출하였다. 식 (1)과 (2)에서의 i는 ROI 내 생성되는 추종 대상의 i번째 포인트, NR은 ROI 내 포인트 클라우드의 총 개수를 의미한다.
Fig. 3은 Detection ROI 내 레이저 스캐너에서 생성되는 포인트 클라우드를 군집화하여 도출된 대표 포인트를 추종하는 알고리즘의 개략도이다. 추종 대상이 이동함에 따라 도출된 대표 포인트도 이동하여 Detection ROI 범위를 벗어나기 때문에 이에 맞춰 이동한 대표 포인트를 추종하면서 데이터를 획득하여야 한다. 따라서 추종 대상의 대표 포인트를 추종하면서 데이터를 획득하기 위하여 Tracking ROI를 설계하였다. 추종 대상으로 탐지되어 도출된 대표 포인트를 기준으로 기존의 Detection ROI 범위를 예상되는 일정 범위만큼 확장하여 설계된 Tracking ROI 범위 내 다시 탐지되는 추종 대상의 포인트 클라우드 데이터를 획득하였다. 생성된 포인트 클라우드는 식 (1)과 (2)를 이용해 군집화를 하여 대표 포인트를 재도출하였다. Fig. 4는 Tracking ROI 범위 내 포인트 클라우드와 대표 포인트를 도출하여 이동하는 추종 대상의 대표 포인트를 추종하는 과정에 대한 개념을 보여준다.
Fig. 5는 추종 대상의 대표 포인트를 이용하여 추종 트럭의 구동 및 제동과 주행 위험 수준을 판단하는 개념을 보여준다.
구동 및 제동의 판단은 거리 기반 구동 임계값(rth)을 이용하여 판단하였으며, 구동 임계값은 추종 트럭의 제동 거리를 이용하여 정의하였다. 제동 거리는 주행 중 일정 제동 신호를 인가하면서 정지할 때까지 이동한 거리를 실험적으로 계측함으로써 도출되었다. 도출된 제동거리는 약 0.33 [m]이고, 본 논문에서는 약 두 배의 값인 0.7 [m]를 구동 및 제동의 판단 기준으로 설계하였다. 추후 추종 트럭의 주행 속도를 고려한 목표 상대 거리 설계 및 적응형 제어 기법 적용을 계획하고 있다.
주행 위험 수준 판단을 위해 차두 시간(Time headway)을 이용하였고, 두 개의 차두 시간 경계값 기반 세 가지 영역인 안전, 경고, 비상 영역을 구분하였다. 차두 시간을 실시간 계산하기 위해서는 추종 트럭의 대상과의 상대 거리와 주행 속도가 필요하다. 현 단계에서는 구동 모터에 인가되는 제어 PWM 신호가 일정하기 때문에 추종 트럭의 주행 속도는 일정하며 실험적으로 속도 값이 도출되었다. 실험은 추종 트럭이 일정 거리(약 7 [m])를 주행하는 동안 소요된 시간(평균 12.5 [sec])을 측정하는 방법으로 진행되었고, 도출된 평균 속도는 약 0.56 [m/s]이다. 경고/비상의 경계 차두 시간은 제동 거리를 이용하여 계산된 차두 시간으로 정의되었고, 안전/경고의 경계조건은 경고/비상의 경계 차두 시간의 약 2배의 값으로 정의되었다. 다음 식과 Table 2는 차두 시간을 계산하는 식과 구동 및 제동 판단과 주행 위험 수준 판단 기준을 보여준다.
(3) |
제어부로 인가되는 구동 및 제동의 신호와 위험 수준 판단의 신호 Flag를 위해 식 (3)과 Table 2를 이용하여 설계하였다. 구동 및 제동의 신호 Flag는 구동일 때 0, 제동일 때 1로 정의하였으며, 실시간으로 계산된 위험 수준 판단의 지표 Flag는 Safety(Tracking) 영역에서 0, Warning 영역에서 1, Emergency 영역에서는 2로 정의하였다.
2.2 구동부 제어 알고리즘
판단 단계에서 결정된 구동 및 제동과 위험 수준 판단에 따라 인가되는 Flag를 이용해 인휠 모터를 구동하였으며, 위험 수준은 실시간으로 모니터링을 하도록 설계하였다. 인휠 모터를 사용하기 위해서 구동 및 제동과 회전 방향의 기능을 가진 인휠 모터 드라이버를 이용하였다. 본 연구에서는 인휠 모터의 속도는 일정한 PWM 신호를 인휠 모터 드라이버에 인가하여 일정한 속도로 제어하였다. 다음 식은 거리 기반 구동 임계값에 따른 구동부 제어를 보여준다.
(4) |
식 (4)와 같이 추종 대상과의 거리가 구동 임계값 보다 큰 경우 구동 신호 0이 인가되면 인휠 모터 드라이버의 구동 포트에 일정한 PWM 신호를 인가하여 인휠 모터를 구동하였다. 추종 대상과의 거리가 구동 임계값 보다 작은 경우 Flag 신호 1이 인가되면 인휠 모터 드라이버의 제동 포트에 펄스를 인가하여 제동하도록 설계하였다. 본 연구에서 구동부 제어 방식은 구동 임계값을 기준으로 On/Off 제어 방식이 적용되었으며, 구동 임계값은 Safety와 Warning을 구분하기 위한 차두 시간 경계값 도출을 위해 사용되었다. 그러므로 위험 수준 판단에서 Warning과 Emergency 단계를 같은 제동 범주로 설정하였으며, 제동 신호 1이 인가되면 제동을 하였다. 추후 On/Off 제어 방식이 아닌 가변 제어 방식을 적용하면서 실시간으로 차두 시간을 통해 모니터링되는 위험 수준 판단에 따라 단계별 제동 전략 및 목표 상대 거리 추종 방법을 계획하고 있다.
2.3 조향부 제어 알고리즘
Fig. 6은 조향 제어 알고리즘의 개략도로 상위 단계에서 Linear Quadratic Regulator(LQR) 최적 제어 기법을 기반으로 목표 조향각을 도출하였으며, 상위 단계에서 도출된 목표 조향각을 기반으로 하위 단계에서 목표 조향각 추종을 위해 오차 각도 절댓값의 크기와 펄스의 비례 관계를 이용하여 함수를 설계하였으며, 이를 기반으로 펄스를 조절하여 제어하였다.
(5) |
(6) |
(7) |
상위 단계에서 목표 조향각을 도출하기 위해 Fig. 7과 같이 애커만 기하학 모델을 이용하였다. 여기서 요 각도 오차는 추종 대상의 각도와 같으며 식 (5)와 같이 횡방향 오차를 도출하였다. 이를 기반으로 식 (6)과 식 (7)과 같이 애커만 기하학 모델을 이용하여 오차 방정식을 도출하였다. 여기서 식 (6)의 목표 요 각속도는 0으로 간주하였으며, A와 B는 시스템 모델의 행렬, 입력값은 목표 조향각이다.17)
(8) |
(9) |
식 (8)은 비용함수를 최소화하기 위한 피드백 제어 입력이며 이를 식 (7)에 대입하여 식 (9)의 형태로 재도출하였다. 여기서 K는 최적의 피드백 이득 행렬이다. 피드백 최적 LQR 제어기의 비용함수 및 최적 이득 행렬의 도출 과정은 아래와 같다.
(10) |
(11) |
(12) |
식 (10)은 최적 LQR 제어기의 비용함수이다. 여기서 Q는 오차 가중 행렬, R은 제어 입력 가중 행렬이다. 식 (11)은 Riccati 방정식이며 이를 기반으로 양의 정부호 행렬 P를 도출하였으며, 피드백 이득 행렬이 식 (12)와 같이 정리된다.
(13) |
이를 토대로 비용함수를 최소화하는 제어 입력을 이용하여 식 (13)과 같이 목표 조향각을 도출하였으며, 최적의 피드백 이득 행렬은 Matlab 소프트웨어에서 제공하는 lqr 함수를 이용하여 도출하였다.18)
추종 대상이 이동함에 따라 인지 단계에서 도출된 대표 포인트를 추적하였으며 추적하는 대표 포인트에 각도와 거리 및 목표 조향각을 도출하였다. 이에 대상 추종 트럭이 추종 대상을 따라가기 위하여 대상 추종 트럭의 현재 조향각의 정보가 필요하다. 대상 추종 트럭의 조향각은 인휠 모터의 각도로 Volume Resistor(VR)를 이용하여 최대 및 최소 조향각을 설정하고 최대 및 최소 조향각 범위 내에서의 현재 조향각을 도출하였다. 도출된 목표 조향각과 대상 추종 트럭의 현재 조향각을 이용하여 각도 오차 식 (14)를 도출하였다.
(14) |
위에서 도출한 각도 오차 식 (14)의 대상 추종 트럭의 현재 조향각이 목표 조향각을 따라 각도 오차가 0으로 수렴하게 하여 이동하는 추종 대상의 대표 포인트를 따라가게 하였으며 인휠 모터의 각도를 조향하기 위하여 스텝 모터를 활용하였으며 본 논문에서 이용된 스텝 모터의 제원은 아래 Table 3과 같다.
이용된 스텝 모터의 제원은 정지 상태를 유지하게 하는 최대 여자 정지 토크는 16.7 [kgf-cm]이며 이때 가장 전류를 가장 많이 소모하는 상태가 되며 스텝 모터에 열이 많이 발생하게 된다. 현재 상태를 유지하기 위한 회전자 관성 모멘트는 470 [g-cm2]이다. 스텝 모터는 펄스 기반으로 1 펄스 당 기본 스텝 각도 1.8° 간격으로 구동하였다. 대상 추종 트럭에 짐을 싣게 되면 부하가 증가하게 되기 때문에 인휠 모터를 조향하기 위해 더 큰 토크가 필요하다. 토크를 증폭시키고 기본 스텝 각도의 높은 분해능에 따른 오차를 줄이기 위해 스텝 모터와 감속기를 연결해 인휠 모터를 조향하였다.
Fig. 8은 스텝 모터와 감속기의 감속비를 통하여 최종적으로 회전하는 조향 각도를 나타내는 개략도이다. 사용한 감속기는 1:30의 감속비를 가지고 있으며, 스텝 모터 드라이버에 펄스 신호가 인가되면 이에 따라 스텝 모터에 제어를 위한 펄스를 인가하게 된다. 스텝 모터가 1 펄스 당 기본 스텝 각도 1.8°를 회전하도록 설정되었으며, 감속기의 감속비로 인해 최종적으로 1 펄스 당 0.06°를 회전하도록 설계되었다.
인휠 모터의 조향 방향은 스텝 모터의 회전 방향을 이용하여 정하였으며 스텝 모터의 회전 방향도 펄스 기반으로 변경할 수 있다. Fig. 9는 펄스 기반으로 한 스텝 모터 드라이버의 동작 신호와 회전 방향 신호를 나타내었다. 스텝 모터 드라이버의 동작 신호를 입력받는 Clock Wise(CW) 포트에 펄스 신호 High를 인가한 후 펄스 신호 Low를 인가하게 되면 1 펄스가 생성된다. 이때 스텝 모터는 1 펄스 당 감속기를 거쳐 0.06°를 회전하게 되며 스텝 모터 드라이버의 회전 방향 신호를 입력받는 Counter Clock Wise(CCW) 포트에 펄스 신호 High를 인가하였을 때 시계방향으로 회전을 하며 펄스 신호 Low를 인가하였을 때 반시계방향으로 스텝 모터의 회전 방향을 설정할 수 있다. 대상 추종 트럭의 인휠 모터 각도는 트럭을 기준으로 하여 시계방향으로 회전하면 감소를 하며 반시계방향으로 회전하면 각도는 증가하게 된다. 이를 기반으로 각도 오차가 0으로 수렴할 때까지 스텝 모터를 구동한다. 하지만 작은 각도 오차에도 스텝 모터를 구동하면 인휠 모터의 조향각이 계속하여 바뀌게 되기 때문에 대상 추종 트럭은 부드럽게 주행을 하지 못하게 된다. 이에 부드러운 주행을 위해 각도 오차의 임곗값을 설계하였으며 이 임곗값 내 각도 오차를 허용하여 주행하게 설계하였다. 이와 같은 방법은 아래 다음과 같다.
(15) |
위의 식 (15)와 같이 각도 오차와 임곗값과 비교하여 스텝 모터의 회전 방향 펄스 신호를 생성하였다. 추종 대상이 트럭에 대하여 시계방향으로 이동을 하였을 때 추종 대상의 각도는 임곗값 안에 들어올 때까지 스텝 모터 드라이버의 회전 방향 신호를 입력받는 CCW 포트에 High 펄스 신호를 인가하도록 설계하였다. 반대로 추종 대상이 트럭에 대하여 반시계방향으로 이동하였을 때는 CCW 포트에 Low 펄스 신호를 인가하도록 알고리즘을 설계하였다.
상위 단계에서 목표 조향각이 도출되면 이에 현재 조향각이 목표 조향각을 추종하기 위해 스텝 모터를 제어하였다. 목표 조향각과 현재 조향각의 각도 오차가 커질수록 스텝 모터의 각속도를 빠르게 하여 목표 조향각에 수렴하여야 한다. 스텝 모터는 펄스에 의해 구동하기 때문에 펄스 생성에 따라서 각속도가 변하게 된다. 이에 각도 오차 절댓값 크기의 상한값을 정의하였으며, 이에 비례한 펄스를 생성하여 목표 조향각에 수렴할 수 있게 하위 단계에서 스텝 모터의 각속도를 제어하였다.
펄스를 생성하기 위하여 스텝 모터 드라이버 CW 포트에 펄스 신호 High를 인가한 다음 펄스 신호 Low를 인가하면 1 펄스가 생성된다. 이에 CW 포트에 인가되는 펄스 신호가 High에서 Low로 변하는 사이에 Delay time의 영향에 따라 각속도에 영향을 주는데 Delay time이 작을수록 더 많은 펄스를 생성하여 스텝 모터의 각속도는 커지게 되며, 반대로 Delay time이 클수록 각속도는 작아진다. 이를 기반으로 식 (16)과 같이 시간 지연 함수를 설계하였다.
(16) |
식 (16)의 a는 Delay time 조절을 위한 값으로 상한값이 있는 각도 오차 절댓값을 이용하여 도출되며, 이는 아래 식 (17)을 통하여 설계하였다.
(17) |
펄스 생성과 각도 오차의 절댓값은 비례 관계이지만 펄스 생성과 Delay time은 반비례 관계이다. 따라서 식 (17)과 같이 각도 오차 절댓값을 기반으로 Delay time 조정값(식 (17)의 a)을 설계하였다. 각도 오차 절댓값의 크기에 따라 Delay time 조정값은 3에서 1의 값을 가지게 설계하였다. 이를 기반으로 각도 오차가 커지면 Delay time 조정값에 의해 Delay time이 작아져 많은 펄스를 생성하여 목표 조향각에 빠르게 수렴을 하며, 이에 반대로 각도 오차가 작으면 Delay time 조정값에 의해 Delay time이 커져 적은 펄스를 생성하는 비례함수를 이용하여 목표 조향각을 추종하도록 제어하였다.
3. 실 시스템 기반 성능평가
본 논문에서 제안하는 대상 추종 트럭은 단층 레이저 스캐너, 스텝 모터, 인휠 모터, 감속기와 모터 드라이버로 구성이 되었으며 제어를 위해 2개의 MCU가 사용되었다. 실험에 사용된 모터와 MCU는 24 V 배터리 2개와 6 V 배터리 1개를 이용해 전원을 공급하였다. 개발된 대상 추종 트럭의 성능평가는 J-turning과 S-curve 두 가지 시나리오에서 일정 속도로 수행되었다.
Fig. 10에서의 (a)는 대상 추종 트럭의 하드웨어 구성도와 제원을 보여주며, (b)는 개발된 실제 추종 트럭의 사진이다. Fig. 10의 (c)는 개발된 조향 및 구동 모듈이며 스텝 모터와 감속기가 연결되어 감속기의 감속비를 통해 최종 조향각이 결정되는 구조를 보여준다. Fig. 10의 (d)와 (e)는 실 시스템 기반 평가된 두 가지 시나리오와 평가 환경을 보여준다.
위의 Table 4는 실제 추종 트럭의 제원과 레이저 스캐너의 설치 정보를 확인할 수 있으며, 레이저 스캐너는 추종 대상의 합리적 포인트 데이터 획득을 위해 지면으로부터 약 0.3 [m] 높이에 센서가 위 방향을 바라보도록 회전각 약 2°를 갖도록 설치되었다.
Table 5는 구동 및 조향과 목표 조향각 도출을 위한 제어 파라미터이다. k1과 k2는 Matlab에서 제공하는 lqr 함수를 이용하여 도출된 최적 피드백 이득 행렬이다. 가중 행렬 Q와 R의 값은 Table 5와 같이 설정하여 횡방향 오차에 가중치를 주어 오차를 최소화하게 설정하였고, 제어 입력을 작게 하여 제어하였다.
3.1 직진 후 선회 경로 추종
시나리오 1은 대상 추종 트럭의 J-turning path tracking으로 추종 대상이 10 m 직진 후 반시계방향으로 J-turn 하는 시나리오이며 아래 Fig. 11과 같다.
Fig. 12의 검은 실선은 추종 대상과 대상 추종 트럭 사이의 상대 거리, 빨간 점선은 구동 임계값을 나타낸다. 구동 임계값 보다 추종 대상의 거리가 큰 경우 일정 PWM 신호를 인휠 모터에 인가하고, 추종 대상의 거리가 작은 경우 제동이 수행되도록 구동부 알고리즘이 작동되는 것을 확인하였다. Fig. 13은 구동 및 제동의 지표 Flag를 나타낸다. 상대 거리가 구동 임계값 이상이면 구동 Flag가 0이 생성되어 구동 펄스 신호를 인휠 모터 드라이버에 인가하는 것을 확인할 수 있으며 추종 대상의 거리가 구동 임계값 미만이면 제동 Flag가 1이 생성되어 제동 펄스 신호를 인휠 모터 드라이버에 인가하는 것을 확인할 수 있다.
Fig. 12에서 확인할 수 있듯이 약 0.6 [m]에서 1 [m] 사이로 추종 대상과의 거리를 유지하며 추종하는 것을 확인할 수 있는데 이는 Fig. 13과 같이 추종 트럭이 추종 대상과의 거리가 구동 임계값 이내로 가까워지면 제동하다 멀어져 다시 구동하기 때문이다. 이를 통하여 추종 트럭의 제동 거리에 도달되기 전에 구동 신호가 인가되어 구동되는 것과 구동부의 On/Off 제어 방식의 특성을 확인할 수 있다. Fig. 12에서 확인할 수 있는 상대 거리와 구동 임계값 사이의 오차를 이용하여 구동부 제어 성능 분석을 위해 추종 오차의 평균과 표준 편차를 계산하였으며, 시나리오 1의 경우 오차의 평균은 약 0.151 [m], 표준 편차는 약 0.138 [m]임을 확인하였다.
Fig. 14는 차두 시간과 그에 따른 위험 영역을 보여준다. 초록 점선은 안전/경고의 경계값이며, 빨간 점선은 경고/비상의 경계값이다. 이에 따라 차두 시간이 초록 점선 이상이면 Safety 영역, 초록 점선과 빨간 점선 사이의 범위는 Warning 영역, 빨간 점선 아래는 Emergency 영역이다. Fig. 15는 이에 따른 위험 단계 판단의 지표를 나타내며, Fig. 14의 차두 시간에 따라 위험 단계 판단 지표는 Safety 영역일 때 0, Warning 영역일 때 1의 지표를 생성하는 것을 확인할 수 있으며, 마지막 Sampling instance에서는 추종 대상이 경로 주행 후 정지하였기 때문에 Emergency 영역 내에 위치하여 2의 지표를 생성하는 것을 확인할 수 있다.
Fig. 16은 추종 트럭을 애커만 기하학 모델을 이용하여 도출한 횡방향 오차와 요 각도 오차이다. 직진 주행일 때의 요 각도 오차는 작은 값을 가지며 대략 200번째 Sampling instance에서 요 각도 오차가 급격하게 커지는데 이는 추종 대상이 반시계방향으로 선회하는 것을 확인할 수 있다. Sampling instance 200∼250 구간에서 확인할 수 있듯이 선회 추종 과정에서 대차와 대상과의 각도는 약 40°의 차이가 있음을 확인하였다.
Fig. 17의 빨간 점선은 피드백 최적 LQR 제어를 이용하여 도출된 목표 조향각이며, 검은 실선은 현재 추종 트럭의 조향각이다. Fig. 17에서 대략 200에서 250번째의 Sampling instance에서 추종 대상이 직진 후 반시계방향으로 선회함에 따라 목표 조향각이 급격하게 반시계방향으로 증가하였다가 시계방향으로 감소하는 것을 확인할 수 있다. 이에 따라 추종 트럭의 조향각도 증가하였다가 감소하는 것을 확인할 수 있다. Fig. 18에서의 검은 실선은 각도 오차이고, 빨간 점선은 각도 오차 임계값이다. 이에 따라 목표 조향각과 현재 조향 각도의 오차를 각도 오차 임계값과 비교하여 반시계방향으로 선회하는 구간에서 각도 오차가 임계값 보다 커지는 것을 확인할 수 있다. 또한 Fig. 18에서 확인할 수 있듯이 각도 오차와 임계값을 기반으로 스텝 모터의 회전 방향 펄스 신호를 생성한다. 회전 방향 펄스 신호를 입력받는 CCW 포트에 각도 오차가 임계값보다 작으면 High 펄스 신호를, 각도 오차가 임계값보다 크면 Low 펄스 신호를 인가하여 준다.
Fig. 19 (upper)는 비례함수에서의 상한값이 있는 각도 오차 절댓값의 크기를 보여주며 Fig. 19 (lower)는 각도 오차 절댓값의 크기와 펄스 비례 관계에 따른 Delay time 조정값인 a를 보여준다. Fig. 19를 통해 각도 오차 절댓값의 크기에 따라 Delay time 조정값의 변화를 볼 수 있으며 이에 맞게 Fig. 20에서 펄스를 생성하는 것을 확인할 수 있다. 반시계방향으로 선회하기 전의 직진 주행을 하는 상황에서는 각도 오차 절댓값의 크기가 작아 Delay time 조정값이 3의 값을 가지며 선회하는 구간에서는 각도 오차 절댓값의 크기가 커짐에 따라 Delay time 조정값이 1로 작아지는 것을 확인할 수 있다. Fig. 20은 스텝 모터 드라이버 포트로 인가되는 회전 방향 펄스 신호의 결과이며 Fig. 18과 19를 통하여 스텝 모터의 회전 방향과 비례함수를 통해 도출된 Delay time을 통해 펄스 폭이 조절되며 생성되는 것을 확인할 수 있다. 회전 방향은 회전 신호 포트 CCW에 펄스 신호 High가 인가되면 검은 실선의 CW가 1의 값으로 시계방향으로 스텝 모터가 회전한다. 이에 반대로 회전 신호 포트 CCW에 펄스 신호 Low가 인가되면 빨간 점선의 CCW가 1의 값으로 반시계방향으로 스텝 모터가 회전하는 것을 확인할 수 있다.
Fig. 21은 주행 상황에서의 걸린 실제 시간으로 한 번의 Sampling instance 간격에 따른 평균 시간을 도출하였으며 이는 0.097초임을 확인할 수 있다. 한 번의 Sampling instance 0.097초 동안 레이저 스캐너로 추종 대상의 거리 및 각도를 실시간으로 계측하고 위험 단계를 판단하여 구동부에는 구동 및 제동 신호, 조향부에는 스텝 모터에 펄스 신호를 인가하여 각속도 및 방향을 제어한다.
3.2 S자 커브 경로 추종
시나리오 2는 대상 추종 트럭의 S-Curve path tracking으로 추종 대상이 두 개의 변곡점을 가지는 길이 10 m의 S자 커브 경로를 이동하는 상황으로 아래 Fig. 22와 같다.
Fig. 23과 Fig. 24를 통해 추종 대상과 대상 추종 트럭 사이의 거리를 구동 임계값과 비교하여 구동부를 제어하는 것을 확인할 수 있다. 추종 대상과의 거리가 구동 임계값 보다 큰 경우에 Flag 신호는 0으로 나타내어 인휠 모터를 구동하고 구동 임계값 보다 추종 대상과의 거리가 작아짐에 따라 Flag 신호 1을 나타내어 인휠 모터를 제동하는 것을 확인할 수 있다.
Fig. 23에서 확인할 수 있듯이 On/Off 제어 방식의 특성으로 인해 약 0.6 [m]에서 1 [m] 사이로 추종 대상과의 거리를 유지하며 추종하는 것을 확인할 수 있다. 구동 제어 성능 확인을 위하여 도출된 구동 임계값과 상대 거리 추종 오차의 평균은 약 0.127 [m]이며, 추종 오차의 표준 편차는 약 0.097 [m]로 계산되었다.
Fig. 25는 차두 시간과 그에 따른 위험 영역을 보여주며 Fig. 26은 이에 따른 위험 영역 판단의 지표를 나타낸다. 시나리오 1과 같이 실시간으로 도출되는 차두 시간에 따라 위험 단계 판단 지표가 생성되는 것을 확인할 수 있다. 마지막 Sampling instance에서는 추종 대상이 경로 주행 후 정지하여 Emergency 영역 내에 위치하여 2의 지표를 생성하는 것을 확인할 수 있다.
Fig. 27은 애커만 기하학 모델을 이용하여 도출한 횡방향 오차와 요 각도 오차로 시나리오 1과 같이 추종 대상이 직진 주행할 때의 요 각도 오차는 작은 값을 가지는 것을 확인할 수 있다. 또한 약 150번째와 400번째 Sampling instance에서는 추종 대상이 변곡점을 지나는 상황으로 요 각도 오차가 급격하게 변하는 것을 확인할 수 있다. 약 150번째 Sampling instance의 첫 번째 변곡점에서는 요 각도 오차가 감소하는 것으로 추종 대상이 시계방향으로 변곡점을 지나는 것을 확인할 수 있다. 약 400번째 Sampling instance의 두 번째 변곡점에서는 요 각도 오차가 증가하는 것으로 추종 대상이 반시계방향으로 변곡점을 지나가는 것을 확인할 수 있다.
Fig. 27을 기반으로 도출된 목표 조향각과 추종 트럭의 조향각을 Fig. 28을 통해 확인할 수 있다. 두 개의 변곡점을 지나는 상황에서 목표 조향각이 감소하였다 증가하며, 추종 트럭의 조향각이 이를 추종하는 것을 확인할 수 있다. 이에 따라 Fig. 29에서는 두 개의 변곡점에 따라 추종 트럭의 조향각이 목표 조향각을 추종하기 위해 각도 오차가 각도 오차 임계값을 기준으로 작아지거나 커지는 것을 확인할 수 있다. 첫 번째 변곡점은 시계방향으로 회전하여 오차 임계값 기준으로 각도 오차가 작아지는 것을 확인할 수 있으며 두 번째 변곡점은 반시계방향으로 회전하여 오차 임계값 기준으로 각도 오차가 커지는 것을 확인할 수 있다.
Fig. 30을 통해 각도 오차 절댓값 크기에 따라 Delay time 조정값이 변하는 것을 확인할 수 있다. 추종 대상이 직진 주행할 때는 각도 오차 절댓값이 작은 값을 가져 Delay time 조정값이 3을 유지하는 것을 확인할 수 있으며, 변곡점을 지날 때 각도 오차 절댓값 크기가 커짐에 따라 Delay time 조정값이 작아지는 것을 확인할 수 있다. 이에 따라 Fig. 31에서는 Fig. 29와 30을 통하여 스텝 모터의 회전 방향이 첫 번째 변곡점까지 시계방향의 펄스를 인가하며 두 번째 변곡점에 도달할 때까지 반시계방향의 펄스를 인가하여 회전하는 것을 볼 수 있으며 비례 제어를 통해 도출된 Delay time을 통해 펄스가 조절되어 생성되는 것을 확인할 수 있다.
Fig. 32는 Sampling instance에 따른 실제 시간을 나타낸 그래프이며 이를 통해 Sampling instance 간격에 대한 매시간 간격을 도출하고 평균 시간을 계산하였을 때 0.097초임을 확인할 수 있다. Fig. 33은 애커만 기하학 모델을 이용하여 도출된 횡방향 오차를 X축으로 요 각도 오차를 Y축으로 하여 오차 평면상에 나타내었다. 검은 실선은 시나리오 1의 J-turning 상황이고 빨간 점선은 시나리오 2의 S-curve 상황이다. 추종 대상이 선회하거나 변곡점을 지나는 경우 추종 대상의 거리가 구동 임계값보다 가까운 상태에서 이동하는 상황이 발생한다. 이에 제동 신호가 인가되어 추종 트럭은 정지하여 있고 추종 대상은 선회하기 때문에 요 각도 오차가 급격하게 커지기 때문에 요 각도 오차가 횡방향 오차보다 상당히 큰 것을 확인할 수 있다. 시나리오 1의 오차는 반시계방향으로 선회하는 주행 상황이기 때문에 요 각도 오차가 반시계방향으로 치우쳐서 분포하는 것을 확인할 수 있다. 시나리오 2는 두 개의 시계방향과 반시계방향의 변곡점을 가지는 주행 상황이기 때문에 시나리오 1과 다르게 요 각도 오차가 균등하면서 넓은 영역으로 분포하는 것을 확인할 수 있다.
4. 결 론
본 논문에서는 추종 대상을 인지하기 위한 단층 레이저 스캐너, 구동을 위한 인휠 모터, 조향을 위한 스텝 모터와 이를 제어하기 위해 MCU를 이용하여 대상 추종 트럭을 개발하였다. 인지 단계에서는 단층 레이저 스캐너로 Detection ROI 내에 추종 대상을 인지하여 포인트 클라우드를 생성하였으며 생성된 포인트 클라우드를 군집화하여 추종 대상의 대표 포인트를 도출하였다. 이 도출된 대표 포인트를 기반으로 확장된 Tracking ROI 내 위치하는 추종 대상의 대표 포인트를 재도출하여 추종하였다. 판단 단계에서는 제동 거리와 평균 속도를 이용하여 도출된 차두 시간으로 위험 영역을 3단계로 구분하였다. 제어 단계의 상위 제어기에서는 애커만 기하학 모델을 통해 도출된 추종 트럭의 오차 방정식과 피드백 최적 LQR 제어 기법을 이용하여 목표 조향각을 도출하였다. 도출된 목표 조향각을 추종하기 위해 하위 제어기에서 상한값을 정한 각도 오차 절댓값과 펄스의 비례 관계를 이용하였으며, 이는 펄스의 Delay time을 조절하여 제어하였다. 성능평가는 J-turning path와 S-curve path 2가지의 시나리오로 진행하였으며 한 번의 Sampling instance마다 평균 0.097초로 제어하는 것을 확인하였다. 대상 추종을 위해 이용된 레이저 스캐너 특성상 강한 빛을 받으면 대상 탐지에 어려움이 있으며 포인트 클라우드에 의존하기 때문에 추종 대상 탐지에 대하여 강건한 추종 성능이 확보되지 못함을 확인하였다. 그리고 레이저 스캐너로는 경사를 구분하지 못하기 때문에 이에 따른 속도를 조절하기가 어려운 한계점을 가지고 있다. 따라서 향후 개발되는 대상 추종 트럭에 단층 레이저 스캐너가 아닌 다른 다양한 센서들을 이용하거나 융합하여 레이저 스캐너의 한계점을 보완할 계획이다. 그리고 구동부 제어 방식은 구동 임계값을 기준으로 On/Off 제어 방식이 적용되었기 때문에 Warning과 Emergency 단계를 같은 제동 범주로 보았다. 이는 추후 On/Off 제어 방식이 아닌 가변 제어 방식을 적용하여 경계영역을 최적화하며, 실시간으로 모니터링되는 위험 수준 판단에 따라 단계별 제동 전략과 주행 속도를 고려한 목표 상대 거리 설계 및 적응형 제어 기법 적용으로 추종 방법의 알고리즘을 고도화할 계획이다. 본 연구에서 제안하는 대상 추종 트럭은 이용 목적과 장소에 따라 다양한 센서들을 활용한다면 여러 분야에서의 활용 가능성을 기대한다.
Nomenclature
θobj : | object angle, degree |
θstr : | steering angle, degree |
θi : | point cloud angle, degree |
θaυg : | clustered point angle, degree |
θFOV : | field of view, degree |
NR : | the number of point in region of interest, - |
ri : | point cloud distance, m |
raυg : | distance between laser scanner and clustered point, m |
eang : | angle error of desired and current steering, degree |
rth : | driving of threshold, m |
eth : | angle error of threshold, degree |
ey : | lateral error, m |
eψ : | yaw angle error, degree |
L : | wheel base, m |
tw : | wheel tread, m |
ψ : | yaw angle, rad |
: | desired yaw rate, rad/s |
δdes : | desired wheel angle, degree |
δratio : | steering ratio, - |
υaυg : | average velocity, m/s |
Th : | time headway, microsecond |
td : | time delay, microsecond |
a : | gain for time delay adjusting, - |
Acknowledgments
A part of this paper was presented at the KSAE 2021 Fall Conference and Exhibition
References
- D. H. Lee, K. J. Han, S. M. Cho, Y. S. Kim and K. S. Huh, “Development of a Frontal Collision Detection Algorithm Using Laser Scanners,” Transactions of KSAE, Vol.20, No.3, pp.113-118, 2012. [https://doi.org/10.7467/KSAE.2012.20.3.113]
- D. C. Kim, J. H. Han and M. H. Sunwoo, “Multiple Vehicle Tracking in Urban Environment Using Integrated Probabilistic Data Association Filter with Single Laser Scanner,” Transactions of KSAE, Vol.21, No.4, pp.33-42, 2013. [https://doi.org/10.7467/KSAE.2013.21.4.033]
- J. C. Seo, S. T. Oh and Y. K. Kim, “A Study of Curved Lane Detection Based on Dual Sensor Monitoring of LiDAR and Camera,” Transactions of KSAE, Vol.29 No.2, pp.197-204, 2021. [https://doi.org/10.7467/KSAE.2021.29.2.197]
- J. U. Jeong, C. H. Park and S. C. Kee, “Detection and Tracking of Mobile Obstacles Based on Low-resolution LiDAR for Autonomous Delivery Services,” KSAE Spring Conference Proceedings, pp.369-370, 2020.
- H. Wang and X. Zhang, “Real‐Time Vehicle Detection and Tracking Using 3D LiDAR,” Asian Journal of Control, pp.1-11, 2021. [https://doi.org/10.1002/asjc.2519]
- W. Farag, “Kalman-filter-based Sensor Fusion Applied to Road-objects Detection and Tracking for Autonomous Vehicles,” Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering, Vol.235, No.7, pp.1125-1138, 2021. [https://doi.org/10.1177/0959651820975523]
- H. Bozorgi, X. T. Truong, H. M. La and T. D. Ngo, “2D Laser and 3D Camera Data Integration and Filtering for Human Trajectory Tracking,” IEEE/SICE International Symposium on System Integration(SII), pp.634-639, 2021. [https://doi.org/10.1109/IEEECONF49454.2021.9382732]
- T. Taipalus and J. Ahtiainen, “Human Detection and Tracking with Knee-high Mobile 2D LIDAR,” IEEE International Conference on Robotics and Biomimetics, pp.1672-1677, 2011. [https://doi.org/10.1109/ROBIO.2011.6181529]
- H. S. Seo, H. S. Yoon, D. K. Kim, J. W. Kim, S. J. Kim, J. H. Chun and J. H. Choi, “Direct TOF Scanning LiDAR Sensor with Two-step Multievent Histogramming TDC and Embedded Interference Filter,” IEEE Journal of Solid-State Circuits, Vol.56, No.4, pp.1022-1035, 2021. [https://doi.org/10.1109/JSSC.2020.3048074]
- D. H. Cho, K. J. Ahn and Y. S. Kang, “A Study on a Tracking and Lane Recognition Method for Nearby Vehicles Using 3D LiDAR and a High-Precision Digital Map,” Journal of Institute of Control, Robotics and Systems, Vol.25, No.5, pp.414-423, 2019. [https://doi.org/10.5302/J.ICROS.2019.19.0051]
- S. H. Yum, S. H. Eom and E. H. Lee, “The Technique of Human Tracking Using Ultrasonic Sensor for Human Tracking of Cooperation Robot Based Mobile Platform,” Journal of IKEEE, Vol.24, No.2, pp.638-648, 2020.
- M. Tammvee and G. Anbarjafari, “Human Activity Recognition-based Path Planning for Autonomous Vehicles,” Signal, Image and Video Processing, Vol.15, No.4, pp.809-816, 2021. [https://doi.org/10.1007/s11760-020-01800-6]
- Y. D. Setiawan, P. S. Pratama, J. W. Kim, D. H. Kim, Y. S. Jung, S. B. Kim, S. M. Yoon, T. K. Yeo and S. Hong, “Path Replanning and Controller Design for Trajectory Tracking of Automated Guided Vehicles,” International Conference on Advances in Computing, Communications and Informatics(ICACCI), pp.771-777, 2014. [https://doi.org/10.1109/ICACCI.2014.6968519]
- A. Kumar, “Development of an Automated Guided Vehicles in Industrial Environment,” International Journal of Mechanical Engineering and Robotics Research, Vol.3, No.1, pp.377-391, 2014.
- J. Qi and Y. Wu, “Trajectory Tracking Control for Double-steering Automated Guided Vehicle Based on Model Predictive Control,” Journal of Physics: Conference Series, Vol.1449, No.1, Paper No. 012107, 2020. [https://doi.org/10.1088/1742-6596/1449/1/012107]
- S. H. Kim, H. J. Kim, M. J. Jang, S. C. Oh and K. S. Oh, “Development of a LiDAR-based Single Steering and Driving Device for Automated Cart using Step and In-Wheel Motors,” KSAE Fall Conference Proceedings, pp.1154-1155, 2021.
- K. S. Oh and K. S. Yi, “A predictive Driver Model with Physical Constraints for Closed Loop Simulation of Vehicle-driver System,” 17th International IEEE Conference on Intelligent Transportation Systems (ITSC), pp.3126-3131, 2014.
- H. G. Lee, T. Y. Kim, D. Y. Yu and S. H. Hwang, “Path-Following Correction Control Algorithm Using Vehicle State Errors,” Transactions of KSAE, Vol.30. No.2, pp.123-131, 2022. [https://doi.org/10.7467/KSAE.2022.30.2.123]