一种确定机器人安全线路的方法及装置转让专利

申请号 : CN201810883763.3

文献号 : CN110802587B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢永召宫明波赵德朋刘达

申请人 : 北京柏惠维康科技有限公司

摘要 :

本申请实施例提供了一种确定机器人安全线路的方法,属于人工智能技术领域。所述方法首先利用传感器的测量数据确定机械臂的作业场景实体空间,然后根据目标位置,将模拟轨迹与机械臂的作业场景实体空间不存在交集的移动线路确定为安全线路,本申请实施例能够模拟机械臂的移动线路,并将机械臂的场景实体点云和与移动线路对应的模拟轨迹点云统一到同一个坐标系后,通过判断场景实体点云和模拟轨迹点云的坐标集合是否存在交集,来确定机械臂在执行工作任务的过程中是否和其作业场景实体空间发生碰撞,进而确定机械臂的安全移动线路,在提高机器人完成工作任务的效率的同时,降低了操作人员的工作量。

权利要求 :

1.一种确定机器人安全线路的方法,其特征在于,包括:利用传感器得到场景表面点云,以场景表面点云中每个点在传感器坐标系中的坐标为起点,按照传感器的采集方向和延伸距离进行立体点云的生成,确定场景实体点云;根据场景实体点云,确定机械臂的作业场景实体空间中每个点在传感器坐标系中的坐标,根据机械臂的作业场景空间中每个点在所述传感器坐标系中的坐标,建立所述机械臂的作业场景实体空间;

根据目标位置,将模拟轨迹与机械臂的作业场景实体空间不存在交集的移动线路确定为安全线路;

其中,所述根据目标位置,将模拟轨迹与机械臂的作业场景实体空间不存在交集的移动线路确定为安全线路,具体为:S2000:根据目标位置及碰撞线路文档得到机械臂的移动线路;

S2100:根据机械臂的移动线路,得到机械臂的移动线路在机械臂坐标系下的模拟轨迹点云;

S2200:判断模拟轨迹点云和机械臂的场景实体点云是否存在交集,若是,则执行步骤S2300,若否,则执行步骤S2400;

S2300:将当前机械臂的移动线路写入碰撞线路文档,并返回步骤S2000;

S2400:将当前机械臂的移动线路确定为安全线路;

其中,碰撞线路文档用于记录与机械臂的作业场景实体空间发生碰撞的移动线路。

2.根据权利要求1所述的确定机器人安全线路的方法,其特征在于,所述延伸距离为预设值,或者为传感器的有效测量距离,或者为场景表面上每个点到一边界平面的距离。

3.根据权利要求1所述的确定机器人安全线路的方法,其特征在于,利用传感器得到场景表面点云包括:

判断处于传感器最佳测量范围外的场景表面上的点是否形成一个平面,若是,则以传感器最佳测量范围内的场景表面上的点作为场景表面点云,若否,则以传感器有效测量范围内的所有场景表面上的点作为场景表面点云。

4.根据权利要求1所述的确定机器人安全线路的方法,其特征在于,所述判断模拟轨迹点云和机械臂的场景实体点云是否存在交集包括:将模拟轨迹点云和机械臂的场景实体点云统一到同一个坐标系中;

当模拟轨迹点云和机械臂的场景实体点云存在相同的坐标时,确定模拟轨迹点云和机械臂的场景实体点云存在交集;

当模拟轨迹点云和机械臂的场景实体点云不存在相同的坐标时,确定模拟轨迹点云和机械臂场景实体空间不存在交集。

5.一种确定机器人安全线路的装置,其特征在于,包括:作业场景模块,用于利用传感器得到场景表面点云,以场景表面点云中每个点在传感器坐标系中的坐标为起点,按照传感器的采集方向和延伸距离进行立体点云的生成,确定场景实体点云;根据场景实体点云,确定机械臂的作业场景实体空间中每个点在传感器坐标系中的坐标,根据机械臂的作业场景空间中每个点在所述传感器坐标系中的坐标,建立所述机械臂的作业场景实体空间;并将确定的作业场景实体空间的数据发送给线路模块;

线路模块,用于在接收到所述作业场景模块的数据后,根据目标位置,将模拟轨迹与机械臂的作业场景实体空间不存在交集的移动线路确定为安全线路;

所述线路模块包括移动线路单元,模拟轨迹点云单元,判断单元,存储单元及安全线路单元,其中:

移动线路单元,与模拟轨迹点云单元及存储单元连接,用于根据目标位置及碰撞线路的数据得到机械臂的移动线路,并将得到的机械臂的移动线路数据发送给模拟轨迹点云单元;

模拟轨迹点云单元,与移动线路单元和判断单元连接,用于根据从移动线路单元接收到的所述机械臂的移动线路数据,得到机械臂的移动线路在机械臂坐标系下的模拟轨迹点云,并将得到的模拟轨迹点云数据及所述机械臂的移动线路数据发送给判断单元;

判断单元,和模拟轨迹点云单元,存储单元及安全线路单元连接,用于根据从模拟轨迹点云单元接收到的模拟轨迹点云数据,判断模拟轨迹点云和机械臂的场景实体点云是否存在交集,并将所述机械臂的移动线路数据及判断结果发送给存储单元和安全线路单元;

存储单元,和移动线路单元及判断单元连接,用于为移动线路单元提供碰撞线路的数据,及当从判断单元接收到模拟轨迹点云和机械臂的场景实体点云存在交集的判断结果时,将所述机械臂的移动线路确定为碰撞线路,并将碰撞线路的数据记录到存储单元中;

安全线路单元,和判断单元连接,用于当从判断单元接收到模拟轨迹点云和机械臂的场景实体点云不存在交集的判断结果时,将所述机械臂的移动线路确定为安全线路;

其中,碰撞线路文档用于记录与机械臂的作业场景实体空间发生碰撞的移动线路。

6.根据权利要求5所述的确定机器人安全线路的装置,其特征在于,所述延伸距离为预设值,或者为传感器的有效测量距离,或者为场景表面上每个点到一边界平面的距离。

7.根据权利要求5所述的确定机器人安全线路的装置,其特征在于,所述作业场景模块利用传感器得到场景表面点云的步骤包括:判断处于传感器最佳测量范围外的场景表面上的点是否形成一个平面,若是,则以传感器最佳测量范围内的场景表面上的点作为场景表面点云,若否,则以传感器有效测量范围内的所有场景表面上的点作为场景表面点云。

8.根据权利要求5 所述的确定机器人安全线路的装置,其特征在于,所述判断单元包括坐标统一单元和交集确定单元,其中:坐标统一单元,和交集确定单元连接,用于将模拟轨迹点云和机械臂的场景实体点云统一到同一个坐标系中,并将统一到同一个坐标系后的模拟轨迹点云坐标数据和机械臂的场景实体点云坐标数据发送给交集确定单元;

交集确定单元,和坐标统一单元连接,用于根据从坐标统一单元接收到的同一坐标系中的模拟轨迹点云坐标数据和机械臂的场景实体点云坐标数据,当模拟轨迹点云和机械臂的场景实体点云存在相同的坐标时,确定模拟轨迹点云和机械臂的场景实体点云存在交集,当模拟轨迹点云和机械臂的场景实体点云不存在相同的坐标时,确定模拟轨迹点云和机械臂场景实体空间不存在交集。

9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至4中任一项所述的确定机器人安全线路的方法。

10.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至4中任一项中所述的确定机器人安全线路的方法。

说明书 :

一种确定机器人安全线路的方法及装置

技术领域

[0001] 本申请实施例涉及人工智能技术领域,尤其涉及一种确定机器人安全线路的方法和装置。

背景技术

[0002] 随着机器人技术的自动化应用越来越广泛,越来越多的精密加工或者手术治疗都选择由机器人来完成。
[0003] 为了避免发生安全事故,以保证机器人在作业场景中安全运行,目前机器人的机械臂在运行过程中,机械臂基座位置与目标位置是相对固定的,且机械臂运行时的移动线
路是事先人为规定好了的。
[0004] 但是上述处理方式只适用于待加工物体的加工尺寸相对固定或者量产待加工物体的情况,当由机器人进行非固定尺寸的加工或者执行手术时,就存在很多变数,重复率较
低,也就没有任何一条移动线路能够使机械臂安全地执行各种各样的任务,且针对每一次
任务,都需要人工事先为机器人的机械臂找到安全的移动线路,大大降低了机器人完成工
作任务的效率,且增加了操作人员的工作量。

发明内容

[0005] 有鉴于此,本申请实施例所解决的技术问题之一在于提供一种确定机器人安全线路的方法和装置,该方法和装置在不需要人工事先为机械臂找到安全线路的情况下,提高
了机器人完成工作任务的效率,且降低了操作人员的工作量。
[0006] 第一方面,本申请实施例提供了一种确定机器人安全线路的方法,包括:
[0007] 利用传感器的测量数据确定机械臂的作业场景实体空间;
[0008] 根据目标位置,将模拟轨迹与机械臂的作业场景实体空间不存在交集的移动线路确定为安全线路。
[0009] 可选地,所述利用传感器的测量数据确定机械臂的作业场景实体空间包括:
[0010] 利用传感器得到场景表面点云,并根据场景表面点云、传感器的采集方向及延伸距离,建立机械臂的作业场景实体空间。
[0011] 可选地,所述根据场景表面点云、传感器的采集方向及延伸距离,建立机械臂的作业场景实体空间的步骤为:
[0012] 以场景表面点云中每个点在传感器坐标系中的坐标为起点,按照传感器的采集方向和延伸距离进行立体点云的生成,得到场景实体点云。
[0013] 可选地,所述延伸距离为预设值,或者为传感器的有效测量距离,或者为场景表面上每个点到一边界平面的距离。
[0014] 可选地,利用传感器得到场景表面点云包括:判断处于传感器最佳测量范围外的场景表面上的点是否形成一个平面,若是,则以传感器最佳测量范围内的场景表面上的点
作为场景表面点云,若否,则以传感器有效测量范围内的所有场景表面上的点作为场景表
面点云。
[0015] 可选地,所述根据目标位置,将模拟轨迹与机械臂的作业场景实体空间不存在交集的移动线路确定为安全线路包括:
[0016] S2000:根据目标位置及碰撞线路文档得到机械臂的移动线路;
[0017] S2100:根据机械臂的移动线路,得到机械臂的移动线路在机械臂坐标系下的模拟轨迹点云;
[0018] S2200:判断模拟轨迹点云和机械臂的场景实体点云是否存在交集,若是,则执行步骤S2300,若否,则执行步骤S2400;
[0019] S2300:将当前机械臂的移动线路写入碰撞线路文档,并返回步骤S2000;
[0020] S2400:将当前机械臂的移动线路确定为安全线路;
[0021] 其中,碰撞线路文档用于记录与机械臂的作业场景实体空间发生碰撞的移动线路。
[0022] 可选地,所述判断模拟轨迹点云和机械臂的场景实体点云是否存在交集包括:
[0023] 将模拟轨迹点云和机械臂的场景实体点云统一到同一个坐标系中;
[0024] 当模拟轨迹点云和机械臂的场景实体点云存在相同的坐标时,确定模拟轨迹点云和机械臂的场景实体点云存在交集;
[0025] 当模拟轨迹点云和机械臂的场景实体点云不存在相同的坐标时,确定模拟轨迹点云和机械臂场景实体空间不存在交集。
[0026] 第二方面,本申请实施例还提供了一种确定机器人安全线路的装置,包括:
[0027] 作业场景模块,用于利用传感器的测量数据确定机械臂的作业场景实体空间,并将确定的作业场景实体空间的数据发送给线路模块;
[0028] 线路模块,用于在接收到所述作业场景模块的数据后,根据目标位置,将模拟轨迹与机械臂的作业场景实体空间不存在交集的移动线路确定为安全线路。
[0029] 本申请实施例提供的确定机器人安全线路的装置在确定机械臂的安全线路的过程中,还需要利用传感器得到的场景表面点云来确定机械臂的作业场景实体空间,以及根
据目标位置,对与机械臂的移动线路对应的模拟轨迹和机械臂的作业场景实体空间是否存
在交集进行判断等,具体为:
[0030] 可选地,所述作业场景模块利用传感器的测量数据确定机械臂的作业场景实体空间的步骤包括:
[0031] 利用传感器得到场景表面点云,并根据场景表面点云、传感器的采集方向及延伸距离,建立机械臂的作业场景实体空间。
[0032] 可选地,所述作业场景模块根据场景表面点云、传感器的采集方向及延伸距离,建立机械臂的作业场景实体空间的步骤为:
[0033] 以场景表面点云中每个点在传感器坐标系中的坐标为起点,按照传感器的采集方向和延伸距离进行立体点云的生成,得到场景实体点云。
[0034] 可选地,所述延伸距离为预设值,或者为传感器的有效测量距离,或者为场景表面上每个点到一边界平面的距离。
[0035] 可选地,所述作业场景模块利用传感器得到场景表面点云的步骤包括:
[0036] 判断处于传感器最佳测量范围外的场景表面上的点是否形成一个平面,若是,则以传感器最佳测量范围内的场景表面上的点作为场景表面点云,若否,则以传感器有效测
量范围内的所有场景表面上的点作为场景表面点云。
[0037] 可选地,所述线路模块包括移动线路单元,模拟轨迹点云单元,判断单元,存储单元及安全线路单元,其中:
[0038] 移动线路单元,与模拟轨迹点云单元及存储单元连接,用于根据目标位置及碰撞线路的数据得到机械臂的移动线路,并将得到的机械臂的移动线路数据发送给模拟轨迹点
云单元;
[0039] 模拟轨迹点云单元,与移动线路单元和判断单元连接,用于根据从移动线路单元接收到的所述机械臂的移动线路数据,得到机械臂的移动线路在机械臂坐标系下的模拟轨
迹点云,并将得到的模拟轨迹点云数据及所述机械臂的移动线路数据发送给判断单元;
[0040] 判断单元,和模拟轨迹点云单元,存储单元及安全线路单元连接,用于根据从模拟轨迹点云单元接收到的模拟轨迹点云数据,判断模拟轨迹点云和机械臂的场景实体点云是
否存在交集,并将所述机械臂的移动线路数据及判断结果发送给存储单元和安全线路单
元;
[0041] 存储单元,和移动线路单元及判断单元连接,用于为移动线路单元提供碰撞线路的数据,及当从判断单元接收到模拟轨迹点云和机械臂的场景实体点云存在交集的判断结
果时,将所述机械臂的移动线路确定为碰撞线路,并将碰撞线路的数据记录到存储单元中;
[0042] 安全线路单元,和判断单元连接,用于当从判断单元接收到模拟轨迹点云和机械臂的场景实体点云不存在交集的判断结果时,将所述机械臂的移动线路确定为安全线路;
[0043] 其中,碰撞线路文档用于记录与机械臂的作业场景实体空间发生碰撞的移动线路。
[0044] 可选地,所述判断单元进一步包括坐标统一单元和交集确定单元,其中:
[0045] 坐标统一单元,和交集确定单元连接,用于将模拟轨迹点云和机械臂的场景实体点云统一到同一个坐标系中,并将统一到同一个坐标系后的模拟轨迹点云坐标数据和机械
臂的场景实体点云坐标数据发送给交集确定单元;
[0046] 交集确定单元,和坐标统一单元连接,用于根据从坐标统一单元接收到的同一坐标系中的模拟轨迹点云坐标数据和机械臂的场景实体点云坐标数据,当判断模拟轨迹点云
和机械臂的场景实体点云存在相同的坐标时,确定模拟轨迹点云和机械臂的场景实体点云
存在交集,当判断模拟轨迹点云和机械臂的场景实体点云不存在相同的坐标时,确定模拟
轨迹点云和机械臂场景实体空间不存在交集。
[0047] 第三方面,本申请实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述所述的确定机器人安全线路的方法。
[0048] 第四方面,本申请实施例还提供了一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器通过所述计算机程序执行
上述所述的确定机器人安全线路的方法。
[0049] 由以上技术方案可见,本申请实施例能够事先对机械臂的移动线路进行模拟,并将机械臂的场景实体点云和模拟轨迹点云统一到同一个坐标系后,通过判断场景实体点云
和模拟轨迹点云的坐标集合是否存在交集,来确定机械臂在执行工作任务的过程中是否和
作业场景实体空间发生碰撞,进而为机械臂找到安全的移动线路,在提高机器人完成工作
任务的效率的同时,降低了操作人员的工作量。

附图说明

[0050] 为了更清楚地说明本申请实施例或已有技术中的技术方案,下面将对实施例或已有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获
得其他的附图。
[0051] 图1为本申请实施例中一种确定机器人安全线路的方法流程示意图;
[0052] 图2为本申请实施例步骤S200的详细方法步骤示意图;
[0053] 图3为本申请实施例中一种确定机器人安全线路的装置结构示意图;
[0054] 图3A为本申请实施例图3中线路模块的结构示意图;
[0055] 图4为本申请实施例中一种电子装置的结构示意图;
[0056] 图5为本申请实施例中提供的一种终端设备的结构示意图。

具体实施方式

[0057] 为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实
施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施
例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
[0058] 基于已有技术中,当机器人执行非固定尺寸的加工任务或者执行手术时,由于没有任何一条移动线路能够满足机器人执行各种各样的任务的安全性,因此针对每一次任
务,都需要人工事先为机器人的机械臂找出安全的移动线路而导致的降低了机器人完成工
作任务的效率,且增加了操作人员的工作量的问题,本申请实施例提供了一种确定机器人
安全线路的方法,请参阅图1,包括步骤S100~S200,具体地:
[0059] S100:利用传感器的测量数据确定机械臂的作业场景实体空间。
[0060] 不管是机器人进行加工物体的操作还是执行手术的操作,都需要在一个实际场景中进行,为了在该实际场景中为机器人的机械臂找出加工物体或者执行手术等所需的安全
线路,首先需要确定机械臂的作业场景实体空间,本申请利用传感器的测量数据来确定机
械臂的作业场景实体空间。
[0061] 具体地,利用传感器的测量数据确定机械臂的作业场景实体空间的步骤可以为:利用传感器得到场景表面点云,并根据场景表面点云、传感器的采集方向及延伸距离,建立
机械臂的作业场景实体空间。
[0062] 需要说明的是,传感器一般具有最佳测量范围和有效测量范围,由于最佳测量范围内的测量数据精度极高,一般会将目标物体置于最佳测量范围内;处在最佳测量范围外,
有效测量范围内的部分,虽然可以得到测量数据,但是测量数据的精度一般;处于有效测量
范围外的部分则无法得到测量数据。
[0063] 进一步地,本申请实施例中,利用传感器得到场景表面点云包括:判断处于传感器最佳测量范围外的场景表面上的点是否形成一个平面,若是,则以传感器最佳测量范围内
的场景表面上的点作为场景表面点云,若否,则以传感器有效测量范围内的所有场景表面
上的点作为场景表面点云。
[0064] 进一步地,本申请实施例中的延伸距离为预设值,或者为传感器的有效测量距离(如有效测量范围内的最大测量距离),或者为场景表面上每个点到一边界平面的距离。本
申请对设置延伸距离的方式不作具体限定,只要能够与场景表面点云结合,建立机械臂的
作业场景实体空间即可。
[0065] 具体在实际操作中,根据场景表面点云、传感器的采集方向及延伸距离,建立机械臂的作业场景实体空间的具体步骤为:以场景表面点云中每个点在传感器坐标系中的坐标
为起点,按照传感器的采集方向和延伸距离进行立体点云的生成,得到场景实体点云。得到
场景实体点云之后,就得到了机械臂的作业场景实体空间中每个点在传感器坐标系下的坐
标,从而可以根据机械臂的作业场景实体空间中每个点在传感器坐标系下的坐标,建立机
械臂的作业场景实体空间。
[0066] 更具体地,由于机械臂的作业场景下包含了待加工物,亦或患者等目标物体,也包含了加工平台,手术床等需要机械臂规避的障碍物体,因此可以首先利用传感器确定场景
表面(即所有物体朝向传感器的表面)与传感器之间的位置关系,例如,可以在场景表面上
取点,形成场景表面点云,进而通过确定场景表面上每个点与传感器的位置关系,得到场景
表面点云中每个点在传感器坐标系下的坐标。加之传感器的采集方向和延伸距离可以在传
感器坐标系中得以体现(如传感器的采集方向和延伸距离可以组成一个矢量),因此就可以
将场景表面点云中的每个点,按照传感器的采集方向和延伸距离进行延伸,生成特定方向
上和特定长度内的点,这些点就是机械臂的作业场景实体空间的立体点云,组成了机械臂
的作业场景实体空间。
[0067] 需要说明的是,由于场景表面点云中每个点在传感器坐标系中都有各自的坐标,因此以场景表面点云中每个点在传感器坐标系中的坐标为起点,按照传感器的采集方向和
延伸距离生成的特定方向上和特定长度内的点在传感器坐标系下也有各自的坐标,即可以
得到机械臂的作业场景实体空间中每个点在传感器坐标系中的坐标。
[0068] 实际操作中,可以利用激光传感器,红外传感器,电磁传感器,光学传感器等能够测量物体与传感器之间距离的传感器来确定机械臂的作业场景实体空间,本申请实施例以
利用光学传感器中的双目摄像头确定机械臂的作业场景实体空间为例进行详细说明。
[0069] 首先根据双目测距原理,获取场景表面上每个点到双目摄像头中心的距离,以得到场景表面点云中每个点在双目摄像头所拥有的传感器坐标系中的坐标。
[0070] 由于场景表面点云只能表示出障碍物的一部分,场景表面之下的部分同样可能会与机械臂发生碰撞,因此为了使机械臂有效规避障碍物,还需要根据双目摄像头的图像采
集方向(如双目摄像头的中心轴线方向)、延伸距离,以及场景表面点云得到场景实体点云。
[0071] 在获取场景实体点云的过程中,延伸距离用于与场景表面点云相结合,建立场景实体点云,延伸距离的大小可以等于双目摄像头的有效采集距离,也可以为延伸距离设置
一个具体数值,还可以设置一个垂直于双目摄像头的图像采集方向的边界平面,将场景表
面点云中每个点到这个边界平面的距离作为每个点各自的延伸距离,总之设置延伸距离的
方式很多,只要能够与场景表面点云相结合,建立场景实体点云即可。
[0072] 由于双目摄像头的图像采集方向和延伸距离可以在传感器坐标系中得以体现(双目摄像头的图像采集方向和延伸距离可以组成一个矢量),因此可以以场景表面点云中每
个点在双目摄像头所拥有的传感器坐标系中的坐标为起点,根据双目摄像头的图像采集方
向和延伸距离进行延伸,得到特定方向上和特定长度内的点的坐标,这些点就组成了场景
实体点云,加之每个点在传感器坐标系中都有各自的坐标,因此也就得到了场景实体点云
中每个点在传感器坐标系中的坐标。
[0073] S200:根据目标位置,将模拟轨迹与机械臂的作业场景实体空间不存在交集的移动线路确定为安全线路。
[0074] 为了让机器人完成工作任务,需要使机器人的机械臂安全到达目标位置,但是并不是每一条能够到达目标位置的移动线路都是安全线路,在步骤S200中采用根据移动线路
的模拟轨迹与机械臂的作业场景实体空间是否存在交集的方式来判断机械臂的移动线路
是否安全。由于模拟轨迹是模拟机械臂在执行工作任务过程中运动的轨迹,而在机械臂坐
标系下能够生成与该模拟轨迹对应的点云,也就是说,可以得到模拟轨迹中每个点在机械
臂坐标系下的坐标,而在上述实施例中已经得到了机械臂的场景实体点云中每个点在传感
器坐标系下的坐标,加之利用已有技术可以得到传感器坐标系和机械臂坐标系之间的转换
关系,因此可以根据模拟轨迹中每个点在机械臂坐标系下的坐标以及场景实体点云中每个
点在传感器坐标系下的坐标,利用传感器坐标系和机械臂坐标系之间的转换关系,判断模
拟轨迹与机械臂的作业场景实体空间是否存在交集,即判断模拟轨迹点云和机械臂的场景
实体点云是否存在交集。
[0075] 在实际操作中,判断模拟轨迹点云和机械臂的场景实体点云是否存在交集包括:
[0076] 将模拟轨迹点云和机械臂的场景实体点云统一到同一个坐标系中;
[0077] 当模拟轨迹点云和机械臂的场景实体点云存在相同的坐标时,确定模拟轨迹点云和机械臂的场景实体点云存在交集;
[0078] 当模拟轨迹点云和机械臂的场景实体点云不存在相同的坐标时,确定模拟轨迹点云和机械臂的场景实体点云不存在交集。
[0079] 由于在上述实施例中已经得到了模拟轨迹点云中每个点在机械臂坐标系下的坐标,以及机械臂的场景实体点云中每个点在传感器坐标系下的坐标,根据利用已有技术得
到的机械臂坐标系和传感器坐标系之间的转换关系,可以将模拟轨迹点云和机械臂的场景
实体点云统一到同一个坐标系中,举例来说,可以将模拟轨迹点云中的每个点与机械臂的
场景实体点云中的每个点统一到机械臂坐标系下,具体操作为:根据机械臂的场景实体点
云的每个点在传感器坐标系下的坐标,以及机械臂坐标系与传感器坐标系之间的转换关
系,得到机械臂的场景实体点云中的每个点在机械臂坐标系下的坐标,进而机械臂的场景
实体点云中的每个点与模拟轨迹点云中的每个点在机械臂坐标系下的坐标均已确定,因此
只需要判断模拟轨迹点云和机械臂的场景实体点云在机械臂坐标系下是否存在相同的坐
标就可以确定模拟轨迹点云和机械臂的场景实体点云是否存在交集,将模拟轨迹点云中的
每个点与机械臂的场景实体点云中的每个点统一到传感器坐标下同样如此,此处不再赘
述。
[0080] 确定模拟轨迹点云和机械臂的场景实体点云是否存在交集后,即确定模拟轨迹与机械臂的作业场景实体空间是否存在交集后,就可以根据目标位置,将模拟轨迹与机械臂
的作业场景实体空间不存在交集的移动线路确定为安全线路。
[0081] 如图2所示,根据目标位置,将模拟轨迹与机械臂的作业场景的实体空间不存在交集的移动线路确定为安全线路包括:
[0082] S2000:根据目标位置及碰撞线路文档得到机械臂的移动线路。
[0083] 在步骤S2000中,机械臂自身程序会根据目标位置求解出一条满足限制条件(如以移动线路必须经过某个点为限制条件)的移动线路(此过程在机械臂的下位机上进行)。
[0084] 需要说明的是,使机械臂到达同一目标位置的移动线路有很多,机械臂自身程序能够根据机械臂自身的特定结构及限制条件求解出移动线路,在满足限制条件的情况下,
机械臂自身程序会输出一个最优线路(如输出一条使机械臂到达目标位置的最短线路),由
于下位机的各种参数是机械臂的生产厂家设定好的,无法更改,机械臂自身程序输出的移
动线路是否安全是在机械臂的上位机上运行的。
[0085] 本申请实施例将机械臂自身程序输出的移动线路不与碰撞线路文档中的移动线路相同作为限制条件,其中,碰撞线路文档用于记录机械臂自身程序输出的移动线路中,与
机械臂的作业场景实体空间发生碰撞的移动线路。碰撞线路文档最初没有任何记录,经过
机械臂的上位机对机械臂自身程序输出的移动线路是否安全的判断步骤后,会将与机械臂
的作业场景实体空间发生碰撞的移动线路记录到碰撞线路文档中。
[0086] S2100:根据机械臂的移动线路,得到机械臂的移动线路在机械臂坐标系下的模拟轨迹点云。
[0087] 步骤S2100根据步骤S2000中得到的移动线路在机械臂坐标系下的坐标来确定移动线路在机械臂坐标系下的模拟轨迹点云,该过程中,由于机械臂的尺寸,结构、各个关节
之间的位置关系,以及机械臂上各个点在机械臂坐标系中的坐标均可以得到,加之又获得
了机械臂的移动路线,因此根据上述信息可以模拟出机械臂上各个点的移动轨迹,从而得
到移动线路在机械臂坐标系下的模拟轨迹点云,并且可以获得模拟轨迹点云中每个点在机
械臂坐标系下的坐标。
[0088] S2200:判断模拟轨迹点云和机械臂的场景实体点云是否存在交集,若是,则执行步骤S2300,若否,则执行步骤S2400;
[0089] S2300:将当前机械臂的移动线路写入碰撞线路文档,并返回步骤S2000;
[0090] S2400:将当前机械臂的移动线路确定为安全线路。
[0091] 由于在上述实施例中已经确定了模拟轨迹点云和机械臂的场景实体点云是否存在交集。若存在交集,则说明当前得到的移动线路会使机械臂在移动过程中与机械臂的作
业场景实体空间发生碰撞,因此当前的移动线路就不是一个安全线路,可以将当前移动线
路记录到碰撞线路文档中,并返回步骤S2000重新计算一条新的移动线路;若不存在交集,
则说明当前得到的移动线路不会使机械臂在移动过程中与机械臂的作业场景实体空间发
生碰撞,可以将当前移动线路作为机械臂的安全线路在实际操作中使用。
[0092] 本申请实施例提供的一种确定机器人安全线路的方法,不需要人工事先为机器人的机械臂找到安全的移动线路,在提高机器人完成工作任务的效率的同时,降低了操作人
员的工作量。
[0093] 基于同样的发明构思,如图3所示,本申请实施例还提供了一种确定机器人安全线路的装置,包括:
[0094] 作业场景模块301,用于利用传感器的测量数据确定机械臂的作业场景实体空间,并将确定的作业场景实体空间的数据发送给线路模块;
[0095] 线路模块302,用于在接收到作业场景模块的数据后,根据目标位置,将模拟轨迹与机械臂的作业场景实体空间不存在交集的移动线路确定为安全线路。
[0096] 本申请实施例中,作业场景模块301,线路模块302用于执行上述方法实施例中对应的步骤。
[0097] 在一示例性实施例中,作业场景模块301利用传感器的测量数据确定机械臂的作业场景实体空间的步骤包括:
[0098] 利用传感器得到场景表面点云,并根据场景表面点云、传感器的采集方向及延伸距离,建立机械臂的作业场景实体空间。
[0099] 需要说明的是,传感器一般具有最佳测量范围和有效测量范围,由于最佳测量范围内的测量数据精度极高,一般会将目标物体置于最佳测量范围内;处在最佳测量范围外,
有效测量范围内的部分,虽然可以得到测量数据,但是测量数据的精度一般;处于有效测量
范围外的部分则无法得到测量数据。
[0100] 基于上述的传感器具有的最佳测量范围和有效测量范围,在一示例性实施例中,作业场景模块301利用传感器得到场景表面点云的过程包括:
[0101] 判断处于传感器最佳测量范围外的场景表面上的点是否形成一个平面,若是,则以传感器最佳测量范围内的场景表面上的点作为场景表面点云,若否,则以传感器有效测
量范围内的所有场景表面上的点作为场景表面点云。
[0102] 实际操作中,确认机器人的安全线路的装置中提到的延伸距离可以为预设值,或者为传感器的有效测量距离(如有效测量范围内的最大测量距离),或者为场景表面上每个
点到一边界平面的距离。本申请实施例对设置延伸距离的方式不作具体限定,只要能够与
场景表面点云结合,建立机械臂的作业场景实体空间即可。
[0103] 在一示例性实施例中,作业场景模块301根据场景表面点云、传感器的采集方向及延伸距离,建立机械臂的作业场景实体空间的步骤为:
[0104] 以场景表面点云中每个点在传感器坐标系中的坐标为起点,按照传感器的采集方向和延伸距离进行立体点云的生成,得到场景实体点云。得到场景实体点云之后,就得到了
机械臂的作业场景实体空间中每个点在传感器坐标系下的坐标,从而可以根据机械臂的作
业场景实体空间中每个点在传感器坐标系下的坐标,建立机械臂的作业场景实体空间。
[0105] 为了让机器人完成工作任务,需要使机器人的机械臂安全到达目标位置,但是并不是每一条能够到达目标位置的移动线路都是安全线路,线路模块302根据移动线路的模
拟轨迹与机械臂的作业场景实体空间是否存在交集来确定机械臂的移动线路是否安全。由
于模拟轨迹是模拟机械臂在执行工作任务过程中运动的轨迹,而在机械臂坐标系下能够生
成与该模拟轨迹对应的点云,也就是说,可以得到模拟轨迹中每个点在机械臂坐标系下的
坐标,而在上述实施例中已经得到了机械臂的场景实体点云中每个点在传感器坐标系下的
坐标,加之利用已有技术可以得到传感器坐标系和机械臂坐标系之间的转换关系,因此可
以根据模拟轨迹中每个点在机械臂坐标系下的坐标以及场景实体点云中每个点在传感器
坐标系下的坐标,利用传感器坐标系和机械臂坐标系之间的转换关系,判断模拟轨迹与机
械臂的作业场景实体空间是否存在交集,即判断模拟轨迹点云和机械臂的场景实体点云是
否存在交集,从而线路模块302可根据模拟轨迹点云和机械臂的场景实体点云是否存在交
集来确定机械臂的移动线路是否安全。
[0106] 在一示例性实施例中,如图3A所示,线路模块302还包括移动线路单元3301,模拟轨迹点云单元3302,判断单元3303,存储单元3304及安全线路单元3305,其中:
[0107] 移动线路单元3301,与模拟轨迹点云单元3302及存储单元3304连接,用于根据目标位置及碰撞线路的数据得到机械臂的移动线路,并将得到的机械臂的移动线路数据发送
给模拟轨迹点云单元3302;
[0108] 模拟轨迹点云单元3302,与移动线路单元3301和判断单元3303连接,用于根据从移动线路单元3301接收到的所述机械臂的移动线路数据,得到机械臂的移动线路在机械臂
坐标系下的模拟轨迹点云,并将得到的模拟轨迹点云数据及所述机械臂的移动线路数据发
送给判断单元3303;
[0109] 判断单元3303,和模拟轨迹点云单元3302,存储单元3304及安全线路单元3305连接,用于根据从模拟轨迹点云单元3302接收到的模拟轨迹点云数据,判断模拟轨迹点云和
机械臂的场景实体点云是否存在交集,并将所述机械臂的移动线路数据及判断结果发送给
存储单元3304和安全线路单元3305;
[0110] 存储单元3304,和移动线路单元3301及判断单元3303连接,用于为移动线路单元3301提供碰撞线路的数据,及当从判断单元3303接收到模拟轨迹点云和机械臂的场景实体
点云存在交集的判断结果时,将所述机械臂的移动线路确定为碰撞线路,并将碰撞线路的
数据记录到存储单元3304中;
[0111] 安全线路单元3305,和判断单元3303连接,用于当从判断单元3303接收到模拟轨迹点云和机械臂的场景实体点云不存在交集的判断结果时,将所述机械臂的移动线路确定
为安全线路。
[0112] 在一示例性实施例中,线路模块302的判断单元3303进一步包括:
[0113] 坐标统一单元和交集确定单元,其中:
[0114] 坐标统一单元,和交集确定单元连接,用于将模拟轨迹点云和机械臂的场景实体点云统一到同一个坐标系中,并将统一到同一个坐标系后的模拟轨迹点云坐标数据和机械
臂的场景实体点云坐标数据发送给交集确定单元;
[0115] 交集确定单元,和坐标统一单元连接,用于根据从坐标统一单元接收到的同一坐标系中的模拟轨迹点云坐标数据和机械臂的场景实体点云坐标数据,当模拟轨迹点云和机
械臂的场景实体点云存在相同的坐标时,确定模拟轨迹点云和机械臂的场景实体点云存在
交集,当模拟轨迹点云和机械臂的场景实体点云不存在相同的坐标时,确定模拟轨迹点云
和机械臂场景实体空间不存在交集。
[0116] 本申请实施例还提供了一种存储介质,包括存储的程序,其中,所述程序运行时执行上述实施例中所述的确定机器人安全线路的方法。
[0117] 本申请实施例还提供了一种电子装置,如图4所示,电子装置40包括存储器402,处理器401及存储在所述存储器402上并可在所述处理器401上运行的计算机程序,所述处理
器401通过所述计算机程序执行上述实施例中所述的确定机器人安全线路的方法。
[0118] 在一示例性实施例中,上述处理器401在利用传感器的测量数据确定机械臂的作业场景实体空间时,可被配置为:
[0119] 利用传感器得到场景表面点云,并根据场景表面点云、传感器的采集方向及延伸距离,建立机械臂的作业场景实体空间。
[0120] 在一示例性实施例中,上述处理器401在根据场景表面点云、传感器的采集方向及延伸距离,建立机械臂的作业场景实体空间时,可被配置为:
[0121] 以场景表面点云中每个点在传感器坐标系中的坐标为起点,按照传感器的采集方向和延伸距离进行立体点云的生成,得到场景实体点云。
[0122] 在一示例性实施例中,上述处理器401在利用传感器得到场景表面点云时,可被配置为:
[0123] 判断处于传感器最佳测量范围外的场景表面上的点是否形成一个平面,若是,则以传感器最佳测量范围内的场景表面上的点作为场景表面点云,若否,则以传感器有效测
量范围内的所有场景表面上的点作为场景表面点云。
[0124] 在一示例性实施例中,上述处理器401在根据目标位置,将模拟轨迹与机械臂的作业场景实体空间不存在交集的移动线路确定为安全线路时,可被配置为执行以下步骤:
[0125] S2000:根据目标位置及碰撞线路文档得到机械臂的移动线路;
[0126] S2100:根据机械臂的移动线路,得到机械臂的移动线路在机械臂坐标系下的模拟轨迹点云;
[0127] S2200:判断模拟轨迹点云和机械臂的场景实体点云是否存在交集,若是,则执行步骤S2300,若否,则执行步骤S2400;
[0128] S2300:将当前机械臂的移动线路写入碰撞线路文档,并返回步骤S2000;
[0129] S2400:将当前机械臂的移动线路确定为安全线路;
[0130] 其中,碰撞线路文档用于记录与机械臂的作业场景实体空间发生碰撞的移动线路。
[0131] 在一示例性实施例中,上述处理器401在判断模拟轨迹点云和机械臂的场景实体点云是否存在交集时,可被配置为:
[0132] 将模拟轨迹点云和机械臂的场景实体点云统一到同一个坐标系中;
[0133] 当模拟轨迹点云和机械臂的场景实体点云存在相同的坐标时,确定模拟轨迹点云和机械臂的场景实体点云存在交集;
[0134] 当模拟轨迹点云和机械臂的场景实体点云不存在相同的坐标时,确定模拟轨迹点云和机械臂场景实体空间不存在交集。
[0135] 本申请实施例提供的电子装置可以是一个如图5所示的终端设备,该终端设备50可以是智能手机、平板电脑等,该终端设备50用于执行上述图1~图2对应的实施例中所描
述的确定机器人安全线路的方法。
[0136] 终端设备50可以包括以下一个或多个组件:处理组件501,存储器502,电源组件503,多媒体组件504,音频组件505,输入/输出(I/O)的接口505,传感器组件507,以及通信
组件508。
[0137] 处理组件501通常控制终端设备50的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件501可以包括一个或多个处理器5011来执行
指令,以完成上述的方法的全部或部分步骤。此外,处理组件501可以包括一个或多个模块,
便于处理组件501和其他组件之间的交互。例如,处理组件501可以包括多媒体模块,以方便
多媒体组件504和处理组件501之间的交互。
[0138] 存储器502被配置为存储各种类型的数据以支持在终端设备50的操作。这些数据的示例包括用于在终端设备50上操作的任何应用程序或方法的指令,联系人数据,电话簿
数据,消息,图片,视频等。存储器502可以由任何类型的易失性或非易失性存储设备或者它
们的组合实现,如静态随机存取存储器(英文全称:Static Random Access Memory,英文简
称:SRAM),电可擦除可编程只读存储器(英文全称:Electrically Erasable Programmable 
Read Only Memory,英文简称:EEPROM),可擦除可编程只读存储器(英文全称:Erasable 
Programmable Read Only Memory,英文简称:EPROM),可编程只读存储器(英文全称:
Programmable Read Only Memory,英文简称:PROM),只读存储器(英文全称:Read Only 
Memory,英文简称:ROM),磁存储器,快闪存储器,磁盘或光盘。
[0139] 电源组件503为终端设备50的各种组件提供电力。电源组件503可以包括电源管理系统,一个或多个电源,及其他与为终端设备50生成、管理和分配电力相关联的组件。
[0140] 多媒体组件504包括在终端设备50和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(英文全称:Liquid Crystal Display,英文简称:
LCD)和触摸面板(英文全称:Touch Panel,英文简称:TP)。如果屏幕包括触摸面板,屏幕可
以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以
感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而
且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件504包括
一个前置摄像头和/或后置摄像头。当终端设备50处于操作模式,如拍摄模式或视频模式
时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像
头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0141] 音频组件505被配置为输出和/或输入音频信号。例如,音频组件505包括一个麦克风(英文全称:Microphone,英文简称:MIC),当终端设备50处于操作模式,如呼叫模式、记录
模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进
一步存储在存储器502或经由通信组件508发送。在一些实施例中,音频组件505还包括一个
扬声器,用于输出音频信号。
[0142] I/O接口505为处理组件501和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁
定按钮。
[0143] 传感器组件507包括一个或多个传感器,用于为终端设备50提供各个方面的状态评估。例如,传感器组件507可以检测到终端设备50的打开/关闭状态,组件的相对定位,例
如组件为终端设备50的显示器和小键盘,传感器组件507还可以检测终端设备50或终端设
备50一个组件的位置改变,用户与终端设备50接触的存在或不存在,终端设备50方位或加
速/减速和终端设备50的温度变化。传感器组件507可以包括接近传感器,被配置用来在没
有任何的物理接触时检测附近物体的存在。传感器组件507还可以包括光传感器,如互补金
属氧化物半导体(英文全称:Complementary Metal Oxide Semiconductor,英文简称:
CMOS)或电荷耦合元件(英文全称:Charge Coupled Device,英文简称:CCD)图像传感器,用
于在成像应用中使用。在一些实施例中,该传感器组件507还可以包括加速度传感器,陀螺
仪传感器,磁传感器,压力传感器或温度传感器。
[0144] 通信组件508被配置为便于终端设备50和其他设备之间有线或无线方式的通信。终端设备50可以接入基于通信标准的无线网络,如无线保真(英文全称:Wireless‑
Fidelity,英文简称:WiFi),2G或3G,或它们的组合。在一个示例性实施例中,通信组件508
经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施
例中,通信组件508还包括近场通信(英文全称:Near Field Communication,英文简称:
NFC)模块,以促进短程通信。例如,该NFC模块可基于射频识别(英文全称:Radio Frequency 
Identification,英文简称:RFID)技术,红外数据协会(英文全称:Infrared Data 
Association,英文简称:IrDA)技术,超宽带(英文全称:Ultra Wideband,英文简称:UWB)技
术,蓝牙(英文全称:Bluetooth,英文简称:BT)技术和其他技术来实现。
[0145] 在示例性实施例中,终端设备50可以被一个或多个应用专用集成电路(英文全称:Application Specific Integrated Circuit,英文简称:ASIC)、数字信号处理器(英文全
称:Digital Signal Processing,英文简称:DSP)、数字信号处理设备(英文全称:Digital 
Signal Processing Device,英文简称:DSPD)、可编程逻辑器件(英文全称:Programmable 
Logic Device,英文简称:PLD)、现场可编程门阵列(英文全称:Field Programmable Gate 
Array,英文简称:FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述
图1~图2对应的实施例中所描述的确定机器人安全线路的方法。
[0146] 在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器502,上述指令可由终端设备50的处理组件501执行以完成上述方法。
例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(英文全称:Random 
Access Memory,英文简称:RAM)、CD‑ROM、磁带、软盘和光数据存储设备等。当存储介质中的
指令由终端设备50的处理组件501执行时,使得终端设备50能够执行上述图1~图2对应的
实施例中所描述的确定机器人安全线路的方法,该方法包括:
[0147] 利用传感器的测量数据确定机械臂的作业场景实体空间;
[0148] 根据目标位置,将模拟轨迹与机械臂的作业场景实体空间不存在交集的移动线路确定为安全线路。
[0149] 本申请实施例提供的终端设备以及存储介质,在不需要人工事先为机器人的机械臂找到安全线路的情况下,提高了机器人完成工作任务的效率,且降低了操作人员的工作
量。
[0150] 本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或
者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识
或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的
权利要求指出。
[0151] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
[0152] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其他实施例的相关描述。