IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【autoware的决策规划模块】 -> 正文阅读

[人工智能]【autoware的决策规划模块】

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
TODO:写完再整理


前言

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!

本文先对**【autoware的决策规划模块】**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章


提示:以下是本篇文章正文内容

一、决策规划算法概述

规划算法的分类
在这里插入图片描述

(1)曲线插值拟合的方法【这个一般可以通过库或者移植源码实现】
(2)轨迹优化平滑的方法【这个涉及优化理论】
(3)图搜索的方法
(4)增量采样的方法

车辆的安全行为的逻辑决策比较复杂的!使用的就是HFSM的分层决策状态机

.
.

二、决策规划模块功能介绍

在这里插入图片描述

1.规划常用任务

(场景很多,要一个一个场景的突破去做)

1.地图中点到点的全局路径规划(道路级别)

2.在行进过程中的局部路径规划(轨迹级别)

(1)根据红绿灯信号的车辆启停
(2)前方障碍物的减速、避障、停止
(3)换道
(4)跟车
(5)危险情况的紧急制动

转弯、倒车、换道、巡航、避障都是决策给出信息的,同时感知、地图、定位也有辅助

三、决策规划方案介绍【四个demo】

在这里插入图片描述

1.巡航换道停障lane_planner的规划方案【结构型道路–车道级规划–全局规划】

【lane_planner、waypoint_maker两个功能包的配合–实现从车道的角度进行规划】

(1)功能包原理介绍

在这里插入图片描述
【lane_planner、waypoint_maker两个功能包的配合–实现从车道的角度进行规划】

lane_planner功能包对应的节点

lane_navi
lane_rule
lane_select
lane_stop

waypoint_maker功能包对应的节点

waypoints_loader
waypoints_make_publish

lane_planner的功能是输出一条整体的全局路径/base_waypoints

给定的全局路径的获取方式可以通过lane_planner中的lane_navi解析vector_map得到,也可以通过waypoints_make中的waypoints_loader把path.txt解析出来,还可以通过Astar等全局规划出来的waypoints得到

得到/lane_waypoints_array就是我们之前规划得全局轨迹,可以仅有一条也可以有多条(主要看vector_map和path.txt提供了几条可供选择的候选路路径)

waypoints_make中的waypoints_make_publish把/lane_waypoints_array话题可视化到rviz中

lane_planner中的lane_rule根据红绿灯情况输出各种速度不同的路径轨迹,其中/red_waypoints_array的速度为0,/green_waypoints_array为正常的速度,/traffic_waypoints_array为交规指定的最终执行速度

lane_select根据vector_map地图中的左右转信息决定车辆换道,走那一条路线

经过上述一系列操作,最终输出一条可执行的base_waypoints,base_waypoints就是最终执行的全局路径,局部路径都是基于这条base_waypoints进行的

.

(2)功能包代码解析及注释【重点】

【rqt_graph可以查看核对一下的】
我把注释后的代码上传到给github了

.
.

2.避障waypoint_planner(astar)规划方案【结构型道路–车道级规划+轨迹级规划】

(A*是负责基于栅格地图的规划探索)

(1)功能包原理介绍

在这里插入图片描述
要启动astar进行局部规划,仅仅需要把astar的标志位置为true就可以了(在对应的launch文件中)

在之前lane_planner规划的全局路径**/base_waypoints的基础上,使用waypoint_planner中的astar算法进行局部避障,输出一条安全的路径/safety_waypoints**
其中,astar_search是算法的实现,astar_avoid是针对astar的一些前置决策
/safety_waypoints可用于车辆控制模块

waypoint_planner功能包对应的节点

astar_avoid
astar_search

.

(2)功能包代码解析及注释【重点】

【rqt_graph可以查看核对一下的】
我把注释后的代码上传到给github了
.
.

3.避障open_planner规划方案【结构型道路–轨迹级规划】

(open_planner是基于语义地图和占据地图进行采样的局部规划优化)
在这里插入图片描述

(1)功能包原理流程介绍

在这里插入图片描述
(1)轨迹生成/op_trajectory_generator
注意的是,是参考vector_map中的多条/lane_waypoints_array进行生成轨迹的

.
(2)轨迹代价评分/op_trajectory_Evaluator
在open_planner中会根据全局路径生成多个候选路径,每条路径通过代价函数进行评分具有代价,选择代价最低的来走,红色线的是不可行驶的,open_planner是实时运行的
在这里插入图片描述

(2)功能包代码解析及注释【重点】

open_planner的原理
在这里插入图片描述

.
.

4.避障freespace_planner(astar)规划方案–手动指定目标点goal【非结构化道路–轨迹级规划】

【生成代价地图实现】

(1)功能包原理流程介绍

在这里插入图片描述
根据vector的/point_lane和雷达感知的障碍物,生成一张代价地图costmap【属于地图生成的范畴】

costmap_gennerator输出一张分割的占据栅格地图,同时freespace_planner功能包中的astar_navi是针对astar的一些前置决策,astar_search是算法的具体实现

最终输出多条可执行的路径/lane_waypoints_array
在这里插入图片描述

.

(2)功能包代码解析及注释【重点】

freespace_planner功能包的节点

astar_avoid
astar_navi
astar_search

(1)astar算法的前置决策astar_avoid
这种决策是通过if-else进行的简单逻辑决策,有planning\stop\replan等几种状态
根据障碍物obsta的位置确定规划的终点target(可设置多个目标点goal进行尝试),起点可以通过当前定位得到

(2)astar算法的前置决策astar_navi
astar_navi比较简单,原来的版本是一直进行局部规划的,改过的版本是仅仅进行局部规划一次的!,改动逻辑就好

(3)astar算法的实现astar_search
在这里插入图片描述

.


总结

如果和实现一直进行局部规划–改一改lane_navi逻辑就好了!

规划一般直接用到的是代价地图costmap,还有矢量地图vector_map,但是这两种地图都是从点云地图和高精度度地图中提取出来的

参考资料

综述论文
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 12:39:40  更:2022-05-09 12:40:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:26:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码