SLAM_Karto 参数解析

SLAM_Karto 主要参数解析

常规调节时的主要参数

参数 解释 默认值 掌握
“UseScanMatching” 是否使用 ScanMatching 算法, 设置为true则会算法上纠正里程计的误差 true Y
“UseScanBarycenter” 使用每个 scan 的质心来查看两个 scan 的距离 true Y
“MinimumTimeInterval” 设置建立节点最小时间段, 如果超过这个时间里程计小于最小移动距离,则建立一个节点 3600 Y
“MinimumTravelDistance” 设置最小距离,里程计移动长度超过此距离,则建立一个节点 0.2 Y
“MinimumTravelHeading” 设置最小偏转角,如果里程计转向超过此值,则建立一个节点 math::DegreesToRadians(10) Y
“ScanBufferSize” 设置 ScanBuffer 的长度, 其应该设置为约 ScanBufferMaximumScanDistance / MinimumTravelDistance 70 Y
“ScanBufferMaximumScanDistance” 设置 ScanBuffer 的最大长度和 Size作用类似 20.0 Y
“LinkMatchMinimumResponseFine” 设置 最小scans 连接 的最小响应阈值 0.8 H
“LinkScanMaximumDistance” 设置两个连接的 scans 最大距离, 大于此值则不考虑两者的响应阈值 10.0 H
“LoopSearchMaximumDistance” 搜寻 回环匹配的最大距离 4.0 Y
“DoLoopClosing” 做回环匹配优化 true Y
“LoopMatchMinimumChainSize” 找到的回环匹配的node,必须位于大于此值的 ScanBuffer上 10 Y
“LoopMatchMaximumVarianceCoarse” 回环匹配时粗匹配的最大协方差值, 小于此值才认为是一个可行解 math::Square(0.4) N
“LoopMatchMinimumResponseCoarse” 回环匹配时粗匹配的最小响应, 响应值大于此值将会开始粗精度的回环优化 0.8 N
“LoopMatchMinimumResponseFine” 回环匹配最小响应阈值,大于此值才开始进行高精度匹配 0.8 N

位姿纠正时的主要参数

参数 解释 默认值 掌握
“CorrelationSearchSpaceDimension” 纠正位姿时使用的匹配器的大小 0.3 Y
“CorrelationSearchSpaceResolution” 纠正位姿时使用的解析度 0.01 Y
“CorrelationSearchSpaceSmearDeviation” 纠正位姿时将会被此值平滑 0.03 H
使用出处:
Mapper.cpp 中第 2180行 

m_pSequentialScanMatcher = ScanMatcher::Create(this, m_pCorrelationSearchSpaceDimension->GetValue(),
                            m_pCorrelationSearchSpaceResolution->GetValue(),
                            m_pCorrelationSearchSpaceSmearDeviation->GetValue(), rangeThreshold);

第338行的 
CorrelationGrid::CreateGrid (gridSize, gridSize, resolution, smearDeviation)

CorrelationGrid 类在 Mapper.h:820 中定义的静态类,就是创建了一个栅格图,而 SmearDrviation 是用来求栅格数值的系数

回环检测时的主要参数

参数 解释 默认值 掌握
“LoopSearchSpaceDimension” 回环检测时 匹配器的大小 9.0
“LoopSearchSpaceResolution” 回环检测时 匹配器的解析度 0.05
“LoopSearchSpaceSmearDeviation” 回环检测时的 平滑系数 0.03
使用出处:
Mapper.cpp 1129:
ScanMatcher::Create(pMapper, m_pMapper->m_pLoopSearchSpaceDimension-></
  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在使用ROS时,当编译别人的功能包时,可能会遇到缺少功能包的问题。具体错误提示为"Could not find a package configuration file provided by 'slam_karto' with any of the following names: slam_kartoConfig.cmake slam_karto-config.cmake"。解决这个问题的方法是使用以下命令安装缺少的功能包: ``` sudo apt install ros-[你的ROS版本]-slam-karto ``` 其中,[你的ROS版本]是你正在使用的ROS版本,slam-karto是你缺少的功能包名称。将这两个信息替换到命令中,然后执行即可解决问题。这个命令的通用格式是"sudo apt install ros-[你的ROS版本]-[功能包名称]"。 另外,在解决这个问题时,还有一个可能的解决方法是将"slam_karto"的安装路径添加到CMAKE_PREFIX_PATH中,或者设置"slam_karto_DIR"为包含上述文件之一的目录。如果"slam_karto"提供了单独的开发包或SDK,请确保已经安装了它。根据调用堆栈信息,可以找到CMakeLists.txt文件中的第3行使用了find_package函数来查找功能包。但需要注意的是,这个方法可能不适用于所有情况,具体还需要根据实际情况来判断。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Could not find a package configuration file provided by “slam_karto” with any of the following ...](https://blog.csdn.net/maizousidemao/article/details/88896851)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值