본문으로 건너뛰기

PLEM Docs

PLEM 로봇 제어 플랫폼의 공개 문서입니다.

v0.9.0 에서 새로워진 점

호환성 주의

  • 로봇: 관절 브레이크 조작이 전 벤더에서 전원과 함께 움직입니다 — 해제는 관절에 전원을 넣어 자세를 잡은 채 풀고(이동(TRAJECTORY)·프리드라이브 모드에서만 받아들입니다), 체결은 전원을 내려 잠급니다.
  • 로봇: 전원을 끈 채 브레이크만 풀어 팔을 손으로 밀던 조작이 없어집니다 — 충돌 뒤 재배치는 화면의 복구 조작으로 오류를 초기화한 다음 프리드라이브에서 중력보상을 받으며 손으로 옮기고, 보호정지가 살아 있으면 원인(비상정지 버튼, 팔이 밀고 있는 외력)을 먼저 없애 안전 상태가 NORMAL 로 돌아온 뒤 프리드라이브로 들어갑니다.
  • 로봇: Indy7 계열·Elfin10-L 은 기기 시리얼 없이 기동하면 즉시 오류로 멈춥니다 — 관절 보정값의 유일한 원천이 기기별 프로필(`~/.plem/profiles/<시리얼>.json`)이라 이전처럼 시리얼 없이 보정값 0 으로 조용히 기동해 자세가 어긋나는 일을 막는 것으로, plem TUI 로 기동하면 로봇 프로필에 등록된 시리얼이 자동으로 전달됩니다.
  • 로봇: Elfin 로봇의 모션 계획이 Pilz(PTP·LIN·CIRC) 전용으로 바뀝니다 — 계획기를 `ompl` 로 지정해 둔 RViz·MoveIt 구성은 Pilz 로 바꿔야 하고, Elfin 에는 장애물 회피 계획이 제공되지 않습니다.
  • 로봇: 장애물 회피가 필요한 계획 요청은 충돌 회피(cuMotion)가 켜져 있지 않으면 다른 계획기로 대체되지 않고 거부됩니다 — 회피 계획은 cuMotion 을 켠 Humble 트레인의 Neuromeka 로봇에서만 실행되고 그 밖에서는 기본(결정론적) 계획으로 바꿔 보내야 하며, 계획기를 직접 지정하던 `planner_hint` 도 더는 계획기를 바꾸지 못하고 다르면 거부되니 이 값은 비우고 회피 필요 여부로 요청하십시오.
  • 그리퍼: 그리퍼 하드웨어 플러그인 이름이 `neuromeka_robot_driver/GripperHardwareInterface` 에서 `plem_robot_nodes/GripperHardwareInterface` 로 바뀝니다 — 옛 이름을 손으로 적어 둔 URDF 는 기동에 실패하므로 새 이름으로 고쳐야 합니다(제공된 그리퍼 xacro 를 그대로 쓰는 구성은 조치가 필요 없습니다).
  • 튜닝: b0 자동 튜닝이 위치영역 하나로 통일되면서 같은 이름의 튜닝 액션이 다른 계약을 갖습니다 — `TuneB0Position`(`tune_b0_position`)을 쓰던 호출자는 `TuneB0`(`tune_b0`)로, 튜닝 도구는 `online-position` 대신 `online` 서브커맨드로 바꾸고 `adapt_sign` 은 ±1 을 반드시 명시해야 합니다(속도영역 튜너는 은퇴).

새 기능

  • 문서: 공개 문서 사이트에 plem TUI · Teaching Pendant · Plem Lab 사용 가이드가 화면별 페이지로 들어갑니다 — 기동 구성·제어·정지와 복구·조작·튜닝·실행 절차를 실제 화면 캡처와 함께 단계별로 설명합니다.

개선·변경

  • 문서: 카메라(ZED X Mini)와 충돌 회피(cuMotion)가 ROS 2 Humble 트레인에서만 제공되는 점을 하드웨어·기동 안내에 명시합니다.
  • 로봇: 서버가 로봇의 기준 프레임과 벤더 도구(마스터링·도달성 검사)를 설치된 로봇 카탈로그에서 해석합니다 — Neuromeka 고정값을 없애 다른 벤더 로봇(Huayan Elfin)에서도 장면·캘리브레이션 흐름이 올바른 프레임으로 동작합니다.
  • 안전: 로봇 모션 잠금(캘리브레이션·TUI·서버 사이의 동시 조작 방지)을 한 구현으로 통일합니다 — 구성 요소마다 따로 두던 사본이 서로 다른 잠금 파일을 잡아 배타가 조용히 풀릴 수 있던 경로를 없앴습니다.
  • 문서: AI 코딩 에이전트용 문서(`depot.wimcorp.dev/docs/<버전>/llms.txt`)가 공개 문서 사이트와 코드에서 컴파일한 위키(전수 인덱스 + 자기완결 페이지)로 바뀝니다 — 구 developer manual 챕터 재발행을 중단합니다. 이 문서는 플러그인 없이 어떤 코딩 에이전트에서도 같은 URL 로 씁니다(Claude Code 용 `plem-docs` 플러그인은 은퇴).
  • 로봇: plem TUI 에서 Huayan Elfin 로봇을 골라 그대로 기동할 수 있습니다 — 로봇 종류가 지정되지 않으면 엉뚱한 로봇으로 기동하지 않고 즉시 오류로 알리며, 관절 목록도 벤더와 무관하게 올바로 읽습니다.
  • 조그: Teaching Pendant 에서 조그 속도를 1 % 단위로 지정합니다 — 슬라이더가 1 % 격자로 움직이고 ±1 % 버튼과 퍼센트 표시가 함께 붙습니다.

수정

  • 문서: 릴리스마다 공개 문서 사이트가 Humble·Jazzy 두 트레인 모두 같은 버전으로 갱신됩니다 — 이전에는 Jazzy 문서가 0.6.5 에 머물러 있었습니다.
  • 로봇: JP7 기기에서 관절 이동 명령이 모두 "IK solver" 오류로 거부되던 문제를 고쳤습니다 — Jazzy 트레인의 로봇 패키지가 IK 솔버 플러그인(TRAC-IK)을 함께 설치합니다.
  • Teaching Pendant: JP7 기기에서 3D 패널을 연 뒤 rosapi 노드가 종료돼 3D 로봇 모델·Plem Lab 로봇 검색이 되지 않던 문제를 고쳤습니다 — 설치·업데이트 시 rosapi 의 알려진 결함을 자동 보정하고, rosapi 가 apt 로 갱신돼도 다시 적용됩니다.
  • Teaching Pendant · Plem Lab: 로봇 모델을 읽을 때 존재하지 않는 노드까지 조회해 로그에 `Service /robot_state_publisher/get_parameters is not available` 가 남던 동작을 없앴습니다.
  • 로봇: 설정 화면에서 Elfin 로봇에 '플래닝 미지원' 표시가 잘못 붙던 것을 없앴습니다 — 이 로봇은 실제로 모션 계획이 됩니다.
  • 로봇: Elfin10-L 에서 브레이크를 푸는 중 드라이브가 고장으로 떨어져 관절이 잠긴 채 보호정지로 무너지던 문제를 고쳤습니다 — 이전 운전에서 남은 고장도 전원 재투입 없이 초기화됩니다.
  • 로봇: Elfin10-L 의 링크 질량·무게중심·관성과 토크 환산 값을 벤더 자료를 근거로 정정하고 제어 튜닝 기본값을 다시 잡았습니다 — 중력보상이 과하게 걸려 프리드라이브에서 팔이 밀리던 현상과 화면 토크 표시의 오차가 개선되며, 일부 관절 모듈과 프리드라이브 밀림은 실기 확인이 남아 있습니다.
  • 문서: 문서 사이트 주소로 들어가면 배포판 선택 화면 대신 문서 첫 화면으로 바로 연결됩니다 — 배포판(Humble/Jazzy) 전환은 상단 토글에서 합니다.

제거

  • 문서: plem-tui 패키지가 개발자 매뉴얼 PDF(`/opt/plem/share/doc/plem-developer-manual.pdf`)를 더 이상 동봉하지 않습니다 — 개발자 문서는 공개 문서 사이트(https://www.wimcorp.co.kr/plem/)가 정본이며, PDF 는 릴리스 산출물로만 제공됩니다.
  • 로봇: 드라이버에 등록되지 않은 로봇 모델 12종(icon·indyrp2·nuri·opti·indy12 계열)을 선택 목록에서 제거합니다 — 목록에는 드라이버 레지스트리에 등록된 모델(Indy7 계열, Elfin10-L)만 남으며, 이전에는 제거된 항목을 고르면 'Unknown robot model' 로 실패했습니다.

전체 변경 이력 →