0

我是 ROS 的初学者,我正在使用 ROS 和 Gazebo 进行四轴飞行器项目。为了给您一些背景知识,这是我所做的:

  1. 我在solidworks中创建了一个四轴飞行器CAD模型,
  2. 然后我将它作为 urdf 文件导出到 ROS 和 Gazebo。

现在我的下一个任务是使用 python 代码移动四轴飞行器。但是当我输入 rostopic 之类的命令时,我看不到任何有价值的主题来控制我的四轴飞行器。我希望螺旋桨旋转,以便四轴飞行器可以移动。

为方便起见,我附上了使用 rqt_graph 生成的图像,它显示没有主题。

在此处输入图像描述

4

1 回答 1

0

如果没有看到您的 URDF 文件,很难说出您缺少哪些部分。话虽如此,您似乎暗示您刚刚将 CAD 模型导出到 URDF。URDF 只是一个文件,用于解释不同部分如何相互关联,因为它可以与 ros 和 Gazebo 一起使用,需要使用插件来实际发布状态和转换。确保在 URDF 文件的底部加载gazebo_ros_control插件和传输控制。像这样的东西:

<!-- ROS Control plugin for Gazebo -->
  <gazebo>
    <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
      <robotNamespace>/simple_model</robotNamespace>
    </plugin>
  </gazebo>

  <!-- transmission -->
  <transmission name="base_to_second_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <actuator name="motor1">
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
    <joint name="base_to_second_joint">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>
</robot>
于 2021-08-14T22:45:10.723 回答