ガゼボシミュレーションの関節動作制御と避雷

チュートリアルリンクを添付:カルーセル

主に私が踏んだピットについて話したい...そして解決策

コードの意味に慣れていないので、プログラムを盲目的に変更し、変更する必要のない多くの変更を行いました。

たとえば

<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ファイルのパラメーターの問題である可能性があります。

元の記事を29件公開 賞賛された0 訪問数482

おすすめ

転載: blog.csdn.net/qq_43771959/article/details/104610576