<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[niuboshi的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/niuboshi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; niuboshi]]></copyright><item><title><![CDATA[代码打印中文乱码]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/166349592</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/166349592</guid><author>niuboshi</author><pubDate>Tue, 22 Sep 2026 11:02:14 +0800</pubDate><description><![CDATA[代码文件用txt打开—文件–编码—设置为ANSI。]]></description><category></category></item><item><title><![CDATA[工程数据播放帧率慢、卡顿原因]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/166346919</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/166346919</guid><author>niuboshi</author><pubDate>Tue, 22 Sep 2026 10:59:48 +0800</pubDate><description><![CDATA[1.ofstream 改为 static 持久句柄，首次打开后常开，每帧仅 flush() 刷新缓冲区；plan 分支每帧调用 CreatePictureWindow 重复创建子窗口（句柄泄漏，越播越卡）。1.每帧 std::ofstream 打开/关闭 zyt.csv（组件打印，需保留但可优化句柄）；每帧 fopen / fclose 两个 CSV 文件；]]></description><category></category></item><item><title><![CDATA[excle使用技巧]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/165597996</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/165597996</guid><author>niuboshi</author><pubDate>Wed, 16 Sep 2026 11:23:28 +0800</pubDate><description><![CDATA[按 Ctrl + Shift + End 选中到数据末尾；双击：自动填充到与左侧 CL 列有数据的最后一行；按 Ctrl + D 向下填充。或向下拖动：手动选择填充范围。2.复制  应用公式。]]></description><category></category></item><item><title><![CDATA[LQR算法]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/163826778</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/163826778</guid><author>niuboshi</author><pubDate>Mon, 17 Aug 2026 15:42:23 +0800</pubDate><description><![CDATA[车辆横向控制的LQR（线性二次型调节器）算法，是自动驾驶中用于精确跟踪参考路径的核心技术。它的核心逻辑是：通过状态反馈，以最小的转向控制能量，将车辆的横向偏差和航向偏差同时收敛到零。]]></description><category></category></item><item><title><![CDATA[MPC算法]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/163826298</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/163826298</guid><author>niuboshi</author><pubDate>Mon, 17 Aug 2026 15:34:23 +0800</pubDate><description><![CDATA[在每个采样时刻，基于当前状态求解一个有限时域的最优控制问题（通常为二次型性能指标，如最小化跟踪误差和控制量变化）。基于系统当前状态和未来输入，通过数学模型（如状态空间方程、传递函数或非线性模型）预测系统未来的输出。实际系统存在模型失配和外部扰动，MPC通过实时测量当前状态（或输出）来修正预测模型，避免误差累积。模型精度直接影响控制效果，常用方法包括线性模型、非线性模型或数据驱动模型（如神经网络）。求解后，只执行当前时刻的第一个控制量，下一时刻重新求解，形成“滚动”机制，实现闭环反馈。]]></description><category></category></item><item><title><![CDATA[总线raw-＞物理值转化]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/163507714</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/163507714</guid><author>niuboshi</author><pubDate>Wed, 05 Aug 2026 16:09:33 +0800</pubDate><description><![CDATA[raw= （ 物理值 - offset ）/ factor。发到总线的raw=（（-8）+ 10 ）*100。举例，总线加速度信号acc，单位m/s2，我们需要发出去的物理值是 -8m/s2。]]></description><category></category></item><item><title><![CDATA[memset、memcpy]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/159126771</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/159126771</guid><author>niuboshi</author><pubDate>Mon, 16 Mar 2026 17:22:59 +0800</pubDate><description><![CDATA[memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer：（地址）为指针或是数组,c：是赋给buffer的值,count：是buffer的长度.memset：作用是在一段内存块中填充某个给定的值，它是对较大的结构体或数组进行清零操作的一种最快方法 [1]。src待复制数据起始地址的连续n个字节的数据拷贝到以destin指向地址为起始地址的空间内，是用指针进行操作的。]]></description><category></category></item><item><title><![CDATA[程序执行-等待-退出...常用函数]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/157249565</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/157249565</guid><author>niuboshi</author><pubDate>Thu, 22 Jan 2026 11:12:32 +0800</pubDate><description><![CDATA[【代码】程序执行-等待-退出...常用函数。]]></description><category></category></item><item><title><![CDATA[统计算法耗时]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/156196046</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/156196046</guid><author>niuboshi</author><pubDate>Tue, 23 Dec 2025 14:35:12 +0800</pubDate><description><![CDATA[【代码】统计算法耗时。]]></description><category></category></item><item><title><![CDATA[车辆跟踪失效原因——车速、路径曲率、方向盘转速之间的约束关系]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/156191410</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/156191410</guid><author>niuboshi</author><pubDate>Tue, 23 Dec 2025 11:41:45 +0800</pubDate><description><![CDATA[当规划路径曲率变化剧烈时，所需方向盘转速度超出执行器能力，导致跟踪误差累积。即使曲率值合理，但曲率变化率dκ/ds突变，控制无法实时跟随。车辆响应滞后，切入弯道时已过晚；]]></description><category></category></item><item><title><![CDATA[Python——文件批量处理]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/156081414</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/156081414</guid><author>niuboshi</author><pubDate>Fri, 19 Dec 2025 15:27:24 +0800</pubDate><description><![CDATA[【代码】Python——文件批量处理。]]></description><category></category></item><item><title><![CDATA[CANOE——通过环境变量将canoe信号加减运算的结果后输出到graphic绘图界面]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/155785623</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/155785623</guid><author>niuboshi</author><pubDate>Wed, 10 Dec 2025 17:12:21 +0800</pubDate><description><![CDATA[通过环境变量将canoe信号加减运算的结果后输出到graphic绘图界面]]></description><category></category></item><item><title><![CDATA[CANOE——can日志数据处理]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/155714148</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/155714148</guid><author>niuboshi</author><pubDate>Mon, 08 Dec 2025 19:39:09 +0800</pubDate><description><![CDATA[【代码】can日志数据处理。]]></description><category></category></item><item><title><![CDATA[关于前馈神经网络]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/155612511</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/155612511</guid><author>niuboshi</author><pubDate>Fri, 05 Dec 2025 17:03:54 +0800</pubDate><description><![CDATA[前馈神经网络初始权重是随机的，后续权重更新是在前一个样本更新后的权重基础上，即每个样本更新一次权重。迭代次数=训练轮数*样本数量1.反向传播顺序：从输出层开始，逐层向后计算δ，再用前向传播时保存的 a (l)和旧权重 计算梯度。2.在线学习（随机梯度下降）：每个样本更新一次权重。批量学习：所有样本前向传播后，累加每个样本的 Δw 和 Δb然后求平均（或总和）再更新。3.logsig 特性：导数可用激活值直接计算，无需重新计算 z。]]></description><category></category></item><item><title><![CDATA[垂直加速度与车身高度]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/155455481</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/155455481</guid><author>niuboshi</author><pubDate>Mon, 01 Dec 2025 16:52:35 +0800</pubDate><description><![CDATA[车身高度传感器通过CAN总线返回车身与悬架下摆臂的相对位移量。垂直地面方向的振动和加速度变化。]]></description><category></category></item><item><title><![CDATA[python入门]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/155352909</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/155352909</guid><author>niuboshi</author><pubDate>Mon, 01 Dec 2025 10:20:49 +0800</pubDate><description><![CDATA[Python3 中常见的数据类型有：Number（数字）： int、float、bool、complex（复数）String（字符串）bool（布尔类型）List（列表）Tuple（元组）Set（集合）Dictionary（字典）变量赋值、变量索引、变量类型转换counter = 100 # 整型变量miles = 1000.0 # 浮点型变量name = "runoob" # 字符串#列表a=[1,2,3]#集合。]]></description><category></category></item><item><title><![CDATA[CANOE——将can日志数据提取到excle中]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/148288355</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/148288355</guid><author>niuboshi</author><pubDate>Wed, 28 May 2025 17:53:21 +0800</pubDate><description><![CDATA[读取.blf文件，提取信号can::HAP_FD1::BrkDistance并按照20ms的帧率存储到excle中。]]></description><category></category></item><item><title><![CDATA[VS乱码问题]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/147636242</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/147636242</guid><author>niuboshi</author><pubDate>Wed, 30 Apr 2025 17:14:53 +0800</pubDate><description><![CDATA[UTF-8编码有一个额外的好处，就是ASCII编码实际上可以被看成是UTF-8编码的一部分，所以，大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。能够表示全世界所有的字节，最常用的是用两个字节表示一个字符（如果要用到非常偏僻的字符，就需要4个字节）。VS菜单栏中找到 工具——自定义——命令——文件——添加命令——文件——高级保存选项。代码文件用文本打开（txt）——文件——编码。代码如果不支持UTF-8带签名，可以改成。打开VS——文件——高级保存选项——编码。]]></description><category></category></item><item><title><![CDATA[二元数组及其应用]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/147047192</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/147047192</guid><author>niuboshi</author><pubDate>Mon, 07 Apr 2025 16:34:08 +0800</pubDate><description><![CDATA[1.定义a[][]时，不给长度，之后访问容易出错2.定义a[5][10000]，给数组长度，长度太大，堆栈容易溢出。3.采用指针动态分配内存。// 动态分配内存// 为每一行分配内存i++) {//**代码片**//// 释放内存i < 5;delete[] b;delete[] c;]]></description><category></category></item><item><title><![CDATA[向控制台输出打印]]></title><link>https://blog.youkuaiyun.com/niuboshi/article/details/144981541</link><guid>https://blog.youkuaiyun.com/niuboshi/article/details/144981541</guid><author>niuboshi</author><pubDate>Wed, 08 Jan 2025 11:13:43 +0800</pubDate><description><![CDATA[建立控制台应用–打开控制台。2.向控制台输出打印。]]></description><category></category></item></channel></rss>