Matlab Simulink capabilities with baxter(显示机器人运动状态)
·
1、前记
本文主要是利用baxter机器人的URDF文件可以在Simulink中生成可视化模型,并根据关节的驱动方式选择以关节角度变化来驱动模型运动。其中关节的变化来源于baxter机载ROS下的主题消息,在Simulink中通过Subscribe订阅主题下的消息获得数据。
2、主要模块
2.1.主要模块搭建如下图

(1)其中URDF生成模型中各关节的驱动选择如下:

(2)MATLAB函数内容如下:可能需要编辑数据类型,如下截图
function [left,right] = fcn(Position)
%#codegen
[left,right]= reconstruct(Position);


代码中reconstruct是因为订阅消息时同一个主题下有关节的还有抓手的。这里是计划想个办法把抓手的消息过滤掉。
reconstruct代码如下:不过这个方式还是没能过滤掉抓手消息,效果在下面可以看到。
function [left,right]=reconstruct(Position)
a=length(Position);
if a==17
left = Position(3:9);
right = Position(10:16);
else
return
end
end
(3)仿真时间设为inf无穷,仿真算法选择如下:

(4)机器人ip设置和数据管理设置:




3、结果

由于没有过滤到抓手的消息,结果显示的机器人模型抖动很厉害。
更多推荐
所有评论(0)