侵权删除!!!!!!!!!!!!!!!!!
在上一节中,我们建立动力学方程,但是里面的惯性参数集是未知的,如果来确定惯性参数集的参数就是利用参数辨识来确定的。
绪论:
系统辨识的意义,就是从黑箱到白箱的过程,将系统中的一些参数进行获取出来。
现代控制理论主要有:参数辨识,状态估计(对系统的一些速度,加速度等信息进行估计)和控制理论(特定的一些控制方法)
重复定位精度:重复定位精度是指机器人或自动化系统在多次重复执行相同任务时,能够达到的相对位置精度。换句话说,它描述了机器人在多次尝试中,能否准确地返回到同一个位置。
eg.假设一个机器人需要在一个固定位置上进行多次焊接操作。重复定位精度描述了机器人每次焊接时,能否准确地返回到同一个焊接点。
绝对定位精度:绝对定位精度是指机器人或自动化系统在执行任务时,相对于一个外部参考系统(如世界坐标系)的实际位置精度。换句话说,它描述了机器人的实际位置与期望位置之间的偏差。
eg.假设一个机器人需要在工厂中的一个特定位置上进行装配操作。绝对定位精度描述了机器人实际到达的位置与工厂地图上标记的位置之间的偏差。
系统参数辨识 有运动学辨识和动力学辨识。
为啥theta 是会影响到重复定位精度呢?因为theta是关节转动角度,有误差的话导致每次到达的位置时会有误差,而其他三个因素为啥只影响绝对精度呢,因为在安装好机构后,不管多大的误差,只会影响到绝对精度(与关节无关)
怎么测量呢,在机器臂末端添加一个可以测量在空间中位置的传感器,得到绝对值,完后利用dh参数进推导,得到计算的空间中位置,并做误差,进行迭代,更新,从而获取一个新的dh参数集。
其中Y叫做回归矩阵,
参数辨识的意义在于吧Pr的矩阵辨识出来,因为Y矩阵是关于机器人的一些运动状态,tao也是可以通过关节传感器进行测量出来,关节力矩。
基础知识
注意:其中tao1到taoN是1到N组实验数据。
采用的是最小参数集的方式,进行求解的,并非是可离线性的。因为做小参数集的Y矩阵是满秩的状态,有一个实际的物理意义,可使用最小二乘法进行求解P矩阵,收敛性是好的。简单可靠。
细节1
高斯白噪声------存在物理界上,不能避免。
递推最小二乘法:
了解以上的方法,并通过以上的方法进行求Y矩阵。
解释:两个点之间的速度,等于两个点之间的距离,处理他们的时间。所以p1,p2是距离,alpht是白噪声,得到上面的公式,如图所示,蓝色的是带有白噪声的曲线,红色是计算出来的曲线,可以得出,速度是可以进行差分获取的,而加速度是不能的,需要额外添加一个滤波进行处理。
所以在后面的控制中要避免加速度的求取,因为噪声大!
有噪声就必不可免的需要进行滤波的过程:
RC滤波:滤高频信号,通低频信号
数字,代码的方法:
噪声有大概率被滤掉,但是时间有一定的延迟。为了避免有延迟,产生了离线滤波和在线并行滤波。离线滤波是把数据事前全放在里面,不管是不是有延迟,最终的结果都是一样的。
此时就一块把位置和速度的输出给求出来了,从而没有延迟这一回事了。
从而保证了:
力矩的获取:
注意:力传感是安装在机器末端的上进行测量的是末端的力矩,通过雅克比矩阵得到关节的力矩。
:A:总结:通过上面的推导,我们获取了力矩与滤波后的Y矩阵(回归矩阵,利用最小二乘估计) 最小二乘法特别适用于线性模型,因为它可以直接应用于线性回归问题。回归矩阵是利用多次测量的数据进行得出,也是关节处的位置,速度和加速度,同时也记录关节的力矩数据,就可以得到连杆在关节处的惯性参数集,在使用平行轴定则,转换到惯性坐标系下,从而得到真正的最小惯性参数集。
细节2
连续系统和离散系统
简单说,数字控制系统的出现,控制的话就是一个离散系统,从而方便使用。电脑可以识别离散的,不能识别连续的,因为连续是无穷个量。
如图,模拟输入是一个连续的信号,t1-t2有无穷多个数据,我们进行离散化,在t1-t2用A2进行代替,在t2-t3用A1进行代替,这样就给离散化了 。
离散化处理的缺点:
所以:解决办法是采样的周期不能太慢,要保证在2ms-4ms之间。 红色点是取样点。蓝色的是原始信号,红色点可能是离散化后的波形。我们离散化的目的是要保证离散化后的波形近似等于连续的波形 (电脑识别不了连续的信号)
只有在低噪声的情况下,噪声,信号矩阵计算中不变,离散化程度越高可能会产生一定的问题。但是大部分来说是采样频率越高越高,越接近标准信号。
差分化进行求解,对于离散化,k时间的量,k-1时刻的量等等,那么带入机器人中就是u中k时刻的速度,对应y中的力矩等等,对于连续的y1-位置,y2-速度,y3-加速度等等,离散化中的a与标准式的a是有很大误差的,因为离散化是吧dt乘进去了,所以有误差。现在常用的是利用连续的方式进行构造动力学方程。
那么回来了,刚才说计算机不会识别连续的系统,对啊,在计算中或者仿真matlab中使用的是离散化的普遍。但是在构造方程中使用连续是没有问题的。
目的是:A矩阵变化一点点,导致x矩阵变化巨大,这是不符合要求的,所以A矩阵是病态的,需要进行进一步的处理。利用条件数进行表示。
但是如果改变测量的数,让Y矩阵的条件是变小呢,那就是需要进行最优激励轨迹的方法,设计出一个轨迹,用户根据这个轨迹产生数据,根据这个数据,算出Y矩阵的条件数越小。
案例1:
单自由度系统辨识------连续方法系统辨识
可以进行仿真实验,从简单的复杂。
单轴:cond(Y)= 3.7,就是一个检测是否为激励函数的过程。
如果没有进行参数辨识,J自己给的非常小,那么当我们给关节加速度时,J这一项激励不出来了,不起作用了,所以有时候被叫做激励函数。可以加入一些噪声等。 速度与摩擦力的影响。
出现突变是因为与库仑摩擦力是有关系的。同时库仑摩擦力是与速度的符号是有关系的,同时在高速变化的速度,很难确定速度的符号的。
单自由度系统辨识仿真--------离散方法系统辨识
辨识只能到60-70,并非100的,因为有一外部些因素并为考虑进去。
暂未结束。。。。。。。。。。。。。。。。