카테고리 없음

로보틱스를 위한 ChatGPT

Young_Metal 2024. 3. 20. 16:24

챗봇을 이용해 로봇을 제어하는 방법에 대해 소개하고자 합니다.

최근 생성형 인공지능의 발전으로, 챗봇과 같은 언어 모델을 활용해 자연어로 로봇을 제어하는 연구가 활발히 진행되고 있습니다. 이제는 복잡한 공학 지식이나 프로그래밍 기술 없이도 사람의 말을 통해 로봇을 더 쉽게 제어할 수 있습니다.

 

먼저, ChatGPT를 적용한 로봇 제어 구현 방법에 대해 자세히 알아보겠습니다. 2023년 2월, 마이크로소프트는 ChatGPT for Robotics 프로젝트를 발표하며 챗봇으로 로봇 시나리오를 해결하는 방법을 제안했습니다.

Challenges in robotics today, and how ChatGPT can help

 

ChatGPT는 방대한 양의 텍스트 데이터 학습과 사람의 피드백을 통한 지속적인 개선이 가능한 구조로 설계된, 다양한 프롬프트에 대응할 수 있는 거대한 언어 모델(Large Language Model, LLM)입니다.

사람이 로봇에게 원하는 명령을 프롬프트로 입력하면, LLM은 해당 명령을 수행할 수 있는 행동이 명시된 로봇 API 라이브러리를 활용하여 코드를 작성합니다. 이를 통해 로봇은 OpenCV, ROS 등의 라이브러리와 연동하여 인지하고 행동(action)을 취하면서 실제 명령을 수행합니다.

본 연구에서 밝힌, 로보틱스를 위한 ChatGPT 디자인 원칙은 다음과 같습니다.

 

  1. 과제에 관련된 Robot API 라이브러리 정의하기
  2. 프롬프트 가이드라인*에 맞게 프롬프트 설계하기
  3. 사용자 피드백을 통해 솔루션의 질과 안전성 향상시키기
  4. 실제 로봇에 최종 코드 업로드하기

프롬프트 가이드라인은 아래와 같습니다.

ChatGPT for Robotics 프롬프트 가이드라인

  1. 현재 상태 : 로봇의 위치, 목표물의 방향 등 현재 상태(current state)에 대해 자세히 서술
  2. 목표 설정 : 로봇이 수행해야 하는 명확한 목표(objective)와 단계별 세부 목표 명시
  3. 제약조건 및 필요조건 : 작업에 밀접하게 관련된 제약이나 요구사항을 상세히 설명. 예를 들어 물체 이동 작업을 로봇에게 명령할 때, 타겟 물체의 형태, 무게, 크기를 지정
  4. 환경 : 로봇 작업이 진행되는 환경에 대한 정보 제공. 작업이 미로탐색인 경우, 미로의 형태와 크기, 장애물 등의 위험요소에 대한 정보 해당
  5. 솔루션 예시: 문제 해결 전략을 안내하는 수단으로 유사한 작업의 해결방법 예시를 다양한 범위에서 제공

이 정보들을 프롬프트에 자세히 기술하면 정확도가 높고 환각 현상(hallucination)이 낮은 답변을 생성할 가능성이 높아집니다. 환경이나 목표가 명확하지 않을 경우, ChatGPT는 즉시 코드를 생성하지 않고 사용자에게 질문을 하면서 명확한 목표 설정과 환경 정보를 제공받도록 유도합니다.

위 사진은 프로젝트에서 제공한 예시 중 하나입니다. 여기서는 ChatGPT로 AirSim이라는 시뮬레이터에서 드론을 제어하는 과정의 일부를 보여줍니다. 대화형 LLM으로, 사용자와 상호작용을 하면서 코드에 대한 피드백을 제공하고, 이를 통해 코드의 질과 안전성을 한번 더 확인하며 최종 결과물을 도출합니다.

 

PromptCraft라는 협력적 오픈소스 플랫폼은 ChatGPT가 탑재된 AirSim 시뮬레이터 환경을 제공함으로써, 커뮤니티와 함께 로봇 제어를 위한 프롬프트나 프로젝트 개선을 시도합니다. 이 GitHub 저장소 PromptCraft-Robotics에서 AirSim을 설치하고 간단한 드론 제어를 시도해 보세요. 실시간 시뮬레이션을 진행하면서 터미널을 통해 다음 프롬프트를 입력하여 피드백을 LLM에 전달하는 경험을 할 수 있습니다!

 

앞으로도 LLM을 활용한 로봇 제어 기술은 더욱 발전할 것입니다. AI Robotics KR에서는 1월부터 LLM으로 드론제어하기 라는 주제로 스터디를 진행해왔습니다. LLM드론 노션 페이지에서 저희의 스터디 자료들을 확인해보실 수 있습니다!

긴 글 읽어주셔서 감사합니다

 

참고 자료

[1] ChatGPT for Robotics: Design Principles and Model Abilities, 2023.02.20, Microsoft ChatGPT for Robotics (microsoft.com)

[2] AirSim https://microsoft.github.io/AirSim/

[3] PromtCraft https://github.com/microsoft/PromptCraft-Robotics