기동 구성 — Robot Control Setup
plem 을 실행하면 처음 보이는 화면입니다. 여기서 고른 값으로 로봇 스택이 기동됩니다. 위에서 아래로 진행하세요.
- 띄울 로봇을 선택합니다.
- 로봇마다 EtherCAT 마스터를 배정합니다.
- 제어 주기를 확인합니다.
- 구성 요소를 켜고 끕니다.
- Start 를 누르거나
s를 누릅니다. Robot Control 화면으로 넘어간 뒤 거기서s를 한 번 더 눌러야 스택이 기동됩니다.
이 화면에는 키 안내 줄이 없습니다. 주요 키는 셋입니다 (한글 입력 상태에서는 s 대신 ㄴ).
| 키 | 동작 |
|---|---|
s | Start |
, | 설정 열기 |
Esc | 취소 — 프로그램이 종료됩니다 |
ROS_DOMAIN_ID 줄
맨 위 한 줄은 이 기기가 어느 ROS 2 도메인에서 동작하는지를 알려 줍니다. 값은 셸 환경 변수가 0–101 사이 숫자로 있으면 그것이, 없으면 설정(,)에 저장한 값이 쓰입니다.
| 표시 | 뜻 |
|---|---|
✓ ROS_DOMAIN_ID: N (Settings) | 설정 파일의 값을 읽었습니다 — 실행 중에 설정을 바꿨을 때 보이며, 이번 실행에는 아직 적용되지 않은 상태입니다 |
✓ ROS_DOMAIN_ID: N (shell env) | 셸 환경 변수의 값입니다 — plem 이 시작할 때 설정값을 환경에 올리므로, 설정값으로 정상 실행 중일 때도 이렇게 보입니다 |
⚠ ROS_DOMAIN_ID: N (shell env overrides Settings=M) | 셸 값과 설정값이 다릅니다 — 셸 값이 이깁니다 |
⚠ ROS_DOMAIN_ID: 0 (default …) | 도메인이 0 입니다(미지정이거나 0 으로 지정) — 같은 DDS 전송 범위에서 도메인 0 을 쓰는 다른 ROS 2 참여자와 통신이 섞일 수 있습니다 |
기본 DDS 설정은 기기 안(localhost)으로 한정돼 있지만, 외부 ROS 2 환경과 연결하실 때는 도메인을 정해 두세요 — 설정에서 1–101 사이 값을 지정합니다. 도메인은 plem 이 시작할 때 한 번 정해집니다 — 설정을 바꾼 뒤에는 스택 재기동이 아니라 plem 을 완전히 종료하고 다시 실행해야 적용됩니다. 자기 ROS 2 환경과 맞추는 방법은 ROS 2 통합에 있습니다.
로봇 선택
목록의 각 줄은 로봇 ID (시리얼) 모델 입니다. 등록된 로봇이 없으면 목록 대신 안내가 나옵니다 — 납품 구성과 다르면 지원팀에 문의하세요.
여러 대를 함께 띄우실 수 있습니다. 단 동시에 기동하는 로봇 수는 검출된 EtherCAT 마스터 수를 넘을 수 없고, 같은 제조사 로봇은 한 번에 최대 4대입니다(초과는 Start 뒤 기동 단계에서 거부됩니다). Teaching Pendant 는 로봇 한 대일 때만 켤 수 있습니다 — 두 대 이상 고르면 그 토글이 꺼지고 잠깁니다. Plem Lab 은 여러 대에서도 됩니다.
EtherCAT 마스터 배정
기기가 검출한 마스터 번호가 Assign masters (available: …) 에 나열됩니다. 로봇을 선택하면 비어 있는 마스터가 자동으로 배정됩니다. 다른 로봇이 이미 쓰는 마스터를 고르면 두 로봇의 배정이 서로 바뀝니다.
마스터가 하나도 검출되지 않으면 배정 줄 대신 이 문구가 나옵니다.
LAN 케이블과 서보 전원을 확인하신 뒤 다시 검출시키세요 — 설정(,)을 열었다 닫거나, Esc 로 나갔다가 plem 을 다시 실행하면 됩니다.
제어 주기
마스터 옆 입력란이 제어 주기입니다. 단위는 마이크로초이고 200–1000 사이만 받습니다. 기본값 1000 µs 가 1 kHz 이며, 값을 바꾸면 옆의 힌트가 µs (2.5 kHz) 처럼 따라 바뀝니다. 특별한 이유가 없으면 기본값을 두세요. 이 값은 기억되지 않고 실행할 때마다 1000 으로 시작합니다.
구성 요소
| 토글 | 기본값 | 조건 | 켜면 |
|---|---|---|---|
| MoveIt | 켜짐 | — | 모션 플래닝이 뜹니다. 관절 이동·Teaching Pendant 의 이동 노드가 이것을 씁니다 |
| Camera (Perception) | 꺼짐 | MoveIt + 인식 지원 카메라가 지정된 로봇 | 카메라 드라이버와 3D 인식이 뜹니다(인식 지원 카메라가 없는 로봇에서는 아무것도 뜨지 않습니다). Jetson 의 CPU·GPU 메모리를 많이 씁니다. 카메라별 트레인 지원은 지원 하드웨어 참조 — RealSense D455 는 두 트레인 공통, ZED X Mini 는 ROS 2 Humble(JetPack 6) 트레인 한정 |
| Perception Profile | balanced | MoveIt + Camera | 인식 품질과 속도의 균형 — fast · balanced · precise · thin_object_precise |
| Collision Avoidance (cuMotion) | 꺼짐 | MoveIt + 충돌 회피 지원 모델(Indy7 계열) | 장애물 회피 플래닝이 뜹니다. 카메라가 꺼져 있으면 로봇 자체 충돌 검사와 미리 등록된 정적 장애물만 다루고, 카메라로 만드는 동적 환경 맵은 없습니다. 지원 모델에서는 ROS 2 Humble(JetPack 6) 트레인 한정: Jazzy(JetPack 7) 기기에는 cuMotion 이 아직 프로비저닝되지 않았습니다 — 이 토글을 켜고 Start 하면 로봇 스택 기동이 실패합니다(사전 경고 없음). Elfin10-L 은 충돌 회피 지원 모델이 아니라 이 토글을 켜도 cuMotion 을 건너뛰고 정상 기동합니다 |
| Teaching Pendant | 켜짐 | 로봇 1대 | 웹 Teaching Pendant 가 뜹니다 |
| Plem Lab | 켜짐 | — | 웹 Plem Lab 이 뜹니다 |
Jazzy(JetPack 7) 기기에서 이 화면을 쓰신다면: Camera 는 RealSense 로 정상 동작합니다. 충돌 회피 지원 모델(Indy7 계열)에서는 Collision Avoidance(cuMotion)를 반드시 꺼둔 채로 두세요 — 켜고 Start 하면 로봇 스택 기동이 실패합니다. 트레인별 지원 범위는 로봇 스택 기동에 정리돼 있습니다.
MoveIt 을 끄면 Camera 와 Collision Avoidance 도 함께 꺼지고 잠깁니다. 다시 켜면 이전 선택이 돌아옵니다. Collision Avoidance 를 켰는데 Camera 가 꺼져 있으면 Start 때 동적 환경 맵이 없다는 안내가 뜹니다 — 필요하면 Camera 도 켜세요.
구성 요소 선택은 이 화면에서 Start 가 받아들여지는 순간 기억돼 다음 실행의 기본값이 됩니다. 로봇 선택과 마스터 배정은 기억되지 않습니다.
Start 가 막힐 때
Start 버튼은 준비가 끝나야 초록으로 바뀝니다. 초록이 아닌 채로 누르면 화면에 이유가 나옵니다.
| 안내 | 하실 일 |
|---|---|
No robots selected | 로봇을 하나 이상 체크하세요 |
No EtherCAT masters available | 케이블·서보 전원을 확인하고 다시 실행하세요 |
N robots selected but only M EtherCAT master(s) available | 로봇 수를 마스터 수 이하로 줄이세요 |
Assign a master to <로봇> · Duplicate master N | 마스터를 로봇마다 하나씩, 겹치지 않게 배정하세요 |
<로봇>: serial not set — add it in Settings | 프로필에 시리얼이 없습니다 — 지원팀에 문의하세요 |
<로봇>: control period must be 200-1000 µs | 제어 주기를 범위 안으로 고치세요 |
<로봇>: Camera serial number is required to start the camera stack … | 카메라 시리얼이 프로필에 없습니다 — 카메라를 연결한 채 다시 Start 하면 한 대만 검출될 때 자동으로 채워집니다. 그래도 막히면 지원팀에 문의하세요 |
Start 직후 알림 몇 가지가 뜰 수 있습니다. camera extrinsic not calibrated 는 카메라는 뜨지만 장애물 인식은 꺼진다는 뜻입니다 — 카메라 캘리브레이션을 마치면 켜집니다.
설정 (,)
Robot Control Setup 과 Robot Control 어느 쪽에서든 , 로 설정을 엽니다. 운영에 쓰는 항목은 셋입니다. 저장한 값은 다음 스택 기동부터 적용되며, ROS 도메인만은 plem 을 다시 실행해야 적용됩니다.
| 항목 | 설명 |
|---|---|
| Log Level | 스택 로그의 상세 정도 — Error only · Warning+ · Info(기본) · Debug |
| ROS_DOMAIN_ID | 1–101. 비우면 미지정(0)입니다 |
| OpenAI API Key | Teaching Pendant 의 AI 워크플로우 생성에 쓰입니다. 비워 두면 그 기능만 잠깁니다 |
설정 화면의 로봇 목록은 프로필 편집용입니다. 프로필은 납품된 로봇 개체에 맞춰 설정돼 있으므로, 여기서 고치지 마시고 지원팀에 문의하세요.