- 博客(4)
- 收藏
- 关注
原创 毫秒级决策,秒级游动:基于MPC的仿生鱼智能控制仿真
本文设计的MPC算法计算效率高,但是不能保证全局最优解,亦即牺牲一定的求解精度来获取更高的计算速度。在实际应用中,应该考虑计算速度和求解精度两者的平衡协调,而不应把全部筹码压到其中一者身上。另外,由于现有传感器的感知误差,即使动力学模型非常准确、能求到最优解,也不能保证控制效果,因为本身反馈校正就带有观测误差了,也就是说预测的初始状态就已经不准确了,也就无法保证预测的状态的准确性。因此,提高整体的控制效果,应综合考虑算法、硬件、扰动等各种因素进行分析。
2025-07-17 20:49:21
978
原创 毫秒级决策,秒级游动:基于MPC的仿生鱼智能控制仿真
本文设计的MPC算法计算效率高,但是不能保证全局最优解,亦即牺牲一定的求解精度来获取更高的计算速度。在实际应用中,应该考虑计算速度和求解精度两者的平衡协调,而不应把全部筹码压到其中一者身上。另外,由于现有传感器的感知误差,即使动力学模型非常准确、能求到最优解,也不能保证控制效果,因为本身反馈校正就带有观测误差了,也就是说预测的初始状态就已经不准确了,也就无法保证预测的状态的准确性。因此,提高整体的控制效果,应综合考虑算法、硬件、扰动等各种因素进行分析。
2025-07-16 23:51:07
851
1
原创 stm32使用DMA实现串口发送printf函数
笔者在用stm32做数据采集的时候遇到一个问题,每隔10ms使用printf向上位机发送数据,由于高频率发送数据,导致stm32软定时出现不准确的问题。以上便是使用DMA实现的print函数,可以实现与printf函数相同的功能,并且笔者亲自测试了性能(确实能够解放CPU),也解决了上述高频发送数据导致的软定时器不准确问题。并且想通过DMA实现像printf一样方便的函数接口,为了区分stdio.h的printf函数,笔者实现的函数命名为print。
2024-03-21 20:57:59
2707
6
原创 非线性模型预测控制(NMPC)在移动机器人控制
普通的MPC控制步骤包括:系统建模、模型线性化、模型离散化、模型预测、优化控制输入量、反馈校正等。从方法步骤角度分析,对模型进行线性化所产生的影响。首先是线性化后,系统就成了线性系统,系统简单,且若对损失函数用二范数进行损失评估,整个优化问题就成为了二次规划问题,问题求解简单。但是线性化存在一个精度损失的问题,我们对线性化进行简单的分析,线性化其实是在某一个状态点对模型进行泰勒展开,截断到一次项,忽略二次以上项进行近似;这种近似在离展开点比较远的地方,与原系统会有一定的误差,误差大小取决于模型的复杂性。
2023-12-27 20:02:17
4456
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅