本发明属于机械臂控制,尤其涉及一种非实时系统下的分区式机械臂协作方法。
背景技术:
1、对于非实时操作系统,如安卓系统,在处理多个机械臂协同控制时,无法根据实时位置反馈来进行路径规划。机械臂在运动过程中,去查询位置,到系统处理数据时,可能过了较长时间,且时间不固定,此时该位置数据已经失效,只有在机械臂运动处于停止状态时,查询位置才是有效的,因此,目前对非实时操作系统的机械臂的控制一般只针对单个机械臂,并在机械臂运动停止时分步进行控制,运行效率较低,且花费较大的人力。
技术实现思路
1、针对上述现有技术中的不足,本发明旨在提供一种非实时系统下的分区式机械臂协作方法,通过对机械臂运动轨迹的提前分区规划,结合机械臂停止状态时的位置查询,实现了多机械臂协作控制,提高了机械臂的运作效率,自动化程度高,节约了人力。
2、为了实现上述目的,本发明提供一种非实时系统下的分区式机械臂协作方法,包括步骤:
3、s1:将机械臂初始位置所在的预设范围内的区域划分为安全区域,在相邻所述安全区域之间划分一临界区域,所述临界区域与所述安全区域之间相隔有第一安全距离;
4、s2:获取下一条指令;
5、s3:判断所述指令是否为机械臂动作指令,如是继续后续步骤,否则返回步骤s2;
6、s4:判断所述机械臂的目标路径是否与相邻机械臂的所述安全区域有重叠,如是则发送第一控制指令使控制系统进入规划控制模式,所有所述机械臂都按照第一控制方案运行,进行步骤s6;否则,进行步骤s5;
7、s5:判断所述控制系统是否处于所述规划控制模式且存在至少一个所述机械臂的目标路径与所述相邻机械臂的所述安全区域有重叠,如是进行步骤s6;否则,进行步骤s7;
8、s6:选择所述第一控制方案运行所述机械臂动作指令,返回步骤s2;
9、s7:判断所述控制系统是否处于所述规划控制模式且无任何所述机械臂的目标路径与所述相邻机械臂的所述安全区域有重叠,如是发送第二控制指令使所述控制系统退出所述规划控制模式,进行步骤s8;否则,直接进行步骤s8;
10、s8:判断所述机械臂的所述目标路径与所述相临界区域是否有重叠,若是,则选择第二控制方案运行所述机械臂动作指令,进行步骤s10;否则,进行步骤s9;
11、s9:直接运行所述机械臂动作指令,返回步骤s2;
12、s10:所述机械臂请求所述临界区域的使用权;
13、s11:判断所述临界区域是否空闲;如空闲,将所述临界区域的使用权分配给所述机械臂;如已被占用,所述机械臂排队等待,所述临界区域解除占用空闲后,所述机械臂获得所述临界区域的使用权;
14、s12:执行所述机械臂动作指令,所述机械臂执行完所述机械臂动作指令后退出所述临界区域,通知所述临界区域空闲,返回自己的所述安全区域;返回步骤s2。
15、作为一种实施方式,所述第一控制方案包括步骤:
16、s41:当前所述机械臂获取规划权限,并判断当前所述机械臂是否获取规划权限成功,如是继续后续步骤,否则重复步骤s41;
17、s42:将获得所述规划权限的所述机械臂作为第一目标机械臂;
18、s43:判断所述第一目标机械臂的目标路径是否与相邻的其他机械臂的所述目标路径有重叠部;如否规划所述第一目标机械臂的所述目标路径和目标任务,在执行该目标路径和该目标任务后返回步骤s2;如是,将有所述重叠部的所述其他机械臂作为第二目标机械臂,直接继续步骤s44;所述目标路径包括自起始位置至目标位置的移动轨迹;
19、s44:判断所述第二目标机械臂是否处于规划未完成状态,并在所述第二目标机械臂处于解除所述规划未完成状态的状态后继续后续步骤;
20、s45:判断所述第二目标机械臂的目标路径是否对所述第一目标机械臂造成阻碍;如是对所述第二目标机械臂进行避障操作后继续步骤s46;否则,直接继续步骤s46;
21、s46:规划所述第一目标机械臂的所述目标路径和所述目标任务;
22、s47:调节所述第一目标机械臂的移动速度后执行所述目标路径和所述目标任务,返回步骤s2。
23、作为一种实施方式,所述预设规则应用于若干同步执行的线程。
24、作为一种实施方式,所述重叠部包括不同所述机械臂的所述移动轨迹加所述移动轨迹外周的第二安全距离范围的重叠部分。
25、作为一种实施方式,所述s44步骤进一步包括步骤:
26、s441:判断所述第二目标机械臂是否处于规划未完成状态,如是表明存在其他线程,进行步骤s442;否则直接进行步骤s45;
27、s442:将所述第一目标机械臂设置为规划未完成状态并释放所述规划权限并进入等待;
28、s443:所述第二目标机械臂在所述其他线程中解除所述规划未完成状态后唤醒所述第一目标机械臂,所述第一目标机械臂重新获取所述规划权限。
29、作为一种实施方式,所述s45步骤进一步包括步骤:
30、s451:判断所述第二目标机械臂的目标路径是否对所述第一目标机械臂造成阻碍;如是进行步骤s452;否则直接步骤s46;
31、s442:给所述第二目标机械臂插入避障移动指令,并将所述第一目标机械臂设置为规划未完成状态,释放所述规划权限;所述机械臂动作指令包括所述避障移动指令;
32、s443:所述第一目标机械臂进入等待;
33、s444:所述第二目标机械臂在开始执行所述避障移动指令时唤醒所述第一目标机械臂,所述第一目标机械臂重新获取所述规划权限,继续步骤s46。
34、作为一种实施方式,根据所述第一目标机械臂与所述第二目标机械臂的移动方向、所述目标路径的所述自起始位置和所述目标位置判断所述第二目标机械臂的所述目标路径是否对所述第一目标机械臂造成阻碍。
35、作为一种实施方式,当所述第一目标机械臂与所述第二目标机械臂同向移动,且当所述第二目标机械臂的所述起始位置位于所述第一目标机械臂的所述目标路径上,且所述第二目标机械臂的所述目标位置位于所述第一目标机械臂的所述目标路径上时;判断第二目标机械臂的所述目标路径对所述第一目标机械臂造成阻碍。
36、作为一种实施方式,当所述第一目标机械臂与所述第二目标机械臂相向移动,且当所述第二目标机械臂的所述目标位置位于或经过所述第一目标机械臂的所述目标路径时;判断所述第二目标机械臂的所述目标路径对所述第一目标机械臂造成阻碍。
37、作为一种实施方式,当所述第一目标机械臂与所述第二目标机械臂相向或同向移动,所述第一目标机械臂的所述起始位置位于所述第二目标机械臂的目标路径上时;报告异常。
38、本发明由于采用了以上技术方案,使其具有以下有益效果:
39、本发明中通过预设分区并根据目标路径与各分区的重叠状态对机械臂进行不同预设控制方案的控制;在部分控制方案简化对机械臂的控制,提高机械臂的控制效率;使得多机械臂的控制更为灵活,可有效提高机械臂执行任务的效率,且运行安全性和稳定性更强。通过规划控制模式的进入和退出,保证当存在机械臂的目标路径与相邻机械臂的所述安全区域有重叠时,对机械臂的规划不会与其他控制方案的机械臂造成阻碍,保证机械臂规划和任务执行的有效性。当选择第二控制方案运行所述机械臂动作指令时,机械臂请求所述临界区域的使用权,并在退出所述临界区域后通知所述临界区域空闲,可保证临界区域只存在一个机械臂移动和执行任务,防止机械臂之间发生碰撞,保证机械臂路径规划和任务执行的有效性。当选用第一控制方案运行所述机械臂动作指令时,通过判断所述当前目标机械臂的目标路径是否与所述上一目标机械臂之外的其余机械臂的目标路径有重叠部,以及之后的转移权限和避障步骤,可有效防止机械臂之间发生碰撞,保证各机械臂的有效运行。重叠部包括不同所述机械臂的所述移动轨迹加所述移动轨迹外周的第二安全距离范围的重叠部分,可有效保证机械臂之间不会发生碰撞。本发明的机械臂协作方法可应用于若干同步执行的线程,可实现一至多个线程同时执行所述第一控制方案的机械臂协作方法。在当第二目标机械臂的目标路径对所述第一目标机械臂造成阻碍时,给所述第二目标机械臂插入避障移动指令,使得第二目标机械臂可在新的线程中进行本方法的步骤并进行避障操作,在存在多个机械臂的情况下,可实现扩散性地对相邻机械臂进行阻碍判断和避障操作,同时降低了单个线程的程序复杂度,提高了系统整体的运行效率。本发明中设置了报错机制,在发现规划错误后可及时报错,保证路径规划的安全有效。
1.一种非实时系统下的分区式机械臂协作方法,包括步骤:
2.根据权利要求1所述的非实时系统下的分区式机械臂协作方法,其特征在于,所述第一控制方案包括步骤:
3.根据权利要求2所述的非实时系统下的分区式机械臂协作方法,其特征在于,所述预设规则应用于若干同步执行的线程。
4.根据权利要求2所述的非实时系统下的分区式机械臂协作方法,其特征在于,所述重叠部包括不同所述机械臂的所述移动轨迹加所述移动轨迹外周的第二安全距离范围的重叠部分。
5.根据权利要求2~4任一项所述的非实时系统下的分区式机械臂协作方法,其特征在于,所述s44步骤进一步包括步骤:
6.根据权利要求2~4任一项所述的非实时系统下的分区式机械臂协作方法,其特征在于,所述s45步骤进一步包括步骤:
7.根据权利要求2~4任一项所述的非实时系统下的分区式机械臂协作方法,其特征在于,根据所述第一目标机械臂与所述第二目标机械臂的移动方向、所述目标路径的所述自起始位置和所述目标位置判断所述第二目标机械臂的所述目标路径是否对所述第一目标机械臂造成阻碍。
8.根据权利要求2~4任一项所述的非实时系统下的分区式机械臂协作方法,其特征在于,当所述第一目标机械臂与所述第二目标机械臂同向移动,且当所述第二目标机械臂的所述起始位置位于所述第一目标机械臂的所述目标路径上,且所述第二目标机械臂的所述目标位置位于所述第一目标机械臂的所述目标路径上时;判断第二目标机械臂的所述目标路径对所述第一目标机械臂造成阻碍。
9.根据权利要求2~4任一项所述的非实时系统下的分区式机械臂协作方法,其特征在于,当所述第一目标机械臂与所述第二目标机械臂相向移动,且当所述第二目标机械臂的所述目标位置位于或经过所述第一目标机械臂的所述目标路径时;判断所述第二目标机械臂的所述目标路径对所述第一目标机械臂造成阻碍。
10.根据权利要求2~4任一项所述的非实时系统下的分区式机械臂协作方法,其特征在于,当所述第一目标机械臂与所述第二目标机械臂相向或同向移动,所述第一目标机械臂的所述起始位置位于所述第二目标机械臂的目标路径上时;报告异常。
