전에 작성했던 글, [우크라이나 전쟁에서 얻는 국방 아이디어] 의 연장선으로, 자연어를 활용하여 로봇을 제어하고 이를 통해 전장 상황 인식에서 우위를 점할 수 있는 법에 대해 고민해 보았다.
그리고 이러한 아이디어를 직접 구현해보고자 하는 싶은 욕구에 이런저런 논문과 오픈소스 github을 둘러보니 ROS-LLM이라는 논문과 Github 링크에서 turtlesim을 제어할 수 있는 코드를 발견하였고 이를 기반으로 코드를 수정하여 Gazebo에서 LLM과 자연어를 활용하여 간단한 Mobile robot 주행이 가능케 하였다.
LLM은 ChatGPT 3.5 를 활용하였고, SLAM (SImultaneous Localization and Mapping) 은 적용하지 않았다.
주행 테스트 실험 영상
초기에는 그냥 LLM과 Mobile robot을 엮어, "앞으로가, 뒤로가, 회전해" 와 같은 진짜 간단한 주행 명령어만 인식할 수 있게 만들었다.
이 단계를 진행 한 뒤, YOLO과 VLM을 엮어, 카메라에서 장면을 인식하고 이를 묘사할 수 있게끔 만들었다.
이와 BLIP 모델을 결합하여 상황을 묘사하게끔 만들었다.
situation_descriptor_node]:
Person 1 is standing.
The position is in front of car and stopped
원래 구현하려던 목적에 맞게끔, 오직 사람만을 묘사하도록 하였다.
이런 저런 상황을 보여주었지만, 이는 VLM 성능에 따라서 정확도가 나뉘기도 했다.
이 프로젝트가 발전하기 위해서는 카메라를 통한 사물에 대한 유추와 이를 기반으로 한 Path planning, 그리고 Localization, Mapping 기술이 들어가야만 한다.
최종 목표는 국방 도메인에 특화된 자율주행 로봇은 만드는 것에 있으므로, 이는 VLM 을 엮어 스스로 주행 계획을 세우고 임무를 수행할 수 있게끔 해야한다.
'ROS2 프로젝트 > LLM+ROS2+GAZEBO Control' 카테고리의 다른 글
[프로젝트1] LLM 과 ROS2를 결합한 Turtlesim 컨트롤 (3) (0) | 2024.07.21 |
---|---|
[프로젝트1] LLM 과 ROS2를 결합한 Turtlesim 컨트롤 (2) (0) | 2024.07.21 |
[프로젝트1] LLM 과 ROS2를 결합한 Turtlesim 컨트롤 (1) (0) | 2024.06.07 |