1. 서 론
최근 4차산업 혁명이 시작되고 그 물결이 우리 산업 전 반으로 퍼지면서 우리 주변에서도 흔히 4차산업의 산물들 이 나타나기 시작했다. 그 중 우리 사회에 가장 직접적으 로 나타난 것은 아마도 드론과 로봇일 것이다. 관련 기술 이 많이 개발되기도 했지만 이젠 우리 사회에서 공간의 한계를 저비용으로 극복하기 위해 가장 많이 사용하는 방 법은 이제 드론을 활용하는 것이 되었다. 방송 촬영 드론, 산불 감시, 방제 드론 등 다양한 분야에서 사용되고 있는 데 이 중 가장 각광받고 있는 분야는 단연 물류 분야일 것이다[1, 2].
물류 배송 시장은 해가 거듭할수록 시장 규모가 커지 고 물류 서비스를 제공하는 기업 또한 빠르게 성장하고 있는데 시장 규모가 급격하게 성장하면서 택배 단가가 낮아지면서 사람이 직접 택배를 배송하는데 한계에 이르 기 시작했다. 이러한 문제를 해결하기 위해서는 택배 물 량을 분산하여 다른 수단을 통해 배송하는 것이 필요해 졌다.
본 연구팀은 이러한 문제를 해결하기 위해 무인이동체 를 활용해서 Last-Mile 배송 서비스 연구를 수행하였다. 드 론이 물류 거점에서 최종 배송지 근처 또는 건물 옥상까지 물품을 배송하고 배송된 물품을 지상 로봇에 실어 최종 소비자에게 물품을 배송한다. 이를 수행하기 위해서는 드 론이 도심지에서 정밀하게 착륙할 수 있도록 영상기반 자 동착륙 알고리즘이 탑재되어야 하고 지상 거점으로부터 건물 옥상에 있는 목적지까지 자율 비행이 가능해야 한다. 영상기반 자동 착륙 알고리즘의 경우 연구 초기에는 영상 처리 컴퓨터 성능의 한계로 주로 색상 마커를 이용해 착륙 연구가 수행되었다[3, 4]. 이후로는 영상처리 컴퓨터 성능 이 우수해지면서 특정 형태의 마커를 인식하고 자동 착륙 하는 연구도 진행되었다[5].
본 논문은 Last-Mile 배송 서비스에 포함된 배송 드론에 필요한 기술에 대해 개발한 내용을 다루고 있다. 먼저 드 론이 수행할 임무는 물품 집하지에서 배송 물품을 실어 그 물품의 최종 목적지가 있는 건물 옥상에 물품을 나르는 것이다. 건물 옥상에는 물품을 배송 로봇으로 인계하는 중 간 시설물이 있는데 그 시설물 지붕에 있는 마커에 정밀하 게 착륙해서 물품을 내려놓아야 한다. 물품을 내려놓으면 배송 드론은 다시 출발지로 복귀해서 다음 물품 배송을 준비하게 된다. 이를 자동으로 수행하기 위해서 건물 상공 까지 갈 수 있는 비행 임무와 지붕 위에 마커에 정밀하게 착륙할 수 있는 영상기반 착륙 알고리즘을 개발하였고 ETRI 원내에서 여러 번의 시범 운영을 통해 그 성능을 입 증하였다.
2. 시스템 구성
2.1 하드웨어 구성
본 연구를 통해 개발된 배송 드론은 6개의 모터를 가진 HexaCopter 타입이다. 드론의 랜딩기어 사이에 물품을 실 을 수 있는 적재함이 위치하고 적재함 앞쪽으로 하방에 H마커를 탐지할 수 있는 카메라가 탑재되어 있으며 적재 함과 랜딩기어 사이에 아래 지면까지의 거리를 측정할 수 있는 1차원 Range Finder가 탑재되어 있다. 그리고 적재함 상판 위로 배터리 2개가 위치하며 그 위로 자율 비행 및 영상기반 자동 착륙 알고리즘이 실행되는 mission computer와 LTE 모뎀이 위치한다. 전체적인 형상은 <Figure 1A>에서 볼 수 있고 내부 주요 센서 및 구성품들은 <Figure 1B>와 같다.
프로펠러를 포함한 드론의 전체 크기는 약 1.8m×1.8m 정도이고 기체 무게는 9.8kg이며 payload를 포함한 MTOW(Maximum Take-off Weight)는 22kg이다. 다른 세 부 제원 내용은 <Table 1>의 내용과 같다.
그리고 드론 하방에 부착된 적재함은 드론 후방에서 물 품을 적재할 수 있도록 고정식 여닫이문으로 구성되어 있 고 적재함 하단으로 물품이 투하될 수 있게 구성되어 있 다. 적재함의 구성은 <Figure 2>의 그림과 같다.
2.2 소프트웨어 구성
배송 드론에 탑재되는 소프트웨어는 물품 배송을 위해 자율 비행을 담당하며 배송 경로와 비상상황에 드론을 제 어할 수 있는 Mission Planner가 있고 드론을 모니터링하 고 배송 과정과 비상상황에 따라 명령을 내릴 수 있는 Ground Control System과 통신하기 위한 Comm Node, 그 리고 하방 카메라로부터 들어오는 영상에서 H마커의 위 치를 탐지하는 Marker Detection으로 구성되어 있다.
드론에 탑재된 NVIDIA Xavier NX에는 Ubuntu 20.04 LTS 가 설치되어 있고 소프트웨어 알고리즘은 ROS Noetic 환경에 서 개발되었고 프로그래밍 언어는 C++을 사용하였다.
소프트웨어 아키텍처의 전체적인 데이터 흐름 구성은 <Figure 3>에 나온 것과 같다. 먼저 Mission Planner는 크게 다섯 가지 그룹으로 구성되어 있으며 드론을 임무에 따라 State 흐름을 관장하는 State Flow, GCS로부터 배달점 Array 를 받았을 때 배송 임무로 변환하거나 출발지로 돌아오는 복귀 임무, 비상상황일 때 임무를 생성하는 Mission Manager, GCS로부터 배송 시작 및 여러가지 비상상황 명령을 받고 배달점 Array를 관리하는 Command, FCC(Flight Control Computer)로부터 드론의 State를 업데이트하는 State Update, 마지막으로 영상기반 착륙을 위해 마커 탐지 알고리즘으로 부터 마커의 이미지 평면 위치를 받아서 드론의 현재 정보를 통해 마커 위치를 계산하는 Marker Localization 모듈로 구성 되어 있다.
3. 알고리즘
3.1 배송 자동화 알고리즘
드론을 이용해 배송 물품을 건물 옥상에 보내기 위해서 는 배송 경로가 설정되어야 한다. 드론은 먼저 지상에서 배송 시스템 운용자에 의해 물품을 탑재하게 된다. 운용자 는 배송 관제 시스템을 사용하여 해당 물품의 최종 목적지 를 입력하면 현재 드론의 위치로부터 해당 목적지 건물 옥상까지 가는 경로를 드론으로 전송하게 된다. 본 임무를 수행하기 위한 Mission flow chart는 <Figure 4>와 같다.
GCS로부터 전송되는 배달점들은 위도, 경도, 해발고도 (Above Mean Sea Level, AMSL) 세 정보를 포함하고 있다. GCS로부터 전송되는 배달점 Array를 DP라고 하면 DP는 n개의 집합으로 구성되어 있으며 아래와 같이 나타낼 수 있다.
그리고 임무 생성 알고리즘에서는 GCS에서 보내준 Array 정보를 통해 이륙부터 착륙까지 자율 비행 임무를 생성해야 하는데 아래 식과 같이 나타낼 수 있다.
위 식에서 T (∙) 은 Take-off mission mapping으로 해당 점을 기준으로 이륙을 수행하는 임무를 나타낸다. W(∙) 는 Waypoint mission mapping으로 해당점으로 웨이포인트 비행을 수행하는 임무를 나타낸다. 마지막으로 L (∙) 은 Landing mission mapping으로 하방 영상으로 마커 탐지가 되었을 땐 영상 기반 착륙을 수행하고 그렇지 않을 땐 dpn 을 기준으로 착륙하게 된다. 자세한 내용은 <Algorithm 1> 에 Pseudo Code로 나타냈다.
그리고 물품 배송을 완료하면 다시 처음 위치로 복귀하 는 임무를 생성하게 되는데 복귀 임무는 아래 식과 같이 생성할 수 있다.
복귀 임무는 GCS에서 받은 배달점 Array를 거꾸로 읽 어 mission mapping을 수행하여 만들 수 있다.
3.2 영상기반 정밀 착륙 알고리즘
물품을 적재한 드론이 착륙 지점 상공에 도착하면 건물 옥상에 설치된 중간 시설물에 착륙해야 한다. 로봇에 인계 할 중간 시설물은 크게 만들 수 없기 때문에 최소한의 크 기를 가져야 한다. 본 연구에서 사용된 마커의 크기는 1.5m×1.5m 라서 기본적으로 GPS 위치 기반이 아닌 영상 기반 정밀 착륙을 수행해야 한다.
영상기반 착륙을 수행하기 위해서는 먼저 카메라를 통 해서 마커를 탐지해야 한다. 마커를 탐지하기 위한 여러가 지 방법들이 있지만 본 연구팀은 임베디드 컴퓨터에서도 사용이 가능한 MobileNet-SSD라는 알고리즘을 활용하여 타겟을 학습하였고 학습된 모델을 대회에 사용하였다. MobileNet-SSD의 학습은 실제 환경에서 저장된 비디오로 부터 추출된 이미지를 가지고 수행하였다. 입력 영상은 900×720크기로 30Hz의 속도로 들어왔다. 본 연구에서 이 미지 영상처리 컴퓨터로 NVIDIA Xavier NX를 사용하였 는데 NX는 384개의 GPU 코어를 가지고 있고 이를 통해 학습 기반 탐지 알고리즘을 실시간으로 운용할 수 있다.
드론에 탑재된 카메라를 통해 들어오는 이미지에는 드 론 모터에서 나오는 진동 때문에 노이즈가 많이 발생한다. 이러한 센서 환경의 특성을 반영하기 위해서 본 연구팀은 데이터셋을 만들 때 정상 이미지와 함께 흐림 효과(Blur) 처리된 이미지를 추가하였다. 그리고 조도에 대한 강인성 을 높이기 위해서 밝기가 조절된 이미지들도 함께 학습 데이터셋으로 추가되었다. MobileNet-SSD의 탐지 결과는 <Figure 5>에서 확인할 수 있다.
위의 탐지 알고리즘으로 H마커의 2차원 평면의 위치를 알았다면 다음으로 마커의 현실세계의 위치를 알아야 한 다. 이는 탐지된 마커의 이미지 평면에서의 위치와 카메라 파라미터를 통해 알 수 있다. 본 연구에서 사용된 카메라 는 Pointgrey에서 제공하는 Chameleon3라는 USB 카메라 를 사용하였고 빛을 모으는 렌즈로는 어안렌즈(Fisheye Lens)를 사용하였다. 어안렌즈를 이용해 영상을 획득하면 넓은 영역을 볼 수 있는 장점이 있는 반면에 영상의 가장 자리로 갈수록 영상의 왜곡이 심해지므로 이를 3차원 공 간의 물리량으로 변환하는 작업이 필요하다. 이러한 프로 세스를 Geo-Location 알고리즘이라고 한다. 본 연구에서는 드론과 마커의 상대 고도를 측정하기 위해서 1-D LiDAR 를 사용하고 있다. 이 고도값을 이용해서 영상 평면 위에 있는 점을 North-East-Down(NED) 좌표계의 점으로 변환 할 수 있다. 변환하는 과정은 아래와 같다.
이미지 평면의 위치에서 NED 좌표계로 변환하는 과정 은 먼저 어안렌즈의 모델을 아래와 같이 나타내는 것으로 부터 시작된다.
위 식에서 u와 υ는 2차원 이미지 평면에서 중심으로부 터 거리를 나타내고 f(u, υ) 는 초점으로부터 어안렌즈에 맺히는 상까지의 거리를 나타낸다. 이 거리는 이미지 평면 에 있는 타겟의 원점으로부터 거리에 polynomial function 으로 approximation을 수행할 수 있는데 그 식은 아래와 같이 나타낼 수 있다.
그리고 s는 s∈ℝ이고 카메라 모델의 좌표계와 NED 좌표계간의 scale factor를 나타내고 은 ∈ℝ3×3 이며 NED좌표계와 카메라 좌표계 간의 상대 회전 행렬을 나타 내고 있다. 은 ∈ℝ3 이며 NED 좌표계에서 드론의 위치로부터 마커 위치까지의 상대거리를 나타내는 벡터이 다. 우리가 알고 싶은 변수는 NED 좌표계의 마커 위치인 데 이를 구하기 위해 카메라 모델 식을 다음과 같이 나타 낼 수 있다.
그리고 s는 s∈ℝ이고 카메라 모델의 좌표계와 NED 좌표계간의 scale factor를 나타내고 은 ∈ℝ3×3 이며 NED좌표계와 카메라 좌표계 간의 상대 회전 행렬을 나타 내고 있다. 은 ∈ℝ3 이며 NED 좌표계에서 드론의 위치로부터 마커 위치까지의 상대거리를 나타내는 벡터이 다. 우리가 알고 싶은 변수는 NED 좌표계의 마커 위치인 데 이를 구하기 위해 카메라 모델 식을 다음과 같이 나타 낼 수 있다.
위 식에서 우리는 마커가 있는 높이를 알고 있을 때 상 대고도를 알 수 있으므로 결과적으로 우리가 모르는 변수 는 x, y, s 세 가지가 있다. 마커와의 상대 고도 H를 알고 있으므로 이를 이용해서 다음과 같이 scale factor s를 구 할 수 있다.
위 식과 같이 s를 구하면 다음과 같이 NED좌표계에서 마커의 상대 위치를 다음과 같이 구할 수 있다.
Geo-location을 수행하기 위해서는 카메라가 어떤 각도 로 기울어져 있는지 아는 것이 중요하다. 만약 영상에서 측정한 마커의 위치가 전방에 있는데 이것이 실제로 카메 라의 각도에 의해서 측정된 값이라면 제어 입력을 생성하 기 전에 보정해야 한다. 본 과제에서는 카메라를 무인기 하방에 방진 처리를 수행해서 고정하였기 때문에 무인기 의 자세값이 카메라의 기울어진 각도가 된다.
위의 과정으로 마커의 상대 위치를 알게 되면 이 정보 를 이용해 마커에 도달하는 제어 명령을 생성해야 한다. 먼저 수평 속도 명령은 아래 식과 같이 생성할 수 있다.
위 식에서 Kp 는 proportional gain matrix를 나타내고 Kd 는 derivative gain matrix를 나타낸다. 와 는 각각 드론과 마커 사이의 상대 위치 에러 및 상대 속도 에러 벡터를 나타낸다. 에러 벡터는 Global 좌표계에서 정의된 값들이고 속도 명령은 드론의 Body 좌표계에서 정의된 값들이다. 따 라서 Global 좌표계의 에러값들을 Body 좌표계로 회전을 시킬 필요가 있다. 위 식의 R(ψ ) 는 R(ψ)∈ℝ3×3 로서 현재 드론의 헤딩 각도, ψ만큼 회전하는 행렬을 나타내고 있다.
마커를 발견하고 고도를 내리는 수직 속도의 경우 다음 과 같은 조건으로 명령이 만들어지도록 했다.
위 식에서 υz는 아래방향이 +방향인 수직 속도 명령이 며 마커와의 수평 위치 에러의 절대값이 5m보다 클 때는 0.1m/s의 속도로 천천히 내려오고 5m 이내에 있는데 고도 가 0.3m보다 높을 때는 0.5m/s 속도로 하강하며 마지막 마 커 위의 착륙직전의 단계에서는 0.3m/s로 본래의 하강속 도보다 감속하여 착륙한다. 이 단계에서도 같은 속도로 착 륙하게 되면 마커와 가까워질 때 발생할 수 있는 ground effect 때문에 착륙 위치가 흔들릴 수 있으므로 속도를 줄 여서 충분히 수평 에러를 줄이면서 착륙할 수 있도록 위와 같은 velocity profile을 구성하였다.
4. 실험 결과
4.1 배송 실증 시나리오
개발된 시스템을 검증하기 위해서 본 연구팀은 ETRI 내 부에서 시범운영을 수행하였다. 시범 운영 시나리오는 <Figure 6>의 그림과 같다.
먼저 지상에 있는 물품 집하소에서 운용자가 관제시 스템을 통해 물품을 등록하고 등록된 물품을 드론 적재 함에 적재하여 드론 배송을 준비한다. 드론 배송 준비가 완료되면 관제시스템에 배송 시작 버튼을 누르면 드론이 이륙하면서 드론 배송이 시작된다. 드론은 관제시스템으 로부터 받은 웨이포인트를 따라 비행하면서 건물 옥상으 로 비행하게 된다. 물품을 투하할 인계 시설물에 도착하 게 되면 하방 영상으로부터 마커가 발견되게 되고 그럼 착륙 모드로 변경될 때 영상기반 착륙 프로세스를 거치 게 된다. 마커를 따라 정밀 착륙을 완료하게 되면 마커 위에 물품을 투하하게 되고 드론은 다시 이륙해서 지상 에 출발지로 다시 비행하여 도착하게 되면 배송 시나리 오가 마무리된다.
4.2 정밀 착륙 결과
시나리오를 따라 드론이 영상 기반 착륙을 수행하게 되는데 착륙 마커의 위치 정확도를 평가하기 위해서는 마커의 절대 위치를 알아야 한다. 마커의 절대 위치를 측정하여 비교하기는 쉽지 않기 때문에 본 연구에서는 마커에 도달하기 바로 직전고도 0m~0.5m 사이의 데이 터를 평균을 내서 참값으로 간주하고 약 10m 고도부 터 착륙하는 동안의 RMSE를 계산하여 성능을 비교하 였다.
아래에 있는 <Figure 7>은 시범운영 기간에 약 10회의 데이터를 분석하여 RMSE 그래프를 나타낸 그림이다. 그 래프를 보면 대부분의 경향이 높은 고도에 있을 때 오차가 크게 시작하여 착륙하면서 점점 작아지는 경향성을 확인 할 수 있다.
10회에 걸친 시범운영에서 착륙 마커 인식 정확도의 평 균은 약 0.151m로 측정되었다.
4.3 배송 시나리오 결과
앞서 설명한 시나리오대로 본 연구팀은 ETRI 내부에서 시범운영을 일정기간 동안 진행하였다. 시범 운영을 진행 하면서 대부분의 테스트에서 정밀한 착륙 성능을 확인할 수 있었고 물품 투하 또한 잘 되는 것을 확인할 수 있었다. 아래 <Figure 8>은 드론이 착륙할 때 찍은 스냅샷을 나타 냈는데 그림에서 확인할 수 있듯이 드론 크기만한 마커 위에 정밀하게 착륙하는 것을 볼 수 있다.
그리고 <Figure 9>는 드론이 배송을 수행하면서 기록한 비행 궤적 데이터를 3차원으로 표시한 그래프이다. 그림 을 보면 처음 지상에 있는 시작점에서 배송 시작했을 때 자동으로 이륙하여 4개의 Waypoints들을 지나서 마지막 도착지점에는 영상 기반으로 정밀하게 착륙한 비행 궤적 결과를 확인할 수 있다.
5. 결 론
본 연구는 Last-Mile 배송 서비스를 수행하기 위해 드론 에 적용되어야 할 배송 자동화 알고리즘과 영상기반 자동 착륙 알고리즘에 대한 내용이다.
배송 자동화 알고리즘은 관제시스템으로부터 전송된 배송점을 기반으로 배송 경로와 복귀 경로를 생성하기 위 해서 mission mapping이라는 개념으로 배송 임무를 생성 하였다. 영상기반 자동 착륙 알고리즘은 먼저 인공지능 기 반으로 인계 시설물 지붕에 설치된 H마커를 인식하고 인 식된 정보와 드론의 상태 정보를 바탕으로 착륙 마커의 절대위치를 정밀하게 추정하였고 그 위치를 바탕으로 착 륙 Guidance와 고도 프로파일을 설계하여 본 연구에 적용 하였다.
개발된 알고리즘은 ETRI 내부에서 시범 운영을 통해 알 고리즘의 강건성을 검증하였고 앞으로도 계속 시범 운영 을 통해 본 서비스를 고도화할 예정이다.