Affordance
- 다른 이름: affordances, affordance detection, action possibilities
- 카테고리: Planning & manipulation › Manipulation
- 태그: perception, manipulation, grasping, robot-learning, cognitive-robotics
물체나 환경이 특정 행위자에게 가능하게 해 주는 행동으로, 예를 들어 쥘 수 있는 손잡이나 놓인 물체를 지지할 수 있는 표면이 그렇다.
정의
어포던스(affordance)는 환경이 특정 행위자에게 제공하는 행동의 가능성이다. 이 용어는 심리학자 James J. Gibson이 도입했는데, 그는 동물이 세계를 부분적으로는 그것으로 무엇을 할 수 있는지의 관점에서 지각한다고 주장했다. 의자는 앉기를, 손잡이는 쥐기를, 평평한 표면은 놓기를 어포드한다. 어포던스는 관계적이다. 물체와 행위자의 몸 및 능력 모두에 달려 있다.
로보틱스에서 어포던스 추론은 어떤 행동이 어디에서 가능한지를 예측하는 것을 뜻한다. 어포던스 검출(affordance detection)은 이미지나 포인트 클라우드의 부분에 쥐기, 자르기, 따르기, 밀기, 담기 같은 행동을 레이블로 붙인다. 어포던스 맵(affordance map)은 각 픽셀이나 위치에 점수를 매기는데, 예를 들어 그 지점에서의 파지가 성공할 가능성이 얼마나 되는지이다. 이런 표현은 물체 이름에서 멈추지 않고 인식을 행동에 직접 연결한다.
관계적이라는 성질은 로봇에게 중요하다. 컵 손잡이는 그 사이로 들어가는 손에는 쥐기를 어포드하지만 큰 평행 조 그리퍼에는 그렇지 않다. 계단은 다리 로봇에는 오르기를 어포드하지만 바퀴 로봇에는 그렇지 않다. 따라서 좋은 어포던스 모델은 물체 범주만이 아니라 로봇의 신체 구성(embodiment)을 고려한다.
대규모 언어 모델과 비전 모델의 등장으로 어포던스는 그라운딩 신호로도 쓰인다. 언어 모델은 작업의 단계를 제안할 수 있지만, 그 단계 중 어느 것을 로봇이 현재 장면에서 실제로 수행할 수 있는지는 알지 못한다. SayCan 같은 시스템은 언어 모델의 제안을 각 기술이 현재 상태에서 성공할 수 있는지에 대한 학습된 추정, 즉 Gibson이 말한 의미의 어포던스와 결합했다.
중요한 이유
로봇은 물체가 무엇인지뿐 아니라 그것으로 무엇을 할 수 있는지도 알아야 한다. 어포던스는 인식을 행동에 연결하며, 그래서 파지, 도구 사용, 언어 기반 매니퓰레이션 전반에 등장한다.
주요 응용
- 이미지나 포인트 클라우드로부터의 파지 및 배치 예측
- 손잡이, 뚜껑, 주둥이 같은 도구 사용 및 부품 수준 매니퓰레이션
- 언어 지시를 로봇이 실제로 수행할 수 있는 행동에 그라운딩
- 로봇을 지지하거나 지지하지 못하는 지형 위에서의 내비게이션과 보행
실제 사례
가정용 매니퓰레이션 시스템을 만드는 팀은 RGB-D 이미지의 각 픽셀에 대해 로봇의 그리퍼가 어디를 쥘 수 있고 물체를 어디에 놓을 수 있는지 예측하는 신경망을 훈련할 수 있다. 그런 다음 작업 플래너가 이 맵들을 조회한다. 서랍을 열려면 쥘 수 있는 손잡이 영역을 찾고, 컵을 내려놓으려면 놓을 수 있는 표면을 찾는다. 훈련 데이터는 흔히 로봇 자신의 파지 시도에서 나오며 성공 여부로 레이블이 붙으므로, 예측은 바로 그 그리퍼의 특성을 반영한다.
흔한 오해
- 어포던스는 물체만의 속성이다 — 물체와 행위자의 몸 및 능력 사이의 관계이다
- 어포던스 검출은 물체 인식과 같다 — 인식은 물체의 이름을 붙이고, 어포던스 검출은 그 물체가 어떤 행동을 어디에서 지원하는지 예측한다
- 한 로봇에서 학습한 어포던스는 다른 로봇으로 그대로 옮겨진다 — 그리퍼나 몸체가 다르면 가능한 행동이 바뀔 수 있다
알아야 할 사람
- 매니퓰레이션과 파지 연구자
- 행동 지향 비전 모델을 만드는 인식 엔지니어
- 언어 모델을 로봇 기술에 연결하는 연구자
관련 기술
- 파지 계획(Grasp Planning)
- 시맨틱 세그멘테이션(Semantic Segmentation)
- 비전 언어 모델(Vision-Language Models)
- 작업 계획(Task Planning)
- 포인트 클라우드 처리(Point Cloud Processing)
관련 용어
관련 프로젝트
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- OpenPI: Physical Intelligence VLA foundation models for general robot control
- Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
- PCL: Industry-standard C++ library for point cloud processing in robotics perception
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills