Chapter 3: 접촉을 안정화하는 마지막 1미터 — Impedance, Admittance, Force Control
개요
Chapter 2의 플래너가 충돌 없는 경로와 시간 매개화된 궤적을 만들었다고 해서 삽입·닦기·표면 추종이 끝나는 것은 아닙니다. 자유 공간의 마지막 pose가 물체와 닿는 순간, 작은 위치 오차도 큰 상호작용 힘으로 바뀔 수 있습니다. 이 장은 그 경계를 맡는 접촉 실행 계층을 설계합니다. 핵심은 특정 제어기 이름을 고르는 일이 아니라, 누가 어떤 reference를 받아 어느 clock과 rate로 계산하며, 어떤 sensor와 limit를 보고, 언제 authority를 반납하는지를 한 계약으로 만드는 것입니다.
근거 상태 주의: 현재 Chapter 3 source packet에는 exact-primary-body locator가 확인된 고전 제어 논문이 없습니다. 따라서 아래 수식과 workflow는 S12의 공학적 합성·교육용 모델이며, 보편적 성능 주장이나 특정 hardware gain 권고가 아닙니다. 가 붙은 문장은 fact checker가 원 논문의 해당 절을 다시 열기 전까지 검증 대기 상태입니다. 수치 stability bound, vendor mode, force limit와 abort behavior는 선택한 플랫폼의 최신 공식 문서와 시험 결과로 채워야 합니다.
이 장을 읽고 나면... - position·velocity·torque command와 impedance·admittance·force loop의 책임을 구분할 수 있습니다. - joint space와 operational space에서 spring–damper 관계를 쓰고 각 항의 단위와 frame을 점검할 수 있습니다. - actuation authority와 force sensing에 맞춰 controller 후보를 줄일 수 있습니다. - contact simulation에 delay·filter·saturation·stiff environment를 주입하고 증거를 남길 수 있습니다. - reduced-energy hardware trial의 독립 abort·watchdog·fallback을 정의할 수 있습니다.
실험 질문은 하나입니다. Chapter 2의 free-space trajectory가 peg-like insertion의 approach pose에 도착한 뒤, lateral error와 contact uncertainty가 있어도 force envelope를 넘지 않고 alignment를 회복하도록 어떤 downstream interface와 validation gate가 필요한가?
1. Contact controller를 이름이 아니라 경계로 그린다
다음 mental model에서 learned policy, planner와 operator는 모두 제한된 reference 제안자입니다. 이들은 torque나 safety state를 소유하지 않습니다.
task·policy·planner
pose·twist·wrench·stiffness 제안 + stamp + 유효성 + horizon
↓
reference 중재기·feasibility projection
frame·unit·age·workspace·joint·collision·force 범위 검사
↓
접촉 controller
impedance | admittance | force | hybrid position-force
↓
vendor real-time controller·drive
↓
robot ↔ environment
joint state · TCP pose/twist · wrench · tactile/contact 상태
independent supervisor ─ watchdog · energy/force/rate limits · retreat/stop
ros2_control이나 vendor bridge가 reference와 state를 연결할 수 있지만, ROS 2 process가 실제 motor servo cycle을 소유한다고 가정하지 않습니다. 첫 구현 산출물은 다음 owner/rate/deadline/failure matrix입니다. rate 칸에는 희망값이 아니라 controller configuration과 timestamp trace에서 확인한 값을 넣습니다.
| Boundary | Owner | 입력과 clock | rate/deadline 증거 | limit와 failure output |
|---|---|---|---|---|
| Policy/planner | task process | stamped state snapshot | inference/planning trace | stale·infeasible → 제안 폐기 |
| Reference arbiter | integration process | proposal + robot state | input age와 output interval | clamp만 반복되면 HOLD |
| Contact loop | vendor RT 또는 별도 RT process | pose/twist/wrench | measured loop period와 missed-cycle log | saturation·sensor invalid → approved fallback |
| Drive/inner loop | robot controller | platform-specific setpoint | vendor diagnostic | protective state/drive stop |
| Safety supervisor | 독립 authority | hardware state + external stop | 독립 heartbeat | authority revoke/stop/retreat |
| Logger | non-authoritative recorder | 모든 stamp와 state transition | drop/gap counter | logging failure는 trial 중단 조건 |
모든 packet에는 frame_id, unit, monotonic stamp, sequence, validity, mode epoch와 source owner가 필요합니다. Wrench는 어느 point와 frame에서 표현됐는지 없으면 의미가 달라집니다. Filtered wrench만 저장하면 filter delay를 분리할 수 없으므로 raw와 filtered stream을 함께 남깁니다.
2. Position·velocity·torque는 서로 다른 authority다
Position controller는 목표 q_d 또는 x_d, velocity controller는 \dot{q}_d 또는 twist v_d, torque controller는 \tau_d를 받습니다. 이름만으로 실제 loop를 알 수는 없습니다. Position interface 아래에 vendor의 빠른 torque/current loop가 있을 수 있고, torque interface를 제공해도 gravity compensation, friction compensation, torque-rate limit와 protective function은 platform이 소유할 수 있습니다.
따라서 controller mode를 바꾸기 전에 다음 질문에 답합니다.
- 사용자가 직접 command할 수 있는 물리량은 무엇입니까?
- 그 command를 추종하는 inner loop는 어디서 실행됩니까?
- Measured joint torque와 external wrench는 관측값입니까, 추정값입니까?
- Gravity·payload·tool compensation은 어느 process와 model revision을 씁니까?
- Command timeout, mode switch와 protective stop에서 출력은 무엇입니까?
Impedance control은 이 장에서 단순 pose trajectory 추종이 아니라, motion error와 interaction wrench 사이에 목표 동적 관계를 두는 설계 관점으로 사용합니다. 이 정의의 고전적 계보 후보는 Hogan (1985)과 Ott et al. (2008)이지만, 현재 ledger에는 정확한 본문 locator가 없으므로 fact checker 재개봉 전에는 이 문장을 source-verified claim으로 승격하지 않습니다.
3. Impedance: motion error에서 wrench 관계를 설계한다
한 축에서 원하는 접촉 거동을 다음 가상 mass–spring–damper로 적을 수 있습니다.
\[
M_d(\ddot{x}-\ddot{x}_d)+D_d(\dot{x}-\dot{x}_d)+K_d(x-x_d)=F_{ext}.
\]
오차를 e=x_d-x로 정의하고 가상 관성을 직접 구현하지 않는 단순형을 생각하면, controller가 제안하는 wrench는
\[
F_{cmd}=K_d e + D_d\dot{e}+F_{ff}
\]
처럼 쓸 수 있습니다. 다축 operational space에서는 x가 position과 orientation을 포함하고 K_d,D_d는 frame에 표현된 행렬입니다. Joint torque command로 내릴 수 있다면 한 후보 형태는
\[
\tau_{cmd}=J(q)^T F_{cmd}+\tau_{null}+\tau_{model}
\]
입니다. 여기서 J^T는 task wrench를 joint torque로 옮기고, null-space와 model compensation은 별도의 limit·collision·model-validity 검사를 받아야 합니다. 이 식은 구현 허가가 아닙니다. 실제 robot이 torque authority를 제공하는지, Jacobian과 payload model이 어느 rate에서 갱신되는지, saturation 뒤에도 목표 관계가 유지되는지를 먼저 확인합니다.
교육용 1D 계산
검증용 simulator에서만 쓰는 예를 들어 K_d=200\,\mathrm{N/m}, D_d=20\,\mathrm{N\,s/m}, e=0.002\,\mathrm{m}, \dot{e}=-0.01\,\mathrm{m/s}, F_{ff}=0로 두면 F_{cmd}=0.2\,\mathrm{N}입니다. 이 산술은 spring과 damper 항이 서로 더해지거나 상쇄되는 모습을 보여 줄 뿐이며, 어떤 실제 arm·tool·environment에도 권장하는 gain이나 안전값이 아닙니다. Hardware에서는 identified inertia, inner-loop behavior, sensor noise, sample delay, environment stiffness와 platform limit를 반영해 다시 검증해야 합니다.
Free space에서는 큰 position error가 큰 wrench proposal을 만들 수 있으므로 wrench와 wrench-rate를 제한하고, contact transition 전후에 reference를 연속적으로 바꿉니다. Contact 중 integrator를 쓴다면 saturation에서 windup을 막고 mode 전환 때 state를 reset하거나 bumpless transfer를 증명해야 합니다.
4. Admittance: 측정 wrench를 motion reference로 바꾼다
Admittance는 측정한 interaction wrench를 가상 동역학에 넣어 motion correction을 계산합니다. 한 축의 교육용 모델은
\[
M_a\ddot{x}_c+D_a\dot{x}_c+K_a x_c=F_{meas}-F_d
\]
이며, 적분한 x_c 또는 \dot{x}_c를 아래 position/velocity controller의 reference에 더합니다. 이 구조는 torque-level authority가 없고 안정된 position/velocity interface만 제공되는 robot에서 고려할 수 있지만, force sensor noise·bias·filter delay가 motion command로 적분된다는 새 위험을 만듭니다. 따라서 velocity, acceleration, displacement, workspace와 accumulated energy에 explicit bound를 둡니다.
Impedance와 admittance 중 하나가 항상 우월하다고 결론내리지 않습니다. Actuation, inner-loop authority, sensor 위치, commanded interface와 environment가 선택을 좌우한다는 비교 후보는 Seraji (1994), Calanca et al. (2016), Keemink et al. (2018)입니다. 이 비교는 현재 high-risk/unverified이므로 선택한 robot의 primary section과 official controller manual을 다시 열기 전에는 hardware guidance로 쓰지 않습니다.
| 상황 | 첫 후보 | 필요한 관측/authority | NO-GO 신호 |
|---|---|---|---|
| Stable torque/current authority와 신뢰 가능한 model | Cartesian/joint impedance 후보 | joint state, model, torque/rate limits | model revision 불명, torque saturation 숨김 |
| Position/velocity interface만 있고 external wrench가 신뢰 가능 | Admittance outer loop 후보 | raw/filtered wrench, bias, inner-loop trace | drift, delay 불명, correction 누적 |
| 표면 normal force를 유지하고 tangent motion 수행 | Hybrid position-force 후보 | contact frame, wrench, transition state | normal 방향 불명, contact loss 미처리 |
| Free-space approach 후 가벼운 접촉 | Low-stiffness approach + explicit transition | proximity/contact detection | impact 뒤에도 free-space gain 유지 |
| Learned action이 들어옴 | Bounded pose/twist/wrench proposal | timestamp, validity, uncertainty, envelope | direct torque, stale chunk, no fallback |
5. Operational-space force와 hybrid position-force
Operational-space controller는 task coordinate에서 motion과 wrench를 다룹니다. 단순한 geometric mapping만으로 충분하다고 가정하지 않고, singularity, redundancy, null-space motion, joint limit와 model uncertainty를 함께 봅니다. Contact surface의 unit normal n을 알고 있다면 selection matrix S_f=nn^T로 force-controlled subspace를, S_p=I-S_f로 motion-controlled subspace를 표현하는 식의 합성을 만들 수 있습니다.
\[
F_{task}=S_pF_{motion}+S_fF_{force}.
\]
Hybrid position-force control이 task direction을 position과 force subspace로 나눈다는 설명은 Raibert와 Craig (1981), Khatib (1987)의 canonical lineage와 맞닿아 있습니다. 그러나 실제 구현에서는 valid contact frame과 contact-enter/contact-exit transition이 필요하다는 이 장의 결론까지 포함해 primary-body locator를 다시 확인해야 합니다.
Peg-like insertion에서는 approach 동안 position tracking을 쓰다가 first contact 뒤 tool axis 방향 force 또는 compliant motion을 사용하고, lateral/rotational 방향은 alignment recovery에 남길 수 있습니다. 문제는 selection matrix 자체보다 contact frame이 틀렸을 때입니다. Surface normal 추정이 기울거나 tool wrench가 다른 point에서 표현되면 force loop가 tangent 방향으로 밀 수 있습니다. 그래서 transition은 다음 상태를 분리합니다.
APPROACH → CONTACT_CANDIDATE → CONTACT_CONFIRMED → ALIGN/INSERT → SEATED | RETREAT
Contact confirmation은 한 sample threshold가 아니라 timestamp가 전진하는 여러 관측, expected motion 감소, wrench direction과 sensor health를 함께 봅니다. Threshold와 dwell은 platform-specific이며 이 장에서 숫자로 정하지 않습니다.
6. Delay·sampling·filter·saturation을 동역학의 일부로 취급한다
Continuous-time 식이 그럴듯해도 실제 loop에는 sample-and-hold, transport delay, timestamp uncertainty, filter phase lag, quantization과 saturation이 있습니다. Environment가 단단할수록 작은 penetration이 큰 wrench로 나타나므로 이 요소들을 “software plumbing”으로 미루면 안 됩니다.
Passivity를 확인하는 한 가지 에너지 bookkeeping은 port의 supplied energy
\[
E_{in}(t)=\int_0^t F(\tau)^Tv(\tau)\,d\tau
\]
와 controller/storage energy 변화를 비교하는 것입니다. Passive하다는 말은 controller가 임의로 에너지를 만들어내지 않는다는 특정 모델·port·초기조건의 성질이지, 충돌이 없거나 안전 기능이 인증됐다는 뜻이 아닙니다. Sampled controller에서 어떤 bound가 성립하는지는 source assumptions와 hardware를 보존해 다시 유도하거나 시험해야 합니다.
Delay, sample period, filtering, saturation과 environment stiffness가 접촉 안정성과 transparency를 바꿀 수 있다는 문장은 Colgate와 Schenkel (1994), Lawrence (1993), Ryu et al. (2004)을 primary candidate로 갖지만 현재 locator가 없습니다. 따라서 여기서는 인과 방향을 hardware fact로 단정하지 않고, 이 다섯 변수를 반드시 sweep·log해야 하는 검증 가설로 사용합니다. 논문의 수치 bound를 다른 robot에 옮기지 않습니다.
실패 증상과 진단 순서
| 증상 | 먼저 볼 evidence | 다음 격리 실험 | 실패 행동 |
|---|---|---|---|
| 접촉 직후 chatter | raw/filtered wrench, command/state stamp | filter 없이 simulation, stiffness sweep | HOLD/RETREAT |
| 느린 force oscillation | end-to-end age, integrator, saturation | fixed delay injection, anti-windup test | force authority revoke |
| steady force bias | sensor bias/temp, payload/tool frame | unloaded re-zero, rotated-pose check | trial 중단 후 recalibrate |
| 접촉 없이 drift | admittance integration, stale wrench | zero-input replay | correction zero + HOLD |
| mode switch jump | reference/controller internal state | dry transition replay | previous safe mode 복귀 |
| 반복 clipping | proposed/realized action, wrench-rate limit | proposal scale-down | upstream policy/planner reject |
| 예상과 다른 tangent motion | contact frame, wrench point | known-normal fixture test | RETREAT |
진단은 gain부터 바꾸지 않습니다. 순서는 clock/stamp → frame/unit → sensor health/bias → owner/mode → saturation/limit → delay/filter → model/contact → gain입니다. 앞 단계가 틀린 상태에서 gain tuning은 오류를 가릴 뿐입니다.
7. 최소 재현 contact experiment
이 실험은 benchmark 재현이 아니라 S12 자체의 interface validation입니다.
7.1 Simulation fixture
- 6/7-DoF arm과 parallel gripper, rigid peg, 조금 큰 hole 또는 평면 fixture를 사용합니다.
- Chapter 2의 planner는 contact 전 approach pose까지만 책임집니다.
- Contact phase에는 한 개의 controller만 command interface를 소유합니다.
- Ground-truth contact wrench와 controller가 보는 noisy/filtered wrench를 모두 기록합니다.
- Controller config, robot model, timestep, contact parameters, seed와 code hash를 versioning합니다.
7.2 단계별 gate
- No-contact replay: Controller를 켜지 않고 trajectory와 timestamp를 재생합니다. Frame/unit/clock가 맞아야 합니다.
- Free-space controller: Contact object 없이 reference tracking과 saturation을 확인합니다.
- Soft simulated contact: 낮은 초기 에너지에서 contact transition, force direction과 retreat를 봅니다.
- Fault injection: stale wrench, frozen stamp, filter delay, packet drop, wrong normal, saturation과 controller crash를 하나씩 주입합니다.
- Parameter sweep: controller gain 하나만이 아니라 environment stiffness, delay, filter와 initial offset을 독립 축으로 sweep합니다.
- Held-out regression: Config를 freeze한 뒤 사용하지 않은 initial offset/seed에서 같은 gate를 실행합니다.
7.3 Worked insertion trace
한 rollout을 다음처럼 해석합니다. Planner가 APPROACH pose를 전달하면 arbiter는 stamp와 frame을 확인하고 workspace envelope 안에서만 승인합니다. CONTACT_CANDIDATE에서 controller는 axial velocity를 줄이고 wrench direction을 확인합니다. CONTACT_CONFIRMED 뒤에는 lateral compliance 또는 alignment correction을 허용하되 axial wrench와 correction displacement를 제한합니다. Wrench age가 deadline을 넘거나 normal direction이 예상과 반대면 성공률 계산을 계속하지 않고 RETREAT로 전환합니다. Seating criterion은 pose 하나가 아니라 insertion depth, velocity, wrench pattern과 gripper/task state의 조합으로 versioning합니다.
기록할 핵심은 “성공했다”가 아니라 phase별 reference, realized pose/twist, raw/filtered wrench, energy bookkeeping, command saturation, sample age, watchdog transition, abort reason과 recovery outcome입니다.
이 simulation과 아래 hardware runbook은 Todorov et al. (2012), Hogan (1985), ros2_control documentation을 참고 후보로 둔 S12 합성입니다. Source benchmark 재현이 아니라 interface validation입니다. Simulator success는 real contact fidelity나 hardware safety를 증명하지 않습니다.
7.4 Gain보다 먼저 interface 오류를 드러내는 tuning trace
Tuning session을 “잘 움직이는 gain을 찾는 과정”으로 시작하지 않습니다. 첫 trace는 controller output을 robot에 적용하지 않은 채 reference, state와 wrench packet만 재생합니다. 각 packet의 frame, unit, monotonic stamp, sequence와 mode epoch를 표로 펼치고, 같은 contact event가 proposal·sensor·controller clock에서 어떤 순서로 보이는지 확인합니다. 이 단계에서 wrench frame이나 timestamp가 불명확하면 gain은 아직 실험 변수가 아닙니다. Config를 고치고 새 revision을 만든 뒤 trace를 처음부터 반복합니다.
두 번째 trace는 free-space에서 작은 reference 변화를 재생합니다. Position error, commanded wrench 또는 motion correction, saturation flag와 realized motion을 한 plot에 놓습니다. Constant clipping이 보이면 stiffness를 낮추는 것만으로 끝내지 않습니다. Reference envelope, unit conversion, controller ownership과 downstream limit 중 무엇이 clipping을 만들었는지 분리합니다. 동일 command를 controller disabled, controller enabled, arbiter limited 세 조건에서 비교하면 proposal·controller·platform limit의 책임을 나눌 수 있습니다.
세 번째 trace에서만 simulated fixture를 넣습니다. 한 번에 하나의 축과 한 종류의 contact transition만 사용하고, controller parameter를 고정한 채 initial offset, environment parameter, sensor filter와 transport delay를 따로 바꿉니다. Nominal case가 조용하더라도 injected delay에서 oscillation, repeated saturation 또는 energy-accounting anomaly가 생기면 “nominal PASS”로 요약하지 않습니다. 어느 injection에서 어떤 supervisor transition이 나왔는지 함께 남깁니다. Energy trace가 해석되지 않으면 passivity를 주장하지 않고 UNRESOLVED로 둡니다.
마지막 trace는 controller parameter 하나를 바꾼 paired comparison입니다. 나머지 model, seed, initial condition, filter, delay와 abort policy를 고정합니다. 변경 전후의 peak wrench, pose/twist error, saturation time, sample age, retreat reason을 함께 보고, 한 metric을 개선하면서 다른 limit margin을 잃지 않았는지 확인합니다. 결과가 mixed라면 “더 좋은 gain”을 고르지 말고 task-dependent trade-off로 기록합니다.
| Trace | 고정할 것 | 일부러 바꿀 것 | 승격 전에 남길 판단 |
|---|---|---|---|
| Packet replay | Recorded streams | frame/unit/stamp fault | 오류가 hard fail로 검출되는가 |
| Free-space | model·clock·owner | reference amplitude | clipping의 owner가 식별되는가 |
| Contact nominal | controller config | initial offset | transition·retreat가 재현되는가 |
| Fault sweep | task·seed | delay/filter/stiffness | failure state가 예상대로 가는가 |
| Paired tuning | 모든 비대상 변수 | parameter 하나 | trade-off와 NO-GO가 보존되는가 |
이 순서를 따르면 tuning log 자체가 다음 실행의 input contract가 됩니다. 각 trace는 config hash, 시작·종료 시각, mode transition, 변경 이유와 reviewer verdict를 가집니다. Plot 이미지 하나만 남기지 않고 그 plot을 다시 만들 raw event log와 script revision을 함께 저장합니다. Hardware gate는 가장 보기 좋은 trace가 아니라, nominal·boundary·fault case가 모두 재현되고 unresolved field가 없는 config만 받습니다.
8. Bounded hardware validation
Hardware로 갈 때 simulation gain을 복사하지 않습니다. 먼저 selected robot의 supported command mode, update behavior, force sensing, payload/tool model, command timeout, software limit, protective function과 emergency procedure를 최신 official documentation에서 확인합니다. Operator와 safety observer의 역할을 나누고, 물리 E-stop과 퇴로를 확인합니다.
- Robot을 고정하거나 motion authority 없이 sensor bias, frame와 timestamp만 검증합니다.
- Contact fixture 없이 reduced workspace·speed·acceleration에서 controller mode 전환과 watchdog를 시험합니다.
- Compliant/dummy fixture와 낮은 에너지로 한 축만 활성화합니다.
- Wrench sensor disconnect, stale command, controller crash와 limit 접근을 motion을 만들지 않는 방식부터 시험합니다.
- 한 번에 하나의 contact direction을 승인하고 observer가 abort authority를 보유합니다.
- PASS evidence와 NO-GO 원인을 기록한 뒤에만 다른 axis·offset·object로 넓힙니다.
Software clamping이나 collision checker는 safety-rated stop과 같지 않습니다. Force limit 값, safe speed, payload와 retreat trajectory는 이 문서가 정하지 않습니다. Platform owner와 risk assessment가 승인하지 않은 값은 config에 들어가서는 안 됩니다.
9. Learned policy가 들어와도 contact authority는 남는다
Learned policy는 pose, twist, wrench 또는 stiffness reference를 제안할 수 있지만, contact stabilization과 abort limit를 downstream의 명시적 책임으로 남긴다는 것이 S12의 architecture contract입니다. Force-aware policy 후보인 DexForce와 Reactive Diffusion은 exact method/experiment locator가 해결되지 않았으므로 여기서는 capability 근거로 사용하지 않습니다. 관련 Terry 글은 독자용 교차 링크로만 제공합니다: DexForce 한국어, DexForce English.
Policy packet에는 최소한 reference_type, frame, stamp, horizon, validity, confidence/uncertainty representation, limits expected by training, calibration/schema version이 있어야 합니다. Arbiter는 stale chunk, out-of-frame command, infeasible pose, abrupt stiffness change와 force-envelope violation을 거절합니다. 거절 뒤 동작은 last action 반복이 아니라 approved HOLD/RETREAT/FALLBACK입니다.
Codex에 줄 bounded 구현 프롬프트
Goal
Implement a simulation-only contact-controller harness for the tabletop insertion task.
Context
The Chapter 2 planner ends at a pre-contact pose. The robot/controller model,
frames, clocks, command interfaces, and logger schema are supplied as versioned files.
제약
hardware command를 보내지 않고 vendor mode, gain, force limit, safety rating을 추측하지 않는다.
policy·planner reference를 contact loop와 supervisor authority에서 분리한다.
raw/filtered wrench, proposal/realized command, stamp, mode epoch, saturation,
watchdog state, abort reason을 기록하고 command owner는 정확히 한 명만 허용한다.
Done when
No-contact, free-space, soft-contact, delay/filter/saturation, stale-sensor,
wrong-frame, controller-crash, and retreat tests are reproducible from a pinned config;
every test has PASS/NO-GO evidence and a machine-readable event trace.
Safety
Simulation only. Hardware backend must remain disabled and fail closed.
Any missing frame, clock, limit, sensor health, or owner field is a hard error.
10. Artifact·metric checklist와 다음 장으로 넘길 것
필수 artifact
- controller owner/rate/deadline/failure matrix
- robot/tool/contact-frame revision과 transform record
- raw/filtered sensor schema와 clock synchronization note
- versioned impedance/admittance/hybrid config
- saturation, anti-windup, mode transition과 watchdog test log
- simulation model/contact parameter/seed/code hash
- fault-injection matrix와 state-transition trace
- bounded hardware checklist, 승인자와 NO-GO 기록
- unresolved-primary list:
ch03-c01부터ch03-c06의 exact locator
보고할 metric
- phase별 sample age/jitter/gap과 missed cycle
- proposed와 realized reference의 차이, saturation duration
- pose/twist/wrench error trace와 peak/settling 관측값
- contact/retreat state transition, abort/intervention count와 reason
- energy bookkeeping trace와 controller internal state
- sensor bias/drift, frame/calibration epoch와 data loss
Metric은 서로 다른 robot·fixture·simulator를 순위화하는 숫자가 아닙니다. Task, controller, model, initial condition와 abort policy를 함께 보존한 회귀 증거입니다.
Chapter 4로 넘길 interface는 바로 이 log schema입니다. Teleoperation demonstration은 camera와 action만 저장해서는 안 됩니다. Contact phase, raw/filtered wrench, controller mode, proposed/realized action, saturation, watchdog, intervention, retreat와 calibration epoch가 같은 timeline에 있어야 정책이 어떤 상호작용을 보았는지 재구성할 수 있습니다. #S13의 VLA나 world model도 이 아래 계약을 우회하지 않습니다. 그 모델들은 task/skill reference를 제안할 수 있지만 torque와 safety authority는 계속 독립 controller와 supervisor에 남습니다.
한계와 검증 대기 항목
- Classical contact-control source들은 canonical identity만 확인됐고 exact-primary-body locator가 없습니다.
- Vendor별 impedance/admittance/force mode, supported rate, limit와 abort behavior가 정해지지 않았습니다.
- 단순 spring–damper와 rigid-contact simulation은 실제 gearbox, flex, friction, tactile richness와 contact geometry를 모두 표현하지 않습니다.
- Passivity는 정의한 port와 model의 성질이며 자동으로 task success나 사람 안전을 보장하지 않습니다.
- Learned force-aware methods는 interface 사례 후보일 뿐, 이 장에서 성능이나 hardware readiness를 주장하지 않습니다.
참고문헌
- Raibert, M. H., & Craig, J. J. (1981). Hybrid Position/Force Control of Manipulators. Journal of Dynamic Systems, Measurement, and Control. DOI
- Hogan, N. (1985). Impedance Control: An Approach to Manipulation, Part I—Theory. Journal of Dynamic Systems, Measurement, and Control. DOI
- Khatib, O. (1987). A Unified Approach for Motion and Force Control of Robot Manipulators: The Operational Space Formulation. IEEE Journal on Robotics and Automation. DOI
- Colgate, J. E., & Schenkel, J. M. (1994). Passivity of a Class of Sampled-Data Systems: Application to Haptic Interfaces. IEEE American Control Conference, vol. 3, pp. 3236–3240.
- Seraji, H. (1994). Adaptive Admittance Control: An Approach to Explicit Force Control in Compliant Motion. IEEE International Conference on Robotics and Automation. DOI: 10.1109/ROBOT.1994.350927.
- Calanca, A., Muradore, R., & Fiorini, P. (2016). A Review of Algorithms for Compliant Control of Stiff and Fixed-Compliance Robots. IEEE/ASME Transactions on Mechatronics. DOI
- Keemink, A. Q. L., van der Kooij, H., & Stienen, A. H. A. (2018). Admittance Control for Physical Human–Robot Interaction. The International Journal of Robotics Research. DOI
- Todorov, E., Erez, T., & Tassa, Y. (2012). MuJoCo: A Physics Engine for Model-Based Control. IEEE/RSJ International Conference on Intelligent Robots and Systems. DOI
- Ott, C. (2008). Cartesian Impedance Control of Redundant and Flexible-Joint Robots. Springer Tracts in Advanced Robotics. DOI: 10.1007/978-3-540-69255-3.
- Colgate, J. E., & Hogan, N. (1988). Robust Control of Dynamically Interacting Systems. International Journal of Control. DOI
- Lawrence, D. A. (1993). Stability and Transparency in Bilateral Teleoperation. IEEE Transactions on Robotics and Automation. DOI
- Ryu, J.-H., Kwon, D.-S., & Hannaford, B. (2004). Stable Teleoperation With Time-Domain Passivity Control. IEEE Transactions on Robotics and Automation. DOI: 10.1109/TRA.2004.824689.
- Chen, C., et al. (2025). DexForce: Extracting Force-Informed Actions from Kinesthetic Demonstrations for Dexterous Manipulation. arXiv:2501.10356.
- Xue, H., Ren, J., Chen, W., Zhang, G., Fang, Y., Gu, G., Xu, H., & Lu, C. (2025). Reactive Diffusion Policy: Slow-Fast Visual-Tactile Policy Learning for Contact-Rich Manipulation. Robotics: Science and Systems 2025. arXiv:2503.02881.
- ros-controls. (2026). Controller Manager. Official documentation, accessed 2026-07-15.
- J. Kenneth Salisbury & John J. Craig (1982). The Mechanics of Fine Manipulation by Finger Tips. Annotated primary reading. DOI: 10.1177/027836498200100201. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: Assumes idealized rigid contacts and known contact geometry; real hands add compliance, friction uncertainty, and sensing errors.
- Robert J. Anderson & Mark W. Spong (1989). Bilateral Control of Teleoperators with Time Delay. Annotated primary reading. DOI: 10.1109/9.28054. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: Delay, sampling, saturation, filtering, environment stiffness, and hardware interfaces bound the reported behavior.
- Richard M. Murray et al. (1994). A Mathematical Introduction to Robotic Manipulation. Annotated primary reading. canonical URL. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: The assumptions and evaluation setup are source-specific; current implementation claims require maintained official evidence.
- Peter F. Hokayem & Mark W. Spong (2006). A Survey of Bilateral Teleoperation and Telepresence. Annotated primary reading. DOI: 10.1017/s0263574705002053. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: Delay, sampling, saturation, filtering, environment stiffness, and hardware interfaces bound the reported behavior.
- Dmitry Berenson et al. (2009). Manipulation Planning on Constraint Manifolds. Annotated primary reading. DOI: 10.1109/robot.2009.5152399. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: The assumptions and evaluation setup are source-specific; current implementation claims require maintained official evidence.
- Kris Hauser & Jean-Claude Latombe (2010). Multi-Modal Motion Planning in Non-Expansive Spaces. Annotated primary reading. DOI: 10.1177/0278364909352098. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: Performance depends on geometry, initialization, objectives, and model fidelity; feasibility does not imply controller tracking.
- Sergey Levine et al. (2015). Learning Contact-Rich Manipulation Skills with Guided Policy Search. Annotated primary reading. canonical URL. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: Delay, sampling, saturation, filtering, environment stiffness, and hardware interfaces bound the reported behavior.
- Wenhao Yu et al. (2017). Preparing for the Unknown: Learning a Universal Policy with Online System Identification. Annotated primary reading. DOI: 10.15607/rss.2017.xiii.048. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: The assumptions and evaluation setup are source-specific; current implementation claims require maintained official evidence.
- Wenzhen Yuan et al. (2017). GelSight: High-Resolution Robot Tactile Sensors for Estimating Geometry and Force. Annotated primary reading. DOI: 10.3390/s17122762. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: Bulky form factor (camera + optics) limits hand integration
- Mike Lambeta et al. (2020). DIGIT: A Novel Design for a Low-Cost Compact High-Resolution Tactile Sensor with Application to In-Hand Manipulation. Annotated primary reading. arXiv:2005.14679. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: Still bulky relative to a human fingerpad; mounting on small fingers difficult
- Yuke Zhu et al. (2020). robosuite: A Modular Simulation Framework and Benchmark for Robot Learning. Annotated primary reading. canonical URL. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: Simulation throughput or benchmark success does not establish real contact fidelity or hardware safety.
- Taylor Howell et al. (2022). Predictive Sampling: Real-time Behaviour Synthesis with MuJoCo. Annotated primary reading. arXiv:2212.00541. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: Simulation throughput or benchmark success does not establish real contact fidelity or hardware safety.
- Shaoxiong Wang et al. (2022). TACTO: A Fast, Flexible, and Open-Source Simulator for High-Resolution Vision-Based Tactile Sensors. Annotated primary reading. arXiv:2012.08456. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: Approximate shading; no true elastomer mechanics simulation
- Various (2025). Robust Model-Based In-Hand Manipulation with Integrated Real-Time Motion-Contact Planning and Tracking. Annotated primary reading. arXiv:2505.04978. — 역할: contact·compliance·passivity의 controller 가정을 확인하는 1차 읽기. 한계: Platform, task, dataset, and evaluation assumptions must be checked in the primary paper before transferring a result.
- Michael Posa, Cecilia Cantu & Russ Tedrake (2014). Planning Through Contact: A Unifying Approach to Manipulation. Annotated primary reading. DOI: 10.1177/0278364913506757. — 역할: 접촉 모드와 동역학을 함께 최적화하는 planning-through-contact의 모델링 경계를 확인한다. 한계: 접촉 모델과 평가 설정이 특정하므로 현재 하드웨어로 결과를 옮기기 전 원문 조건을 다시 확인해야 한다.
- Jee-Hwan Ryu, Dong-Soo Kwon & Blake Hannaford (2004). Stable Haptic Interaction with Human and Virtual Environment Using a Passivity Observer and Controller. Annotated primary reading. DOI: 10.1109/TRA.2004.824689. — 역할: passivity observer/controller가 접촉 루프에 에너지 감시를 넣는 근거를 제공한다. 한계: 지연·샘플링·포화·필터링·환경 강성·하드웨어 인터페이스가 보고된 안정성 범위를 제한한다.