一.costmap_common_params.yaml
# 设置了代价地图中障碍物信息的阀值
# obstacle_range:确定了最大范围传感器读数,这将导致障碍物被放入代价地图中。
# 此处设置为2.5m,意为着机器人只会更新其地图包含距离移动基座2.5m以内的障碍物信息
obstacle_range: 2.5
# raytrace_range:确定了用于清楚制定范围外的空间。
# 此处设置为3m,意味机器人将尝试清除3m外的空间
raytrace_range: 3.0
footprint: [[-0.1, 0.1], [-0.1, -0.1], [0.1, -0.1],[0.1,0.1]]
# robot_radius:设置机器人半径
robot_radius: 0.2
# inflation_radius:设定代价地图的膨胀半径。
# 此处设置为0.55,意味机器人针对相同的障碍物获取的所有路径都保持距离障碍物0.55m或更远
inflation_radius: 0.55
# observation_sources:传感器源参数定义把信息传递给代价地图的传感器列表,以空格分隔每个传感器,每个传感器分别定义。
observation_sources: laser_scan_sensor point_cloud_sensor
# 设置上述传感器源observation_sources的传感器信息
# “marking”和“clearing”参数确定传感器是否向代价地图添加障碍物信息或从代价地图中清除障碍物信息,或者同时都做
laser_scan_sensor: {sensor_frame: base_scan, data_type: LaserScan, topic: scan, marking: true, clearing: true}
point_cloud_sensor: {sensor_frame: frame_name, data_type: PointCloud, topic: topic_name, marking: true, clearing: true}
二.global_costmap_params.yaml
# 全局代价地图配置
global_costmap:
# global_frame:定义了代价地图应该运行的坐标系,在这种情况下,我们将选择/map坐标系
global_frame: /map
# “robot_base_frame”参数定义了代价地图应该为机器人的基座的坐标系
robot_base_frame: base_link
# update_frequency”参数决定了代价地图更新的频率(以Hz为单位)
update_frequency: 5.0
# static_map”参数确定是否由map_server提供的地图服务来进行代价地图的初始化(有是true)
static_map: true
三.local_costmap_params.yaml
local_costmap:
global_frame: odom
robot_base_frame: base_link
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
#“rolling_window”参数设置为true意味着当机器人移动时,保持机器人在本地代价地图中心。
rolling_window: true
# “宽度”,“高度”和“分辨率”参数设置本地代价地图的宽度(米),高度(米)和分辨率(米/单元格)
width: 6.0
height: 6.0
resolution: 0.05
四.base_local_planner_params.yaml
TrajectoryPlannerROS:
#机器人的速度限制
max_vel_x: 0.45
min_vel_x: 0.1
max_vel_theta: 1.0
min_in_place_vel_theta: 0.4
#机器人的加速度限制
acc_lim_theta: 3.2
acc_lim_x: 2.5
acc_lim_y: 2.5
holonomic_robot: true
文件具体应用可以参考turtlebot3,文件路径如下:
参考:ROS与navigation教程-安装和配置导航包 - 创客智造/爱折腾智能机器人