Skip to content

Example launch file #27

@oscar-lima

Description

@oscar-lima

You can use this as an example launch file for your projects, it has a bit of most common features used in launch file programming/design:

<?xml version="1.0"?>
<launch>

    <!-- load values from shell environment variables (check your bashrc and make sure both ROBOT and ROBOT_ENV are set) -->
    <arg name="robot" default="$(optenv ROBOT !!ROBOT env NOT SET!!)" />
    <arg name="robot_env" default="$(optenv ROBOT_ENV !!ROBOT_ENV env NOT SET!!)" />

    <!-- common navigation launch files -->
    <include file="$(find mbot_2dnav)/ros/launch/nav_common.launch">
        <arg name="robot_env" value="$(arg robot_env)" />
    </include>

    <node pkg="move_base" type="move_base" respawn="true" name="move_base" output="screen">
        <param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS" />
        <rosparam file="$(find mbot_2dnav)/ros/config/dwa/move_base_params.yaml" command="load" />
        <rosparam file="$(find mbot_bringup)/ros/config/$(arg robot)/robot_footprint.yaml" command="load"/>
        
        <rosparam file="$(find mbot_2dnav)/ros/config/dwa/costmap_common_params.yaml" command="load" ns="global_costmap"/>
        <rosparam file="$(find mbot_bringup)/ros/config/$(arg robot)/robot_footprint.yaml" command="load" ns="global_costmap"/>
        <rosparam file="$(find mbot_2dnav)/ros/config/dwa/global_costmap_params.yaml" command="load" />
        
        <rosparam file="$(find mbot_2dnav)/ros/config/dwa/costmap_common_params.yaml" command="load" ns="local_costmap" />
        <rosparam file="$(find mbot_bringup)/ros/config/$(arg robot)/robot_footprint.yaml" command="load" ns="local_costmap"/>
        <rosparam file="$(find mbot_2dnav)/ros/config/dwa/local_costmap_params.yaml" command="load" />    

        <rosparam file="$(find mbot_2dnav)/ros/config/dwa/dwa_local_planner_params.yaml" command="load" ns="DWAPlannerROS" />
        
        <!-- Upload recovery behavior parameters-->    
        <rosparam file="$(find mbot_2dnav)/ros/config/recovery_behaviors/force_field_parameters.yaml" command="load" ns="force_field_recovery"/>    
        <rosparam file="$(find mbot_2dnav)/ros/config/recovery_behaviors/clear_costmap_parameters.yaml" command="load" ns="clear_costmap_recovery"/>    

        <!-- Remap cmd_vel to a medium priority to allow joypad override control + publish constantly for some small amount of time -->
        <remap from="cmd_vel" to="/cmd_vel_constant"/>
        <remap from="~force_field_recovery/cmd_vel" to="/cmd_vel_prio_medium"/>
    </node>

</launch>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions