local planner 代码实现

彭晨202 2021-11-11 03:52:10

你好,我想请问下local planner 中代码实现的理解。我看到在local planner 中,需要对感知的点以机器人为中心在其周围进行一定角度的旋转(<360 度),如下代码:

for (int rotDir = 0; rotDir < 36; rotDir++) {
              float rotAng = (10.0 * rotDir - 180.0) * PI / 180;
              float angDiff = fabs(joyDir - (10.0 * rotDir - 180.0));
              if (angDiff > 180.0) {
                angDiff = 360.0 - angDiff;
              }
              // if the target is over 90 deg, ignore the point
              if ((angDiff > dirThre && !dirToVehicle) || 
                  (fabs(10.0 * rotDir - 180.0) > dirThre && fabs(joyDir) <= 90.0 && dirToVehicle) ||
                  ((10.0 * rotDir > dirThre && 360.0 - 10.0 * rotDir > dirThre) && fabs(joyDir) > 90.0 && dirToVehicle)) {
                continue;
              }
}

这里是假设机器人可以原地360度旋转来调整姿态的原因吗?可否详细说明下参数“dirToVehicle”的意思?如果我所控制的是Ackerman 的车,且offline 产生的轨迹已经覆盖了机器人所有的可行范围,那是不是不需要这步操作,而只需要crop 其所可行范围内的感知3D点即可?

...全文
763 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
一起抬水泥 2021-11-15
  • 打赏
  • 举报
回复 2

https://bbs.csdn.net/topics/603010675 这里有dirToVehicle的含义,作者以前回复过的

彭晨202 2021-11-21
  • 举报
回复
@一起抬水泥 谢谢你!

1,095

社区成员

发帖
与我相关
我的任务
社区描述
社区内分享我们的开源平台tare机器人自主导航系统,希望能帮助所有自主移动机器人领域的研究人员快速搭建出属于自己的,稳定可靠的机器人仿真和实验的平台,更快进入自己的研究领域
自动驾驶人工智能 企业社区
社区管理员
  • 哈工大-朱洪彪
  • 小麦Y
  • 曹超CMU
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧