Skip to main content
QUICK REVIEW

[논문 리뷰] ROSoClingo: A ROS package for ASP-based robot control

Benjamin Andres, Philipp Obermeier|arXiv (Cornell University)|2013. 07. 28.
Logic, Reasoning, and Knowledge참고 문헌 13인용 수 4
한 줄 요약

ROSoClingo는 로봇 운영 체제(Robot Operating System)에 반응형 ASP 솔버 oClingo를 통합하는 ROS 패키지로, 행동, 목표, 환경 변화에 대한 동적 추론을 통해 선언적이고 고수준의 로봇 제어를 가능하게 한다. 이는 로봇이 실시간으로 작업 계획을 생성하고 적응할 수 있도록 하며, ROS 통신 채널을 통한 센서 피드백과 동작 실행의 원활한 통합을 제공한다.

ABSTRACT

Knowledge representation and reasoning capacities are vital to cognitive robotics because they provide higher level cognitive functions for reasoning about actions, environments, goals, perception, etc. Although Answer Set Programming (ASP) is well suited for modelling such functions, there was so far no seamless way to use ASP in a robotic environment. We address this shortcoming and show how a recently developed reactive ASP system can be harnessed to provide appropriate reasoning capacities within a robotic system. To be more precise, we furnish a package integrating the reactive ASP solver oClingo with the popular open-source robotic middleware ROS. The resulting system, ROSoClingo, provides a generic way by which an ASP program can be used to control the behaviour of a robot and to respond to the results of the robot's actions.

연구 동기 및 목표

  • 고수준 추론과 저수준 로봇 제어 사이의 격차를 메우기 위해 로봇 시스템에서 Answer Set Programming(ASP)을 가능하게 하기 위해.
  • 기존의 전통적 ASP 솔버들이 새로운 입력이 들어올 경우 전체 재해결이 필요로 하므로 반응형 기능이 부족한 문제를 해결하기 위해.
  • 로봇 응용 프로그램을 위한 ROS 미들웨어에 반응형 ASP 추론을 원활하고 일반적인 방식으로 통합하기 위해.
  • 동적인 환경과 변화하는 목표에 대응하여 로봇 행동의 실시간 적응을 지원하기 위해.
  • ASP와 ROS 컴포넌트 간의 저수준 통합 세부 사항을 추상화함으로써 개발 복잡성을 줄이기 위해.

제안 방법

  • 반응형 ASP 솔버인 oClingo를 ROS와 통합하여 로봇 시스템에서 증분적이고 이벤트 기반의 추론을 가능하게 한다.
  • 비동기 통신을 위해 ROS 토픽을 사용: 입력은 요청을 ASP 입력 스트림으로 변환하는 사용자 정의 입력 피더를 통해 oClingo에 공급된다.
  • oClingo의 답변 집합에서 도출된 동작 계획을 ROS 메시지로 캡슐화하여 out_rosoclingo 토픽에 게시하여 실행한다.
  • ROS 컴포넌트(예: move_base)로부터의 실행 결과를 in_rosoclingo 토픽을 통해 수신하고, _return 술어를 사용해 oClingo에 다시 피드백한다.
  • 이전 동작을 향후 계획에 유지하고 계획 진동을 방지하기 위해 통합 제약 조건(예: `:- not _action(...).`)을 적용한다.
  • ROS 네비게이션 및 동작 라이브러리(예: move_base, pickup, deliver)를 위한 인터페이스 계층을 제공하여 고수준 동작을 ROS 서비스 호출로 매핑한다.

실험 결과

연구 질문

  • RQ1어떻게 반응형 Answer Set Programming을 ROS와 같은 실시간 로봇 미들웨어에 효과적으로 통합할 수 있는가?
  • RQ2ASP 기반 추론을 사용하여 온라인 센서 피드백과 변화하는 목표에 대응해 작업 계획을 생성하고 동적으로 적응시킬 수 있는가?
  • RQ3oClingo를 ROS에 통합함으로써 고수준 인지 제어를 로봇에 구현하는 데 있어 복잡성이 얼마나 감소하는가?
  • RQ4실행 도중 변화가 발생했을 경우(예: 작업 취소) 시스템은 계획 갱신과 취소를 어떻게 처리하는가?
  • RQ5제안된 프레임워크는 다양한 자율 로봇 시스템에서 고수준 계획 수립을 위한 일반적이고 재사용 가능한 구성 요소로 기능할 수 있는가?

주요 결과

  • ROSoClingo는 새로운 입력과 피드백을 증분적으로 업데이트함으로써 전체 재해결을 피하면서도 실시간으로 반응형 계획 수립을 성공적으로 구현한다.
  • 시스템은 작업 취소에 대응하여 로봇 행동을 동적으로 적응시킨다: `cancel(1)` 요청을 수신한 후 oClingo는 재계산하여 새로운 최소 동작 시퀀스를 생성한다.
  • 로봇은 상태 전이를 정확히 수행한다—office3로 이동, 취소 후 office3에서 대기, 그리고 새로운 delivery 계획을 office4로 실행—이를 통해 견고한 계획 적응 능력을 입증한다.
  • 저수준 ROS 통신 세부 사항이 추상화되어 있어 개발자는 ASP의 고수준 논리에 집중할 수 있으며, 메시지 전달을 통해 동작 실행은 자동으로 처리된다.
  • 시스템은 종단 간 선언적 제어를 지원한다: 목표는 ASP로 기술되고, 계획은 oClingo가 생성하며, 동작은 ROS를 통해 실행되며, 최소한의 커스터마이제이션 코드로 구현된다.
  • Gazebo에서의 TurtleBot 사례 연구는 이 프레임워크가 실세계 로봇 응용 프로그램, 즉 시뮬레이션된 사무실 환경에서의 주행, 물체 취득 및 배달에 있어 실현 가능함을 확인한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.