Skip to main content
QUICK REVIEW

[논문 리뷰] Towards A Domain-specific Language For Pick-And-Place Applications

Thomas Buchmann, Johannes Baumgartl|arXiv (Cornell University)|2014. 01. 07.
Advanced Software Engineering Methodologies참고 문헌 8인용 수 7
한 줄 요약

이 논문은 피크 앤 플레이스 로봇 응용 프로그램 프로그래밍을 단순화하기 위한 도메인 특화 언어(DSL)를 제안한다. 이는 비전문가가 고수준의 선언적 사양을 통해 로봇 소프트웨어를 개발할 수 있도록 한다. DSL은 소프트웨어 제품 라인 접근 방식을 통해 구성 가능한 C++ 코드를 생성하며, 실제 로봇과 시뮬레이터 모두를 지원한다.

ABSTRACT

Programming robots is a complicated and time-consuming task. A robot is essentially a real-time, distributed embedded system. Often, control and communication paths within the system are tightly coupled to the actual physical configuration of the robot. Thus, programming a robot is a very challenging task for domain experts who do not have a dedicated background in robotics. In this paper we present an approach towards a domain specific language, which is intended to reduce the efforts and the complexity which is required when developing robotic applications. Furthermore we apply a software product line approach to realize a configurable code generator which produces C++ code which can either be run on real robots or on a robot simulator.

연구 동기 및 목표

  • 저수준 코드를 초월한 추상화 수준을 높여 비전문가가 로봇을 프로그래밍하는 데 드는 복잡성을 줄이기 위해.
  • 현재 로봇 하드웨어 구성과 제어 로직 간의 강한 결합으로 인해 로봇 전문가 외에는 접근이 어려운 문제를 해결하기 위해.
  • 소프트웨어 제품 라인 접근 방식을 통해 로봇 소프트웨어의 재사용성과 구성 가능성을 보장하기 위해.
  • 저수준의 계획 및 제어 복잡성을 추상화한 선언적이고 인간이 읽을 수 있는 DSL을 제공하기 위해.
  • 단일 구성 가능한 코드 생성기를 통해 실제 로봇 배포와 시뮬레이션을 동시에 지원하기 위해.

제안 방법

  • 로봇, 센서, 물체, 그리고 '픽'과 '플레이스'와 같은 동작를 정의하기 위해 Xtext 프레임워크를 사용한 텍스트 기반 선언적 도메인 특화 언어(DSL)를 설계하기 위해.
  • 로봇 하드웨어와 구성의 변형성을 표현하기 위해 기능 모델을 구현하여 제품 라인 공학을 구현하기 위해.
  • DSL 모델을 실제 로봇 또는 시뮬레이터를 대상으로 하는 실행 가능한 C++ 코드로 변환하기 위해 코드 생성기를 사용하기 위해.
  • 경로 계획, 그립 계획, 센서 인식과 같은 저수준 작업을 처리하는 C++ 프레임워크와 DSL을 통합하기 위해.
  • 구문 분석, 검증, 코드 생성을 지원하기 위해 문맥 민감한 문법과 Ecore 기반 모델 표현을 사용하기 위해.
  • 모델 관리 및 툴체인 통합을 위해 이클립스 모델링 프로젝트와 Papyrus를 활용하기 위해.

실험 결과

연구 질문

  • RQ1도메인 특화 언어가 비전문가가 피크 앤 플레이스 로봇 응용 프로그램을 프로그래밍하는 데 드는 노력과 복잡성을 상당히 줄일 수 있는가?
  • RQ2다양한 로봇 하드웨어 구성에 맞춰 구성 가능한 코드 생성기를 설계할 수 있는가? 이때 정확성과 재사용성은 유지되어야 한다.
  • RQ3DSL의 고수준 추상화는 얼마나 효과적으로 응용 로직을 저수준 하드웨어 의존성에서 분리할 수 있는가?
  • RQ4소프트웨어 제품 라인 프레임워크 내에서 로봇 하드웨어와 센서 구성의 변형성을 체계적으로 모델링하고 관리할 수 있는가?
  • RQ5DSL 기반 접근 방식은 최소한의 구성 변경으로 실제 로봇 배포와 시뮬레이션을 모두 지원할 수 있는가?

주요 결과

  • 제안된 DSL은 로봇 교육을 받지 않은 도메인 전문가가 고수준의 선언적 문법을 사용해 피크 앤 플레이스 작업을 정의할 수 있도록 한다.
  • 소프트웨어 제품 라인 접근 방식을 통해 공유 기능 모델을 통해 특정 로봇 하드웨어 구성에 맞는 C++ 코드 생성이 가능해진다.
  • 코드 생성기는 실제 로봇 또는 시뮬레이션 환경에 배포 가능한 실행 가능한 C++ 코드를 성공적으로 생성한다.
  • Xtext의 사용은 강력한 구문 분석, 검증, 모델 표현을 가능하게 하여 확장성과 툴 통합을 지원한다.
  • 경로 계획 및 그립 계획과 같은 복잡한 하위 작업들이 기반 C++ 프레임워크에 추상화되어 사용자의 인지 부담을 줄인다.
  • DSL과 코드 생성기는 사례 연구를 통해 다양한 로봇 설정에서의 실현 가능성과 구성 가능성을 입증하였다.

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

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

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

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