查看: 413|回复: 0|关注: 0

[未答复] 机械臂阻抗控制仿真轨迹问题

[复制链接]

新手

25 麦片

财富积分


050


2

主题

2

帖子

0

最佳答案
发表于 2020-8-31 10:56:33 | 显示全部楼层 |阅读模式
各位老师,我在做机械臂导纳控制仿真的时候,要求期望的力是5N,环境位置固定在Xe=0.1(水平面),机械臂末端的初始点在Xc=0.2(环境上方),按照论文里的仿真结果,应该是在仿真开始的时候机械臂向下运动,接触环境面,但是我在仿真的时候出现了先向上运动的情况,想问下是哪里出错了


  1. [color=darkgreen]function [sys,x0,str,ts] = reference_trajectory(t,x,u,flag)
  2. switch flag,
  3. case 0,
  4.     [sys,x0,str,ts]=mdlInitializeSizes;
  5. case 1,
  6.     sys=mdlDerivatives(t,x,u);
  7. case 3,
  8.     sys=mdlOutputs(t,x,u);
  9. case {2,4,9}
  10.     sys=[];
  11. otherwise
  12.     error(['Unhandled flag = ',num2str(flag)]);
  13. end
  14. function [sys,x0,str,ts]=mdlInitializeSizes
  15. sizes = simsizes;
  16. sizes.NumContStates  = 0;
  17. sizes.NumDiscStates  = 0;
  18. sizes.NumOutputs     = 3;%环境位置\一阶导数\二阶导数
  19. sizes.NumInputs      = 0;
  20. sizes.DirFeedthrough = 1;
  21. sizes.NumSampleTimes = 1;
  22. sys = simsizes(sizes);
  23. x0  = [];
  24. str = [];
  25. ts  = [0 0];
  26. function sys=mdlOutputs(t,x,u)
  27. xe=0.1;%参考位置%
  28. dxe=0;%参考速度%
  29. ddxe=0;%参考加速度%
  30. sys(1)=xe;
  31. sys(2)=dxe;
  32. sys(3)=ddxe;[/color]

复制代码





阻抗控制框图

阻抗控制框图

采用的阻抗公式

采用的阻抗公式

论文里的仿真结果

论文里的仿真结果

仿真出来的结果

仿真出来的结果
回复主题 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表