联系人: 李小忠
手机: 13800000000
电话: 400-123-4567
邮箱: hntygyl.com@qq.com
地址: 河南省焦作市中站区月山路22号楼105号
机械臂的运动控制方法和装置、以及存储介半岛体育机械质、计算机与流程
半岛体育机械本发明涉及机器人技术领域,尤其涉及机械臂的运动控制方法和装置、以及存储介质、计算机。
随着产业升级和企业技术进步的加快,机械臂成为了机器人技术领域中被得到广泛实际应用的自动化机械装置,此类机械臂具有多自由度,允许在二维或三维空间进行运动,通过接收控制指令以完成各种作业。
如图1a、1b、1c和1d所示,为了提高机械臂活动的自由度,机械臂上往往设置有旋转轴,通过旋转轴可以使得机械臂在一定范围内绕旋转轴旋转,在某些特殊作用中,旋转式的运动可以大大提高机械臂的作业能力。其中,图1a~1c所示型号的机械臂为大小臂绕旋转轴01在水平面上运动的机械臂,图1a为该机械臂的正视图,图1b、图1c为该机械臂两种姿态下的俯视图;图1d所示型号的机械臂为大小臂绕旋转轴01在垂直平面上运动的机械臂。
目前,对机械臂旋转轴的运动控制主要通过人机交互实现,在现有技术中,最常见的运动控制方式包括在pc端或移动端通过应用界面进行控制。比如,用户如果想要控制机械臂旋转轴正方向旋转大约45°,则用户首先需要在应用界面上找到控制机械臂旋转轴的转动方向的第一控制按键,以及控制机械臂旋转轴的转动角度的第二控制按键,然后,用户触发第一控制按键设定转动方向为正方向,并且触发第二控制按键设定转动角度为45°,最后,根据上述设定的参数生成并发出控制指令,实现对机械臂旋转轴的转动角度和转动方向的控制。可见,该运动控制方式主要存在以下缺陷:用户通过pc端或移动端上的应用界面对机械臂进行间接控制,这在一定程度上降低了用户对机械臂旋转轴的运动控制效率。
本发明实施例提供了一种机械臂的运动控制方法和装置、以及存储介质、计算机,对机械臂旋转轴的运动控制主要通过人机交互实现,用户不需要点击应用界面上代表相应控制指令的控制按键来触发控制指令,便可实现对机械臂旋转轴的转动角度和转动方向的控制,能够建立起控制设备上第一触发部件半岛体育机械、第二触发部件与机械臂上目标旋转轴转动的直观联系,提升机械臂旋转轴的运动控制效率。
若监听到所述第一触发部件的第一触发事件,则生成第一转动控制指令,并将所述第一转动控制指令发送至所述机械臂,以根据所述第一转动控制指令驱动所述机械臂的目标旋转轴以预设第一转动速度沿第一转动方向转动;
若监听到所述第二触发部件的第二触发事件,则生成第二转动控制指令,并将所述第二转动控制指令发送至所述机械臂,以根据所述第二转动控制指令驱动所述目标旋转轴以预设第二转动速度沿第二转动方向转动;
触发事件监听模块,用于监听控制设备上第一触发部件和第二触发部件的触发事件;
第一转动指令生成模块,用于若所述触发事件监听模块监听到所述第一触发部件的第一触发事件,则生成第一转动控制指令;
第一转动指令生成模块,用于将所述第一转动指令生成模块生成的所述第一转动控制指令发送至所述机械臂,以根据所述第一转动控制指令驱动所述机械臂的目标旋转轴以预设第一转动速度沿第一转动方向转动;
第二转动指令生成模块,用于若所述触发事件监听模块监听到所述第二触发部件的第二触发事件,则生成第二转动控制指令;
第二转动指令生成模块,用于将所述第二转动指令生成模块生成的所述第二转动控制指令发送至所述机械臂,以根据所述第二转动控制指令驱动所述目标旋转轴以预设第二转动速度沿第二转动方向转动;
本发明实施例中,首先,监听控制设备上第一触发部件和第二触发部件的触发事件;若监听到所述第一触发部件的第一触发事件,则生成第一转动控制指令半岛体育机械,并将所述第一转动控制指令发送至所述机械臂,以根据所述第一转动控制指令驱动所述机械臂的目标旋转轴以预设第一转动速度沿第一转动方向转动;若监听到所述第二触发部件的第二触发事件,则生成第二转动控制指令,并将所述第二转动控制指令发送至所述机械臂,以根据所述第二转动控制指令驱动所述目标旋转轴以预设第二转动速度沿第二转动方向转动;其中,所述第一转动方向与所述第二转动方向相反。在本发明实施例中,通过预先建立第一触发部件、第二触发部件与目标旋转轴之间转动坐标系的转换关系,将第一触发事件、第二触发事件分别转换成对目标旋转轴的第一转动方向、第二转动方向的控制指令,从而建立起控制设备上第一触发部件、第二触发部件与机械臂上目标旋转轴转动的直观联系,提升了机械臂旋转轴的运动控制效率。
图5为本发明实施例中一种机械臂的运动控制方法对执行机构进行运动控制的具体流程图;
本发明实施例提供了一种机械臂的运动控制方法和装置、以及存储介质、计算机,用于解决应用界面中的界面按键无法与机械臂旋转轴的转动方向直观对应的问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
首先,图1f示出了本发明实施例提供的机械臂运动控制系统的结构框图,为了便于说明,仅示出与本实施例相关的部分。
参照图1f,在本发明实施例中,机械臂运动控制系统由上位机子系统和下位机子系统构成,其中,上位机子系统包括用于发出控制指令的计算机及其外设,计算机对控制设备的转动事件、移动事件和/或触发事件进行采集,以获取到控制设备的操作数据,并根据操作数据生成控制指令,发送给下位机子系统。下位机子系统包括机械臂本体,以及微控制器、驱动扩展板,微控制器可以通过usb转串口模块实现与上位机子系统的通信,接收上位机子系统发送的控制指令,解析该控制指令以获取到机械臂的运动数据,通过将该运动数据发送给驱动扩展板,由驱动扩展板驱动机械臂本体依照该运动数据进行运动,由此实现通过控制设备对机械臂进行运动控制。可以理解的是,在有需要时,可以将上位机子系统和下位机子系统整合在一起,例如一并整合到机械臂中。在本实施例中,机械臂运动控制系统分为上位机子系统和下位机子系统,其主要为了便于理解该机械臂运动控制系统,不应看成对该机械臂运动控制系统的限定。
另外,本发明实施例中,控制设备可以具体为鼠标或摇杆控制器。其中,鼠标可以为普通鼠标或鼠标。
如图2a所示,图2a为普通鼠标的立体示意图。当控制设备为普通鼠标时,普通鼠标上通常至少配置有两个按键,分别为鼠标左键和鼠标右键,该鼠标左键和鼠标右键可以分别作为控制设备的第一触发部件和第二触发部件使用。另外,普通鼠标上一般还配置有鼠标滚轮,该鼠标滚轮可作为控制设备在垂直方向上的移动部件。如图2a所示,普通鼠标本身还可以在平面上滑动,在普通鼠标本身滑动时,普通鼠标可以输出滑动过程中的移动方向和移动距离,因此,普通鼠标本身可作为控制设备在水平方向上的移动部件。另外,对于部分型号的普通鼠标,其上还可以配置一个以上按键,这些按键可以作为控制设备的触发部件。
同理,相对于普通鼠标,当控制设备为鼠标时,其大部分控制部件与普通鼠标的类似,如图2b和图2c所示,对于鼠标,则其弹性结构02由于可被提起或按下,因此可以将该弹性结构02作为控制设备的在垂直方向上的移动部件使用。
而当控制设备为摇杆控制器时,摇杆控制器上配置的旋钮或者用于绕圆周进行摇动操作的摇杆,可以看作是控制设备的第一触发部件和第二触发部件的等同功能部件。另外,部分型号的摇杆控制器上配置的弹性结构可被提起或按下,因此该弹性结构在用于提起或按下时,可作为控制设备在垂直方向上的移动部件。摇杆控制器上的摇杆可以往一个水平面的各个方向摇动,在摇杆摇动时,摇杆控制器可以输出遥控过程中的摇动方向和摇动距离,因此,摇杆控制器的摇杆可以作为控制设备在水平方向上的移动部件。另外,对于大多数摇杆控制器来说,其上配置有一个以上按键,这些按键可以作为控制设备的触发部件。
由上述内容可知,本发明实施例中的控制设备具有多种选择。在下述内容中,为便于描述,仅以普通鼠标作为控制设备为例进行说明。
基于图1f所示的系统结构,图3示出了本发明实施例提供的机械臂的运动控制方法的实现流程,详述如下:
当控制设备为普通鼠标时,对于普通鼠标来说,普通鼠标上通常至少配置有两个按键,分别为鼠标左键和鼠标右键。本实施例中,该鼠标左键可以作为第一触发部件,该鼠标右键可以作为第二触发部件。对鼠标左键和鼠标右键进行监听,以判断用户是否按下了鼠标左键或者鼠标右键。
302、若监听到所述第一触发部件的第一触发事件,则生成第一转动控制指令;
303、将所述第一转动控制指令发送至所述机械臂,以根据所述第一转动控制指令驱动所述机械臂的目标旋转轴以预设第一转动速度沿第一转动方向转动;
对于上述步骤302和303,当监听到用户按下鼠标左键时,生成第一转动控制指令,并将该第一转动指令发送至图1f所示的下位机系统,下位机系统通过对该第一转动控制指令进行解析,解析出关于该机械臂的目标旋转轴的运动数据,从而驱动目标旋转轴以预设第一转动速度沿第一转动方向转动。可以理解的是,在本实施例中,可以预先建立第一触发事件与第一转动控制指令的对应关系,该第一转动控制指令与目标旋转轴的第一转动速度和第一转动方向也可以预先建立对应关系。例如,设定:第一触发事件触发时,目标旋转轴以第一转动速度顺时针转动。同理,对于第二触发事件,可以对应设定为:第二触发事件触发时,目标旋转轴以第二转动速度逆时针转动。其中,该第一转动速度和第二转动速度可以预先设定并由用户自行调整。
304、若监听到所述第二触发部件的第二触发事件,则生成第二转动控制指令;
305、将所述第二转动控制指令发送至所述机械臂,以根据所述第二转动控制指令驱动所述目标旋转轴以预设第二转动速度沿第二转动方向转动,其中,所述第一转动方向与所述第二转动方向相反。
对于上述步骤304和305,当监听到用户按下鼠标右键时,生成第二转动控制指令,并将该第二转动指令发送至图1f所示的下位机系统,下位机系统通过对该第二转动控制指令进行解析,解析出关于该机械臂的目标旋转轴的运动数据,从而驱动目标旋转轴以预设第二转动速度沿第二转动方向转动。步骤304和步骤305的原理与上述步骤302和步骤303类似,此处不再赘述。需要说明的是,所述第一转动方向与所述第二转动方向相反,当第一转动方向为顺时针时,第二转动方向为逆时针;而当第一转动方向为逆时针时,第二转动方向为顺时针。
作为本实施例的一种优选方式,当机械臂配置有两个以上旋转轴时,在上述发送第一转动控制指令或第二转动控制指令至机械臂之前,还可以从所述两个以上旋转轴中确定一个以上的旋转轴作为所述目标旋转轴。可以理解的是,如图1a~1d所示,机械臂配置有两个旋转轴,分别对应控制大臂和小臂的运动。因此,当需要对旋转轴进行转动控制之前,可以先由用户选择一个旋转轴作为目标旋转轴进行控制。例如,当用户需要控制机械臂完成一个画圆弧的动作时,现有技术往往需要在应用界面中预设一个画圆弧的指令,用户才能通过预设的画圆弧指令来控制机械臂完成画圆弧的动作。然而,应用界面上往往只预设有常用的、标准的画圆弧指令,比如画四分之一圆弧、画二分之一圆弧、画一个完整的圆等,当用户想要画出非常规的圆滑时,例如画八分之七圆弧,则非常困难。本实施例中,通过单独对某个旋转轴进行转动控制,用户可以确定机械臂上某个旋转轴为目标旋转轴,然后控制该目标旋转轴进行转动,转动的角度和方向均可以由用户通过控制设备上的触发部件直接控制,使得在控制机械臂进行类似画圆弧的动作时,可以做到“所见即所得”的效果。另外在有需要时,也可以同时对两个或两个以上的旋转轴进行控制。
可以理解的是,在这些旋转轴中确定出目标旋转轴的方式可以有多种,例如可以预设算法进行自动选定,也可以由用户进行手动选择,此处不作具体限定。
图3所示实施例阐述了对机械臂旋转轴进行运动控制的方案,进一步地,本发明实施例还可以通过控制设备实现对机械臂的运动控制,如图4所示,本发明实施例所述的运动控制方法还包括:
步骤401、对所述控制设备的移动情况进行检测,检测所述控制设备的移动部件的移动方向和在所述移动方向上的移动距离;
在本实施例中,控制设备为普通鼠标,实现的是对普通鼠标运动数据的采集,计算机操作系统通过对普通鼠标事件进行监听,获取到普通鼠标移动部件的移动方向及移动部件在该移动方向上的移动距离。其中,所述移动部件,可以为普通鼠标本体或者鼠标滚轮,若移动部件为普通鼠标本体,由于普通鼠标本体可以在水平面上进行如图2a所示的x轴方向和y轴方向的移动,因此,需要分别获取到普通鼠标本体在上述两个轴向方向上的移动距离;若移动部件为鼠标滚轮,由于鼠标滚轮只能在直线上做向前滚动或向后滚动的移动操作,因此,需要获取到该鼠标滚轮在该前后方向上的直线、将所述移动部件的移动方向转换为所述机械臂的运动方向;
步骤403、根据所述移动部件的所述移动距离确定所述机械臂在所述运动方向上的运动速度;
对于上述步骤402和步骤403,在本发明实施例中,需要根据步骤401中采集到的普通鼠标的操作数据来生成对机械臂的控制指令,因此,需要将普通鼠标的操作数据转换成机械臂的运动数据,这其中涉及到;将普通鼠标的移动部件的移动方向转换为机械臂的运动方向,以及将移动部件在该移动方向上的移动距离转换为机械臂在该运动方向上的运动速度。为了控制机械臂在三维空间运动,需要明确机械臂在三维运动坐标系x轴、y轴、z轴三个轴向方向上对应的运动速度,因此,在本发明实施例中,通过采集到的普通鼠标在三个不同维度上的运动数据,以将这三个不同维度上的运动数据分别转换为机械臂在三个轴向方向上的运动速度。具体地,作为本发明的一个实施例,所述将所述移动部件的移动方向转换为机械臂的运动方向包括:
若所述移动部件为普通鼠标本体,将所述普通鼠标本体在水平平面上的移动方向映射为所述机械臂在水平平面上的运动方向;
若所述移动部件为鼠标滚轮,将所述鼠标滚轮的移动方向转换为所述机械臂在垂直方向上的运动方向。
具体地,对应于图2a所示的平面坐标系,可以以机械臂的初始运动位置或底座固定位置为原点,建立如图1e所示的三维运动坐标系,将普通鼠标本体在图2a的x轴轴向方向的运动映射为机械臂在图1ex轴轴向方向的运动,将普通鼠标本体在图2a的y轴轴向方向的运动映射为机械臂在图1ey轴轴向方向的运动,将鼠标滚轮的直线ez轴轴向方向的运动。显然,容易想到的是,普通鼠标与机械臂的运动维度映射关系可以不局限于以上方式,在本发明实施例中,普通鼠标提供了三个不同维度的运动数据,只需要将这三个不同维度与机械臂运动的三个轴向方向建立起一一对应的关系即可,在此并不限定每组对应关系中的具体维度。
除了需要将所述移动部件的移动方向转换为所述机械臂的运动方向之外,在本发明实施例中,还需要根据所述移动部件的所述移动距离确定所述机械臂在所述运动方向上的运动速度。可以预先建立好移动部件的移动距离与机械臂的运动速度的对应关系。例如,普通鼠标本体在x轴方向的移动距离为d,移动的时间为t,则普通鼠标本体的x轴方向的平均移动速度为d/t,从而,确定该机械臂在x轴的运动速度为d/t。又比如,鼠标本体在x轴方向的移动距离为d,移动的时间为t,则鼠标本体的x轴方向的平均加速度为2d/t
,从而该机械臂在x轴上运动的平均加速度为2d/t2,并以该加速度从0开始进行加速运动。另外,需要说明的是,在确定出机械臂在所述运动方向上的运动速度之后,该机械臂在该运动方向上何时停止运动,可以通过多种方式进行控制。比如,可以默认机械臂在该运动方向上的运动时间等于移动部件的移动时间,也即机械臂时“跟随”移动部件进行相应运动的,移动部件移动时,机械臂移动;反之,移动部件停下时,机械臂也相应停止运动。另一种方式,也可以设定机械臂的运动停止需要用户另外输入一个控制机械臂停止运动的指令。比如,确定机械臂在x轴的运动速度为d/t之后,该机械臂即在x轴上以d/t的运动速度进行匀速运动,在用户另外输入一个“停止”的控制指令之前,该机械臂可以一直保持这种运动状态,直到机械臂达到物理上的限位状态或者用户输入一个“停止”的控制指令为止,该机械臂才停止运动。可见,在本实施例中,控制机械臂在该运动方向上运动之后,何时控制机械臂停止运动可以根据实际使用情况进行设定,此处不做具体限定。
步骤404、生成第一运动控制指令,所述第一运动控制指令用于控制所述机械臂以所述运动速度沿所述运动方向运动;
基于步骤402和步骤403的转换结果,生成对机械臂的第一运动控制指令,该第一运动控制指令用于控制机械臂以所述运动速度沿着转换得到的运动方向运动,将该第一运动控制指令发送至图1f所示的下位机系统,从而能够根据该第一运动控制指令驱动机械臂运动,完成普通鼠标对机械臂的运动控制。
可以理解的是,在控制机械臂以所述运动速度沿着转换得到的运动方向运动之后,当接收到停止运动指令时,机械臂停止运动;或者,当接收到另一个第一运动控制指令时,则根据另一个第一运动控制指令控制机械臂运动。
1、当普通鼠标沿着图2a所示的x轴正方向运动时,驱动机械臂沿着图1e所示的x轴正方向运动;当普通鼠标沿着图2a所示的x轴负方向运动时,驱动机械臂沿着图1e所示的x轴负方向运动;
2、当普通鼠标沿着图2a所示的y轴正方向运动时,驱动机械臂沿着图1e所示的y轴正方向运动;当普通鼠标沿着图2a所示的y轴负方向运动时,驱动机械臂沿着图1e所示的y轴负方向运动;
3、当普通鼠标沿着与图2a所示的x轴及y轴各成一定夹角的方向运动时,驱动机械臂沿着与图1e所示的x轴及y轴各成一定夹角的方向运动。
进一步地,针对图4对应实施例的运动控制方案,为了更好地实现机械臂的运动控制,在步骤401之前,增加对机械臂进行运动控制的触发条件。作为优选的一个实施例下,可以监听所述控制设备上第三触发部件的第三触发事件,若监听到所述第三触发事件,则执行上述步骤401。具体地,可以是监听所述第三触发部件是否处于被按下的状态,若是,则执行上述步骤401,实现机械臂的运动控制。更进一步地,当该第三触发部件处于松开的状态时,则可以生成第二运动控制指令,通过第二运动控制指令控制该机械臂停止运动。
示例性地,通过上述的第三触发事件作为机械臂运动控制的触发条件,可以实现以下运动控制效果:当按住鼠标的一个或两个按键时,此时移动鼠标,驱动机械臂以鼠标的平均移动速度沿着鼠标的运动方向运动。此时,用户只要不松开该按键,则机械臂一直以这个平均移动速度沿着该运动方向运动。当用户认为机械臂已移动到想要的位置时,用户松开该按键,机械臂停止运动。可以理解的是,通过第三触发事件作为机械臂运动控制的触发条件,可以对机械臂的多种运动控制方式在用户操作层面上实现区分。比如,若机械臂包括常用的跟随运动方式以及特殊情况下使用的非跟随运动方式。其中,跟随运动方式是指机械臂的运动状态跟随鼠标的运动状态,当鼠标运动时,机械臂运动;鼠标停止时,机械臂停止。非跟随运动方式则是指上述步骤401~405所述的运动方式。因此,可以将第三触发事件作为非跟随运动方式的触发条件,从而将跟随运动方式与非跟随运动方式区分开来。用户控制机械臂时半岛体育机械,若用户需要采用跟随运动方式控制机械臂,用户可以直接移动鼠标进行控制;若用户需要采用非跟随运动方式控制机械臂,用户可以触发第三触发事件时,比如通过按住鼠标的一个按键不放来移动鼠标,从而控制机械臂以非跟随运动方式进行运动。
图4所示实施例阐述了对机械臂进行运动控制的方案,进一步地,本发明实施例还可以通过控制设备实现对机械臂末端连接的执行机构的运动控制,如图5所示,本发明实施例所述的运动控制方法还包括:
对于鼠标来说,其上可以配置有至少一个按键作为控制设备的第四触发部件。本实施例中,可以对鼠标的按键的触压时间进行监听,以判断用户是否对鼠标进行了触压操作。
步骤502、若监听到所述第四触发事件,则根据所述第四触发事件生成机构控制指令;
步骤503、将所述机构控制指令发送至所述机械臂,以根据所述机构控制指令驱动所述机械臂末端连接的执行机构运动。
对于上述步骤502和步骤503,当监听到第四触发事件时,即可生成对机械臂末端连接的执行机构进行控制的机构控制指令,并将该机构控制指令发送至图1f所示的下位机系统,下位机系统通过对该机构控制指令进行解析,解析出关于该执行机构的运动数据,从而驱动该执行机构运动。在本发明实施例中,所述机械臂末端连接的执行机构,包括但不限于机械臂末端的旋转机构(例如舵机),或者还包括与该旋转机构连接的爪子、吸盘等装置,该机构的种类不同,所能够实现的功能也不相同,总体来说,该执行机构是用于实现机械臂更为精细的机械控制,例如抓握物体、绘画、激光刻字,等等。
若监听到关于所述第四触发部件的双击操作事件,则根据所述双击操作事件生成第一机构控制指令,所述第一机构控制指令用于控制所述执行机构在打开状态和关闭状态之间的切换。在本实施例中,该第四触发部件可以是鼠标左键、鼠标右键或者鼠标上配置的其他物理按键。当监听到该第四触发部件被双击时,则生成第一机构控制指令,并将该第一机构控制指令发送至机械臂。若机械臂的执行机构正处于打开状态,则当机械臂接收到该第一机构控制指令时,控制机械臂的执行机构从打开状态切换至关闭状态;反之,若机械臂的执行机构正处于关闭状态,则当机械臂接收到该第一机构控制指令时,控制机械臂的执行机构从关闭状态切换至打开状态。
若监听到所述第四触发部件处于被按下的状态,则生成第二机构控制指令,所述第二机构控制指令用于打开所述执行机构;若监听到所述第四触发部件处于松开状态,则生成第三机构控制指令,所述第三机构控制指令用于关闭所述执行机构。在本实施例中,该第四触发部件可以是鼠标左键、鼠标右键或者鼠标上配置的其他物理按键。当监听到该第四触发部件处于被按下的状态时,则生成第二机构控制指令,并将该第二机构控制指令发送至机械臂,控制机械臂的执行机构打开;而当监听到该第四触发部件处于松开状态时,则生成第三机构控制指令,并将该第三机构控制指令发送至机械臂,控制机械臂的执行机构关闭。示例性地,在一个应用场景下,用户按下某按键时,机械臂末端的执行机构打开、启动并执行相应操作。用户保持按下该按键的状态,该执行机构持续作业,直到用户认为该执行机构已完成阶段性的作业时,用户松开该按键,该执行机构则关闭,停止作业。
需要说明的是,上述的第一触发部件、第二触发部件、第三触发部件、第四触发部件具体可以是控制设备上的按键、摇杆、弹性结构、移动部件等一切可以进行指令输入的部件。控制设备可以预先设定哪一个部件为第一触发部件,哪一个部件为第二触发部件,哪一个部件为第三触发部件,哪一个部件为第四触发部件,当相应部件被触发(比如,被按下、被触压、被提起、被扭动,等等)时,则生成对应的触发事件,比如上述的第一触发事件、第二触发事件、第三触发事件或第四触发事件。
在本发明实施例中,通过预先建立第一触发部件、第二触发部件与目标旋转轴之间转动坐标系的转换关系,将第一触发事件、第二触发事件分别转换成对目标旋转轴的第一转动方向、第二转动方向的控制指令,从而建立起控制设备上第一触发部件、第二触发部件与机械臂上目标旋转轴转动的直观联系,提升了机械臂旋转轴的运动控制效率。
进一步地,还通过预先建立控制设备的移动部件与机械臂之间运动坐标系的转换关系,将移动部件的移动情况转换成机械臂的控制指令,从而建立起控制设备上移动部件与机械臂运动的直观联系,提升了机械臂的运动控制效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的机械臂的运动控制方法,图6示出了本发明实施例提供的机械臂的运动控制装置的结构框图,所述机械臂的运动控制装置可以是内置于图1所示的上位机子系统内的软件模块、硬件模块或者是软硬结合的模块。为了便于说明,仅示出了与本实施例相关的部分。
触发事件监听模块601,用于监听控制设备上第一触发部件和第二触发部件的触发事件;
第一转动指令生成模块602,用于若所述触发事件监听模块601监听到所述第一触发部件的第一触发事件,则生成第一转动控制指令;
第一转动指令生成模块603,用于将所述第一转动指令生成模块602生成的所述第一转动控制指令发送至所述机械臂,以根据所述第一转动控制指令驱动所述机械臂的目标旋转轴以预设第一转动速度沿第一转动方向转动;
第二转动指令生成模块604,用于若所述触发事件监听模块601监听到所述第二触发部件的第二触发事件,则生成第二转动控制指令;
第二转动指令生成模块605,用于将所述第二转动指令生成模块604生成的所述第二转动控制指令发送至所述机械臂,以根据所述第二转动控制指令驱动所述目标旋转轴以预设第二转动速度沿第二转动方向转动;
旋转轴确定模块,用于从所述两个以上旋转轴中确定一个以上的旋转轴作为所述目标旋转轴。
移动检测模块,用于对所述控制设备的移动情况进行检测,检测所述控制设备的移动部件的移动方向和在所述移动方向上的移动距离;
运动方向转换模块,用于将所述移动部件的移动方向转换为所述机械臂的运动方向;
运动速度转换模块,用于根据所述移动部件的所述移动距离确定所述机械臂在所述运动方向上的运动速度;
第一运动指令生成模块,用于生成第一运动控制指令,所述第一运动控制指令用于控制所述机械臂以所述运动速度沿所述运动方向运动;
第三触发事件监听模块,用于监听所述控制设备上第三触发部件的第三触发事件;
监听触发模块,用于若所述第三触发事件监听模块监听到所述第三触发事件,则触发所述移动检测模块。
机构指令生成模块,用于若监听到所述第四触发事件,则根据所述第四触发事件生成机构控制指令;
机构指令发送模块,用于将所述机构控制指令发送至所述机械臂,以根据所述机构控制指令驱动所述机械臂末端连接的执行机构运动。
第一机构指令生成单元,用于若监听到关于所述第四触发部件的双击操作事件,则根据所述双击操作事件生成第一机构控制指令,所述第一机构控制指令用于控制所述执行机构在打开状态和关闭状态之间的切换;
第二机构指令生成单元,用于若监听到所述第四触发部件处于被按下的状态,则生成第二机构控制指令,所述第二机构控制指令用于打开所述执行机构;
第三机构指令生成单元,用于若监听到所述第四触发部件处于松开状态,则生成第三机构控制指令,所述第三机构控制指令用于关闭所述执行机构。
图7是本发明一实施例提供的计算机的示意图。如图7所示,该实施例的计算机7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如机械臂的运动控制程序。所述处理器70执行所述计算机程序72时实现上述各个机械臂的运动控制方法实施例中的步骤,例如图3所示的步骤301至305。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块601至605的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述计算机7中的执行过程。
所述计算机7可以是移动终端、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是计算机7的示例,并不构成对计算机7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机还可以包括输入输出设备、网络接入设备、总线可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述计算机7的内部存储单元,例如计算机7的硬盘或内存。所述存储器71也可以是所述计算机7的外部存储设备,例如所述计算机7上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器71还可以既包括所述计算机7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述计算机所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。