关于autonomous_exploration_development_environment的local_planner中一些参数

今天早睡早起了吗 2021-11-17 14:41:05

首先,非常感谢各位大佬们的开源代码,希望可以解答一下我的几个疑惑。
1、请问可以解释一下minObsAngCW和minObsAngCCW这两个参数具体的含义吗?
 if (dis < diameter / pathScale && (fabs(x) > vehicleLength / pathScale / 2.0 || fabs(y) > vehicleWidth / pathScale / 2.0) && 
              (h > obstacleHeightThre || !useTerrainAnalysis) && checkRotObstacle) {
            float angObs = atan2(y, x) * 180.0 / PI;
            if (angObs > 0) {
              if (minObsAngCCW > angObs - angOffset) minObsAngCCW = angObs - angOffset;
              if (minObsAngCW < angObs + angOffset - 180.0) minObsAngCW = angObs + angOffset - 180.0;
            } else {
              if (minObsAngCW < angObs + angOffset) minObsAngCW = angObs + angOffset;
              if (minObsAngCCW > 180.0 + angObs - angOffset) minObsAngCCW = 180.0 + angObs - angOffset;
            }
          }
        }

        if (minObsAngCW > 0) minObsAngCW = 0;
        if (minObsAngCCW < 0) minObsAngCCW = 0;
这段代码没有看得懂,可以解释一下这段是在干什么吗?
2、pointPerPathThre为什么设置成2呢?而不是设置为1?
根据我的理解,这个参数应该是如果某条路径上障碍物的数量超过该阈值,那么就忽略该路径,那这个阈值不是应该是1吗?只要有障碍物就应该认为这条路径是不可行的。
3、rotAng、angDiff、dirDiff、rotDirW这四个角度变量又分别是什么意思呢?可以解释一下吗?
期待您的回复!

...全文
239 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复

你好,关于你提的第一和第三个问题,可以参考这篇[https://blog.csdn.net/qq_39266065/article/details/120405868](关于local planner的解析),以及社区之前的问题 https://bbs.csdn.net/topics/603010675 。对于第二个问题,我们考虑到空中可能因为各种原因出现一些噪点,影响机器人的判断,所以我们设置成2,过滤掉一些噪点的影响,当然如果你确定自己的点云信息比较干净,可以将这个值设置成1。我们放在launch file里的参数都是可以变动的,你可以根据自己的需要和理解去改动这些参数,更好的适应自己的平台。希望这个回答能够帮助到你。

回复
@云深雾语 好的,十分感谢您的回答~
回复
相关推荐
发帖
TARE机器人自主导航系统
创建于2021-10-11

116

社区成员

社区内分享我们的开源平台tare机器人自主导航系统,希望能帮助所有自主移动机器人领域的研究人员快速搭建出属于自己的,稳定可靠的机器人仿真和实验的平台,更快进入自己的研究领域
帖子事件
创建了帖子
2021-11-17 14:41
社区公告
暂无公告