机器人背后的数学—线性代数和微积分,所有发明背后的魔法
机器人研究呈指数级增长,标志着一场新的工业革命正在进行中。今天,全球有超过100万个机器人在运行,而且这个数字还在不断增长。
已经有许多机器人在某些智力、感知能力和行为能力等方面与人类相媲美甚至超越人类。在计算机辅助手术等领域,这些智能机器已经超越了人类。
从处理危险材料到焊接组件、到执行各类任务如归档文件、清洁地板,机器人在社会中扮演着许多重要的角色。
但是,是什么让它们能够做这些巧妙的事情呢?是数学。
机器人是什么时候问世的?
对机器人的研究与最早的数学研究一样古老。“robot”这个词是在1920年由一出名为“罗莎的全能机器人(Rossum’s Universal Robot)s”的戏剧引入世界的。
18世纪,列奥纳多·达·芬奇(Leonardo da Vinci)设计了一种可编程机器人,它可以移动四肢、转身和坐下。19世纪,查尔斯·巴贝奇(英国数学家,可编程计算机的发明者)和阿达·洛夫莱斯的研究为机器人技术带来了重大贡献。
20世纪,诺伯特·维纳(Norbert Wiener)、艾伦·图灵(Alan Turing)、约翰·冯·诺依曼(John von Neumann)和克劳德·香农(Claude Shannon)引领了机器人技术创新的大爆发。
现在,机器人技术在行业中得到了广泛的应用。我们有移动机器人技术、工业机器人技术、野外机器人技术等先进的机器人技术,它们可以探测光线、气味、抓取物体、学习和识别事物,甚至模仿人类表情等等。
什么是机器人系统?
在数学方面,机器人系统是一个由多个子系统的函数表示的复杂系统。它是感知与行为之间的智能联系,根据其移动性属性进行分类。数学概念越困难,机器人系统的灵活性就越大。
数学在机器人建模、规划和控制中的应用
想学习机器人的人应该尽力去理解数学,因为数学在机器人研究中是必要的。为了找到合适尺寸的零件,测试性能,或检测速度和功率之间的关系,我们需要理解一些基本的数学概念。
机器人基本的数学先决条件是:
- 微积分
- 常微分方程
- 高等线性代数
- 几何
- 数值分析
下面是一些数学概念,可以帮助机器人有效地执行所有操作。
变换矩阵有助于改变机器人中的坐标系统。
为了执行一个特定的动作,机器人需要改变它的坐标系统。这就是为什么机器人问题有不止一个坐标系。在上图中,有三个附属坐标系,B是机器人的基底,H是机器人的手,P是机器人必须抓取的工件。这些系统是联系在一起的,如果移动B, H或者P,相应的坐标系也会跟着移动。
- 坐标系统P是定位于圆柱体上的点
- 坐标系统B定位了手的位置
- 坐标系H测量的是到手的距离
主要的焦点是确定工件P相对于机器人的手H的位置和方向,使机械手正确地移动以抓住工件。
计算这个是至关重要的,知道相对于基座的位置和方向的手,以便正确地面向抓住的块。在这种情况下,可以使用一个变换矩阵来描述第二个坐标系P相对于第一个坐标系H的位置和方向。
考虑一个变换矩阵:
这个变换矩阵可以用来定义第二个坐标系P相对于第一个坐标系H的方向和位置。矩阵T应用于单位向量的端点和第一个坐标系的原点,
单位向量是i=1,j=1,k=1,
由单位向量i,j,k和原点构成的第一个坐标系的变换矩阵表示为:
将变换矩阵T与第一个坐标系相乘,得到第二个坐标系的单位向量 (i’, j’, k’)的原点和端点。
如图所示,在第二坐标系中,点P位于(x ' = 2,y ' = 1,z ' = 1),在第一坐标系中,点P位于(x = -5,y = 7,z = 3)。
让我们假设机器人之手正在捡起一块棋子
附在工件上的坐标系P是相对于世界坐标系定位的,我们称它为W,它由变换矩阵表示:
而机器人的基底B相对于世界坐标系的位置是由变换矩阵表示的,
为了抓住工件,手和工件架必须对齐,目的是找到表示对齐的变换矩阵。
我们来找到变换矩阵。
看这个图,这个图显示了一个机器人抓取物件时的运动。当机器人的手抓住物件P时,机器人的框架会对齐,这意味着:
现在考虑这个事实从世界W到基底B的变换,以及从基底B到手部H的变换,可以合并成一个从世界W到手部H的变换,它表示为,
把已知的矩阵,
解这个从基底到手的矩阵方程表示为:
或者
得到最终的变换矩阵,
3x3子矩阵的三列代表了手坐标系相对于机器人基坐标系的方向。而最后一列分别表示了手坐标系的原点和底坐标系的原点。
用一组常微分方程控制机器狗的框架
非线性动力系统为四足机器人的运动控制提供了创造性的可能性。非线性动力系统表现了与生物神经结构的相似性。虽然一个动力系统本身是多个系统的集合,这些系统相互连接,你可以把这个动力系统的集合看作是大脑中的神经元集合。当大脑有感觉输入时,它会产生信号模式。通过这种方法,可以得到动物的神经网络,这对于了解具有学习能力和自适应运动的类动物机器人的行为是很有用的。
为了控制机器狗,让我们创建一个动力系统框架。首先,让我们移动机器狗的腿,而不是让它走路。为了做到这一点,把机器狗放在一个矩形的盒子上,使腿自由移动而不接触地面,如下图所示。
其目的是实现两腿运动的同步,只有当人类用户在一条腿上驱动的运动频率足够接近另一条腿上ACPO驱动的固有频率时,才能实现这一目标。这表明,机器狗是由微分系统控制的,因为当一个人类用户控制机器狗的一条摆动腿时,它会给出一个扰动输入。
考虑:
- x =由ACPO控制的左前腿的位置
- x'=右前腿的位置
- Y =左后腿的位置
- y'=右后腿的位置
- K =耦合常数
振荡器表示为,
这里:
P是右前腿的位置输入
- 参数:- g = 10是振荡器的增益
- -r0 = 1是振荡器的半径
- -w = 2π是振荡器的本征频率
k值越高,两腿间的耦合越强。在一定的k值时,耦合将是混沌的。这里的图表显示了不同耦合常数k值下的腿的同步,在这个图中,当k = 0时,没有观察到同步。
对于k = 2的情况,在几秒钟后观察到最好的同步,如下图所示,
最后
数学在机器人建模、规划和执行中发挥着重要作用。机器人科学家知道如何处理这些复杂的方程,并形成一个软件框架,以创造更先进的机器人。对机器人的研究和开发进行投资是至关重要的,因为据估计,从现在开始的10到15年,世界将全是机器人,你会看到你自己生活在这些智能机器之中。