본문으로 건너뛰기
C++ Manipulator Control Library

정밀한 로봇 제어를
간단한 코드로

PLEM은 산업용 매니퓰레이터 real-time 제어를 위한 C++ 라이브러리입니다. EtherCAT 기반 1kHz 제어와 직관적인 API로 복잡한 로봇 시스템을 간단하게 구축하세요.

main.cpp
1// Configure manipulator
2auto robot = Robot::builder<MyRobot>()
3    .with_network_interface("eth0")
4    .build();
5
6// Start and release brakes
7robot->start();
8robot->release_brake();
1kHz제어 주기
6/7-DOF다중 로봇 지원
C++20표준
<50µs제어 지터

강력한 기능들

산업용 로봇 제어에 필요한 모든 핵심 기능을 제공합니다.

직관적인 API

명확하고 사용하기 쉬운 C++ 인터페이스로 복잡한 로봇 제어를 간단하게 구현하세요.

자세히 보기

실시간 제어

정밀한 실시간 제어와 빠른 응답 성능으로 산업 현장의 요구사항을 충족합니다.

자세히 보기

모듈형 설계

확장 가능한 아키텍처로 다양한 매니퓰레이터 모델과 커스텀 알고리즘을 지원합니다.

자세히 보기

안전 시스템

SafetyMode와 RobotMode 이중 상태 머신으로 하드웨어 보호와 운영 제어를 분리합니다.

자세히 보기

ROS2 통합

Action 서버, Composable Launch, namespace 격리로 ROS2 생태계와 완벽 통합됩니다.

자세히 보기

EtherCAT Real-Time

EtherCAT 기반 1kHz 제어 루프와 PREEMPT_RT 커널로 50µs 미만 지터를 달성합니다.

자세히 보기

워크플로우

로봇 구성부터 실시간 모니터링까지 4단계로 완성합니다.

01

로봇 구성

몇 줄의 코드로 다양한 로봇 모델을 구성합니다

auto robot = Robot::builder<MyRobot>()
    .with_network_interface("eth0")
    .build();
02

시스템 실행

Composable Launch로 RT 드라이버와 컨트롤러를 시작합니다

ComposableLaunch(
    robot_driver_node,
    controller_node
).start();
03

안전 제어

이중 상태 머신으로 모드 전이와 궤적을 실행합니다

robot->set_mode(RobotMode::TRAJECTORY);
trajectory_action->execute(goal);
04

성능 모니터링

Wait-free queue 기반 RT 메트릭을 실시간 모니터링합니다

auto metrics = monitor.get_rt_metrics();
// jitter: 12µs, cycle: 1000µs

왜 PLEM인가요?

기존 솔루션의 한계를 넘어서는 PLEM만의 차별점을 확인하세요.

자세히 알아보기
10x코드 간소화
기존 방식EtherCAT 초기화 수백 줄
PLEM 사용 시직관적인 API로 3줄 초기화
<50µs제어 지터
기존 방식범용 스케줄러 100µs+ 지터
PLEM 사용 시PREEMPT_RT 격리 CPU 실시간 제어
6+로봇 지원
기존 방식단일 제조사 종속
PLEM 사용 시Description Package로 다양한 로봇 즉시 통합
2중안전 상태 머신
기존 방식안전 로직 직접 구현
PLEM 사용 시SafetyMode + RobotMode 이중 보호

PLEM 도입 문의

로봇 제어의 새로운 기준을 경험하세요

데모 요청

실제 환경에서 PLEM의 성능을 직접 확인하세요. 엔지니어가 직접 시연해드립니다.