Skip to main content
QUICK REVIEW

[논문 리뷰] A Modular Robotic Arm Control Stack for Research: Franka-Interface and FrankaPy

Kevin Zhang, Mohit Sharma|arXiv (Cornell University)|2020. 11. 04.
Robot Manipulation and Learning참고 문헌 9인용 수 25
한 줄 요약

이 논문은 C++를 사용한 저수준 제어와 Python을 사용한 고수준 프로그래밍을 통해 Franka Emika Panda 로봇을 1 kHz에서 고주파, 실시간 제어할 수 있는 모듈러한 로봇 제어 스택인 Franka-Interface와 FrankaPy를 제시한다. 이 프레임워크는 9개의 내장 로봇 컨트롤러 간 실시간 전환, 실시간 센서 피드백 통합, 임피던스 및 LQR 제어와 같은 제어 전략의 빠른 프로토타이핑을 지원하며, 5篇의 출판된 연구 논문과 50명의 학생이 참여한 대학 강의에서 검증된 바 있다.

ABSTRACT

We designed a modular robotic control stack that provides a customizable and accessible interface to the Franka Emika Panda Research robot. This framework abstracts high-level robot control commands as skills, which are decomposed into combinations of trajectory generators, feedback controllers, and termination handlers. Low-level control is implemented in C++ and runs at $1$kHz, and high-level commands are exposed in Python. In addition, external sensor feedback, like estimated object poses, can be streamed to the low-level controllers in real time. This modular approach allows us to quickly prototype new control methods, which is essential for research applications. We have applied this framework across a variety of real-world robot tasks in more than $5$ published research papers. The framework is currently shared internally with other robotics labs at Carnegie Mellon University, and we plan for a public release in the near future.

연구 동기 및 목표

  • franka_ros와 같은 ROS 기반 제어 스택의 제한점을 해결하기 위해, 컨트롤러 접근성을 제한하고 실시간 센서 통합이 부족한 문제를 해결한다.
  • 연구자들이 Franka Panda 로봇에서 고급 제어 전략의 빠른 프로토타이핑을 지원하는 모듈러하고 확장 가능한 제어 스택을 제공한다.
  • 외부 센서 피드백(예: 물체 자세 추정)을 실시간 저수준 컨트롤러에 원활하게 통합할 수 있도록 한다.
  • 컨트롤러 종료나 지연 없이 모든 9개의 내장 libfranka 컨트롤러 간 동적 전환을 지원한다.
  • 연구용 대규모 배포를 가능하게 하며, 5편의 출판된 논문과 8台의 로봇, 50명의 학생이 참여한 대학 강의에서의 활용을 통해 이를 입증한다.

제안 방법

  • 실시간 커널을 탑재한 리눅스 시스템에서 실시간 서버를 운영하는 클라이언트-서버 아키텍처를 사용하며, libfranka C++ API를 통해 1 kHz 제어를 처리한다.
  • 고수준 제어 및 계획은 Python을 사용하는 클라이언트 컴퓨터에서 관리되며, FrankaPy를 통해 로봇 상태 및 ROS 액션 클라이언트에 대한 API를 노출한다.
  • 공유 메모리 버퍼를 통해 클라이언트와 서버 간에 저지연, 고효율적인 데이터 전송을 구현하며, 스킬 파rameter와 센서 데이터를 포함한다.
  • 스킬은 트래잭터리 생성기, 피드백 컨트롤러, 종료 핸들러, 센서 주제 구독과 같은 구성 가능한 컴포넌트로 분해된다.
  • 프레임워크는 관절 위치, 카르테시안 자세, 임피던스, 힘 제어 등 다양한 컨트롤러 유형을 지원하며, 이들 간의 동적 전환을 가능하게 한다.
  • ROS 주제(예: 물체 자세 추정)에서 온 센서 데이터는 공유 메모리 인터페이스를 통해 실시간으로 실시간 제어 루프로 스트리밍된다.

실험 결과

연구 질문

  • RQ1다양한 내장 컨트롤러 간 동적 전환을 가능하게 하면서도, Franka Panda 로봇에 대해 실시간, 고주파 제어를 지원하는 모듈러한 제어 스택을 설계할 수 있는가?
  • RQ2외부 센서 피드백이 실시간 보장 조건을 해치지 않거나 지연 없이 저수준 제어 루프에 통합될 수 있는가?
  • RQ3이러한 시스템은 실제 로봇 작업에서 임피던스 제어나 LQR와 같은 다양한 제어 전략의 빠른 프로토타이핑에 얼마나 효과적으로 기여하는가?
  • RQ4이 프레임워크는 학술 연구 환경에서 다수의 로봇과 복잡한 다단계 작업을 지원할 수 있는가?
  • RQ5컨트롤러 유연성과 실시간 성능 측면에서 기존의 ROS 기반 스택과 비교해 볼 때 이 접근 방식은 어떠한가?

주요 결과

  • 시스템은 C++ 기반 실시간 제어 루프를 사용하여 Franka Emika Panda 로봇에서 1 kHz 실시간 제어를 성공적으로 달성했다.
  • 모든 9개의 내장 libfranka 컨트롤러 간 동적 전환이 가능하며, 컨트롤러를 중단하고 다시 시작할 필요가 없어진다.
  • 예측된 물체 자세와 같은 실시간 센서 피드백이 지연 없이 또는 직렬화 오 overhead 없이 저수준 컨트롤러로 스트리밍될 수 있다.
  • 시스템은 실제 작업에서 카르테시안 임피던스 및 LQR 컨트롤러와 같은 고급 제어 전략을 구현하고 검증하는 데 사용되었다.
  • 이 프레임워크는 5편의 출판된 연구 논문을 지원했으며, 8대의 공유 로봇을 사용해 50명의 학생이 참여한 대학 강의에서 활용되었다.
  • 라이선스 및 문서화 개선을 완료한 후 공개 배포를 준비 중이다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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