一种驱动后置连续多关节机械臂的控制方法
【技术领域】
[0001] 本发明涉及工业机械手技术领域,尤其涉及一种驱动后置连续多关节机械臂的控 制方法。
【背景技术】
[0002] 传统机械手臂是以人等脊椎动物为参照进行设计研制的,包括几个刚性关节和一 个末梢执行器。这种结构在多种场合下都能很好的工作,尤其是在开阔和布置整齐的环境 下。然而在拥挤狭窄的空间内,并且需要保证机械臂与环境不能发生碰撞的情况下传统的 设计想要实现就会很困难。
[0003] 然而在自然界中如象鼻、章鱼触手、蛇等动物的躯体灵活多变,往往能在复杂拥挤 的环境内行走或工作。受此启发,研究者们设计了很多仿生机器人和机械手臂。而本团队也 设计了一款名为驱动后置连续多关节机械臂的机械手臂。该机械臂的结构在申请号为 201410823602.7的发明专利:一种连续多关节机械臂装置中已经做出了详细的说明,简要 概括就是:机械臂的驱动部件采用的是伺服电机,伺服电机利用脉冲进行驱动,通过联轴器 和丝杠螺母传动机构将电机的转动转化为与之相连绳索的牵拉运动,三根绳索牵动一个关 节,控制关节的思路就是通过绳索控制每一个关节的运动从而控制整个机械臂的运动。但 是在如何有效的实现该机械臂的运动控制方面却进步缓慢。在本专利中主要介绍一种如何 实现该机械臂运动控制的方法。
【发明内容】
[0004] 本发明专利的目的在于针对已有技术的不足,提供一种驱动后置连续多关节机械 臂的控制方法,使机械臂能够实现初始姿态和目的姿态之间的自动变换。
[0005] 为了实现上述目的,本发明专利的构思是,由于机械臂的关节数目多,而且又是绳 索驱动,从整体上采用先实现靠近基座底部关节的姿态变换再逐次实现机械手臂末端关节 的姿态变换,即由下向上的顺序。而具体到每个关节,为了实现关节姿态的成功变化,采用 的方法是使各关节的两个关节角采用分步渐进的变化方式,同时为了使各关节姿态变化顺 利进行,使控制关节的三根绳索按照先松后紧的方式控制各关节的姿态变化。
[0006] 根据上述发明构思,本发明采用下述技术方案:
[0007] -种驱动后置连续多关节机械臂的运动控制方法,所控制的机械臂包括两大主要 部分:即基座和设置于基座上的机械臂,在基座内包括作为底座支撑的驱动部件和几个固 定板,机械臂包括多个关节模块和连接关节模块的十字轴转向模块,在驱动部件中包括伺 服电机、联轴器、丝杠、移动螺母、推杆、钢丝固定板,其特征在于:具体的操作步骤如下:
[0008] ①计算姿态变化关节角:在已知初始状态各关节关节角时给出姿态变化后的目的 关节角,首先应该变化靠近基座的关节模块的姿态,此时随后的关节作跟随运动,即保持各 关节角值不变,待靠近基座的关节模块姿态变化完成后就才能进行下一个关节的姿态变 换,直至最后一个关节姿态变化完成;
[0009] ②计算关节角变化量:对于具体的某个关节,其姿态变化采用分步渐进的方式,BP 计算出该关节的两个关节角需要变化的关节角变化量,设定一个相对变化量很小的微变化 量,然后使两个关节角交替变化,而每次变化的量即为设定的微变化量,直至该关节的两个 关节角变化完成;
[0010] ③计算绳索长度变化量:在分步渐进的一小步中,当某个关节的两个关节角中的 一个要变化设定的微变化量时,可计算出控制该关节的三根绳索的长度变化量,对长度变 化量进行排序,按照大小顺序依次执行绳索长度的变化;
[0011]④计算电机的控制量:在对驱动绳索长度进行变化时,首先判断变化量值的正负, 根据正负来设定电机的转动方向,然后根据变化量值计算出驱动器所需要发出的脉冲数N, 然后设定驱动器的控制电机转向的引脚电平的高低,驱动器向电机发送所计算数目的脉 冲。
[0012] 本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著技术进 步:本发明对多关节机械臂的运动控制方法,包括对任意一个关节如何实现姿态变化的方 法,对于控制一个关节的三根绳索的控制方法,以及驱动器如何根据绳索长度变化量来驱 动电机的方法。本发明简单明了,使用有效,适用于多关节多自由度机械臂的运动控制。
[0013] 所述步骤①计算姿态变化关节角:首先将各关节角变化量计算出来,即将目的姿 态关节角减去初始姿态关节角,第i个关节的关节角变化量为angle[2i-2]和angle[2i-l], 首先判断靠近基座的关节的两个关节角变化量是否都为零,如果为否则首先执行该关节的 姿态变化,如果为是则直接判断第i+Ι个关节的两个关节角变化量是否都为零,直至关节臂 的最后一个关节模块姿态完成变化。
[0014]所述步骤②计算关节角变化量:设定一个相对较小的关节角度变化量用来作为关 节角每一步变化的角度值,在这里称之为微变化量,第i个关节的关节角变化量为angle [2i-2]和angle[2i-l],其对应的微变化量为judge[2i-2]和judge[2i-l],然后判断 angle_c[2i-2] |>= I judge[2i-2] |&&|angle_c[2i-l] |>= I judge[2i-l] I,若为是则循环 交替变化对应的关节角,对应的每一次变化都要使这两个关节角变化量的值缩小对应的微 变化量,直至为否时,进入下一个判断:即|angle_c[2i-2] |>= I judge[2i-2] I,若判断为 是,则将第(2i_l)关节角变化完成,然后循环变化第(2i-2)关节角,直至完成该关节角度的 变化,若为否,则进入下一个判断即:|angle_c[2i-l] |>= I judge[2i-l] I,若为是,则将第 (2i-2)关节角变化完成,然后循环变化第(2i-l)关节角,直至完成该关节角度的变化,若为 否,则直接依次完成该关节两个关节角的变化。
[0015] 所述步骤③计算绳索长度变化量:关节的其中一个关节角在发生一个微变化量的 姿态变化过程中,首先可计算出控制该关节的三根绳索在绳索固定的关节板与上滑轮板之 间的绳索长度的变化值11〇]、111]、112],判断11〇]> = 111]&&11〇]> = 112],若为是则执行1^ [0 ]对应的绳索驱动函数Qu (L [ 0 ]),然后判断L [ 1 ]和L [ 2 ]的大小,哪个数值大就先执行那个 对应的绳索驱动函数,若为否则进入下一个判断,即判断L[1]> = L[2],若为是则执行Qu(L
[1]),然后判断L[0]和L[2]的大小,哪个数值大就先执行那个对应的绳索驱动函数,若为否 则执行Qu(L[2]),然后判断L[0]和L[l]的大小,哪个数值大就先执行那个对应的绳索驱动 函数。
[0016] 所述步骤④计算电机的控制量:电机驱动绳索进行关节变化时,所述的绳索驱动 函数Qu(L[i]),该函数的流程是首先判断L[i]值的正负,然后根据判断结果确定电机的转 向,然后利用L[i]的值计算出电机所需的脉冲数,使驱动器向电机发送所需的脉冲数即可。
【附图说明】
[0017] 图1:本发明的整体结构示意图;
[0018] 图2:本发明基座的驱动部件与机械臂的关节板绳索连接的立体示意图;
[0019] 图3:驱动部件内部结构示意图。
[0020] 图4:在关节部件上建立D-H双坐标系的实例示意图;
[0021 ]图:5:多关节控制算法示意图;
[0022]图6:单关节控制算法示意图;
[0023]图7:单关节上三根绳索控制算法示意图;
[0024]图8:单根绳索控制算法示意图;
[0025]图9:关节模块的下关节板上的三个绳索固定点在第二坐标系中的坐标表示;
[0026]图10:上滑轮板上的三个绳索通过点在基座标系中的坐标表示。
【具体实施方式】
[0027]以下结合附图和优选实施例对本发明做进一步说明。
[00