Skip to content

Instantly share code, notes, and snippets.

@wyattmotion2ai
Last active October 26, 2022 22:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wyattmotion2ai/db62934725a2b9a835f12b3ba6977c7f to your computer and use it in GitHub Desktop.
Save wyattmotion2ai/db62934725a2b9a835f12b3ba6977c7f to your computer and use it in GitHub Desktop.
Multiple physical turtlebot3
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="/turtlebot01/scan"/>
<arg name="initial_pose_x" default="0.0"/>
<arg name="initial_pose_y" default="0.0"/>
<arg name="initial_pose_a" default="0.0"/>
<arg name="odom_frame_id" default="/turtlebot01/odom"/>
<arg name="base_frame_id" default="/turtlebot01/base_footprint"/>
<arg name="global_frame_id" default="map"/>
<group ns = "turtlebot01">
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="$(arg odom_frame_id)"/>
<param name="base_frame_id" value="$(arg base_frame_id)"/>
<param name="global_frame_id" value="$(arg global_frame_id)"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<param name="initial_pose_x" value="$(arg initial_pose_x)"/>
<param name="initial_pose_y" value="$(arg initial_pose_y)"/>
<param name="initial_pose_a" value="$(arg initial_pose_a)"/>
<remap from="scan" to="$(arg scan_topic)"/>
<param name="tf_broadcast" value="true"/>
</node>
</group>
</launch>
<launch>
<arg name="use_map_topic" default="true"/>
<arg name="scan_topic" default="/turtlebot02/scan"/>
<arg name="initial_pose_x" default="2.0"/>
<arg name="initial_pose_y" default="2.0"/>
<arg name="initial_pose_a" default="0.0"/>
<arg name="odom_frame_id" default="/turtlebot02/odom"/>
<arg name="base_frame_id" default="/turtlebot02/base_footprint"/>
<arg name="global_frame_id" default="map"/>
<group ns = "turtlebot02">
<!-- <node pkg="tf" type="static_transform_publisher" name="base_footprint_to_map"
args="0.1 0 0 -1.570796327 0 -1.570796327 /turtlebot02/base_footprint /map 100"/> -->
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz -->
<param name="odom_model_type" value="diff"/>
<param name="odom_alpha5" value="0.1"/>
<param name="gui_publish_rate" value="10.0"/>
<param name="laser_max_beams" value="60"/>
<param name="laser_max_range" value="12.0"/>
<param name="min_particles" value="500"/>
<param name="max_particles" value="2000"/>
<param name="kld_err" value="0.05"/>
<param name="kld_z" value="0.99"/>
<param name="odom_alpha1" value="0.2"/>
<param name="odom_alpha2" value="0.2"/>
<!-- translation std dev, m -->
<param name="odom_alpha3" value="0.2"/>
<param name="odom_alpha4" value="0.2"/>
<param name="laser_z_hit" value="0.5"/>
<param name="laser_z_short" value="0.05"/>
<param name="laser_z_max" value="0.05"/>
<param name="laser_z_rand" value="0.5"/>
<param name="laser_sigma_hit" value="0.2"/>
<param name="laser_lambda_short" value="0.1"/>
<param name="laser_model_type" value="likelihood_field"/>
<!-- <param name="laser_model_type" value="beam"/> -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<param name="update_min_d" value="0.25"/>
<param name="update_min_a" value="0.2"/>
<param name="odom_frame_id" value="$(arg odom_frame_id)"/>
<param name="base_frame_id" value="$(arg base_frame_id)"/>
<param name="global_frame_id" value="$(arg global_frame_id)"/>
<param name="resample_interval" value="1"/>
<!-- Increase tolerance because the computer can get quite busy -->
<param name="transform_tolerance" value="1.0"/>
<param name="recovery_alpha_slow" value="0.0"/>
<param name="recovery_alpha_fast" value="0.0"/>
<param name="initial_pose_x" value="$(arg initial_pose_x)"/>
<param name="initial_pose_y" value="$(arg initial_pose_y)"/>
<param name="initial_pose_a" value="$(arg initial_pose_a)"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</group>
</launch>
<!--
ROS navigation stack with velocity smoother and safety (reactive) controller
-->
<launch>
<!-- <include file="$(find turtlebot3_navigation)/launch/includes/velocity_smoother.launch.xml"/>
<include file="$(find turtlebot3_navigation)/launch/includes/safety_controller.launch.xml"/> -->
<arg name="odom_frame_id" default="turtlebot01/odom"/>
<arg name="base_frame_id" default="turtlebot01/base_footprint"/>
<arg name="global_frame_id" default="map"/>
<arg name="odom_topic" default="/turtlebot01/odom" />
<arg name="laser_topic" default="/turtlebot01/scan" />
<!-- <arg name="custom_param_file" default="$(find turtlebot3_navigation)/param/dummy.yaml"/> -->
<group ns = "turtlebot01">
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
<rosparam file="$(find turtlebot3_navigation)/multi_param/multi_param0/costmap_common_params_waffle_pi.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find turtlebot3_navigation)/multi_param/multi_param0/costmap_common_params_waffle_pi.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find turtlebot3_navigation)/multi_param/multi_param0/local_costmap_params.yaml" command="load" />
<rosparam file="$(find turtlebot3_navigation)/multi_param/multi_param0/global_costmap_params.yaml" command="load" />
<rosparam file="$(find turtlebot3_navigation)/multi_param/multi_param0/dwa_local_planner_params_waffle_pi.yaml" command="load" />
<rosparam file="$(find turtlebot3_navigation)/multi_param/multi_param0/move_base_params.yaml" command="load" />
<!-- <rosparam file="$(find turtlebot3_navigation)/param/global_planner_params.yaml" command="load" /> -->
<!-- <rosparam file="$(find turtlebot3_navigation)/param/navfn_global_planner_params.yaml" command="load" /> -->
<!-- external params file that could be loaded into the move_base namespace -->
<!-- <rosparam file="$(arg custom_param_file)" command="load" /> -->
<!-- reset frame_id parameters using user input data -->
<param name="global_costmap/global_frame" value="$(arg global_frame_id)"/>
<param name="global_costmap/robot_base_frame" value="$(arg base_frame_id)"/>
<param name="local_costmap/global_frame" value="$(arg odom_frame_id)"/>
<param name="local_costmap/robot_base_frame" value="$(arg base_frame_id)"/>
<param name="DWAPlannerROS/global_frame_id" value="$(arg odom_frame_id)"/>
<remap from="cmd_vel" to="/turtlebot01/cmd_vel"/>
<remap from="odom" to="$(arg odom_topic)"/>
<remap from="scan" to="$(arg laser_topic)"/>
<!-- <remap from="map" to="/map" /> -->
<remap from="/move_base_simple/goal" to="/turtlebot01/move_base_simple/goal" />
<remap from="/move_base/TebLocalPlannerROS/global_plan" to="/turtlebot01/move_base/TebLocalPlannerROS/global_plan" />
<remap from="/move_base/TebLocalPlannerROS/local_plan" to="/turtlebot01/move_base/TebLocalPlannerROS/local_plan" />
<remap from="/move_base/TebLocalPlannerROS/teb_markers" to="/turtlebot01/move_base/TebLocalPlannerROS/teb_markers" />
<remap from="/move_base/TebLocalPlannerROS/teb_markers_array" to="/turtlebot01/move_base/TebLocalPlannerROS/teb_markers_array" />
<remap from="/move_base/TebLocalPlannerROS/teb_poses" to="/turtlebot01/move_base/TebLocalPlannerROS/teb_poses" />
<remap from="/move_base/global_costmap/costmap" to="/turtlebot01/move_base/global_costmap/costmap" />
<remap from="/move_base/global_costmap/costmap_updates" to="/turtlebot01/move_base/global_costmap/costmap_updates" />
<remap from="/move_base/local_costmap/costmap" to="/turtlebot01/move_base/local_costmap/costmap" />
<remap from="/move_base/local_costmap/costmap_updates" to="/turtlebot01/move_base/local_costmap/costmap_updates" />
<remap from="/move_base/local_costmap/footprint" to="/turtlebot01/move_base/local_costmap/footprint" />
<remap from="/move_base/GlobalPlanner/parameter_descriptions" to="/turtlebot01/move_base/GlobalPlanner/parameter_descriptions" />
<remap from="/move_base/GlobalPlanner/parameter_updates" to="/turtlebot01/move_base/GlobalPlanner/parameter_updates" />
<remap from="/move_base/GlobalPlanner/plan" to="/turtlebot01/move_base/GlobalPlanner/plan" />
<remap from="/move_base/GlobalPlanner/potential" to="/turtlebot01/move_base/GlobalPlanner/potential" />
<remap from="/move_base/TebLocalPlannerROS/obstacles" to="/turtlebot01/move_base/TebLocalPlannerROS/obstacles" />
<remap from="/move_base/TebLocalPlannerROS/parameter_descriptions" to="/turtlebot01/move_base/TebLocalPlannerROS/parameter_descriptions" />
<remap from="/move_base/TebLocalPlannerROS/parameter_updates" to="/turtlebot01/move_base/TebLocalPlannerROS/parameter_updates" />
<remap from="/move_base/cancel" to="/turtlebot01/move_base/cancel" />
<remap from="/move_base/current_goal" to="/turtlebot01/move_base/current_goal" />
<remap from="/move_base/feedback" to="/turtlebot01/move_base/feedback" />
<remap from="/move_base/global_costmap/footprint" to="/turtlebot01/move_base/global_costmap/footprint" />
<remap from="/move_base/global_costmap/inflation_layer/parameter_descriptions" to="/turtlebot01/move_base/global_costmap/inflation_layer/parameter_descriptions" />
<remap from="/move_base/global_costmap/inflation_layer/parameter_updates" to="/turtlebot01/move_base/global_costmap/inflation_layer/parameter_updates" />
<remap from="/move_base/global_costmap/obstacle_layer/clearing_endpoints" to="/turtlebot01/move_base/global_costmap/obstacle_layer/clearing_endpoints" />
<remap from="/move_base/global_costmap/obstacle_layer/parameter_descriptions" to="/turtlebot01/move_base/global_costmap/obstacle_layer/parameter_descriptions" />
<remap from="/move_base/global_costmap/obstacle_layer/parameter_updates" to="/turtlebot01/move_base/global_costmap/obstacle_layer/parameter_updates" />
<remap from="/move_base/global_costmap/parameter_descriptions" to="/turtlebot01/move_base/global_costmap/parameter_descriptions" />
<remap from="/move_base/global_costmap/parameter_updates" to="/turtlebot01/move_base/global_costmap/parameter_updates" />
<remap from="/move_base/global_costmap/static_layer/parameter_descriptions" to="/turtlebot01/move_base/global_costmap/static_layer/parameter_descriptions" />
<remap from="/move_base/global_costmap/static_layer/parameter_updates" to="/turtlebot01/move_base/global_costmap/static_layer/parameter_updates" />
<remap from="/move_base/goal" to="/turtlebot01/move_base/goal" />
<remap from="/move_base/local_costmap/obstacle_layer/parameter_descriptions" to="/turtlebot01/move_base/local_costmap/obstacle_layer/parameter_descriptions" />
<remap from="/move_base/local_costmap/obstacle_layer/parameter_updates" to="/turtlebot01/move_base/local_costmap/obstacle_layer/parameter_updates" />
<remap from="/move_base/local_costmap/parameter_descriptions" to="/turtlebot01/move_base/local_costmap/parameter_descriptions" />
<remap from="/move_base/local_costmap/parameter_updates" to="/turtlebot01/move_base/local_costmap/parameter_updates" />
<remap from="/move_base/local_costmap/static_layer/parameter_descriptions" to="/turtlebot01/move_base/local_costmap/static_layer/parameter_descriptions" />
<remap from="/move_base/local_costmap/static_layer/parameter_updates" to="/turtlebot01/move_base/local_costmap/static_layer/parameter_updates" />
<remap from="/move_base/parameter_descriptions" to="/turtlebot01/move_base/parameter_descriptions" />
<remap from="/move_base/parameter_updates" to="/turtlebot01/move_base/parameter_updates" />
<remap from="/move_base/result" to="/turtlebot01/move_base/result" />
<remap from="/move_base/status" to="/turtlebot01/move_base/status" />
<remap from="/move_base_simple/goal" to="/turtlebot01/move_base_simple/goal" />
</node>
</group>
</launch>
<!--
ROS navigation stack with velocity smoother and safety (reactive) controller
-->
<launch>
<!-- <include file="$(find turtlebot3_navigation)/launch/includes/velocity_smoother.launch.xml"/>
<include file="$(find turtlebot3_navigation)/launch/includes/safety_controller.launch.xml"/> -->
<arg name="odom_frame_id" default="turtlebot02/odom"/>
<arg name="base_frame_id" default="turtlebot02/base_footprint"/>
<arg name="global_frame_id" default="map"/>
<arg name="odom_topic" default="/turtlebot02/odom" />
<arg name="laser_topic" default="/turtlebot02/scan" />
<!-- <arg name="custom_param_file" default="$(find turtlebot3_navigation)/param/dummy.yaml"/> -->
<group ns = "turtlebot02">
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
<rosparam file="$(find turtlebot3_navigation)/multi_param/multi_param1/costmap_common_params_waffle_pi.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find turtlebot3_navigation)/multi_param/multi_param1/costmap_common_params_waffle_pi.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find turtlebot3_navigation)/multi_param/multi_param1/local_costmap_params.yaml" command="load" />
<rosparam file="$(find turtlebot3_navigation)/multi_param/multi_param1/global_costmap_params.yaml" command="load" />
<rosparam file="$(find turtlebot3_navigation)/multi_param/multi_param1/dwa_local_planner_params_waffle_pi.yaml" command="load" />
<rosparam file="$(find turtlebot3_navigation)/multi_param/multi_param1/move_base_params.yaml" command="load" />
<!-- <rosparam file="$(find turtlebot3_navigation)/param/global_planner_params.yaml" command="load" /> -->
<!-- <rosparam file="$(find turtlebot3_navigation)/param/navfn_global_planner_params.yaml" command="load" /> -->
<!-- external params file that could be loaded into the move_base namespace -->
<!-- <rosparam file="$(arg custom_param_file)" command="load" /> -->
<!-- reset frame_id parameters using user input data -->
<param name="global_costmap/global_frame" value="$(arg global_frame_id)"/>
<param name="global_costmap/robot_base_frame" value="$(arg base_frame_id)"/>
<param name="local_costmap/global_frame" value="$(arg odom_frame_id)"/>
<param name="local_costmap/robot_base_frame" value="$(arg base_frame_id)"/>
<param name="DWAPlannerROS/global_frame_id" value="$(arg odom_frame_id)"/>
<remap from="cmd_vel" to="/turtlebot02/cmd_vel"/>
<remap from="odom" to="$(arg odom_topic)"/>
<remap from="scan" to="$(arg laser_topic)"/>
<!-- <remap from="map" to="/map" /> -->
<remap from="/move_base_simple/goal" to="/turtlebot02/move_base_simple/goal" />
<remap from="/move_base/TebLocalPlannerROS/global_plan" to="/turtlebot02/move_base/TebLocalPlannerROS/global_plan" />
<remap from="/move_base/TebLocalPlannerROS/local_plan" to="/turtlebot02/move_base/TebLocalPlannerROS/local_plan" />
<remap from="/move_base/TebLocalPlannerROS/teb_markers" to="/turtlebot02/move_base/TebLocalPlannerROS/teb_markers" />
<remap from="/move_base/TebLocalPlannerROS/teb_markers_array" to="/turtlebot02/move_base/TebLocalPlannerROS/teb_markers_array" />
<remap from="/move_base/TebLocalPlannerROS/teb_poses" to="/turtlebot02/move_base/TebLocalPlannerROS/teb_poses" />
<remap from="/move_base/global_costmap/costmap" to="/turtlebot02/move_base/global_costmap/costmap" />
<remap from="/move_base/global_costmap/costmap_updates" to="/turtlebot02/move_base/global_costmap/costmap_updates" />
<remap from="/move_base/local_costmap/costmap" to="/turtlebot02/move_base/local_costmap/costmap" />
<remap from="/move_base/local_costmap/costmap_updates" to="/turtlebot02/move_base/local_costmap/costmap_updates" />
<remap from="/move_base/local_costmap/footprint" to="/turtlebot02/move_base/local_costmap/footprint" />
<remap from="/move_base/GlobalPlanner/parameter_descriptions" to="/turtlebot02/move_base/GlobalPlanner/parameter_descriptions" />
<remap from="/move_base/GlobalPlanner/parameter_updates" to="/turtlebot02/move_base/GlobalPlanner/parameter_updates" />
<remap from="/move_base/GlobalPlanner/plan" to="/turtlebot02/move_base/GlobalPlanner/plan" />
<remap from="/move_base/GlobalPlanner/potential" to="/turtlebot02/move_base/GlobalPlanner/potential" />
<remap from="/move_base/TebLocalPlannerROS/obstacles" to="/turtlebot02/move_base/TebLocalPlannerROS/obstacles" />
<remap from="/move_base/TebLocalPlannerROS/parameter_descriptions" to="/turtlebot02/move_base/TebLocalPlannerROS/parameter_descriptions" />
<remap from="/move_base/TebLocalPlannerROS/parameter_updates" to="/turtlebot02/move_base/TebLocalPlannerROS/parameter_updates" />
<remap from="/move_base/cancel" to="/turtlebot02/move_base/cancel" />
<remap from="/move_base/current_goal" to="/turtlebot02/move_base/current_goal" />
<remap from="/move_base/feedback" to="/turtlebot02/move_base/feedback" />
<remap from="/move_base/global_costmap/footprint" to="/turtlebot02/move_base/global_costmap/footprint" />
<remap from="/move_base/global_costmap/inflation_layer/parameter_descriptions" to="/turtlebot02/move_base/global_costmap/inflation_layer/parameter_descriptions" />
<remap from="/move_base/global_costmap/inflation_layer/parameter_updates" to="/turtlebot02/move_base/global_costmap/inflation_layer/parameter_updates" />
<remap from="/move_base/global_costmap/obstacle_layer/clearing_endpoints" to="/turtlebot02/move_base/global_costmap/obstacle_layer/clearing_endpoints" />
<remap from="/move_base/global_costmap/obstacle_layer/parameter_descriptions" to="/turtlebot02/move_base/global_costmap/obstacle_layer/parameter_descriptions" />
<remap from="/move_base/global_costmap/obstacle_layer/parameter_updates" to="/turtlebot02/move_base/global_costmap/obstacle_layer/parameter_updates" />
<remap from="/move_base/global_costmap/parameter_descriptions" to="/turtlebot02/move_base/global_costmap/parameter_descriptions" />
<remap from="/move_base/global_costmap/parameter_updates" to="/turtlebot02/move_base/global_costmap/parameter_updates" />
<remap from="/move_base/global_costmap/static_layer/parameter_descriptions" to="/turtlebot02/move_base/global_costmap/static_layer/parameter_descriptions" />
<remap from="/move_base/global_costmap/static_layer/parameter_updates" to="/turtlebot02/move_base/global_costmap/static_layer/parameter_updates" />
<remap from="/move_base/goal" to="/turtlebot02/move_base/goal" />
<remap from="/move_base/local_costmap/obstacle_layer/parameter_descriptions" to="/turtlebot02/move_base/local_costmap/obstacle_layer/parameter_descriptions" />
<remap from="/move_base/local_costmap/obstacle_layer/parameter_updates" to="/turtlebot02/move_base/local_costmap/obstacle_layer/parameter_updates" />
<remap from="/move_base/local_costmap/parameter_descriptions" to="/turtlebot02/move_base/local_costmap/parameter_descriptions" />
<remap from="/move_base/local_costmap/parameter_updates" to="/turtlebot02/move_base/local_costmap/parameter_updates" />
<remap from="/move_base/local_costmap/static_layer/parameter_descriptions" to="/turtlebot02/move_base/local_costmap/static_layer/parameter_descriptions" />
<remap from="/move_base/local_costmap/static_layer/parameter_updates" to="/turtlebot02/move_base/local_costmap/static_layer/parameter_updates" />
<remap from="/move_base/parameter_descriptions" to="/turtlebot02/move_base/parameter_descriptions" />
<remap from="/move_base/parameter_updates" to="/turtlebot02/move_base/parameter_updates" />
<remap from="/move_base/result" to="/turtlebot02/move_base/result" />
<remap from="/move_base/status" to="/turtlebot02/move_base/status" />
<remap from="/move_base_simple/goal" to="/turtlebot02/move_base_simple/goal" />
</node>
</group>
</launch>
Panels:
- Class: rviz/Displays
Help Height: 78
Name: Displays
Property Tree Widget:
Expanded:
- /TF1/Frames1
- /TF1/Tree1
- /Global Map1/Costmap1
- /Global Map1/Planner1
- /Local Map1/Polygon1
- /Local Map1/Costmap1
- /Local Map1/Planner1
- /Goal1
- /Goal3
Splitter Ratio: 0.5
Tree Height: 804
- Class: rviz/Selection
Name: Selection
- Class: rviz/Tool Properties
Expanded:
- /2D Pose Estimate1
- /2D Nav Goal1
Name: Tool Properties
Splitter Ratio: 0.5886790156364441
- Class: rviz/Views
Expanded:
- /Current View1
Name: Views
Splitter Ratio: 0.5
- Class: rviz/Time
Experimental: false
Name: Time
SyncMode: 0
SyncSource: LaserScan
Preferences:
PromptSaveOnExit: true
Toolbars:
toolButtonStyle: 2
Visualization Manager:
Class: ""
Displays:
- Alpha: 0.5
Cell Size: 1
Class: rviz/Grid
Color: 160; 160; 164
Enabled: true
Line Style:
Line Width: 0.029999999329447746
Value: Lines
Name: Grid
Normal Cell Count: 0
Offset:
X: 0
Y: 0
Z: 0
Plane: XY
Plane Cell Count: 20
Reference Frame: <Fixed Frame>
Value: true
- Class: rviz/TF
Enabled: false
Frame Timeout: 15
Frames:
All Enabled: false
Marker Alpha: 1
Marker Scale: 1
Name: TF
Show Arrows: true
Show Axes: true
Show Names: false
Tree:
{}
Update Interval: 0
Value: false
- Alpha: 1
Autocompute Intensity Bounds: true
Autocompute Value Bounds:
Max Value: 10
Min Value: -10
Value: true
Axis: Z
Channel Name: intensity
Class: rviz/LaserScan
Color: 0; 255; 0
Color Transformer: FlatColor
Decay Time: 0
Enabled: true
Invert Rainbow: false
Max Color: 255; 255; 255
Max Intensity: 13069
Min Color: 0; 0; 0
Min Intensity: 28
Name: LaserScan
Position Transformer: XYZ
Queue Size: 10
Selectable: true
Size (Pixels): 3
Size (m): 0.030000001192092896
Style: Flat Squares
Topic: /turtlebot01/scan
Unreliable: false
Use Fixed Frame: true
Use rainbow: true
Value: true
- Class: rviz/Image
Enabled: false
Image Topic: /raspicam_node/image
Max Value: 1
Median window: 5
Min Value: 0
Name: Image
Normalize Range: true
Queue Size: 2
Transport Hint: compressed
Unreliable: false
Value: false
- Alpha: 0.699999988079071
Class: rviz/Map
Color Scheme: map
Draw Behind: false
Enabled: true
Name: Map
Topic: map
Unreliable: false
Use Timestamp: false
Value: true
- Alpha: 1
Buffer Length: 1
Class: rviz/Path
Color: 0; 0; 0
Enabled: true
Head Diameter: 0.30000001192092896
Head Length: 0.20000000298023224
Length: 0.30000001192092896
Line Style: Lines
Line Width: 0.029999999329447746
Name: Planner Plan
Offset:
X: 0
Y: 0
Z: 0
Pose Color: 255; 85; 255
Pose Style: None
Queue Size: 10
Radius: 0.029999999329447746
Shaft Diameter: 0.10000000149011612
Shaft Length: 0.10000000149011612
Topic: /turtlebot01/move_base/NavfnROS/plan
Unreliable: false
Value: true
- Class: rviz/Group
Displays:
- Alpha: 0.699999988079071
Class: rviz/Map
Color Scheme: costmap
Draw Behind: true
Enabled: true
Name: Costmap
Topic: /turtlebot01/move_base/global_costmap/costmap
Unreliable: false
Use Timestamp: false
Value: true
- Alpha: 1
Buffer Length: 1
Class: rviz/Path
Color: 255; 0; 0
Enabled: true
Head Diameter: 0.30000001192092896
Head Length: 0.20000000298023224
Length: 0.30000001192092896
Line Style: Lines
Line Width: 0.029999999329447746
Name: Planner
Offset:
X: 0
Y: 0
Z: 0
Pose Color: 255; 85; 255
Pose Style: None
Queue Size: 10
Radius: 0.029999999329447746
Shaft Diameter: 0.10000000149011612
Shaft Length: 0.10000000149011612
Topic: /turtlebot01/move_base/DWAPlannerROS/global_plan
Unreliable: false
Value: true
Enabled: true
Name: Global Map
- Class: rviz/Group
Displays:
- Alpha: 1
Class: rviz/Polygon
Color: 0; 0; 0
Enabled: true
Name: Polygon
Queue Size: 10
Topic: /turtlebot01/move_base/local_costmap/footprint
Unreliable: false
Value: true
- Alpha: 0.699999988079071
Class: rviz/Map
Color Scheme: costmap
Draw Behind: false
Enabled: true
Name: Costmap
Topic: /turtlebot01/move_base/local_costmap/costmap
Unreliable: false
Use Timestamp: false
Value: true
- Alpha: 1
Buffer Length: 1
Class: rviz/Path
Color: 255; 255; 0
Enabled: true
Head Diameter: 0.30000001192092896
Head Length: 0.20000000298023224
Length: 0.30000001192092896
Line Style: Lines
Line Width: 0.029999999329447746
Name: Planner
Offset:
X: 0
Y: 0
Z: 0
Pose Color: 255; 85; 255
Pose Style: None
Queue Size: 10
Radius: 0.029999999329447746
Shaft Diameter: 0.10000000149011612
Shaft Length: 0.10000000149011612
Topic: /turtlebot01/move_base/DWAPlannerROS/local_plan
Unreliable: false
Value: true
Enabled: false
Name: Local Map
- Alpha: 1
Arrow Length: 0.05000000074505806
Axes Length: 0.30000001192092896
Axes Radius: 0.009999999776482582
Class: rviz/PoseArray
Color: 0; 192; 0
Enabled: false
Head Length: 0.07000000029802322
Head Radius: 0.029999999329447746
Name: Amcl Particles
Queue Size: 10
Shaft Length: 0.23000000417232513
Shaft Radius: 0.009999999776482582
Shape: Arrow (Flat)
Topic: /turtlebot01/particlecloud
Unreliable: false
Value: false
- Alpha: 1
Axes Length: 1
Axes Radius: 0.10000000149011612
Class: rviz/Pose
Color: 255; 25; 0
Enabled: true
Head Length: 0.30000001192092896
Head Radius: 0.10000000149011612
Name: Goal
Queue Size: 10
Shaft Length: 0.5
Shaft Radius: 0.05000000074505806
Shape: Arrow
Topic: /turtlebot01/move_base/current_goal
Unreliable: false
Value: true
- Alpha: 1
Class: rviz/RobotModel
Collision Enabled: false
Enabled: true
Name: RobotModel
Robot Description: turtlebot01/robot_description
TF Prefix: turtlebot01
Update Interval: 0
Value: true
Visual Enabled: true
Links:
All Links Enabled: true
Expand Joint Details: false
Expand Link Details: false
Expand Tree: false
Link Tree Style: Links in Alphabetic Order
/turtlebot01/base_footprint:
Alpha: 1
Show Axes: false
Show Trail: false
/turtlebot01/base_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
/turtlebot01/base_scan:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
/turtlebot01/caster_back_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
/turtlebot01/imu_link:
Alpha: 1
Show Axes: false
Show Trail: false
/turtlebot01/wheel_left_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
/turtlebot01/wheel_right_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
- Alpha: 1
Buffer Length: 1
Class: rviz/Path
Color: 0; 0; 0
Enabled: true
Head Diameter: 0.30000001192092896
Head Length: 0.20000000298023224
Length: 0.30000001192092896
Line Style: Lines
Line Width: 0.029999999329447746
Name: Planner Plan
Offset:
X: 0
Y: 0
Z: 0
Pose Color: 255; 85; 255
Pose Style: None
Queue Size: 10
Radius: 0.029999999329447746
Shaft Diameter: 0.10000000149011612
Shaft Length: 0.10000000149011612
Topic: /turtlebot02/move_base/NavfnROS/plan
Unreliable: false
Value: true
- Alpha: 1
Arrow Length: 0.05000000074505806
Axes Length: 0.30000001192092896
Axes Radius: 0.009999999776482582
Class: rviz/PoseArray
Color: 255; 0; 0
Enabled: false
Head Length: 0.07000000029802322
Head Radius: 0.029999999329447746
Name: Amcl Particles
Queue Size: 10
Shaft Length: 0.23000000417232513
Shaft Radius: 0.009999999776482582
Shape: Arrow (Flat)
Topic: /turtlebot02/particlecloud
Unreliable: false
Value: false
- Alpha: 1
Axes Length: 1
Axes Radius: 0.10000000149011612
Class: rviz/Pose
Color: 0; 85; 255
Enabled: true
Head Length: 0.30000001192092896
Head Radius: 0.10000000149011612
Name: Goal
Queue Size: 10
Shaft Length: 0.5
Shaft Radius: 0.05000000074505806
Shape: Arrow
Topic: /turtlebot02/move_base/current_goal
Unreliable: false
Value: true
- Alpha: 1
Class: rviz/RobotModel
Collision Enabled: false
Enabled: true
Name: RobotModel
Robot Description: turtlebot02/robot_description
TF Prefix: turtlebot02
Update Interval: 0
Value: true
Visual Enabled: true
Links:
All Links Enabled: true
Expand Joint Details: false
Expand Link Details: false
Expand Tree: false
Link Tree Style: Links in Alphabetic Order
/turtlebot02/base_footprint:
Alpha: 1
Show Axes: false
Show Trail: false
/turtlebot02/base_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
/turtlebot02/base_scan:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
/turtlebot02/caster_back_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
/turtlebot02/imu_link:
Alpha: 1
Show Axes: false
Show Trail: false
/turtlebot02/wheel_left_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
/turtlebot02/wheel_right_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
Enabled: true
Global Options:
Background Color: 48; 48; 48
Default Light: true
Fixed Frame: map
Frame Rate: 30
Name: root
Tools:
- Class: rviz/MoveCamera
- Class: rviz/Interact
Hide Inactive Objects: true
- Class: rviz/Select
- Class: rviz/SetInitialPose
Theta std deviation: 0.2617993950843811
Topic: /turtlebot01/initialpose
X std deviation: 0.5
Y std deviation: 0.5
- Class: rviz/SetInitialPose
Theta std deviation: 0.2617993950843811
Topic: /turtlebot02/initialpose
X std deviation: 0.5
Y std deviation: 0.5
- Class: rviz/SetGoal
Topic: /move_base_simple/goal
- Class: rviz/Measure
Value: true
Views:
Current:
Angle: -1.5707963705062866
Class: rviz/TopDownOrtho
Enable Stereo Rendering:
Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1
Swap Stereo Eyes: false
Value: false
Invert Z Axis: false
Name: Current View
Near Clip Distance: 0.009999999776482582
Scale: 100
Target Frame: <Fixed Frame>
X: 0
Y: 0
Saved: ~
Window Geometry:
Displays:
collapsed: false
Height: 1027
Hide Left Dock: false
Hide Right Dock: true
Image:
collapsed: false
QMainWindow State: 000000ff00000000fd00000004000000000000016a000003adfc0200000007fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed0000021700000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b000003ad000000c700fffffffb0000000a0049006d0061006700650000000317000000cc0000001600fffffffb0000000a0049006d0061006700650000000330000000ce0000000000000000000000010000010f000003a0fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730000000043000003a0000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004a00000003efc0100000002fb0000000800540069006d00650000000000000004a00000024400fffffffb0000000800540069006d006501000000000000045000000000000000000000038f000003ad00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Time:
collapsed: false
Tool Properties:
collapsed: false
Views:
collapsed: true
Width: 1279
X: 72
Y: 562
<launch>
<!-- Run the map server -->
<node name="map_server" pkg="map_server" type="map_server" args="path_to_map/maps/map.yaml" >
<param name="frame_id" value="map" />
</node>
<!-- Properties of each robot -->
<!-- AMCL -->
<include file="$(find turtlebot3_navigation)/launch/move_base_1.launch" />
<include file="$(find turtlebot3_navigation)/launch/move_base_2.launch" />
<include file="$(find turtlebot3_navigation)/launch/amcl_robot1.launch" />
<include file="$(find turtlebot3_navigation)/launch/amcl_robot2.launch" />
<!-- MOVE_BASE-->
<!-- Launching Rviz -->
<node pkg="rviz" type="rviz" name="rviz" required="true"
args="-d $(find turtlebot3_navigation)/rviz/multi_navigation_new.rviz"/>
</launch>
<launch>
<arg name="tf_prefix"/>
<arg name="init_pose"/>
<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher">
<param name="publish_frequency" type="double" value="50.0" />
<param name="tf_prefix" value="$(arg tf_prefix)"/>
</node>
</launch>
obstacle_range: 3.0
raytrace_range: 3.5
footprint: [[-0.205, -0.155], [-0.205, 0.155], [0.077, 0.155], [0.077, -0.155]]
#robot_radius: 0.17
inflation_radius: 1.0
cost_scaling_factor: 3.0
map_type: costmap
observation_sources: scan
scan: {sensor_frame: turtlebot01/base_scan, data_type: LaserScan, topic: /turtlebot01/scan, marking: true, clearing: true}
global_costmap:
global_frame: map
robot_base_frame: turtlebot01/base_footprint
update_frequency: 10.0
publish_frequency: 10.0
transform_tolerance: 0.5
static_map: true
width: 50
height: 50
resolution: 0.075
rolling_window: false
track_unknown_space: true
footprint: [[-0.205, -0.155], [-0.205,0.155], [0.077, 0.155], [0.077, -0.155]]
plugins:
- {name: static, type: "costmap_2d::StaticLayer"}
- {name: multibot_layer, type: "multibot_layer_namespace::MultibotLayer"}
- {name: sensor, type: "costmap_2d::ObstacleLayer"}
- {name: inflation, type: "costmap_2d::InflationLayer"}
static:
map_topic: map
subscribe_to_updates: true
sensor:
observation_sources: laser
laser: {sensor_frame: turtlebot01/base_scan, data_type: LaserScan, topic: /turtlebot01/scan, marking: true, clearing: true, obstacle_range: 2.0, raytrace_range: 5.0}
inflation:
inflation_radius: 1
cost_scaling_factor: 8
local_costmap:
footprint: [[-0.205, -0.155], [-0.205,0.155], [0.077, 0.155], [0.077, -0.155]]
global_frame: map # turtlebot01/odom
robot_base_frame: turtlebot01/base_footprint
static_map: false
rolling_window: true
update_frequency: 10.0
publish_frequency: 10.0
transform_tolerance: 0.5
static_map: false
rolling_window: true
width: 3
height: 3
resolution: 0.05
plugins:
# - {name: simplelayer, type: "multibot_layer_namespace::MultibotLayer"}
# - {name: gridlayer, type: "multibot_layer_namespace::GridLayer"}
- {name: multibot_layerer, type: "multibot_layer_namespace::MultibotLayer"}
- {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"}
- {name: inflation, type: "costmap_2d::InflationLayer"}
obstacle_layer:
observation_sources: laser
laser: {data_type: LaserScan, sensor_frame: turtlebot01/base_scan, topic: /turtlebot01/scan, marking: true, clearing: true, obstacle_range: 2.0, raytrace_range: 5.0}
inflation:
inflation_radius: 0.75
cost_scaling_factor: 4 # larger number = lower cost elevation
<launch>
<arg name="model" default="waffle_pi"/>
<!-- No namespace here as we will share this description.
Access with slash at the beginning -->
<include file="$(find turtlebot3_bringup)/launch/includes/description.launch.xml">
<arg name="model" value="$(arg model)" />
</include>
<!-- BEGIN ROBOT 1-->
<group ns="turtlebot01">
<param name="tf_prefix" value="turtlebot01" />
<include file="$(find turtlebot3_navigation)/launch/one_robot.launch" >
<arg name="init_pose" value="-x 3 -y 1 -z 0" />
<arg name="tf_prefix" value="turtlebot01" />
</include>
</group>
<!-- BEGIN ROBOT 2-->
<group ns="turtlebot02">
<param name="tf_prefix" value="turtlebot02" />
<include file="$(find turtlebot3_navigation)/launch/one_robot.launch" >
<arg name="init_pose" value="-x -4 -y 1 -z 0" />
<arg name="tf_prefix" value="turtlebot02" />
</include>
</group>
<include file="$(find turtlebot3_navigation)/launch/navigation.launch"/>
</launch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment