- 博客(47)
- 收藏
- 关注
原创 第四部分:决策规划篇——汽车的“大脑”(第9章:运动规划——从宏观指令到微观轨迹)
在产生一个新节点后,它会检查树上的邻近节点,看看是否可以通过这个新节点,以更短的路径到达这些邻近节点。如果是,就重新连接,从而使得整棵树的路径代价不断降低,最终找到一条。通过搜索或采样得到的路径往往是折线或多段线,直接让车辆跟踪会导致方向盘不停晃动,极不舒适。,对这条平滑后的路径进行微调,综合考虑舒适性、安全性和效率,生成最终用于控制的、丝般顺滑的时空轨迹。这种“滚动优化”的方式,让MPC能够持续地适应环境的变化,具有很强的抗干扰能力和前瞻性。生成的路径通常是折线,不够平滑,不适合直接用于车辆控制。
2025-11-23 20:52:26
316
原创 第四部分:决策规划篇——汽车的“大脑”(第8章:行为决策——车辆的“驾驶策略师”)
但通过复杂的神经网络,它会逐渐学到:“哦,原来在那个状态下,我选择‘减速让行’而不是‘强行通过’,最终得到的总分更高。经过前面章节的漫长旅程,智能驾驶系统已经通过各种传感器“看清”了世界,并通过高精定位和地图精确地知道了“自己在哪”。潜力巨大,能处理极其复杂的交互场景,可能发现人类未曾想到的优化策略,是解决“长尾问题”的希望。规则需要工程师手动编写,无法处理所有未知的“长尾”场景,行为可能显得比较“机械”和“保守”。左侧车道空闲,且规则允许。潜力无限、自学成才的“新星”,代表着未来的方向,但尚未成熟。
2025-11-23 20:44:14
397
原创 第三部分:定位与地图篇——“我在哪里?”与“路在何方?”(第7章:高精地图与SLAM:智能驾驶的“记忆”与“即时认知”)
我们手机里的导航地图(如高德、百度地图)是为。
2025-11-23 11:59:55
404
原创 第三部分:定位与地图篇——“我在哪里?”与“路在何方?”(第6章:高精度定位技术)
对于人类驾驶员,我们通过路标、建筑和记忆中的地图来知道自己身在何处。对于智能驾驶汽车,这个过程同样如此,但要求是厘米级的精度。本章将深入探讨实现这一惊人精度的五大技术支柱。
2025-11-23 11:53:30
29
原创 第二部分:感知篇——汽车的“眼睛”与“耳朵”(第5章:环境感知与理解——从“看见”到“看懂”)
传感器让汽车拥有了“视觉”,但看到的只是一堆原始数据:摄像头得到的是五彩斑斓的像素点阵列;比如,所有属于“道路”的像素被标记为一种颜色,所有“天空”的像素是另一种颜色,“车辆”又是另一种颜色。MOT的任务就是为每个检测到的物体分配一个唯一的ID,并在连续的帧中持续地跟踪这个ID,形成一条条运动轨迹。如示意图第三行左图所示,原始图像被分割成了不同颜色的区域:灰色的道路、绿色的植被、深蓝色的车辆、红色的行人等。对于不规则形状的物体(如行人、自行车),分割能提供比矩形框更精确的轮廓,有助于更安全的碰撞风险评估。
2025-11-23 09:05:30
128
原创 第二部分:感知篇——汽车的“眼睛”与“耳朵”(第4章:多传感器融合——从“各抒己见”到“共识决策”)
想象一下,在一个紧急的军事会议上,侦察兵(摄像头)报告:“发现一个移动的绿色物体!声纳兵(激光雷达)说:“确认一个高约1.7米的实体,距离50米!雷达兵(毫米波雷达)补充:“目标径向速度5米/秒,正在靠近!指挥官需要综合所有这些信息,才能得出唯一正确的结论:“一名身着迷彩的士兵正在以5米/秒的速度向我方靠近。” 这个过程,就是多传感器融合。在智能驾驶中,它就是担任“指挥官”角色的核心技术。
2025-11-19 22:48:38
498
原创 第二部分:感知篇——汽车的“眼睛”与“耳朵”(第3章:传感器技术深度解析)
如果说智能驾驶汽车是一个超级机器人,那么传感器就是它感知世界的“眼睛”和“耳朵”。没有精准可靠的感知,一切决策和控制都是空中楼阁。本章我们将深入探讨摄像头、激光雷达、毫米波雷达和超声波雷达这四大核心传感器,揭开它们如何将物理世界转化为数字信号的神秘面纱。
2025-11-16 18:34:18
487
原创 第一部分:基石篇——智能驾驶概览与基础(第2章:智能驾驶的“身体”与“灵魂”:技术架构详解)
想象一下,你要教会一辆汽车自己开车。它需要具备什么?首先,它需要像人类一样有感官(眼睛和耳朵) 来感知世界,需要一个超级大脑来思考决策,还需要灵巧的手脚来执行命令。同时,这些部分必须用一种高效的“语言”和“神经系统”连接起来,协同工作。这就是本章要探讨的核心——智能驾驶的技术架构。
2025-11-16 17:35:49
426
原创 第一部分:基石篇——智能驾驶概览与基础(第1章:智能驾驶导论)
1.1.1 基本定义智能驾驶,通常也被称为自动驾驶或无人驾驶,它并非指单一的某项技术,而是指通过搭载先进的传感器、控制器、执行器、软件算法等,使汽车能够部分或完全地替代人类驾驶员,在无需人工干预或少量干预的情况下,具备环境感知、行为决策、路径规划与车辆控制能力的综合系统。简单来说,它就是让汽车从一个由人操控的交通工具,转变为一个拥有“眼睛”、“大脑”和“手脚”的智能移动机器人。1.1.2 核心价值:为何需要智能驾驶?
2025-11-16 10:51:36
931
原创 智能驾驶:从感知到规控的自动驾驶系统全解析
我们正处在一个交通出行方式发生革命性变革的时代。智能驾驶,或称自动驾驶技术,不仅仅是汽车产业的未来,更是重塑人类社会移动方式的强大引擎。本专题旨在成为您探索这一领域的全景式指南。我们将摒弃晦涩难懂的黑箱,以清晰的逻辑、详实的解读,带您走过智能驾驶车辆完成一次安全旅程的全过程:它如何“看”到世界,如何“想”清路径,又如何“控”制自身。无论您是汽车工程师、软件开发者、学生,还是对前沿科技充满好奇的爱好者,这本书都将为您提供一个坚实而深入的理解框架。
2025-11-16 10:04:14
1391
原创 Vector、ArrayList、LinkedList
这三者都是实现集合框架中的 List,也就是所谓的有序集合,因此具体功能也比较近似,比如都提供按照位置进行定位、添加或者删除的操作,都提供迭代器以遍历其内容等。但因为具体的设计区别,在行为、性能、线程安全等方面,表现又有很大不同。Vector 是 Java 早期提供的线程安全的动态数组,如果不需要线程安全,并不建议选择,毕竟同步是有额外开销的。Vector 内部是使用对象数组来保存数据,可以根据需要自动的增加容量,当数组已满时,会创建新的数组,并拷贝原有数组数据。ArrayList 是应用更加广泛的
2022-05-25 14:15:19
255
原创 int 和 Integer的比较
1 int和IntegerJDK1.5引入了自动装箱与自动拆箱功能,Java可根据上下文,实现int/Integer,double/Double,boolean/Boolean等基本类型与相应对象之间的自动转换,为开发过程带来极大便利。最常用的是通过new方法构建Integer对象。但是,基于大部分数据操作都是集中在有限的、较小的数值范围,在JDK1.5 中新增了静态工厂方法 valueOf,其背后实现是将int值为-128 到 127 之间的Integer对象进行缓存,在调用时候直接从缓存中获取,
2022-05-24 15:54:34
289
原创 反射与动态代理原理
1 关于反射反射最大的作用之一就在于我们可以不在编译时知道某个对象的类型,而在运行时通过提供完整的”包名+类名.class”得到。注意:不是在编译时,而是在运行时。功能:•在运行时能判断任意一个对象所属的类。•在运行时能构造任意一个类的对象。•在运行时判断任意一个类所具有的成员变量和方法。•在运行时调用任意一个对象的方法。说大白话就是,利用Java反射机制我们可以加载一个运行时才得知名称的class,获悉其构造方法,并生成其对象实体,能对其fields设值并唤起其methods。
2022-05-24 15:17:32
465
原创 String/StringBuffer/StringBuilder
1 String(1) String的创建机理由于String在Java世界中使用过于频繁,Java为了避免在一个系统中产生大量的String对象,引入了字符串常量池。其运行机制是:创建一个字符串时,首先检查池中是否有值相同的字符串对象,如果有则不需要创建直接从池中刚查找到的对象引用;如果没有则新建字符串对象,返回对象引用,并且将新创建的对象放入池中。但是,通过new方法创建的String对象是不检查字符串池的,而是直接在堆区或栈区创建一个新的对象,也不会把对象放入池中。上述原则只适用于通过直接量给
2022-05-24 14:25:53
109
原创 强引用,弱引用,软引用,虚引用
在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为4类。1 强引用特点:我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运行时错误(OOM),使程序异常终止,也不会靠随意回收具有强引用的“存活”对象来解决内存不足的问题。对于一个普通的对象,如果没有其他的引用关系,只要超过了引用的
2022-05-24 13:13:11
207
原创 final、finally、finalize
final、finally、finalize1. final修饰类:不可被继承修饰方法:不可重写修饰变量:不可修改,只能约束引用不可以被再次赋值。(可增删改查,如list.add)匿名内部类访问局部变量时需要使用 final,因为 Innerclass 实际会 copy 一份局部变量,final 可以防止出现数据一致性问题2. finally:Java 保证重点代码一定要被执行的机制,try - finally,除非在 finally 前执行了 System.exit(1)、try
2022-05-23 17:28:32
103
原创 execption和error的区别
假如你开车上山,车坏了,你拿出工具箱修一修,修好继续上路(Exception被捕获,从异常中恢复,继续程序的运行),车坏了,你不知道怎么修,打电话告诉修车行,告诉你是什么问题,要车行过来修。(在当前的逻辑背景下,你不知道是怎么样的处理逻辑,把异常抛出去到更高的业务层来处理)。你打电话的时候,要尽量具体,不能只说我车动不了了。那修车行很难定位你的问题。(要捕获特定的异常,不能捕获类似Exception的通用异常)。还有一种情况是,你开车上山,山塌了,这你还能修吗?(Error:导致你的运行环境进入不正常的状态
2022-05-23 16:35:08
183
原创 java的wirte once , run anywhere
{首先不应该混淆java的编译和其他的语言(比如C)的编译二字的含义,C语言的编译包含两个过程,汇编和编译,C语言代码被汇编之后,会得到汇编语言代码,而编译就是将汇编语言代码翻译称为机器指令代码的过程,然后在经过一个链接的过程生成了一个可执行的文件。所以C语言经历过编译步骤之后直接就变成了可以被平台底层执行的代码了,这个过程是最初的编译的含义。而java的执行过程是,首先通过javac编译java源代码为字节码,然后JVM将这些字节码文件加载进来,加载进来一句,就解释一句,解释出来一句就执行一句,相
2022-05-23 16:15:27
225
原创 虚拟机注意事项
可以用vagrant快速在virtualbox上创建一台虚拟机VirtualBox+Vagrant快速搭建虚拟机_嗑嗑磕嗑瓜子的猫的博客-优快云博客默认虚拟机的 ip 地址不是固定 ip,开发不方便config.vm.network "private_network", ip: "192.168.56.10"这里的 ip 需要在物理机下使用 ipconfig 命令找到改为这个指定的子网地址 重新使用 vagrant up 启动机器即可。然后再 vagrant ssh 连接.
2022-05-19 08:18:06
236
原创 如何解决idea连接数据库时报Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ proper
在url后面加上?serverTimezone=GMT%2B8就可以解决
2021-11-16 09:53:06
703
原创 maven问题
为什么构建项目的时候,会sync:Cannot resolve plugin org.apache.maven.plugins:maven-war-plugin:**呢?疑惑:1、配置没有问题,也出现上面错误。明明我们已经下载了,或者我们从同事那里复制了一份放到我们的Maven本地仓库了,怎么还会报无法解析呢,我理解是线程混乱造成的,本来下载中,因为网络原因造成下载的不完整,下载的jar包有问题,如何解决呢,方案如下!????????????????解决:思路:把原路径文件删了,重新下载。
2021-11-11 16:03:34
565
原创 spring5总结
Spring5 框架概述1、Spring 是轻量级的开源的 JavaEE 框架2、Spring 可以解决企业应用开发的复杂性3、Spring 有两个核心部分:IOC 和 Aop(1)IOC:控制反转,把创建对象过程交给 Spring 进行管理 (2)Aop:面向切面,不修改源代码进行功能增强4、Spring 特点(1)方便解耦,简化开发(2)Aop 编程支持(3)方便程序测试(4)方便和其他框架进行整合(5)方便进行事务操作(6)降低 API 开发难度
2021-11-08 19:00:17
200
原创 maven总结
1.去官网下载推荐下载3.6.1版本 其他版本可能会出现一些错误2.解压maven 得到:3.配置环境变量电脑->属性->高级系统设置4.检查配置是否正确5.建立本地仓库和配置阿里云镜像在maven目录下创建一个文件夹:maven-repo修改配置文件cong下的settings.xml <mirror> <id...
2021-10-31 13:48:04
154
原创 java中的反射总结
了解反射中【反】字的含义前,我们先了解一下【正】。一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化。Apple apple = new Apple(); //直接new对象实例化【正射】apple.setPrice(4);上面这样称为【正】而反射则一开始并不知道我要初始化的类对象是什么,自然也无法使用new关键字来创建对象了。这时候,我们使用JDK提供的反射API进行反射调用Class clz = Class.forNam...
2021-10-27 16:22:13
179
1
原创 java网络编程总结
一.网络编程三要素: IP地址:每个设备在网络中的唯一标识。 端口号:每个程序在设备上的唯一标识。 协议:为计算机网络中进行数据交换而建立的规则或约定的集合。 UDP: 面向无连接,数据不安全,速度快,不区分客户与服务端。 TCP: 面向连接(三次握手),数据安全,速度略低,分客户端和服务端。二.Socket编程:(Java网络编程的主要内容) 套接字使用TCP提供了两台计算机之间的通信机制。 客户端程序创建一个套接字,并尝试连接服务器的套接字。当连接建立
2021-10-26 13:39:20
271
原创 JAVA多线程总结
实现多线程的两种方法 方法1:继承Thread类 public class MyThread extends Thread{ }
2021-10-25 16:56:43
107
原创 static关键字总结
静态方法可以调用静态方法,不可以调用非静态方法非静态方法可以调用静态方法静态成员变量可以用类名. 直接调用非静态的成员变量需要new对象,然后用对象. 来调用静态代码块 static{} 随着类的加载而加载,并且只加载一次...
2021-10-25 09:27:25
74
原创 Java中的位运算
6&3=2 6的二进制:0110 3的二进制:0011 0110 0011 0010 (两个1与才是1) 0010转为10进制为2 所以6&3=26|3=7 0110 0011 0111 (或运算只要有一个1结果就是1) 0111转10进制为7 所以6|3=76...
2021-10-20 17:07:35
137
原创 float类型数据的面试易错点
float f1=67667595955f;float f2=f1+1;System.out.println(f1==f2); //结果时true因为浮点数本身的精度问题在处理大数据而且要求数据准确(如银行)一般用BigDecimal来定义money
2021-10-20 16:13:20
131
原创 MarkDown基本语法
1.#+空格+回车:一级标题 ##+空格+回车:二级标题 ..... 一共有6级2.字体: **内容**:加粗 *内容*:斜体 ***内容***:加粗斜体3.引用: >+空格4.分割线: ---或者***5.图片 6.列表 有序:1.+空格+A2.+空格+B 无序:-+空格+A-+空格+B7.代码``` 语言种类...
2021-10-20 13:44:21
55
原创 MyBatis总结
1. 什么是Mybatismybatis 是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。mybatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句。最后mybatis框架执行sql并将结果映射为java对象并返回。采用ORM思想解决了实体和数据库映射的问题,对jd
2021-10-17 11:11:14
1911
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅