← Portfolio Home

Task policy × proximity safety × latent recovery

Interactive
Diffusion Policy

Task execution that remains safe under human intervention

Diffusion Policy가 task의 목적 행동을 생성하고, robot-mounted proximity sensing과 RMPflow가 사람의 갑작스러운 접근에 실시간으로 반응합니다. 회피로 인해 demonstration distribution에서 벗어난 상태에서는 LPB guidance가 다음 action generation을 expert latent 방향으로 유도해, 안전을 확보한 뒤에도 task를 이어갈 수 있는 closed loop를 구성했습니다.

01 · TaskDiffusion Policy

시연에서 learned task action을 생성

02 · InterventionHuman approach

학습 데이터에 없던 사람의 갑작스러운 접근

03 · DetourProximity + RMPflow

target을 유지하며 국소적으로 motion을 수정

04 · ShiftSafe but OOD

안전한 회피가 policy distribution shift를 생성

05 · RecoveryLPB guidance

expert latent 쪽으로 다음 action을 유도

01

Task policy gap

Task는 배웠지만,
사람의 개입은 배우지 않았습니다

Demonstrated task ≠ demonstrated intervention

Imitation-learned policy의 강점은 시연된 task를 재현하는 데 있습니다. 그러나 작업 중 사람의 손이나 팔이 갑자기 로봇 가까이 들어오는 상황까지 demonstration이 포괄한다고 가정할 수는 없습니다. 따라서 task generation과 reflex-like safety response의 책임을 분리했습니다.

RB10 task execution with imitation learning

본 프로젝트의 실제 RB10 실험 장면을 첫 화면에서 바로 보여줍니다.

Real robot experiment
What the policy learned

Task execution

시각 관측과 robot state에서 task 목적에 맞는 action horizon을 생성합니다.

What was not demonstrated

Unexpected human intervention

사람의 접근은 task demonstration의 본질적인 coverage 밖에 있으며 즉각적인 반응이 필요합니다.

02

Reactive safety

Policy는 어디로 갈지 정하고,
RMPflow는 지금 어떻게 갈지 정합니다

High-level task intent × low-level reactive execution

사람 회피를 generative policy 내부에 다시 학습시키지 않고 execution layer로 분리했습니다. Diffusion Policy의 TCP target과 robot-mounted proximity sensor의 거리 정보가 같은 RMPflow solve에 들어가며, target attraction과 collision avoidance가 동시에 반영된 joint command를 생성합니다.

High-level policyDiffusion Policy

Where should the robot go?

Low-level reactive controllerRMPflow

How can the robot move toward that target safely right now?

Target RMPtask progress
Collision RMPproximity avoidance
Constraintsjoint / velocity envelope
Physical executionRB10 motion

RMP-modified measured state becomes the next policy observation.

Target stays active

회피 중에도 task target을 버리는 mode switch가 아니라, collision metric과 함께 같은 solve에서 반영합니다.

Local proximity response

robot-mounted sensor가 로봇 표면 근처의 접근을 직접 감지해 외부 camera line-of-sight에 덜 의존합니다.

Independent reaction rate

policy inference 사이에서도 lower-level controller가 계속 근접 위험에 반응할 수 있도록 역할을 분리합니다.

03

Safe detour

회피는 task를 중단하는 대신,
실행 경로를 휘게 만듭니다

Nominal trajectory → proximity-triggered deflection → target continuation

Hand approach → local deflection
Proximity-triggered RMPflow avoidance

손이 robot-mounted sensor 근처로 접근할 때 실제 실행 경로가 국소적으로 수정됩니다.

Real robot response
Motion-level interpretation

Safe motion is a detour, not a reset.

사람이 가까워지면 proximity-based collision term이 커져 실제 robot path가 nominal policy path에서 벗어납니다. 사람이 멀어지면 다시 task target 쪽으로 진행합니다.

  • Policy target 유지
  • 근접 위험에 따라 local path 수정
  • 실제 실행 결과를 다음 observation으로 feedback
04

Distribution shift

로봇은 안전해졌지만,
policy는 낯선 상태에 놓일 수 있습니다

Reactive safety solves one problem and creates another

RMPflow가 만든 회피 trajectory는 task demonstration에서 직접 학습한 trajectory가 아닙니다. 따라서 회피 후의 visual/proprioceptive state는 expert demonstration manifold 밖으로 이동할 수 있습니다.

Key insight

Safe ≠ In-distribution

RMPflow는 physical safety를 위한 실행 계층입니다. 하지만 task policy가 회피 이후의 상태에서 다시 올바른 행동을 생성할 수 있는지는 별도의 문제입니다. 이 distribution gap이 LPB를 추가한 이유입니다.

RMPflow solves the safety problem.
The safe detour creates a distribution problem.
05

LPB recovery

미래 latent를 예측해,
다음 action을 expert behavior 쪽으로 유도합니다

Observe → detect OOD → predict future → guide denoising

LPB는 Diffusion Policy를 대체하지 않습니다. base policy는 유지하고, 현재 상태가 expert reference에서 벗어났을 때 candidate action이 만들 미래 latent를 평가해 selected denoising steps의 action sampling만 보정합니다.

01 · Observe

Encode

RGB와 robot proprioception에서 현재 latent를 구성합니다.

02 · Detect

OOD cost

현재 latent와 expert latent bank의 거리를 계산합니다.

03 · Predict

Future latent

candidate action horizon이 만들 미래 latent를 action-conditioned dynamics로 예측합니다.

04 · Guide

Guided action

expert latent 쪽으로 가까워지는 gradient를 final denoising steps에 반영합니다.

Frozen base policy

task generation 능력은 유지하고, OOD가 필요한 순간에만 sampling 과정에 선택적으로 개입하도록 구성했습니다.

Diffusion Policy, LPB guidance, RMPflow를 연결한 전체 시스템 구조
System overview Training pipeline and closed-loop deployment도식 크게 보기 ↗
06

Closed-loop scenario

한 번의 사람 개입이
전체 시스템에서 처리되는 순서

Task → intervention → detour → OOD → recovery → continue

Task01

Generate

Diffusion Policy가 현재 관측에서 task action horizon을 생성합니다.

Human02

Approach

사람의 손/팔이 robot-mounted proximity sensor의 local workspace 안으로 접근합니다.

Safety03

Deflect

RMPflow가 task target을 유지한 채 collision term을 통해 robot motion을 우회시킵니다.

Feedback04

Observe shift

RMP로 수정된 실제 robot state가 다음 policy observation으로 들어갑니다.

Recovery05

Guide

LPB가 OOD cost와 미래 latent를 평가해 다음 action을 expert behavior 쪽으로 유도합니다.

Task06

Continue

새 관측을 기반으로 closed-loop inference를 반복하며 task를 계속 수행합니다.

07

Results

사람을 피한 뒤에도,
로봇은 task를 이어갑니다.

Task execution · reactive detour · LPB/OOD recovery

실로봇에서 사람 접근에 대한 RMPflow 회피와 회피 후 LPB/OOD recovery까지 하나의 closed loop로 검증했습니다.

A · Task policy

RB10 imitation-learning task execution

Diffusion Policy 기반 task competence와 실제 robot execution을 보여줍니다.

B · Reactive safety

Diffusion Policy + RMPflow

정책 target을 실행하면서 proximity input에 따라 local motion이 수정되는 장면입니다.

C · Internal diagnostics

LPB / OOD runtime

nearest expert latent, base/guided trajectory, OOD cost와 threshold를 같은 timeline에서 기록합니다.

Project takeaway

Task action을 생성하고 안전하게 우회한 뒤,
다시 task를 이어갑니다.

01 · GenerateDiffusion Policy

Task 목적에 맞는 action을 생성합니다.

02 · DetourProximity RMPflow

사람의 접근에 반응해 실행 경로를 즉시 수정합니다.

03 · RecoverLPB Guidance

회피 후 OOD 상태에서 다시 task 방향으로 유도합니다.

Next projectUndergraduate Projects →