Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
R
robot_loc
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Emil Harlan
robot_loc
Commits
159ab1d0
Commit
159ab1d0
authored
1 year ago
by
Emil Harlan
Browse files
Options
Downloads
Patches
Plain Diff
a
parent
857b9292
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
config/nav2_params.yaml
+289
-0
289 additions, 0 deletions
config/nav2_params.yaml
launch/navigation_launch.py
+145
-0
145 additions, 0 deletions
launch/navigation_launch.py
with
434 additions
and
0 deletions
config/nav2_params.yaml
0 → 100644
+
289
−
0
View file @
159ab1d0
amcl
:
ros__parameters
:
use_sim_time
:
True
alpha1
:
0.2
alpha2
:
0.2
alpha3
:
0.2
alpha4
:
0.2
alpha5
:
0.2
base_frame_id
:
"
base_footprint"
beam_skip_distance
:
0.5
beam_skip_error_threshold
:
0.9
beam_skip_threshold
:
0.3
do_beamskip
:
false
global_frame_id
:
"
map"
lambda_short
:
0.1
laser_likelihood_max_dist
:
2.0
laser_max_range
:
100.0
laser_min_range
:
-1.0
laser_model_type
:
"
likelihood_field"
max_beams
:
60
max_particles
:
2000
min_particles
:
500
odom_frame_id
:
"
odom"
pf_err
:
0.05
pf_z
:
0.99
recovery_alpha_fast
:
0.0
recovery_alpha_slow
:
0.0
resample_interval
:
1
robot_model_type
:
"
Differential"
save_pose_rate
:
0.5
sigma_hit
:
0.2
tf_broadcast
:
true
transform_tolerance
:
1.0
update_min_a
:
0.2
update_min_d
:
0.25
z_hit
:
0.5
z_max
:
0.05
z_rand
:
0.5
z_short
:
0.05
scan_topic
:
scan
amcl_map_client
:
ros__parameters
:
use_sim_time
:
True
amcl_rclcpp_node
:
ros__parameters
:
use_sim_time
:
True
bt_navigator
:
ros__parameters
:
use_sim_time
:
True
global_frame
:
map
robot_base_frame
:
base_link
odom_topic
:
/odom
enable_groot_monitoring
:
True
groot_zmq_publisher_port
:
1666
groot_zmq_server_port
:
1667
default_bt_xml_filename
:
"
navigate_w_replanning_and_recovery.xml"
plugin_lib_names
:
-
nav2_compute_path_to_pose_action_bt_node
-
nav2_follow_path_action_bt_node
-
nav2_back_up_action_bt_node
-
nav2_spin_action_bt_node
-
nav2_wait_action_bt_node
-
nav2_clear_costmap_service_bt_node
-
nav2_is_stuck_condition_bt_node
-
nav2_goal_reached_condition_bt_node
-
nav2_goal_updated_condition_bt_node
-
nav2_initial_pose_received_condition_bt_node
-
nav2_reinitialize_global_localization_service_bt_node
-
nav2_rate_controller_bt_node
-
nav2_distance_controller_bt_node
-
nav2_speed_controller_bt_node
-
nav2_truncate_path_action_bt_node
-
nav2_goal_updater_node_bt_node
-
nav2_recovery_node_bt_node
-
nav2_pipeline_sequence_bt_node
-
nav2_round_robin_node_bt_node
-
nav2_transform_available_condition_bt_node
-
nav2_time_expired_condition_bt_node
-
nav2_distance_traveled_condition_bt_node
bt_navigator_rclcpp_node
:
ros__parameters
:
use_sim_time
:
True
controller_server
:
ros__parameters
:
use_sim_time
:
True
controller_frequency
:
20.0
min_x_velocity_threshold
:
0.001
min_y_velocity_threshold
:
0.5
min_theta_velocity_threshold
:
0.001
progress_checker_plugin
:
"
progress_checker"
goal_checker_plugin
:
"
goal_checker"
controller_plugins
:
[
"
FollowPath"
]
# Progress checker parameters
progress_checker
:
plugin
:
"
nav2_controller::SimpleProgressChecker"
required_movement_radius
:
0.5
movement_time_allowance
:
10.0
# Goal checker parameters
goal_checker
:
plugin
:
"
nav2_controller::SimpleGoalChecker"
xy_goal_tolerance
:
0.25
yaw_goal_tolerance
:
0.25
stateful
:
True
# DWB parameters
FollowPath
:
plugin
:
"
dwb_core::DWBLocalPlanner"
debug_trajectory_details
:
True
min_vel_x
:
0.0
min_vel_y
:
0.0
max_vel_x
:
0.26
max_vel_y
:
0.0
max_vel_theta
:
1.0
min_speed_xy
:
0.0
max_speed_xy
:
0.26
min_speed_theta
:
0.0
# Add high threshold velocity for turtlebot 3 issue.
# https://github.com/ROBOTIS-GIT/turtlebot3_simulations/issues/75
acc_lim_x
:
2.5
acc_lim_y
:
0.0
acc_lim_theta
:
3.2
decel_lim_x
:
-2.5
decel_lim_y
:
0.0
decel_lim_theta
:
-3.2
vx_samples
:
20
vy_samples
:
5
vtheta_samples
:
20
sim_time
:
1.7
linear_granularity
:
0.05
angular_granularity
:
0.025
transform_tolerance
:
0.2
xy_goal_tolerance
:
0.25
trans_stopped_velocity
:
0.25
short_circuit_trajectory_evaluation
:
True
stateful
:
True
critics
:
[
"
RotateToGoal"
,
"
Oscillation"
,
"
BaseObstacle"
,
"
GoalAlign"
,
"
PathAlign"
,
"
PathDist"
,
"
GoalDist"
]
BaseObstacle.scale
:
0.02
PathAlign.scale
:
32.0
PathAlign.forward_point_distance
:
0.1
GoalAlign.scale
:
24.0
GoalAlign.forward_point_distance
:
0.1
PathDist.scale
:
32.0
GoalDist.scale
:
24.0
RotateToGoal.scale
:
32.0
RotateToGoal.slowing_factor
:
5.0
RotateToGoal.lookahead_time
:
-1.0
controller_server_rclcpp_node
:
ros__parameters
:
use_sim_time
:
True
local_costmap
:
local_costmap
:
ros__parameters
:
update_frequency
:
5.0
publish_frequency
:
2.0
global_frame
:
odom
robot_base_frame
:
base_link
use_sim_time
:
True
rolling_window
:
true
width
:
3
height
:
3
resolution
:
0.05
robot_radius
:
0.22
plugins
:
[
"
voxel_layer"
,
"
inflation_layer"
]
inflation_layer
:
plugin
:
"
nav2_costmap_2d::InflationLayer"
cost_scaling_factor
:
3.0
inflation_radius
:
0.55
voxel_layer
:
plugin
:
"
nav2_costmap_2d::VoxelLayer"
enabled
:
True
publish_voxel_map
:
True
origin_z
:
0.0
z_resolution
:
0.05
z_voxels
:
16
max_obstacle_height
:
2.0
mark_threshold
:
0
observation_sources
:
scan
scan
:
topic
:
/scan
max_obstacle_height
:
2.0
clearing
:
True
marking
:
True
data_type
:
"
LaserScan"
static_layer
:
map_subscribe_transient_local
:
True
always_send_full_costmap
:
True
local_costmap_client
:
ros__parameters
:
use_sim_time
:
True
local_costmap_rclcpp_node
:
ros__parameters
:
use_sim_time
:
True
global_costmap
:
global_costmap
:
ros__parameters
:
update_frequency
:
1.0
publish_frequency
:
1.0
global_frame
:
map
robot_base_frame
:
base_link
use_sim_time
:
True
robot_radius
:
0.22
resolution
:
0.05
track_unknown_space
:
true
plugins
:
[
"
static_layer"
,
"
obstacle_layer"
,
"
inflation_layer"
]
obstacle_layer
:
plugin
:
"
nav2_costmap_2d::ObstacleLayer"
enabled
:
True
observation_sources
:
scan
scan
:
topic
:
/scan
max_obstacle_height
:
2.0
clearing
:
True
marking
:
True
data_type
:
"
LaserScan"
static_layer
:
plugin
:
"
nav2_costmap_2d::StaticLayer"
map_subscribe_transient_local
:
True
inflation_layer
:
plugin
:
"
nav2_costmap_2d::InflationLayer"
cost_scaling_factor
:
3.0
inflation_radius
:
0.55
always_send_full_costmap
:
True
global_costmap_client
:
ros__parameters
:
use_sim_time
:
True
global_costmap_rclcpp_node
:
ros__parameters
:
use_sim_time
:
True
map_server
:
ros__parameters
:
use_sim_time
:
True
yaml_filename
:
"
turtlebot3_world.yaml"
map_saver
:
ros__parameters
:
use_sim_time
:
True
save_map_timeout
:
5000
free_thresh_default
:
0.25
occupied_thresh_default
:
0.65
map_subscribe_transient_local
:
False
planner_server
:
ros__parameters
:
expected_planner_frequency
:
20.0
use_sim_time
:
True
planner_plugins
:
[
"
GridBased"
]
GridBased
:
plugin
:
"
nav2_navfn_planner/NavfnPlanner"
tolerance
:
0.5
use_astar
:
false
allow_unknown
:
true
planner_server_rclcpp_node
:
ros__parameters
:
use_sim_time
:
True
recoveries_server
:
ros__parameters
:
costmap_topic
:
local_costmap/costmap_raw
footprint_topic
:
local_costmap/published_footprint
cycle_frequency
:
10.0
recovery_plugins
:
[
"
spin"
,
"
back_up"
,
"
wait"
]
spin
:
plugin
:
"
nav2_recoveries/Spin"
back_up
:
plugin
:
"
nav2_recoveries/BackUp"
wait
:
plugin
:
"
nav2_recoveries/Wait"
global_frame
:
odom
robot_base_frame
:
base_link
transform_timeout
:
0.1
use_sim_time
:
true
simulate_ahead_time
:
2.0
max_rotational_vel
:
1.0
min_rotational_vel
:
0.4
rotational_acc_lim
:
3.2
robot_state_publisher
:
ros__parameters
:
use_sim_time
:
True
\ No newline at end of file
This diff is collapsed.
Click to expand it.
launch/navigation_launch.py
0 → 100644
+
145
−
0
View file @
159ab1d0
# Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import
os
from
ament_index_python.packages
import
get_package_share_directory
from
launch
import
LaunchDescription
from
launch.actions
import
DeclareLaunchArgument
,
SetEnvironmentVariable
from
launch.substitutions
import
LaunchConfiguration
from
launch_ros.actions
import
Node
from
nav2_common.launch
import
RewrittenYaml
def
generate_launch_description
():
# Get the launch directory
bringup_dir
=
get_package_share_directory
(
'
dev_loc
'
)
namespace
=
LaunchConfiguration
(
'
namespace
'
)
use_sim_time
=
LaunchConfiguration
(
'
use_sim_time
'
)
autostart
=
LaunchConfiguration
(
'
autostart
'
)
params_file
=
LaunchConfiguration
(
'
params_file
'
)
default_bt_xml_filename
=
LaunchConfiguration
(
'
default_bt_xml_filename
'
)
map_subscribe_transient_local
=
LaunchConfiguration
(
'
map_subscribe_transient_local
'
)
lifecycle_nodes
=
[
'
controller_server
'
,
'
planner_server
'
,
'
recoveries_server
'
,
'
bt_navigator
'
,
'
waypoint_follower
'
]
# Map fully qualified names to relative ones so the node's namespace can be prepended.
# In case of the transforms (tf), currently, there doesn't seem to be a better alternative
# https://github.com/ros/geometry2/issues/32
# https://github.com/ros/robot_state_publisher/pull/30
# TODO(orduno) Substitute with `PushNodeRemapping`
# https://github.com/ros2/launch_ros/issues/56
remappings
=
[(
'
/tf
'
,
'
tf
'
),
(
'
/tf_static
'
,
'
tf_static
'
)]
# Create our own temporary YAML files that include substitutions
param_substitutions
=
{
'
use_sim_time
'
:
use_sim_time
,
'
default_bt_xml_filename
'
:
default_bt_xml_filename
,
'
autostart
'
:
autostart
,
'
map_subscribe_transient_local
'
:
map_subscribe_transient_local
}
configured_params
=
RewrittenYaml
(
source_file
=
params_file
,
root_key
=
namespace
,
param_rewrites
=
param_substitutions
,
convert_types
=
True
)
return
LaunchDescription
([
# Set env var to print messages to stdout immediately
SetEnvironmentVariable
(
'
RCUTILS_LOGGING_BUFFERED_STREAM
'
,
'
1
'
),
DeclareLaunchArgument
(
'
namespace
'
,
default_value
=
''
,
description
=
'
Top-level namespace
'
),
DeclareLaunchArgument
(
'
use_sim_time
'
,
default_value
=
'
true
'
,
description
=
'
Use simulation (Gazebo) clock if true
'
),
DeclareLaunchArgument
(
'
autostart
'
,
default_value
=
'
true
'
,
description
=
'
Automatically startup the nav2 stack
'
),
DeclareLaunchArgument
(
'
params_file
'
,
default_value
=
os
.
path
.
join
(
bringup_dir
,
'
config
'
,
'
nav2_params.yaml
'
),
description
=
'
Full path to the ROS2 parameters file to use
'
),
DeclareLaunchArgument
(
'
default_bt_xml_filename
'
,
default_value
=
os
.
path
.
join
(
get_package_share_directory
(
'
nav2_bt_navigator
'
),
'
behavior_trees
'
,
'
navigate_w_replanning_and_recovery.xml
'
),
description
=
'
Full path to the behavior tree xml file to use
'
),
DeclareLaunchArgument
(
'
map_subscribe_transient_local
'
,
default_value
=
'
false
'
,
description
=
'
Whether to set the map subscriber QoS to transient local
'
),
Node
(
package
=
'
nav2_controller
'
,
executable
=
'
controller_server
'
,
output
=
'
screen
'
,
parameters
=
[
configured_params
],
remappings
=
remappings
),
Node
(
package
=
'
nav2_planner
'
,
executable
=
'
planner_server
'
,
name
=
'
planner_server
'
,
output
=
'
screen
'
,
parameters
=
[
configured_params
],
remappings
=
remappings
),
Node
(
package
=
'
nav2_recoveries
'
,
executable
=
'
recoveries_server
'
,
name
=
'
recoveries_server
'
,
output
=
'
screen
'
,
parameters
=
[
configured_params
],
remappings
=
remappings
),
Node
(
package
=
'
nav2_bt_navigator
'
,
executable
=
'
bt_navigator
'
,
name
=
'
bt_navigator
'
,
output
=
'
screen
'
,
parameters
=
[
configured_params
],
remappings
=
remappings
),
Node
(
package
=
'
nav2_waypoint_follower
'
,
executable
=
'
waypoint_follower
'
,
name
=
'
waypoint_follower
'
,
output
=
'
screen
'
,
parameters
=
[
configured_params
],
remappings
=
remappings
),
Node
(
package
=
'
nav2_lifecycle_manager
'
,
executable
=
'
lifecycle_manager
'
,
name
=
'
lifecycle_manager_navigation
'
,
output
=
'
screen
'
,
parameters
=
[{
'
use_sim_time
'
:
use_sim_time
},
{
'
autostart
'
:
autostart
},
{
'
node_names
'
:
lifecycle_nodes
}]),
])
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment