- 博客(4)
- 收藏
- 关注
原创 串级PID小车
这里的一阶低通滤波与直立控制相同,但是测量得到的倾角theta其实是我们的倾角的倾角控制结果(倾角控制就是直立控制,只不过把倾角为0变成设定值罢了),对测量出来的倾角进行积分操作(上面的说明)得到车轮速度。在速度控制,只用了p控制,p参数为k,但是这会造成系统震荡,且静态误差无法清理,因此需要引入d和i控制,简化控制框图,可以让d控制与图中的积分合并成p'控制,那么还需要一个积分控制。g 为偏斜加速度,偏斜加速度经过积分可以得到车轮移动速度),最终的控制结果是测量速度与目标速度的偏差,速度控制框图如下。
2025-02-07 17:06:00
551
原创 USB HID 速度问题
利用cube MX 生成HID 的时候 遇到一个很离谱的问题 每包数据收发一次需要64ms,而且造成不能进行flash读写操作,一度以为是freeRTOS造成的。hid配置收到什么立刻发出来 需要64ms检查了一下 一开始以为是描述符的问题,改了一下发现然并卵,随机怀疑是间断改了发现没有用,查资料看到//主机查询端点的时间间隔,这个是主机轮询的时间间隔为2^(bInterval-1)ms最后发现是CUSTOM_HID_EPOUT_SIZE/CUSTOM_HID_EPIN_SIZE 的问题。
2024-12-26 15:01:50
741
原创 NN网络初始权值问题
在写吴恩达教师dl第四周的作业的时候,遇到一个好玩的事情我设定了1000的迭代次数,但是可以看出,该函数已经收敛,一直处于0.65左右。经过改良可以变成可以看出第900次迭代的cost只有0.4,事实上,继续往下迭代可以达到0.04的误差。首先这样产生的问题可能是学习率过小,使得梯度得不到有效的下降梯度下降公式为W[l]=W[l]−αdW[l]α就是学习率。有趣的是,这里并不是学习率的问题。问题在于初始化权值:parameters["W" + str(l)...
2022-02-08 15:22:51
838
原创 s-function的during flag=n call must be a real vector of length n
根据刘金琨的《先进PID》中线性时变PID的传递函数写的S-fun根据下面这个贴子找到了问题所在 问题研究:flag=1 call must be a real vector of length 12. – MATLAB中文论坛 一、问题描述 在用s-function编写状态方程,然后用于simulink仿真时,经常会出现如下错误:flag=1 call must be a real vector of length 4.二、出错原因 1. 一般是因为你的计算中出...
2022-02-07 11:07:32
5358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人