티스토리 뷰
[논문 리뷰]Towards a Natural Motion Generator: a Pipeline to Control a Humanoid based on Motion Data
interactics 2023. 4. 23. 20:23Towards a Natural Motion Generator
: a Pipeline to Control a Humanoid based on Motion Data
https://ieeexplore.ieee.org/document/8967941
저자 : Sungjoon Choi, Joohyung Kim
2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)
Abstract
사람과 애니메이션 캐릭터의 상체 움직임을 모방하는 것을 다룹니다. 행위자의 joints of interest (JOI)를 로봇의 조인트로 매칭시켜 움직임을 생성하여 모션 리타게팅을 위한 파이프라인을 나타냅니다.
Optimization-based motion retargeting method라 하여 스켈레톤의 링크 길이 변형과 3차원 Task space에서 모션 생성자의 JOI를 파인튜닝한 방식을 제안합니다.
파이프라인을 평가하기 위해 인간 행위자와 오우거 애니메이션 캐릭터 행동을 모션 리타게팅하여 여러 로봇에 적용했습니다.
Introduction
1964년 디즈니에서 처음으로 애니마트로닉스인 링컨을 개발한 이후로 많은 휴머노이드가 테마파크와 같은 엔터테이먼트 영역에 들어가 있습니다. 로보틱스 엔지니어와 아티스트들은 로봇을 자연스럽게 만들기위해 함께 협업을 해왔고, 그래픽기술과 모션캡쳐시스템(MoCAP) 등과 같은 기술이 발전하면서 엔터테이먼트 영역에서 휴머노이드를 자연스럽게 하는 것에 많은 기여를 해왔습니다. 하지만 로봇을 자연스럽게 만드는 것은 꽤나 지루하고 시간이 많이 드는 작업의 연속입니다.
이 논문에서는 인간 행위자와 애니메이션 캐릭터에서 취득한 3D 데이터를 활용하여 휴머노이드 로봇의 모션을 생성하는 파이프라인을 제안합니다. 여기서는 모션 생성 문제를 Motion retargeting 문제로 환원하여 로봇하드웨어와 데이터의 행동을 일치시키는 것을 목표로 합니다.
더불어 이것은 수작업으로 모션을 디자인하는 프로세스를 최소화는 것을 목표로 하며, 모션데이터와 로봇의 구조에 대한 도메인 지식을 크게 요구하지 않는 Global optimization-based motion retargeting method를 보입니다. 그래서 수작업이 필요한 부분은 로봇과 MoCAP의 Joints of interest (JOI) -관심 조인트-를 식별하는 정도입니다.
Contribution 포인트는 2가지입니다. 첫째는 3D 모션 데이터의 키네마틱 구조와 Task Space의 파인튜닝을 고려한 모션 전이의 파라미터화를 나타내는 것입니다. 두번째는 Global optimization method 방식을 활용하여 생성된 리타게팅된 모션과 실제 모션의 워크스페이스와 한계치 그리고 행동 유사성을 평가하는 Cost function을 나타내는 것입니다.
논문의 순서는 현재까지의 로보틱스와 그래픽스 도메인의 Motion Retargeting을 소개하고, 논문이 제안하는 모션 리타케팅에 사용된 Global optimization method에 대한 이야기 그리고 Optimization-based motion retargeting method와 그 결과로 이어집니다.
Related Work
컴퓨터 그래픽스 영역을 먼저 다룹니다. 처음 모션 리타케팅은 그래픽적으로 캐릭터의 모션을 일치시키는 것부터 시작했습니다. 여기서는 캐릭터의 모션을 같은 기구적 구조이지만, 링크의 길이가 다른 캐릭터에 적용하는 것에 관심이 있었습니다. 물론 일부 연구에서는 다른 기구적 구조에 적용하는 시도도 있었습니다.
Gaussian Process Latent Variable Model(이하 GPLVM)을 적용하여 **Style-based Inverse kinematics**로 문제를 해결하는 부분도 있었습니다. GPLVM은 고차원에 존재하는 데이터를 저차원의 데이터로 변형하는 방법입니다. GPLVM은 Target Point과 같은대수적 제약사항을 고려하여 가장 있음직한 포지션을 제공해줍니다. 그외에도 GPLVM을 활용하여 인간의 모션을 램프나 펭귄같은 다른 구조를 가진 객체에 전달하려는 노력도 있었습니다. 이 두 노력의 메인 아이디어는 모션 생성자와 적용하려는 객체의 공유된 잠재공간(Latent space)을 최적화하는 것입니다. 하지만 이러한 노력들은 많은 MoCAP 모션 데이터와 타겟 애니메이션 캐릭터 데이터가 요구되는데, 이 때문에 로봇과 같은 실제 하드웨에는 적용하기 어려운 점이 있습니다.
일반적으로 편리하게 사용되는 모션 생성 방식에는 pin and drag 방식이라는 interactive inverse kinematics 테크닉입니다. 단순히 애니메이터들이 캐릭터의 링크를 드래그하는 방식으로 모션을 생성합니다.
DeepMimic은 모션 생성의 문제를 강화학습문제로 환원한 케이스입니다. 메인 아이디어는 Sorce 모션과 Target 모션의 유사성을 리워드 신호로 설정하여 학습시켜 Target 플랫폼의 imitating policy을 생성한다는 것입니다. 이 경우 Sorce 캐릭터와 Target 캐릭터를 손수 매핑해주어야하는 부분이 필요합니다.
로보틱스 분야에선 크게 2가지 방법으로 접근합니다. 1. Joint Space Formulation 2. Task(Cartesian) Space Formulation. 입니다.
Joint Space Retargting method는 타겟 로봇 하드웨어와 MoCap 스켈레톤의 조인트를 매핑함으로 모션을 전달합니다. 즉, 조인트의 형태 자체를 전달합니다. 이 경우 모션 데이터를 전달할 때, 짐벌락 발생 부근의 싱귤래리티를 처리하는 것처럼 로봇 하드웨어의 제약 조건을 고려한 방식으로 문제를 해결합니다.
Task Space Formulation은 타겟의 Task space를 이용합니다. 즉, 관절이 아닌 손, 팔꿈치 등의 위치입니다. 어깨, 손목, 머리 등의 Cartesian 위치를 취득하여 이를 로봇에 적용하여 IK 풀어 모션을 생성하는 방식입니다.
그외에도 최적화 기반의 리타게팅 방식을 제안하는 경우도 있습니다. Stochastic Optimization of the Embodiment Mapping(ISOEMP)를 적용한 방식도 두드러지는데, 학습 기반의 모션 리타게팅으로, 입력되는 모션의 형태와 트래젝터리의 비용을 최소화하는 방식입니다. 그외에도 파라미터화된 스켈레톤을 최적화를 하는 방식, 트래젝토리 최적화를 통한 방식도 존재합니다.
생성된 모션이 얼마나 원본가 같은지를 평가하는 방식을 원본과 타겟의 시공간적 유사성을 비교하여 판단합니다.
Preliminaries
여기서는 Gradient-free optimization method을 보입니다. Cooroniidte dseent Bayesian optimization으로서, 글로벌과 로컬 최적화 메서드가 섞인 방식입니다
Coordinate Descent Bayesian Optimization
Bayesian Optimization(BO)는 글로벌 최적화 방법론으로 Cost function의 그라디언트 연산을 요구하지 않습니다. 이러한 특성때문에 Classifier의 하이퍼파라미터 튜닝과 로보틱스 영역에서는 보행(Gait) 최적화에 사용됩니다. 현재는 베이지안 최적화를 Stochastic coordinate descent와 결합하여 Coordinate Descent Bayesian Optimization(CDBO)를 제안하기도 합니다. 이 논문에서는 CDBO를 사용하여 모션 전달 매핑을 최적화를 수행할 것이고, 파인튜닝의 관점에서 일반 BO보다 효율적이다라는 것을 보일 것입니다.
Bayesian Optimization
BO는 Cost function $f(\theta)$의 최소값을 찾는것입니다. BO는 $f(\theta)$가 도함수가 없고, 평가 비용 크고, 학습이 오래걸리는 모델일 경우에 효율적입니다. 이 논문에서는 $f(\theta)$ 평가 연산량과 로봇의 Forward Kinematics와 함께오는 모션 리타게팅 비용 연산량이 서로 유사합니다.
또한 논문은 BO-EIC(Bayesian Optimization with Expected Improvement Criteria)를 사용하였는데, 이는 몇몇 태스크에서 GP-UCB(GP upper confidence bounds)를 선회하는 성능을 보여주었습니다.
BO-EIC는 다음의 Acquisition function을 사용합니다.
ARD Matern 5/2 커널 함수를 사용하였습니다.
이는 이계도함수로서 quasi-Newton 사용이 가능하고 스무딩합니다.
Proposed Method
여기서는 3차원 모션 데이터와 휴머노이드 로봇 간 매핑 최적화 기반의 모션 리타게팅 파이프라인을 소개합니다.
이 방식은 4가지 절차로 수행됩니다. 1)Preparation of motion retargeting
2)Optimizing the motion transfer
3)Computing joint trajectories using iterative IK
4)Post-processing the joint trajectories.
A. Motion Retarget Descriptions
모션 데이터셋으로부터 높은 수준의 로봇 모션 표현을 효율적으로 하는 것이 이 논문의 목표입니다. 이에 모션 리타게팅 방식의 시작은 JOI를 원본 모션 스켈레톤에서 목표 로봇 하드웨어로 전달함으로 정의하는 것입니다. 이 논문의 방식에서 유일한 수작업은 원본 모션 스켈레톤과 타겟 로봇 JOI를 지정하는 것입니다.
논문은 상체의 모션 생성만 다루기 때문에, A 작업에서는 로봇과 스켈레톤의 손, 손목, 팔꿈치, 머리의 JOI를 정의합니다.
스켈레톤의 키네마틱스 체인을 강체로 가정하고 조인트 간의 오일러 각을 계산합니다. 만약 태스크 스페이스 내에서 두 조인트 간 포지션의 오일러각을 계산할 수 없다면, 모호성을 제거하기 위해 Roll과 Pitch만 계산합니다.
계산 방식은 아래와 같습니다.
R은 로컬 좌표계의 회전행렬, v는 parent와 chile 상대 벡터입니다.
그러면 다음과 같이 만들어지며
이렇게 만들어진 키네마틱스 구조는 URDF로 작성합니다.
B. Optimize Retargeting
스켈레톤과 타겟 로봇의 JOI가 완성되면 CDBO를 사용하여 최적화를 수행할 수 있습니다.
B 단계에서는 최적화를 위한 2가지 주요 요소를 정의합니다. 첫번째는 모션 전달 파라미터화입니다. 두번째는 모션 전달 성능에 대한 Cost function 평가입니다.
Motion transfer parametrization
원 객체로부터 모션 전달은 1) 베이스 스켈레톤의 링크 길이 조정 2) 결과 JOI의 트래젝터리에 대한 Task space 변형으로 수행됩니다.
만약 베이스 스켈레톤이 있고 Roll, Pitch 각도를 위 식으로부터 취득했다면, 링크 길이 변형은 11가지 파라미터를 통해 수행됩니다. 파라미터는 다음과 같습니다. global rate, hip to lower spine, lower spine to mid spine, mid spine to neck, neck to head, neck to shoulder, shoulder to elbow, elbow to wrist, wrist to hand, knee to foot, and pelvis to knee.
변형된 스켈레톤의 링크 길이와 각 조인트의 roll, pitch 값을 가진 후에 Forward Kinematics를 통해 Task Space내 JOI 계산을 합니다.
조정된 JOI 트래젝터리는 Task space의 6개 파라미터를 통해 파인튜닝이 됩니다. 6개의 파라미터는 다음과 같습니다. Cartesian 좌표계 내 scaling 3 parameters, translation 3 parameters. 이 파라미터 모두 Shoulder position에서 Scaling과 Transition을 수행합니다.
assessing the quality of the motion transfer
모션 리타게팅 문제가 최적화 문제로 전환되었습니다.이후 4가지 다른 컴포넌트로 구성된 Cost function을 설계하였습니다. 지금은 Task space에서 조정된 JOI 트래젝터리를 가지고 있고, 로봇은 기본 자세를 가지고 있습니다.
- Location cost Task space 내 변형된 좌우 어깨의 초기 위치 vs 로봇의 좌우 어깨 포지션 차이 차이
- Link length cost 로봇과 변형된 좌우 어깨부터 팔꿈치, 팔꿈지부터 손의 링크 길이의 차이
- Workspace cost Task space 내 JOI의 트래젝터리와 워크스페이스의 최대 거리
- Trajectory cost 원 모션 데이터와 변형된 모션 데이터간 표준화된 JOI trajectory의 차이.
Cost total은 다음과 같습니다.
C. Compute Joint Trajectories with IKs
Taskspace 내 JOI 트래젝터리가 계산된 후에는 Joint 스페이스 내의 Trajectory가 자코비안 메서드를 사용하여 iterative IK를 통해 계산이 됩니다. 각 iteration 마다 싱귤래리티를 극복하기 위해 초기 state를 리커버리하는 휴리스틱한 방식을 추가하였습니다. Joint 트래젝터리 결과값은 Gaussian Random Path를 통해 스무딩됩니다.
self-collision 과 Joint 각도 제한은 IK 푸는 중에 다루어집니다. Self-collision은 캐드데이터 상 각각의 링크를 큐브로 가정하고 GJK 알고리즘을 이용하여 해소합니다. 재 조인트의 값을 q, 자코비안 메서드 상의 조인트 차이를 dq라고 할때, q+dq때 Self-collision이 발생한다면, 충돌을 일으키지 않는 dq(i)의 인덱스 값을 찾습니다. 만약 여러 인덱스가 존재한다면 dq(i)의 크기가 가장 큰 값을 선택하고 그렇지 못한다면 다음 JOI 타겟을 선택합니다.
Joint position limit을 다루는 휴리스틱 방식은 joint limits 를 약간 넘는 q + dq의 인덱스를 찾고 IK를 다시 계산해 상응하는 Joint 값들을 제거합니다.
D. Post-process Joint Trajectories
Joint의 속도 제한 등과 같은 물리적 제한때문에, IK로 생성된 Joint 트래젝터리는 바로 적용할 수 없습니다. 그래서 트래젝터리를 커널 함수의 하이퍼 파라미터를 통 스무딩하기 위해서, Rational Quadratic kernel(RQ)의 길이 파라미터를 속도 제한 사항을 만족할 때까지 늘렸습니다.
Experiments
테스트로 2개의 3D데이터세트로부터 36개의 모션, 세 사람으로부터 4대의 모션, 애니메이션 캐릭터로부터 4개의 모션을 가져와 DARwInOP, COMAN, THORMANG, Atlas 로봇에 적용하였습니다.
A. Motion Retarget Results
THORMANG은 다른 로봇에 비해 상체가 짧습니다. 또한 스켈레톤이 변형이 되어 아래의 사진처럼 행동을 하였을 때, 어깨부위가 다른 로봇에 비해 낮은 것을 볼 수 있습니다.
B. Ablation Study of different Joints of Interest
JOI의 변경이 모션에 어떻게 영향을 주는 것인지도 실험하였습니다. 사람의 손 형태를 닮은 COMAN 로봇에 적용했습니다. JOI 차이를 3가지로 하였는데, hand positions, hand and elbow positions, hand positions, hand rotations, and elbow positions로 수행하였고 그 결과물은 아래 사진과 같습니다.
C. Using Physical Humanoid Robots
실제 로봇인 COMAN과 THORMANG에 적용하였습니다. THORMANG은 하체를 고정하였지만, COMAN은 stabilization method를 적용한 상태입니다. 단순 손과 팔꿈치 4개의 JOI만 적용하였는데, COMAN이 팔목의 움직임까지 성공적으로 전달받은 것을 볼 수 있습니다.
Conclusion
이 논문에서는 Optimization-based motion transfer을 제시하였고, 베이스 스켈레톤의 링크 길이 변형과 Task space 파인튜닝을 이용하였습니다. 수작인 부분은 단순히 원본과 타켓의 스켈레톤 JOI를 정의하는 작업뿐입니다. 실험으로 파이프라인을 실제 로봇에 적용하는 것을 진행하였습니다.
이 논문의 한가지 제약 사항은 JOI를 손수 선택하는 것에 있으나 자동으로 모션데이터와 로봇의 Description의 JOI를 선택하는 방법이 존재한다고 믿습니다. 이는 Hypergraph matching algorithm을 통해 가능하다고 여깁니다.