• 11.8-ros-navigation解析


    ros-move-base

    前言

    • 整体性介绍ROS二维导航包

    参考

    global_planner整体解析
    拿ROS玩移动机器人自主导航攻略(二) --by 西工大一小学生
    对Navigation基础的了解

    学习记录

    接收move_base/goal时到底有没有使用全局规划器

    • 看源码,有!

    以前笔记-局部规划器

    概述

    • 局部规划器使用地图,产生一个运动学轨迹使得机器人从起点到终点运动,沿着这条路,局部规划器在机器人本体附近产生一个值函数,用Grid Map 来表示,这个栅格地图上表示到某一个网格的损失,整个算法使用这个值函数来产生速度。
    • 算法基本思想
      • 在机器人控制域内取样
      • 对每一个样本,根据当前机器人的状态来预测未来某一个短时间内,机器人会发生什么变化
      • 对第二步进行模拟和评分,使用一些度量:与障碍的接近程度,与目标的接近,与全局规划的接近程度,速度。抛弃非法的轨迹(如,与障碍碰撞的轨迹)
      • 选择得分最高的那条轨迹,发送至机器人
      • 循环

    栅格地图

    对于某一个控制循环(control cycle),算法都会对每个网格进行评分,使用迈哈顿距离,即街区距离
    这个网格地图用来对轨迹评分
    在此持的目标goal是局部的goal,与终点最近的局部goal,叫做local goal,符合要求的点,是在局部区域内,是第一个与区域外部点相连的点,局部区域的尺寸由move_base来决定
    震荡抑制
    通用局部规划
    概述
    局部规划的目的是,在每一个控制循环中找到合适的局部规划。
    可以以dwa_local_planner为模板制定自己的局部规划器,或者只是简单地添加损失计算函数或轨迹生成器
    轨迹生成器
    The SimpleTrajectoryGenerator class can generate trajectories described in the overview, using either the trajectory rollout or the DWA principle.
    轨迹损失函数
    A negative score means the trajectory is invalid. For positive value, the semantics are that a trajectory with a lower score is preferrable to one with a higher score with respect to this cost function.
    SimpleScoredSamplingPlanner
    帮助类
    LocalPlannerUtil
    LatchedStopRotateController
    到终点后彻底停止
    OdometryHelperRos
    损失函数
    障碍损失函数
    根据检测到的障碍物来对计算出的轨迹进行评分,如果该轨迹从障碍物上通过,会产生负值或零值
    栅格地图损失函数
    根据该轨迹与全局规划的靠近程度对轨迹进行评分
    震荡损失函数
    帮助减少震荡
    前向优先损失函数
    这种函数的目的在于鼓励机器人前向运动
    相关的类
    整理相关参数

  • 相关阅读:
    appium for windows 环境搭建
    jenkins+maven+testng参数化执行测试用例
    java追加文本到文件末尾
    jenkins下添加HTML Publisher Plugin及配置
    jenkins配置本机JDK和maven环境
    Linux运维基础入门(三):网络基础知识梳理03
    Linux运维入门(二):网络基础知识梳理02
    Linux运维基础入门(一)网络基础知识梳理01
    Linux实战教学笔记55:开源虚拟化KVM(三)管理虚拟网络
    Linux实战教学笔记54:开源虚拟化KVM(二)管理虚拟存储
  • 原文地址:https://www.cnblogs.com/lizhensheng/p/11117697.html
Copyright © 2020-2023  润新知