운용자와 자율 무인선 상호 작용을 고려한 행위 기반의 제어 알고리즘
Behavior-based Control Considering the Interaction Between a Human Operator and an Autonomous Surface Vehicle
Article information
Trans Abstract
With the development of robot technology, the expectation of autonomous mission operations has increased, and the research on robot control architectures and mission planners has continued. A scalable and robust control architecture is required for unmanned surface vehicles (USVs) to perform a variety of tasks, such as surveillance, reconnaissance, and search and rescue operations, in unstructured and time-varying maritime environments. In this paper, we propose a robot control architecture along with a new utility function that can be extended to various applications for USVs. Also, an additional structure is proposed to reflect the operator's command and improve the performance of the autonomous mission. The proposed architecture was developed using a robot operating system (ROS), and the performance and feasibility of the architecture were verified through simulations.
1. 서 론
최근 로봇이 운용되는 임무 및 환경이 복잡해지고 요구되는 기능 수준이 향상됨에 따라 복잡한 상황에 대응하기 위한 로봇 시스템 구조(Robot system architecture)와 함께 이를 구현 가능한 소프트웨어 도구의 필요성이 증가하고 있다(Kortenkamp el al., 2016). 특히. 끊임없이 변화하는 비정형화된 환경을 인지하고 이에 대해 대응하는 기능이 필수적으로 요구되는 무인 이동체(Unmanned vehicles)는, 공장자동화 시스템과 같이 반복된 작업을 수행하는 로봇과 달리, 복잡하게 구성된 체계(System)를 세분화 된 하위체계(Sub-system)로 분리하여 체계화 할 필요성이 더욱 높다(Siciliano and Khatib, 2016). 이러한 필요성에 맞춰 Brooks(1986)은 기존의 기능(function) 중심의 시스템을 행위(Behavior) 중심의 시스템으로 변경하여 다수 임무, 다수 센서, 강건성, 확장성에 강점이 있는 행위 기반 로봇(Behavior-based robot)을 제안한 바 있다.
무인선의 경우 감시, 정찰, 수색, 인명구조 등의 다양한 임무를 여러 종류의 센서를 활용하여 수행하되 임무 환경인 해양 환경에서의 강건한 성능을 확보하기 위해 행위 로봇 구조의 활용이 시도되었다. 대표적인 연구 사례들로, Benjamin et al. (2006)은 Mission oriented operating suite(MOOS) 기반의 행위 로봇 구조를 설계하고 무인선에 적용하였으며, 미 제트추진연구소(JPL, Jet Propulsion Laboratory)는 행위 로봇 기반의 Control architecture for robotic agent command and sensing (CARACAS)을 무인선에 적용하여 자율운항 및 협업구조를 실해역에서 테스트하였다(Elkins et al., 2010; Wolf el al., 2017).
기존 연구의 경우 무인선을 포함하는 무인 이동체 내의 인공지능을 최대로 구현하는 연구에 중점을 두고 있으나, 실제적인 무인선 운용은 임무 수행 간 원격 운용자의 개입 및 감시가 필수적으로 요구된다. 따라서, 무인선이 만족스러운 임무 수행 능력을 보이지 않거나 특수 상황에서의 필요성에 따라 운용자의 의도를 반영한 의사 결정이 이루어져야 하겠으나, 기존 시스템의 경우 임무 수행 시 원격 운용자와 무인선과의 상호 작용을 통한 행동 선택(Action selection)에 대한 고려 없이 운용자가 모든 절차를 전적으로 제어하는 원격 조작(Remote operation)의 초보적 개념에 치우쳐 있는 것이 현실이다.
따라서, 본 연구에서는 무인선의 임무 수행 시 자율 운항 핵심 기능을 유지하되 원격 운용자의 의도를 함께 고려하여 의사 결정이 가능한 운용자와 자율 알고리즘의 상호 협력적 무인선 로봇 시스템 구조를 제안한다. 우선, 운용자의 개입 없이 무인선의 자율임무 수행이 가능하도록 행위 기반의 로봇 시스템 구조를 설계하고, 원격 운용자의 명령 시 해당 명령을 고려하기 위한 구조를 설계하고 추가하였다. 여러 행위가 복합적으로 행해질 때, 최종 목표 행동을 계산하기 위하여 행동 공간(Action space) 내에서의 행동 평균(Action averaging)방법을 활용한 행동 선택 방법을 사용하였으며, 이를 무인선에 적용하기 위해 효용 함수(Utility function)를 설계하였다. 설계된 구조의 유용성을 확인하기 위하여, 소프트웨어 도구로서 Robot operating system (ROS)을 활용하였으며(Koenig and Howard, 2004), 시뮬레이션을 활용하여 해당 방법의 유용성을 검증하였다.
2. 행위 기반 로봇
운용자의 개입 없이 무인선의 자율임무 수행을 위한 기본 행위 기반 구조를 Fig. 1과 같이 설계하였다. 구조는 입력순서에 따라 행위 관리 도구(Behavior manager), 행위의 병렬적 집합, 최적화 도구(Optimizer)의 세 가지 주 요소로 구성되어 있다. 센싱/인지 시스템은 행위 기반 구조에 무인선이 임무를 수행하기에 충분하도록 발생한 위치와 속도를 포함하는 운동 정보와 해당 정보의 유형을 제공한다고 가정하였으며, 이를 이벤트(Event)로 정의하였다. 행위 관리 도구는 센싱/인지 시스템에서 수신한 이벤트 정보를 바탕으로 하여 실행 중인 행위의 관리를 담당하며, 각 행위는 행위에 알맞은 행동 공간에서의 효용 함수를 생성하고, 최적화 도구는 행동 공간 내에서 최적의 행동을 찾는 역할을 담당한다.
운용자가 무인 이동체에 명령(Command)을 내리기 위해서는 운용자의 명령을 로봇이 이해 가능하도록 변형하여 로봇이 반영할 수 있게 해야 한다. 행위 기반 로봇의 경우 이를 다른 구조에 비해 쉽게 구현할 수 있다는 장점이 존재하며, 무인 이동체의 자율임무 수행 시 운용자의 개입에 의한 구조는 Fig. 2와 같다. 기존 무인 이동체의 판단 구조에 운용자의 명령을 반영할 수 있는 구조를 추가했으며, 명령 관리 도구와 각 명령의 집합으로 이루어져 있다. 무인 이동체의 행동 관리 도구 및 행위와 명령 관리 도구 및 명령의 집합은 각 요소끼리 대응적인 관계를 갖고 유사한 기능을 수행하며, 명령은 무인 이동체가 이해할 수 있는 행위의 일종으로 표현되어 운용자의 명령을 무인 이동체가 자신의 판단 하에서 수행할 수 있도록 한다. 최적화 도구에서는 기존의 행위만을 고려하던 기능에서 추가된 명령에서의 효용 함수를 추가적으로 고려하여 최적의 행동을 찾도록 한다.
하지만. 기존 무인 이동체의 행위 판단 구조와는 다르게 센싱/인지 시스템이 따로 존재하지 않고, 사람이 인지 정보를 통하여 판단으로 얻어낸 명령을 입력으로 사용하며, 명령을 관리하기 위한 명령 관리 도구는 운용자가 내린 모든 명령을 수행할 수 있도록 동작하고, 명령은 행위보다 상위 개념으로서 행위보다 우선적으로 수행하도록 한다.
2.1 행위 관리 도구 및 명령 관리 도구의 설계
행위 관리 도구는 센싱/인지 시스템에서 수신한 이벤트 정보를 바탕으로 하여 행위의 생성(Create)/자극(Stimulate)/제거(Delete)를 담당한다. 행위 관리 도구 내 행위의 생성 기능은 무인선의 센서/인지 시스템에서 수신받은 이벤트에 적합한 행위를 생성하는 역할을 수행하며, 이벤트가 다수 발생하는 상황에서도 이에 해당하는 적합한 다수 행위를 생성하도록 설계되었다. 센싱/인지 시스템으로부터 전달된 이벤트와 이에 대응하는 행위의 조합은 일대일 혹은 필요 시 다대다로 조합되도록 구성되었다.
행위의 자극 기능은 수행된 행위 중 수행이 요구되는 이벤트에 대하여 행위를 자극하여 적합한 업무를 수행할 수 있도록 하며, 자극으로 인해 임무를 수행 중인 행위의 상태를 활성화(Activation) 상태로 정의하고, 임무를 수행 중이지 않은 행위는 비활성화(Deactivation) 상태로 정의하여 무인선이 수행해야 하는 행위를 분류하였다. 행위의 자극은 생성된 모든 행위 중 일정 반경 이내에 존재하는 이벤트에 대하여 실시하며, 일정 반경 밖의 이벤트는 비활성화되도록 설계하였다.
행위의 제거 기능은 수행 완료된 이벤트를 다시 수행하지 않기 위하여 해당 행위를 제거하는 기능을 수행하며, 수행 완료된 이벤트에 대하여 해당하는 다수의 행위를 동시에 제거하거나, 혹은 이벤트에 대한 일부 행위를 제거하는 역할을 수행하도록 설계하였다.
명령 관리 도구는 행위 관리 도구와 유사한 기능을 수행하지만, 운용자의 명령 전달 시 이미 명령이 생성된 상태로 간주하고 명령의 생성 시 자극을 동시에 수행하며, 명령 내린 행위가 완료된 것으로 판단 시 명령을 제거하도록 설계되었다.
2.2 행동 선택 알고리즘(Action selection mechanism)
행동 선택 알고리즘은 그 종류에 따라 크게, 경쟁적(Competitive) 구조와 협력적(Cooperative) 구조로 구분할 수 있으며(Arkin, 1998), 행위가 동시에 수행될 때 경쟁적 구조는 하나의 행위 혹은 행동을 선택하나 협력적 구조는 여러 개의 행위를 조합하여 하나의 새로운 행동을 제시한다. 운용자의 명령을 포함하는 순차적이지 않은 다수의 행동을 동시에 수행하기 위해서는 하나의 행동을 선택하는 구조는 실제적으로 비효율적이므로, 협력적 구조의 일환인 행동 공간 내에서 최선의 행동을 선택하는 방법을 선택하였다.
행동 공간은 현재 운동상태에서 목표로 하는 운동상태의 집합이며, 목표 속력과 목표 침로의 순서쌍인 아래의 식으로 나타낼 수 있다.
여기서, Vi와 ψi는 목표 속력과 목표 침로의 행동 공간 집합의 요소를 의미하며, V와 ψ는 현재 운동체의 속력과 침로를 의미한다. 현재 속력과 침로에서 도달 가능한 목표 속력과 침로를 행동 공간으로 정의하기 위하여 속력과 침로 변화량의 문턱값 γV와 γψ를 사용하였다.
각 행동 공간 내에서 효용 함수를 fk로 정의 시 효용 함수는 행위의 함수로 표현이 가능하며, 최적의 행동은 아래의 식으로 나타낼 수 있다.
여기서,
운용자의 명령을 반영하기 위하여, 행위의 효용 함수에 명령으로 인해 생긴 효용 함수를 추가적으로 고려한다. 명령은 행위와 같은 행동 공간 내에서 행위와 함께 반영되나, 그 우선순위는 행위에 비하여 우선순위가 높으며, 명령이 반영된 최적의 행동은 아래의 식으로 나타낼 수 있다.
여기서,
3. 무인선을 위한 행위 기반 구조의 적용
무인선의 자율 임무 수행 시 운용자와의 상호 작용을 위하여 행위기반구조 내 적절한 행위 및 임무의 설계가 필요하다. 무인선이 수행 가능한 임무는 기본적으로 익수자 구출, 의심 선박 추적, 고정 장애물 및 이동 장애물의 회피로 설정하였으며, 행위 기반 로봇의 특성상 무인선의 추가 임무 수행 필요 시 설계 및 추가가 가능하다.
또한, 운용자와의 상호 작용을 위해서 운용자가 무인선에게 전달 가능한 명령의 설계가 요구되며, 해당 명령은 회피와 이동으로 설정하였다. 앞선 행위 기반 로봇의 특성과 동일하게 회피와 이동 이외에 운용자가 내릴 수 있는 추가 명령이 필요 시 설계 및 추가가 용이하다.
3.1 무인선 행위의 설계
행위는 전달받은 이벤트에 따라 익수자와 추종 선박은 이동(Go)행위, 고정 장애물은 회피(Avoid)행위, 회피선박은 회피행위와 규정 준수(Rule-compliant) 행위를 동시에 수행하는 반응(Reactive)구조로 설계되었으며, 전역경로를 추종하는 행위는 이동 행위의 연속으로 설계하였다. 이동 행위는 자선의 속도 좌표계로 이루어진 행동 공간 내에서 추종제어(Pursuit guidance)를 이용하여 이벤트의 발생 지점으로 이동하는 목적함수를 생성하며, 회피 행위는 행동 공간 내에서 최근접 거리(DCPA, Distance to the closest point of approach)를 기반으로 목적함수를 생성하였다. 행동 공간 내에서 이동 행위와 회피 행위의 효용함수 fgo와 fav는 각각 식 (3)과 식 (4)와 같다.
여기서 ψi와 Vi는 행동 공간 내 자선의 행동을 의미하고, αψ와 αV는 행동 공간의 속도와 방위각의 가중치를 의미한다. DCPAi는 순서쌍
4. 시뮬레이션 결과
제안하는 구조의 유용성을 검증하기 위하여, Fig. 4 및 Table 1과 같은 시뮬레이션 환경에서 무인선의 자율임무 수행을 확인하였다.
시뮬레이션은 미리 설정된 전역경로와 고정장애물 3대, 이동장애물 1척, 무인선이 구출해야 하는 조난자 2명으로 구성되어 있다. 무인선은 행위 기반 구조에 기반하여 각 상황에 맞는 행동을 계산하며, 운용자가 중간에 내리는 명령을 수행하며 자동 임무 수행을 하도록 한다. 시뮬레이션 시 각 임무의 탐지 및 인식 거리는 300m이며, 임무의 완료는 20m 이내로 임무에 접근할 경우로 가정하였다. 각 행위를 실행하기 위한 행위의 가중치는 Table 2와 같다.
행위의 가중치는 가중치의 절대치 보다는 행위의 우선순위인 상대값이 큰 의미를 가지며, 유사한 이벤트에 대하여 운용자의 명령이 무인선의 행위에 비하여 높은 우선순위를 갖기에 더 높은 가중치를 부여하였다. 또한, 장애물회피와 같이 무인선 안전을 위협하는 상황에 대한 가중치는 명령 및 행위에 상관없이 높은 가중치를 가지며, 상대적으로 임무를 수행하거나 이동하는 명령 및 행위는 낮은 가중치를 갖도록 설계하였다.
4.1 시뮬레이션 결과
Fig. 5-7은 각각 사용자 명령이 존재하지 않는 경우, 이동 명령이 존재하는 경우, 회피 명령이 존재하는 경우의 주요 시간별 결과이다. 각 결과 그래프의 좌측은 무인선의 시간별 임무 수행을 묘사하며, 우측은 그 순간의 무인선의 속도 좌표계에서의 행동 공간 내 효용 함수를 나타낸다. 임무 수행 묘사 그림에서 흑색 실선은 무인선의 전역 경로이며 흑색 파선은 무인선의 이동 경로이다. 청색 오각형은 무인선을, 황색 오각형은 이동 장애물을 나타내며, 적색, 녹색, 주황색, 자색 원은 각각 고정 장애물, 익수자, 이동 명령, 회피 명령을 나타낸다. 또한, 회색 실선은 현재 활성화된 이벤트를 나타낸다.
Fig. 5의 사용자의 명령이 존재하지 않는 경우에는 주어진 전역 경로를 추종하며, 무인선이 처한 상황에 따라 고정 및 이동장애물을 회피하고, 익수자를 구출하며 최종 경유점에 도착한다. Fig. 6의 이동 명령이 존재하는 경우는, Fig. 5와 같은 시나리오에서 사용자가 이동 명령을 내리는 156초 이전까지는 같은 임무 수행 결과를 도시하나, 156초와 162초에 이동 명령 수신 후 이동 명령을 수행하며, 단순히 사용자의 이동 명령만을 수행하는 것이 아닌 이동 명령 중 나타나는 상황에 적절히 대응하여 첫 번째 이동 명령 완료 후 익수자를 구출하기 위한 행위를 시도하는 것을 확인 가능하다.
Fig. 7의 사용자의 회피 명령이 존재하는 경우 해당 이동 장애물에 대하여 적절한 회피 기작을 수행하는 것을 확인 가능하며, 사용자의 명령뿐만 아니라 자율 임무 수행 중 탐지/인식된 익수자에 대하여 구출 행위를 하거나 고정장애물을 회피 하는 것을 확인 가능하다.
5. 결 론
본 논문에서는 무인선의 자율 임무 수행을 위한 행위 기반 구조 및 운용자와의 상호 작용을 위한 구조 설계에 대하여 다루었다. 무인선의 자율 임무 수행 간 마주치는 상황을 익수자 구출 및 장애물 조우로 정의하고 해당 상황의 해결을 위한 효용 함수를 설계하였다. 또한, 운용자의 명령을 이동과 회피 행위로 정의하고 해당 명령을 행위로 변경하여 무인선이 운용자의 명령을 적절히 반영할 수 있도록 하였다. 설계된 행위 및 명령과 이를 활용하기 위한 행위 기반 구조를 검증하기 위하여 시뮬레이션을 진행하였으며, 시뮬레이션 결과를 정성적으로 평가 시 운용자의 명령과 행위 기반 구조 기반의 무인선이 상황에 따라 적절한 행동을 선택함을 확인할 수 있다.
시뮬레이션을 통하여 설계한 구조가 복잡한 환경에서 적절한 행동을 선택함을 정성적으로 확인하였으나, 해당 방법은 반응구조를 기반으로 설계하였기 때문에, 실제적인 운용은 가능하나 최적성을 보장하기는 어렵다. 따라서, 설계된 구조 내에서 자율 임무를 수행함에 있어 최적성을 보장할 절차가 필요할 것으로 생각되며, 향후 연구로서 반응구조와 심의구조를 적절히 융합하여 최적성을 보장하는 기법 개발이 바람직할 것으로 판단되고, 시뮬레이션 환경 기반 검증을 실험기반의 검증으로 확장하여, 제안하는 알고리즘의 실제적 검증이 필요할 것으로 생각된다.
Acknowledgements
본 연구는 LIG 넥스원의 ‘무인수상정의 자율 운용 알고리즘 프레임워크 구축 및 적용 연구’의 지원으로 수행된 연구결과 중 일부임을 밝히며, 연구비 지원에 감사드립니다.