본문으로 건너뛰기

명령줄

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

명령용도
plem version설치된 PLEM 버전
plem update업데이트
plem env실행 중인 로봇의 ROS 2 환경을 현재 셸에 적용할 설정으로 출력
plem ros2 <인자>그 환경으로 ros2 명령을 한 번 실행
plem kill남은 스택 프로세스 정리
plem remote원격 지원 연결
plem workspace사용자 워크스페이스 확인 · 해제
plem init <이름>커스텀 토크 컨트롤러 스캐폴드

plem 을 실행할 때 뜨는 질문

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

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

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

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

plem env · plem ros2

다른 터미널에서 ros2 topic list 같은 명령으로 실행 중인 로봇을 보려면 그 셸이 로봇과 같은 ROS 2 환경(도메인·미들웨어)이어야 합니다. 값을 손으로 맞추지 마시고 실행 중인 로봇에서 복사하세요.

eval "$(plem env)" # 이 셸을 실행 중 로봇에 맞춥니다
ros2 topic list

한 번만 실행할 명령이면 셸을 건드리지 않는 쪽이 간단합니다.

plem ros2 topic list

로봇이 실행 중이 아니면 plem env 는 아무것도 출력하지 않고 안내만 남기며, plem ros2 는 경고한 뒤 현재 셸 환경으로 실행합니다. 환경 값의 의미는 ROS 2 통합에 있습니다.

plem kill

TUI 가 비정상 종료돼 스택 프로세스만 남았을 때 씁니다. 모든 프로세스에 한꺼번에 종료 신호를 보내고 3초 뒤 남은 것을 강제로 끝냅니다.

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

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

plem remote

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

plem workspace

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

plem init

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