チュートリアルリンクを添付:カルーセル
主に私が踏んだピットについて話したい...そして解決策
コードの意味に慣れていないので、プログラムを盲目的に変更し、変更する必要のない多くの変更を行いました。
たとえば
<gazebo>
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
<robotNamespace>/swivel</robotNamespace>
<controlPeriod>0.01</controlPeriod>
<robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
</plugin>
</gazebo>
3行目のrobotnamespaceで、パッケージの名前に変更しましたが、yamlファイルの構成時に常に彼のスイベル名を使用したため、起動を実行する後のステップでエラーが発生し、コントローラーが見つかりませんでした...じっくりと考えてみたところ、ここで何かおかしいことがわかりました。
チュートリアルでgazeboに直接参加すると、起動の実行時にエラーが報告されます(スクリーンショットはありません)。使用に影響はありませんが、場合によっては、次のように実際のコードの行を追加する必要があります。
<gazebo>
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
<robotNamespace>/swivel</robotNamespace>
<controlPeriod>0.01</controlPeriod>
<robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
<legacyModeNS>true</legacyModeNS>
</plugin>
次に、yamlファイルを構成します。スペースはrobotnamespaceに対応している必要があります。!!!
起動ファイルの主な注意点はアドレスの問題です!
ガゼボの空の世界でさえもあなた自身のファイルアドレスに変更されるべきであり、そしてコントローラーをロードするときに正しい名前が書かれなければなりません!!
次に起動ファイルを実行すると、多くの警告があり、その1つはController Spawnerが予期されるcontroller_manager ROSインターフェースを見つけられなかったことです。
何か不足していることを説明します。
执行sudo apt-get install ros-kinetic-gazebo-ros-control
然后如果还不行,估计还是缺东西:
分别执行
rospack find effort_controllers
rospack find joint_state_controller
这两个命令,大概率是找不到目标文件,然后下载一下
sudo apt-get install ros-kinetic-effort-controllers
sudo apt-get install ros-kinetic-joint-state-controller
その後、それを制御できます!
その他のパフォーマンスの低下は、xacroファイルのパラメーターの問題である可能性があります。