-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIK.tex
23 lines (17 loc) · 2.15 KB
/
IK.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
\section{Collision Free Inverse Kinematics}
To put on various garments using a user-specified style, the character needs to move its end effectors to reach certain cloth features while keeps the full body motion similar to the reference. In addition, the body parts should not collide with each other during the movement. We use kinematic control to satisfy all these requirements. Most of our primitive actions are built upon inverse kinematics, which solves the following optimization problem.
\begin{align}
\label{eq:IK}
\min_{\vc{q}} & ||\vc{q} - \hat{\vc{q}}||_\vc{w}^2 \\
\nonumber \mathrm{subject\;} \mathrm{to} & \\
\nonumber &\vc{p}(\vc{q}) = \hat{\vc{p}}\\
\nonumber &\vc{q}_{min} \leq \vc{q} \leq \vc{q}_{max}
\end{align}
where $\vc{q}$ are the joint angles, $\hat{\vc{q}}$ is the reference pose ,$\vc{w}$ is a diagonal matrix that specifies the weight of each joint, $\vc{p}(\vc{q})$ are the end effector positions, $\hat{\vc{p}}$ are the target positions, $\vc{q}_{min}$ and $\vc{q}_{max}$ are the joint limits.
This optimization constrains the end effectors to be at the target locations and minimizes the pose deviation from the reference. However, this commonly used IK formulation does not prevent collisions among body parts. We found that the resulting pose often has many overlapping bodies because during dressing, body parts are moving close to each other due to the tight space between the body and the cloth. For this reason, we augment the optimization with a collision constraint that prevents inter-body penetrations. We approximate the collision volume of each body with multiple spheres and enforce no penetration for each pair of spheres that belong to different bodies.
\begin{equation}
||\vc{c}_i(\vc{q}) - \vc{c}_j(\vc{q})||_2^2 - (r_1 + r_2)^2 \geq 0,\mbox{ if }B(i) \neq B(j)
\label{eq:collision}
\end{equation}
where $\vc{c}_i$ and $r_i$ are the center and radius of the $i$th sphere, and $B(i)$ is the body part that this sphere belongs to.
\karen{Not clear to me what this inequality constraints do to prevent human self-collision versus what RRT does.} \jie{In the current version of paper, we have not yet mentioned RRT up to this point.}