본문으로 건너뛰기

실험과 시뮬레이션

컨트롤러의 응답을 재려면 정해진 자극(스텝·정현파 등)을 넣고 기록해야 합니다. 자극을 만드는 곳과 실행하는 곳이 나뉘어 있습니다 — Experiment 탭에서 만들고(로봇은 움직이지 않습니다), Simulation 탭에서 확인한 뒤 실행합니다.

자극 만들기 (Experiment)

Experiment 탭. Shape 드롭다운, 타깃 관절 체크박스 목록과 현재 각도, Amplitude·Period·Cycles 입력란, Speed limit 슬라이더 20 %, Generate · preview, no motion 버튼이 있다.

  1. Shape 를 고르세요.
  2. Target joints 에서 움직일 관절을 체크하세요. Sine·Chirp·Ramp·Step 에서는 여러 개를 고르면 같은 진폭이 각 관절에 적용되고, Waypoint 는 관절마다 값을 따로 입력합니다.
  3. 파라미터를 입력하세요.
  4. Speed limit 은 실행 속도가 아니라 허용 상한입니다. 이 상한을 넘는 자극은 다음 단계에서 실행할 수 없습니다.
  5. Generate 를 누르세요. 로봇은 움직이지 않고 Simulation 탭으로 넘어갑니다.
Shape무엇을 재나파라미터 (기본값)
Sine한 주파수에서의 응답 진폭·위상Amplitude 10° · Period 4 s · Cycles 3
Chirp주파수를 낮은 쪽에서 높은 쪽으로 쓸며 대역 응답Amplitude 4° · Start 0.2 Hz · End 1 Hz · Duration 8 s
Ramp부드럽게 가감속해 offset 만큼 이동할 때의 추종 오차Offset 10° · Duration 3 s
Step고전적 스텝 응답 — 상승·오버슈트·정착Offset 10° · Rise 0.5 s · Hold 3 s
Waypoint시간–각도 표를 직접 입력 (부드럽게 보간)표 편집. 입력값은 지금 자세 기준 상대(Δ°) 또는 절대(°)

모든 자극은 지금 자세에서 시작합니다. Sine·Chirp 는 지금 자세로 돌아오고, Ramp·Step 은 offset 만큼 옮겨진 자세에서, Waypoint 는 마지막 점에서 멈춥니다. 파라미터를 고치면 이전 생성 결과는 버려집니다. 관절 상태나 로봇 한계 정보를 아직 못 받았으면 Generate 가 거부되고 이유가 나옵니다.

확인하고 실행하기 (Simulation)

Simulation 탭. 3D 로봇 프리뷰와 재생 바, 아래에 Duration 12 s, Peak velocity, "Feasible — within the velocity cap" 판정, Run name 입력란, Run & capture · Send to robot 버튼이 있다.

위쪽은 미리보기입니다. 3D 로봇이 자극대로 움직이는 것을 재생·되감기·배속·반복으로 볼 수 있습니다. 로봇 모델(robot_description)을 못 받았으면 관절 한계도 알 수 없어 Generate 가 비활성입니다.

아래는 실행 전 판정입니다 — 소요 시간, 최고 속도, 그리고 Feasible / Infeasible — N violation(s). Infeasible 이면 어느 관절이 어떤 한계를 넘는지 나오고 실행 버튼이 잠깁니다. 속도 위반이면 진폭을 줄이거나 시간을 늘리거나 Speed limit 을 올리고, 관절 위치 상·하한 위반이면 offset·방향·Waypoint 목표를 고쳐 다시 생성하세요.

여기서부터 로봇이 움직입니다

작업 반경을 비우고 비상정지에 손이 닿는 위치에서 진행하세요. 로봇은 TRAJECTORY 모드여야 하며, 아니면 콘솔이 전환을 먼저 시도합니다. 실행 직전에 지금 자세를 다시 읽어 어느 관절이든 자극의 시작점과 3° 넘게 다르거나 자세를 읽지 못하면 거부합니다 — 생성한 뒤 로봇을 움직였다면 다시 생성하세요.

버튼동작
Run & capture실행하고 응답을 Run 으로 기록합니다. 이름을 비우면 컨트롤러·마지막으로 Apply 한 게인·시각으로 자동 작명됩니다
Send to robot기록 없이 실행만 합니다
Abort실행 중 나타납니다. 궤적을 취소하고 동시에 로봇을 BRAKED 로 보냅니다 — 취소만으로는 확실히 멈추지 않기 때문입니다

기록은 컨트롤러가 선언한 모든 신호를 담고, 궤적이 끝난 뒤 0.5초를 더 담아 정착까지 잡습니다. 기록은 300,000 표본에서 멈춥니다 — 제어 주기 1 ms 면 300초, 주기가 짧으면 그만큼 짧아집니다(0.2 ms 면 60초). 상한에 닿아도 화면은 계속 Capturing 으로 보이니 긴 실험은 Abort 로 끝내세요. 기록 중에는 Experiment 입력과 FREEDRIVE 전환이 잠깁니다.