Skip to main content
QUICK REVIEW

[논문 리뷰] A Platform-independent Programming Environment for Robot Control

Michael Reckhaus, Nico Hochgeschwender|arXiv (Cornell University)|2010. 10. 05.
Software Testing and Debugging Techniques참고 문헌 7인용 수 7
한 줄 요약

이 논문은 동시 동작 시퀀스의 설계를 의존성 그래프 유사 인터페이스를 통해 가능하게 하는 플랫폼에 종속되지 않는 모델 기반 그래픽 프로그래밍 환경을 제시한다. 도메인 특화 언어(DSL)와 XML 설정을 통한 코드 생성을 통해 다양한 로봇 플랫폼 간 제어 논리를 재사용할 수 있으며, 시뮬레이션된 서비스 로봇과 교육용 레고 NXT 로봇을 성공적으로 구현하였다.

ABSTRACT

The development of robot control programs is a complex task. Many robots are different in their electrical and mechanical structure which is also reflected in the software. Specific robot software environments support the program development, but are mainly text-based and usually applied by experts in the field with profound knowledge of the target robot. This paper presents a graphical programming environment which aims to ease the development of robot control programs. In contrast to existing graphical robot programming environments, our approach focuses on the composition of parallel action sequences. The developed environment allows to schedule independent robot actions on parallel execution lines and provides mechanism to avoid side-effects of parallel actions. The developed environment is platform-independent and based on the model-driven paradigm. The feasibility of our approach is shown by the application of the sequencer to a simulated service robot and a robot for educational purpose.

연구 동기 및 목표

  • 로봇 제어 프로그래밍의 복잡성과 플랫폼 특수성으로 인해 발생하는 코드 재사용의 어려움과 개발 장벽을 해소하기 위해.
  • 병렬 로봇 동작을 조합할 수 있는 그래픽적이고 직관적인 인터페이스를 제공하여 로봇 프로그래밍의 높은 진입 장벽을 낮추기 위해.
  • 플랫폼에 종속되지 않는 모델링을 통해 다양한 로봇 플랫폼 간 제어 논리를 재사용할 수 있도록 하기 위해.
  • 병행 실행 중 발생할 수 있는 부작용(예: 센서 간섭)을 방지하면서도 동시 로봇 동작을 지원하기 위해.
  • 사용자 정의 가능한 DSL과 코드 생성 템plate를 통해 다양한 로봇 시스템에 적응할 수 있는 유연하고 확장 가능한 프레임워크 개발하기 위해.

제안 방법

  • 플랫폼에 종속되지 않는 모델(PLM)과 플랫폼에 종속되는 구현(PMS)을 분리하기 위해 모델 기반 소프트웨어 개발(FMDD) 패러다임을 적용한다.
  • 로봇 동작을 의존성 그래프의 노드로 표현하는 그래픽 시퀀서를 설계하여 병렬 동작 시퀀스의 시각적 조합을 가능하게 한다.
  • 도메인 특화 언어(DSL)를 사용해 로봇 전용 제어 논리를 정의하고, 이를 코드 생성을 통해 대상 플랫폼 코드로 매핑한다.
  • 플랫폼에 종속되지 않는 환경을 구현하기 위해 플랫폼 특화 DSL과 코드 생성 설정을 로드할 수 있는 XML 기반 설정 시스템을 구현한다.
  • 확장 가능하고 재사용 가능한 UI 컴포넌트를 제공하기 위해 Eclipse Rich Client Platform(RCP)과 Graphical Editing Framework(GEF)와 통합한다.
  • 그래픽적 동작 시퀀스를 로봇의 대상 플랫폼에서 컴iles블 수 있는 저수준 코드(예: 레고 NXT용 NXC)로 변환한다.

실험 결과

연구 질문

  • RQ1어떻게 하면 동시 로봇 제어 프로그램 개발을 단순화할 수 있는 플랫폼에 종속되지 않는 그래픽 프로그래밍 환경을 설계할 수 있는가?
  • RQ2로봇 제어에 모델 기반 개발 원칙을 얼마나 효과적으로 적용하여 다양한 로봇 플랫폼 간 코드 재사용을 가능하게 할 수 있는가?
  • RQ3병행 동작으로 인한 부작용(예: 센서 가림)이 그래픽 프로그래밍 환경에서 어떻게 탐지되고 완화될 수 있는가?
  • RQ4사용자 정의 가능한 DSL과 코드 생성 파이프라인은 핵심 제어 논리의 수정 없이도 다양한 로봇 플랫폼을 효과적으로 지원할 수 있는가?
  • RQ5이 환경은 실습 기반 교육 현장에서 학생들이 병렬 로봇 프로그래밍을 효과적으로 학습하는 데 얼마나 유용한가?

주요 결과

  • 제안된 환경은 의존성 그래프 메타포를 사용하여 병렬 동작을 그래픽적으로 시퀀싱하는 데 성공하였으며, 이는 동시 제어 논리 개발을 크게 단순화시켰다.
  • 제어 논리에 변화 없이도 레고 NXT 로봇용 유효한 NXC 코드를 생성하고 시뮬레이션된 서비스 로봇을 지원함으로써 플랫폼 독립성을 입증하였다.
  • 대학 수업에서 학생들이 실제 로봇에서 병렬 행동을 프로그래밍하는 법을 가르치는 데 성공적으로 활용되었으며, 효과적인 교육 도구로 입증되었다.
  • 병행 동작으로 인한 부작용(예: 센서 가림)은 그래픽 시퀀서 내에서 변수 스코프와 데이터 흐름 모델링을 신중히 설계함으로써 완화되었다.
  • 사용자 정의 가능한 DSL과 XML 기반 코드 생성 템플릿의 사용으로 동일한 제어 논리를 다양한 로봇 플랫폼에 원활하게 적용할 수 있었다.
  • 모델 기반 접근 방식을 통해 다양한 로봇 시스템 간 제어 프로그램의 완전한 재사용이 가능해졌으며, 플랫폼 독립성의 목표를 달성하고 개발 오버헤드를 감소시켰다.

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

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

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

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