Gazebo / Ros:如何使用像素级分割创建相机插件?

时间:2017-01-15 02:19:53

标签: ros robotics

我希望创建一个相机插件,在图像的每个像素处,我能够输出它所属的对象,如果有的话。我一直在努力寻找解决这个问题的方法。关于从哪里开始的任何建议?

1 个答案:

答案 0 :(得分:0)

如果你想制作一个相机是Gazebo模拟比你必须使用传感器插件或传感器元素在ur机器人sdf / urdf模型中描述here,,你可以找到它们的两种类型的相机,深度和RGB。例如,如果你想要一个包含rgb和深度图像的kinect传感器(相机),你可以在你的机器人模型中使用bolow sdf线。在这里运行此代码时,它将发布rgb和深度数据,如here所示:这里我使用了射线传感器。

 <gazebo reference="top">
    <sensor name='camera1' type='depth'>
      <always_on>1</always_on>
      <visualize>1</visualize>
      <camera name='__default__'>
        <horizontal_fov>1.047</horizontal_fov>
        <image>
          <width>640</width>
          <height>480</height>
          <format>R8G8B8</format>
        </image>
        <depth_camera>
          <output>depths</output>
        </depth_camera>
        <clip>
          <near>0.1</near>
          <far>100</far>
        </clip>
      </camera>
      <plugin name='camera_controller' filename='libgazebo_ros_openni_kinect.so'>
        <alwaysOn>true</alwaysOn>
        <updateRate>30.0</updateRate>
        <cameraName>camera</cameraName>
        <frameName>/camera_link</frameName>
        <imageTopicName>rgb/image_raw</imageTopicName>
        <depthImageTopicName>depth/image_raw</depthImageTopicName>
        <pointCloudTopicName>depth/points</pointCloudTopicName>
        <cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName>
        <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
        <pointCloudCutoff>0.4</pointCloudCutoff>
        <hackBaseline>0.07</hackBaseline>
        <distortionK1>0.0</distortionK1>
        <distortionK2>0.0</distortionK2>
        <distortionK3>0.0</distortionK3>
        <distortionT1>0.0</distortionT1>
        <distortionT2>0.0</distortionT2>
        <CxPrime>0.0</CxPrime>
        <Cx>0.0</Cx>
        <Cy>0.0</Cy>
        <focalLength>0.0</focalLength>
      </plugin>
    </sens

or>
      </gazebo