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

グリッパのDynamixelのトピック名が変わっている #292

Closed
mmurooka opened this issue Oct 18, 2019 · 3 comments · Fixed by #302
Closed

グリッパのDynamixelのトピック名が変わっている #292

mmurooka opened this issue Oct 18, 2019 · 3 comments · Fixed by #302

Comments

@mmurooka
Copy link
Collaborator

2018年度 演習資料 第2回 15ページ右上で、

roscd dynamixel_7dof_arm/euslisp/old_examples
roseus test-dynamixel-motor.l
(test-read-state)
(test-send-angle-vector-once)

というところがありますが(チェックポイント4で必要)、
これがエラーになり実行できません。

原因は、
https://github.com/jsk-enshu/robot-programming/blob/master/dynamixel_7dof_arm/euslisp/old_examples/test-dynamixel-motor.l#L30-L33
で、個々のDynamixelに関するsubscribeするtopicを指定していますが、

https://github.com/jsk-enshu/robot-programming/blame/master/dynamixel_7dof_arm/launch/dynamixel_7dof_arm_bringup.launch#L31
の変更で、グリッパのDynamixelについて、
topicの名前が
/arm_j7_controller/commandから/gripper_joint_controller/commandに変わってしまったためです。(/arm_j7_controller/stateも同様。)

この変更は、どういう経緯だったでしょうか。(gazeboのため?)
もとに戻すか、別の修正が必要です、どうするのが良さそうでしょうか > @tongtybj

そもそも上の講義資料の引用部分を、なくしてしまうのもありでしょうか。
これは、robot-interfaceクラスを導入する直前に、個々のDynamixelをtopicで見たり動かしたりできますね、ということを体験してもらうところだと思います。

@tongtybj
Copy link
Collaborator

返信遅れました.

/arm_j7_controller -> /gripper_joint_controllerの変更は
https://github.com/jsk-enshu/robot-programming/pull/244 によるもので、
さらに辿ると、
#161 にある @k-okada の以下のコメントに従った変更となります。

そもそも実機でrirobotも:anlge-vectorしてgripperが含まれないようにしておくのが標準的な使い方だと思うので、モデルの方から治していく必要があるかな.

@tongtybj
Copy link
Collaborator

https://github.com/jsk-enshu/robot-programming/blob/master/dynamixel_7dof_arm/euslisp/old_examples/test-dynamixel-motor.l に関しては、面倒だけど、`*arm-dof* 6` + gripper でsubscriber とpublisherの初期化の部分を直した方がいいね。

というのは引用部分を残す前提の話ですが、
robot-interfaceクラスを使った方がいいので、
自分はこの部分を削除してもいいと思います。

ただ、こういうコードはtestに使うといい気がするので、
rostestに回すべきかと思います。

@mmurooka
Copy link
Collaborator Author

経緯としては、gazebo対応をする中で
https://github.com/jsk-enshu/robot-programming/blob/master/dynamixel_7dof_arm/urdf/dynamixel_7dof_arm.urdf.xacro#L279
にあるようにシミュレーションでのグリッパjoint名が、"gripper_joint"になっていて、実機のグリッパjoint名は、"arm_joint7"だったので、後者を修正して前者に合わせた、ということですね。(もしかしたら、前者を後者に合わせたほうが良かったほうが、問題は起きなかったかもしれませんね。#293 (comment) みたいに、いろいろな所でtopic/service名を修正する作業が必要になる気がするので。)
ちなみに、controllerの名前(actionlibのtopic名)さえ一致していれば、joint名はどんな名前であろうと、gazeboと実機でrobot-interfaceを共通して使うというのとは関係ない気もします。

とりあえず

https://github.com/jsk-enshu/robot-programming/blob/master/dynamixel_7dof_arm/euslisp/old_examples/test-dynamixel-motor.l に関しては、面倒だけど、`*arm-dof* 6` + gripper でsubscriber とpublisherの初期化の部分を直した方がいいね。

のように修正しておこうと思います。

mmurooka added a commit to mmurooka/robot-programming that referenced this issue Oct 25, 2019
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

Successfully merging a pull request may close this issue.

2 participants