CN110781596A - 平面并联机构形式化验证的方法及装置 - Google Patents
平面并联机构形式化验证的方法及装置 Download PDFInfo
- Publication number
- CN110781596A CN110781596A CN201911032684.2A CN201911032684A CN110781596A CN 110781596 A CN110781596 A CN 110781596A CN 201911032684 A CN201911032684 A CN 201911032684A CN 110781596 A CN110781596 A CN 110781596A
- Authority
- CN
- China
- Prior art keywords
- plane
- point
- coordinate system
- mbasis
- parallel mechanism
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开实施例公开了一种平面并联机构形式化验证的方法及装置,所述平面并联机构形式化验证的方法包括在平面并联机构上基于静平台铰链建立静坐标系,在平面并联机构上基于动平台铰链建立动坐标系;根据所述平面并联机构在所述静坐标系和所述动坐标系下建立基于高阶逻辑语言的平面并联机构运动学逻辑模型;基于所述平面并联机构运动学逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述平面并联机构运动学逻辑模型中的属性和/或运动学约束条件;基于定理证明器验证所述逻辑命题,以确定所述平面并联机构运动学逻辑模型是否成立。该技术方案验证了平面并联机构运动学逻辑模型的正确性、安全性和可靠性,为后续相关工作奠定了基础。
Description
技术领域
本公开涉及计算机应用技术领域,具体涉及一种平面并联机构形式化验证的方法及装置。
背景技术
随着工业自动化技术的发展,工业中的并联机器人可以广泛应用在工业生产及生活中,例如,并联机械手能够完成灵活、精细的抓取操作。为了保证并联机械手抓取位置的准确性,需要确保抓取算法的正确性,因此,开启了研究平面并联机构运动学的高潮。
目前,基于平面并联机构进行计算和建模的分析方法有:基于纸笔运算、数值计算和计算机代数系统方法。但是,基于纸笔运算的传统方法需要耗费大量的时间和精力,而且对于复杂问题,实现起来比较困难,也容易引入人为的计算错误;基于数值计算的传统方法受限于仿真平台的运算速度、内存和浮点数的限制;基于计算机代数系统的传统方法虽然具有较高的精度,但是对于非常庞大的符号集进行计算时,算法并没有经过实际的验证。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种平面并联机构形式化验证的方法及装置。
第一方面,本公开实施例中提供了一种平面并联机构形式化验证的方法。
具体地,所述平面并联机构形式化验证的方法,包括:
在平面并联机构上基于静平台铰链建立静坐标系,在平面并联机构上基于动平台铰链建立动坐标系;
根据所述平面并联机构在所述静坐标系和所述动坐标系下建立基于高阶逻辑语言的平面并联机构运动学逻辑模型;其中,所述平面并联机构运动学逻辑模型包括静坐标系沿着x轴正方向横向平移公式、静坐标系沿着y轴正方向纵向平移公式、静坐标系在平面内旋转公式和动坐标系到静坐标系的刚体运动算子;
基于所述平面并联机构运动学逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述平面并联机构运动学逻辑模型中的属性和/或运动学约束条件;
基于定理证明器验证所述逻辑命题,以确定所述平面并联机构运动学逻辑模型是否成立。
结合第一方面,本公开在第一方面的第一种实现方式中,当选取三个所述静平台铰链和三个所述动平台铰链时,还包括:在HOL Light中用形式化方式表示三个所述静平台铰链和三个所述动平台铰链P1、P2、P3、P4、P5和P6在静坐标系中的坐标;
P1(0,0)在静坐标系中形式化表示方式:
val point_plane_P1=&0%mbasis{1}+&0%mbasis{2}+null_zero
其中,函数point_plane_P1表示P1在静坐标下的表达式方程,“&”表示把整数转化为实数类型;mbasis{1}表示静坐标系中x轴的基底e1;mbasis{2}表示静坐标系中y轴的基底e2;“%”表示实数与向量相乘;null_zero是HOL Light中定义的高阶逻辑符号,表示静坐标系的原点;
P2(P2x,0)在静坐标系中形式化表示方式:
其中,函数point_plane_P2的输入变量是实数P2x,输出结果是向量,表示P2在静坐标下的表达式方程;Pow是HOL Light中定义的高阶逻辑函数,输入变量是两个实数x、y,输出结果是xy,null_inf是HOL Light中定义的高阶逻辑符号,表示无穷远点;
P3(P3x,P3y)在静坐标系中形式化表示方式:
其中,函数point_plane_P3的输入变量是实数P3x、P3y,输出结果是向量,表示P3在静坐标下的表达式方程;
P4(Px,Py)在静坐标系中形式化表示方式:
val Px Py.point_plane_P4 Px Py=Px%mbasis{1}+Py%mbasis{2}+(&1/&2*(Px pow 2+Py pow 2))%null_inf+null_zero
其中,函数point_plane_P4的输入变量是实数Px、Py,输出结果是向量,表示P4在静坐标下的表达式方程;
P5(P5x,0)在静坐标系中形式化表示方式:
其中,函数point_plane_P5的输入变量是实数P5x,输出结果是向量,表示P5在静坐标下的表达式方程;
P6(P6x,P6y)在静坐标系中形式化表示方式:
其中,函数point_plane_P6的输入变量是实数P6x、P6y,输出结果是向量,表示P6在静坐标下的表达式方程。
结合第一方面的第一种实现方式,本公开在第一方面的第二种实现方式中,在HOLLight中构建所述平面并联机构运动学逻辑模型,所述平面并联机构运动学逻辑模型包括如下逻辑模型D11-D14:
D11.静坐标系沿着x轴正方向横向平移公式
其中,函数Translation_CGA_Tx的输入变量是实数Px,输出结果是向量,表示静坐标沿着x轴正方向横向平移Px;
D12.静坐标系沿着y轴正方向纵向平移公式
其中,函数Translation_CGA_Ty的输入变量是实数Py,输出结果是向量,表示静坐标系沿着y轴正方向纵向平移Py;
D13.静坐标系在平面内旋转公式
其中,函数Rotation_CGA_Rz的输入变量是实数t,输出结果是向量,表示静坐标系在平面内旋转的角度为t,mbasis{}表示把实数转化为向量类型,Outer是HOL Light中定义的高阶逻辑函数,输入变量是两个向量,表示两个向量做外积;
D14.动坐标系到静坐标系的刚体运动算子
其中,M_CGA表示动坐标系到静坐标系的刚体运动算子。
结合第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,还包括:在HOL Light中,用形式化方式构建平面并联机构基本逻辑模型,其中,所述平面并联机构基础逻辑模型包括:
D21.旋转算子
其中,t、m、n是三个变量;multivec表示对变量向量化;norm是HOL Light中定义的高阶逻辑函数,输入变量是N维向量,输出结果是N维向量的范数;(multivec m outermultivec n)%norm(multivec m outer multivec n)表示旋转轴,t表示旋转角度;
D22.平移算子
其中,“*”有两个含义,当输入变量是实数时,它表示相乘;当输入变量是向量时,它表示几何积;t$1%mbasis{1}+t$2%mbasis{2}+t$3%mbasis{3}为平移向量;
D23.刚体运动的运动算子
其中,motor_CGA表示刚体运动算子,包含了四个变量t、m、n、l;Rotation_CGA表示旋转算子,包括三个变量,分别为t、m、n;Translation_CGA表示平移算子,包括一个变量l;
D24.刚体运动变化
其中,s表示几何体,motor_CGA t m n l表示刚体运动的运动算子;reversion是HOL Light中定义的高阶逻辑函数,输入变量是向量,输出结果是该向量的共轭;reversion(motor_CGA t m n l)表示运动算子的共轭。
结合第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,还包括:基于所述平面并联机构基本逻辑模型构建基本逻辑命题,其中,所述基本逻辑命题包括:
G21:旋转算子的共轭
val reversion(Rotation_CGA t m n)=cos(t/&2)%mbasis{}+sin(t/&2)/norm(multivec m outer multivec n)%(multivec m outer multivec n)
G22:平移算子的共轭
val reversion(Translation_CGA t)=mbasis{}+&1/&2%(t$1%mbasis{1}+t$2%mbasis{2}+t$3%mbasis{3})*null_inf
G23:半角正切变换
G24:正切的二倍角公式
G25:刚体运动算子方程
G26:刚体运动方程的共轭
val Reversion(Translation_CGA_Tx Px*Translation_CGA_Ty Py*Rotation_CGA_Rx t)=cos(t/&2)%mbasis{}+(mbasis{1}*mbasis{2})*sin(t/&2)%mbasis{}+(&1/&2*Px*cos(t/&2)+&1/&2*Py*sin(t/&2))%(mbasis{1}*null_inf)+(&1/&2*Py*cos(t/&2)。
结合第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,基于所述平面并联机构运动学逻辑模型构建第一逻辑命题,其中,所述第一逻辑命题包括:
G31.平面点坐标方程
其中,S$1、S$2分别表示x轴上、y轴上对应的系数;dot是HOL Light中定义的高阶逻辑函数,函数的输入变量是两个向量,返回类型的是实数,即两个向量的点积。S dot S等于(S$1)2+(S$2)2;
G32.动坐标系中的P4、P5、P6在静坐标系xoy的坐标
其中,point_trans是点p运动变换后获得的共形几何代数表达式,包括两个变量p、M_CGA,p代表P4、P5、P6在动平台下的表达式,M_CGA代表逻辑模型D14。
结合第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,基于所述平面并联机构运动学逻辑模型构建第二逻辑命题,其中,所述第二逻辑命题包括:
G41.杆长约束方程
val get_square_q a b=-&2%(a inner b)
其中,get_square_q a b指的是a、b两点实际距离的平方;
G42.P1、P4约束方程
其中,point_plane_P1表示P1在静坐标系下的坐标,point_plane_P4 Px Py表示P4在静坐标系下的坐标,get_square_q point_plane_P1(point_plane_P4 Px Py)表示P1、P4两点实际距离的平方;
G43.P2、P5约束方程
其中,point_plane_P2 P2x表示P2在静坐标系下的坐标,point_trans(point_plane_P5 P5x)(M_CGA Px Py t)表示P5在静坐标系下的坐标,get_square_q(point_plane_P2 P2x)(point_trans(point_plane_P5 P5x)(M_CGA Px Py t))表示P2、P5两点实际距离的平方;
G44.P3、P6约束方程
其中,point_plane_P3 P3x P3y表示P3在静坐标系下的坐标,point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t)表示P6在静坐标系下的坐标,get_square_q(point_plane_P3 P3x P3y)(point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t))表示P3、P6两点实际距离的平方。
结合第一方面的第六种实现方式,本公开在第一方面的第七种实现方式中,基于所述平面并联机构运动学逻辑模型构建第三逻辑命题,其中,所述第三逻辑命题包括:
G51:P1、P4的封闭方程
其中,G51是P1、P4的封闭方程,表示P1、P4两点实际距离的平方;
G52:P2、P5的封闭方程
其中,G52是P2、P5的封闭方程,表示P2、P5两点实际距离的平方;
G53:P3、P6的封闭方程
其中,G53是P3、P6的封闭方程,表示P3、P6两点实际距离的平方;
结合第一方面的第七种实现方式,本公开在第一方面的第八种实现方式中,基于所述平面并联机构运动学逻辑模型构建第四逻辑命题,其中,所述第四逻辑命题包括:
G61:关于Px、Py方程的二元一次方程组
其中,vec 0表示的是向量0;
G62:Px关于t的表达式
A=&2*P5x*cos t-&2*P2x/\B=&2*P5x*sin t/\
D=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P2 P2x)(point_trans(point_plane_P5 P5x)(M_CGA Px Py t))+P2x pow2%mbasis{}+P5x pow 2%mbasis{}
-(&2*P2x*P5x*cos t)%mbasis{}/\
E=&2*P6x*cos t-&2*P6y*sin t-&2*P3x/\
C=&2*P6y*cos t+&2*P6x*sin t-&2*P3y/\
G=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P3 P3x P3y)(point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t))+(P3x pow 2+P3y pow 2+P6x pow 2+P6y pow 2-&2*(P3x*P6x+P3y*P6y)*cos t+&2*(P3x*P6y-P3y*P6x)*sin t)%mbasis{}==>((A*C-B*E)*Px)%mbasis{}=B%G-C%D;
A=&2*P5x*cos t-&2*P2x/\B=&2*P5x*sin t/\
D=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P2 P2x)(point_trans(point_plane_P5 P5x)(M_CGA Px Py t))+P2x pow2%mbasis{}+P5x pow 2%mbasis{}-(&2*P2x*P5x*cos t)%mbasis{}/\
E=&2*P6x*cos t-&2*P6y*sin t-&2*P3x/\
C=&2*P6y*cos t+&2*P6x*sin t-&2*P3y/\
G=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P3 P3x P3y)(point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t))+(P3x pow 2+P3y pow 2+P6x pow 2+P6y pow 2–&2*(P3x*P6x+P3y*P6y)*cos t+&2*(P3x*P6y-P3y*P6x)*sin t)%mbasis{}==>((A*C-B*E)*Py)%mbasis{}=E%D-A%G;
G64:一元三次方程
A=&2*P5x*cos t-&2*P2x/\B=&2*P5x*sin t/\
D=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P2 P2x)(point_trans(point_plane_P5 P5x)(M_CGA Px Py t))+P2x pow2%mbasis{}+P5x pow 2%mbasis{}-(&2*P2x*P5x*cos t)%mbasis{}/\
E=&2*P6x*cos t-&2*P6y*sin t-&2*P3x/\
C=&2*P6y*cos t+&2*P6x*sin t-&2*P3y/\
G=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P3 P3x P3y)(point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t))+(P3x pow 2+P3y pow 2+P6x pow 2+P6y pow 2-&2*(P3x*P6x+P3y*P6y)*cos t+&2*(P3x*P6y-P3y*P6x)*sin t)%mbasis{}
==>~(A*C-B*E=&0)
==>r1=E1/\r2=E2/\r3=E3/\r4=E4/\r5=E5/\r6=E6/\r7=E7
==>(r1*cos t pow 3+r2*sin t*cos t pow 2)%mbasis{}+cos t pow2%r3+(sin t*cos t)%r4+cos t%r5+sin t%r6+r7=vec 0;
G65:一元六次方程
r1=E1/\r2=E2/\r3=E3/\r4=E4/\r5=E5/\r6=E6/\r7=E7
==>w1=&2%(r2%mbasis{}+r4+r6)/\
w2=(-&3*r1)%mbasis{}-r3+r5+&3%r7/\
w3=&4%(-r2%mbasis{}+r6)/\
w4=(&3*r1)%mbasis{}-r3-r5+&3%r7/\
w5=&2%(r2%mbasis{}-r4+r6)/\
w6=-r1%mbasis{}+r3-r5+r7/\
w0=r1%mbasis{}+r3+r5+r7/\~(cos(t/&2)=&0)
==>tan(t/&2)pow 6%w6+tan(t/&2)pow 5%w5+
tan(t/&2)pow 4%w4+tan(t/&2)pow 3%w3+
tan(t/&2)pow 2%w2+tan(t/&2)%w1+w0=vec 0。
第二方面,本公开实施例中提供了一种平面并联机构形式化验证的装置。
具体地,所述平面并联机构形式化验证的装置,包括:
第一建立模块,被配置为在平面并联机构上基于静平台铰链建立静坐标系,在平面并联机构上基于动平台铰链建立动坐标系;
第二建立模块,被配置为根据所述平面并联机构在所述静坐标系和所述动坐标系下建立基于高阶逻辑语言的平面并联机构运动学逻辑模型;其中,所述平面并联机构运动学逻辑模型包括静坐标系沿着x轴正方向横向平移公式、静坐标系沿着y轴正方向纵向平移公式、静坐标系在平面内旋转公式和动坐标系到静坐标系的刚体运动算子;
构建模块,被配置为基于所述平面并联机构运动学逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述平面并联机构运动学逻辑模型中的属性和/或运动学约束条件;
验证模块,被配置为基于定理证明器验证所述逻辑命题,以确定所述平面并联机构运动学逻辑模型是否成立。
根据本公开实施例提供的技术方案,在平面并联机构上选取静平台铰链建立静坐标系,在平面并联机构上选取动平台铰链建立动坐标系;根据所述平面并联机构在所述静坐标系和所述动坐标系下建立基于高阶逻辑语言的平面并联机构运动学逻辑模型;其中,所述平面并联机构运动学逻辑模型包括静坐标系沿着x轴正方向横向平移公式、静坐标系沿着y轴正方向纵向平移公式、静坐标系在平面内旋转公式和动坐标系到静坐标系的刚体运动算子;基于所述平面并联机构运动学逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述平面并联机构运动学逻辑模型中的属性和/或运动学约束条件;基于定理证明器验证所述逻辑命题成立,确定所述平面并联机构运动学逻辑模型成立。即以几何代数、共形几何代数为基础,在高阶逻辑定理证明器HOL Light中,对平面并联机构建立平面并联机构运动学逻辑模型,并进行了形式化验证,从而验证了平面并联机构运动学逻辑模型的正确性、安全性和可靠性,为后续相关工作奠定了基础,也为后续算法的验证积累了丰富的经验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开实施例的并联机构形式化验证的方法的流程图;
图2示出根据本公开的实施例的建立静坐标系和建立动坐标系的示意图;
图3示出根据本公开的实施例的平面并联机构形式化验证的装置300的结构框图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
为至少部分地解决发明人发现的现有技术中的问题而提出本公开。
图1示出根据本公开实施例的并联机构形式化验证的方法的流程图。如图1所示,所述平面并联机构形式化验证的方法包括以下步骤S101-S104:
在步骤S101中,在平面并联机构上基于静平台铰链建立静坐标系,在平面并联机构上基于动平台铰链建立动坐标系;
在步骤S102中,根据所述平面并联机构在所述静坐标系和所述动坐标系下建立基于高阶逻辑语言的平面并联机构运动学逻辑模型;其中,所述平面并联机构运动学逻辑模型包括静坐标系沿着x轴正方向横向平移公式、静坐标系沿着y轴正方向纵向平移公式、静坐标系在平面内旋转公式和动坐标系到静坐标系的刚体运动算子;
在步骤S103中,基于所述平面并联机构运动学逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述平面并联机构运动学逻辑模型中的属性和/或运动学约束条件;
在步骤S104中,基于定理证明器验证所述逻辑命题,以确定所述平面并联机构运动学逻辑模型是否成立。
根据本公开的实施例,平面并联机构包括静平台和动平台,且至少通过2个独立的运动铰链将静平台与动平台相连接,并联机构具有两个或两个以上自由度,且以并联方式驱动的一种闭环机构。可以根据具体应用的需要在平面并联机构上选取一个或多个静平台铰链和动平台铰链,本公开对静平台铰链和动平台铰链的数量不做具体限定,其中,铰链是用来连接两个固体并允许两者之间做相对转动的机械装置,静平台铰链指的是与静平台相连接的铰链,且静平台铰链不能运动,动平台铰链指的是与动平台相连接的铰链,且动平台铰链可以运动。选取了两个或多个静平台铰链和动平台铰链之后,可以基于静平台铰链上所选取的不共线的三个点建立静坐标系,根据动平台铰链上所选取的不共线的三个点建立动坐标系。
图2示出根据本公开的实施例的建立静坐标系和建立动坐标系的示意图。为了描述的方便,图2示意图中绘制了平面并联机构的一种等效模型,如图2所示,,平面并联机构的动平台P4P5P6分别通过3条独立的运动链P1P4、P2P5和P3P6与静平台P1P2P3相连,假设取P1为静坐标系xoy的坐标原点,P1P2方向为x轴,则静平台铰链P1、P2和P3在静坐标系xoy下的坐标为P1(0,0),P2(P2x,0),P3(P3x,P3y);假设取P4为动坐标系x1o1y1的原点,P4P5方向为动坐标系x1轴,则动平台铰链P4、P5和P6在动坐标系x1o1y1中的坐标为P4(0,0),P5(P5x,0),P6(P6x,P6y)。假设P4在静坐标系xoy中的坐标为(Px,Py),且动坐标系x1o1y1相对于静坐标系xoy的姿态角为θ,其中,姿态角为动坐标系相对于静坐标系旋转的角度。
根据本公开的实施例,可以在HOL Light中用形式化方式表示P1、P2、P3、P4、P5和P6在静坐标系中坐标,其中,HOL Light是一种基于高阶逻辑的交互式定理证明器,使用了更简单的逻辑核心,设置了一个非常严格的正确标准,主要是对数学定理库的进一步补充。
P1(0,0)在静坐标系中形式化表示方式:
val point_plane_P1=&0%mbasis{1}+&0%mbasis{2}+null_zero
其中,函数point_plane_P1表示P1在静坐标下的表达式方程,“&”表示把整数转化为实数类型;mbasis{1}表示静坐标系中x轴的基底e1;mbasis{2}表示静坐标系中y轴的基底e2;“%”表示实数与向量相乘;null_zero是HOL Light中定义的高阶逻辑符号,表示静坐标系的原点。
P2(P2x,0)在静坐标系中形式化表示方式:
其中,函数point_plane_P2的输入变量是实数P2x,输出结果是向量,表示P2在静坐标下的表达式方程;Pow是HOL Light中定义的高阶逻辑函数,输入变量是两个实数,比如:x、y,输出结果是xy,null_inf是HOL Light中定义的高阶逻辑符号,表示无穷远点。
P3(P3x,P3y)在静坐标系中形式化表示方式:
其中,函数point_plane_P3的输入变量是实数P3x、P3y,输出结果是向量,表示P3在静坐标下的表达式方程。
P4(Px,Py)在静坐标系中形式化表示方式:
val Px Py.point_plane_P4 Px Py=Px%mbasis{1}+Py%mbasis{2}+(&1/&2*(Px pow 2+Py pow 2))%null_inf+null_zero
其中,函数point_plane_P4的输入变量是实数Px、Py,输出结果是向量,表示P4在动坐标下的表达式方程。
P5(P5x,0)在静坐标系中形式化表示方式:
其中,函数point_plane_P5的输入变量是实数P5x,输出结果是向量,表示P5在动坐标下的表达式方程。
P6(P6x,P6y)在静坐标系中形式化表示方式:
其中,函数point_plane_P6的输入变量是实数P6x、P6y,输出结果是向量,表示P6在动坐标下的表达式方程。
由于平面并联机构运动学逻辑模型主要描述已知三条等效支链的杆长q1、q2、q3,其中,q1代表P1、P4两个点的长度,q2代表P2、P5两个点的长度,q3代表P3、P6两个点的长度,求解点P4在静坐标系中的坐标(Px,Py)及姿态角θ。根据本公开的实施例,在HOL Light中构建所述平面并联机构运动学逻辑模型,所述平面并联机构运动学逻辑模型包括如下逻辑模型D11-D14:
D11.静坐标系沿着x轴正方向横向平移公式
其中,函数Translation_CGA_Tx的输入变量是实数Px,输出结果是向量,表示静坐标沿着x轴正方向横向平移Px。
逻辑模型D11表示静坐标系沿着x轴正方向移动Px。平移算子mbasis{2}、mbasis{3}分别表示y轴、z轴,由于静坐标系未向这两个方向进行平移,所以该方向前面的系数t$2、t$3为零。
D12.静坐标系沿着y轴正方向纵向平移公式
其中,函数Translation_CGA_Ty的输入变量是实数Py,输出结果是向量,表示静坐标系沿着y轴正方向纵向平移Py。
逻辑模型D12表示静坐标系沿着y轴正方向纵向平移Py,因此只包括平移算子mbasis{2}。
D13.静坐标系在平面内旋转公式
其中,函数Rotation_CGA_Rz的输入变量是实数t,输出结果是向量,表示静坐标系在平面内旋转的角度为t,mbasis{}表示把实数转化为向量类型,Outer是HOL Light中定义的一个高阶逻辑函数,函数的输入变量是两个向量,表示两个向量做外积,用“/\”表示。
逻辑模型D13表示静坐标系沿着平面xoy旋转t。根据外积的运算性质,我们可以得到mbasis{1}outer mbasis{2}等于mbasis{},即e1/\e2=1,因此,可以获得逻辑模型D3表示的旋转公式。
D14.动坐标系到静坐标系的刚体运动算子
其中,M_CGA表示动坐标系到静坐标系的刚体运动算子,刚体运动算子就是旋转和平移的几何积。本文建立的运动变换等效模型包括两次平移和一次旋转,即可表示为它们三者的几何积。
由于动坐标系到静坐标系的运动变换可以看做三个点的变换过程,例如,P4可看作静坐标系中的P1沿x轴平移Px,沿y轴平移Py,再绕平面xoy旋转t角得到,采用类似方法获取P5、P6,因此,可以得到P4、P5、P6在静坐标系下的坐标。通过建立运动变换等效模型,可以得到刚体运动算子方程。
刚体运动算子就是旋转和平移的几何积,本公开建立的平面并联机构运动学逻辑模型包括两次平移和一次旋转,因此,刚体运动算子可表示为两次平移和一次旋转的几何积。
根据本公开的实施例,在步骤S103之前,还包括以下步骤:
在HOL Light中,用形式化方式构建平面并联机构基本逻辑模型,其中,所述平面并联机构基础逻辑模型包括旋转算子、平移算子、刚体运动的运动算子及刚体运动变换;
基于所述平面并联机构基本逻辑模型构建基本逻辑命题,其中,所述基本逻辑命题描述了所述平面并联机构基础逻辑模型中的属性和/或运动学约束条件。
由于空间刚体变换主要包括旋转变换和平移变换,在共形几何代数(简称:CGA)中,旋转算子的旋量表示为:R=cos(θ/2)–Lsin(θ/2),其中,L表示旋转轴,θ表示旋转角度,旋转算子R的共轭为cos(θ/2)+Lsin(θ/2);平移算子的旋量表示为:T=1+te∞/2,其中,t=t1e1+t2e2+t3e3,表示平移向量,在HOL Light中可以形式化表示为t$1%mbasis{1}+t$2%mbasis{2}+t$3%mbasis{3}。平移算子的共轭为1-te∞/2。刚体运动的运动算子表示为:M=RT;刚体运动变换表示为:
根据本公开的实施例,可以在HOL Light中,用形式化方式表示旋转算子、平移算子、刚体运动的运动算子及刚体运动变换,具体如下:
D21.旋转算子
其中,t、m、n是三个变量;multivec表示对变量向量化;norm是HOL Light中定义的一个高阶逻辑函数,函数的输入变量是N维向量,返回类型是实数,输出结果是N维向量的范数,即该向量的长度值;(multivec m outer multivec n)%norm(multivec m outermultivec n)表示旋转轴,是二重矢量,t表示旋转角度;为了保持D21类型统一,可以在cos(t/&2)后面乘以mbasis{}。
D22.平移算子
其中,“*”有两个含义,当输入变量是实数时,它表示相乘;当输入变量是向量时,它表示几何积;t$1%mbasis{1}+t$2%mbasis{2}+t$3%mbasis{3}为平移向量,数学表示为t=t1e1+t2e2+t3e3,表示平移的方向和长度。
D23.刚体运动的运动算子
其中,motor_CGA表示刚体运动算子,包含了四个变量t、m、n、l;Rotation_CGA表示旋转算子,包括三个变量,分别为t、m、n;Translation_CGA表示平移算子,包括一个变量l,即l=l1e1+l2e2+l3e3,表示平移的方向和长度。在共形几何代数中,旋转和平移的复合是简单的几何积,因此,刚体运动的运动算子就是旋转和平移的几何积。
D24.刚体运动变化
其中,s表示几何体,motor_CGA t m n l表示刚体运动的运动算子;reversion是HOL Light中定义的一个高阶逻辑函数,函数的输入变量是向量,输出结果是该向量的共轭;reversion(motor_CGA t m n l)表示运动算子的共轭。
D24广泛适用于共形几何代数所有几何体的空间运动变换,在共形几何代数中,任何几何体的刚体运动变换都可以通过几何积来实现。
根据本公开的实施例,基于上述平面并联机构基本逻辑模型,构建基本逻辑命题,基本逻辑命题中描述了平面并联机构基本逻辑模型中存在的属性和/或运动学约束条件,其中,运动学约束条件是指平面并联机构基本逻辑模型中的点、向量和面等之间存在的数学逻辑关系,比如,D11、D12、D13;属性是指平面并联机构基本逻辑模型本身具有的特征,比如,D21、D22、D23、D24。
根据本公开的实施例,基于所述平面并联机构基本逻辑模型中D21-D24构建基本逻辑命题,其中,所述基本逻辑命题包括:
G21:旋转算子的共轭
val reversion(Rotation_CGA t m n)=cos(t/&2)%mbasis{}+sin(t/&2)/norm(multivec m outer multivec n)%(multivec m outer multivec n)
G22:平移算子的共轭
val reversion(Translation_CGA t)=mbasis{}+&1/&2%(t$1%mbasis{1}+t$2%mbasis{2}+t$3%mbasis{3})*null_inf
上述基本逻辑命题G22可以利用共轭的基本性质和引理1来进行证明,其中,引理1为集合中所含元素的个数,其形式化表示为:
val CARD{1,5}=2/\CARD{1,4}=2/\CARD{2,5}=2/\CARD{2,4}=2/\CARD{3,5}=2/\CARD{3,4}=2
其中,CARD表示几何元素的个数,比如:CARD{1,5}=2表示集合{1,5}中包括两个元素;“/\”表示交集,也就是同时成立。
G23:半角正切变换
其中,G23中半角正切变换是已知t=tanθ/2的条件下,证明sinθ=2t/(1+t2)和cosθ=(1-t2)/(1+t2),由于已知条件中出现了θ/2不好处理,因此,在左右两式两边分别乘以2,从而方便后续证明工作的展开。
G24:正切的二倍角公式
其中,正切的二倍角的数学表达式为在G24中只有满足分式的分母不为零时才成立,由于tan x=sin x/cos x,tan 2x=sin 2x/cos 2x,因此,当满足cos x和cos 2x不等于零时,G24才成立。
G25:刚体运动算子方程
G26:刚体运动方程的共轭
val Reversion(Translation_CGA_Tx Px*Translation_CGA_Ty Py*Rotation_CGA_Rx t)=cos(t/&2)%mbasis{}+(mbasis{1}*mbasis{2})*sin(t/&2)%mbasis{}+(&1/&2*Px*cos(t/&2)+&1/&2*Py*sin(t/&2))%(mbasis{1}*null_inf)+(&1/&2*Py*cos(t/&2)
上述基本逻辑命题G26可以利用共轭的运算性质和引理2来进行证明,其中,引理1表示为eb*ec*a=a%(eb*ec),其形式化表示为:
val(mbasis{b}*mbasis{c})*a%mbasis{}=a%(mbasis{b}*mbasis{c})
其中,该式子表示实数与向量的运算性质。
根据本公开的实施例,用形式化方式构建完平面并联机构基本逻辑模型D21-D24及基本逻辑命题G21-G24,进一步地,可以基于已构建的平面并联机构运动学逻辑模型D11-D14,构建逻辑命题,逻辑命题中描述了平面并联机构运动学逻辑模型中存在的属性和/或运动学约束条件,其中,运动学约束条件是指平面并联机构运动学逻辑模型中的点、向量和面等之间存在的数学逻辑关系,比如,G23、G24、G25;属性是指平面并联机构基本逻辑模型本身具有的特征,比如:G21、G22。
根据本公开的实施例,基于所述平面并联机构运动学逻辑模型构建第一逻辑命题,其中,所述第一逻辑命题包括:
G31.平面点坐标方程
其中,S$1、S$2分别表示x轴上、y轴上对应的系数;dot是HOL Light中定义的高阶逻辑函数,函数的输入变量是两个向量,返回类型的是实数,即两个向量的点积。S dot S等于(S$1)2+(S$2)2。
在平面中,点坐标是二维的,只包括x轴和y轴,因此,平面中的点只包括mbasis{1}和mbasis{2}。
G32.动坐标系中的P4、P5、P6在静坐标系xoy的坐标
其中,point_trans是点p运动变换后获得的共形几何代数表达式,也就是P4、P5、P6在静平台下的表达式,它包括两个变量p、M_CGA,p代表P4、P5、P6在动平台下的表达式,M_CGA代表逻辑模型D14。
由于已经确定了P1、P2、P3、P4、P5、P6在静坐标系下的坐标,因此,可以定义点运动变换的表达式方程,即第一逻辑命题,其中,第一逻辑命题涉及刚体运动算子方程和刚体运动算子方程的共轭等,通过点运动变换的表达式方程,可以得到P4、P5、P6在动坐标系下的坐标。
根据本公开的实施例,基于所述平面并联机构运动学逻辑模型构建第二逻辑命题,其中,所述第二逻辑命题包括:
G41.杆长约束方程
val get_square_q a b=-&2%(a inner b)
其中,get_square_q a b指的是a、b两点实际距离的平方。
G41即杆长约束方程是根据2个点P、S的内积与距离的关系P.S=-(s-p)2/2而建立的,这里面的s-p指的是s与p的距离。比如:P1与P4的内积与P1与P4距离q1的关系,其中,q1代表等效支链P1 P4的杆长,表示为P1.P4=-q1 2/2。
G42.P1、P4约束方程
其中,point_plane_P1表示P1在静坐标系下的坐标,point_plane_P4 Px Py表示P4在静坐标系下的坐标,get_square_q point_plane_P1(point_plane_P4 Px Py)表示P1、P4两点实际距离的平方。
G42表示的是P1、P4两点间的约束方程,其中,等式右边表示的是P1、P4两点间的运动链的实际长度的平方,即q1 2,其中,q1代表等效支链P1 P4的杆长。
G43.P2、P5约束方程
其中,point_plane_P2 P2x表示P2在静坐标系下的坐标,point_trans(point_plane_P5 P5x)(M_CGA Px Py t)表示P5在静坐标系下的坐标,get_square_q(point_plane_P2 P2x)(point_trans(point_plane_P5 P5x)(M_CGA Px Py t))表示P2、P5两点实际距离的平方。
G43表示的是P2、P5两点间的约束方程,其中,等式右边表示的是P2、P5两点间的运动链的实际长度的平方,即q2 2,其中,q2代表等效支链P2P5的杆长。
G44.P3、P6约束方程
其中,point_plane_P3 P3x P3y表示P3在静坐标系下的坐标,point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t)表示P6在静坐标系下的坐标,get_square_q(point_plane_P3 P3x P3y)(point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t))表示P3、P6两点实际距离的平方。
G44表示的是P3、P6两点间的约束方程,其中,等式右边表示的是P3、P6两点间的运动链的实际长度的平方,即q3 2,其中,q3代表等效支链P3P6的杆长。
根据本公开的实施例,基于所述平面并联机构运动学逻辑模型构建第三逻辑命题,其中,所述第三逻辑命题包括:
G51:P1、P4的封闭方程
其中,G51是P1、P4的封闭方程,表示P1、P4两点实际距离的平方。
G52:P2、P5的封闭方程
其中,G52是P2、P5的封闭方程,表示P2、P5两点实际距离的平方。
G53:P3、P6的封闭方程
其中,G53是P3、P6的封闭方程,表示P3、P6两点实际距离的平方。
上述第三逻辑命题是平面并联机构基本逻辑模型的位置正解封闭方程组,其中,Px、Py、t为待求量,其余变量都为已知机构参数,通过杆长约束方程的定义,及P1、P2、P3、P4、P5、P6在静坐标系中的表达式,得到位置正解封闭方程组。在本公开的实施例中,通过自动证明策略,自动解算各种积运算,从而大幅度地提高了证明效率。
根据本公开的实施例,,基于所述平面并联机构运动学逻辑模型构建第四逻辑命题,其中,所述第四逻辑命题包括:
G61:关于Px、Py方程的二元一次方程组
G611:
其中,vec 0表示的是向量0。
G6是关于Px、Py的二元一次方程组,可以通过P1、P4的封闭方程与P2、P5的封闭方程得到关于Px、Py的二元一次方程组。同理,也可以通过P1、P4的封闭方程与P3、P6的封闭方程得到关于Px、Py的二元一次方程。
G62:Px关于t的表达式
A=&2*P5x*cos t-&2*P2x/\B=&2*P5x*sin t/\
D=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P2 P2x)(point_trans(point_plane_P5 P5x)(M_CGA Px Py t))+P2x pow2%mbasis{}+P5x pow 2%mbasis{}
-(&2*P2x*P5x*cos t)%mbasis{}/\
E=&2*P6x*cos t-&2*P6y*sin t-&2*P3x/\
C=&2*P6y*cos t+&2*P6x*sin t-&2*P3y/\
G=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P3 P3x P3y)(point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t))+(P3x pow 2+P3y pow 2+P6x pow 2+P6y pow 2-&2*(P3x*P6x+P3y*P6y)*cos t+&2*(P3x*P6y-P3y*P6x)*sin t)%mbasis{}==>((A*C-B*E)*Px)%mbasis{}=B%G-C%D
通过对G61中二元一次方程组进行消元,消去Py,就可以得到G62。
G63:Py关于t的表达式
A=&2*P5x*cos t-&2*P2x/\B=&2*P5x*sin t/\
D=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P2 P2x)(point_trans(point_plane_P5 P5x)(M_CGA Px Py t))+P2x pow2%mbasis{}+P5x pow 2%mbasis{}-(&2*P2x*P5x*cos t)%mbasis{}/\
E=&2*P6x*cos t-&2*P6y*sin t-&2*P3x/\
C=&2*P6y*cos t+&2*P6x*sin t-&2*P3y/\
G=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P3 P3x P3y)(point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t))+(P3x pow 2+P3y pow 2+P6x pow 2+P6y pow 2–&2*(P3x*P6x+P3y*P6y)*cos t+&2*(P3x*P6y-P3y*P6x)*sin t)%mbasis{}==>((A*C-B*E)*Py)%mbasis{}=E%D-A%G
通过对G61中二元一次方程组进行消元,消去Px,就可以得到G63。
G62和G63是Px、Py关于t的表达式方程,当AC-BE等于零表示该平面并联机构为退化构型,而本文讨论的是非退化构型,也就是AC-BE不为零的情况。
G64:一元三次方程
A=&2*P5x*cos t-&2*P2x/\B=&2*P5x*sin t/\
D=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P2 P2x)(point_trans(point_plane_P5 P5x)(M_CGA Px Py t))+P2x pow2%mbasis{}+P5x pow 2%mbasis{}-(&2*P2x*P5x*cos t)%mbasis{}/\
E=&2*P6x*cos t-&2*P6y*sin t-&2*P3x/\
C=&2*P6y*cos t+&2*P6x*sin t-&2*P3y/\
G=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P3 P3x P3y)(point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t))+(P3x pow 2+P3y pow 2+P6x pow 2+P6y pow 2-&2*(P3x*P6x+P3y*P6y)*cos t+&2*(P3x*P6y-P3y*P6x)*sin t)%mbasis{}
==>~(A*C-B*E=&0)
==>r1=E1/\r2=E2/\r3=E3/\r4=E4/\r5=E5/\r6=E6/\r7=E7
==>(r1*cos t pow 3+r2*sin t*cos t pow 2)%mbasis{}+cos t pow2%r3+(sin t*cos t)%r4+cos t%r5+sin t%r6+r7=vec 0
G64对应的数学描述如下:r1cos3θ+r2sinθcos2θ+r3cos2θ+r4sinθcosθ+r5cosθ+r6sinθ+r7=0,其中,r1~r7是与机构参数相关的常数,r1~r7的系数是通过Maple16编程软件实现的。由于机构参数相关的常数r1~r7特别复杂很难用传统的方法进行验证,因此我们采用形式化验证的方法。
G64是关于θ的方程,包含sinθ和cosθ,可以把Px关于t的方程、Py关于t的方程代入P1、P4的封闭方程从而获得G64。在运算过程中,等号右边出现了cos4θ和sinθcos3θ,而等式左边不包含这两项,因此我们需要验证cos4θ和sinθcos3θ前面的系数为0,进而消去cos4θ和sinθcos3θ这两项。
引理3.a与a的倒数相乘等于1
其中,inv是HOL Light中定义的高阶逻辑函数,函数的输入变量是实数,输出结果是该实数的倒数,且定义0的倒数仍然为0。该式子表示的是a与a的倒数相乘等于1,而这里我们令a=&1+tan(t*inv(&2))*tan(t*inv(&2))。
G65:一元六次方程
r1=E1/\r2=E2/\r3=E3/\r4=E4/\r5=E5/\r6=E6/\r7=E7
==>w1=&2%(r2%mbasis{}+r4+r6)/\
w2=(-&3*r1)%mbasis{}-r3+r5+&3%r7/\
w3=&4%(-r2%mbasis{}+r6)/\
w4=(&3*r1)%mbasis{}-r3-r5+&3%r7/\
w5=&2%(r2%mbasis{}-r4+r6)/\
w6=-r1%mbasis{}+r3-r5+r7/\
w0=r1%mbasis{}+r3+r5+r7/\~(cos(t/&2)=&0)
==>tan(t/&2)pow 6%w6+tan(t/&2)pow 5%w5+
tan(t/&2)pow 4%w4+tan(t/&2)pow 3%w3+
tan(t/&2)pow 2%w2+tan(t/&2)%w1+w0=vec 0
G65的数学描述如下:w6t6+w5t5+w4t4+w3t3+w2t2+w1t+w0=0,其中,w1=2(r2+r4+r6);w2=-3r1-r3+r5+3r7;w3=4(-r2+r6);w4=3r1-r3-r5+3r7;w5=2(r2-r4+r6);w6=-r1+r3-r5+r7;w0=r1+r3+r5+r7
在一元三次方程基础上,在等式右边乘以(&1+tan(t/&2)pow 2)pow3,变为((&1+tan(t/&2)pow 2)pow 3)%vec 0,从而获取G65。然后,通过正弦、余弦、正切的倍角公式、引理3、半角正切变换(正弦和余弦)、向量和实数的运算性质进行验证平面并联机构位置正解方程与一元六次方程的等价性,即构建的第一逻辑命题——第四逻辑命题均成立,从而得出构建的平面并联机构运动学逻辑模型成立。
根据本公开实施例提供的技术方案,在平面并联机构上选取静平台铰链建立静坐标系,在平面并联机构上选取动平台铰链建立动坐标系;根据所述平面并联机构在所述静坐标系和所述动坐标系下建立基于高阶逻辑语言的平面并联机构运动学逻辑模型;其中,所述平面并联机构运动学逻辑模型包括静坐标系沿着x轴正方向横向平移公式、静坐标系沿着y轴正方向纵向平移公式、静坐标系在平面内旋转公式和动坐标系到静坐标系的刚体运动算子;基于所述平面并联机构运动学逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述平面并联机构运动学逻辑模型中的属性和/或运动学约束条件;基于定理证明器验证所述逻辑命题成立,确定所述平面并联机构运动学逻辑模型成立。即以几何代数、共形几何代数为基础,在高阶逻辑定理证明器HOL Light中,对平面并联机构建立平面并联机构运动学逻辑模型,并进行了形式化验证,从而验证了平面并联机构运动学逻辑模型的正确性、安全性和可靠性,为后续相关工作奠定了基础,也为后续算法的验证积累了丰富的经验。
图3示出根据本公开的实施例的平面并联机构形式化验证的装置300的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图3所示,所述平面并联机构形式化验证的装置包括第一建立模块310、第二建立模块320、构建模块330和验证模块340。
第一建立模块310,被配置为在平面并联机构上基于静平台铰链建立静坐标系,在平面并联机构上基于动平台铰链建立动坐标系;
第二建立模块320,被配置为根据所述平面并联机构在所述静坐标系和所述动坐标系下建立基于高阶逻辑语言的平面并联机构运动学逻辑模型;其中,所述平面并联机构运动学逻辑模型包括静坐标系沿着x轴正方向横向平移公式、静坐标系沿着y轴正方向纵向平移公式、静坐标系在平面内旋转公式和动坐标系到静坐标系的刚体运动算子;
构建模块330,被配置为基于所述平面并联机构运动学逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述平面并联机构运动学逻辑模型中的属性和/或运动学约束条件;
验证模块340,被配置为基于定理证明器验证所述逻辑命题,以确定所述平面并联机构运动学逻辑模型是否成立。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种平面并联机构形式化验证的方法,其特征在于,包括:
在平面并联机构上基于静平台铰链建立静坐标系,在平面并联机构上基于动平台铰链建立动坐标系;
根据所述平面并联机构在所述静坐标系和所述动坐标系下建立基于高阶逻辑语言的平面并联机构运动学逻辑模型;其中,所述平面并联机构运动学逻辑模型包括静坐标系沿着x轴正方向横向平移公式、静坐标系沿着y轴正方向纵向平移公式、静坐标系在平面内旋转公式和动坐标系到静坐标系的刚体运动算子;
基于所述平面并联机构运动学逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述平面并联机构运动学逻辑模型中的属性和/或运动学约束条件;
基于定理证明器验证所述逻辑命题,以确定所述平面并联机构运动学逻辑模型是否成立。
2.根据权利要求1所述的方法,其特征在于,当选取三个所述静平台铰链和三个所述动平台铰链时,还包括:在HOL Light中用形式化方式表示三个所述静平台铰链和三个所述动平台铰链P1、P2、P3、P4、P5和P6在静坐标系中的坐标;
P1(0,0)在静坐标系中形式化表示方式:
val point_plane_P1=&0%mbasis{1}+&0%mbasis{2}+null_zero
其中,函数point_plane_P1表示P1在静坐标下的表达式方程,“&”表示把整数转化为实数类型;mbasis{1}表示静坐标系中x轴的基底e1;mbasis{2}表示静坐标系中y轴的基底e2;“%”表示实数与向量相乘;null_zero是HOL Light中定义的高阶逻辑符号,表示静坐标系的原点;
P2(P2x,0)在静坐标系中形式化表示方式:
其中,函数point_plane_P2的输入变量是实数P2x,输出结果是向量,表示P2在静坐标下的表达式方程;Pow是HOL Light中定义的高阶逻辑函数,输入变量是两个实数x、y,输出结果是xy,null_inf是HOL Light中定义的高阶逻辑符号,表示无穷远点;
P3(P3x,P3y)在静坐标系中形式化表示方式:
其中,函数point_plane_P3的输入变量是实数P3x、P3y,输出结果是向量,表示P3在静坐标下的表达式方程;
P4(Px,Py)在静坐标系中形式化表示方式:
val Px Py.point_plane_P4 Px Py=Px%mbasis{1}+Py%mbasis{2}+(&1/&2*(Pxpow 2+Py pow 2))%null_inf+null_zero
其中,函数point_plane_P4的输入变量是实数Px、Py,输出结果是向量,表示P4在静坐标下的表达式方程;
P5(P5x,0)在静坐标系中形式化表示方式:
其中,函数point_plane_P5的输入变量是实数P5x,输出结果是向量,表示P5在静坐标下的表达式方程;
P6(P6x,P6y)在静坐标系中形式化表示方式:
其中,函数point_plane_P6的输入变量是实数P6x、P6y,输出结果是向量,表示P6在静坐标下的表达式方程。
3.根据权利要求2所述的方法,其特征在于,在HOL Light中构建所述平面并联机构运动学逻辑模型,所述平面并联机构运动学逻辑模型包括如下逻辑模型D11-D14:
D11.静坐标系沿着x轴正方向横向平移公式
其中,函数Translation_CGA_Tx的输入变量是实数Px,输出结果是向量,表示静坐标沿着x轴正方向横向平移Px;
D12.静坐标系沿着y轴正方向纵向平移公式
其中,函数Translation_CGA_Ty的输入变量是实数Py,输出结果是向量,表示静坐标系沿着y轴正方向纵向平移Py;
D13.静坐标系在平面内旋转公式
其中,函数Rotation_CGA_Rz的输入变量是实数t,输出结果是向量,表示静坐标系在平面内旋转的角度为t,mbasis{}表示把实数转化为向量类型,Outer是HOL Light中定义的高阶逻辑函数,输入变量是两个向量,表示两个向量做外积;
D14.动坐标系到静坐标系的刚体运动算子
其中,M_CGA表示动坐标系到静坐标系的刚体运动算子。
4.根据权利要求3所述的方法,其特征在于,还包括:在HOL Light中,用形式化方式构建平面并联机构基本逻辑模型,其中,所述平面并联机构基础逻辑模型包括:
D21.旋转算子
其中,t、m、n是三个变量;multivec表示对变量向量化;norm是HOL Light中定义的高阶逻辑函数,输入变量是N维向量,输出结果是N维向量的范数;(multivec m outer multivecn)%norm(multivec m outer multivec n)表示旋转轴,t表示旋转角度;
D22.平移算子
其中,“*”有两个含义,当输入变量是实数时,它表示相乘;当输入变量是向量时,它表示几何积;t$1%mbasis{1}+t$2%mbasis{2}+t$3%mbasis{3}为平移向量;
D23.刚体运动的运动算子
其中,motor_CGA表示刚体运动算子,包含了四个变量t、m、n、l;Rotation_CGA表示旋转算子,包括三个变量,分别为t、m、n;Translation_CGA表示平移算子,包括一个变量l;
D24.刚体运动变化
其中,s表示几何体,motor_CGA t m n l表示刚体运动的运动算子;reversion是HOLLight中定义的高阶逻辑函数,输入变量是向量,输出结果是该向量的共轭;reversion(motor_CGA t m n l)表示运动算子的共轭。
5.根据权利要求4所述的方法,其特征在于,还包括:基于所述平面并联机构基本逻辑模型构建基本逻辑命题,其中,所述基本逻辑命题包括:
G21:旋转算子的共轭
val reversion(Rotation_CGA t m n)=cos(t/&2)%mbasis{}+sin(t/&2)/norm(multivec m outer multivec n)%(multivec m outer multivec n)
G22:平移算子的共轭
val reversion(Translation_CGA t)=mbasis{}+&1/&2%(t$1%mbasis{1}+t$2%mbasis{2}+t$3%mbasis{3})*null_inf
G23:半角正切变换
G24:正切的二倍角公式
G25:刚体运动算子方程
G26:刚体运动方程的共轭
val Reversion(Translation_CGA_Tx Px*Translation_CGA_Ty Py*Rotation_CGA_Rxt)=cos(t/&2)%mbasis{}+(mbasis{1}*mbasis{2})*sin(t/&2)%mbasis{}+(&1/&2*Px*cos(t/&2)+&1/&2*Py*sin(t/&2))%(mbasis{1}*null_inf)+(&1/&2*Py*cos(t/&2)。
7.根据权利要求6所述的方法,其特征在于,基于所述平面并联机构运动学逻辑模型构建第二逻辑命题,其中,所述第二逻辑命题包括:
G41.杆长约束方程
val get_square_q a b=-&2%(a inner b)
其中,get_square_q a b指的是a、b两点实际距离的平方;
G42.P1、P4约束方程
其中,point_plane_P1表示P1在静坐标系下的坐标,point_plane_P4 Px Py表示P4在静坐标系下的坐标,get_square_q point_plane_P1(point_plane_P4 Px Py)表示P1、P4两点实际距离的平方;
G43.P2、P5约束方程
其中,point_plane_P2 P2x表示P2在静坐标系下的坐标,point_trans(point_plane_P5 P5x)(M_CGA Px Py t)表示P5在静坐标系下的坐标,get_square_q(point_plane_P2P2x)(point_trans(point_plane_P5 P5x)(M_CGA Px Py t))表示P2、P5两点实际距离的平方;
G44.P3、P6约束方程
其中,point_plane_P3 P3x P3y表示P3在静坐标系下的坐标,point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t)表示P6在静坐标系下的坐标,get_square_q(point_plane_P3 P3x P3y)(point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t))表示P3、P6两点实际距离的平方。
9.根据权利要求8所述的方法,其特征在于,基于所述平面并联机构运动学逻辑模型构建第四逻辑命题,其中,所述第四逻辑命题包括:
G61:关于Px、Py方程的二元一次方程组
其中,vec 0表示的是向量0;
G62:Px关于t的表达式
A=&2*P5x*cos t-&2*P2x/\B=&2*P5x*sin t/\
D=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P2 P2x)(point_trans(point_plane_P5 P5x)(M_CGA Px Py t))+P2x pow 2%mbasis{}+P5x pow 2%mbasis{}
-(&2*P2x*P5x*cos t)%mbasis{}/\
E=&2*P6x*cos t-&2*P6y*sin t-&2*P3x/\
C=&2*P6y*cos t+&2*P6x*sin t-&2*P3y/\
G=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P3 P3x P3y)(point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t))+(P3xpow 2+P3y pow 2+P6x pow 2+P6y pow 2-&2*(P3x*P6x+P3y*P6y)*cos t+&2*(P3x*P6y-P3y*P6x)*sin t)%mbasis{}==>((A*C-B*E)*Px)%mbasis{}=B%G-C%D;
A=&2*P5x*cos t-&2*P2x/\B=&2*P5x*sin t/\
D=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P2 P2x)(point_trans(point_plane_P5 P5x)(M_CGA Px Py t))+P2x pow 2%mbasis{}+P5x pow 2%mbasis{}-(&2*P2x*P5x*cos t)%mbasis{}/\
E=&2*P6x*cos t-&2*P6y*sin t-&2*P3x/\
C=&2*P6y*cos t+&2*P6x*sin t-&2*P3y/\
G=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P3 P3x P3y)(point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t))+(P3xpow 2+P3y pow 2+P6x pow 2+P6y pow 2–&2*(P3x*P6x+P3y*P6y)*cos t+&2*(P3x*P6y-P3y*P6x)*sin t)%mbasis{}==>((A*C-B*E)*Py)%mbasis{}=E%D-A%G;
G64:一元三次方程
A=&2*P5x*cos t-&2*P2x/\B=&2*P5x*sin t/\
D=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P2 P2x)(point_trans(point_plane_P5 P5x)(M_CGA Px Py t))+P2x pow 2%mbasis{}+P5x pow 2%mbasis{}-(&2*P2x*P5x*cos t)%mbasis{}/\
E=&2*P6x*cos t-&2*P6y*sin t-&2*P3x/\
C=&2*P6y*cos t+&2*P6x*sin t-&2*P3y/\
G=get_square_q point_plane_P1(point_plane_P4 Px Py)-get_square_q(point_plane_P3 P3x P3y)(point_trans(point_plane_P6 P6x P6y)(M_CGA Px Py t))+(P3xpow 2+P3y pow 2+P6x pow 2+P6y pow 2-&2*(P3x*P6x+P3y*P6y)*cos t+&2*(P3x*P6y-P3y*P6x)*sin t)%mbasis{}
==>~(A*C-B*E=&0)
==>r1=E1/\r2=E2/\r3=E3/\r4=E4/\r5=E5/\r6=E6/\r7=E7
==>(r1*cos t pow 3+r2*sin t*cos t pow 2)%mbasis{}+cos t pow 2%r3+(sint*cos t)%r4+cos t%r5+sin t%r6+r7=vec 0;
G65:一元六次方程
r1=E1/\r2=E2/\r3=E3/\r4=E4/\r5=E5/\r6=E6/\r7=E7
==>w1=&2%(r2%mbasis{}+r4+r6)/\
w2=(-&3*r1)%mbasis{}-r3+r5+&3%r7/\
w3=&4%(-r2%mbasis{}+r6)/\
w4=(&3*r1)%mbasis{}-r3-r5+&3%r7/\
w5=&2%(r2%mbasis{}-r4+r6)/\
w6=-r1%mbasis{}+r3-r5+r7/\
w0=r1%mbasis{}+r3+r5+r7/\~(cos(t/&2)=&0)
==>tan(t/&2)pow 6%w6+tan(t/&2)pow 5%w5+
tan(t/&2)pow 4%w4+tan(t/&2)pow 3%w3+
tan(t/&2)pow 2%w2+tan(t/&2)%w1+w0=vec 0。
10.一种平面并联机构形式化验证的装置,其特征在于,包括:
第一建立模块,被配置为在平面并联机构上基于静平台铰链建立静坐标系,在平面并联机构上基于动平台铰链建立动坐标系;
第二建立模块,被配置为根据所述平面并联机构在所述静坐标系和所述动坐标系下建立基于高阶逻辑语言的平面并联机构运动学逻辑模型;其中,所述平面并联机构运动学逻辑模型包括静坐标系沿着x轴正方向横向平移公式、静坐标系沿着y轴正方向纵向平移公式、静坐标系在平面内旋转公式和动坐标系到静坐标系的刚体运动算子;
构建模块,被配置为基于所述平面并联机构运动学逻辑模型构建逻辑命题,其中,所述逻辑命题描述了所述平面并联机构运动学逻辑模型中的属性和/或运动学约束条件;
验证模块,被配置为基于定理证明器验证所述逻辑命题,以确定所述平面并联机构运动学逻辑模型是否成立。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911032684.2A CN110781596B (zh) | 2019-10-28 | 2019-10-28 | 平面并联机构形式化验证的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911032684.2A CN110781596B (zh) | 2019-10-28 | 2019-10-28 | 平面并联机构形式化验证的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110781596A true CN110781596A (zh) | 2020-02-11 |
CN110781596B CN110781596B (zh) | 2023-03-31 |
Family
ID=69387078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911032684.2A Active CN110781596B (zh) | 2019-10-28 | 2019-10-28 | 平面并联机构形式化验证的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110781596B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760576A (zh) * | 2016-01-27 | 2016-07-13 | 首都师范大学 | 一种基于共形几何代数的机械臂运动规划的形式化分析方法及系统 |
-
2019
- 2019-10-28 CN CN201911032684.2A patent/CN110781596B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760576A (zh) * | 2016-01-27 | 2016-07-13 | 首都师范大学 | 一种基于共形几何代数的机械臂运动规划的形式化分析方法及系统 |
CN106777486A (zh) * | 2016-01-27 | 2017-05-31 | 首都师范大学 | 一种基于共形几何代数的机械臂运动规划的形式化分析方法及系统 |
US20180365349A1 (en) * | 2016-01-27 | 2018-12-20 | Capital Normal University | Method and system for formally analyzing the motion planning of a robotic arm based on conformal geometric algebra |
Non-Patent Citations (2)
Title |
---|
马莎;施智平;李黎明;关永;张杰;XIAOYU SONG;: "几何代数的高阶逻辑形式化" * |
马莎等: "共形几何代数与机器人运动学的形式化" * |
Also Published As
Publication number | Publication date |
---|---|
CN110781596B (zh) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11491649B2 (en) | Axis-invariant based multi-axis robot kinematics modeling method | |
US20200055188A1 (en) | Axis-Invariant based Multi-axis robot system forward kinematics modeling and solving method | |
Huang et al. | A geometric algebra algorithm for the closed-form forward displacement analysis of 3-PPS parallel mechanisms | |
Silva et al. | Stewart platform motion control automation with industrial resources to perform cycloidal and oceanic wave trajectories | |
Quintero-Riaza et al. | Synthesis of planar parallel manipulators including dexterity, force transmission and stiffness index | |
Franciosa et al. | Automatic evaluation of variational parameters for tolerance analysis of rigid parts based on graphs | |
Wu et al. | Review of industrial robot stiffness identification and modelling | |
CN110781596B (zh) | 平面并联机构形式化验证的方法及装置 | |
Huo et al. | A survey of mathematical tools in topology and performance integrated modeling and design of robotic mechanism | |
Affeldt et al. | Formal foundations of 3D geometry to model robot manipulators | |
Bi | On adaptive robot systems for manufacturing applications | |
Lambert | Parallel robots with configurable platforms | |
Ren et al. | Design of 4PUS-PPPS redundant parallel mechanism oriented to the visual system of flight simulator | |
Du et al. | A review: virtual assembly of flexible cables based on physical modeling | |
Rahmani et al. | Application of a novel elimination algorithm with developed continuation method for nonlinear forward kinematics solution of modular hybrid manipulators | |
Dabney et al. | Modeling closed kinematic chains via singular perturbations | |
Hatledal et al. | A voxel-based numerical method for computing and visualising the workspace of offshore cranes | |
Pisarenko et al. | Application of evolutionary PSO algorithms to the problem of optimization of 6-6 UPU mobility platform geometric parameters | |
Varshovi-Jaghargh et al. | Forward kinematic analysis of parallel mechanisms in seven-dimensional kinematic space by considering limitation of passive joints motion | |
Evangelista et al. | Fully-pipelined CORDIC-based FPGA realization for a 3-DOF hexapod-leg inverse kinematics calculation | |
Gabiccini | A twist exponential approach to gear generation with general spatial motions | |
Wang et al. | A Digital Twin Platform Integrating Process Parameter Simulation Solution for Intelligent Manufacturing | |
Komakula | Optimization of Inverse Kinematic Solution of a T4R Robotic Manipulator | |
Altuzarra et al. | Computational kinematics for robotic manipulators: Jacobian problems | |
Bath et al. | A simulation driven development framework for parallel kinematics |
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 |