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

[pr2eus/pr2-ri-test-simple] add :robot-interface-simulation-callback #454

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Naoki-Hiraoka
Copy link
Contributor

@Naoki-Hiraoka Naoki-Hiraoka commented Dec 12, 2020

下記のようなコードを実行すると、euslispがインタラクティブモードかによって結果が変わりました。

;; hoge.l
(load "package://pr2eus/pr2-interface.l")
(pr2-init)
(send *ri* :angle-vector (send *pr2* :init-pose))
(send *ri* :wait-interpolation)
(send *ri* :robot :reset-pose)
(print (send *ri* :state :potentio-vector))
$ roseus hoge.l
#f(11.5 0.0 0.0 0.0 -8.59437 0.0 -5.72958 0.0 0.0 0.0 0.0 -8.59437 0.0 -5.72958 0.0 0.0 0.0)

一行ずつインタラクティブに実行していった場合

6.irteusgl$ (print (send *ri* :state :potentio-vector))
#f(50.0 60.0 74.0 70.0 -120.0 20.0 -30.0 180.0 -60.0 74.0 -70.0 -120.0 -20.0 -30.0 180.0 0.0 0.0)

この違いは、タイマーで呼ばれている(send *ri* :robot-interface-simulation-callback) が、*ri*の姿勢を変更してから(send *ri* :state :potentio-vector)を実行するまでに呼ばれるかどうかによるものです。

#453 を作る時にこれにはまったため、他のテストでも将来はまる人が出ては良くないと思い、同様の箇所に(send *ri* :robot-interface-simulation-callback) を追加しました。

Copy link
Member

@k-okada k-okada left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

この違いは、タイマーで呼ばれている(send ri :robot-interface-simulation-callback) が、riの姿勢を変更してから(send ri :state :potentio-vector)を実行するまでに呼ばれるかどうかによるものです。

send *ri* :state を呼んだときに send *ri* :robot-interface-simulation-callback が呼ばれるようにするのではダメなのかな.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants