我如何从 ros 中的 sdf 模型加载插件

how do i load plugin from sdf model in ros

类似地,我可以在 urdf 文件中放置一个插件,然后当我在 gazebo 中启动该 urdf 时,我可以控制该机器人,但我无法通过任何方式控制机器人模型。我试图在我的启动文件中使用这一行,但它不起作用:<param name="robot_description" textfile="$(find <my_robot>)/model.sdf"/>

他们如何使用 sdf 机器人的插件到我的 gazebo ros 控制包或 robot_description src 文件,就像我对 urdf 文件所做的一样。就像当我启动带有插件的 urdf 文件时,我可以从我的插件文件与机器人通信而不是使用 ros 控件。同样,我在我的世界文件中加载了 sdf 机器人,而不是当我从我的 roslaunch 文件中启动它时,插件没有加载。为什么我想这样做是因为有很多机器人模型,如 r2、kuka 和其他以 sdf 格式存在,所以我想从我的 ros 包中传达它们。我正在使用 ros indigo 和 gazebo 7.4 进行机器人模拟。 为什么会发生这种情况,当我在凉亭中生成一个 urdf 机器人时,我能够通过 ros 与它通信,但当我生成一个 sdf 机器人时却不能?

Documentation 读作:

Under the hood, Gazebo will then convert the URDF to SDF automatically.

因此,我认为问题出在您 运行 您的 sdf 方式上,与 sdf 或 urdf 无关。您是否尝试过直接 运行ning sdf(如 ros运行 gazebo_ros gazebo /path/to/your/sdf)?不确定靛蓝,它有助于动力学。