realsense d435 camera is creating bad maps
I am trying to create better maps from what I'm getting right now in from my d435 realsense camera. I'm using a turtlebot2 and the 3dsensor.launch
is:
<!--
Turtlebot is a bit low on horsepower...
We use openni_camera here, turn everything on by default
(allows the user to conveniently see everything when
launching this on its own - use with
turtebot_rviz_launchers/view_robot.launch to visualise)
and provide args to disable them so you can optimise the
horsepower for your application.
For an example of disabling processing modules, check
any of the turtlebot_rapps (e.g. android_make_a_map.launch
only enables scan_processing for depthimage_to_laserscan and
rgb_processing for the android tele-view).
-->
<launch>
<!-- "camera" should uniquely identify the device. All topics are pushed down
into the "camera" namespace, and it is prepended to tf frame ids. -->
<arg name="camera" default="camera"/>
<arg name="publish_tf" default="false"/>
<arg name="3d_sensor" default="$(env TURTLEBOT_3D_SENSOR)"/> <!-- kinect, asus_xtion_pro -->
<!-- Factory-calibrated depth registration -->
<arg name="depth_registration" default="true"/>
<arg if="$(arg depth_registration)" name="depth" value="depth_registered" />
<arg unless="$(arg depth_registration)" name="depth" value="depth" />
<!-- Processing Modules -->
<arg name="rgb_processing" default="true"/>
<arg name="ir_processing" default="true"/>
<arg name="depth_processing" default="true"/>
<arg name="depth_registered_processing" default="true"/>
<arg name="disparity_processing" default="true"/>
<arg name="disparity_registered_processing" default="true"/>
<arg name="scan_processing" default="true"/>
<!-- Worker threads for the nodelet manager -->
<arg name="num_worker_threads" default="4" />
<!-- Laserscan topic -->
<arg name="scan_topic" default="scan"/>
<include file="$(find turtlebot_bringup)/launch/includes/3dsensor/$(arg 3d_sensor).launch.xml">
<arg name="camera" value="$(arg camera)"/>
<arg name="publish_tf" value="$(arg publish_tf)"/>
<arg name="depth_registration" value="$(arg depth_registration)"/>
<arg name="num_worker_threads" value="$(arg num_worker_threads)" />
<!-- Processing Modules -->
<arg name="rgb_processing" value="$(arg rgb_processing)"/>
<arg name="ir_processing" value="$(arg ir_processing)"/>
<arg name="depth_processing" value="$(arg depth_processing)"/>
<arg name="depth_registered_processing" value="$(arg depth_registered_processing)"/>
<arg name="disparity_processing" value="$(arg disparity_processing)"/>
<arg name="disparity_registered_processing" value="$(arg disparity_registered_processing)"/>
</include>
<!-- Laserscan
This uses lazy subscribing, so will not activate until scan is requested.
-->
<!--
<group if="$(arg scan_processing)">
<remap from="image" to="/camera/depth/image_rect_raw"/>
<remap from="scan" to="$(arg scan_topic)"/>
<remap from="camera_info" to="/camera/depth/camera_info"/>
<remap from="$(arg camera)/image" to="/camera/depth/image_rect_raw"/>
<remap from="$(arg camera)/scan" to="$(arg scan_topic)"/>
<remap from="$(arg camera)/camera_info" to="/camera/depth/camera_info"/>
<node pkg="nodelet" type="nodelet" name="depthimage_to_laserscan" args="load depthimage_to_laserscan/DepthImageToLaserScanNodelet $(arg camera)/$(arg camera)_nodelet_manager">
<param name="scan_height" value="10"/>
<param name="output_frame_id" value="/$(arg camera)_depth_frame"/>
<param name="range_min" value="0.45"/>
</node>
</group>
-->
<remap from="image" to="/camera/depth/image_rect_raw"/>
<remap from="camera_info" to="/camera/depth/camera_info"/>
<node pkg="depthimage_to_laserscan" type="depthimage_to_laserscan" name="depthimage_to_laserscan" args="">
<param name="scan_height" type="int" value="10"/> <!-- default: 1 pixel. Number ...