自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码打印中文乱码

代码文件用txt打开—文件–编码—设置为ANSI。

2026-09-22 11:02:14 134

原创 工程数据播放帧率慢、卡顿原因

1.ofstream 改为 static 持久句柄,首次打开后常开,每帧仅 flush() 刷新缓冲区;plan 分支每帧调用 CreatePictureWindow 重复创建子窗口(句柄泄漏,越播越卡)。1.每帧 std::ofstream 打开/关闭 zyt.csv(组件打印,需保留但可优化句柄);每帧 fopen / fclose 两个 CSV 文件;

2026-09-22 10:59:48 147

原创 excle使用技巧

按 Ctrl + Shift + End 选中到数据末尾;双击:自动填充到与左侧 CL 列有数据的最后一行;按 Ctrl + D 向下填充。或向下拖动:手动选择填充范围。2.复制 应用公式。

2026-09-16 11:23:28 217

原创 LQR算法

车辆横向控制的LQR(线性二次型调节器)算法,是自动驾驶中用于精确跟踪参考路径的核心技术。它的核心逻辑是:通过状态反馈,以最小的转向控制能量,将车辆的横向偏差和航向偏差同时收敛到零。

2026-08-17 15:42:23 680

原创 MPC算法

在每个采样时刻,基于当前状态求解一个有限时域的最优控制问题(通常为二次型性能指标,如最小化跟踪误差和控制量变化)。基于系统当前状态和未来输入,通过数学模型(如状态空间方程、传递函数或非线性模型)预测系统未来的输出。实际系统存在模型失配和外部扰动,MPC通过实时测量当前状态(或输出)来修正预测模型,避免误差累积。模型精度直接影响控制效果,常用方法包括线性模型、非线性模型或数据驱动模型(如神经网络)。求解后,只执行当前时刻的第一个控制量,下一时刻重新求解,形成“滚动”机制,实现闭环反馈。

2026-08-17 15:34:23 345

原创 总线raw->物理值转化

raw= ( 物理值 - offset )/ factor。发到总线的raw=((-8)+ 10 )*100。举例,总线加速度信号acc,单位m/s2,我们需要发出去的物理值是 -8m/s2。

2026-08-05 16:09:33 231

原创 memset、memcpy

memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:(地址)为指针或是数组,c:是赋给buffer的值,count:是buffer的长度.memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法 [1]。src待复制数据起始地址的连续n个字节的数据拷贝到以destin指向地址为起始地址的空间内,是用指针进行操作的。

2026-03-16 17:22:59 42

原创 程序执行-等待-退出...常用函数

【代码】程序执行-等待-退出...常用函数。

2026-01-22 11:12:32 108

原创 统计算法耗时

【代码】统计算法耗时。

2025-12-23 14:35:12 135

原创 车辆跟踪失效原因——车速、路径曲率、方向盘转速之间的约束关系

当规划路径曲率变化剧烈时,所需方向盘转速度超出执行器能力,导致跟踪误差累积。即使曲率值合理,但曲率变化率dκ/ds突变,控制无法实时跟随。车辆响应滞后,切入弯道时已过晚;

2025-12-23 11:41:45 302

原创 Python——文件批量处理

【代码】Python——文件批量处理。

2025-12-19 15:27:24 208

原创 CANOE——通过环境变量将canoe信号加减运算的结果后输出到graphic绘图界面

通过环境变量将canoe信号加减运算的结果后输出到graphic绘图界面

2025-12-10 17:12:21 291

原创 CANOE——can日志数据处理

【代码】can日志数据处理。

2025-12-08 19:39:09 411

原创 关于前馈神经网络

前馈神经网络初始权重是随机的,后续权重更新是在前一个样本更新后的权重基础上,即每个样本更新一次权重。迭代次数=训练轮数*样本数量1.反向传播顺序:从输出层开始,逐层向后计算δ,再用前向传播时保存的 a (l)和旧权重 计算梯度。2.在线学习(随机梯度下降):每个样本更新一次权重。批量学习:所有样本前向传播后,累加每个样本的 Δw 和 Δb然后求平均(或总和)再更新。3.logsig 特性:导数可用激活值直接计算,无需重新计算 z。

2025-12-05 17:03:54 525

原创 垂直加速度与车身高度

车身高度传感器通过CAN总线返回车身与悬架下摆臂的相对位移量。垂直地面方向的振动和加速度变化。

2025-12-01 16:52:35 202

原创 python入门

Python3 中常见的数据类型有:Number(数字): int、float、bool、complex(复数)String(字符串)bool(布尔类型)List(列表)Tuple(元组)Set(集合)Dictionary(字典)变量赋值、变量索引、变量类型转换counter = 100 # 整型变量miles = 1000.0 # 浮点型变量name = "runoob" # 字符串#列表a=[1,2,3]#集合。

2025-12-01 10:20:49 768

原创 CANOE——将can日志数据提取到excle中

读取.blf文件,提取信号can::HAP_FD1::BrkDistance并按照20ms的帧率存储到excle中。

2025-05-28 17:53:21 973

原创 VS乱码问题

UTF-8编码有一个额外的好处,就是ASCII编码实际上可以被看成是UTF-8编码的一部分,所以,大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。能够表示全世界所有的字节,最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。VS菜单栏中找到 工具——自定义——命令——文件——添加命令——文件——高级保存选项。代码文件用文本打开(txt)——文件——编码。代码如果不支持UTF-8带签名,可以改成。打开VS——文件——高级保存选项——编码。

2025-04-30 17:14:53 1327

原创 二元数组及其应用

1.定义a[][]时,不给长度,之后访问容易出错2.定义a[5][10000],给数组长度,长度太大,堆栈容易溢出。3.采用指针动态分配内存。// 动态分配内存// 为每一行分配内存i++) {//**代码片**//// 释放内存i < 5;delete[] b;delete[] c;

2025-04-07 16:34:08 313

原创 向控制台输出打印

建立控制台应用–打开控制台。2.向控制台输出打印。

2025-01-08 11:13:43 515

原创 CANOE——CAPL——定时器用法

NULL:默认触发OnTimer函数。(可以是回调函数名)1000:时间间隔,单位是毫秒;功能:每隔一定时间触发一次事件。NULL: 默认是主进程调用。当不需要计时器的时候调用。ID:计时器的名称;

2024-08-28 15:06:19 1372

原创 CANOE——IG仿真--下发信号

CANOE——IG仿真

2024-04-28 16:20:55 751

原创 CANOE——创建一个数据库DBC文件

2.建信号signals——右击add——双击信号,编辑信号内容3.建报文messagemessages——右击add4.报文与节点关联节点设置 接受报文和下发报文。

2024-02-24 15:49:22 526

原创 变量定义声明以及初始化&内存关系

变量在定义时被分配内存,并且变量可以指定一个初始化的值。定义的类型决定了变量占用的存储空间大小。声明在该程序中指定了变量的类型和名称。定义也是一种声明:当我们定义一个变量时,我们声明了它的名字和类型。我们也可以通过使用extern关键字来声明一个变量的名字而不用定义。**变量只能在这个程序中定义一次,声明可以多次。**定义也是一种声明**声明是不分配内存的,声明语句在程序外边。**一个变量所占用的存储空间,变量类型、编译器环境。

2024-01-22 15:56:16 613

原创 指针及其用法

指针是一个,它存储的是一个。这个地址指向的是另一个变量或数据的位置,也就是说,指针可以直接访问内存中的数据。在C语言中,我们可以通过指针来实现参数传递、动态内存分配、数组的操作等。

2024-01-16 11:33:11 520

原创 C#和C++存储 和 解析 bin 文件

【代码】C#和C++存储 和 解析 bin 文件。

2024-01-04 18:56:13 1136

原创 #C、C++文件读写操作

【代码】文件读写操作。

2024-01-03 17:07:55 571

原创 模型的线性化与离散化方法

模型的线性化与离散化方法

2023-12-27 16:11:27 1882

原创 论文 排版

论文格式调整页眉-不同章节设置不同页眉页面布局-分隔符-下一页页码-正文重新从1记页数待写???

2023-11-30 19:02:11 136

原创 vector

学习C++ -> 向量(vector)一、向量的介绍向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。在使用它时, 需要包含头文件 vector, #include<vector>vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要

2023-11-30 19:00:19 213

原创 VS的创建解决方案、项目、调试

在Visual Studio中,可以通过创建解决方案和项目。是一个容器,用于组织一个或多个相关的代码项目,例如, 类库项目和对应的 测试项目。打开某个解决方案时,Visual Studio 会自动加载该解决方案包含的所有项目。

2023-11-30 18:55:59 1794

原创 常见预处理

它的作用是当“标识符”没有由#define定义过,则编译“程序段1”,否则编译“程序段2”。格式:#define 标识符 字符串并不是所有情况下#define所定义的字符串都会被替换,有一种特殊情况:被替换的字符串在""内#define MX 10 //一般把#define写在所有函数之外(a) : (b))//宏定义函数if (state)//int main()//宏定义表达式1.定义位置:在某个函数内,还是在所有函数之外(不太建议把#define写在函数内),

2023-11-30 14:00:39 205

原创 运行-内存

内存与调用

2023-07-26 11:34:31 190

原创 车辆纵向加速度传感器

2.不同的加速度产生不同的压力,转化为电信号,然后模数转换得到数字信号。1.相当于摆钟一样的质量块——受到与加速度方向相反的惯性力作用。车头朝下——摆钟偏离车身往前——相当于减速的惯性——为负。车头朝上——摆钟偏离车身往后——相当于加速的惯性——为负。车头朝下——车静止在坡上时,实际加速度显示为。车头朝上——车静止在坡上时,实际加速度显示为。静止时,质量块垂直于车身,表示加速度为0。运用不同的电阻来区分不同的加速度。加速时,质量块由于惯性往后运动;减速时,质量块由于惯性往前运动。物理惯性原理——电阻。

2023-04-24 20:00:57 2307

原创 canoe系统变量与环境变量

canoe 系统变量与环境变量

2023-03-13 20:39:04 448

原创 CANoe常见故障

CANoe常见故障

2023-03-03 20:26:08 5015

原创 DBC字节排序

字节排序

2023-02-13 20:38:06 1134

原创 CANoe软件通道与硬件通道的映射配置

canoe软硬件通道映射

2023-01-17 17:29:19 5014 1

原创 c、c++写入文件

c、c++写入文件。

2022-10-09 16:41:49 287

原创 进制的转换

进制

2022-08-18 14:10:22 718

空空如也

空空如也

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

TA关注的人

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