<commit_before>
<launch>

  <!-- AZIMUT 3 bringup: launch motors/odometry, laser scan and openni -->
  <include file="$(find az3_bringup)/az3_standalone.launch"/>

  <node name="joy" pkg="joy" type="joy_node"/>

  <group ns="teleop">
        <remap from="joy" to="/joy"/>
        <node name="teleop" pkg="nodelet" type="nodelet" 
            args="standalone azimut_tools/Teleop"/>
        <param name="cmd_eta/abtr_priority" value="50"/>
    </group>

    <group ns="go_back">
        <remap from="joy"  to="/joy"/>
        <remap from="goal" to="/planner_goal"/>
        <node name="go_back" pkg="azimut_tools" type="go_back"/>
        <rosparam>
            btn_save: 1
            btn_goto: 3
        </rosparam>
    </group>

    <group ns="planner">
        <remap from="openni_points" to="/planner_cloud"/>
        <remap from="base_scan" to="/base_scan"/>
        <remap from="map" to="/map"/>
        <remap from="move_base_simple/goal" to="/planner_goal"/>
        <include file="$(find az3_navigation)/launch/az3_move_base_slam.launch"/>
        <param name="cmd_vel/abtr_priority" value="10"/>
    </group>

    <node name="az3_abtr" pkg="azimut_tools" type="azimut_abtr_priority_node">
        <remap from="abtr_cmd_eta" to="/base_controller/cmd_eta"/>
    </node>

    <node name="register_cmd_eta" pkg="abtr_priority" type="register"
        args="/cmd_eta /teleop/cmd_eta"/>
    <node name="register_cmd_vel" pkg="abtr_priority" type="register"
        args="/cmd_vel /planner/cmd_vel"/>


  <!-- OpenNI -->
  <include file="$(find rtabmap)/launch/azimut3/az3_openni.launch"/>

  <!-- Throttling messages -->
  <group ns="camera">
    <node pkg="nodelet" type="nodelet" name="data_throttle" args="load rtabmap/data_throttle camera_nodelet_manager" output="screen">
      <param name="max_rate" type="double" value="5.0"/>
   
      <remap from="rgb/image_in"       to="rgb/image_rect_color"/>
      <remap from="depth/image_in"     to="depth_registered/image_raw"/>
      <remap from="rgb/camera_info_in" to="depth_registered/camera_info"/>
    
      <remap from="rgb/image_out"       to="data_throttled_image"/>
      <remap from="depth/image_out"     to="data_throttled_image_depth"/>
      <remap from="rgb/camera_info_out" to="data_throttled_camera_info"/>
    </node>

    <!-- for the planner -->
    <node pkg="nodelet" type="nodelet" name="points_xyzrgb_planner" args="load rtabmap/point_cloud_xyzrgb camera_nodelet_manager">
      <remap from="rgb/image"       to="/camera/data_throttled_image"/>
      <remap from="depth/image"     to="/camera/data_throttled_image_depth"/>
      <remap from="rgb/camera_info" to="/camera/data_throttled_camera_info"/>
      <remap from="cloud"           to="/planner_cloud" />
    
      <param name="queue_size" type="int" value="10"/>
      <param name="decimation" type="int" value="4"/>
    </node>  
  </group>  

  <!-- Grid map assembler for rviz -->
  <node pkg="rtabmap" type="grid_map_assembler" name="grid_map_assembler" output="screen">
    <remap from="mapData" to="rtabmap/mapData"/>
    <remap from="grid_map" to="map"/>
  </node>

  <!-- SLAM (robot side) -->
  <!-- args: "delete_db_on_start" and "udebug" -->
  <group ns="rtabmap">
    <node name="rtabmap" pkg="rtabmap" type="rtabmap" output="screen" args="--delete_db_on_start">
	  <param name="frame_id" type="string" value="base_footprint"/>
	
	  <param name="subscribe_depth" type="bool" value="true"/>
	  <param name="subscribe_laserScan" type="bool" value="true"/>
	
	  <remap from="odom" to="/base_controller/odom"/>
	  <remap from="scan" to="/base_scan"/>

	  <remap from="rgb/image" to="/camera/data_throttled_image"/>
  	  <remap from="depth/image" to="/camera/data_throttled_image_depth"/>
  	  <remap from="rgb/camera_info" to="/camera/data_throttled_camera_info"/>
	
	  <param name="queue_size" type="int" value="10"/>
	
	  <!-- RTAB-Map's parameters: do "rosrun rtabmap rtabmap (double-dash)params" to see the list of available parameters. -->
	  <param name="RGBD/ScanMatchingSize" type="string" value="1"/>             <!-- Do odometry correction with consecutive laser scans -->
	  <param name="RGBD/LocalLoopDetectionSpace" type="string" value="true"/>   <!-- Local loop closure detection (using estimated position) with locations in WM -->
	  <param name="RGBD/LocalLoopDetectionTime" type="string" value="false"/>    <!-- Local loop closure detection with locations in STM -->
	  <param name="Mem/BadSignaturesIgnored" type="string" value="false"/>      <!-- Don't ignore bad images for 3D node creation (e.g. white walls) -->
	  <param name="LccIcp/Type" type="string" value="2"/>                       <!-- Loop closure transformation refining with ICP: 0=No ICP, 1=ICP 3D, 2=ICP 2D -->
	  <param name="LccIcp2/Iterations" type="string" value="100"/>
	  <param name="LccIcp2/VoxelSize" type="string" value="0"/>
	  <param name="LccBow/MinInliers" type="string" value="5"/>                 <!-- 3D visual words minimum inliers to accept loop closure -->
	  <param name="LccBow/MaxDepth" type="string" value="4.0"/>                 <!-- 3D visual words maximum depth 0=infinity -->
	  <param name="LccBow/InlierDistance" type="string" value="0.1"/>           <!-- 3D visual words correspondence distance -->
	  <param name="RGBD/AngularUpdate" type="string" value="0.01"/>             <!-- Update map only if the robot is moving -->
	  <param name="RGBD/LinearUpdate" type="string" value="0.01"/>              <!-- Update map only if the robot is moving -->
	  <param name="Rtabmap/TimeThr" type="string" value="700"/>
	  <param name="Mem/RehearsalSimilarity" type="string" value="0.45"/>
	  <param name="Mem/RehearsedNodesKept" type="string" value="false"/>
          <param name="RGBD/OptimizeFromGraphEnd" type="string" value="false"/>   
    </node><commit_msg>ros-pkg: updated performance for az3_mapping_robot_nav.launch example<commit_after>
<launch>

  <!-- AZIMUT 3 bringup: launch motors/odometry, laser scan and openni -->
  <include file="$(find az3_bringup)/az3_standalone.launch"/>

  <node name="joy" pkg="joy" type="joy_node"/>

  <group ns="teleop">
        <remap from="joy" to="/joy"/>
        <node name="teleop" pkg="nodelet" type="nodelet" 
            args="standalone azimut_tools/Teleop"/>
        <param name="cmd_eta/abtr_priority" value="50"/>
    </group>

    <group ns="go_back">
        <remap from="joy"  to="/joy"/>
        <remap from="goal" to="/planner_goal"/>
        <node name="go_back" pkg="azimut_tools" type="go_back"/>
        <rosparam>
            btn_save: 1
            btn_goto: 3
        </rosparam>
    </group>

    <group ns="planner">
        <remap from="openni_points" to="/planner_cloud"/>
        <remap from="base_scan" to="/base_scan"/>
        <remap from="map" to="/map"/>
        <remap from="move_base_simple/goal" to="/planner_goal"/>
        <include file="$(find az3_navigation)/launch/az3_move_base_slam.launch"/>
        <param name="cmd_vel/abtr_priority" value="10"/>
    </group>

    <node name="az3_abtr" pkg="azimut_tools" type="azimut_abtr_priority_node">
        <remap from="abtr_cmd_eta" to="/base_controller/cmd_eta"/>
    </node>

    <node name="register_cmd_eta" pkg="abtr_priority" type="register"
        args="/cmd_eta /teleop/cmd_eta"/>
    <node name="register_cmd_vel" pkg="abtr_priority" type="register"
        args="/cmd_vel /planner/cmd_vel"/>


  <!-- OpenNI -->
  <include file="$(find rtabmap)/launch/azimut3/az3_openni.launch"/>

  <!-- Throttling messages -->
  <group ns="camera">
    <node pkg="nodelet" type="nodelet" name="data_throttle" args="load rtabmap/data_throttle camera_nodelet_manager" output="screen">
      <param name="max_rate" type="double" value="5.0"/>
   
      <remap from="rgb/image_in"       to="rgb/image_rect_color"/>
      <remap from="depth/image_in"     to="depth_registered/image_raw"/>
      <remap from="rgb/camera_info_in" to="depth_registered/camera_info"/>
    
      <remap from="rgb/image_out"       to="data_throttled_image"/>
      <remap from="depth/image_out"     to="data_throttled_image_depth"/>
      <remap from="rgb/camera_info_out" to="data_throttled_camera_info"/>
    </node>

    <!-- for the planner -->
    <node pkg="nodelet" type="nodelet" name="points_xyzrgb_planner" args="load rtabmap/point_cloud_xyzrgb camera_nodelet_manager">
      <remap from="rgb/image"       to="/camera/data_throttled_image"/>
      <remap from="depth/image"     to="/camera/data_throttled_image_depth"/>
      <remap from="rgb/camera_info" to="/camera/data_throttled_camera_info"/>
      <remap from="cloud"           to="/planner_cloud" />
    
      <param name="queue_size" type="int" value="10"/>
      <param name="decimation" type="int" value="4"/>
    </node>  
  </group>  

  <!-- Grid map assembler for rviz -->
  <node pkg="rtabmap" type="grid_map_assembler" name="grid_map_assembler" output="screen">
    <remap from="mapData" to="rtabmap/mapData"/>
    <remap from="grid_map" to="map"/>
  </node>

  <!-- SLAM (robot side) -->
  <!-- args: "delete_db_on_start" and "udebug" -->
  <group ns="rtabmap">
    <node name="rtabmap" pkg="rtabmap" type="rtabmap" output="screen" args="--delete_db_on_start">
	  <param name="frame_id" type="string" value="base_footprint"/>
	
	  <param name="subscribe_depth" type="bool" value="true"/>
	  <param name="subscribe_laserScan" type="bool" value="true"/>
	
	  <remap from="odom" to="/base_controller/odom"/>
	  <remap from="scan" to="/base_scan"/>
	  <remap from="mapData" to="mapData_notOptimized"/>

	  <remap from="rgb/image" to="/camera/data_throttled_image"/>
  	  <remap from="depth/image" to="/camera/data_throttled_image_depth"/>
  	  <remap from="rgb/camera_info" to="/camera/data_throttled_camera_info"/>
	
	  <param name="queue_size" type="int" value="10"/>
	
	  <!-- RTAB-Map's parameters: do "rosrun rtabmap rtabmap (double-dash)params" to see the list of available parameters. -->
	  <param name="RGBD/ScanMatchingSize" type="string" value="1"/>           
	  <param name="RGBD/LocalLoopDetectionSpace" type="string" value="true"/>
  
	  <param name="LccIcp/Type" type="string" value="2"/>                    
	  <param name="LccIcp2/Iterations" type="string" value="100"/>
	  <param name="LccIcp2/VoxelSize" type="string" value="0"/>
	 
	  <param name="RGBD/AngularUpdate" type="string" value="0.01"/>             <!-- Update map only if the robot is moving -->
	  <param name="RGBD/LinearUpdate" type="string" value="0.01"/>              <!-- Update map only if the robot is moving -->
	  
	  <param name="Mem/RehearsalSimilarity" type="string" value="0.45"/>
	  <param name="Mem/RehearsedNodesKept" type="string" value="false"/>

	  <param name="Rtabmap/TimeThr" type="string" value="700"/>
    	  <param name="Rtabmap/DetectionRate" type="string" value="1"/>

	  <param name="RGBD/ToroIterations" type="string" value="0"/>
    	  <param name="RGBD/OptimizeFromGraphEnd" type="string" value="false"/>
	 
	  <param name="Kp/TfIdfLikelihoodUsed" type="string" value="true"/>
	  <param name="Kp/DetectorStrategy" type="string" value="0"/>
    	  <param name="Kp/WordsPerImage" type="string" value="200"/>
    	  <param name="Kp/RoiRatios" type="string" value="0.03 0.03 0.04 0.04"/>
    	  <param name="Kp/NNStrategy" type="string" value="1"/>
	  
	  <param name="Bayes/FullPredictionUpdate" type="string" value="false"/>
	  
	  <param name="SURF/HessianThreshold" type="string" value="1000"/>
	  
    	  <param name="LccBow/MaxDepth" type="string" value="4"/>
    	  <param name="LccBow/MinInliers" type="string" value="10"/>
    	  <param name="LccBow/InlierDistance" type="string" value="0.1"/>
      
    	  <param name="LccReextract/Activated" type="string" value="true"/>
    	  <param name="LccReextract/FeatureType" type="string" value="4"/>
	  <param name="LccReextract/MaxWords" type="string" value="400"/>
	  <param name="LccReextract/NNDR" type="string" value="0.8"/>
	  <param name="LccReextract/NNType" type="string" value="3"/>   
    </node>
    <!-- to always have the global map optimized -->
    <node pkg="rtabmap" type="map_optimizer" name="map_optimizer">
   	  <remap from="mapData" to="mapData_notOptimized"/>
	  <remap from="mapData_notOptimized_optimized" to="mapData"/> 
    </node>
{'fraction_non_alphanumeric': 0.17425726412014364, 'fraction_numerical': 0.010855370551746653, 'mean_word_length': 3.5994744744744747, 'pattern_counts': {'":': 0, '<': 209, '<?xml version=': 0, '>': 209, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7309886', 'n_tokens_mistral': 4351, 'n_tokens_neox': 4106, 'n_words': 789}