agent-system / lecture2019

lecture/homework agent-system 2019
4 stars 5 forks source link

JAXONで棒が持てない #5

Closed makit0sh closed 5 years ago

makit0sh commented 5 years ago

JAXONで課題2回目の壁に刺さっている棒を引き抜く作業を行おうとしたところ、下の画像のようにハンドが棒に埋まってしまい、それ以降腕がうまく動かなくなってしまいます。 start-grasp のゲインを調整しても同じ現象が起きてしまい、対処法がわかりません。 実行したシミュレーションは以下です。

./run.sh rtmlaunch hrpsys_choreonoid_tutorials create_environment_sample.launch ROBOT_SETTING_YAML:=/choreonoid_ws/src/aizuspider_description/jaxon_task1.yaml

Screenshot from 2019-06-06 15-44-50

YoheiKakiuchi commented 5 years ago

https://gist.github.com/YoheiKakiuchi/c5ad56ef77be2c50ed6abc1691001b79 ここに置いてある、Task1..., jaxon_task1.yaml を choreonoid_docker 以下に置いて、

./run.sh rtmlaunch hrpsys_choreonoid_tutorials create_environment_sample.launch ROBOT_SETTING_YAML:=/userdir/jaxon_task1.yaml

とすると、棒の直近から始まります。

別ターミナルで以下をすると、棒をつかむ(失敗するかも)動作をします。 すり抜けはしなくなりますが、シミュレーションがとても遅くなります。

./exec.sh
roscd hrpsys_choreonoid_tutorials
roseus euslisp/jaxon_jvrc-interface.l
(jaxon_jvrc-init)
(setq *robot* (jaxon_jvrc))
(send *robot* :fix-leg-to-coords (make-coords))
(send *robot* :larm :inverse-kinematics (make-coords :pos #f(0 440 1100) :rpy (list 0 0 pi/2)) :rotation-axis :z)
(send *robot* :move-centroid-on-foot :both (list :rleg :lleg :rarm :larm))
(send *ri* :angle-vector (send *robot* :angle-vector) 4000)
(send *ri* :wait-interpolation)
(send *robot* :larm :inverse-kinematics (make-coords :pos #f(0 700 1100) :rpy (list 0 0 pi/2)) :rotation-axis :z)
(send *robot* :move-centroid-on-foot :both (list :rleg :lleg :rarm :larm))
(send *ri* :angle-vector (send *robot* :angle-vector) 1000)
(send *ri* :move-gripper :larm 0.7)
makit0sh commented 5 years ago

ありがとうございます。

棒については、めり込んだ状態でもすり抜けたりする非現実的な挙動を示しますが、一応引き抜くことはできましたので、issueはここでcloseします。