资源简介
通过采集数据,通过最小二乘算法,辨识出重力,漂移力,以及相对于末端的旋转角度。详情请看博客。
代码片段和文件信息
%author: Wang junhe
%time: 20201013 10:55(completed)
%describe: estimate parameter of force transducer
%algorithm source: 《基于力控制的工业机器人精密装配研究》
clear;
clc;
close;
%define parameter
number =11;
one = ones(number1);
R3 = zeros(number3);
A1 = zeros(number2);
B1 = zeros(number1);
A2 = zeros(number*24);
B2 = zeros(number*21);
A3 = zeros(number*36);
B3 = zeros(number*31);
%robot forward kinematics(verified)
q = load(‘C:\Users\shumiaogeek\Documents\MATLAB\bianshi\data\q.txt‘);
% theta d a alpha offset
SL0=link([0 0.3113-0.08946 0 0 0]‘standard‘);
SL1=link([0 0.089459 0 pi/2 0 ]‘standard‘);
SL2=link([0 0 -0.425 0 0 ]‘standard‘);
SL3=link([0 0 -0.39225 0 0 ]‘standard‘);
SL4=link([0 0.10915 0 pi/2 0 ]‘standard‘);
SL5=link([0 0.09465 0 -pi/2 0 ]‘standard‘);
SL6=link([0 0.0823 0 0 0 ]‘standard‘);
starobot=Seriallink([SL0 SL1 SL2 SL3 SL4 SL5 SL6]‘name‘‘standard‘);
%record data
filepath = ‘C:\Users\shumiaogeek\Documents\MATLAB\bianshi\data\‘;
for i = 1:number
n = load([filepath num2str(i) ‘.txt‘]);
fx = median(n(:3))/1000000;
fy = median(n(:4))/1000000;
fz = median(n(:5))/1000000;
tx = median(n(:6))/1000000;
ty = median(n(:7))/1000000;
tz = median(n(:8))/1000000;
qq = q(i:)*pi/180;
stat06=starobot.fkine(qq);
R3(i1) = stat06.n(3 1);
R3(i2) = stat06.o(3 1);
R3(i3) = stat06.a(3 1);
A1 = [-R3(:3) one ];
B1(i) =fz;
B2(i*2-1:) = fx;
B2(i*2:) = fy;
B3(i*3-2:)=tx;
B3(i*3-1:)=ty;
B(i*3:)=tz;
end
%estimate Gfzdrift
P1=A1‘ * A1\ A1‘ * B1;
G = P1(1);
fzdrift = P1(2);
%estimate cosasinafxdriftfydrift
for i = 1:number
A2(i*2-1:)=[-G*R3(i1)-G*R3(i2)10];
A2(i*2:) =[-G*R3(i2)G*R3(i1)01];
end
P2 = A2‘ * A2\A2‘ * B2;
cosa = P2(1);
sina = P2(2);
fxdrift = P2(3);
fydrift = P2(4);
%estimate pxpypztxdrifttydrifttzdrift
for i = 1:number
A3(i*3-2:)=[0-G*R3(i3)-G*sina*R3(i1)+G*cosa*R3(i2)100];
A3(i*3-1:)=[G*R3(i3)0-G*cosa*R3(i1)-G*sina*R3(i2)010];
A3(i*3:)=[G*sina*R3(i1)-G*cosa*R3(i2)G*cosa*R3(i1)+G*sina*R3(i2)0001];
end
P3 = A3‘*A3\A3‘*B3;
px = P3(1);
py = P3(2);
pz = P3(3);
txdrift = P3(4);
tydrift = P3(5);
tzdrift = P3(6);
%display
value = {numberGfxdriftfydriftfzdrifttxdrifttydrifttzdriftcosasinapxpypz};
title = {‘number of simple‘‘G‘‘fxdrift‘‘fydrift‘‘fzdrift‘‘txdrift‘‘tydrift‘‘tzdrift‘‘cosa‘‘sina‘‘px‘‘py‘‘pz‘};
result=[title;value]‘;
xlswrite(‘Parameter Estimation.xls‘result);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1789996 2020-10-12 20:07 data\1.txt
文件 1313296 2020-10-12 20:27 data\10.txt
文件 1811696 2020-10-12 20:27 data\11.txt
文件 2008068 2020-10-12 20:06 data\2.txt
文件 2659604 2020-10-12 20:06 data\3.txt
文件 1309096 2020-10-12 20:06 data\4.txt
文件 2801496 2020-10-12 20:05 data\5.txt
文件 1588289 2020-10-12 20:05 data\6.txt
文件 802495 2020-10-12 20:05 data\7.txt
文件 2105696 2020-10-12 20:04 data\8.txt
文件 1714396 2020-10-12 20:26 data\9.txt
文件 467 2020-10-12 20:24 data\q.txt
文件 2773 2020-10-20 02:36 sensorF_T_PE.m
文件 794 2020-10-20 02:36 verify.m
相关资源
- 基于多元线性回归的分析
- 各种最小二乘法总结算法+matlab源码
- 各种最小二乘法汇总算例及MATLAB程序
- 最新版,最小二乘支持向量机2010年
- 最小二乘支持向量机matlab程序+使用教
- 移动最小二乘法曲面拟合等步长采样
- 最小二乘算法总结算法+程序
- 最小二乘支持向量机MATLAB程序附详细
- Image Deformation Using Moving Least Squares 移
- 各种最小二乘法汇总(算例及MATLAB程
- 三相异步电机静止状态下参数辨识M
- 偏最小二乘法资料和matlab程序
- matlab 最小二乘蒙特卡罗LMS美式期权定
- 偏最小二乘方法的MATLAB算法实现
- 偏最小二乘PLS和一些光谱预处理的m
- 递推最小二乘估计(RLS)及模型阶次
- 最小二乘 函数拟合 多项式 指数函数
- 最小二乘法电池参数辨识
- 最小二乘法的Matlab算法
- 数值分析 最小二乘拟合
- gps数据最小二乘拟合分析
- 偏最小二乘matlab算法及自己整理资料
- 利用Pisarenko谐波分解恢复理论推导谐
- 主成分回归于偏最小二乘回归
- 回归学习算法
- 递归最小二乘算法matlab程序
- 偏最小二乘matlab代码
- 移动最小二乘法曲面拟合随机点拟合
- 电力系统状态估计-最小二乘+不良数据
- 最小二乘法曲线拟合matlab代码
评论
共有 条评论