AI-Robot-Book / chapter6

第6章 マニピュレーション
1 stars 4 forks source link

Ignition Gazebo内のロボットが動きません #1

Closed rrrrkkkk closed 8 months ago

rrrrkkkk commented 8 months ago

crane_plus_ignition_no_moveit.launch.py と commander3 でIgnition Gazebo内のロボットが動きません。 crane_plus_ignition_no_moveit.launch.py と commander3を実行すると

:~/airobot_ws$ ros2 run crane_plus_commander commander3 [-0.00, 0.00, -0.00, -0.00] -0.00 [-0.00, 0.00, -0.00, -0.00] -0.00 1, 2, 3, 4, 5, 6, 7, 8, 9, 0キーを押して関節を動かす スペースキーを押して起立状態にする Escキーを押して終了 [-0.00, 0.00, -0.00, -0.00] -0.00 [-0.00, 0.00, -0.00, -0.00] -0.00 [-0.00, 0.00, -0.00, -0.00] -0.00 joint: [-0.10, 0.00, 0.00, 0.00] [-0.00, 0.00, -0.00, -0.00] -0.00 [-0.00, 0.00, -0.00, -0.00] -0.00 joint: [-0.20, 0.00, 0.00, 0.00] [-0.00, 0.00, -0.00, -0.00] -0.00 joint: [-0.30, 0.00, 0.00, 0.00] [-0.00, 0.00, -0.00, -0.00] -0.00 [-0.00, 0.00, -0.00, -0.00] -0.00

となり、パブリッシュした値がサブスクライブされません。

crane_plus_ignition_no_moveit.launch.py はそのままでは動かなかったので下記箇所を変更しました。

動かない原因と対策を教えてください。

[変更箇所]

  1. crane_plus_commander内のsetup.cfg内のscript-dirとinstall-scriptsをscript_dirとinstall_scriptsに変更。
  2. crane_plus_ignition_no_moveit.launch.py内のcrane_plus_ignitionをcrane_plus_gazeboに変更。
  3. crane_plus_description内のcrane_plus.urdf.xacro内の

    に変更。

    1. crane_plus_ignition_no_moveit.launch.py内の spawn_joint_state_controller = ExecuteProcess( cmd=['ros2 run controller_manager spawner.py joint_state_controller'], shell=True, output='screen', )

    spawn_arm_controller = ExecuteProcess( cmd=['ros2 run controller_manager spawner.py crane_plus_arm_controller'], shell=True, output='screen', )

    spawn_gripper_controller = ExecuteProcess( cmd=['ros2 run controller_manager spawner.py crane_plus_gripper_controller'], shell=True, output='screen', ) を spawn_joint_state_controller = ExecuteProcess( cmd=['ros2 run controller_manager spawner joint_state_broadcaster'], shell=True, output='screen', )

    spawn_arm_controller = ExecuteProcess( cmd=['ros2 run controller_manager spawner crane_plus_arm_controller'], shell=True, output='screen', )

    spawn_gripper_controller = ExecuteProcess( cmd=['ros2 run controller_manager spawner crane_plus_gripper_controller'], shell=True, output='screen', ) に変更。

y-masutani commented 8 months ago

もっと詳しく知らせてください.

rrrrkkkk commented 8 months ago

Dockerイメージは使用していません。 https://github.com/rt-net/crane_plus/blob/master/README.mdSource Buildhttps://github.com/AI-Robot-Book/chapter6/tree/master/crane_plus_commander#%E6%BA%96%E5%82%99 の[インストール]を実行しました。 crane_plus_examples は動作しました。

ROSのバージョンはHumbleです。 commander1やcommander2でも動きません。

y-masutani commented 8 months ago

https://github.com/AI-Robot-Book の内容は,ROS Foxyを前提としています.ROS Humbleでは使えません.FoxyとHumbleで細かな部分がいろいろ変わっています.また,crane_plusの最新版はHumble前提になってしまいましたので,これをFoxyで使うにはfoxy-develブランチを使わないといけないはずです.Dockerイメージを提供しているのは,このような事態に備えるためでもあります.

一方,本の内容をHumbleに対応させようとも試みています.もしよろしければ,以下を試してみてください. https://github.com/AI-Robot-Book-Humble/chapter6/tree/humble

rrrrkkkk commented 8 months ago

書籍でのFoxy指定箇所読んだはずのところに書かれていたのに記憶違いしていたようです。 Humbleの情報提供ありがとうございました。 問題なく動作しました。 大変わかりやすい書籍のご出版ありがとうございます。 この場をお借りして感謝申し上げます。

y-masutani commented 8 months ago

無事動いたようで良かったです!