机器人学,机器视觉与控制学习笔记——第三章、机械臂运动学

绪   论:机器人库的安装:https://blog.csdn.net/yukinoai/article/details/78946500

第二章:位置与姿态描述:https://blog.csdn.net/yukinoai/article/details/78955761

运动学是力学的一个分支,他在不考虑外力和质量的前提下研究一个物体。机械臂是由一组成为连杆的刚体组成的,连杆之间由关节连接。

分析机械臂运动学的第一步是根据机械臂的构造建立连杆坐标系,连杆坐标系最常用的方法就是D-H法。

D-H法

详细请参考https://blog.csdn.net/yukinoai/article/details/90573008

首先根据下图确定每个关节坐标系的方向,对于转动关节,zi-1轴在转轴上,xi-1轴在z-1i轴和zi轴的公垂线上,方向由zi-1指向zi,Y轴方向自然确定。

  • ai-1是zi-1到zi沿xi-1的距离
  • αi-1是zi-1到zi绕xi-1的角度
  • di是xi-1到xi沿zi的距离
  • θi是xi-1到xi绕zi的角度

所以从关节i-1到关节i的坐标系变换可以看成,坐标系{i-1}绕xi-1旋转αi-1,再沿沿xi-1移动ai-1,再绕zi旋转θi,最后沿zi移动di变换为坐标系{i}。

把每个关节都如上处理就可以列出D-H表

把表中数据带入连杆变换矩阵公式中就可以得到每个连杆的变换矩阵

最后把每个关节的变换矩阵相乘就能得到总变换矩阵

例如下面这个机械臂,他由5个关节,从下面开始分别为转动,移动,移动,转动,转动。

连杆坐标系如下

根据连杆坐标系可列出D-H表

构建i

αi-1

ai-1

di

θi

变量范围

1

0

0

θ1

0~360°

2

0

d2

180°

30~270mm

3

-90°

a270mm

d3

90°

190~340mm

4

-90°

a368mm

0

θ4(-90°)

0~-180°

5

90°

0

d5105mm

θ5(90°)

0~360°

本书中的工具箱提供了很好的可视化工具

其中几个常用的函数有

L(1) = Link([0 0 1 0]);%根据D-H法定义一个连杆

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

two_link = SerialLink(L, 'name', 'two link');%这个函数可以把定义好的连杆组成一个机械臂

%所以输入这个值会出现他的D-H表

>> two_link

two_link =

two link (2 axis, RR, stdDH)

+---+-----------+-----------+-----------+-----------+

| j | theta | d | a | alpha |

+---+-----------+-----------+-----------+-----------+

| 1| q1| 0| 1| 0|

| 2| q2| 0| 1| 0|

+---+-----------+-----------+-----------+-----------+

工具箱中有已建好的PUMA560机械臂

mdl_puma560%调用机械臂参数

>> p560%出现D-H表

p560 =

Puma 560 (6 axis, RRRRRR, stdDH)

Unimation; viscous friction; params of 8/95;

+---+-----------+-----------+-----------+-----------+

| j | theta | d | a | alpha |

+---+-----------+-----------+-----------+-----------+

| 1| q1| 0| 0| 1.571|

| 2| q2| 0| 0.4318| 0|

| 3| q3| 0.15| 0.0203| -1.571|

| 4| q4| 0.4318| 0| 1.571|

| 5| q5| 0| 0| -1.571|

| 6| q6| 0| 0| 0|

+---+-----------+-----------+-----------+-----------+

内部已定义了四个特殊位姿

qz (0, 0, 0, 0, 0, 0)

qr (0, π /2, −π/2, 0, 0, 0)

qs (0, 0, −π /2, 0, 0, 0)

qn (0, π/4 , −π, 0,π/4 , 0)

p560.plot(qz)%对应的输入这个函数就能画出机械臂的构型

对应构型如下

 

T = p560.fkine(qn)%可以求出这个构型的变换矩阵

qi = p560.ikine6s(T)%运动学反解

从影子可以明显发现,末端的位姿一致,但机械臂的构型不同,说明同一位姿对应两个构型,运动学反解不是唯一的。

如果能给出末端的轨迹,可以通过工具箱观察PUMA560的运动过程

>> T1 = transl(0.4, 0.2, 0) * trotx(pi);%初始变换矩阵

>> T2 = transl(0.4, -0.2, 0) * trotx(pi/2);%最终变换矩阵

>> q1 = p560.ikine6s(T1);%求广义变量

>> q2 = p560.ikine6s(T2);

>> t = [0:0.05:2]';%两秒内40步完成

>> q = jtraj(q1, q2, t);%通过插值函数得到轨迹

p560.plot(q)%生成动画

qplot(t, q);%给出每个关节的运动曲线

机器人学机器视觉控制是一门研究机器视觉以及机器人运动控制的学科。而MATLAB是一种功能强大的计算机软件,被广泛用于数学运算、数据可视化以及算法开发等领域。 在机器人学中,机器视觉是指通过摄像头或其他视觉传感器获取图像,并通过算法对其进行处理和分析,以实现对环境或目标物体的感知和识别。机器视觉有助于机器人实现自主导航、目标跟踪等功能。MATLAB提供了丰富的图像处理和机器视觉工具箱,可以帮助研究者和工程师使用简单的算法对图像进行预处理、特征提取、目标检测等操作。 而机器人运动控制是指机器人的位置和姿态控制。在机器人学中,有两个重要概念,即正运动学和逆运动学。正运动学是指根据机器人各个关节的控制量,计算机器人末端执行器的位置和姿态。逆运动学则是根据给定的末端执行器位置和姿态,计算机器人各个关节的控制量。MATLAB提供了机器人工具箱,能够帮助用户实现机器人运动学和动力学建模、运动轨迹规划、控制算法开发等任务。 在这本基于MATLAB的算法基础PDF中,读者可以学习机器视觉机器人运动控制的基本概念和算法。该PDF可能包含了MATLAB在机器视觉机器人学中的应用案例、相关算法和代码示例。读者可以通过学习该PDF,了解如何使用MATLAB进行图像处理和机器视觉算法开发,以及如何使用MATLAB进行机器人运动控制建模控制算法开发。 总之,机器人学机器视觉控制和MATLAB是相辅相成的。通过使用MATLAB的图像处理和机器视觉工具箱,以及机器人工具箱,研究者和工程师可以更方便地进行机器人视觉感知和控制算法的开发和实现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值