CN105666479A - 一种驱动后置连续多关节机械臂的控制方法 - Google Patents
一种驱动后置连续多关节机械臂的控制方法 Download PDFInfo
- Publication number
- CN105666479A CN105666479A CN201511015794.XA CN201511015794A CN105666479A CN 105666479 A CN105666479 A CN 105666479A CN 201511015794 A CN201511015794 A CN 201511015794A CN 105666479 A CN105666479 A CN 105666479A
- Authority
- CN
- China
- Prior art keywords
- joint
- angle
- rope
- change
- 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.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/06—Programme-controlled manipulators characterised by multi-articulated arms
- B25J9/065—Snake robots
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
- B25J9/1625—Truss-manipulator for snake-like motion
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
Abstract
本发明提供了一种驱动后置连续多关节机械臂的控制方法。该控制方法包括机械臂由多个关节组成时各个关节之间的运动控制方法;对于任意一个关节如何实现姿态变化的方法;对于控制一个关节的三根绳索的控制方法;以及驱动器如何根据绳索长度变化量来驱动电机的方法。本发明的机械臂控制方法使用有效,简单明了,能够轻易地实现该机械臂的姿态控制,对于其他关节数目多,自由度多的多关节机械臂的运动控制也有借鉴意义。
Description
技术领域
本发明涉及工业机械手技术领域,尤其涉及一种驱动后置连续多关节机械臂的控制方法。
背景技术
传统机械手臂是以人等脊椎动物为参照进行设计研制的,包括几个刚性关节和一个末梢执行器。这种结构在多种场合下都能很好的工作,尤其是在开阔和布置整齐的环境下。然而在拥挤狭窄的空间内,并且需要保证机械臂与环境不能发生碰撞的情况下传统的设计想要实现就会很困难。
然而在自然界中如象鼻、章鱼触手、蛇等动物的躯体灵活多变,往往能在复杂拥挤的环境内行走或工作。受此启发,研究者们设计了很多仿生机器人和机械手臂。而本团队也设计了一款名为驱动后置连续多关节机械臂的机械手臂。该机械臂的结构在申请号为201410823602.7的发明专利:一种连续多关节机械臂装置中已经做出了详细的说明,简要概括就是:机械臂的驱动部件采用的是伺服电机,伺服电机利用脉冲进行驱动,通过联轴器和丝杠螺母传动机构将电机的转动转化为与之相连绳索的牵拉运动,三根绳索牵动一个关节,控制关节的思路就是通过绳索控制每一个关节的运动从而控制整个机械臂的运动。但是在如何有效的实现该机械臂的运动控制方面却进步缓慢。在本专利中主要介绍一种如何实现该机械臂运动控制的方法。
发明内容
本发明专利的目的在于针对已有技术的不足,提供一种驱动后置连续多关节机械臂的控制方法,使机械臂能够实现初始姿态和目的姿态之间的自动变换。
为了实现上述目的,本发明专利的构思是,由于机械臂的关节数目多,而且又是绳索驱动,从整体上采用先实现靠近基座底部关节的姿态变换再逐次实现机械手臂末端关节的姿态变换,即由下向上的顺序。而具体到每个关节,为了实现关节姿态的成功变化,采用的方法是使各关节的两个关节角采用分步渐进的变化方式,同时为了使各关节姿态变化顺利进行,使控制关节的三根绳索按照先松后紧的方式控制各关节的姿态变化。
根据上述发明构思,本发明采用下述技术方案:
一种驱动后置连续多关节机械臂的运动控制方法,所控制的机械臂包括两大主要部分:即基座和设置于基座上的机械臂,在基座内包括作为底座支撑的驱动部件和几个固定板,机械臂包括多个关节模块和连接关节模块的十字轴转向模块,在驱动部件中包括伺服电机、联轴器、丝杠、移动螺母、推杆、钢丝固定板,其特征在于:具体的操作步骤如下:
①计算姿态变化关节角:在已知初始状态各关节关节角时给出姿态变化后的目的关节角,首先应该变化靠近基座的关节模块的姿态,此时随后的关节作跟随运动,即保持各关节角值不变,待靠近基座的关节模块姿态变化完成后就才能进行下一个关节的姿态变换,直至最后一个关节姿态变化完成;
②计算关节角变化量:对于具体的某个关节,其姿态变化采用分步渐进的方式,即计算出该关节的两个关节角需要变化的关节角变化量,设定一个相对变化量很小的微变化量,然后使两个关节角交替变化,而每次变化的量即为设定的微变化量,直至该关节的两个关节角变化完成;
③计算绳索长度变化量:在分步渐进的一小步中,当某个关节的两个关节角中的一个要变化设定的微变化量时,可计算出控制该关节的三根绳索的长度变化量,对长度变化量进行排序,按照大小顺序依次执行绳索长度的变化;
④计算电机的控制量:在对驱动绳索长度进行变化时,首先判断变化量值的正负,根据正负来设定电机的转动方向,然后根据变化量值计算出驱动器所需要发出的脉冲数N,然后设定驱动器的控制电机转向的引脚电平的高低,驱动器向电机发送所计算数目的脉冲。
本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著技术进步:本发明对多关节机械臂的运动控制方法,包括对任意一个关节如何实现姿态变化的方法,对于控制一个关节的三根绳索的控制方法,以及驱动器如何根据绳索长度变化量来驱动电机的方法。本发明简单明了,使用有效,适用于多关节多自由度机械臂的运动控制。
所述步骤①计算姿态变化关节角:首先将各关节角变化量计算出来,即将目的姿态关节角减去初始姿态关节角,第i个关节的关节角变化量为angle[2i-2]和angle[2i-1],首先判断靠近基座的关节的两个关节角变化量是否都为零,如果为否则首先执行该关节的姿态变化,如果为是则直接判断第i+1个关节的两个关节角变化量是否都为零,直至关节臂的最后一个关节模块姿态完成变化。
所述步骤②计算关节角变化量:设定一个相对较小的关节角度变化量用来作为关节角每一步变化的角度值,在这里称之为微变化量,第i个关节的关节角变化量为angle[2i-2]和angle[2i-1],其对应的微变化量为judge[2i-2]和judge[2i-1],然后判断|angle_c[2i-2]|>=|judge[2i-2]|&&|angle_c[2i-1]|>=|judge[2i-1]|,若为是则循环交替变化对应的关节角,对应的每一次变化都要使这两个关节角变化量的值缩小对应的微变化量,直至为否时,进入下一个判断:即|angle_c[2i-2]|>=|judge[2i-2]|,若判断为是,则将第(2i-1)关节角变化完成,然后循环变化第(2i-2)关节角,直至完成该关节角度的变化,若为否,则进入下一个判断即:|angle_c[2i-1]|>=|judge[2i-1]|,若为是,则将第(2i-2)关节角变化完成,然后循环变化第(2i-1)关节角,直至完成该关节角度的变化,若为否,则直接依次完成该关节两个关节角的变化。
所述步骤③计算绳索长度变化量:关节的其中一个关节角在发生一个微变化量的姿态变化过程中,首先可计算出控制该关节的三根绳索在绳索固定的关节板与上滑轮板之间的绳索长度的变化值L[0]、L[1]、L[2],判断L[0]>=L[1]&&L[0]>=L[2],若为是则执行L[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[1]的大小,哪个数值大就先执行那个对应的绳索驱动函数。
所述步骤④计算电机的控制量:电机驱动绳索进行关节变化时,所述的绳索驱动函数Qu(L[i]),该函数的流程是首先判断L[i]值的正负,然后根据判断结果确定电机的转向,然后利用L[i]的值计算出电机所需的脉冲数,使驱动器向电机发送所需的脉冲数即可。
附图说明
图1:本发明的整体结构示意图;
图2:本发明基座的驱动部件与机械臂的关节板绳索连接的立体示意图;
图3:驱动部件内部结构示意图。
图4:在关节部件上建立D-H双坐标系的实例示意图;
图:5:多关节控制算法示意图;
图6:单关节控制算法示意图;
图7:单关节上三根绳索控制算法示意图;
图8:单根绳索控制算法示意图;
图9:关节模块的下关节板上的三个绳索固定点在第二坐标系中的坐标表示;
图10:上滑轮板上的三个绳索通过点在基座标系中的坐标表示。
具体实施方式
以下结合附图和优选实施例对本发明做进一步说明。
实施例一:
参见图1~图10,本驱动后置连续多关节机械臂的运动控制方法,所控制的机械臂包括两大主要部分:即基座(Ⅰ)和设置于基座(Ⅰ)上的机械臂(Ⅱ),在基座(Ⅰ)内包括作为底座支撑的驱动部件(a)和几个固定板,机械臂(Ⅱ)包括多个关节模块(k)和连接关节模块(k)的十字轴转向模块(j),在驱动部件(a)中包括伺服电机(1)、联轴器(2)、丝杠(3)、移动螺母(4)、推杆(5)、钢丝固定板(6),其特征在于:具体的操作步骤如下:
①计算姿态变化关节角:在已知初始状态各关节关节角时给出姿态变化后的目的关节角,首先应该变化靠近基座(Ⅰ)的关节模块(k)的姿态,此时随后的关节作跟随运动,即保持各关节角值不变,待靠近基座(Ⅰ)的关节模块姿态变化完成后就才能进行下一个关节的姿态变换,直至最后一个关节姿态变化完成;
②计算关节角变化量:对于具体的某个关节,其姿态变化采用分步渐进的方式,即计算出该关节的两个关节角需要变化的关节角变化量,设定一个相对变化量很小的微变化量,然后使两个关节角交替变化,而每次变化的量即为设定的微变化量,直至该关节的两个关节角变化完成;
③计算绳索长度变化量:在分步渐进的一小步中,当某个关节的两个关节角中的一个要变化设定的微变化量时,可计算出控制该关节的三根绳索的长度变化量,对长度变化量进行排序,按照大小顺序依次执行绳索长度的变化;
④计算电机的控制量:在对驱动绳索长度进行变化时,首先判断变化量值的正负,根据正负来设定电机的转动方向,然后根据变化量值计算出驱动器所需要发出的脉冲数N,然后设定驱动器的控制电机转向的引脚电平的高低,驱动器向电机发送所计算数目的脉冲。
实施例二:本实施例与实施例一基本相同,特征之处如下:
所述步骤①计算姿态变化关节角:首先将各关节角变化量计算出来,即将目的姿态关节角减去初始姿态关节角,第i个关节的关节角变化量为angle[2i-2]和angle[2i-1],首先判断靠近基座(Ⅰ)的关节的两个关节角变化量是否都为零,如果为否则首先执行该关节的姿态变化,如果为是则直接判断第i+1个关节的两个关节角变化量是否都为零,直至关节臂的最后一个关节模块姿态完成变化。
所述步骤②计算关节角变化量:设定一个相对较小的关节角度变化量用来作为关节角每一步变化的角度值,在这里称之为微变化量,第i个关节的关节角变化量为angle[2i-2]和angle[2i-1],其对应的微变化量为judge[2i-2]和judge[2i-1],然后判断|angle_c[2i-2]|>=|judge[2i-2]|&&|angle_c[2i-1]|>=|judge[2i-1]|,若为是则循环交替变化对应的关节角,对应的每一次变化都要使这两个关节角变化量的值缩小对应的微变化量,直至为否时,进入下一个判断:即|angle_c[2i-2]|>=|judge[2i-2]|,若判断为是,则将第(2i-1)关节角变化完成,然后循环变化第(2i-2)关节角,直至完成该关节角度的变化,若为否,则进入下一个判断即:|angle_c[2i-1]|>=|judge[2i-1]|,若为是,则将第(2i-2)关节角变化完成,然后循环变化第(2i-1)关节角,直至完成该关节角度的变化,若为否,则直接依次完成该关节两个关节角的变化。
所述步骤③计算绳索长度变化量:关节的其中一个关节角在发生一个微变化量的姿态变化过程中,首先可计算出控制该关节的三根绳索在绳索固定的关节板与上滑轮板(i)之间的绳索长度的变化值L[0]、L[1]、L[2],判断L[0]>=L[1]&&L[0]>=L[2],若为是则执行L[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[1]的大小,哪个数值大就先执行那个对应的绳索驱动函数。
所述步骤④计算电机的控制量:电机驱动绳索进行关节变化时,所述的绳索驱动函数Qu(L[i]),该函数的流程是首先判断L[i]值的正负,然后根据判断结果确定电机的转向,然后利用L[i]的值计算出电机所需的脉冲数,使驱动器向电机发送所需的脉冲数即可。
实施例三:
如图1所示,本实施例的多关节机械臂由基座Ⅰ和机械臂Ⅱ两部分组成,其中机械臂可以由多个关节组成,但在此只以10个关节为例。
如图2所示,基座Ⅰ由底部的若干个驱动部件a,从下至上依次布置的电机下固定板b、电机上固定板d、滑轮上固定板i,以及设置在滑轮下固定板f上的滑轮组g,连接电机下固定板b和电机上固定板d的连杆c、连接电机上固定板d和滑轮下固定板f的连杆e、连接滑轮下固定板f和滑轮上固定板i的连杆h组成,所述机械臂Ⅱ由若干个关节j和相邻关节j之间的关节骨干k组成,同时三个驱动部件a通过三根绳索m经过滑轮组g的导引控制一个关节骨干k,且三个驱动部件a两两相隔120°固定。
如图3所示,驱动部件a包括:伺服电机1、联轴器2、丝杠3、移动螺母4、推杆5、钢丝固定板6,其驱动原理是:控制器控制电机1的正反转,通过联轴器2将运动传递给丝杠3,与丝杠3配合的是移动螺母4,移动螺母4上面固定了两根导杆5,导杆5固定于电机上固定板d上,导杆5只能做垂直于电机上固定板方向的运动,因此丝杠3旋转时,移动螺母4就会和推杆5一起沿着丝杠3的轴向运动,电机输出轴每转动一圈则移动螺母4就会和推杆5移动一个丝杠3导程的距离,与推杆5固定连接的是钢丝固定板6,而绳索m的一端即固定在钢丝固定板6上,因此导杆5的移动就会使绳索被拉紧和放松。
如图4所示,在关节上建立D-H坐标系,图中所示的是第一个关节(其余类似),在这里建立两个坐标系,其关节角为θ1,θ2。其相邻关节类似,如第二个关节处的两个关节角为θ3,θ4。当给出初始角θ1=angle_a[0],θ2=angle_a[1],θ3=angle_a[2],θ4=angle_a[3]。给出目标的关节角度,也就是希望关节转动后所要达到的关节角度值θ′1=angle_b[0],θ′2=angle_b[1],θ′3=angle_b[2],θ′4=angle_b[3]。因此具体每个关节角需要变化的角度即为:
θ″1=angle_c[0]=angle_b[0]-angle_a[0],θ″2=angle_c[1]=angle_b[1]-angle_a[1],θ″3=angle_c[2]=angle_b[2]-angle_a[2],θ″4=angle_c[3]=angle_b[3]-angle_a[3]。
如图5所示,该算法流程图是控制多关节机械臂的总体思路,n为关节总数,第i个关节的两个关节角变化量为angle_c[2i-2]和angle_c[2i-1]。控制的整体方案是:
①判断第一个关节的两个关节角变化量是否都为零。如果为否,则先执行该关节的姿态变换,然后判断下一个关节,如果为是,则直接判断下一个关节;
②判断第二个关节的两个关节角,方法与第一步类似,循环执行下去,直到最后一个关节姿态变化完成。
如图6所示,该算法流程图是针对某个关节,它的两个关节角是如何变化至目的角度的。其思路是采用分步渐进的方式交替进行角度的变化。控制的方法是每次的变化角度设定为judge[i],angle_c[i]对应judge[i]。该步的控制方案如下:
①以第i个关节为例,首先判断该关节的两个关节角变化量angle_c[2i-2]和angle_c[2i-1]的绝对值是否均分别大于等于对应的judge[2i-2]和judge[2i-1],若是则依次变化这两个关节角,将angle_c[2i-2]和angle_c[2i-1]的绝对值都减去相对应的judge[2i-2]和judge[2i-1],然后再次判断,直至判断为否,跳出循环进入下一步;
②接下来判断angle_c[2i-2]的绝对值是否大于等于judge[2i-2],如果是,则可以判断angle_c[2i-1]的绝对值小于judge[2i-1],则将第2i-1个关节角变化完成,使angle_c[2i-1]=0,然后循环变化第2i-2个关节角直至运动结束,此时第i关节姿态变化结束。如果否,进入下一步;
③判断angle_c[2i-1]的绝对值是否大于等于judge[2i-1],如果是,则首先将第2i-2个关节角变化至末态位置,angle_c[2i-2]=0,然后循环变化第二关节角直至判断angle_c[2i-1]=0,此时第i关节姿态变化结束。如果否,进入下一步;
④依次将第2i-2关节角和第2i-1关节角变化至末态位置,使angle_c[2i-2]=0且angle_c[2i-1]=0,此时第i关节姿态变化结束。
如图7所示,该算法流程图展示的是当采用关节角度分步变化时,在关节角每一步的变化中三根绳索对应的电机驱动方法,而采取的思路是三根绳索先释放需要松动的,在收紧需要拉紧的。如以某个关节为例,在某一步变化之初,此时该关节角为θ,当要变化judge[i]=1°时,也就是使关节角达到θ′=θ±1°时(±表示“或加或减”),根据运动学的计算此时在上滑轮板(i)与绳索固定的关节板之间的三根绳索的长度变化量为L[0],L[1],L[2]。在这里长度变化量是末态长度减去初态长度,因此大于零表示绳索放松,小于零表示绳索收紧。根据三根绳索先放松后拉紧的思路制定出图7的算法流程图,Qu(L[i])是针对第i根绳索的长度变化量所进行电机控制绳索长度的函数。该步的控制方案如下:
①判断L[0]>=L[1]&&L[0]>=L[2],若为是,则执行Qu(L[0]),然后判断L[1]和L[2]的大小,若L[1]>=L[2]则先执行Qu(L[1]),后执行Qu(L[2]),反之,执行顺序相反。若为否,进入下一步;
②判断L[1]>=L[2],若是,则L[1]最大,先执行Qu(L[1]),然后判断L[0]和L[2]的大小,若L[0]>=L[2]则先执行Qu(L[0]),后执行Qu(L[2]),反之,执行顺序相反。若为否,进入下一步;
③此时说明L[2]最大,先执行Qu(L[2]),然后判断L[0]和L[1]的大小,若L[0]>=L[1]则先执行Qu(L[0]),后执行Qu(L[1]),反之,执行顺序相反。
如图8所示,该算法流程图描述的是驱动器如何控制电机来驱动绳索的算法,也就是图7中提到的Qu(L[i])函数的具体执行方案。首先根据绳索变化长度的正负来判断电机的正反转,然后计算电机所需要的转动角度,最后驱动器驱动电机从而带动绳索使关节改变姿态。这是整个关节臂姿态变化的最小一层级的控制。其中step是电机接受一个脉冲电机转动的角度转化的绳索变化值,N是完成一次绳索长度变化所需的脉冲数。该步的控制方案:
①首先判断L[i]>0,若为是,则控制电机驱动器的电机转向引脚电平使电机正向旋转,若为否,则电机转向相反;
②计算出电机所需要发出的脉冲数N;
③驱动器驱动电机,向电机发送N个脉冲。
如图9所示,该图描述的是控制第一个关节模块姿态的三根绳索的绳索固定点在第二坐标系中的位置表示,三根绳索通过牵拉图中的三点来控制该关节的姿态;
如图10所示,该图描述的是控制第一个关节的三根绳索在上滑轮板(i)上的通过点在基座标系中的位置表示,通过计算绳索在上滑轮板(i)和第一个关节板之间的绳长从而可得出控制绳索的电机转动的角度和方向。
该机械臂装置的控制系统包括:ArduinoMega2560控制板,DCC-9010电机驱动器,该装置中采用的电机1是自带编码器和减速器的空心杯电机,编码器共两相,100线,电机减速比是231:1,在本设计中,采用脉冲模式控制电机的转动,电机输出轴每转动一圈所需脉冲46200个。
实施范例:
为简化范例,本例目的只要求控制第一个关节的关节姿态(多关节姿态运动方法同理),要求其两个关节角从零度变化至都为2°,如图6所示,即θ1=angle_a[0]=0,θ2=angle_a[1]=0,目的关节角angle_b[0]=2°,angle_b[0]=2°,可得关节角变化量为angle_c[0]=2°,angle_c[1]=2°,定义两个关节角的微变化量都为1°,即judge[0]=judge[1]=1°。
建立D-H坐标系,如图4所示,下表是其参数表:
i | ai-1 | αi-1 | di | θi6 --> |
1 | a0(24mm) | α0(0°) | 0 | θ1 |
2 | a1(0) | α1(90°) | 0 | θ2 |
坐标系转换矩阵:
则
其中cn=cosθn,sn=sinθn。
将参数初始值θ1=0,θ2=0,a0=24带入后
第一关节板上的三根绳索固定点在第二坐标系中的位置分别为
P(28,55,0),M(28,-55sin30°,55cos30°),O(28,-55sin30°,-55cos30°)
将这三个点利用转换矩阵用基坐标系表示:
绳索在上滑轮板(i)上的位置:
P0(0,-55sin6°,55cos6°);M0(0,-55cos36°,-55sin36°);O0(0,55cos24°,-55sin24°)
则绳索在第一关节板和上滑轮板i之间的初始距离为:
PP0=52.3177mm;OO0=52.3177mm;MM0=52.3177mm。
此时图6,使第一个关节角变化一个微变化量,即1°,此时姿态转换矩阵变为:
利用空间坐标系中求两点之间距离的方法,计算出此时的绳索在关节板和上滑轮板之间的绳索长度为:
PP0=52.3694mm,MM0=53.1728mm,OO0=51.4652mm
将目前的长度减去原始长度,计算出绳索长度变化量:
L[0]=52.3694-52.3177=0.0517mm;L[1]=53.1728-52.3177=0.8551mm;L[2]=51.4652-52.3177=-0.8525mm
根据算法流程图图7,L[1]>L[0]>L[2],所以先驱动L[1]对应的绳索,然后是L[0]对应的,最后是L[2]对应的。
执行Qu(L[1]),根据图8,首先判断L[1]>0,应是绳索放松,设定电机正向转动,然后根据传动部件(a)的参数计算脉冲数N=36734,同理,Qu(L[0]),使电机正向,绳索放松,脉冲数N=2388,最后Qu(L[2]),电机反向,绳索拉紧,N=39387。
此时,angle_a[0]=1°,angle_a[1]=0,angle_b[0]=2°,angle_b[0]=2°,可得angle_c[0]=1°,angle_c[1]=2°。
执行完第一个关节角的变化,开始执行第二个关节角的变化:
使angle_a[1]=1°,则坐标系转换矩阵为:
计算出此时的绳索在关节板和上滑轮板之间的绳索长度为:
PP0=51.4154mm;MM0=53.6321mm;OO0=51.8913mm
绳索长度变化量为L[0]=51.4154-52.3694=-0.9540mm;L[1]=53.6321-53.1728=0.4593mm;L[2]=51.8913-51.4652=0.4261mm
得出:L[1]>L[2]>L[0],首先1号电机正转,脉冲数N=21221;然后是2号电机正转,N=19687;最后是0号电机反转,N=44074。
此时,angle_a[0]=1°,angle_a[1]=1°,angle_b[0]=2°,angle_b[0]=2°,可得angle_c[0]=1°,angle_c[1]=1°。
此时,根据图6的算法流程图,angle_c[0]>=1°&&angle_c[1]>=1°,依照上面的方法,使第一个关节角增加1°,然后执行该步的变化,完成后再使第二关节角增加1°,执行该步的姿态变化,完成后整个姿态变换完成,此时:
angle_a[0]=2°,angle_a[1]=2°,angle_b[0]=2°,angle_b[0]=2°,可得angle_c[0]=0,angle_c[1]=0。此时,该关节的姿态完成。
Claims (5)
1.一种驱动后置连续多关节机械臂的运动控制方法,所控制的机械臂包括两大主要部分:即基座(Ⅰ)和设置于基座(Ⅰ)上的机械臂(Ⅱ),在基座(Ⅰ)内包括作为底座支撑的驱动部件(a)和几个固定板,机械臂(Ⅱ)包括多个关节模块(k)和连接关节模块(k)的十字轴转向模块(j),在驱动部件(a)中包括伺服电机(1)、联轴器(2)、丝杠(3)、移动螺母(4)、推杆(5)、钢丝固定板(6),其特征在于:具体的操作步骤如下:①计算姿态变化关节角:在已知初始状态各关节关节角时给出姿态变化后的目的关节角,首先应该变化靠近基座(Ⅰ)的关节模块(k)的姿态,此时随后的关节作跟随运动,即保持各关节角值不变,待靠近基座(Ⅰ)的关节模块姿态变化完成后就才能进行下一个关节的姿态变换,直至最后一个关节姿态变化完成;
②计算关节角变化量:对于具体的某个关节,其姿态变化采用分步渐进的方式,即计算出该关节的两个关节角需要变化的关节角变化量,设定一个相对变化量很小的微变化量,然后使两个关节角交替变化,而每次变化的量即为设定的微变化量,直至该关节的两个关节角变化完成;
③计算绳索长度变化量:在分步渐进的一小步中,当某个关节的两个关节角中的一个要变化设定的微变化量时,可计算出控制该关节的三根绳索的长度变化量,对长度变化量进行排序,按照大小顺序依次执行绳索长度的变化;
④计算电机的控制量:在对驱动绳索长度进行变化时,首先判断变化量值的正负,根据正负来设定电机的转动方向,然后根据变化量值计算出驱动器所需要发出的脉冲数N,然后设定驱动器的控制电机转向的引脚电平的高低,驱动器向电机发送所计算数目的脉冲。
2.根据专利要求1所述的驱动后置连续多关节机械臂的控制方法,其特征在于:所述步骤①计算姿态变化关节角:首先将各关节角变化量计算出来,即将目的姿态关节角减去初始姿态关节角,第i个关节的关节角变化量为angle[2i-2]和angle[2i-1],首先判断靠近基座(Ⅰ)的关节的两个关节角变化量是否都为零,如果为否则首先执行该关节的姿态变化,如果为是则直接判断第i+1个关节的两个关节角变化量是否都为零,直至关节臂的最后一个关节模块姿态完成变化。
3.根据专利要求1所述的驱动后置连续多关节机械臂的控制方法,其特征在于:所述步骤②计算关节角变化量:设定一个相对较小的关节角度变化量用来作为关节角每一步变化的角度值,在这里称之为微变化量,第i个关节的关节角变化量为angle[2i-2]和angle[2i-1],其对应的微变化量为judge[2i-2]和judge[2i-1],然后判断|angle_c[2i-2]|>=|judge[2i-2]|&&|angle_c[2i-1]|>=|judge[2i-1]|,若为是则循环交替变化对应的关节角,对应的每一次变化都要使这两个关节角变化量的值缩小对应的微变化量,直至为否时,进入下一个判断:即|angle_c[2i-2]|>=|judge[2i-2]|,若判断为是,则将第(2i-1)关节角变化完成,然后循环变化第(2i-2)关节角,直至完成该关节角度的变化,若为否,则进入下一个判断即:|angle_c[2i-1]|>=|judge[2i-1]|,若为是,则将第(2i-2)关节角变化完成,然后循环变化第(2i-1)关节角,直至完成该关节角度的变化,若为否,则直接依次完成该关节两个关节角的变化。
4.根据权利要求1所述的驱动后置连续多关节机械臂的控制方法,其特征在于:所述步骤③计算绳索长度变化量:关节的其中一个关节角在发生一个微变化量的姿态变化过程中,首先可计算出控制该关节的三根绳索在绳索固定的关节板与上滑轮板(i)之间的绳索长度的变化值L[0]、L[1]、L[2],判断L[0]>=L[1]&&L[0]>=L[2],若为是则执行L[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[1]的大小,哪个数值大就先执行那个对应的绳索驱动函数。
5.根据权利要求1所述的驱动后置连续多关节机械臂的控制方法,其特征在于:所述步骤④计算电机的控制量:电机驱动绳索进行关节变化时,所述的绳索驱动函数Qu(L[i]),该函数的流程是首先判断L[i]值的正负,然后根据判断结果确定电机的转向,然后利用L[i]的值计算出电机所需的脉冲数,使驱动器向电机发送所需的脉冲数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511015794.XA CN105666479A (zh) | 2015-12-29 | 2015-12-29 | 一种驱动后置连续多关节机械臂的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511015794.XA CN105666479A (zh) | 2015-12-29 | 2015-12-29 | 一种驱动后置连续多关节机械臂的控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105666479A true CN105666479A (zh) | 2016-06-15 |
Family
ID=56298000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511015794.XA Pending CN105666479A (zh) | 2015-12-29 | 2015-12-29 | 一种驱动后置连续多关节机械臂的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105666479A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106625638A (zh) * | 2017-02-28 | 2017-05-10 | 深圳源创智能机器人有限公司 | 一种基于绳索驱动的可快速更换联动柔性充电机器人 |
CN112692810A (zh) * | 2020-12-09 | 2021-04-23 | 杭州电子科技大学 | 一种软体机械臂及其驱动方法 |
CN114055448A (zh) * | 2021-11-18 | 2022-02-18 | 中国科学院自动化研究所 | 绳索驱动蛇形机械臂控制方法、装置和设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63501000A (ja) * | 1985-09-24 | 1988-04-14 | ロ−ラン ドウ ラ グランメゾン,デイデイエ−ル | 特にマニプレ−タのア−ムに用いる2つの部材を相互に連結しかつその相対位置及び向きを変える装置 |
DE19606521C1 (de) * | 1996-02-22 | 1997-10-16 | Doerfel Daniel Prieto | Dreidimensional verstellbares Universalgelenk mit sechs Freiheitsgraden |
CN101229641A (zh) * | 2008-02-27 | 2008-07-30 | 哈尔滨工业大学 | 线驱动超冗余自由度机器人 |
CN104552286A (zh) * | 2014-12-26 | 2015-04-29 | 上海大学 | 一种连续多关节机械臂装置 |
CN104589368A (zh) * | 2014-12-16 | 2015-05-06 | 北京邮电大学 | 基于十字轴结构的软接触关节 |
CN105150219A (zh) * | 2015-09-28 | 2015-12-16 | 哈尔滨工业大学深圳研究生院 | 一种基于绳索驱动的超冗余柔性机械臂 |
-
2015
- 2015-12-29 CN CN201511015794.XA patent/CN105666479A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63501000A (ja) * | 1985-09-24 | 1988-04-14 | ロ−ラン ドウ ラ グランメゾン,デイデイエ−ル | 特にマニプレ−タのア−ムに用いる2つの部材を相互に連結しかつその相対位置及び向きを変える装置 |
DE19606521C1 (de) * | 1996-02-22 | 1997-10-16 | Doerfel Daniel Prieto | Dreidimensional verstellbares Universalgelenk mit sechs Freiheitsgraden |
CN101229641A (zh) * | 2008-02-27 | 2008-07-30 | 哈尔滨工业大学 | 线驱动超冗余自由度机器人 |
CN104589368A (zh) * | 2014-12-16 | 2015-05-06 | 北京邮电大学 | 基于十字轴结构的软接触关节 |
CN104552286A (zh) * | 2014-12-26 | 2015-04-29 | 上海大学 | 一种连续多关节机械臂装置 |
CN105150219A (zh) * | 2015-09-28 | 2015-12-16 | 哈尔滨工业大学深圳研究生院 | 一种基于绳索驱动的超冗余柔性机械臂 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106625638A (zh) * | 2017-02-28 | 2017-05-10 | 深圳源创智能机器人有限公司 | 一种基于绳索驱动的可快速更换联动柔性充电机器人 |
CN106625638B (zh) * | 2017-02-28 | 2019-04-12 | 深圳源创智能机器人有限公司 | 一种基于绳索驱动的可快速更换联动柔性充电机器人 |
CN112692810A (zh) * | 2020-12-09 | 2021-04-23 | 杭州电子科技大学 | 一种软体机械臂及其驱动方法 |
CN114055448A (zh) * | 2021-11-18 | 2022-02-18 | 中国科学院自动化研究所 | 绳索驱动蛇形机械臂控制方法、装置和设备 |
CN114055448B (zh) * | 2021-11-18 | 2023-03-31 | 中国科学院自动化研究所 | 绳索驱动蛇形机械臂控制方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104552286B (zh) | 一种连续多关节机械臂装置 | |
US6408224B1 (en) | Rotary articulated robot and method of control thereof | |
CN105059416B (zh) | 一种带有稳定装置的爬杆机器人 | |
CN104781053B (zh) | 机械手 | |
US9446514B2 (en) | Lower limb structure for legged robot, and legged robot | |
CN107263477B (zh) | 一种绳驱动串联关节型蛇形机械臂控制方法 | |
Tavakoli et al. | A hybrid pole climbing and manipulating robot with minimum DOFs for construction and service applications | |
CN104942818B (zh) | 一种7自由度五指机械手 | |
CN105666479A (zh) | 一种驱动后置连续多关节机械臂的控制方法 | |
CN206732997U (zh) | 掏膛机械手、臂 | |
CN107097246A (zh) | 一种自适应绳驱式欠驱动三指机械手 | |
CN113127989A (zh) | 一种六自由度机械臂逆运动学解析求解控制方法 | |
CN206374856U (zh) | 一种利用辅助杆爬杆的复合型机器人 | |
CN109249428A (zh) | 绳驱动联动式机械臂的末端笛卡尔空间刚度建模方法 | |
CN111113390A (zh) | 仿生蛇形机器人及方法 | |
CN106737621A (zh) | 一种利用辅助杆爬杆的复合型机器人 | |
CN104991448B (zh) | 一种基于构型平面的水下机械臂运动学的求解方法 | |
CN109079771A (zh) | 一种五关节机器人及其控制方法 | |
CN107717978A (zh) | 一种工业机器人 | |
CN108748188A (zh) | 一种攀爬复杂杆状多自由度机器人系统 | |
CN111687824A (zh) | 一种可全向移动的模块化蛇形多关节爬壁机器人 | |
WO2018016568A1 (ja) | ロボットの運転方法、コンピュータプログラム、及びロボットシステム | |
CN105550466B (zh) | 一种力反馈设备最优弹簧重力补偿方法 | |
CN109590992B (zh) | 一种多关节并联仿生机器人 | |
CN206811990U (zh) | 一种自适应绳驱式欠驱动三指机械手 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160615 |
|
WD01 | Invention patent application deemed withdrawn after publication |