- 博客(69)
- 收藏
- 关注
原创 带延迟的运动学 MPC 中,车速最小约束的核心作用
在带延迟的运动学 MPC 中,的核心作用是避免车速趋近于 0 时,状态矩阵A出现奇异、模型预测失真或控制指令震荡,进而平衡 “计算精确性”(模型与真实车辆动态匹配)和 “响应性”(控制指令及时、无过度延迟)。
2025-12-04 16:01:35
305
原创 std::lower_bound 深度解析
C++中的std::lower_bound是二分查找算法,用于在已排序序列中查找第一个不小于给定值的元素。它要求输入范围必须是有序的,返回指向目标元素的迭代器或end()。时间复杂度为O(logN)(随机访问)或O(N)(非随机访问)。支持自定义比较函数,适用于基础类型和自定义类型。使用时需注意边界检查,确保比较规则与排序一致。与upper_bound和equal_range形成互补关系。典型应用场景包括有序数组查询、自定义结构体查找等,是高效查找的重要工具。
2025-10-28 11:49:25
777
原创 C++ Lambda表达式深度解析
C++ Lambda表达式核心技术解析 摘要:Lambda表达式是C++11引入的匿名函数对象,其核心包括捕获列表、参数列表、返回类型和函数体。编译器会将Lambda转换为匿名类,包含捕获变量和重载的operator()。捕获方式支持值捕获(=)、引用捕获(&)、混合捕获及初始化捕获(C++14)。典型应用包括STL算法回调、自定义排序和多条件比较。无捕获的Lambda可隐式转换为函数指针,每个Lambda表达式都有唯一类型。通过闭包机制,Lambda可高效实现回调函数、算法策略等场景,是函数式编程
2025-10-28 11:41:46
402
原创 黄金分割搜索算法(Golden Section Search)实现原理深度解析
黄金分割法是一种基于黄金比例φ=(1+√5)/2的单峰函数优化算法。通过将搜索区间[a,b]按φ比例分割为c、d两点,比较f(c)和f(d)的值,每次迭代可缩减约38.2%的区间,保留包含极值点的子区间。该算法只需每次迭代计算一次新函数值,具有线性收敛速度,比二分法更高效。文中给出了完整的C++实现,包括边界检查、函数值缓存等优化,并验证了算法在抛物线函数上的有效性。
2025-10-27 17:12:22
622
原创 C++ try-catch 异常处理机制详解
C++异常处理机制通过try-catch-throw结构实现程序错误控制。try块监控可能出错的代码,throw抛出异常,catch捕获并处理特定类型异常。关键特性包括:异常传播机制、栈展开(自动调用析构函数)、自定义异常类继承体系(推荐继承std::exception)以及RAII资源管理模式。异常处理使错误逻辑与业务逻辑分离,但需注意性能开销(比正常返回慢10-100倍)。现代C++建议优先使用标准异常类型,多线程避免异常跨线程传播,C++17可用std::optional替代部分异常场景。
2025-10-17 17:31:50
965
原创 五次多项式平滑过渡曲线的原理与C++实现
本文阐述了在路径规划中使用五次多项式生成平滑过渡段的数学原理与实现方法。五次多项式能同时满足位置、方向(一阶导)和曲率(二阶导)的连续性要求。通过建立6个边界条件方程(起止点的位置、方向和曲率)求解多项式系数,并转化为矩阵形式利用Eigen库求解。文中提供了完整的C++实现,包括状态结构体定义、多项式类实现及曲率计算功能。该方案通过约束二阶导数保证曲率连续,可灵活调整过渡段长度,适用于机器人路径规划等需要平滑轨迹的场景。代码示例展示了从路径A到路径B的过渡曲线生成过程。
2025-09-28 10:21:46
387
原创 路径平滑连接方法
摘要:针对路径过渡段横向偏差导致的方向盘抖动问题,提出采用几何曲线连接与控制策略协同的解决方案。路径平滑方面,推荐使用五次多项式或Clothoid曲线实现位置、方向和曲率的连续过渡;控制算法上建议采用带转向角变化率约束的MPC或改进型纯跟踪控制。关键参数包括过渡段长度(车速×2-3秒)、最大曲率变化率(<0.1m⁻¹/m)及转向速率限制(<15°/s)。通过离线路径预处理(曲率检查)与在线控制(结合滤波和速率限制)的协同优化,可有效抑制抖动。典型应用表明,该方案在高速公路匝道和城市转向等场景中能兼顾跟踪精度
2025-09-26 17:08:50
1154
原创 低通滤波器、中值滤波器、均值滤波器详细对比分析
本文比较了三种常见滤波器的核心原理与适用场景:1. 均值滤波器(线性空域):通过邻域平均消除高斯噪声,但会导致边缘模糊和噪声扩散;2. 中值滤波器(非线性空域):基于排序剔除椒盐噪声,边缘保护能力强但对高斯噪声效果差;3. 低通滤波器(频域):通过抑制高频成分处理高斯噪声,但会模糊边缘。三者本质差异在于处理维度(频域/空域)和计算逻辑(线性/非线性)。选择建议:椒盐噪声用中值滤波,高斯噪声优选低通滤波(或均值滤波),需权衡边缘保护与计算效率时可考虑改进型滤波器。
2025-09-26 10:00:38
1161
原创 中值滤波器原理及C++实现
中值滤波器是一种非线性信号处理技术,通过滑动窗口内像素值的中值替代中心像素值,有效抑制噪声。其核心原理包括:1)基于顺序统计理论,对极端值不敏感;2)窗口大小通常为奇数以确保唯一中值;3)能有效消除椒盐噪声等脉冲噪声同时保留边缘信息。实现方式包含一维信号处理和二维图像处理,采用边界填充策略避免数组越界。相比均值滤波和高斯滤波,中值滤波在去除脉冲噪声和保持边缘方面具有优势,但计算复杂度较高。该技术广泛应用于传感器数据去噪、医学图像处理等领域。
2025-09-25 17:32:31
653
原创 C++ std::list 原理与使用详解
摘要 std::list是C++ STL中的双向链表,通过指针链接非连续存储的节点,支持O(1)复杂度的插入/删除操作,但随机访问需O(n)时间。其迭代器稳定(仅删除元素时失效),提供高效专属操作如splice(转移元素)、merge(合并有序链表)、sort和reverse。与vector和deque相比,list适合频繁中间修改的场景,但内存开销较大且不支持随机访问。典型应用包括链表结构、日志系统等需动态增删的场景。
2025-09-17 17:32:20
760
原创 C++互斥锁使用详解与案例分析
本文介绍了C++多线程编程中互斥锁的使用原理与方法。互斥锁通过加锁-解锁机制解决多线程环境下的数据竞争问题,确保共享资源的原子访问。重点讲解了std::mutex的基本用法以及RAII风格的std::lock_guard和std::unique_lock包装器,前者自动管理锁生命周期,后者提供更灵活的锁控制。文章通过计数器案例演示了互斥锁的实际应用,并分析了死锁风险及解决方案(如固定锁顺序、使用std::lock函数)。最后指出性能优化方向,建议缩小临界区范围或使用原子操作替代锁。
2025-09-09 11:44:01
951
原创 C++ unordered_map使用与原理详解
详细讲解C++ unordered_map使用与原理详解,并比较unordered_map和map 的区别
2025-07-09 14:43:38
1043
原创 制动系统故障定义与诊断标准
此分级诊断框架符合汽车功能安全标准,可集成至车辆电子稳定系统(ESC)或专用制动控制单元中,实现毫秒级故障检测与分级响应。
2025-07-04 16:41:02
1541
原创 C++ switch 语句使用方法
C++中的switch语句是一种多分支选择结构,通过表达式匹配case标签执行对应代码块。基本语法包括switch(expression)、case常量、break和default子句。break用于防止case穿透,default处理未匹配情况。示例展示了根据day变量输出星期几的用法。switch可嵌套使用,外层和内层分别匹配不同变量值。此外,switch可与if-else嵌套,在case中进一步条件判断。当case中使用return语句时,可省略break,因为return会直接终止函数执行。关键点包
2025-07-03 17:55:52
1183
原创 汽车行驶阻力与加速度计算推导
本文推导完整描述了车辆纵向动力学模型,可用于高级驾驶辅助系统(ADAS)、车辆控制系统和故障诊断系统的开发。实际应用中需根据具体车辆参数进行校准,特别是空气阻力系数和滚动阻力系数的确定对模型精度至关重要。
2025-07-02 10:11:30
1944
原创 boost/date_time/posix_time及chrono库高精度计时详细总结
本文主要介绍了及时器相关的time_duration、ptime、time_period、ticks、microsec_clock::local_time()、not_a_date_time、等的用法总结。
2024-11-01 15:38:43
1101
原创 C++ 之Eigen库常用法回顾总结
Eigen库是C++中用于线性代数运算的高性能模板库,支持矩阵、向量和数值计算。核心功能包括:矩阵定义与初始化(静态/动态矩阵)、基础运算(加减乘除、转置、逆矩阵等)、特殊矩阵生成(单位阵、零矩阵等)。向量操作支持多种初始化方式和运算。解线性方程组推荐使用QR分解法(colPivHouseholderQr().solve())而非直接求逆,因其数值稳定性更高。Eigen库通过头文件包含即可使用,适合处理各类线性代数问题,尤其适合需要高性能计算的场景。
2024-10-31 11:41:37
3917
原创 均值滤波算法及实现
均值滤波器是一种基础图像处理技术,通过计算邻域像素平均值来平滑图像并抑制噪声。其核心原理是使用滑动窗口(如3x3、5x5)对图像进行局部平均处理,具有计算简单、处理速度快的特点,适用于高斯噪声但对椒盐噪声效果较差。存在边缘模糊和振铃效应等局限,可通过加权均值和自适应滤波优化。实际应用需根据噪声类型选择参数,窗口越大平滑效果越强但细节损失越多。文末提供了C语言实现的加权均值滤波代码示例,展示了权重系数对处理结果的影响。该技术在图像预处理、医学影像等领域有广泛应用。
2024-07-18 17:23:20
2445
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1