Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

check self-collision-check in all :inverse-kinematics methods #95

Closed
snozawa opened this issue Jun 9, 2014 · 2 comments
Closed

check self-collision-check in all :inverse-kinematics methods #95

snozawa opened this issue Jun 9, 2014 · 2 comments

Comments

@snozawa
Copy link
Contributor

snozawa commented Jun 9, 2014

euslispの:inverse-kinemaitcsメソッドで、
(send robot :self-collision-check)
をデフォルトで追加して、
(and ik-solved (not collision-p))
みたいなかんじで、IKの解けたかどうかチェックのところで
self-collision-checkでコリジョンをデフォルトでチェックすると
よさそうなのですが、どうでしょうか。

ただ、ロボットモデルの形状によっては、
(send robot :self-collision-check)
で実際にはカウントしたくない自己干渉もでてきてしまう気がします。
(send (pr2) :self-collision-check)
するといっぱい自己干渉リストがかえってきます。

なので、

--- irtmodel.l (リビジョン 967)
+++ irtmodel.l (作業コピー)
@@ -1792,6 +1792,7 @@
(t (make-list (length move-target) :initial-element (deg2rad 1)))))
(union-link-list)
(centroid-thre 1.0) (target-centroid-pos) (centroid-offset-func)

    (use-self-collision-check nil) (dump-command t) &allow-other-keys) ;; target-coords, move-target, rotation-axis, translation-axis, link-list @@ -1917,7 +1918,8 @@ ;; reset weight (send self :reset-joint-angle-limit-weight-old union-link-list) ;; check solved or not
    (if (or success (not revert-if-fail))
    (if (and (or success (not revert-if-fail))
    (if use-self-collision-check (send self :self-collision-check) t)) (send self :angle-vector) (progn (when warnp

のようにuse-self-collision-checkみたいに引数でチェックするかどうか選べるようにして、
今までのIKとの互換性のためにデフォルトでnil,
形状情報的に意図した自己干渉計算ができそうなロボットでは、
:inverse-kinematicsメソッドを上がいてデフォルトでuse-self-collision-chekをtにする、
というのはいかがでしょうか。
(IKが解けないメッセージで、普通にIkがとけないのか
自己干渉で返り血nilにしているのか、も表示する必要がありそうです)

@snozawa
Copy link
Contributor Author

snozawa commented Jun 9, 2014

This issue requires
#93

snozawa added a commit to snozawa/jskeus that referenced this issue Jul 16, 2015
snozawa added a commit to snozawa/jskeus that referenced this issue Jul 17, 2015
@snozawa
Copy link
Contributor Author

snozawa commented Sep 18, 2015

Solved via #232

@snozawa snozawa closed this as completed Sep 18, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant