# stereo_image_proc pointcloud isn't visible

Hey guys,

I'm currently simulating some stuff using the Heron USV Simulator. https://github.com/heron/heron_simulator

Task for me now was to add a stereo camera to it and then somehow retrieve a pointcloud of the water unterground of it. For this I decided to use the package stereo_img_proc.

So far so good. I set up the camera in one of the xacro files like this:

<link name="${namespace}camera_link"> <collision> <origin xyz="0.1 0 -0.2" rpy="0 0.4 0"/> <geometry> <box size="${camera_link} ${camera_link}${camera_link}"/> </geometry> </collision>

  <visual>
<origin xyz="0.1 0 -0.2" rpy="0 0.4 0"/>
<geometry>
<box size="${camera_link}${camera_link} ${camera_link}"/> </geometry> <material name="red"/> </visual> <inertial> <mass value="1e-5" /> <origin xyz="0.1 0 -0.2" rpy="0 0.4 0"/> <inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6" /> </inertial> </link> <joint name="camera_joint" type="fixed"> <origin xyz="0 0 -0.2" rpy="0 0.4 0"/> <parent link="${namespace}base_link"/>
<child link="${namespace}camera_link"/> </joint> <gazebo reference="${namespace}camera_link">
<sensor name="${namespace}camera" type="multicamera"> <update_rate>20</update_rate> <camera name="left"> <horizontal_fov>1.3962634</horizontal_fov> <image> <width>50</width> <height>50</height> <format>R8G8B8</format> </image> <clip> <near>1</near> <far>70</far> </clip> </camera> <camera name="right"> <pose>0 -0.15 0 0 0 0</pose> <horizontal_fov>1.3962634</horizontal_fov> <image> <width>50</width> <height>50</height> <format>R8G8B8</format> </image> <clip> <near>1</near> <far>70</far> </clip> </camera> <plugin name="${namespace}cameracontroller" filename="libgazebo_ros_multicamera.so">
<baseline>0.2</baseline>
<alwaysOn>true</alwaysOn>
<updateRate>1.0</updateRate>
<cameraName>${namespace}camera</cameraName> <leftCamera>${namespace}left</leftCamera>
<rightCamera>${namespace}right</rightCamera> <frameName>${namespace}base_link</frameName>
<distortionK1>0.00000001</distortionK1>
<distortionK2>0.00000001</distortionK2>
<distortionK3>0.00000001</distortionK3>
<distortionT1>0.00000001</distortionT1>
<distortionT2>0.00000001</distortionT2>
<hackBaseline>0</hackBaseline>
</plugin>
</sensor>
</gazebo>


This works fine - if I run the simulator I see a red box which is a placeholder for my camera. Then I tried to reconfigure stereo_image_proc like the official documentation said - this also works very fine. I get the output of the left and right camera and also an perfectly nice disparity image which is needed for the creation of a pointcloud.

Then I tried to visualize the pointcloud in RVIZ. And I just can make it visible. I tried everything. I added a Pointcloud2 and then chose the topic of stereo_image_proc which in my case is /camera/points2. RVIZ says the topic is ok, I see that RVIZ retrieves messages from it and it also says that the transformation is ok.

I also tried visualizing the pointcloud using pcl and a viewer. But still just a black screen - no points.

I also tried saving the pointcloud to a .ply file using the pcl_ply library and open up the ply file in meshlab - there are just no points only the warning that there are no coordinates.

Im sitting on this ...

edit retag close merge delete