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);
elsereturn
end
end

详细:https://ww2.mathworks.cn/matlabcentral/answers/440053-subscribe-the-topic-robot-joint_states-but-i-get-l_gripper_l_finger_joint-message

(3)仿真时间设为inf无穷,仿真算法选择如下:

                 

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

3、结果

       

由于没有过滤到抓手的消息,结果显示的机器人模型抖动很厉害。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部