본문으로 건너뛰기

PLEM 사용자 가이드

PLEM은 산업용 매니퓰레이터를 위한 실시간 로봇 제어 라이브러리입니다. ROS2 기반의 통합된 제어 인터페이스를 제공하며, 다양한 제조사의 로봇을 일관된 API로 제어할 수 있습니다.

빠른 시작

처음 PLEM을 사용하신다면 다음 순서로 진행하세요.

1. 환경 설정

설치 가이드에서 시스템 요구사항을 확인하고 PLEM을 빌드합니다.

2. 첫 로봇 연결

빠른 시작에서 샘플 로봇을 실행하고 기본 제어 명령을 테스트합니다.

3. 로봇 통합

로봇 통합 가이드에서 내 로봇을 PLEM에 추가하는 방법을 확인합니다.

주요 기능

실시간 제어

  • 1kHz cycle rate의 deterministic control loop
  • Real-time kernel 지원 (PREEMPT_RT)
  • 우선순위 기반 스케줄링

ROS2 통합

  • Composable node architecture
  • Action server 기반 비동기 제어
  • Launch system을 통한 구성 관리

안전 시스템

  • SafetyMode API (NORMAL, P_STOP, HW_FAULT)
  • 이중 상태 머신 기반 하드웨어 보호
  • Emergency stop 처리

확장성

  • Description Package를 통한 로봇 추가
  • C++ Robot Extension으로 새 제조사 지원
  • PLEM 소스 코드 수정 없이 확장 가능

문서 구조

이 문서는 세 가지 섹션으로 구성되어 있습니다.

시작하기

PLEM의 기본 개념과 설치, 첫 실행까지 안내합니다.

  • 라이브러리 개요: PLEM 아키텍처와 핵심 개념
  • 설치 가이드: 환경 확인 및 빌드 과정
  • 빠른 시작: 첫 로봇 연결 및 테스트

가이드

실제 작업에 필요한 구체적인 방법을 설명합니다.

  • 로봇 통합: Description Package 생성 및 체크리스트
  • ROS2 Launch 시스템: Composable Launch 구조
  • 안전 모드 API: SafetyMode, RobotMode 사용법
  • Action 서버 사용: ROS2 액션 인터페이스
  • 제어 튜닝: PID 게인, 마찰 보상 조정
  • 성능 모니터링: PlotJuggler를 통한 시각화

레퍼런스

API 규격과 설정 옵션을 참조할 수 있습니다.

  • Description Protocol: 패키지 컨벤션 규칙
  • 설정 참조: YAML 파일 및 launch parameter

새 로봇 추가하기

PLEM은 두 가지 방법으로 로봇을 추가할 수 있습니다.

Description Package

기존 지원 제조사 로봇이거나 시뮬레이션/Planning만 필요한 경우, Description Package를 생성하여 빠르게 통합할 수 있습니다.

ros2 run plem_bringup create_description --name my_robot --dof 6
C++ Robot Extension

새 제조사 로봇을 하드웨어 제어까지 지원하려면 C++ Extension을 생성합니다. PLEM 소스 코드 수정 없이 확장 가능합니다.

ros2 run plem_bringup create_robot

인터랙티브 마법사가 Config 구조체, RobotTraits 특수화, RobotFactory 구현을 자동 생성합니다.

자세한 내용은 로봇 통합 가이드를 참조하세요.

다음 단계