To get ROS to interact with Gazebo, we have to dynamically link to the ROS library that will tell Gazebo what to do. Theoretically, this allows for other Robot Operating Systems to interact with Gazebo in a generic way. In practice, its just ROS.
如果要使用gazebo模拟,那么需要gazebo联系到ros2软件,我们需要一个东西来告诉gazebo该做什么,plugin就是指定这个规则的一个东西
To link Gazebo and ROS, we specify the plugin in the URDF, right before the closing?</robot>?tag:
? 1 <gazebo>
? 2 <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
? 3 <robotNamespace>/</robotNamespace>
? 4 </plugin>
? 5 </gazebo>
这个是ros1的资料来源,但是同样可以有一些用途
?应该就是一个驱动,plugin就是一个虚拟的驱动,如果你要模拟摄像头,需要指定摄像头的驱动,用plugin来指定。
<gazebo>
? ? ? ? <plugin name="摄像头100" filename="虚拟摄像头驱动文件名称">
? ? ? ? ? ? ? ? <robotNamespace>/</robotNamespace>
? ? ? ? </plugin>
</gazebo>
如果你要在gazebo模拟激光雷达,需要安装激光雷达驱动,在gazebo里面就只要安装虚拟的雷达驱动就可以了,也只要使用plugin来指定就可以了
<gazebo>
? ? ? ? <plugin name="雷达100" filename="虚拟雷达驱动文件名称">
? ? ? ? ? ? ? ? <robotNamespace>/</robotNamespace>
? ? ? ? </plugin>
</gazebo>