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

[spotarm] :angle-vector で動かしたあとにimpedance-param がリセットされる #90

Open
sktometometo opened this issue Feb 24, 2023 · 9 comments

Comments

@sktometometo
Copy link

No description provided.

@sktometometo sktometometo changed the title [spotarm] :angle-vector で動かしたあとにimpedance-param ga [spotarm] :angle-vector で動かしたあとにimpedance-param がリセットされる Feb 24, 2023
@k-okada
Copy link
Owner

k-okada commented Feb 24, 2023

なるほど.サンプルプログラムレベルで:angel-vectorと :impedance-param が併用されているのがないか調べてみてください.https://github.com/boston-dynamics/spot-sdk/tree/master/python/examples

ちなみに,どういう場面での用途になるでしょうか?

@sktometometo
Copy link
Author

机をふきんで拭かせようとしてます。こちらとかそんな感じでしょうか
https://github.com/boston-dynamics/spot-sdk/blob/2fa6824949e1781cbe0eff9d9d0fe08c9e49a26d/python/examples/arm_impedance_control/arm_impedance_control.py

@k-okada
Copy link
Owner

k-okada commented Feb 24, 2023 via email

@sktometometo
Copy link
Author

sktometometo commented Feb 27, 2023

ArmJointTrajectoryは引数にimpedance matrix を入れる項目が無いので、今のhandle_arm_joint_trajectoryの変更では難しそうです。

ArmImpedanceCommandは逆にreference timeが無いので、実行する時間は人が気をつけてあげる必要がありそうです。
SE3Trajectory内にreference time ありました。ただ関節角度での司令ではなく、参照座標系での位置姿勢指令なのでFollowJointTrajectoryとは異なるインターフェースは必要そうです。
https://dev.bostondynamics.com/protos/bosdyn/api/proto_reference#armimpedancecommand-request

@sktometometo
Copy link
Author

VID_20230227_144338.mp4

テレオペで動かして拭かせようとしてみました。ロボットの身体は指令通りの方向へ真っ直ぐ動くわけではないので、細かい位置が必要な動作はあまり向いてなさそうです。

@k-okada
Copy link
Owner

k-okada commented Feb 27, 2023

support サイトに,机の上の掃除のような動作はどうするんだ?と聞いてみましょう.

@sktometometo
Copy link
Author

sktometometo commented Feb 28, 2023

上のPRでimpedance controlを使って位置指令を送るインターフェースを追加しました。

(send *spot* :angle-vector (send *ri* :state :potentio-vector))
(send *ri* :move-arm-impedance-command (send (send (send *spot* :arm :end-coords) :copy-worldcoords) :translate #f(100 0 0)) :linear-stiffness #f(200 200 200))

のようにして使います。

@sktometometo
Copy link
Author

VID_20230228_154506.mp4

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

2 participants