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 구현을 자동 생성합니다.
자세한 내용은 로봇 통합 가이드를 참조하세요.