Robotics StackExchange | Archived questions

Only getting NaN values when using depthimage_to_laserscan

I am trying to get laserscan data from depth images taken from the Robo@Home public dataset https://mapir.isa.uma.es/mapirwebsite/?p=2318. I am working on Ubuntu20.04LTS and using ROS Noetic. The depthimagetolaserscan node is subscribing to the /image topic where I publish the depth images that were converted to the ROS image message with 32FC1 encoding and saved into a rosbag file. The values I get for laserscan have all NaN values in ranges:

frameid: "cameradepth_frame"

angle_min: -0.2777670621871948

angle_max: 0.5022582411766052

angle_increment: 0.0032637042459100485

time_increment: 0.0

scan_time: 0.33329999446868896

range_min: 0.44999998807907104

range_max: 4.0

ranges: [nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan]

intensities: []

The values I am using in the launch file are:

<!-- Depth Image to Laser Scan Node -->

<remap from="image"           to="/camera/RGB1/Image"/> 
<remap from="camera_info"  to="/camera/RGB1/camera_info"/> 

<!-- PARAMETERS: -->
<!-- These are the default values. --> 
<param name="scan_height"         type="int"         value="100"/>                                    <!-- default: 1 pixel. Number of pixel rows used to generate laser scan. -->
<param name="scan_time"            type="double"  value="0.3333"/>                 <!-- default:0.033, 30 FPS . Time between scans. -->
<param name="range_min"            type="double"  value="0.45"/>                               <!--default:0.45m. Ranges less than this are considered -Inf. -->
<param name="range_max"           type="double"  value="4.0"/>                                 <!--default: 10m. Ranges less than this are considered +Inf. -->
<param name="output_frame_id"   type="str"         value="camera_depth_frame"/>   <!--default: camera_depth_frame. Frame id of the laser scan. -->

The values I set for the CameraInfo are:

cam_info.distortion_model = "plumb_bob"
cam_info.D = [0, 0, 0, 0, 0] #Distortion parameters, for plumb_bob [k1,k2,t1, t2, k3] 
cam_info.K = np.array([fx,  0, cx, 0, fy, cy, 0,  0,  1])
cam_info.R = [1, 0, 0, 0, 1, 0, 0, 0, 1] 
cam_info.P = np.array([fx,  0, cx, 0, 0, fy, cy, 0, 0,  0,  1, 0])
cam_info.binning_x = 0 
cam_info.binning_y = 0 

I have no idea why I am not getting range values, maybe it could be the values I am setting for the cameraInfo, or the encoding I stored the depth images with... I already varied the values of the rangemin and rangemax parameters in the launch file but no result obtained. If anyone can help me I will appreciate it a lot.

Asked by Ferroeg16 on 2023-05-30 00:16:46 UTC

Comments

Answers