-
Notifications
You must be signed in to change notification settings - Fork 56
Description
Optmotiongenのsample-arm-reach-ik-obstacleに使われている障害物回避IKをPR2で試してみようとした(Kanazawanaoaki/oneweek_kanazawa#1 )ところ以下のような問題が発生しました。
:collision-avoidance-link-pair を指定する必要がある
sample-arm-reach-ik-obstacleと同じように:obstacles (list *obstacle*)として障害物を指定してもPR2の場合は障害物回避をすることが出来ませんでした。

(https://gist.github.com/Kanazawanaoaki/1810958f83c44c037b9cb286a047b385#file-obstacle-ik-test-01-l )
@pazeshunに:obstacles (list *obstacle*)の代わりに:collision-avoidance-link-pair (mapcar #'(lambda (l) (list l *obstacle*)) (send *robot* :links))とする必要があることを教えていただきましたが、READMEから辿るにはPR2のregraspのサンプルのコードを注意深く読む以外にない気がします。
障害物を回避しきれていない
(https://gist.github.com/Kanazawanaoaki/1810958f83c44c037b9cb286a047b385#file-obstacle-ik-test-02-l )のように:collision-avoidance-link-pairを指定して実行してみたのですが、障害物を回避しきれていなくて障害物と重なってしまっているように見えます。

(normal-ik)として:inverse-kinematicsを使った時と、(obstacle-ik)として:inverse-kinematics-optmotiongenを使った時の挙動を比べると障害物を指定できていて回避していようとしているように見えます。完全には回避しきれない状態で解き終わってしまうこともあるのでしょうか。