본문으로 건너뛰기

기동 구성 — Robot Control Setup

plem 을 실행하면 처음 보이는 화면입니다. 여기서 고른 값으로 로봇 스택이 기동됩니다. 위에서 아래로 진행하세요.

  1. 띄울 로봇을 선택합니다.
  2. 로봇마다 EtherCAT 마스터를 배정합니다.
  3. 제어 주기를 확인합니다.
  4. 구성 요소를 켜고 끕니다.
  5. Start 를 누르거나 s 를 누릅니다. Robot Control 화면으로 넘어간 뒤 거기서 s 를 한 번 더 눌러야 스택이 기동됩니다.

Robot Control Setup 화면. ROS_DOMAIN_ID 42 상태 줄, ballet_1 로봇이 체크된 목록, 마스터 0 과 1000 µs (1.0 kHz) 제어 주기, MoveIt·Teaching Pendant 가 켜지고 Camera·Collision Avoidance 가 꺼진 구성 요소 토글(Plem Lab 은 스크롤 아래), Start·Settings·Cancel 버튼.

이 화면에는 키 안내 줄이 없습니다. 주요 키는 셋입니다 (한글 입력 상태에서는 s 대신 ㄴ).

키동작
sStart
,설정 열기
Esc취소 — 프로그램이 종료됩니다

ROS_DOMAIN_ID 줄​

맨 위 한 줄은 이 기기가 어느 ROS 2 도메인에서 동작하는지를 알려 줍니다. 값은 설정(,)에 저장한 값 하나입니다 — 셸 환경 변수는 읽지 않습니다.

표시뜻
✓ ROS_DOMAIN_ID: N이번 실행에 적용된 값입니다. 설정을 바꾸면 plem 을 다시 시작할 때까지 Settings has M: restart plem to apply 가 붙습니다
⚠ ROS_DOMAIN_ID: 0 (default …)도메인이 지정되지 않았거나 0 입니다 — 같은 DDS 전송 범위에서 도메인 0 을 쓰는 다른 ROS 2 참여자와 통신이 섞일 수 있습니다

기본 DDS 설정은 기기 안(localhost)으로 한정돼 있지만, 외부 ROS 2 환경과 연결하실 때는 도메인을 정해 두세요 — 설정에서 1–101 사이 값을 지정합니다. 도메인은 plem 이 시작할 때 한 번 정해집니다 — 설정을 바꾼 뒤에는 스택 재기동이 아니라 plem 을 완전히 종료하고 다시 실행해야 적용되고, 그 뒤에 여는 터미널부터 새 값을 받습니다. 자기 ROS 2 환경과 맞추는 방법은 ROS 2 통합에 있습니다.

로봇 선택​

목록의 각 줄은 로봇 ID (시리얼) 모델 입니다. 등록된 로봇이 없으면 목록 대신 안내가 나옵니다 — 납품 구성과 다르면 지원팀에 문의하세요. 모델 자리에 주황색 no model — set in Settings 나 invalid model (blank) — fix in Settings 가 보이면 그 로봇은 기동되지 않습니다 — 지원팀에 문의하세요.

여러 대를 함께 띄우실 수 있습니다. 단 동시에 기동하는 로봇 수는 검출된 EtherCAT 마스터 수를 넘을 수 없고, 같은 제조사 로봇은 한 번에 최대 4대입니다(초과는 Start 뒤 기동 단계에서 거부됩니다). Teaching Pendant 는 로봇 한 대일 때만 켤 수 있습니다 — 두 대 이상 고르면 그 토글이 꺼지고 잠깁니다. Plem Lab 은 여러 대에서도 됩니다.

EtherCAT 마스터 배정​

기기가 검출한 마스터 번호가 Assign masters (available: …) 에 나열됩니다. 로봇을 선택하면 비어 있는 마스터가 자동으로 배정됩니다. 다른 로봇이 이미 쓰는 마스터를 고르면 두 로봇의 배정이 서로 바뀝니다.

마스터가 하나도 검출되지 않으면 배정 줄 대신 이 문구가 나옵니다.

마스터가 검출되지 않은 Robot Control Setup 화면. 로봇 목록 아래에 "No EtherCAT masters detected — check LAN cable and servo power, then reopen this screen" 경고가 있다.

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 ProfilebalancedMoveIt + 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프로필에 시리얼이 없습니다 — 지원팀에 문의하세요
Robot '<로봇>' has no robot model — set Robot Model in Settings [,] → Edit Robot … (Robot Control 에서 s)프로필에 로봇 모델이 없습니다 — 지원팀에 문의하세요
Robot '<로봇>': robot model '<모델>' is not in any installed robot_models.yaml catalog … (Robot Control 에서 s)프로필의 모델이 이 기기에 설치된 로봇 모델이 아닙니다 — 지원팀에 문의하세요
<로봇>: control period must be 200-1000 µs제어 주기를 범위 안으로 고치세요
<로봇>: Camera serial number is required to start the camera stack …카메라 시리얼이 프로필에 없습니다 — 카메라를 연결한 채 다시 Start 하면 한 대만 검출될 때 자동으로 채워집니다. 그래도 막히면 지원팀에 문의하세요

Start 직후 알림 몇 가지가 뜰 수 있습니다. camera extrinsic not calibrated 는 카메라는 뜨지만 장애물 인식은 꺼진다는 뜻입니다 — Hand-eye 캘리브레이션을 마치면 켜집니다.

설정 (,)​

Robot Control Setup 과 Robot Control 어느 쪽에서든 , 로 설정을 엽니다. 위쪽은 로봇 목록, 아래쪽은 이 기기의 설정입니다.

설정 화면. 위쪽 Robots 아래 ballet_1 행과 Edit·Del 버튼, + Add Robot 버튼, 그 아래 Log Level(Info (default))과 ROS_DOMAIN_ID(42) 입력, Development 아래 plem-server hot reload 스위치, 맨 아래 Save·Cancel 버튼.

항목설명
Log Level스택 로그의 상세 정도 — Error only · Warning+ · Info(기본) · Debug
ROS_DOMAIN_ID1–101. 비우면 미지정(0)입니다
plem-server hot reload (Development)개발용입니다. 꺼 둔 채로 두세요

Save 를 누르면 Settings saved. Restart plem to apply. 가 뜹니다 — 로그 상세 정도는 다음 스택 기동부터, ROS 도메인은 plem 을 다시 실행해야 적용됩니다.

~/.plem/settings.yaml 의 ros_domain_id 를 손으로 고쳐 1–101 정수가 아닌 값이 들어가면 plem 이 시작하지 않고 그 파일과 허용 범위를 알려 줍니다 — 그 줄을 고치거나 지우세요.

로봇 행의 Del 은 확인을 물은 뒤(y 확정, n 취소) 그 로봇의 프로필을 지웁니다. 되돌릴 수 없고 이 화면에서 다시 등록할 수도 없으니 누르지 마시고, 필요하면 지원팀에 문의하세요. + Add Robot 으로 로봇을 새로 등록하는 일은 납품 때 마쳐 두므로 보통은 쓰지 않습니다.

로봇 편집​

로봇 행의 Edit 를 누르면 그 로봇의 프로필이 열립니다. 장착한 그리퍼·F/T 센서를 바꿨거나 카메라 캘리브레이션 기록을 고를 때 씁니다. Save 로 저장한 값은 다음 스택 기동부터 적용됩니다. 같은 항목은 Teaching Pendant 의 로봇 설정과 plem profile 명령으로도 바꿀 수 있습니다.

Edit Robot 화면. 위에서부터 Robot ID(ballet_1, 잠김), Serial(PH04I7E2F002), Robot Model(indy7_v3), Torque Controller(ADRC torque controller), Gripper(rg6), F/T Sensor·Camera·Calibration(비어 있음) 선택란과 Configure Camera… 버튼, 맨 아래 Save·Cancel 버튼.

항목설명
Robot ID편집에서는 바꿀 수 없습니다
Serial · Robot Model · Torque Controller납품한 로봇 개체에 맞춰 설정돼 있습니다 — 바꾸셔야 하면 지원팀에 문의하세요. 커스텀 토크 컨트롤러는 커스텀 토크 컨트롤러를 따르세요
Gripper장착한 그리퍼 모델. 비우면 그리퍼 없음입니다. 통신 방식은 모델에 맞춰 정해집니다
F/T Sensor장착한 F/T 센서 모델. 비우면 센서 없음입니다 — F/T 센서
Camera · Configure Camera…카메라 모델과 그 세부 설정. 카메라 모델을 바꾸면 Calibration 선택이 비워집니다 — 캘리브레이션은 카메라 모델마다 따로입니다
Calibration이 로봇에 연결할 카메라 캘리브레이션 기록. 고른 카메라·로봇 모델에 맞는 기록만 이름 · RMS … mm · 날짜 로 나옵니다. 비우면 공장 기본 장착값을 씁니다 — 이때 장애물 인식은 꺼집니다

목록은 이 기기에 설치된 모델만 보여 줍니다. 목록이 비어 있고 Gripper/Camera/F/T options unavailable … Check that the PLEM/ROS environment is sourced and that the robot packages are installed. 가 뜨면 PLEM 설치가 온전하지 않은 것입니다 — 지원팀에 문의하세요.

편집·저장할 때 나올 수 있는 안내입니다.

안내뜻
The tool stack changed (…): the camera calibration was measured with the previous setup. Recalibrate the camera before using it.카메라 캘리브레이션이 있는 로봇에서 그리퍼나 F/T 센서를 바꿨습니다. 카메라가 툴에 붙어 있으면 위치가 달라지므로, 카메라를 쓰려면 Hand-eye 캘리브레이션을 다시 하세요. 저장과 기동은 막지 않습니다
Robot model changed (…): an existing camera calibration was measured on the old model …로봇 모델을 바꿨습니다. 이전 모델에서 잰 캘리브레이션으로는 카메라를 켠 기동이 거부되니 다시 캘리브레이션하세요
Changing the gripper drops its vendor params (…) on save.Teaching Pendant 에서 그리퍼 세부 설정을 정해 둔 로봇에서 Gripper 선택을 바꾸면 바로 뜹니다. 그대로 저장하면 그 세부 설정이 지워집니다
… cannot be set on this robot …고른 F/T 센서를 이 로봇 모델에 쓸 수 없습니다 — 지원 로봇 목록이 함께 나옵니다
… changed on disk since it was opened (another writer) — reopen the robot and redo this edit편집 화면을 연 사이 Teaching Pendant 나 plem profile 이 같은 항목을 저장했습니다. 아무것도 저장되지 않았으니 편집 화면을 닫고 다시 열어 고치세요

편집 화면을 연 사이 다른 곳이 다른 항목을 저장했다면, 저장은 내가 바꾼 항목만 적용하고 그쪽에서 바꾼 값은 그대로 둡니다.