一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

机械手控制方法、装置、电子设备和存储介质与流程

2022-06-02 13:03:51 来源:中国专利 TAG:


1.本技术涉及机械工程技术领域,尤其涉及一种机械手控制方法、装置、电子设备和存储介质。


背景技术:

2.机械手是一种能模仿人手和臂的某些动作功能,用以按固定程序抓取、搬运物件或操作工具的自动操作装置。在发动机缸体、缸盖等工件的加工车间中,设置有一种可以在桁架线上运动的机械手,机械手从取料点抓取工件后沿桁架线运动,将工件运送至放料点,然后将工件放入检测设备或数控机床,实现工件检测和加工的自动化。机械手在运送工件的过程中需要控制工件沿垂直于桁架线的方向水平运动,此时需要控制机械手多轴插补联动,在实现工件水平方向运动的同时,保持竖直方向位置不变。
3.目前,机械手的多轴插补联动控制通过运动控制模块中的高级位控功能实现。
4.然而,运动控制模块中的高级位控功能通过专用编程语言实现,对机械手调试人员的专业性具有较高要求,普通调试人员难以使机械手抓取工件水平方向运动的同时,保持工件的竖直方向位置不变,导致用户的使用体验较差。


技术实现要素:

5.为了解决上述技术问题,本技术实施例提供了一种机械手控制方法、装置、电子设备和存储介质,能够提高用户对于机械手的使用体验。
6.根据本技术实施例的第一方面,提供了一种机械手控制方法,所述机械手包括第一关节和第二关节,所述第一关节被构造为沿第一方向运动,所述第一关节与所述第二关节通过沿第二方向延伸的旋转轴相连接,所述第二方向垂直于所述第一方向,所述第二关节被构造为绕所述旋转轴旋转,所述方法包括:获取所述第一关节和所述第二关节的当前位置信息;获取所述机械手夹持的工件在第三方向需要运动的目标距离,其中,所述第三方向垂直于所述第一方向和所述第二方向;根据所述当前位置信息和所述目标距离,确定所述第一关节和所述第二关节的目标位置信息;根据所述目标位置信息,控制所述第一关节沿所述第一方向运动,并控制所述第二关节绕所述旋转轴旋转,以使所述工件在所述第三方向上移动所述目标距离。
7.根据本技术实施例的第二方面,提供了一种机械手控制装置,所述机械手包括第一关节和第二关节,所述第一关节被构造为沿第一方向运动,所述第一关节与所述第二关节通过沿第二方向延伸的旋转轴相连接,所述第二方向垂直于所述第一方向,所述第二关节被构造为绕所述旋转轴旋转,所述装置包括:第一获取模块,用于获取所述第一关节和所述第二关节的当前位置信息;第二获取模块,用于获取所述机械手夹持的工件在第三方向上需要运动的目标距离,其中,所述第三方向垂直于所述第一方向和所述第二方向;计算模块,用于根据所述当前位置信息和所述目标距离,确定所述第一关节和所述第二关节的目标位置信息;控制模块,用于根据所述目标位置信息,控制所述第一关节沿所述第一方向运
动,并控制所述第二关节绕所述旋转轴旋转,以使所述工件在所述第三方向上移动所述目标距离。
8.根据本技术实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行上述第一方面所述的机械手控制方法对应的操作。
9.根据本技术实施例的第四方面,提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的机械手控制方法。
10.根据本技术实施例的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令指示计算设备执行如上述第一方面所述的机械手控制方法对应的操作。
11.由上述技术方案可知,根据第一关节和第二关节的当前位置信息,以及工件在第三方向需要移动的目标距离,确定第一关节和第二关节的目标位置信息,进而根据目标位置信息控制第一关节沿第一方向运动,并控制第二关节绕旋转轴旋转运动,以使工件在沿第三方向运动的同时保持在第一方向上的位置不变。由于根据当前位置信息和目标距离确定目标位置信息的过程可以通过g代码实现,所以用户通过g代码编程便可以实现工件沿第三方向运动而保持在第一方向上的位置不变,用户无需掌握其他专用编程语言,降低了对于用户专业性的要求,从而能够提高用户的使用体验。
附图说明
12.图1是本技术实施例提供的一种桁架机械手的示意图;
13.图2是本技术实施例提供的一种机械手控制方法的流程图;
14.图3是本技术实施例提供的一种第二关节运动过程的示意图;
15.图4是本技术实施例提供的一种目标位置信息确定方法的流程图;
16.图5是本技术实施例提供的一种机械手控制装置的示意图;
17.图6是本技术实施例提供的一种电子设备的示意图。
18.附图标记列表:
19.10:机械手
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
20:桁架
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
30:工件
20.200:机械手控制方法
ꢀꢀꢀꢀꢀꢀ
400:目标位置信息确定方法 500:机械手控制装置
21.600:电子设备
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
11:滑动件
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
12:第一关节
22.13:第二关节
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
14:第三关节
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
15:第一旋转轴
23.16:第二旋转轴
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
21:桁架线
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
22:支撑架
24.602:处理器
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
604:通信接口
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
606:存储器
25.608:通信总线
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
610:程序
26.201:获取机械手包括的第一关节和第二关节的当前位置信息
27.202:获取机械手夹持的工件在第三方向上需要运动的目标距离
28.203:根据当前位置信息和目标距离,确定第一关节和第二关节的目标位置信息
29.204:根据目标位置信息控制第一关节和第二关节运动,使工件在第三方向移动目
标距离
30.401:根据第二关节当前在点方向上的位置和目标距离,确定第二关节需要绕旋转轴旋转到的位置
31.402:根据第二关节需要绕旋转轴旋转到的位置和第一关节当前在第一方向上的位置,确定第一关节需要沿第一方向运动到的位置
32.403:获得用于指示第一关节需要沿第一方向运动到的位置,及第二关节需要绕旋转轴旋转到的位置的目标位置信息
具体实施方式
33.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
34.在本技术的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
35.图1是本技术实施例提供的一种桁架机械手的示意图。如图1所示,桁架机械手包括机械手10和桁架20。桁架20包括沿第二方向(x轴方向)布置的桁架线21,以及用于支撑桁架线21的支撑架22。机械手10包括滑动件11、第一关节12、第二关节13、第三关节14、第一旋转轴15和第二旋转轴16。滑动件11能够沿桁架线21在x轴方向滑动,以带动整个机械手10沿x轴方向运动。第一关节12与滑动件11相配合,第一关节12可以沿y轴方向运动。第一关节12与第二关节13通过第一旋转轴15相连接,第二关节13可以绕第一旋转轴15在yz平面内旋转运动。第三关节14与第二关节13通过第二旋转轴16相连接,第三关节14可以绕第二旋转轴16在yz平面内旋转运动。第三关节14上设置有夹持机构,该夹持机构可以夹持工件30。
36.在第三关节14夹持工件30后,滑动件11沿x轴方向运动可以带动工件30沿x轴方向运动,第一关节12沿z轴方向运动可以带动工件30沿z轴方向运动,第二关节13和第三关节14在yz平面内旋转运动,可以带动工件30在z轴方向和y轴方向运动。通过滑动件11、第一关节12、第二关节13和第三关节14的协调运动,可以在三维空间移动工件30,以实现工件30加工过程中的上下料作业。
37.应理解,x轴、y轴和z轴彼此垂直,构成三维笛卡尔坐标系,在后续各实施例中,第一方向可为z轴方向,第二方向可为x轴方向,第三方向可为y轴方向。在一些例子中,z轴方向为竖直方向,xy平面为水平面。
38.机械手10在将工件30放入机床后从机床中取出时,需要控制工件30沿y轴方向运动,同时要保持工件30在z轴方向上的位置保持不变。目前,为了实现工件30在y轴方向运动的同时保持在z轴方向的位置不变,通过运动控制模块中的高级位控功能进行编程,由高级位控功能控制第一关节12和第二关节13插补运动,使工件30在y轴方向运动的同时保持在z轴方向上的位置不变。然而,运动控制模块中的高级位控功能通过专用编程语言实现,高级位控功能编程对机械手调试人员的专业性要求较高,普通用户难以通过高级位控功能实现工件30在y轴方向运动的同时保持在z轴方向上的位置不变,因此会导致用户的使用体验较差。
39.本技术实施例中,根据第一关节12和第二关节13的当前位置信息及工件30在y轴方向上需要移动的目标距离,确定第一关节12和第二关节13的目标位置信息,进而根据目标位置信息控制第一关节12在z轴方向运动,并控制第二关节13绕第一旋转轴15旋转运动,以使工件30在沿y轴运动的同时保持在z轴方向上的位置不变。上述控制过程通过g代码便可以实现,无需用户掌握其他专用编程语言,降低了对用户专业性的要求,从而能够提高用户的使用体验。
40.需要说明的是,本技术各实施例提供的机械手控制方案,不仅适用于桁架机械手,还适用于其他类型的机械手,只要是通过机械手的多个关节插补运动,达到控制工件在一个方向上运动而在其他方向上的位置不变的目的,均可以通过本技术实施例提供的机械手控制方案实现,本技术实施例对于机械手的类型不做限定。
41.下面以桁架机械手为例,结合附图对本技术实施例提供的机械手控制方法、装置和电子设备进行详细说明。
42.图2是本技术实施例提供的一种机械手控制方法200的流程图。如图2所示,机械手控制方法200包括如下步骤:
43.步骤201、获取机械手包括的第一关节和第二关节的当前位置信息。
44.机械手包括第一关节和第二关节,第一关节可以沿第一方向运动,第一关节和第二关节通过沿第二方向延伸的旋转轴相连接,第一方向与第二方向相垂直,第二关节可以绕旋转轴旋转运动。第二关节上直接安装有夹持机构,或者第二关节与第三关节相连接,第三关节上安装有夹持机构,第三关节可以是一个关节,也可以是相连接的多个关节,夹持机构可以对工件进行夹持。参见图1,机械手10包括第一关节12和第二关节13,第一关节12与第二关节13通过第一旋转轴15相连接,第一关节12可以沿第一方向(z轴方向)运动,第二关节13可以绕第一旋转轴15在yz平面内旋转运动。
45.第一关节和第二关节的当前位置信息,用于指示第一关节和第二关节当前所处的位置,即在沿第三方向移动工件之前第一关节和第二关节所处的位置。
46.步骤202、获取机械手夹持的工件在第三方向上需要运动的目标距离。
47.目标距离是指工件需要沿第三方向运动的距离,第三方向垂直于第一方向和第二方向,比如机械手需要将工件从a点沿第三方向移动至b点,则a点与b点之间的距离即为目标距离。参见如1,机械手10夹持工件30沿y轴方向运动,同时保持工件30在z轴方向上的位置不变,目标距离是指沿y轴方向的距离。
48.应理解,机械手夹持工件沿第三方向运动的过程中,工件与第二关节的相对位置保持不变。定义第二关节的第一端通过旋转轴与第一关节相连接,则第二关节的第二端与工件同步运动,即第二关节的第二端仅沿第三方向运动,而且在第二关节的第二端沿第三方向的运动距离等于目标距离时,工件在第三方向上的运动距离也为目标距离。
49.步骤203、根据当前位置信息和目标距离,确定第一关节和第二关节的目标位置信息。
50.由于当前位置信息指示第一关节和第二关节当前所处的位置,目标距离为工件在第三方向上需要运动的距离,因此可以根据当前位置信息和目标距离确定目标位置信息,目标位置信息用于指示第一关节和第二关节运动后的位置,即在沿第三方向移动工件之后第一关节和第二关节所处的位置,当第一关节和第二关节分别运动至目标位置信息所指示
的位置时,工件沿第三方向的移动距离为目标距离,而且工件在第一方向上的位置保持不变。
51.例如,参见图1,机械手10需要沿y轴方向将工件30从a点移动至b点,则目标位置信息用于指示工件30位于b点时第一关节12和第二关节13所处的位置。
52.步骤204、根据目标位置信息,控制第一关节沿第一方向运动,并控制第二关节绕旋转轴旋转,以使工件在第三方向上移动目标距离。
53.由于目标位置信息指示了第一关节和第二关节需要运动至的位置,因此可以根据目标位置信息控制第一关节和第二关节运动,通过第一关节和第二关节的插补运动,实现工件沿第三方向运动。由于第二关节绕旋转轴旋转运动时,不仅会使工件在第三方向上产生位移,还会使工件在第一方向上产生位移,为此需要控制第一关节在第一方向上运动,以抵消第二关节绕旋转轴旋转运动使工件在第一方向上产生的位移,从而实现工件沿第三方向运动,而保持在第一方向上的位置不变。
54.应理解,在根据目标位置信息控制第一关节和第二关节运动时,需要对第一关节和第二关节进行协调控制,以使工件移动过程中仅沿第三方向运动,而不产生沿第一方向的位移。参见图1,通过第一关节12和第二关节13的插补运动,工件30在机械手10的夹持下沿y轴方向运动,而且在沿y轴运动的过程中工件30在z轴方向上无位移。
55.在本技术实施例中,根据第一关节和第二关节的当前位置信息,以及工件在第三方向上需要移动的目标距离,确定第一关节和第二关节的目标位置信息,进而根据目标位置信息控制第一关节沿第一方向运动,并控制第二关节绕旋转轴旋转运动,以使工件在沿点方向运动的同时保持在第一方向上的位置不变。由于根据当前位置信息和目标距离确定目标位置信息的过程可以通过g代码实现,所以用户通过g代码编程便可以实现工件沿第三方向运动而保持在第一方向上的位置不变,用户无需掌握其他专用编程语言,降低了对于用户专业性的要求,从而能够提高用户的使用体验。
56.在一种可能的实现方式中,由于第一关节沿第一方向运动,所以当前位置信息包括用于指示第一关节在第一方向上当前所处位置的信息,由于第二关节绕旋转轴旋转运动可以使工件产生沿第三方向上的位移,所以当前位置信息包括用于指示第二关节在第三方向上的位置的信息。
57.参见图1,第一关节12沿z轴方向运动,可以使第二关节13和工件30产生沿z轴方向的位移,第二关节13绕第一旋转轴15旋转运动,可以使工件30产生沿z轴方向和沿y轴方向的位移,而工件30沿z轴方向的位移和沿y轴方向的位移存在关联,根据工件30沿y轴方向的位移可以确定工件30沿z轴方向的位移,所以当前位置信息可以指示第一关节12在z方向上的位置和第二关节13在y轴方向上的位置,根据当前位置信息可以准确确定第一关节12和第二关节13当前所处的位置。
58.应理解,在本技术各实施例中,第二关节的位置是指第二关节的第二端的位置,第二关节的第一端通过旋转轴与第一关节相连接,第二关节的第二端与工件同步运动。
59.在本技术实施例中,当前位置信息可以指示第一关节当前在第一方向上的位置,并可以指示第二关节当前在第三方向上的位置,由于第二关节在第三方向上的位置和在第一方向上的位置存在关联,根据第二关节在第三方向上的位置,可以确定第二关节在第一方向上的位置,所以当前位置信息仅需包括指示第一关节在第一方向上的位置的信息,及
指示第二关节在第三方向上的位置的信息,便可以根据当前位置信息准确的确定第一关节和第二关节当前所处的位置,从而可以减少用户编程过程中所使用参数的数量,降低编程难度,并可以提高数据处理的速度,提升机械手的响应速度,进一步提高用户的使用体验。
60.在一种可能的实现方式中,在获取用于指示第二关节当前在第三方向上的位置的信息时,可以获取第二关节当前绕旋转轴旋转过的角度,进而根据第二关节的长度和第二关节当前绕旋转轴旋转过的角度,通过如下公式(1)计算第二关节当前在第三方向上的位置。
61.y1=l
·
cosα
ꢀꢀꢀ
(1)
62.y1用于表征第二关节当前在第三方向上的位置,l用于表征第二关节的长度,α用于表征第二关节当前绕旋转轴旋转过的角度。
63.图3是本技术实施例提供的一种第二关节运动过程示意图。如图3所示,以第二关节与y轴方向平行的位置作为第二关节的初始位置,所以第二关节与y轴方向的夹角α即为第二关节当前绕旋转轴旋转过的角度。第二关节的长度l对应于图1中第一旋转轴15与第二旋转轴16之间的距离。根据图3所示的几何关系,可以通过上述公式(1)计算第二关节当前在第三方向(y轴方向)上的位置。
64.应理解,用于指示第一关节在第一方向上的位置的信息,可以根据驱动第一关节沿第一方向运动的电机的旋转方向和旋转圈数确定,或者可以通过设置于机械手上的位置传感器进行检测而确定。
65.在本技术实施例中,第二关节的长度是机械手的固定参数,第二关节当前绕旋转轴旋转过的角度,可以根据驱动第二关节绕旋转轴旋转运动的电机的旋转方向和旋转圈数确定,从而可以通过上述公式(1)计算第二关节当前在第三方向上的位置,进而可以参考第二关节当前在第三方向上所处的位置,确定第二关节需要运动到的位置,保证对机械手进行控制进行准确性。
66.在一种可能的实现方式中,在根据当前位置信息和目标距离确定目标位置信息时,可以先确定第二关节需要移动到的位置,然后根据第二关节需要移动到的位置确定第一关节需要移动到的位置。图4是本技术实施例提供的一种目标位置信息确定方法400的流程图。如图4所示,目标位置信息确定方法400包括如下步骤:
67.步骤401、根据第二关节当前在第三方向上的位置和目标距离,确定第二关节需要绕旋转轴旋转到的位置。
68.第二关节绕旋转轴旋转运动时,第二关节在第三方向上的位置发生变化,第二关节绕旋转轴旋转至不同的位置时,工件在第三方向上移动的距离不同,而目标距离为工件需要沿第三方向移动的距离,因此根据第二关节当前在第三方向上的位置和目标距离,可以确定第二关节需要绕旋转轴旋转到的位置。
69.应理解,如图1所示,在沿y轴方向(第三方向)移动工件30时,第二旋转轴16与工件30同步运动,所以第二关节13在第三方向上的位置可以指第二旋转轴16的轴线在y轴方向上的位置。
70.步骤402、根据第二关节需要绕旋转轴旋转到的位置和第一关节当前在第一方向上的位置,确定第一关节需要沿第一方向运动到的位置。
71.由于第二关节绕旋转轴旋转运动,不仅会改变第二关节沿第三方向的位置,还会
改变第二关节沿第一方向的位置,而且第二关节沿第三方向位置的变化与沿第一方向位置的变化存在关联,因此根据第二关节需要绕旋转轴旋转到的位置,可以确定第一关节需要沿第一方向的移动距离。在确定第一关节需要沿第一方向的移动距离后,再根据第一关节当前在第一方向上的位置,便可以确定第一关节需要沿第一方向运动到的位置。
72.步骤403、获得用于指示第一关节需要沿第一方向运动到的位置,及第二关节需要绕旋转轴旋转到的位置的目标位置信息。
73.在确定出第二关节需要绕旋转轴旋转到的位置后,获得用于指示该位置的第一位置信息。在确定出第一关节需要沿第一方向运动到的位置后,获得用于指示该位置的第二位置信息。在获得第一位置信息和第二位置信息后,获得包括第一位置信息和第二位置信息的目标位置信息。
74.在本技术实施例中,根据第二关节当前在第三方向上的位置和目标距离,确定第二关节需要绕旋转轴旋转到的位置后,根据第二关节需要绕旋转轴旋转到的位置和第一关节当前在第一方向上的位置,确定第一关节需要沿第一方向运动到的位置,进而获得用于指示第二关节需要绕旋转轴旋转到的位置和第一关节需要沿第一方向运动到的位置的目标位置信息,保证所获得的目标位置信息能够准确指示第一关节和第二关节需要运动到的位置,进而保证对机械手进行控制的准确性。基于第二关节需要绕旋转轴旋转到的位置,确定第一关节需要沿第一方向运动到的位置,可以准确的实现第一关节和第二关节的插补运动,实现工件在第三方向运动的同时保持在第一方向上的位置不变,从而精确地对工件进行移动。
75.在一种可能的实现方式中,在确定第二关节需要绕旋转轴旋转到的位置时,可以根据第二关节当前在第三方向上的位置和目标距离,通过如下公式(2)计算第二关节需要绕旋转轴旋转到的角度位置。
[0076][0077]
β用于表征第二关节需要绕旋转轴旋转到的角度位置,y1用于表征第二关节当前在第三方向上的位置,y2用于表征目标距离,l用于表征第二关节的长度。
[0078]
如图3所示,当第二关节沿第三方向(y轴方向)的移动目标距离y2时,第二关节与第一方向(z轴方向)之间的夹角γ满足而此时第二关节绕旋转轴旋转过的角度β满足β γ=90
°
,因此可以通过上述公式(2)计算第二关节需要绕旋转轴旋转到的角度β。在上述公式(2)中,第二关节在前在第三方向上的位置y1、目标距离y2和第二关节的长度l均可以确定,所以将y1、y2和l带入上述公式(2)便可以计算出第二关节需要绕旋转轴旋转到的角度位置β。
[0079]
应理解,工件在第三方向上的运动具有方向性,当第二关节绕旋转轴旋转使第二关节与第三方向(y轴方向)的夹角增大时,目标距离为正数,当第二关节绕旋转轴旋转使第二关节与第三方向(y轴方向)的夹角减小时,目标距离为负数。
[0080]
在本技术实施例中,由于第二关节的长度是固定的,第二关节绕旋转轴旋转的角度与工件在第三方向上的移动距离存在关联,因此在确定工件在第三方向(y轴方向)上需要移动的目标距离后,根据目标距离可以计算出第二关节需要绕旋转轴旋转到的角度位置,从而在根据第二关节需要绕旋转轴旋转到的角度位置控制第二关节运动时,可以保证
使工件在第三方向上的位移等于目标距离,进而精确地对工件进行移动。
[0081]
在一种可能的实现方式中,在确定第一关节需要沿第一方向运动到的位置时,可以根据第二关节需要绕旋转轴旋转到的位置和第一关节当前在第一方向上的位置,通过如下公式(3)计算第一关节需要沿第一方向运动到的位置。
[0082][0083]
z用于表征第一关节需要沿第一方向运动到的位置,z

用于表征第一关节当前在第一方向上的位置,y1用于表征第二关节当前在第三方向上的位置,β用于表征第二关节需要绕旋转轴旋转到的角度位置,l用于表征第二关节的长度。
[0084]
如图3所示,当第二关节绕旋转轴旋转至第二关节与y轴方向的夹角为β的位置时,工件在第三方向上的位移为目标距离y2,工件在第一方向上的位移δz=z
2-z1,为了抵消由于第二关节绕旋转轴旋转而导致的工件在第一方向上的位移,需要第一关节相应的沿第一方向移动δz。根据第二关节的长度l、第二关节需要绕旋转轴旋转到的角度β和第二关节当前在第三方向上的位置y1与z1和z2的几何关系,可以确定第一关节当前在第一方向上的位置为z

,因此第一关节需要沿第一方向运动到的位置,因此第一关节需要沿第一方向运动到的位置
[0085]
应理解,当第二关节绕旋转轴旋转使第二关节与第三方向(y轴方向)的夹角增大时,δz为正数,当第二关节绕旋转轴旋转使第二关节与第三方向(y轴方向)的夹角减小时,δz为负数。
[0086]
在本技术实施例中,在第二关节绕旋转轴旋转到所需的角度位置时,可以使工件在第三方向上的位移为目标距离,如果此时第一关节保持不动,则工件会在第一方向上产生一定的位移,为此可以根据第二关节需要绕旋转轴旋转到的角度位置,确定第一关节需要沿第一方向运动的位移,进而根据第一关节当前在第一方向上的位置和第一关节需要沿第一方向运动的位移,确定第一关节需要沿第一方向运动到的位置,保证根据所确定出的第一关节需要沿第一方向运动到的位置控制第一关节运动时,能够使工件在第一方向上的位置保持不变,从而精确地对工件进行移动,保证通过机械手对工件进行移动的安全性。
[0087]
需要说明的是,在根据目标位置信息控制第一关节和第二关节运动时,不仅要保证第一关节和第二关节的运动结果为使工件在第三方向上的位移为目标距离,而工件在第一方向上的位置保持不变,还需要保证工件运动过程中在第一方向上的位置保持不变,所以需要对第一关节和第二关节进行协调控制。比如,可以控制第一关节沿第一方向匀速运动,同时控制第二关节绕旋转轴匀速旋转运动,或者控制第一关节以一定的加速度沿第一方向运动,并控制第二关节以相同的加速度绕旋转轴旋转运动,使得第一关节和第二关节运动过程中工件在第一方向上的位置保持不变。
[0088]
在一种可能的实现方式中,在根据目标位置信息控制第一关节和第二关节运动之前,可以获取工件的尺寸信息,然后从预先设定的多个伺服参数中确定与所获取尺寸信息相匹配的目标伺服参数,然后基于目标伺服参数控制第一关节沿第一方向运动,并控制第二关节绕旋转轴旋转。其中,伺服参数包括速度、伺服增益、加速度和急动度中的至少一个。
[0089]
在本技术实施例中,机械手可用于移动不同的工件,不同的工件具有不同的尺寸和重量,通过工件的尺寸来区分不同的工件,在通过机械手移动不同的工件时,选择与工件
的尺寸和重量相匹配的伺服参数控制机械手运动,避免机械手运动过程中出现工件抖动等问题,可以提高机械手中各轴运动的效率和精度。
[0090]
在一种可能的实现方式中,在对机械手的运动参数进行配置时,用户可以输入机械手中每个轴在不同设定点的位置,比如,如下表1所示,用户可以输入机械手中每个轴(x轴、z轴、u轴、v轴和w轴)在取料点、预料点和放料点的位置,然后通过预先创建的路径规划程序,自动生成机械手在不同设定点之间移动时各轴的控制逻辑。另外,机械手中每个轴在设定点的位置,可以通过位置试教进行确定。
[0091]
表1
[0092]
轴信息取料点预料点放料点x轴位置(mm)71.94165.79559.336z轴位置(mm)71.33765.16558.668u轴位置(mm)70.73164.53257.995v轴位置(mm)70.12363.89657.316w轴位置(mm)69.51363.25656.633
[0093]
在本技术实施例中,在设置机械手移动工件的控制逻辑时,用户仅需要输入机械手中每个轴在不同设定点的位置,路径规划程序将根据各轴在各设定点的位置,自动生成机械手在不同设定点之间移动时各轴的控制逻辑,用户无需进行复杂的编程,从而可以进一步提高用户对于机械手的使用体验。
[0094]
图5是本技术实施例提供的一种机械手控制装置500的示意图,其中,机械手包括第一关节和第二关节,第一关节被构造为沿第一方向运动,第一关节与第二关节通过沿第二方向延伸的旋转轴相连接,第二方向垂直于第一方向,第二关节被构造为绕旋转轴旋转。如图5所示,机械手控制装置500包括:
[0095]
第一获取模块501,用于获取第一关节和第二关节的当前位置信息;
[0096]
第二获取模块502,用于获取机械手夹持的工件在第三方向需要运动的目标距离,其中,第三方向垂直于第一方向和第二方向;
[0097]
计算模块503,用于根据当前位置信息和目标距离,确定第一关节和第二关节的目标位置信息;
[0098]
控制模块504,用于根据目标位置信息,控制第一关节沿第一方向运动,并控制第二关节绕旋转轴旋转,以使工件在第三方向上移动目标距离。
[0099]
在本技术实施例中,第一获取模块501可用于执行前述方法实施例中的步骤201,第二获取模块502可用于执行前述方法实施例中的步骤202,计算模块503可用于执行前述方法实施例中的步骤203,控制模块504可用于执行前述方法实施例中的步骤204。
[0100]
需要说明的是,上述机械手控制装置内的各模块之间的信息交互、执行过程等内容,由于与前述机械手控制方法实施例基于同一构思,具体内容可参见前述机械手控制方法实施例中的叙述,此处不再赘述。
[0101]
图6是本技术实施例提供的一种电子设备的示意图,本技术具体实施例并不对电子设备的具体实现做限定。参见图6,本技术实施例提供的电子设备600包括:处理器(processor)602、通信接口(communications interface)604、存储器(memory)606、以及通信总线608。其中:
[0102]
处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。
[0103]
通信接口604,用于与其它电子设备或服务器进行通信。
[0104]
处理器602,用于执行程序610,具体可以执行前述任一机械手控制方法实施例中的相关步骤。
[0105]
具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。
[0106]
处理器602可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0107]
存储器606,用于存放程序610。存储器606可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0108]
程序610具体可以用于使得处理器602执行前述任一实施例中的机械手控制方法。
[0109]
程序610中各步骤的具体实现可以参见前述任一机械手控制方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0110]
通过本技术实施例的电子设备,根据第一关节和第二关节的当前位置信息,以及工件在第三方向需要移动的目标距离,确定第一关节和第二关节的目标位置信息,进而根据目标位置信息控制第一关节沿第一方向运动,并控制第二关节绕旋转轴旋转运动,以使工件在沿第三方向运动的同时保持在第一方向上的位置不变。由于根据当前位置信息和目标距离确定目标位置信息的过程可以通过g代码实现,所以用户通过g代码编程便可以实现工件沿第三方向运动而保持在第一方向上的位置不变,用户无需掌握其他专用编程语言,降低了对于用户专业性的要求,从而能够提高用户的使用体验。
[0111]
本技术还提供了一种计算机可读存储介质,存储用于使一机器执行如本文所述的机械手控制方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
[0112]
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本技术的一部分。
[0113]
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0114]
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0115]
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0116]
本技术实施例还提供了一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行上述各实施例提供的机械手控制方法。应理解,本实施例中的各方案具有上述方法实施例中对应的技术效果,此处不再赘述。
[0117]
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0118]
以上各实施例中,硬件模块可以通过机械方式或电气方式实现。例如,一个硬件模块可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件模块还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
[0119]
上文通过附图和优选实施例对本技术进行了详细展示和说明,然而本技术不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本技术更多的实施例,这些实施例也在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献