Configuration of pointcloud_to_laserscan with stereo camera. [closed]
Hello,
I am trying to generate a laserscan of my environment by converting a pointcloud generated by a stereo camera, using the pointcloud_to_laserscan package, and I'm facing some issues. The details -
I am running the minoru stereo camera to generate the pointcloud, using uvc_camera's stereo node. (stereo_node.launch in uvc_camera/launch). I'm able to successfully access and manipulate the pointcloud received (/points as well as /points2). I also remapped the point cloud to /cloud_in, as required by pointcloud_to_laserscan.
To use pointcloud_to_laserscan, installed it (apt-get install, pre-built installation), on ROS Hydro. I modified the sample_node.launch file to my own launch file, minoru_laser.launch -
<launch>
<arg name="camera" default="camera" />
<!-- run pointcloud_to_laserscan node -->
<node pkg="pointcloud_to_laserscan" type="pointcloud_to_laserscan_node" name="pointcloud_to_laserscan">
<param name="use_inf" value="false"/>
<param name="use_concurrency" value="true"/>
<!-- <param name="target_frame" value="camera"/> -->
<!-- <remap from="cloud_in" to="$(arg camera)/depth_registered/points_processed"/> -->
<!-- <remap from="scan" to="$(arg camera)/scan"/> -->
</node>
</launch>
Since I'm using a stereo camera, I have removed the OpenNI device node that was previously called, and I am not running the remaps.
I am also running a few nodes from navigation stack robot setup - tf_broadcaster -giving me the transformation between the base_link and camera frames. The camera frame is the default frame of the camera feeds as well as the input point cloud.
The issues I'm facing are as follows -
1) While the pointcloud itself is fine, when I echo the /scan, it has ONLY INF values (when use_inf is set to true), and = range_max + 1 (when use_inf is false). This occurs irrespective of what the pointcloud contains, whether it is within the maximum range or not.
2) Now given the range_max + 1 pointcloud, I should still be able to view this in RVIZ, which I am unable to do. The screen is just blank.
Some other details: I think it is a transformation frame issue, between the camera frame and the frame of the laser, but I am unable to figure out how to solve this. I ran rqt_console and changed the logger level of pointcloud_to_laserscan to debug, and saw this message -
Node: /pointcloud_to_laserscan
Time: 17:17:52.694141586 (2015-03-13) Severity: Debug
Published Topics: /rosout, /scan
Connection::drop(2)
Location:
/tmp/buildd/ros-hydro-roscpp-1.10.2-0precise-20140304-0105/src/libros/connection.cpp:Connection::drop:324
As well as :
Node: /pointcloud_to_laserscan
Time: 17:17:52.694023811 (2015-03-13)
Severity: Debug
Published Topics: /rosout, /scan
TCP socket [9] closed
Location:
/tmp/buildd/ros-hydro-roscpp-1.10.2-0precise-20140304-0105/src/libros/transport/transport_tcp.cpp:TransportTCP::close:421
----------------------------------------------------------------------------------------------------
My rqt_graph is here.
Can anyone suggest a method to solve this?