图解自动驾驶中的运动规划(Motion Planning),附几十种规划算法_motion planner c++-程序员宅基地

技术标签: 运动规划实战精讲  自动驾驶  算法  机器人  ROS  人工智能  

1 自动驾驶驶向何处?

自动驾驶,又称无人驾驶,是依靠计算机与人工智能技术在没有人为操纵的情况下,完成完整、安全、有效驾驶的一项前沿科技。

自动驾驶技术能够协调出行路线与规划时间,从而大程度提高出行效率,因此成为各国近年的一项研发重点。

在这里插入图片描述
自动驾驶分为五个等级

  • L1辅助驾驶
    依靠自适应巡航释放双脚但双手不能离开方向盘驾驶员仍需操控汽车
  • L2半自动驾驶
    驾驶员需要持续监控汽车行驶情况
  • L3高度自动驾驶
    驾驶员无需持续监控汽车但遇到一些情况驾驶员需根据系统要求介入车辆行驶
  • L4更高级别的自动驾驶
    在例如开高速或进入停车场的情况下系统自动控制汽车驾驶员无需监控汽车
  • L5最高级别的自动驾驶
    无人驾驶,此时无需驾驶员

百度创始人、董事长兼CEO李彦宏在2022世界人工智能大会上指出,目前L2级自动驾驶技术已经可以实现大规模商业化,接下来将继续向L3、L4发力。

在这里插入图片描述

自动驾驶这项前沿技术的底层逻辑是什么呢?在自动驾驶技术栈中,主要分为感知决策规划控制三个模块。

感知模块就像是人的眼睛和耳朵,负责对外部环境进行感知,包含定位、建图、传感器融合等技术;控制模块就像人的手脚,负责将指令传达到电机、引擎,包含鲁棒控制、模型预测控制等技术;决策规划模块就像人的大脑,基于接收到的感知信息进行行为预测、决策,并生成指令传达给控制模块。

在决策规划中,有一类技术称为运动规划,那么什么是运动规划呢?

2 什么是运动规划?

运动规划(Motion Planning)以最优性为核心,在环境中给定起点和终点的条件下,规划机器人无冲突行进的状态序列。运动规划框架如下所示,主要包含路径规划与轨迹规划两大组件。

在这里插入图片描述
那路径规划和轨迹规划有什么区别和联系呢?

  • 路径规划(Path Planning)

    以可达性为核心,基于路径约束(如障碍物),规划机器人首末位置间无冲突行进的最优路径序列。

  • 轨迹规划(Trajectory Planning)以稳定性和快速性为核心,基于运动学、动力学约束和路径序列,规划运动状态 以逼近全局路径。

一般地,路径规划的输入是全局静态环境,也称为全局规划(Global Planning);轨迹规划的输入是全局路径、动态环境和模型约束,通常在局部范围内进行动态避障和路径跟踪,也称为局部规划(Local Planning)

本专栏将重点介绍路径规划和轨迹规划技术,并且采用工程上常用的ROS C++以及仿真中常用的Python/Matlab三种语言对常见的规划算法进行实现,帮助读者理解原理。同时,辅以部分控制原理、传感技术、常见机器人运动学与动力学建模,弥补一些运动规划的底层知识,具体大纲如下

3 运动规划实战教程

专栏地址:运动规划实战精讲

第零章——自动控制原理

在这里插入图片描述

第一章——常见机器人建模

在这里插入图片描述

第二章——常用地图结构解析

在这里插入图片描述

第三章——全局规划之图搜索

在这里插入图片描述

第四章——全局规划之采样搜索

在这里插入图片描述

第五章——智能算法

在这里插入图片描述

第六章——局部路径规划

在这里插入图片描述

第七章——曲线生成与轨迹规划

在这里插入图片描述

第八章——趣味应用

在这里插入图片描述

4 加入我们

目前博主正在组建机器人技术交流群,群中成员是有明确共同目标,共同愿景的,这样才能共同成长。所以如果苦于闭门造车、无人交流,就请加入我们(下方名片),让我们一起从理论到实践攻克运动规划,为从事相关工作或科研打下基础!

在这里插入图片描述

在这里插入图片描述
当然群里也配套长期更新的资源福利等你领取!

在这里插入图片描述

5 订阅需知

  • 上面给出的是教程的大致大纲,后面可能会有顺序和内容的调整,但可以保证内容量只增不减
  • 各个算法基本都提供C++/Python/Matlab三个版本的实现,便于应对各种需求;但同时工程量较大,故后期会涨价
  • 更新频率为两周1更,篇篇精品

更多精彩专栏


源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/FRIGIDWINTER/article/details/128738977

智能推荐

Lua中table的ipairs和pairs以及function的:和.区别_lua table ipairs-程序员宅基地

文章浏览阅读359次。转自:csdn火木达人Lua中table遍历ipairs和pairs的区别pairs()函数基本和ipairs()函数用法相同, 区别在于pairs()可以遍历整个table, 即包括数组及非数组部分.ipairs()函数用于遍历table中的数组部分.[plain] view plain copylocal tableA = {_lua table ipairs

彩虹易支付 9.27 最新版加订单查询 sy 更新版_彩虹易支付如何更新-程序员宅基地

文章浏览阅读505次。彩虹易支付 9.27 最新版加订单查询 sy 更新版_彩虹易支付如何更新

iOS. iphone/iPad中的尺寸、安全区,导航高度、机型判断_750脳1206-程序员宅基地

文章浏览阅读1.5w次。参考:http://www.25xt.com/appsizeiphone:===========http://www.tuyiyi.com/cc/*************APP图标:20px,29px,40px,60px/(@2x,@3x)tablviewcell的默认高度------44p'x;statuebar:20--------navigatio..._750脳1206

关于 ubuntu 插入耳机没有声音(麦克风也无法使用)的解决办法_ubuntu上没有麦克风-程序员宅基地

文章浏览阅读1.6w次,点赞17次,收藏40次。关于 ubuntu 插入耳机没有声音的解决办法问题起因博主昨天安装了 Windows 10 + Ubuntu 16.04 的双系统,进入 Ubuntu 后发现插入的耳机并没有声音,于是设法解决,参考了使用 pavucontrol 的解决方案后仍然无效,于是又继续搜索,最终自己探究出了解决办法,做下笔记供参考。灵感来源首先感谢博主 CS_ChenLI 的帖子: https://blog.cs..._ubuntu上没有麦克风

【Qt 学习笔记】使用QtCreator创建及运行项目 | 项目初始代码解释_qt creater 运行程序-程序员宅基地

文章浏览阅读749次,点赞12次,收藏12次。Qt Creator创建项目步骤Qt Creator是一个集成开发环境(IDE),用于开发Qt应用程序。它提供了一套强大的工具和功能,包括代码编辑器、调试器、图形化界面设计器、帮助文档等,可大大简化Qt应用程序的开发过程。Qt Creator支持多种编程语言,如C++、JavaScript、QML等,使开发者能够轻松创建跨平台的高性能应用程序。同时,Qt Creator还具有良好的集成性,可以与Qt框架其他组件(如Qt Designer、Qt Linguist)紧密配合,提供全面的开发解决方案。_qt creater 运行程序

bulk_only传输协议和UFI命令规范-程序员宅基地

文章浏览阅读1k次。USB设备分为5大类,即显示器、通信设备、音频设备、人机输入和海量存储。通常所用的U盘、移动硬盘均属于海量存储类。海量存储类的规范中包括4个独立的子规范,即CBI传输、Bulk-Only传输、ATA命令块、UFI命令规范。前两个协议定义了数据/命令/状态在USB总线上的传输方法,Bulk-Only传输协议仅仅使用Bulk端点传送数据/命令/状态,CBI传输协议则使用Control/bulk/int_ufi命令

随便推点

element-UI 踩坑_element 分页pagercount小于5报错-程序员宅基地

文章浏览阅读383次。element-ui 在el-row el-col 上@click失效问题解决在el-row、el-col上面添加点击事件@click无效,用原生@click.native代替@click即可。_element 分页pagercount小于5报错

PHP之Trait详解_php trait-程序员宅基地

文章浏览阅读4.1w次,点赞3次,收藏8次。php从以前到现在一直都是单继承的语言,无法同时从两个基类中继承属性和方法,为了解决这个问题,php出了Trait这个特性_php trait

张子豪神经网络风格迁移视频笔记【A Neural Algorithm of Artistic Style论文阅读】_a neural algorithm of artistic style是什么时候的论文-程序员宅基地

文章浏览阅读285次。卷积最外层补零?padding彩色图片,三位卷积核在三维的输入中滑动,生成一个二维的feature map?不同的卷积核有不同的作用神经网络风格迁移其中最难的就是第二步,构造损失函数格拉姆矩阵:衡量了一个图像的风格..._a neural algorithm of artistic style是什么时候的论文

ros中kobuki(turtlebot)+rplidar 跑gmapping_ros2的kobuki例程-程序员宅基地

文章浏览阅读1.4w次,点赞3次,收藏24次。旧篇:http://blog.csdn.net/zyh821351004/article/details/44103757#reply 时间有点老,当时知识描述只能这个程度,也就不改动那篇了,重新写一篇。 由于手头目前没有kobuki了,就以自己的sdp来说明吧。1. 框架搭建说明: 设备: 底盘 : 采集码盘数据 与执行控制指令来运动 : 你要提供_ros2的kobuki例程

OpenCV-细化算法(thinning algorithm)算法详解——提取二值图的骨架_opencv thinning-程序员宅基地

文章浏览阅读1.6w次,点赞19次,收藏119次。昨天不是说同学问我怎么绘制出轮廓的中心线。然后我上网查了一下其实这个有专门的算法叫做细化算法。用专业术语去描述绘制出轮廓的中心线叫做(提取图像的骨架)。然后这一篇博客呢是我对这个细化算法的解读与实操~一、thinning algorithm算法描述图像细化(Image Thinning),一般指二值图像的骨架化(Image Skeletonization)的一种操作运算。切记:前提条件一定是二..._opencv thinning

java异常_java 判断重复括号-程序员宅基地

文章浏览阅读47次。try{//存放可能发生异常的代码 }catch(ArrayIndexOutOfBoundsException e){ e.printStackTrace(); System.out.println("越界"); }catch (Exception e){//子类实现方式 } finally { System.out.println("必定会被执行"); ..._java 判断重复括号

推荐文章

热门文章

相关标签