CN108356820B - 一种多关节机械臂手动操控的逆运动学求解方法 - Google Patents

一种多关节机械臂手动操控的逆运动学求解方法 Download PDF

Info

Publication number
CN108356820B
CN108356820B CN201810046082.1A CN201810046082A CN108356820B CN 108356820 B CN108356820 B CN 108356820B CN 201810046082 A CN201810046082 A CN 201810046082A CN 108356820 B CN108356820 B CN 108356820B
Authority
CN
China
Prior art keywords
joint
space
section
coordinate system
mechanical arm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810046082.1A
Other languages
English (en)
Other versions
CN108356820A (zh
Inventor
陈正
葛子赟
李剑鹏
宋伟
王滔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201810046082.1A priority Critical patent/CN108356820B/zh
Publication of CN108356820A publication Critical patent/CN108356820A/zh
Application granted granted Critical
Publication of CN108356820B publication Critical patent/CN108356820B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

本发明提供的是一种多关节机械臂手动操控的逆运动学求解方法。在给定空间轨迹函数之后,本发明能够输出各个时刻的各个关节的姿态以及每根驱动绳的绳长。在解决操作空间与关节空间的映射关系时,采用数值方法中的二分法对该关系进行数值求解。在解决关节空间与驱动空间的映射关系时,可以求出各个关节坐标系关于基坐标系的转换矩阵,从而得到各个驱动绳的绳长。本发明能够在已知机械臂的基础信息的情况下,得到整个运动过程各个时刻的机械臂姿态信息以及驱动绳长,给出了一类多关节机械臂的实时操控运动的运动学分析方法。

Description

一种多关节机械臂手动操控的逆运动学求解方法
技术领域
本发明提供的是一种多关节机械臂手动操控的逆运动学求解方法
背景技术
现在的机械臂一般多为刚性结构,具有5-7个自由度,手臂本体的灵活度较差,无法满足空间狭小、复杂等环境下的作业要求。而本发明所适用的多关节机械手,其自由度多、姿态灵活多变,能够满足上述工况作业要求。
本发明适用的情况主要是在一些较为复杂、障碍物较多的环境中,需要使机械臂在基座的配合下按照给定轨迹绕过障碍物运动到指定位置,再在指定空间的中完成所需要的工作(如对管道的切割)。而对这种利用摇杆手动操控的运动还没有专门的逆运动学求解方式,本发明就针对这种运动情况提出了一种求逆运动学解的方式。
发明内容
本发明的目的在于提供了一种多关节机械臂手动操控的逆运动学求解方法。操作方式为实时通过摇杆操控,控制机械臂运动。本发明在实时操控的条件下,给出各个时刻各个机械臂的位置以及牵引绳的长度。
本发明技术方案的具体内容如下:
(1)输入机械臂的总关节数n,每节关节长度L,运动时间t(t为自变量),空间轨迹函数。
(2)解决操作空间与关节空间的映射关系,即实时操控输入摇杆的方位信息,输出每个时刻的机械臂姿态信息(每个关节的末端位置)。
(3)解决关节空间与驱动空间的映射关系,在求解出每个关节的末端姿态之后,只了解到该时刻的机械臂空间姿态模样,本发明还提供了一套算法求解出驱动空间即对应驱动绳的长度。
本发明的有益效果是:提出一种多关节机械臂手动操控的逆运动学求解方法,能够在已知机械臂的基础信息(关节个数,各关节长度等信息)的情况下,得到整个运动过程各个时刻的机械臂姿态信息以及驱动绳长,从理论上给出了一类多关节机械臂的实时操控运动的运动学分析。
附图说明
图1是多关节机械臂的外观以及运动示意图;
图2是二分法算法框图;
图3是两关节之间转动副的结构示意图;
图4是matlab算法演示图。
具体实施方式
下面根据附图对本发明的求解过程做更详细的描述。
假设该多关节机械臂的总关节数为n,从电机往外依次为第n节,第n-1节…第1节,每节关节长度为L,运动时间为t。从两种运动模式探究三维运动情况下,各关节的运动情况。示意如图1。
(1)操作空间与关节空间
由于空间曲线方程有多种表达形式,为了描述方便选取下述方程组来描述空间轨迹:
Figure BDA0001550949350000021
其中x、y、z分别代表空间曲线轨迹的三维坐标。在上述表达方式中,给出了x与z对自变量y的函数表达式,可以很容易地得出轨迹的一个很重要的性质,即对于y坐标的单值性,同一个y值只会对应轨迹当中的一个点。由于机械臂沿y轴推进,所以在这种轨迹下机械臂不能在y方向上转向,即不能返回运动,这也非常符合对于机械臂的运动要求。
与此同时还需注意另一个运动特性。机械臂按照既定轨迹运动时,后一关节总是在重复前一关节在L/v时间前的动作,同时可以理解为除了第1个关节的之后所有关节总是在重复第1个关节的动作。假设第i节的首端的三维坐标分别为xi(t)、yi(t)、zi(t),(此处应注意,为了简化描述,简化模型为第i节首端与第i+1节尾端为同一位置,实际上此处的位置坐标应该为两节关节中间转动副的中心点坐标)那么将存在以下关系:
Figure BDA0001550949350000031
上述关系式的提出大大地简化了之后的求解计算过程,即只需关注第1个关节的运动情况即可,并且记录第1节的首端的三维坐标随时间变化关系即可得到后续所有关节的运动情况。
假设在t时刻,第k节首端已经开始沿着轨迹运动,第k+1节首端还未进入轨迹区还处于直线区。对于k<i<=n,其关节首端坐标为以下关系:
xi=0
yi=-(i-l)L+vt
zi=0
对于1<i<=k,其关节首端坐标为以下关系:
Figure BDA0001550949350000032
对与第1节关节首端应满足以下方程:
Figure BDA0001550949350000033
将上述三元方程(其中x2、y2、z2为在前述已求得的第2节关节首端三维坐标)的前两方程带入第三个方程得:
g(y1)=(x_f(y1)-x2)2+(y1-y2)2+(z_f(y1)-z2)2-L2=0
采用二分法来求出该方程的数值解,显然的有解区间为y2<y1<=y2+L,且由于前面所定义的轨迹方程的描述方法所限制,在这个有解区间内有且只有一个解。具体算法框图描述如图2。其中E为运算精度,当E足够小时认为即求出上述方程的数值解。
(2)关节空间与驱动空间
为了描述三维的方向指向,利用摇杆来操控机械臂的第1节,通过arduino与电脑matlab建立串口通信,将摇杆的数据通过arduino传送至matlab控制机械臂的走向。
操作模式采用预轨迹的运动方式,即预定机械臂之后运动的直线轨迹,利用上一种的运动模式求解方法求解出各个节的位置关系,摇杆传回的数据改变的是机械臂之后运动的直线轨迹。假设预轨迹的方向向量为(Vx,Vy,Vz),则轨迹方程为:
Figure BDA0001550949350000041
转换成前述中的规定形式为:
Figure BDA0001550949350000042
其中x1、y1、z1与之前叙述的相同,皆为当前时刻第1节首端的坐标。
总而言之,即利用摇杆确定预轨迹的方向向量之后,剩下的求解方法步骤与前述相同。接下来描述如何利用摇杆确定预轨迹的方向。
首先需要明确一点的是,摇杆的操作坐标系不应该为基坐标系,因为在机械臂运动一段时间之后,第1节运动指向与基坐标系偏差大,人为控制变得不便利,所以应该将摇杆的操作坐标系放置在第1节的坐标系上,这样较为符合人为操作的习惯。
先分析第1节首端已进入y>0区域,第2节首端还未进入y>0区域,则第2节的坐标系与基坐标系重合,第1节的坐标系与该节的指向有关。两节之间的转动副如图3,该转动副具有两个自由度,即绕两垂直轴旋转的自由度。由于第2节首端还未进入y>0区域,因此轴2与基坐标系的z轴平行。假设基坐标系的单位正交基向量为
Figure BDA0001550949350000043
第一节的坐标系为
Figure BDA0001550949350000044
则该转动副的运动可以理解为先绕着轴2旋转α角度,再绕着轴1旋转β角度。该过程可以描述为以下等式:
Figure BDA0001550949350000051
即化简为:
Figure BDA0001550949350000052
Figure BDA0001550949350000053
在第1节坐标系中,以第1节指向为该坐标系的y轴。在基坐标系上,第1节的单位方向向量为:
x1-x2 y1-y2 z1-z2]/norm
其中norm为该向量的模。
则存在以下关系:
Figure BDA0001550949350000054
则可得以下等式:
Figure BDA0001550949350000055
则转换矩阵M可得(另描述单位方向向量为[Vx1 Vy1 Vz1]=[x1-x2 y1-y2 z1-z2]/norm):
Figure BDA0001550949350000061
相似地,由于轨迹运动的特殊性,后一关节总是在重复前一关节在L/v时间前的动作,所以对于某个时刻t来说,假设Mi表示第i节关节的坐标系的转换矩阵,则有以下等下:
Figure BDA0001550949350000062
因此,只需要记录每个时刻第1节关节坐标系的转换矩阵,即可的得到每个时刻其他关系坐标系的转换矩阵。
只探究前两节关节坐标系,由上式可得:
Figure BDA0001550949350000063
由于要记录每个时刻的第1节关节坐标系的转换矩阵,所以还需求出此刻的M1。由前述方法可得:
Figure BDA0001550949350000064
求解出上述线性方程组即可求解出M1矩阵。
摇杆通过串口传递给matlab的数据是摇杆偏离原点的横纵坐标(X,Z),是一组二维的数据坐标,它表示的是在第1节关节坐标系下,预轨迹下一刻要偏离(改变)的方向,值得注意的是,在这里的描述中,并没有描述为“第1节关节下一刻要偏离的方向”,这是因为该方法如上述一般,实时控制的是预轨迹直线的方向(即(Vx,Vy,Vz)),预轨迹指向和第1关节实际上并非同一概念,第1节一直在靠近预轨迹的指向,如果预轨迹一段时间不变化(即不操纵摇杆)那么第1节的指向终将和预轨迹指向重合。定义一个类似速度的参数Velocity,当摇杆偏离原点的横纵坐标为(X,Z)时,下一时刻的预轨迹方向向量(Vx‘,Vy’,Vz‘):
Figure BDA0001550949350000071
其中[VxVyVz]为前一时刻预轨迹方向向量,由上式可以看出,参数Velocity的大小影响着预轨迹改变的速度大小,该参数可以人为调节。
在每两节的转动副中,并不是通过电机驱动改变两节的相对角度,而是通过连接两关节的绳来调节两个关节的相对位置。在前述中,算法解决了各个时刻的每个关节的指向以及位置,现在阐述一种解决关节空间与驱动空间的算法,即算出每个时刻对应绳的长度。
在每两个关节之中存在着许多用于绳穿过的孔洞,且两个关节的孔洞一一对应,计算绳长的关键在于计算相应孔洞之间的距离。其中假设一圈孔洞距离关节中心轴的距离为R,待计算的绳长所处位置与相应坐标系x轴夹角为θ(显然可知,在k+1节的坐标系中夹角为θ的绳与在k节的坐标系中夹角为θ的绳为同一根绳),另外需要指出的是由于机械设计的特殊性,第k+1节的首端截面中心与第k节的尾端截面中心距离始终相等,设为D。在前述当中,在每个时刻都能够得到每个节的坐标系的转换矩阵Mi,即可以得到每两个节的相对转角α与β。相似地,由于轨迹运动的特殊性,只需算出每个时刻的第1节与第2节之间的绳长即可。
在第2节坐标系中,将坐标系的原点设在第2节的首端截面的中心,夹角为θ的绳所在孔洞坐标为(假设第2节的正交坐标基为
Figure BDA0001550949350000072
):
Figure BDA0001550949350000073
位于第1节尾端的对应孔洞坐标为:
Figure BDA0001550949350000074
只需求出上述两坐标的直线距离即求得之间的绳长。
上述算法matlab模拟演示如图4。

Claims (1)

1.一种多关节机械臂手动操控的逆运动学求解方法,其特征在于:假设该多关节机械臂的总关节数为n,从电机往外依次为第n节,第n-1节…第1节,每节关节长度为L,其特征在于:求解操作空间与关节空间的映射关系时,定义三维空间中的多关节机械臂的空间轨迹为y坐标的单值函数;那么只需关注第1个关节的运动情况,并且记录第1节的首端的三维坐标随时间变化关系即可得到后续所有关节的运动情况;在已知前一时刻的姿态信息的情况下,利用二分法对运动过程进行数值求解,从而求出整个运动过程的操作空间与关节空间的映射关系;
其中第1节关节首端应满足以下方程:
Figure FDA0001550949340000011
其中x、y、z分别代表空间曲线轨迹的三维坐标,下标代表关节数;
将上述三元方程的前两方程带入第三个方程得:
(x_f(y1)-x2)2+(y1-y2)2+(z_f(y1)-z2)2-L2=0
采用二分法来求出该方程的数值解,得到有解区间为y2<y1<=y2+L,在这个有解区间内有且只有一个解;
求解关节空间与驱动空间的映射关系时,已知每个关节的姿态,即每个关节的末端位置,先求出每个关节坐标系相对于基坐标系的转换矩阵,再利用每个关节的坐标系通过空间两点距离公式求解出相邻关节之间对应驱动绳的绳长,即解决关节空间与驱动空间的映射关系,具体是:
摇杆通过串口传递给matlab的数据是摇杆偏离原点的横纵坐标(X,Z),是一组二维的数据坐标,它表示的是在第1节关节坐标系下,预轨迹下一刻要偏离的方向,定义一个类似速度的参数Velocity,当摇杆偏离原点的横纵坐标为(X,Z)时,下一时刻的预轨迹方向向量(Vx‘,Vy’,Vz‘):
Figure FDA0001550949340000012
其中[VxVyVz]为前一时刻预轨迹方向向量,由上式可以看出,参数Velocity的大小影响着预轨迹改变的速度大小;
假设基坐标系的单位正交基向量为
Figure FDA0001550949340000021
第一节的坐标系为
Figure FDA0001550949340000022
则转动副的运动可以理解为先绕着第二根轴旋转α角度,再绕着第一根轴旋转β角度,所述第二根轴与第一根轴正交;该过程描述为以下等式:
Figure FDA0001550949340000023
Figure FDA0001550949340000024
Figure FDA0001550949340000025
假设第2节的正交坐标基为
Figure FDA0001550949340000026
在第2节坐标系中,将坐标系的原点设在第2节的首端截面的中心,夹角为θ的绳所在孔洞坐标为:
Figure FDA0001550949340000027
位于第1节尾端的对应孔洞坐标为:
Figure FDA0001550949340000028
只需求出上述两坐标的直线距离即求得之间的绳长。
CN201810046082.1A 2018-01-17 2018-01-17 一种多关节机械臂手动操控的逆运动学求解方法 Active CN108356820B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810046082.1A CN108356820B (zh) 2018-01-17 2018-01-17 一种多关节机械臂手动操控的逆运动学求解方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810046082.1A CN108356820B (zh) 2018-01-17 2018-01-17 一种多关节机械臂手动操控的逆运动学求解方法

Publications (2)

Publication Number Publication Date
CN108356820A CN108356820A (zh) 2018-08-03
CN108356820B true CN108356820B (zh) 2020-05-12

Family

ID=63006411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810046082.1A Active CN108356820B (zh) 2018-01-17 2018-01-17 一种多关节机械臂手动操控的逆运动学求解方法

Country Status (1)

Country Link
CN (1) CN108356820B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110561425B (zh) * 2019-08-21 2021-02-19 哈尔滨工业大学(深圳) 绳索驱动的柔性机器人力位混合控制方法及***
CN110744547B (zh) * 2019-11-08 2021-01-29 山东大学 一种基于分段常曲率的连续体机械臂逆运动学建模方法
CN112157678B (zh) * 2020-09-24 2021-10-22 河北工业大学 一种基于二分法的平面冗余机械臂碰撞位置检测方法
CN112720502A (zh) * 2021-01-11 2021-04-30 深圳市正运动技术有限公司 一种单多轴机械手的控制方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9321175B2 (en) * 2013-02-28 2016-04-26 Mda U.S. Systems, Llc Robotic manipulator articulation techniques
CN103942427B (zh) * 2014-04-11 2017-02-22 哈尔滨工程大学 一类六自由度机械臂运动学逆解的快速简便求法
CN104070525B (zh) * 2014-06-18 2016-02-03 大连大学 用于空间机械臂连续轨迹跟踪的方法
CN106313049B (zh) * 2016-10-08 2017-09-26 华中科技大学 一种仿人机械臂体感控制***及控制方法
CN106956260B (zh) * 2017-03-31 2019-02-19 浙江大学 一种多关节机械臂平面蛇形轨迹运动的逆运动学求解方法

Also Published As

Publication number Publication date
CN108356820A (zh) 2018-08-03

Similar Documents

Publication Publication Date Title
CN108356820B (zh) 一种多关节机械臂手动操控的逆运动学求解方法
US11845186B2 (en) Inverse kinematics solving method for redundant robot and redundant robot and computer readable storage medium using the same
CN108241339B (zh) 仿人机械臂的运动求解和构型控制方法
CN108326854B (zh) 一种多关节机械臂空间函数轨迹运动的逆运动学求解方法
JP3207728B2 (ja) 冗長マニピュレータの制御方法
US9862090B2 (en) Surrogate: a body-dexterous mobile manipulation robot with a tracked base
CN105291138B (zh) 一种增强虚拟现实浸入感的视觉反馈平台
US9031699B2 (en) Kinematic predictor for articulated mechanisms
Asada Dynamic analysis and design of robot manipulators using inertia ellipsoids
Li et al. Development of articulated robot trajectory planning
Baker et al. Some facts concerning the inverse kinematics of redundant manipulators
CN108638065A (zh) 一种排爆机器人双臂协同控制***
CN110561419B (zh) 臂型线约束柔性机器人轨迹规划方法及装置
CN111890349A (zh) 一种四自由度机械臂运动规划方法
CN113146600A (zh) 基于运动学迭代学习控制的柔性机器人轨迹规划方法及装置
Xie et al. Human-like motion planning for robotic arm system
Shin et al. Collision–Free Trajectory Planning for Two Robot Arms
CN112045664A (zh) 一种基于ros***的通用机械臂控制器
Ren et al. Knowledge database-based multiobjective trajectory planning of 7-DOF manipulator with rapid and continuous response to uncertain fast-flying objects
CN115533920A (zh) 一种求解绳驱机械臂逆运动学的协同规划方法及***、计算机存储介质
Hwang et al. Human interface, automatic planning, and control of a humanoid robot
Yerlikaya et al. Obtaining high-dimensional configuration space for robotic systems operating in a common environment
CN113547519B (zh) 一种基于变维缩放的机械臂逆运动学求解方法
Suomela et al. Human robot interaction-case WorkPartner
Wang et al. Methods of weakening model in continuum robot control

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant