PDA

查看完整版本 : [Simulink相关] 机械臂导纳控制仿真


Mr.Zhang
2020-08-31, 14:27
各位老师,我在做机械臂导纳控制仿真的时候,要求期望的力是5N,环境位置固定在Xe=0.1(水平面),机械臂末端的初始点在Xc=0.2(环境上方),按照论文里的仿真结果,应该是在仿真开始的时候机械臂向下运动,接触环境面,但是我在仿真的时候出现了先向上运动的情况,想问下是哪里出错了
参考轨迹的程序:
function [sys,x0,str,ts] = reference_trajectory(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
case 1,
sys=mdlDerivatives(t,x,u);
case 3,
sys=mdlOutputs(t,x,u);
case {2,4,9}
sys=[];
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 3;%环境位置\一阶导数\二阶导数
sizes.NumInputs = 0;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [];
str = [];
ts = [0 0];
function sys=mdlOutputs(t,x,u)
xe=0.1;%参考位置%
dxe=0;%参考速度%
ddxe=0;%参考加速度%
sys(1)=xe;
sys(2)=dxe;
sys(3)=ddxe;

sy29187339
2020-09-02, 12:48
有偿求matlab程序员,q:963740126. 不方便可加v:daixie721 加爆我吧