ROS2 프로젝트/LLM+ROS2+GAZEBO Control

[프로젝트2] LLM 과 Gazebo를 활용한 Mobile robot 주행 control (+VLM과 Yolo Image Detection)

KRBIL 2024. 8. 19. 12:18

전에 작성했던 글, [우크라이나 전쟁에서 얻는 국방 아이디어] 의 연장선으로, 자연어를 활용하여 로봇을 제어하고 이를 통해 전장 상황 인식에서 우위를 점할 수 있는 법에 대해 고민해 보았다.

 

그리고 이러한 아이디어를 직접 구현해보고자 하는 싶은 욕구에 이런저런 논문과 오픈소스 github을 둘러보니 ROS-LLM이라는 논문과 Github 링크에서 turtlesim을 제어할 수 있는 코드를 발견하였고 이를 기반으로 코드를 수정하여 Gazebo에서 LLM과 자연어를 활용하여 간단한 Mobile robot 주행이 가능케 하였다.

 

LLM은 ChatGPT 3.5 를 활용하였고, SLAM (SImultaneous Localization and Mapping) 은 적용하지 않았다. 

 


주행 테스트 실험 영상 

 

 

초기에는 그냥 LLM과 Mobile robot을 엮어, "앞으로가, 뒤로가, 회전해" 와 같은 진짜 간단한 주행 명령어만 인식할 수 있게 만들었다. 

 

이 단계를 진행 한 뒤, YOLO과 VLM을 엮어, 카메라에서 장면을 인식하고 이를 묘사할 수 있게끔 만들었다. 


 

YOLOv8 을 결합한 결과

 

이와 BLIP 모델을 결합하여 상황을 묘사하게끔 만들었다. 

 

 

situation_descriptor_node]: 
Person 1 is standing. 
The position is in front of car and stopped

 

원래 구현하려던 목적에 맞게끔, 오직 사람만을 묘사하도록 하였다.

 

이런 저런 상황을 보여주었지만, 이는 VLM 성능에 따라서 정확도가 나뉘기도 했다. 

 

 

이 프로젝트가 발전하기 위해서는 카메라를 통한 사물에 대한 유추와 이를 기반으로 한 Path planning, 그리고 Localization,  Mapping 기술이 들어가야만 한다. 

 

최종 목표는 국방 도메인에 특화된 자율주행 로봇은 만드는 것에 있으므로, 이는 VLM 을 엮어 스스로 주행 계획을 세우고 임무를 수행할 수 있게끔 해야한다.