1、前记:
在MATLAB机器人可视化中提到过可以将含有URDF的机器人文件和对应stl格式部件导入到matlab并做运动控制。这一方面的资料真心少,从例子和帮助文档中学习太幸苦了。一些函数用法(https://www.mathworks.com/help/robotics/referencelist.html?type=function&s_cid=doc_ftr)不太熟悉。正逆运动学,正逆动力学控制都有现成的simulink模块,只需要将开始生成的变量已经存储在仿真模型工作区中,连接起来就可以做到相应的控制。这一块感觉还要一段时间才可以整理。
2、以下进入主题,可视化后的机器人如何让他动起来。虽然代码看起来有些愚蠢,也无所谓了,一步步来吧。
代码:
robot = importrobot('iiwa14.urdf');%导入机器人描述格式
robot.DataFormat='column';%数据格式为列,row为行;为‘row'时q0要转置-->q0’
robot.Gravity = [0 0 -9.80];%重力方向设置
for i=1:0.02:1.5
q0 = [0; 0; 0; 0; 0; 0; 0];%位置-->各关节为弧度值,7个单独关节运动.
q1=q0+i;
%hold on %去掉此注释机器人留下重影
drawnow
show(robot,q1,'PreservePlot',false);%以变化q1显示机器人运动——>类似正运动
view([150 6]);%figure大小设置
axis([-0.6 0.6 -0.6 0.6 0 1.35]);%坐标范围
camva('auto');%设置相机视角
daspect([1 1 1]);%控制沿每个轴的数据单位长度,要在所有方向上采用相同的数据单位长度,使用 [1 1 1]
end
图示:
以下是去掉hold on前面的注释符号,show中false改为ture吓得重影的运动:
3、后记:
路在脚下,自己去闯!正逆运动学,正逆动力学控制,轨迹规划,ROS机制。。。
参考:
(2)https://www.mathworks.com/help/robotics/examples/perform-safe-trajectory-tracking.html