APP下载

机器人空间三点圆弧的圆心算法及MATLAB实现

2021-09-16张辉李应岐方晓峰

科技资讯 2021年15期
关键词:圆弧圆心机器人

张辉 李应岐 方晓峰

摘  要:基于机器人终端TCP经历的空间三个不共线的点,利用两种算法得到了通过此三点的空间圆弧圆心坐标的解析表达式,完善了已有文献的方法和结论;同时对于给定空间三点的坐标值,利用新提出的算法得到了圆心坐标的值;最后给定三组三点坐标值进行MATLAB运行平均时间比较,新提出的算法运行效率最高,优于已有文献提出的算法可作为首选算法,为机器人利用示教过程进行现场应用提供了有效支撑。

关键词:机器人  圆弧  圆心  MATLAB  向量积

中图分类号:TP242                        文献标识码:A文章编号:1672-3791(2021)05(c)-0021-04

Center Algorithm of Three-Points arc in Robot Space and Its Realization with MATLAB

ZHANG Hui  LI Yingqi  FANG Xiaofeng

(Department of Basic Courses, Rocket Force University of Engineering, Xi'an, Shaanxi Province, 710025 China )

Abstract: Based on the three non-collinear points in the space experienced by the robot terminal TCP, using two algorithms, the analytic expression of the space arc center coordinates through the three points is obtained, which improves the methods and conclusions of the existing literature; at the same time, for a given coordinate value of the three points in the space, the value of the center coordinates is obtained by using the new algorithm; finally, for the given three groups of three-point coordinate values, the average running time of MATLAB is compared. The new algorithm has the highest running efficiency, which is better than the algorithm proposed in the existing literature. It can be used as the preferred algorithm, and provides effective support for the robot to use the teaching process for field application.

Key Words: Robot; Arc; Center of circle; MATLAB; Vector product

在機器人编程的示教过程中,当曲线轨迹为空间圆弧时,除了示教圆弧起点(机器人当前位置)和终点外,至少还需要圆心或者圆弧上的一中间点。事实上,圆心往往是比较难给定的,因此机器人终端TCP的轨迹圆弧通常由示教的圆弧起点、中间点和圆弧终点决定,因而需要研究空间任意三点所确定的空间圆弧的圆心,进而可以得到空间圆弧的半径和一般方程(或参数方程)。基于上述需求,该文研究机器人终端TCP通过空间任意不共线三点所确定空间圆弧的实现问题,关键是确定圆心的坐标,为机器人利用示教过程进行现场应用提供了有效支撑。

1  圆心的算法

根据机器人终端TCP[1-2]工作特点,现需要得到圆心M的坐标x0、y0和z0的解析表达式,下面首先介绍两种算法进行求解并给出具体的过程和结果,进而可得半径R的解析表达式。

1.1 利用圆心到空间三点的距离相等

利用圆心M到空间三点的距离相等和四点A、B、C和M都在空间平面π上这两个特性,得到了空间圆弧 的圆心M的坐标[3],但对于圆弧Γ所处的平面π平行于某个坐标面上需要特殊处理给机器人带来了不便。为了有效解决此问题,可以利用空间四点A、B、C和M共面的充分必要条件为三向量、和共面这个重要的结论,即有混合积[4]。基于上述分析,下面给出此种方法详细的求解过程。

1.2 利用圆心可由两条边的垂直平分线的交点确定

对于某具体问题,三个空间点、和坐标的值是已知给定的,可将三点坐标值代入到方程组(7)中得到关于参数t和r的三个线性方程的数值方程组,然后最后利用solve函数求解参数t和r的数值解,最后代入式(8)即得圆心的坐标。

1.3 利用克莱姆法则

需注意的是,已知空间不共线的三个点就可以得到一个空间三角形。而空间三角形在工程技术领域有着重要的应用[7-10]。空间三角形的五心(包括重心、内心、垂心、外心和旁心)是空间解析几何[11-12]中重要的知识点。如何判定某点是空间三角形的五心是一个较为复杂的研究问题,同时能否通过空间三角形三个顶点的坐标来确定五心坐标的解析表达式也是值得关注的问题。以上分析研究给出了空间三角形外心坐标求解方法和具体表达式,旨在对空间三角形的外心有更深入的理解和掌握。

2  算法实例比较

以上对于给定空间三个点的坐标值,我们利用三种方法求得了空间三点A、B和C所确定的空间圆弧圆心M的坐标的值。此时一个重要的问题是:三种算法中哪种方法的运行时间最短,算法效率较高?考虑空间三组三点坐标,第1组为(0,0,0)(1,1,1)和(2,2,9),第2组为(2,5,9)(5,6,8)和(-6,8,10),第3组为(-2,-4,8)(8,5,-2)和(4,80,70),三种算法运行的平均时间结果见表1。

由表1可得,对于每一组三点坐标,算法2的运行时间最长,算法1的运行时间次之,而算法3运行时间最短,这是因为算法1需要求解逆矩阵,而算法2需用solve函数求线性方程组,这些都会增加MATLAB运行时间。通过实例验证,可以发现该文提出的算法3(克莱姆法则)的运算效率最高,优于文献[3]和[5]提出的算法可作为首选算法。因此,在机器人的示教过程中推荐算法3来求解过空间三点的空间圆弧的圆心坐标,为机器人开展示教过程提供了应用支撑。

3  结语

该文基于机器人终端TCP经历的空间三个不共线的点,利用两种算法得到了通过此三点的空间圆弧圆心坐标的表达式,完善了已有文献的方法和结论;同时对于给定空间三点的坐标值,利用新提出的算法得到了圆心坐标的值,最后利用MATLAB运行进行平均时间比较说明。该文新提出的算法运行效率最高,优于前两种算法,为机器人利用示教过程进行现场应用提供了有效支撑。

参考文献

[1] 熊有论.机器人技术基础[M].武汉:华中理工大学出版社,1996.

[2] 孙树栋.工业机器人技术基础[M].西安:西安工业大学出版社,2006.

[3] 叶伯生.机器人空间三点圆弧功能的实现[J].华中科技大学学报:自然科学版,2007,35(8):5-8.

[4] 侯云畅,冯有前,刘卫江.高等数学(下册)[M].3版.北京:高等教育出版社,2021:5-29.

[5] 曾辉,柳贺.机器人空间三点圆弧算法的研究与实现[J].中国新技术新产品,2014(12):5-6.

[6] 任行者,李长文.用代数方法确定空间圆周的参数方程[J].淮阴师范学院教育科学论坛,2007,9(3):67-70.

[7] 宋月婷.纹理重建中的图像异常区域检测方法[D].武汉大学,2019.

[8] 洪祯.空间三角形结构件焊接工艺及参数研究[D].郑州大学,2017.

[9] 于海燕,余沛文,张帅.两空间三角形的退化关系研究[J].图学学报,2016,37(3):349-354.

[10] 何小辉,武振宇.节点刚度对方管空间三角形桁架動力性能的影响[J].建筑科学与工程学报,2012,29(1):63-69.

[11] 黄宣国.空间解析几何[M].2版.上海:复旦大学出版社,2019.

[12] 黄廷祝,成孝予.线性代数与空间解析几何[M].5版.北京:高等教育出版社,2018.

猜你喜欢

圆弧圆心机器人
半圆与半圆弧
用两圆有公共点的充要条件解题
如何让学生更好地掌握圆弧连接的画法
机器人来帮你
认识机器人
机器人来啦
参考答案
四种方法确定圆心和半径
圆心仍对应圆心吗
任意一个角三等分的尺规画法