<commit_before><?xml version="1.0"?>
<launch>
    <arg name="machine" default="localhost"/>
    <arg name="user" default=""/>

    <arg name="with_chest_xtion" default="true"/>
    <arg name="chest_xtion_name" default="chest_xtion"/>
    <arg name="chest_xtion_machine" default="localhost"/>
    <arg name="chest_xtion_user" default=""/>
    <arg name="with_head_xtion" default="false"/>

    <arg name="map"/>
    <arg name="with_no_go_map" default="false"/>
    <arg name="with_mux" default="false"/>
    <arg name="no_go_map"/>

    <arg name="z_stair_threshold" default="0.12"/>
    <arg name="z_obstacle_threshold" default="0.15"/>

    <!-- This can be pointed to a yaml file of parameters to load in the
         movebase node so that each site can set the optimal parameters for
         their environment, since there doesn't seem to be one true parameterset.
    -->
    <arg name="with_site_movebase_params" default="false"/>
    <arg name="site_movebase_params" default=""/>

    <arg name="laser_angle_cutoff" default="10.0"/>
    <arg name="subsample_resolution" default="0.05"/>
    <arg name="subsample_min_points" default="5"/>
    <arg name="subsample_skip_points" default="20"/>

    <!-- NOW when launching in a remote mode it will need the ROS_ENV_LOADER set if not it will leave it empty -->
    <machine name="$(arg machine)" address="$(arg machine)" env-loader="$(optenv ROS_ENV_LOADER )" user="$(arg user)" default="true"/>

    <!-- lanch map server -->
    <node name="map_server" pkg="map_server" type="map_server" args="$(arg map)"/>

    <!-- lanch no-go map server -->
    <node name="no_go_map_server" pkg="map_server" type="map_server" args="$(arg no_go_map)" if="$(arg with_no_go_map)">
        <remap from="/map" to="/no_go_map"/>
    </node>
    <node name="no_go_map_server" pkg="map_server" type="map_server" args="$(arg map)" unless="$(arg with_no_go_map)">
        <remap from="/map" to="/no_go_map"/>
    </node>

    <!-- launch AMCL -->
    <include file="$(find scitos_2d_navigation)/launch/amcl.launch">
        <arg name="machine" value="$(arg machine)"/>
        <arg name="user" value="$(arg user)"/>
    </include>

    <!-- launch state publisher for valid chest_xtion transforms -->
    <include file="$(find strands_description)/launch/strands_state_publisher.launch" if="$(arg with_chest_xtion)"/>

    <!-- This is the default scitos move_base which is launched when there is no extra chest_xtion. -->
    <include file="$(find scitos_2d_navigation)/launch/move_base.launch" unless="$(arg with_chest_xtion)">
        <arg name="machine" value="$(arg machine)"/>
        <arg name="user" value="$(arg user)"/>
        <arg name="with_mux" value="$(arg with_mux)"/>
    </include>
    <!-- But when there is a chest_xtion, we first need to launch all the chest_xtion obstacle-avoiding
         stuff on the pc the chest_xtion is connected to, as well as our own move_base. -->
    <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen" clear_params="true" if="$(arg with_chest_xtion)">
        <!-- default:20.0. with this value dwa planner fails to find a valid plan a lot more -->
        <remap from="/move_base/local_costmap/voxel_grid" to="/voxel_grid"/>
        <remap from="/cmd_vel" to="/cmd_vel_mux/input/navigation" if="$(arg with_mux)"/>
        <rosparam file="$(find strands_movebase)/strands_movebase_params/move_base_params.yaml" command="load"/>
        <rosparam file="$(find strands_movebase)/strands_movebase_params/costmap_common_params.yaml" command="load" ns="global_costmap"/>
        <rosparam file="$(find strands_movebase)/strands_movebase_params/costmap_common_params.yaml" command="load" ns="local_costmap"/>
        <rosparam file="$(find strands_movebase)/strands_movebase_params/local_costmap_params.yaml" command="load"/>
        <rosparam file="$(find strands_movebase)/strands_movebase_params/global_costmap_params.yaml" command="load"/>
        <rosparam file="$(find strands_movebase)/strands_movebase_params/dwa_planner_ros.yaml" command="load"/>
	<rosparam file="$(find strands_movebase)/strands_move_base_params/nav_fn_ros.yaml" command="load" />
        <param name="local_costmap/obstacle_layer/point_cloud_sensor/min_obstacle_height" value="$(arg z_obstacle_threshold)"/>
        <param name="global_costmap/obstacle_layer/point_cloud_sensor/min_obstacle_height" value="$(arg z_obstacle_threshold)"/>
        <rosparam param="local_costmap/obstacle_layer/observation_sources" if="$(arg with_head_xtion)">laser_obstacle laser_clearing point_cloud_sensor clear_sensor cliff_sensor head_cloud_sensor head_clear_sensor</rosparam>
        <param name="local_costmap/obstacle_layer/publish_voxel_map" value="true"/>
        <param name="local_costmap/obstacle_layer/z_voxels" value="9" if="$(arg with_head_xtion)"/>
        <param name="local_costmap/obstacle_layer/unknown_threshold" value="9" if="$(arg with_head_xtion)"/>
        <!-- THIS SHOULD STAY LAST, so that sites can override anything. -->
        <rosparam file="$(arg site_movebase_params)" command="load" if="$(arg with_site_movebase_params)"/>
    </node>
    <!-- NOTE: This changes the machine of ALL nodes coming after this to `chest_xtion_machine`!.
         That means beware when you do anything below this! -->
    <include file="$(find strands_movebase)/launch/obstacles.launch" if="$(arg with_chest_xtion)">
        <arg name="chest_xtion_name" value="$(arg chest_xtion_name)"/>
        <arg name="machine" value="$(arg chest_xtion_machine)"/>
        <arg name="user" value="$(arg chest_xtion_user)"/>

        <arg name="z_stair_threshold" value="$(arg z_stair_threshold)"/>
        <arg name="with_head_xtion" value="$(arg with_head_xtion)"/>
        <arg name="laser_angle_cutoff" value="$(arg laser_angle_cutoff)"/>
        <arg name="resolution" value="$(arg subsample_resolution)"/>
        <arg name="min_points" value="$(arg subsample_min_points)"/>
        <arg name="skip_points" value="$(arg subsample_skip_points)"/>
    </include>
    
    <!-- Node providing costmap snapshot service -->
    <node pkg="movebase_state_service" type="movebase_state_service" name="movebase_state_service" output="screen"/>
</launch>
<commit_msg>really correcting import<commit_after><?xml version="1.0"?>
<launch>
    <arg name="machine" default="localhost"/>
    <arg name="user" default=""/>

    <arg name="with_chest_xtion" default="true"/>
    <arg name="chest_xtion_name" default="chest_xtion"/>
    <arg name="chest_xtion_machine" default="localhost"/>
    <arg name="chest_xtion_user" default=""/>
    <arg name="with_head_xtion" default="false"/>

    <arg name="map"/>
    <arg name="with_no_go_map" default="false"/>
    <arg name="with_mux" default="false"/>
    <arg name="no_go_map"/>

    <arg name="z_stair_threshold" default="0.12"/>
    <arg name="z_obstacle_threshold" default="0.15"/>

    <!-- This can be pointed to a yaml file of parameters to load in the
         movebase node so that each site can set the optimal parameters for
         their environment, since there doesn't seem to be one true parameterset.
    -->
    <arg name="with_site_movebase_params" default="false"/>
    <arg name="site_movebase_params" default=""/>

    <arg name="laser_angle_cutoff" default="10.0"/>
    <arg name="subsample_resolution" default="0.05"/>
    <arg name="subsample_min_points" default="5"/>
    <arg name="subsample_skip_points" default="20"/>

    <!-- NOW when launching in a remote mode it will need the ROS_ENV_LOADER set if not it will leave it empty -->
    <machine name="$(arg machine)" address="$(arg machine)" env-loader="$(optenv ROS_ENV_LOADER )" user="$(arg user)" default="true"/>

    <!-- lanch map server -->
    <node name="map_server" pkg="map_server" type="map_server" args="$(arg map)"/>

    <!-- lanch no-go map server -->
    <node name="no_go_map_server" pkg="map_server" type="map_server" args="$(arg no_go_map)" if="$(arg with_no_go_map)">
        <remap from="/map" to="/no_go_map"/>
    </node>
    <node name="no_go_map_server" pkg="map_server" type="map_server" args="$(arg map)" unless="$(arg with_no_go_map)">
        <remap from="/map" to="/no_go_map"/>
    </node>

    <!-- launch AMCL -->
    <include file="$(find scitos_2d_navigation)/launch/amcl.launch">
        <arg name="machine" value="$(arg machine)"/>
        <arg name="user" value="$(arg user)"/>
    </include>

    <!-- launch state publisher for valid chest_xtion transforms -->
    <include file="$(find strands_description)/launch/strands_state_publisher.launch" if="$(arg with_chest_xtion)"/>

    <!-- This is the default scitos move_base which is launched when there is no extra chest_xtion. -->
    <include file="$(find scitos_2d_navigation)/launch/move_base.launch" unless="$(arg with_chest_xtion)">
        <arg name="machine" value="$(arg machine)"/>
        <arg name="user" value="$(arg user)"/>
        <arg name="with_mux" value="$(arg with_mux)"/>
    </include>
    <!-- But when there is a chest_xtion, we first need to launch all the chest_xtion obstacle-avoiding
         stuff on the pc the chest_xtion is connected to, as well as our own move_base. -->
    <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen" clear_params="true" if="$(arg with_chest_xtion)">
        <!-- default:20.0. with this value dwa planner fails to find a valid plan a lot more -->
        <remap from="/move_base/local_costmap/voxel_grid" to="/voxel_grid"/>
        <remap from="/cmd_vel" to="/cmd_vel_mux/input/navigation" if="$(arg with_mux)"/>
        <rosparam file="$(find strands_movebase)/strands_movebase_params/move_base_params.yaml" command="load"/>
        <rosparam file="$(find strands_movebase)/strands_movebase_params/costmap_common_params.yaml" command="load" ns="global_costmap"/>
        <rosparam file="$(find strands_movebase)/strands_movebase_params/costmap_common_params.yaml" command="load" ns="local_costmap"/>
        <rosparam file="$(find strands_movebase)/strands_movebase_params/local_costmap_params.yaml" command="load"/>
        <rosparam file="$(find strands_movebase)/strands_movebase_params/global_costmap_params.yaml" command="load"/>
        <rosparam file="$(find strands_movebase)/strands_movebase_params/dwa_planner_ros.yaml" command="load"/>
	<rosparam file="$(find strands_movebase)/strands_movebase_params/nav_fn_ros.yaml" command="load" />
        <param name="local_costmap/obstacle_layer/point_cloud_sensor/min_obstacle_height" value="$(arg z_obstacle_threshold)"/>
        <param name="global_costmap/obstacle_layer/point_cloud_sensor/min_obstacle_height" value="$(arg z_obstacle_threshold)"/>
        <rosparam param="local_costmap/obstacle_layer/observation_sources" if="$(arg with_head_xtion)">laser_obstacle laser_clearing point_cloud_sensor clear_sensor cliff_sensor head_cloud_sensor head_clear_sensor</rosparam>
        <param name="local_costmap/obstacle_layer/publish_voxel_map" value="true"/>
        <param name="local_costmap/obstacle_layer/z_voxels" value="9" if="$(arg with_head_xtion)"/>
        <param name="local_costmap/obstacle_layer/unknown_threshold" value="9" if="$(arg with_head_xtion)"/>
        <!-- THIS SHOULD STAY LAST, so that sites can override anything. -->
        <rosparam file="$(arg site_movebase_params)" command="load" if="$(arg with_site_movebase_params)"/>
    </node>
    <!-- NOTE: This changes the machine of ALL nodes coming after this to `chest_xtion_machine`!.
         That means beware when you do anything below this! -->
    <include file="$(find strands_movebase)/launch/obstacles.launch" if="$(arg with_chest_xtion)">
        <arg name="chest_xtion_name" value="$(arg chest_xtion_name)"/>
        <arg name="machine" value="$(arg chest_xtion_machine)"/>
        <arg name="user" value="$(arg chest_xtion_user)"/>

        <arg name="z_stair_threshold" value="$(arg z_stair_threshold)"/>
        <arg name="with_head_xtion" value="$(arg with_head_xtion)"/>
        <arg name="laser_angle_cutoff" value="$(arg laser_angle_cutoff)"/>
        <arg name="resolution" value="$(arg subsample_resolution)"/>
        <arg name="min_points" value="$(arg subsample_min_points)"/>
        <arg name="skip_points" value="$(arg subsample_skip_points)"/>
    </include>
    
    <!-- Node providing costmap snapshot service -->
    <node pkg="movebase_state_service" type="movebase_state_service" name="movebase_state_service" output="screen"/>
</launch>

{'fraction_non_alphanumeric': 0.15185007208073042, 'fraction_numerical': 0.0038443056222969728, 'mean_word_length': 4.431491953023054, 'pattern_counts': {'":': 0, '<': 169, '<?xml version=': 2, '>': 169, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, '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': '3939931', 'n_tokens_mistral': 4102, 'n_tokens_neox': 3877, 'n_words': 874}