本发明涉及机械臂控制技术领域,特别是涉及一种二自由度机械手臂控制方法及其装置。
背景技术:
随着科学技术的发展,智能化技术越来越普及人们的生活,各类机器人的研究也一直非常火热的课题,采用机器人进行作业,不但可以提高效率和准确率,也为企业减少了一些人力的上的开支。
针对机器人手臂的运动轨迹问题,控制系统则是其关键所在,而要控制机械臂的运动轨迹,则取决于如何选取机械手臂运动算法。目前的机械手臂运动算法内容复杂,运算量大。
因此,如何提供一种算法简单的二自由度机械手臂控制方法及其装置是本领域技术人员目前需要解决的问题。
技术实现要素:
本发明的目的是提供一种二自由度机械手臂控制方法及其装置,通过将空间坐标系内的坐标转换为平面坐标系内的坐标进行计算,简化机械手臂的运动控制算法,减少计算量。
为解决上述技术问题,本发明提供了一种二自由度机械手臂控制方法,包括:
接收用户输入的、机械手臂本次移动的目标点的空间直角坐标pn=(xn,yn,zn);
将空间直角坐标系拆分为水平坐标系和竖直坐标系,依据所述空间直角坐标计算所述目标点在所述水平坐标系内相对于原点的移动角度θn,和所述竖直坐标系内相对于原点的移动角度αn,并进行存储;
依据所述目标点相对于原点的移动角度,确定所述目标点相对于当前位置的移动角度作为所述机械手臂本次移动的电机转动角度;
依据所述电机转动角度驱动所述机械手臂的电机转动至所述目标点。
优选地,所述依据所述目标点相对于原点的移动角度,确定所述目标点相对于当前位置的移动角度的过程具体为:
计算所述目标点相对于原点的移动角度与上次移动的目标点相对于原点的移动角度的差值,得到所述机械手臂本次移动的电机转动角度(θ,α)=(θn-θn-1,αn-αn-1);
其中,上次移动的目标点相对于原点的移动角度为(θn-1,αn-1);n为正整数;n=1时,对应的上次移动的目标点为原点。
优选地,所述依据所述空间直角坐标计算所述目标点在所述水平坐标系内相对于原点的移动角度θn,和所述竖直坐标系内相对于原点的移动角度αn的过程具体为:
依据空间变换关系式计算所述移动角度,所述空间变换关系式具体为:
优选地,所述目标点的空间直角坐标中的xn,yn,zn的绝对值均大于0。
为解决上述技术问题,本发明还提供了一种二自由度机械手臂控制装置,包括:
接收模块,用于接收用户输入的、机械手臂本次移动的目标点的空间直角坐标pn=(xn,yn,zn);
第一角度计算模块,用于将空间直角坐标系拆分为水平坐标系和竖直坐标系,依据所述空间直角坐标计算所述目标点在所述水平坐标系内相对于原点的移动角度θn,和所述竖直坐标系内相对于原点的移动角度αn;
历史数据库,用于存储所述目标点的移动角度;
第二角度计算模块,用于依据所述目标点相对于原点的移动角度,确定所述目标点相对于当前位置的移动角度作为所述机械手臂本次移动的电机转动角度;
驱动模块,用于依据所述电机转动角度驱动所述机械手臂的电机转动至所述目标点。
优选地,所述第二角度计算模块具体用于:
计算所述目标点相对于原点的移动角度与上次移动的目标点相对于原点的移动角度的差值,得到所述机械手臂本次移动的电机转动角度(θ,α)=(θn-θn-1,αn-αn-1);其中,上次移动的目标点相对于原点的移动角度为(θn-1,αn-1);n为正整数;n=1时,对应的上次移动的目标点为原点。
优选地,所述第一角度计算模块具体包括:
水平计算单元,用于依据所述空间直角坐标和水平空间变换关系式计算所述目标点在所述水平坐标系内相对于原点的移动角度θn,所述水平空间变换关系式为
竖直计算单元,用于依据所述空间直角坐标和竖直空间变换关系式计算所述竖直坐标系内相对于原点的移动角度αn;所述竖直空间变换关系式为
本发明提供了一种二自由度机械手臂控制方法及其装置,将空间坐标系拆分为水平坐标系和竖直坐标系后,依据用户输入的、机械手臂本次移动的目标点的空间直角坐标,计算本次机械手臂在水平面内和竖直面内移动至目标点分别需要的移动角度,之后驱动机械手臂的电机依据该移动角度转动至该目标点。可见,本发明仅是一个二维坐标系内的角度坐标计算,算法极其简单,降低了机械手臂运动控制过程中的计算量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种二自由度机械手臂控制方法的的过程的流程图;
图2为本发明提供的一种二自由度机械手臂控制装置的结构示意图。
具体实施方式
本发明的核心是提供一种二自由度机械手臂控制方法及其装置,通过将空间坐标系内的坐标转换为平面坐标系内的坐标进行计算,简化机械手臂的运动控制算法,减少计算量。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种二自由度机械手臂控制方法,参见图1所示,图1为本发明提供的一种二自由度机械手臂控制方法的的过程的流程图;该方法包括:
步骤s1:接收用户输入的、机械手臂本次移动的目标点的空间直角坐标pn=(xn,yn,zn);
步骤s2:将空间直角坐标系拆分为水平坐标系和竖直坐标系,依据空间直角坐标计算目标点在水平坐标系内相对于原点的移动角度θn,和竖直坐标系内相对于原点的移动角度αn,并进行存储;
可以理解的是,机械手臂的运动可以拆分为在水平方向上的左右转动和在竖直方向上的上下转动,因此,分别计算机械手臂在水平坐标系和竖直坐标系上的移动角度即可控制机械手臂移动至相应目标点。
步骤s3:依据目标点相对于原点的移动角度,确定目标点相对于当前位置的移动角度作为机械手臂本次移动的电机转动角度;
步骤s4:依据电机转动角度驱动机械手臂的电机转动至目标点。
在一种具体实施例中,步骤s3的过程具体为:
计算目标点相对于原点的移动角度与上次移动的目标点相对于原点的移动角度的差值,得到机械手臂本次移动的电机转动角度(θ,α)=(θn-θn-1,αn-αn-1);其中,上次移动的目标点相对于原点的移动角度为(θn-1,αn-1);n为正整数;n=1时,对应的上次移动的目标点为原点。
可以理解的是,机械手臂为连续运动的,因此一次运动完成后,下次运动优选是自上次运动到的位置作为起始,进一步进行运动的。这种情况下,本次机械手臂的移动角度应该是相对于上次目标点的移动角度。但是,由于相对于上次目标点并不好进行计算,因此,分别计算本次目标点与上次目标点相对于原点的移动角度,再进行作差,即可得到本次机械手臂的移动角度相对于上次目标点的移动角度。例如,上次目标点在水平面上相对原点转动+20°,本次目标点在水平面上相对原点转动+60°,则本次机械手臂的移动角度相对于上次目标点的移动角度为+40°。
当然,在其他情况下,也可能出现机械手复位的情况,例如机械手每次动作完成后即回到原始位置,这种情况下每次计算得到的目标点相对于原点的移动角度即为机械手臂移动本次的电机转动角度。
需要注意的是,由于机械手臂可以在水平面旋转180°,因此,最终得到的移动角度可能大于90°。并且,为了保证旋转角度的一致性,水平坐标系和竖直坐标系中的坐标轴的正负方向需要是固定的,且正向旋转时依次通过的四个象限的顺序也是固定的,依据机械手臂的安装位置与工作需求决定。
具体的,步骤s2中,依据空间直角坐标计算目标点在水平坐标系内相对于原点的移动角度θn,和竖直坐标系内相对于原点的移动角度αn的过程具体为:
依据空间变换关系式计算移动角度,空间变换关系式具体为:
可以理解的是,水平坐标系一般指的是xoy平面,竖直坐标系一般指的是yoz平面,当然特殊情况下,竖直坐标系也可以指的是xoz平面。具体如何选取本发明不作限定。
作为优选地,目标点的空间直角坐标中的xn,yn,zn的绝对值均大于0。
可以理解的是,由于机械手臂具有耦合性,机械手臂在运动时需要在水平方向上和竖直方向上同时发生移动,因此,xn,yn,zn的绝对值均大于0。
本发明提供了一种二自由度机械手臂控制方法,将空间坐标系拆分为水平坐标系和竖直坐标系后,依据用户输入的、机械手臂本次移动的目标点的空间直角坐标,计算本次机械手臂在水平面内和竖直面内移动至目标点分别需要的移动角度,之后驱动机械手臂的电机依据该移动角度转动至该目标点。可见,本发明仅是一个二维坐标系内的角度坐标计算,算法极其简单,降低了机械手臂运动控制过程中的计算量。
本发明还提供了一种二自由度机械手臂控制装置,参见图2所示,图2为本发明提供的一种二自由度机械手臂控制装置的结构示意图。该装置包括:
接收模块11,用于接收用户输入的、机械手臂本次移动的目标点的空间直角坐标pn=(xn,yn,zn);
第一角度计算模块12,用于将空间直角坐标系拆分为水平坐标系和竖直坐标系,依据空间直角坐标计算目标点在水平坐标系内相对于原点的移动角度θn,和竖直坐标系内相对于原点的移动角度αn;
历史数据库14,用于存储目标点的移动角度;
第二角度计算模块13,用于依据所述目标点相对于原点的移动角度,确定所述目标点相对于当前位置的移动角度作为所述机械手臂本次移动的电机转动角度;
驱动模块15,用于依据电机转动角度驱动机械手臂的电机转动至目标点。
在优选实施例中,第二角度计算模块13具体用于:
计算目标点相对于原点的移动角度与上次移动的目标点相对于原点的移动角度的差值,得到机械手臂本次移动的电机转动角度(θ,α)=(θn-θn-1,αn-αn-1);其中,上次移动的目标点相对于原点的移动角度为(θn-1,αn-1);n为正整数;n=1时,对应的上次移动的目标点为原点;
作为优选地,第一角度计算模块12具体包括:
水平计算单元,用于依据空间直角坐标和水平空间变换关系式计算目标点在水平坐标系内相对于原点的移动角度θn,水平空间变换关系式为
竖直计算单元,用于依据空间直角坐标和竖直空间变换关系式计算竖直坐标系内相对于原点的移动角度αn;竖直空间变换关系式为
本发明提供了一种二自由度机械手臂控制装置,将空间坐标系拆分为水平坐标系和竖直坐标系后,依据用户输入的、机械手臂本次移动的目标点的空间直角坐标,计算本次机械手臂在水平面内和竖直面内移动至目标点分别需要的移动角度,之后驱动机械手臂的电机依据该移动角度转动至该目标点。可见,本发明仅是一个二维坐标系内的角度坐标计算,算法极其简单,降低了机械手臂运动控制过程中的计算量。
以上的几种具体实施方式仅是本发明的优选实施方式,本发明不限于以上实施例。相关专业技术人员在不脱离本发明精神和构思前提下推演出的其他改进和变化,均应包含在本发明的保护范围之内。
还需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。