본문으로 건너뛰기

명령줄

TUI 화면을 열지 않고 터미널에서 쓰는 plem 명령들입니다.

plem 은 plem-cli 패키지가 설치하는 명령으로, plem <명령> 을 이 기기에 설치된 plem-<명령> 실행 파일에 인자 그대로 넘깁니다. 그래서 쓸 수 있는 명령은 설치된 패키지에 따라 달라집니다 — 예를 들어 드라이브 패키지(plem-drive)만 설치한 기기에는 plem drive 만 있습니다. plem --help 는 이 기기에 설치된 명령 목록을 보여 주고, 각 명령의 자세한 도움말은 plem <명령> --help 로 봅니다. 인자 없이 plem 만 실행하면 TUI 가 설치돼 있을 때 TUI 를 띄우고, 없으면 명령 목록을 보여 줍니다. 설치되지 않은 명령을 부르면 plem <명령>: not installed on this device (no plem-<명령>) 한 줄을 출력하고 종료 코드 127 로 끝납니다.

명령용도
plem version설치된 PLEM 버전
plem update업데이트
plem kill남은 스택 프로세스 정리
plem remote원격 지원 연결
plem codeAI 에이전트(베타, 기본 설치에 포함). 로봇 스택 기동·정지, 이동, 그리퍼, 저장 포즈를 대화로 다룹니다. 물리 동작과 저장 포즈·프로필 변경은 실행 전에 확인을 받습니다
plem workspace사용자 워크스페이스 확인 · 해제
plem profile로봇 프로필의 그리퍼 · F/T 센서 확인 · 변경
plem init <이름>커스텀 토크 컨트롤러 스캐폴드
plem drive <동사>서보 드라이브 도구(check, run. 목록은 plem drive --help). plem-drive <동사> 로 직접 불러도 같습니다. 내 서보 드라이브 붙이기
plem uninstallPLEM 제거 — 아래 plem uninstall

plem code 는 Teaching Pendant 에서 Job 이 실행 중이거나 일시정지돼 있으면 팔 이동·그리퍼 명령을 거부하고 그 Job 을 알려 줍니다 — 펜던트에서 ⏹ 로 Job 을 끝낸 뒤 다시 시키세요. 확인은 명령을 보내기 직전 한 번뿐이라, 그 뒤 펜던트에서 새로 시작한 Job 과 겹치는 것은 막지 못합니다.

plem 을 실행할 때 뜨는 질문​

업데이트 안내. 새 버전이 있으면 TUI 가 뜨기 전에 안내가 먼저 나옵니다.

PLEM 0.10.0 → 0.10.1 사용 가능 (패치)
지금 업데이트하시겠습니까? [Y/n] (20초 무응답 시 로봇을 실행합니다)

Enter 나 y 는 업데이트를 시작하고, n 은 건너뜁니다. 20초 동안 아무것도 누르지 않거나 Ctrl+C 를 누르면 질문을 건너뛰고 TUI 로 넘어갑니다 — 무인 재시작에서 업데이트 질문이 기동을 막지 않게 하려는 동작입니다. 질문은 터미널에서 직접 실행했을 때만 나오고, 새 버전 확인에 실패하면 그냥 넘어갑니다. 자세한 절차는 업데이트에 있습니다.

워크스페이스 채택. 빌드된 사용자 워크스페이스 안에서 plem 을 실행하면 그 워크스페이스를 쓸지 묻습니다 ([y/N], 기본은 아니오). 채택한 워크스페이스는 로봇 기동 전체에 오버레이로 적용되고 커스텀 토크 컨트롤러 검색에도 쓰입니다 — 커스텀 토크 컨트롤러. 그 용도가 아니면 아니오로 두세요.

plem kill​

TUI 가 비정상 종료돼 스택 프로세스만 남았을 때 씁니다. 모든 프로세스에 한꺼번에 종료 신호를 보내고 3초 뒤 남은 것을 강제로 끝냅니다. plem drive run 으로 띄운 드라이브 버스는 대상에서 빠집니다 — 그 버스는 띄운 터미널에서 Ctrl-C 로 세우세요.

plem kill --dry # 무엇을 끝낼지 목록만 봅니다
plem kill # 정리합니다
plem kill --force # 기다리지 않고 즉시 강제 종료합니다 (--dry 와 함께 주면 --force 가 이깁니다)
살아 있는 스택에는 쓰지 마세요

plem kill 은 브레이크를 먼저 걸지 않고 카메라 종료도 기다리지 않습니다. TUI 가 떠 있으면 s 로 정지하고 q 로 종료하세요 — 정지와 복구. 그 밖의 주의사항은 로봇 스택 기동에 있습니다.

plem remote​

지원팀이 요청했을 때 실행하세요. 원격 지원 터널이 열리고 터미널을 차지합니다. Ctrl+C 로 끊습니다.

plem workspace​

등록한 워크스페이스를 보여 줍니다(로봇 기동 전체에 적용되는 오버레이 — 커스텀 토크 컨트롤러가 주 용도). plem workspace clear 는 등록만 해제합니다 — 로봇 프로필에서 고른 Plugin 컨트롤러는 그대로이므로, 기본 컨트롤러로 돌아가려면 프로필의 토크 컨트롤러도 되돌리세요.

plem profile​

plem profile grippers 는 이 기기에서 쓸 수 있는(드라이버가 설치된) 그리퍼 모델을 보여 줍니다. plem profile set-gripper <로봇> <모델> 은 그 로봇의 그리퍼를 바꾸고, none 을 주면 해제합니다. 드라이버가 설치된 모델만 받고, 통신 방식은 모델에 맞춰 자동으로 정해지며, 이전 모델의 세부 설정은 지웁니다. 저장한 값은 다음 기동부터 적용됩니다. 카메라 캘리브레이션이 있는 로봇이면 바꾼 뒤 재캘리브레이션 경고(The tool stack changed (…))를 한 줄 남깁니다 — 저장은 그대로 됩니다. --dry-run 을 붙이면 바뀌는 내용만 보여 주고 저장하지 않습니다. 다른 곳(설정 화면·Pendant)이 같은 로봇을 저장하는 중이면 잠시 후 다시 시도하라고 알립니다. plem code 에 「그리퍼 rg6 연결해줘」라고 하면 이 명령으로 처리됩니다(변경 내용을 보여 주고 확인을 받습니다).

plem profile ft-sensors 는 이 기기에서 쓸 수 있는(설명 패키지가 설치된) F/T 센서 모델을, plem profile set-ft-sensor <로봇> <모델> 은 그 로봇의 F/T 센서를 바꾸고 none 이면 해제합니다. 설정 화면과 Pendant 의 로봇 편집에서도 고를 수 있습니다. 새로 고를 때 그 센서가 지원하지 않는 로봇이면 cannot be set on this robot 으로 지원 로봇 목록과 함께 거절하고(AFT200-D80 은 Neuromeka Indy7 v3), 프로필에 로봇 모델이 정해지지 않았으면 그 사실을 알리며 거절합니다. 해제는 언제나 됩니다. --dry-run·다음 기동부터 적용·다른 곳이 저장 중일 때의 안내는 그리퍼와 같습니다. plem code 는 F/T 센서를 바꾸지 않습니다.

plem uninstall​

PLEM 을 기기에서 지웁니다. 먼저 sudo 암호를 묻고, 지울 범위를 보여 준 뒤 확인을 받고 진행합니다. 패키지만 새로 받으려는 것이면 제거하지 말고 plem update 를 쓰세요.

plem uninstall --keep-license # 라이선스·기기 키를 남기고 제거합니다
plem uninstall --help # 전체 옵션

기본은 라이선스와 plem code 기기 키까지 지웁니다. 하지만 기기 등록은 PLEM 서버에 그대로 남아, 같은 기기를 다시 등록하면 어떤 토큰으로도 거부됩니다. 지운 뒤 다시 설치하려면 담당자에게 기존 기기 등록 삭제를 요청하고(그 등록에 쓴 토큰도 함께 폐기됩니다), 새로 받은 토큰으로 설치하세요. 부득이 제거하실 때는 --keep-license 를 붙여 라이선스와 기기 키 파일을 남기고, 다시 설치하기 전에 지원팀에 문의하세요 — 기기 키는 PLEM 서버도 다시 알려 주지 않아, 남긴 파일이 유일한 사본입니다. 로봇 프로필 등 사용자 데이터(~/.plem)는 기본으로 남습니다.

plem init​

커스텀 토크 컨트롤러 스캐폴드를 만듭니다. 전체 흐름은 커스텀 토크 컨트롤러에 있습니다.