Closed kochigami closed 7 years ago
$ (progn (send *pepper* :reset-pose)(objects (list *pepper* (setq *box* (make-cube 100 100 100 :pos #f(500 300 00))))))
(send *pepper* :head :look-at (send *box* :worldpos) :draw-on :debug-view t)
で添付のような画像が見えるはずです.
判定は難しいけど、
(do-until-key (send (send *pepper* :head :end-coords) :draw-on :flush t :size 1000)(x::window-main-one))
として、対象にz軸が突き刺さっていれば問題ないはず.
これみると、頭のend-coordsはおでこカメラだね. 両眼の中心がよかったらpepper.yamlを直してみましょう. https://github.com/jsk-ros-pkg/jsk_robot/blob/master/jsk_naoqi_robot/peppereus/pepper.yaml#L32-L34
関連情報ですが、デフォルトのhead-end-coordsを直したあとに、 おでこも使いたくなった場合は、以下のようにしてlook-atの引数にmove-targetを与えるとできます。
(load "irteus/demo/demo.l")
(unless (boundp '*robot*)
(setq *robot* (instance sample-robot :init)))
(send *robot* :reset-pose)
(send *robot* :fix-leg-to-coords (make-coords))
(objects (list *robot*))
(let ((mt (make-cascoords :coords (send (send *robot* :head :end-coords :copy-worldcoords) :translate (float-vector 70 0 0)) :parent (send *robot* :head :end-coords :parent))))
(send *robot* :head :look-at (float-vector 800 0 900) :debug-view :no-message :move-target mt)
(send (send mt :parent) :dissoc mt))
@k-okada 先生 @snozawa 先生
ご教示ありがとうございました。 認識結果(か計算結果)が間違っていて、正しい挙動であることが分かりました・・・
おでこカメラは直しておきました。 https://github.com/jsk-ros-pkg/jsk_robot/pull/810
同じ目線で見ているはずの人の顔で、 このようになっていることは分かりました。
追記: 首が目標を向く理由: base_link (お腹)が座標系の原点なので、
をしないといけなかった
send *robot* :head :look-at (float-vector)
で、 ロボットがどのリンクから目標物を見ようとしているか はどのようにしたら確認できますか。 曖昧な質問ですみません。現象:いつも目標より顔が上に上がってしまう。 予想:多分首を目標に向けている
関連しそうなpull-request: https://github.com/euslisp/jskeus/pull/408 jskeusのバージョン: ros-indigo-jskeus:amd64/trusty 1.1.0-0trusty-20170313-071400-0700 uptodate (上の変更も取り入れられている)
ロボット:pepper
やってみたこと:
base_footprint
(ペッパーの足元)相対の位置の確認(間違ってはなさそう)translate : [0, 0, -0.05]