CA9导航相关参数说明

位于路径(106主机):

/opt/robot/share/planner/config/

一、basic_server:

basic_server中有部分参数与导航部分参数重叠,实现时以basic_server中的参数文件basic_server_new.toml为准:

[Base]
Version = "0.0.1"         #配置文件版本

[PowerManagement]
[PowerManagement.Sleep]
time = 5                        #min
Auto = true                     #是否自动进入休眠
[PowerManagement.Battery]
sigleBatteryMode = true         #是否自动启动单电池模式,关闭后不会进入单电池模式

[Nav]
###################################### 统一配置项 ###################
[Nav.COMMON]
maxSpeedY = 1.0                 #Y最大线速度
maxTheta = 1.0                  #yaw角速率最大值
yaw_tolerance = 0.1             #与目标的yaw角度容差          
xy_tolerance = 0.1              #与目标的坐标距离容差            
###################################### Nav.AUTO.FLAT 自主平地###################
[Nav.AUTO.FLAT.LOW_SPEED]
maxSpeedX = 0.5                 #X最大线速度
barking_deceleration = 2.0      #直线导航 - 减速率,值越大减速越快
stop_distance = 0.6             #直线导航 - 停障距离
dl_min_yaw = 0.7                #直线导航 - 最小yaw角速率
dl_min_x = 0.25                 #直线导航 - 最小x线速度
dl_min_y = 0.3                  #直线导航 - 最小y线速度
dl_line_yaw_min =  0.35         #直线导航 - 直线纠偏最小yaw速度

[Nav.AUTO.FLAT.NORMAL_SPEED]
maxSpeedX = 1.0
barking_deceleration = 2.0      
stop_distance = 0.85            
dl_min_yaw = 0.7                
dl_min_x = 0.25                 
dl_min_y = 0.3                  
dl_line_yaw_min =  0.35         

[Nav.AUTO.FLAT.HIGH_SPEED]
maxSpeedX = 1.5
barking_deceleration = 1.5      
stop_distance = 1.3             
dl_min_yaw = 0.7                
dl_min_x = 0.25                 
dl_min_y = 0.3                  
dl_line_yaw_min =  0.35         
###################################### Nav.AUTO.STAIR 自主楼梯###################
[Nav.AUTO.STAIR.LOW_SPEED]
maxSpeedX = 0.5
barking_deceleration = 2.0      
stop_distance = 0.6             
dl_min_yaw = 0.7
dl_min_x = 0.25
dl_min_y = 0.3
dl_line_yaw_min =  0.35

[Nav.AUTO.STAIR.NORMAL_SPEED]
maxSpeedX = 1.0
barking_deceleration = 2.0      
stop_distance = 0.6             
dl_min_yaw = 0.7
dl_min_x = 0.25
dl_min_y = 0.3
dl_line_yaw_min =  0.35

[Nav.AUTO.STAIR.HIGH_SPEED]
maxSpeedX = 1.5
barking_deceleration = 1.5      
stop_distance = 1.3             
dl_min_yaw = 0.7
dl_min_x = 0.25
dl_min_y = 0.3
dl_line_yaw_min =  0.35

###################################### Nav.DIRECTLINE.FLAT 直线平地###################
[Nav.DIRECTLINE.FLAT.LOW_SPEED]
maxSpeedX = 0.5
barking_deceleration = 2.0      
stop_distance = 0.6             
dl_min_yaw = 0.7                
dl_min_x = 0.25                 
dl_min_y = 0.3                  
dl_line_yaw_min =  0.25         

[Nav.DIRECTLINE.FLAT.NORMAL_SPEED]
maxSpeedX = 1.2
barking_deceleration = 2.0      
stop_distance = 0.85            
dl_min_yaw = 0.7
dl_min_x = 0.25
dl_min_y = 0.3
dl_line_yaw_min =  0.25

[Nav.DIRECTLINE.FLAT.HIGH_SPEED]
maxSpeedX = 2.0
barking_deceleration = 1.5      
stop_distance = 1.3             
dl_min_yaw = 0.7
dl_min_x = 0.25
dl_min_y = 0.3
dl_line_yaw_min =  0.25

###################################### Nav.DIRECTLINE.STAIR 直线楼梯###################
[Nav.DIRECTLINE.STAIR.LOW_SPEED]
maxSpeedX = 0.8
barking_deceleration = 2.0      
stop_distance = 0.6             
dl_min_yaw = 0.7
dl_min_x = 0.25
dl_min_y = 0.3
dl_line_yaw_min =  0.25

[Nav.DIRECTLINE.STAIR.NORMAL_SPEED]
maxSpeedX = 1.0
barking_deceleration = 2.0      
stop_distance = 0.85            
dl_min_yaw = 0.7
dl_min_x = 0.25
dl_min_y = 0.3
dl_line_yaw_min =  0.25

[Nav.DIRECTLINE.STAIR.HIGH_SPEED]
maxSpeedX = 1.2
barking_deceleration = 2.0      
stop_distance = 0.6             
dl_min_yaw = 0.7
dl_min_x = 0.25
dl_min_y = 0.3
dl_line_yaw_min =  0.25

## ==========================以下参数与导航无关========================================
[Nav.Charge]
waitEnable = true
waitTime = 5                    #min

[Nav.Go2Piont]
enable = false                   #到点超时判断使能 true:开启判断
time = 30                       #到点超时时间 s
distance = 0.5                  #到点距离 m

[Nav.Loop]
LoopEnable = false              #任务自动循环执行使能
waitTime = 60                   #s 秒
LoopCnt = 5                     #额外循环次数

[Device]

[FibocomGPS]
[FibocomGPS.ifFibocomGPS]
ifFibocomGPS = true

二、局部规划器参数(对应local_planner)

2.1 local_planner.yaml

  • 与basic_server包basic_server_new.toml重叠的参数:
directLine_mode: true      # 【在basic_server修改】 true:[直线导航] ;false:[自主导航] 
xy_tolerance: 0.1          # 【在basic_server修改】位置是否到达目标点的判断阈值
yaw_tolerance: 0.1         # 【在basic_server修改】姿态容差


maxSpeedX: 1.5          # 【在basic_server修改】速度上限
maxSpeedY: 0.6
maxTheta: 1.0   
# ------------ 直线导航相关 ------------------------
stop_distance: 1.5         #  【在basic_server修改】[直线导航]- 停障距离
dl_min_yaw: 0.7          #  【在basic_server修改】[直线导航]- 最小yaw角速度
dl_min_x: 0.25           #  【在basic_server修改】[直线导航]- 最小x线速度
dl_min_y: 0.25
dl_line_yaw_min: 0.2    #  【在basic_server修改】直线纠偏最小yaw速度,运动过程中yaw纠正的补偿     
  • 通用参数:
robotLength: 0.9           # 机体大小,用于碰撞检测
robotWidth: 0.45
sensorOffsetX: 0           # 传感器偏移量 (坐标系转换使用)
sensorOffsetY: 0

## ------ 【碰撞相关】 ---------------
block_number: 3            # 碰撞检测参数,路径碰撞/yaw旋转/直线导航碰撞 中,碰撞超过此系数,视为失败
## ------- 【全局规划相关】 -----------
lookAheadDis: 1.5       # 从global_planner中,选择目标点的前向累积距离阈值
global_count_range: 11     # 将筛选的全局点作为局部规划目标的次数,超过此阈值则直接将目标设为终点
# ---- 急转弯与曲率检测 ----
judge_turn: false          # 是否进行急转弯检测
angleThreshold: 30.0       # 急转弯检测 角度阈值 --> 用于轨迹曲率大小判断
sumAngleThreshold: 75.0    # 累积转弯角度阈值  --> 用于轨迹曲率大小判断
minSegmentLength: 0.02     # 轨迹曲率大小判断中,每小段距离最小值,如果过小,则不进行判断
  • 自主导航:
## ========= 路径模板筛选相关 =================
pointPerPathThre: 2         # [自主导航] 中,DWA路径模板初次筛选的阈值,记录碰撞次数大于此阈值,筛掉
weight_goal: 1.0           # [自主导航] - DWA筛选 - 目标距离权重
weight_yaw: 0.5            # [自主导航] - DWA筛选 - yaw角距离权重
weight_spdy: 0.2           # [自主导航] - DWA筛选 - 速度权重
weight_ob1: 0.6            # [自主导航] - DWA筛选 - 三个列表权重
weight_ob2: 0.8
weight_ob3: 1.0

speed_ratio: 1.0           # 速度比率, [自主导航]-DWA筛选 - 计算与目标距离相关参数,控制局部目标点
                           # 距离,如果调大,则局部目标点变近,则整体速度变慢
speed_ratio_yaw: 1.0       # 角速度比率

enable_goal_turn: false    # [自主导航]模式下,当距离较远,为true且符合其他判断,则先进行转向
  • 直线导航:

close_deceleration: 2.0    # 到点减速率(接近目标时,两个模式都用)
  • yaml配置文件完整版:
#导航参数

robotLength: 0.9           # 机体大小,用于碰撞检测
robotWidth: 0.45
sensorOffsetX: 0           # 传感器偏移量 (坐标系转换使用)
sensorOffsetY: 0
# -----------[在点云处理中, 此处暂时不使用]--------------------
laserVoxelSize: 0.05        # 雷达体素分辨率
adjacentRange: 8.00         # 雷达点云过滤 xy欧式距离范围
obstacleHeightThre : 0.15   #  超过此系数高度的点云用于计算惩罚项
minRelZ: -0.5              # 雷达点云过滤z范围    [自主导航] 中,点云预处理(step2)
maxRelZ: 0.5
# -------------------------------------------
pointPerPathThre: 2         # [自主导航] 中,DWA路径模板初次筛选的阈值,记录碰撞次数大于此阈值,筛掉
directLine_mode: true      # 【在basic_server修改】 true:[直线导航] ;false:[自主导航] 
xy_tolerance: 0.1          # 【在basic_server修改】位置是否到达目标点的判断阈值
yaw_tolerance: 0.1         # 【在basic_server修改】姿态容差
block_number: 3            # 碰撞检测参数,路径碰撞/yaw旋转/直线导航碰撞 中,碰撞超过此系数,视为失败
stop_distance: 1.5         #  【在basic_server修改】[直线导航]- 停障距离
weight_goal: 1.0           # [自主导航] - DWA筛选 - 目标距离权重
weight_yaw: 0.5            # [自主导航] - DWA筛选 - yaw角距离权重
weight_spdy: 0.2           # [自主导航] - DWA筛选 - 速度权重
weight_ob1: 0.6            # [自主导航] - DWA筛选 - 三个列表权重
weight_ob2: 0.8
weight_ob3: 1.0
lookAheadDis: 1.5       # 从global_planner中,选择目标点的前向累积距离阈值
maxSpeedX: 1.5          # 【在basic_server修改】速度上限
maxSpeedY: 0.6
maxTheta: 1.0               
barking_deceleration: 1.0    # 【在basic_server修改】减速率
judge_close: false        # 是否关闭停障 -- [直线导航]
change_close: true        # 控制是否检测碰撞
backward_mode: false      # 后退模式,影响角度计算
# ======= LQR相关,目前没用到 =============
Q1: 100                   
Q2: 60
R1: 1
# ======================================
angleThreshold: 30.0       # 急转弯检测 角度阈值 --> 用于轨迹曲率大小判断
sumAngleThreshold: 75.0    # 累积转弯角度阈值  --> 用于轨迹曲率大小判断
minSegmentLength: 0.02     # 轨迹曲率大小判断中,每小段距离最小值,如果过小,则不进行判断
trackDis: 0.5              # 追踪距离 (暂时不用)
speed_ratio: 1.0           # 速度比率, [自主导航]-DWA筛选 - 计算与目标距离相关参数,控制局部目标点
                           # 距离,如果调大,则局部目标点变近,则整体速度变慢
speed_ratio_yaw: 1.0
judge_turn: false          # 是否进行急转弯检测
enable_goal_turn: false    # [自主导航]模式下,当距离较远,为true且符合其他判断,则先进行转向
global_count_range: 11     # 将筛选的全局点作为局部规划目标的次数,超过此阈值则直接将目标设为终点

# ==============  直线导航  (对应2个步态,3个速度模式) ======================
dl_min_yaw: 0.7          # [直线导航]- 最小yaw角速度
dl_min_x: 0.25           # [直线导航]- 最小x线速度
dl_min_y: 0.25
dl_line_yaw_min: 0.2    # 直线纠偏最小yaw速度,运动过程中yaw纠正的补偿     #(15kg负载时候需要改为0.3,如果走直线偏移较大,需要设置更大的值)
close_deceleration: 2.0    # 到点减速率(接近目标时,两个模式都用)
## ----- 目前没用上 -----------
proximity_distance: 0.5    #(m) 接近目标阈值,进入此范围后开始计时,如果超时报送警告
warning_threshold: 10.0    # 监视器超时阈值

input_source: /NAV_POINTS  # 点云输入话题

2.2 pcl_pass_grid.yaml--实时点云图处理相关

#点云参数
# ========== 外部点云截取范围 =====================
out_minx: -4.0
out_maxx: 4.0
out_miny: -4.0
out_maxy: 4.0
out_minz: -0.3        # 点云截取Z轴最小值,以机器人中心为原点
out_maxz: 1.0         # 点云截取Z轴最大值,以机器人中心为原点
# ========= 内部地形图截取范围 ====================
in_minx: -0.4
in_maxx: 0.4
in_miny: -0.2
in_maxy: 0.2
in_minz: -0.3        # 与out_minz修改成一致的参数
in_maxz: 1.0         # 与out_maxz修改成一致的参数
# ==============================================
serach_radius: 0.1
minNeighbors: 4

图示

图片内容(已识别并结合上下文整理): 三维坐标示意图展示了以机器人为中心的局部搜索/约束空间:X、Y、Z 三个方向共同限定一个立体范围,用于说明搜索半径和邻域参数影响的是机器人周围的空间点集。

三、118新增参数

3.1 直线导航中的均匀加减速

参数位于local_planner.yaml

## 均匀加减速相关参数 
vel_acc_threshold: 1.0         # 加速阈值(m/s):超过此速度需要平滑加速,小于此速度可直接响应
x_acc_increment: 0.05          # x方向每周期速度增量(m/s) --> 10hz  acc = 10 * x_acc_increment

含义为,当速度小于vel_acc_threshold时,直接输出给狗,如果大于vel_acc_threshold,则按照每100ms增加x_acc_increment来逐步增加速度指令。

如果觉得狗加减速过猛,可以先调小vel_acc_threshold,再调小x_acc_increment