brunch

You can make anything
by writing

C.S.Lewis

by 데이터파머 DataFarmer Dec 20. 2023

[논문 리뷰] Multirobot. Result (1)

multi-robot missions, process mining

오늘의 이 본문을 이해하고 말하기 위해 그동안 서론, 배경지식, 실험 방법을 써왔다. 

누군가 이야기하다 보면 "그래서 결론이 무언가" 무언지를 고민 하며 알아가고 싶고, 그것이 무엇인지 고민이 된다. 

성격이 급한 사람은 다짜고짜 결론만 듣고 싶어 한다.


하지만 우리 같은 글을 쓰는 사람들은 안다! 이 결론이 얼마나 가치 있는 것인지를..


그래서 결론은 나중에 보여주고 싶고, 결론에 대해 충분히 공감이 될 수 있도록 서론과 본론을 상세하고 설명하고 싶다. 그래야 내가 마주한 결론의 신비를 같이 이해할 수 있기 때문이다. 


드디어 본 논문의 결론의 이야기를 꺼내게 되었다. 

하지만 결론의 내용이 너무 방대하다. 그래서 결론만 거의 3번 이상 나누어서 글을 발행해야 할지도 모른다.


오늘은 프로세스 마이닝에서 분석 데이터가 되는 이벤트 로그 데이터를 어떻게 준비하는지에 대한 논문의 내용을 다룬다.


6. Result


아래의 질문은 처음에도 했지만, 논문을 쓸 때 꼭 해야 할 질문이며 그에 대한 답을 해야 한다. 나 역시도 이 질문에 하나하나 달아보았다. 그리고 그 질문에 대한 답은 이내 내가 써야 할 논문에서 상세하고 다루고 쓸 예정이다. 좋은 질문은 좋은 답과 결과를 얻게 해주는 마중물이다.


6.1 Mission Study

•미션의 목적은 무엇인가요? 불을 찾고 소화하며, 침입자를 찾고 추적하는 것

•미션의 다양한 목표는 무엇인가요? 불 감시, 불 소화, 용의자 수색 및 용의자 추적

•미션의 이벤트는 무엇인가요? 로봇의 발사, 로봇이 수행하는 작업, 가능한 실패 등. 

•이들의 유형과 특징은 어떻게 되나요? 이벤트는 고유 식별자, 활동, 활동을 수행하는 에이전트, 해당 활동을 지시하는 에이전트, 시작 시간 및 종료 시간

•사용 가능한 사례는 몇 개인가요? 분석을 위한 정보를 생성하기 위해 36개의 미션이 수행. 20개는 미션을 분석하고 16개는 두 명령 방법을 비교하기 위한 것.

•미션의 작업은 무엇인가요? 시작, 감시, 정찰, 웨이포인트 이동, 캡처, 해제 및 완료. 이 작업에서 객관적인 것은 미션을 완료하기 위해 달성해야 하는 결과이며, 작업은 로봇이 목적을 달성하기 위해 수행하는 일련의 작업.

•미션에 참여하는 에이전트는 누구인가요? 두 대의 공중 로봇, 지상 로봇 및 조종사. 

•그들의 행동과 상호 작용은 무엇인가요? 공중 로봇은 미션 수행을 위해 협력하며, 조종사는 공중 로봇을 제어하며 지상 로봇은 독립적임.

•분석의 목표 정의. 인간 조종사에 의해 제어되는 다중 로봇 미션

조종사의 반응, 의사 결정 및 명령

로봇의 작업 성능

미션 소요 시간

로봇에 대한 작업 할당

인터페이스의 성능



6.2 Event log preparation (1)

•모든 사용 가능한 미션 데이터를 수집하고 하나 이상의 적절한 미션 이벤트 로그를 생성하는 것

•그림 6. 이 프로세스는 텔레메트리 및 명령 로그를 준비하고 이를 미션 이벤트 로그로 병합하는 작업

•텔레메트리 로그는 미션 중에 공중 로봇에서 생성된 데이터 수집

•각 행은 각 UAV에 대한 시간(밀리초 단위)과 다음 변수 포함

•상태(예: 1은 초기화, 2는 착륙, 3은 비행, 6은 이륙, 8은 착륙...), 
 위치(X, Y 및 Z), 방향(롤, 피치 및 요), 선형 속도, 각속도, 선형 가속도, 각 가속도, 배터리 레벨, 모터 전력 및 자력계 측정값.

•텔레메트리에서 이벤트를 생성하는 프로세스는 두 단계로 구성되며 그 결과는 표 2에서 수집

•이러한 종류의 다중 로봇 미션에는 Task (감시, 정찰…), Action (take off, landing…), Situation (Detection, Accident) 그리고 위치 등 정보


•UAV의 위치와 관련된 이벤트의 예 (그림 7) 

•사분면 변경, 중심과 주변 간의 전환, 중요 영역의 진입 및 이탈, 그리고 UAV 간의 거리 등

•이러한 이벤트의 시작 및 완료 조건

•미션 이벤트와 텔레메트리 변수 간의 관계 설정. 일부 이벤트는 고유한 조건을 가질 수 있음(예: 속도가 거의 제로에 가까울 때 대기 발생), 

•다른 이벤트인 경우 다양한 조건을 가질 수 있음 (예: 상태가 6으로 변경되고 고도가 증가하기 시작할 때 이륙 시작).


6.2 Event log preparation (2)

•고려해야 할 문제는 불확실성이 이벤트 생성에 미치는 영향

•예를 들어 로봇의 자세가 충분한 정확도로 알려져 있지 않으면 일부 실제 이벤트가 누락될 수 있고 일부 거짓 이벤트가 생길 수 있음

•이러한 오류의 결과는 불확실성의 수준에 크게 의존하며, 모델 발견에서 폐기되는 소규모 편차부터 자동으로 해결할 수 없는 중대한 오류까지 다양함

•Command Log는 미션 중에 운영자가 로봇에게 보낸 명령 수집. 

•각 행은 ms 단위의 시간과 운영자의 작업 포함

•운영자가 명령 창을 시작할 때 명령, 운영자가 로봇에게 보낼 때 명령으로 표시. 

•명령 패턴: 작업, 수신자, 지점 목록 및 대상. 

화재 감시를 수행하는 명령은, 감시, UAV, 영역(꼭짓점 목록으로 표시) 및 화재

•운영자의 명령은 UAV의 텔레메트리와는 달리 이벤트로 구조화

이벤트의 일부 필드에 명령의 정보를 추가하고 나머지를 완료하면 완료  

이 경우 시작 시간은 명령 창을 열 때에 해당하며, 완료 시간은 명령을 보낼 때에 해당

• 추가로, 자원 역할은 운영자가 수행하고 에이전트 역할은 대상 UAV가 수행

•Fig. 6. 각 이벤트는 Case(미션 횟수), 시작 시간, 완료 시간, Activity(작업, 동작, 명령, 상황 또는 위치), 리소스(활동을 수행하는 에이전트), 타깃(활동을 수신하는 에이전트), Pose (리소스의 현재 위치) 및 Goal (활동의 대상 위치)로 정의.

•전통적인 이벤트 로그에 대상, 즉 운영자 명령을 수신하고 실행해야 하는 로봇을 구분하는 데 유용한 필드, Pose 및 Goal 추가.

•또한 이벤트의 지속 시간을 쉽게 추정하기 위해 시작 및 완료 시간을 분리.

•36개의 다중 로봇 미션을 수행했으며 그중 20개를 사용하여 로봇, 운영자 및 인터페이스에 관한 측면 연구

•미션의 수행 완료 이벤트 로그에는 20개 Case (미션 당 하나), 32개 Activity (운영자 명령 당 하나, 로봇 작업, 동작 및 위치 당 하나) 및 3개의 리소스(운영자 및 두 UAV)로 구성된 2023개의 이벤트 생성.

•Fig 8 이벤트 로그 준비 예시: 운영자와 UAV를 이벤트 로그에서 분리하여 그들의 작업과 상호 작용 연구(a). 그들의 행동을 독립적으로 연구하기 위해 운영자 및 UAV 이벤트 로그를 생성(b).

6.2 Event log preparation (3)

•이 이벤트 로그는 Disco(Günther와 Rozinat 2012)로 로드되어 그래픽 표현을 생성하고 이벤트를 조건화하고 필터링하는 데 사용하였고, 이벤트 로그는 아래 표 3에 정리

•Complete event log (EL-A): 미션 전체에 대한 텔레메트리와 명령에서 얻어져 나중에 조건부 및 필터링을 위한 기초로 사용

•Event log with operator commands and robot tasks (EL-B): 운영자의 명령 및 로봇 작업과 관련된 이벤트를 선택한 결과로 로봇이 운영자의 명령을 어떻게 수행하는지 연구할 수 있음

•Event log with operator commands (EL-C): 운영자의 명령과 관련된 이벤트를 선택한 결과로 미션 명령에서 운영자의 수행능력을 이해하는 데 도움

•Event log with robot tasks (EL-D): UAV와 관련된 작업과 관련된 이벤트를 선택한 결과로, 미션의 진행을 쉽게 관찰할 수 있음.

•Event log with robot tasks and actions (EL-E): UAV와 관련된 작업 및 작업과 관련된 이벤트를 선택한 결과로, 위치와 관련된 것만 제거한 결과임. 이를 통해 감시와 같은 작업의 시작과 종료뿐만 아니라 감지와 같은 중간 결과도 표시

•Event log with robot tasks, actions, and locations (EL-F): UAV만의 모든 이벤트를 선택한 결과로, UAV 이벤트 간의 관계를 설정할 수 있음. 
 예를 들어 작업이 실행되는 위치와 관련된 것임. (작업자의 이벤트 EL-C를 제거한 것임)

•Complete event log with separated operator and UAV events (EL-G): 미션 및 리소스를 Case로 고려하여 생성. 작업자와 UAV activity가 다르기 때문에 작업자와 UAV 개별적인 진행과정을 볼 수 있음.

•Complete event log with separated operator, UAV 1, and UAV 2 events (EL-H): 미션 및 리소스를 케이스로, action 및 resource를 activities로 하여 생성. 따라서 운영자와 UAV 뿐만 아니라 UAV 1과 UAV 2도 별도로 표시.

•Event log of accident cases (EL-I): 사고가 발생하는 경우를 선택 생성. 사고의 원인을 조사하는 데 유용


우리 병원에서 사용하는 로봇은 로그데이터를 관제 솔루션에서 다운로드가 가능하다. 본 논문에서는 이 데이터를 telemetry log라고 표현한다. 이 데이터를 다운로드하고 약간의 전처리를 하기 위해서는 SQL 언어를 어느 정도 이해하고 있어야 한다. 그래야 내가 원하는 데이터로 만들 수 있기 때문이다. 

본 논문에서는 이벤트 로그를 만들기가 복잡하고 길었다. 나 역시도 데이터를 준비하기 위해 수많은 Trial/Error를 하면서 원하는 데이터를 추출하였다. 이 과정에서 많은 고민을 했었는데, 본 논문의 저자도 같은 내용을 고민하면서 수행한 부분에서 동질감을 느낀다~




매거진의 이전글 [논문 리뷰] Multirobot by PM (3)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari