matlab机器人工具箱在simulink中对机器人进行操作

本文介绍如何使用MATLAB的机器人工具箱Simulink库,实现机器人模型的笛卡尔空间运动控制,包括位置和姿态的调整。通过逆解运算模块ikine和显示模块plot,演示了末端位置和姿态变化的控制过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、前记:调用机器人工具箱simulink库模型,对机器人模型进行笛卡尔空间运动控制(位置和姿态)

2、操作:

(1)在安装机器人工具箱成功的基础上,打开matlab后在命令行输入 roblocks可以打开机器人工具箱的Simulink库   

                                               

(2)双击进Robot arms中。里面包含机器人运动学,动力学,速度运动学模块。

                   

(3)新建一个模型,拖入需要的模块。主要ikne模块用于逆解运算,plot模块用于工具箱机器人模型显示。ikine模块和plot模型都需要双击进行修改。

其中robot为通过机器人工具箱建立的机器人SerilLink模型。运行代码生成到matlab工作区中。

机器人工具箱模型生成代码:

Ll(1) = Link ([0    0.104     0     -pi/2  ], 'standard');
Ll(2) = Link ([0    0       0.106     0     ], 'standard');
Ll(3) = Link ([0    0        0.063     0     ], 'standard');
Ll(4) = Link ([0    0        0.0695     -pi/2 ], 'standard');
Ll(5) = Link ([0    0        0     -pi/2     ], 'standard');
Ll(6) = Link ([0    0        0     -pi/2 ], 'standard');
robot=SerialLink(Ll,'name','YourBot');

(4)经过逆解运算获得的机器人各关节值可以输入到plot模块中,也可以输入到机器人多体模型中的关节驱动中去。下面机器人多体模型注释不用。只用机器人工具箱模型做显示。

        

其中,位置和姿态使用slider gain作为输入。matlab function为将位置和姿态整理为支持ikine模块T输入的齐次矩阵形式。

代码为:

function T =inverse(Pos,Rot)
%#codegen
T=zeros(4,4);
%    X
t1=Rot(1)*pi/180;t2=Rot(2)*pi/180;t3=Rot(3)*pi/180;
    ct = cos(t1);
    st = sin(t1);
    R1 = [
        1   0    0
        0   ct  -st
        0   st   ct
        ];
%    Y
    ct1 = cos(t2);
    st1 = sin(t2);
    R2 = [
        ct1  0   st1
        0   1   0
       -st1  0   ct1
       ];
%     Z
    ct2 = cos(t3);
    st2 = sin(t3);
    R3 = [
        ct2  -st2  0
        st2   ct2  0
        0    0   1
        ];
R=R1*R2*R3;
numMats = size(R,3);
H = zeros(4,4,numMats,'like',R);
H(1:3,1:3,:) = R;
H(4,4,:) = ones(1,1,numMats,'like',R);
H(1,4)=Pos(1);H(2,4)=Pos(2);H(3,4)=Pos(3);
T=H;

3.运行结果

改变末端位置(姿态不变):

改变末端姿态(位置不变):

【姿态控制这块还是有问题,来不及修改了,就留着给个简单的思路吧,可以这样玩并且可以扩展的很多且方便】

 

 

 

 

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JianRobSim

嘤嘤其名,求其友声!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值