自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 【自动驾驶】自动紧急制动(AEB)的控制策略、测试及评价

Autonomous Emergency Breaking,自动紧急制动:Forward Collision Warning,前向碰撞预警:Time To Collision ,碰撞时间:China New Car Assessment Program,中国新车评价规程:European New Car Assessment Program,欧洲新车评价规程:Car to Car Stationary,前车静止:Car to Car Moving,前车慢行:Car to Car Braking,前车制动。

2024-09-12 14:46:05 1365

原创 基于Matlab/Simulink、CarSim、PreScan的联合仿真

点击Send to Simulink按钮(当在CarSim中进行修改后,也需要点击该按钮),工作目录下生成simfile.sim文件,同时在simulink中会新打开一个页面包含CarSim S-Function模块,即可表明Matlab/Simulink与CarSim连通成功。由于PreScan中Lane Marker传感器的精度以及在拟合时使用的拟合点较少,使得拟合得到的车道线参数呈现小幅的周期波动,从而造成车辆与车道中心线之间的距离误差呈现小幅的周期波动,后续对感知信息的处理可以再进一步优化。

2024-09-05 16:42:00 1156

原创 基于车辆动力学模型的自动驾驶车辆横向控制

分别为横向距离误差、横向距离误差变化率、航向角误差、航向角误差变化率,将式(2-3)写成式(2-4)的形式,此即为横向误差控制模型。(2)忽略悬架的作用,车身只做平行于地面的平面运动,即忽略沿z轴的垂向运动、绕y轴的俯仰运动以及绕x轴的侧倾运动;因此为消除稳态误差带来的影响,考虑在反馈控制的基础上加入前馈控制,引入前馈值。但是在第二节中推导得到的式(2-4)横向误差控制模型中,多了一部分。(5)驱动力不大,不考虑地面切向力对轮胎侧偏特性的影响,没有空气动力的作用;在式(1-4)的基础上, 令航向角误差。

2024-09-05 16:32:38 1026

原创 自动驾驶车道线拟合

假设采用n次多项式对m个采样点进行最小二乘法拟合,分别为m个采样点的坐标,根据这m个采样点拟合的n次多项式为我们的目的是通过m个采用点的坐标数据,求得n次多项式中的系数,即。

2024-09-05 11:25:44 364

原创 ubuntu中使用vscode 无法找到Python.h头文件

在Ubuntu vscode 中使用cmake进行项目构建时,执行cmake ..指令时未报错,执行make指令后报错,报错信息如下,表明无法找到Python.h头文件。python.h的存放位置为/usr/include/python x.x(x.x表示你安装的对应版本)2.2输入C/C++,打开JSON配置文件。1.检查是否安装Python库。2.1按F1启动指令输入框。2.尝试配置头文件路径。

2024-08-23 15:51:19 377

原创 EM Planner和Lattice Planner对比

已知起始状态,对末状态进行采样。

2024-08-22 17:22:33 611

原创 Cmake基础知识及项目构建

Cmake是一个跨平台的项目构建工具,能够自动化生成本地化的Makefile和工程文件,最后通过make编译即可,因此可以将Cmake看成是一款自动生成Makefile的工具。图1-1 编译流程蓝色虚线表示使用makefile构建项目的过程红色实线表示使用cmake构建项目的过程跨平台能够管理大型项目简化编译构建过程和编译过程可扩展:可以为 cmake 编写特定功能的模块,扩充 cmake 功能EXECUTABLE_OUTPUT_PATH:可执行程序存放位置,放在bin文件夹中。

2024-08-15 11:20:54 191

原创 Linux下基于vscode和Cmake的C++开发

以自动驾驶中的横向控制为例,对Linux下基于vscode和Cmake的C++开发进行说明。

2024-08-14 17:33:18 118

原创 卡尔曼滤波的具体推导过程

卡尔曼滤波器通过将多个传感器或测量器的数据进行融合,利用概率论和线性系统理论对状态进行估计和预测,从而有效地解决了不确定性带来的问题。它能够根据先验知识和测量信息来递归地更新状态估计,并提供对未来状态的最优预测。

2024-08-14 17:31:54 123

原创 C++面向对象基础知识

struct和class的区别在于默认访问权限不同,class中通过将成员属性设置为私有,可自己控制读写权限,保证数据的隐私与安全。C++程序在执行时,将数据存放在不同的区域,赋予其不同的生命周期,给编程以更多的灵活性。人可以作为对象,属性有姓名、年龄、身高、体重…,行为有走、跑、跳、吃饭、唱歌…​ 车也可以作为对象,属性有轮胎、方向盘、车灯…引用的本质是一个指针常量(即该指针是一个常量,指针所指向的值可以更改)​ 具有相同性质的对象,我们可以抽象称为类,人属于人类,车属于车类。

2024-08-13 15:56:06 476

原创 自动驾驶LQR横向控制算法C++实现

getState状态量获取==>calcTrackError计算跟踪误差==>stateSpace离散化==>lqrControl计算前轮转角==>updateState状态量更新==>画图==>循环。compute_state_derivative:计算得到state_dot。GenerateStateSpace:得到横向误差模型中的A、B、C矩阵。DiscreteStateSpace:离散化得到A_bar, B_bar。stateSpace:模型离散化后得到A、B矩阵。getState:状态量获取。

2024-08-13 10:56:24 794

原创 Ling的个人记录汇总

1.自动驾驶控制算法1.1车辆运动学模型1.2车辆动力学模型1.3车辆横向误差模型1.4LQR前馈+反馈1.5Carsim/Simulink/Prescan联合仿真2.控制算法C++开发2.1C++基础2.2基于vscode和Cmake的C++开发2.3Linux下C++横向控制算法开发3.自动驾驶相关基础知识3.1卡尔曼滤波3.2矩阵求导4.自动驾驶测试5.基于视觉的车道线识别5.1传统方法5.2深度学习方法6.读书6.1书单6.

2024-08-12 16:12:47 123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除