2D代价地图
2D代价地图包为环境表示和许多传感器处理插件实现了基于2D网格的成本图。它被用在planner和控制器服务器中,用于创造检查碰撞的空间或成本更高的区域进行协商。 [待校准@2617]
2D代价地图的ROS参数 [待校准@2618]
- always_send_full_costmap [待校准@2619]
类型
默认值
bool
False
- 描述
是否每次更新都发送完整的成本图,而不是更新。 [待校准@2620]
- footprint_padding [待校准@2621]
类型
默认值
double
0.01 [待校准@2622]
- 描述
填充面积 (米)。 [待校准@2623]
- footprint [待校准@2624]
类型
默认值
向量 <double> [待校准@2625]
“[]” [待校准@2626]
- 描述
作为string通过的有序足迹点集必须是封闭集。例如,以下定义方形基地边长0.2米 'footprint: “[ [0.1,0.1],[0.1-0.1],[0.1-0.1] [0.1,0.1] ]”。 [待校准@2627]
- global_frame [校准@小鱼]
类型
默认值
string
"map"
- 描述
参考框架。 [待校准@2323]
- height [待校准@2628]
类型
默认值
int
- 描述
成本图高度 (米)。 [待校准@2630]
- width [待校准@2631]
类型
默认值
int
- 描述
成本图宽度 (米)。 [待校准@2632]
- lethal_cost_threshold [待校准@2633]
类型
默认值
int
100 [待校准@2634]
- 描述
占用网格地图的最低成本被认为是致命的障碍。 [待校准@2635]
- map_topic
类型
默认值
string
"map"
- 描述
地图主题 _ 服务器或SLAM。 [待校准@2636]
- observation_sources [待校准@2637]
类型
默认值
string
“” [待校准@2379]
- 描述
作为string的传感器来源列表,如果在插件特定配置中没有指定,将使用。例如 "static_layer stvl_layer" [待校准@2638]
- origin_x [待校准@2639]
类型
默认值
double
0.0
- 描述
X成本图相对于宽度 (m) 的原点。 [待校准@2640]
- origin_y [待校准@2641]
类型
默认值
double
0.0
- 描述
相对于高度 (m) 的成本图的Y原点。 [待校准@2642]
- publish_frequency [待校准@2643]
类型
默认值
double
1.0
- 描述
将costmap发布到主题的频率。 [待校准@2644]
- resolution [待校准@2645]
类型
默认值
double
0.1
- 描述
成本图1像素的分辨率,以米为单位。 [待校准@2646]
- robot_base_frame
类型
默认值
string
"base_link"
- 描述
机器人基座frame名称。 [校准@小鱼]
- robot_radius [待校准@2647]
类型
默认值
double
0.1
- 描述
如果未提供足迹坐标,则使用机器人半径。 [待校准@2648]
- rolling_window [待校准@2649]
类型
默认值
bool
False
- 描述
costmap是否应该与机器人底架一起滚动。 [待校准@2650]
- track_unknown_space [待校准@2651]
类型
默认值
bool
False
- 描述
如果为false,则将未知空间视为自由空间,否则将视为未知空间。 [待校准@2652]
- transform_tolerance
类型
默认值
double
0.3
- 描述
TF transform tolerance.
- trinary_costmap [待校准@2653]
类型
默认值
bool
True
- 描述
如果占用网格映射应仅解释为3个值 (空闲、占用、未知) 或其存储值。 [待校准@2654]
- unknown_cost_value [待校准@2655]
类型
默认值
int
255 [待校准@2656]
- 描述
如果跟踪它,未知空间的成本。 [待校准@2657]
- update_frequency [待校准@2658]
类型
默认值
double
5.0 [待校准@2659]
- 描述
代价地图更新频率。 [待校准@2660]
- use_maximum [待校准@2661]
类型
默认值
bool
False
- 描述
在组合costmap以使用最大成本还是覆盖时。 [待校准@2662]
- plugins [待校准@2663]
类型
默认值
vector<string>
{ "static_layer" 、 "obstacle_layer" 、 "inflation_layer" } [待校准@2664]
- 描述
参数命名空间和名称的映射插件名称列表。 [待校准@2665]
- Note [待校准@2581]
此列表中定义的每个插件命名空间都需要有一个: 代码: plugin 参数,用于定义要在命名空间中加载的插件的类型。 [待校准@2582]
示例: [校准@小鱼]
local_costmap: ros__parameters: plugins: ["obstacle_layer", "voxel_layer", "inflation_layer"] obstacle_layer: plugin: "nav2_costmap_2d::ObstacleLayer" voxel_layer: plugin: "nav2_costmap_2d::VoxelLayer" inflation_layer: plugin: "nav2_costmap_2d::InflationLayer"
- filters [待校准@2666]
类型
默认值
vector<string>
{} [待校准@2667]
- 描述
参数命名空间和名称的映射costmap筛选器名称列表。 [待校准@2668]
- Note [待校准@2581]
代价地图过滤器也是可加载的插件,就像普通的成本地图层一样。进行这种分离是为了避免插件和过滤器干扰,并将这些过滤器放在组合的分层成本图的顶部。与插件一样,此列表中定义的每个costmap过滤器命名空间都需要有一个: code: plugin 参数,用于定义要在命名空间中加载的过滤器插件的类型。 [待校准@2669]
示例: [校准@小鱼]
local_costmap: ros__parameters: filters: ["keepout_filter", "speed_filter"] keepout_filter: plugin: "nav2_costmap_2d::KeepoutFilter" speed_filter: plugin: "nav2_costmap_2d::SpeedFilter"
默认插件 [待校准@2606]
当: code: plugins 参数未重写时,将加载以下默认插件: [待校准@2670]
命名空间
Plugin [校准@小鱼]
"static_layer"
"nav2_costmap_2d::StaticLayer"
"obstacle_layer"
"nav2_costmap_2d::ObstacleLayer"
"inflation_layer"
"nav2_costmap_2d::InflationLayer"
插件参数 [待校准@2677]
代价地图过滤器参数 [待校准@2678]
Example
global_costmap:
global_costmap:
ros__parameters:
footprint_padding: 0.03
update_frequency: 1.0
publish_frequency: 1.0
global_frame: map
robot_base_frame: base_link
use_sim_time: True
robot_radius: 0.22 # radius set and used, so no footprint points
resolution: 0.05
plugins: ["static_layer", "obstacle_layer", "voxel_layer", "inflation_layer"]
obstacle_layer:
plugin: "nav2_costmap_2d::ObstacleLayer"
enabled: True
observation_sources: scan
footprint_clearing_enabled: true
max_obstacle_height: 2.0
combination_method: 1
scan:
topic: /scan
obstacle_max_range: 2.5
obstacle_min_range: 0.0
raytrace_max_range: 3.0
raytrace_min_range: 0.0
max_obstacle_height: 2.0
min_obstacle_height: 0.0
clearing: True
marking: True
data_type: "LaserScan"
inf_is_valid: false
voxel_layer:
plugin: "nav2_costmap_2d::VoxelLayer"
enabled: True
footprint_clearing_enabled: true
max_obstacle_height: 2.0
publish_voxel_map: True
origin_z: 0.0
z_resolution: 0.05
z_voxels: 16
max_obstacle_height: 2.0
unknown_threshold: 15
mark_threshold: 0
observation_sources: pointcloud
combination_method: 1
pointcloud: # no frame set, uses frame from message
topic: /intel_realsense_r200_depth/points
max_obstacle_height: 2.0
min_obstacle_height: 0.0
obstacle_max_range: 2.5
obstacle_min_range: 0.0
raytrace_max_range: 3.0
raytrace_min_range: 0.0
clearing: True
marking: True
data_type: "PointCloud2"
static_layer:
plugin: "nav2_costmap_2d::StaticLayer"
map_subscribe_transient_local: True
enabled: true
subscribe_to_updates: true
transform_tolerance: 0.1
inflation_layer:
plugin: "nav2_costmap_2d::InflationLayer"
enabled: true
inflation_radius: 0.55
cost_scaling_factor: 1.0
inflate_unknown: false
inflate_around_unknown: true
always_send_full_costmap: 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