matlab机器人工具箱学习笔记——逆运动求解(更新)

本文详细介绍了MATLAB机器人工具箱中逆运动学的求解方法,包括封闭解法和数值解法。针对不同自由度的机械臂,通过ikine6s()和ikine()函数进行求解,并提供了实际操作示例。对于存在多个解或欠驱动机器人的场景,进行了知识补充和问题讨论。

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

逆运动学求解

(1)不存在相应的解,包括:期望位姿离基坐标系太远,机械臂不够长,末端执行器无法达到该位姿;当机械臂的自由度少于6个自由度时,它将不能达到三维空间的所有位姿(使用ikine()函数会出现错误)

(2)存在唯一解

(3)存在多个解集

解法

1.封闭解法

使用ikine6s()求解,它只适用于关节数量为6,且腕部三个旋转关节的轴相较于一个点的情况

2.数值解法

使用ikine()求解,它可以适用于各种关节数目的机械臂,通过设定初始的关节角坐标对机械臂运动学进行隐式控制。对于少于6自由度的机械臂,我们可以加入伪连杆:

如建立一个二连杆:


L(1)=Link([0,0,0,pi/2])%%调节转向

L(2)=Link([0,0,1,0])

L(3)=Link([0,0,1,0])

L(4)=Link([0,0,0,pi/2])

L(5)=Link([0,0,0,0])%%伪连杆1

L(6)=Link([0,0,0,0])%%伪连杆2

two_link=SerialLink(L,'name','twolink')

在设置关节转角和变换矩阵:


qn=[0,-pi/4,-pi/2,0,0,0]

得到变换矩阵T:


T=two_link.fkine(qn)

T =

  -0.7071    0.0000  -0.7071    0.0000

  -0.0000  -1.0000  -0.0000  -0.0000

  -0.7071    0.0000    0.7071  -1.4142

        0        0        0    1.0000

未设定初始关节角坐标,使用ikine()进行求解,输入命令;

<
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值