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

一种方法、装置、机器人及存储介质与流程

2021-11-05 19:39:00 来源:中国专利 TAG:


1.本技术属于机器人技术领域,具体涉及一种方法、装置、机器人及存储介质。


背景技术:

2.移动机器人技术是高科技领域内具有代表性的战略性技术之一,多自由度的机械臂可达范围大、负载能力强,在生产生活中扮演着非常重要的角色,应用也非常广泛。机械臂的运动学问题是工业机器人应用的基础,是机械臂轨迹规划和实时控制的前提,只有确定机械臂末端执行器的空间位姿与机械臂关节变量之间的映射关系,才能够进行编程控制。
3.在对相关的安全预警方法的研究中发现,相关的安全预警方法中,机械臂的各个关节点离测量区域的距离是不可判断的,缺少对机器人的安全保护。


技术实现要素:

4.鉴于上述问题,本技术提出了一种方法、装置、机器人以及存储介质,以实现改善上述问题。
5.第一方面,本技术实施例提供了一种方法,应用于机器人的安全预警,所述方法包括:获取测量区域各测量点在第一坐标系下的测量点位置;对所述测量点位置进行位置转换,得到各测量点在第二坐标系下的目标测量点位置,其中,所述第二坐标系为机器人空间坐标系;基于所述目标测量点位置,若确定机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。
6.第二方面,本技术实施例提供了一种装置,运行于机器人的安全预警,所述装置包括:位置获取单元,用于获取测量区域各测量点在第一坐标系下的测量点位置;位置转换单元,用于对所述测量点位置进行位置转换,得到各测量点在第二坐标系下的目标测量点位置,其中,所述第二坐标系为机器人空间坐标系;预警单元,用于基于所述目标测量点位置,若确定机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。
7.第三方面,本技术实施例提供了一种机器人,包括一个或多个处理器以及存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
8.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
9.本技术实施例提供了一种方法、装置、机器人及存储介质。首先获取测量区域各测量点在第一坐标系下的测量点位置,然后对测量点位置进行位置转换,得到各测量点在第二坐标系下的目标测量点位置,其中,所述第二坐标系为机器人空间坐标系,最后基于目标测量点位置,若确定机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。通过上述方法,实现了机器人在工作时,在检测到障碍物时,可以自动计算出机器人的机械臂的各关节点到各测量点(也就是障碍物,例如障碍物可以为天花板、墙面或地板等)的距离,
进而在确定机械臂的各关节点不在安全作业范围内时,可以发出报警信号进行安全预警,进而可以提升对机器人进行有效保护的概率。
附图说明
10.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
11.图1示出了本技术一实施例提出的一种方法的流程图;
12.图2示出了本技术另一实施例提出的一种方法的流程图;
13.图3示出了本技术另一实施例提出的第一测量区域和第二测量区域的示意图;
14.图4示出了本技术再一实施例提出的一种方法的流程图;
15.图5示出了本技术再一实施例提出的一种机器人的机械臂的结构示意图;
16.图6示出了本技术实施例提出的一种装置的结构框图;
17.图7示出了本技术实施例提出的另一种装置的结构框图;
18.图8示出了本技术实时中的用于执行根据本技术实施例的方法的机器人的结构框图;
19.图9示出了本技术实时中的用于保存或者携带实现根据本技术实施例的方法的程序代码的存储单元。
具体实施方式
20.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.机械臂,也被称为自动臂,机械手等,能模仿人手和臂的某些动作功能,用以按固定程序抓取、搬运物件或操作工具的自动操作装置。因此,机器人的机械臂的安全性在当前工厂及其他应用场景中至关重要。相关的安全预警方法中,缺少对机器人的安全保护。
22.因此,发明人提出了本技术中的首先获取测量区域各测量点在第一坐标系下的测量点位置,然后对测量点位置进行位置转换,得到各测量点在第二坐标系下的目标测量点位置,其中,所述第二坐标系为机器人空间坐标系,最后基于目标测量点位置,若确定机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。通过上述方法,实现了机器人在工作时,在检测到障碍物时,可以自动计算出机器人的机械臂的各关节点到各测量点(也就是障碍物,例如障碍物可以为天花板、墙面或地板等)的距离,进而在确定机械臂的各关节点不在安全作业范围内时,进而可以发出报警信号进行安全预警,进而可以提升对机器人进行有效保护的概率的方法、装置、机器人以及存储介质。
23.下面将结合附图具体描述本技术的各实施例。
24.请参阅图1,本技术实施例提供的一种方法,应用于机器人的安全预警,所述方法包括:
25.步骤s110:获取测量区域各测量点在第一坐标系下的测量点位置。
26.在本技术实施例中,所述第一坐标系为空间直角坐标系;所述各测量点为当机器人上安装的测距装置检测到测量区域的存在时,测距装置测量机器人与测量区域之间的距离时,测量的测量区域中的点;所述测量点位置可以用测量点的坐标来进行表示。
27.作为一种方式,可以通过机器人上安装的测距装置来获取测量区域中的各测量点在空间直角坐标系下的坐标。其中,测距装置可以测距传感器、激光测距装置、超声波测距装置、小波测距装置以及红外测距装置等,在本技术实施例中不做具体限定。
28.具体的,当通过机器人上安装的测距装置来获取测量区域中的各测量点在空间直角坐标系下的坐标时,可以通过测距装置定时向测量区域发送测距信号,当接收到测量区域基于该测距信号返回的信号时,可以通过该信号确定测量点的测量点位置。
29.再者,各测量点在第一坐标系下的测量点位置可以是实时获取的,也可以是预先获取到存储在机器人的存储区域中的。若各测量点在第一坐标系下的测量点位置时预先获取到存储在机器人的存储区域时,那么机器人可以直接从存储区域中直接读取到存储的所有测量点的测量点位置。
30.可选的,各测量点在第一坐标系下的测量点位置为进行滤波操作后得到的各测量点在第一坐标系下的位置坐标。
31.步骤s120:对所述测量点位置进行位置转换,得到各测量点在第二坐标系下的目标测量点位置,其中,所述第二坐标系为机器人空间坐标系。
32.在本技术实施例中,对测量点位置进行位置转换可以理解为将空间直角坐标系下的测量点的坐标转换为机器人空间坐标系下的测量点的坐标。
33.具体的,可预先建立第一坐标系和第二坐标系之前的映射关系,进而可以通过两个坐标系之间的映射关系来对第一坐标系下的测量点位置或第二坐标系下的测量点位置进行坐标转换。
34.步骤s130:基于所述目标测量点位置,若确定机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。
35.作为一种方式,所述安全作业范围为预先设置的机器人可以安全进行作业的距离范围。在通过上述方法获取到各测量点的测量点位置后,可以根据各测量点的测量点位置与机器人的机械臂的关节点的坐标计算二者之间的距离,进而可以实现确定机械臂的关节点在不在安全作业范围内。当确定机械臂的关节点不在安全作业范围内时,机器人可以发出报警信号进行安全预警。具体的,可以通过蜂鸣器或者机器人上安装的显示屏进行安全预警。
36.本技术提供的一种方法,首先获取测量区域各测量点在第一坐标系下的测量点位置,然后对测量点位置进行位置转换,得到各测量点在第二坐标系下的目标测量点位置,其中,所述第二坐标系为机器人空间坐标系,最后基于目标测量点位置,若确定机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。通过上述方法,实现了机器人在工作时,在检测到障碍物时,可以自动计算出机器人的机械臂的各关节点到各测量点(也就是障碍物,例如障碍物可以为天花板、墙面或地板等)的距离,进而在确定机械臂的各关节点不在安全作业范围内时,可以发出报警信号进行安全预警,进而可以提升对机器人进行有效保护的概率,其中,障碍物可以包括多种形式,比如可以为天花板、墙面或者地面等。
37.请参阅图2,本技术实施例提供的一种方法,应用于机器人的安全预警,所述方法包括:
38.步骤s210:采集所述第一测量区域各测量点在第一坐标系下的测量数据。
39.在本技术实施例中,测量点位置可以包括第一测量点位置和第二测量点位置,所述测量区域包括第一测量区域和第二测量区域,其中,所述第一测量点位置为经过滤波后得到的第一测量区域各测量点的坐标,所述第二测量点位置为经过滤波后得到的第二测量区域各测量点的坐标,所述第一测量区域和所述第二测量区域为不同的平面且相互连接。如图3所示,图3中的301可以为第一测量区域,302可以为第二测量区域,当然,也可以将301作为第二测量区域,将302作为第一测量区域,301和302得的连接方式如图3所示,在此不做具体限定。
40.作为一种方式,测距装置可以包括第一测距装置和第二测距装置,进而可以通过不同的测距装置来采集不同测量区域的各测量点的测量数据。具体的,可以通过第一测距装置来采集第一测量区域各测量点在第一坐标系下的测量数据。可选的,第一测距装置可以为激光雷达,示例性的,该激光雷达可以选用型号为n301

03a、有效测量距离为200mm

30000mm、通信协议为udp通信协议、测量精度为
±
30mm以及光源为905nm激光的激光雷达。当通过激光雷达采集第一测量区域各测量点在第一坐标系下的测量数据时,可以通过激光雷达读取水平360度的第一测量区域各测量点返回的信号,进而可以根据各测量点返回的信号得到各测量点的测量数据。在本技术实施例中,测量数据为未经过滤波操作的各测量点的测量点位置。
41.步骤s220:通过预设滤波算法对所述测量数据进行滤波操作,得到经过滤波后的所述第一测量区域各测量点对应的测量点位置。
42.在本技术实施例中,由于测量数据没有经过滤波操作,所以测量数据会存在一些噪声,那么就需要对测量数据中的噪声进行滤波操作,通过滤波操作可以减小测量数据的测量误差。
43.具体的,可以通过预先设置的滤波算法对获取到的各测量点在第一坐标系下的测量数据进行滤波操作,进而可以得到测量误差更小的第一测量区域各测量点对应的测量点位置。
44.作为一种方式,所述通过预设滤波算法对所述测量数据进行滤波操作,得到经过滤波后的所述第一测量区域各测量点对应的测量点位置的步骤包括:获取机器人的运行状态;若所述机器人处于运动状态,通过第一预设滤波算法对所述测量数据进行滤波操作,得到经过滤波后的所述第一测量区域各测量点对应的测量点位置;若所述机器人处于静止状态,通过第二预设滤波算法对所述测量数据进行滤波操作,得到经过滤波后的所述第一测量区域各测量点对应的测量点位置,其中,所述第一预设滤波算法比所述第二预设滤波算法具有更强的动态响应性。
45.其中,评价动态响应性的数据指标可以包括最大超调量、响应时间以及稳态误差等。在本技术实施例中,第一预设滤波算法和第二预设滤波算法均可以运用在机器人运动过程中,但将第一预设滤波算法和第二预设滤波算法运用在机器人运动过程中时,第一预设滤波算法的动态响应性比第二预设滤波算法的动态响应性更好。第一预设滤波算法的动态响应性比第二预设滤波算法的动态响应性更好可以指的是第一预设滤波算法对机器人
在运动过程中获取的测量数据的响应速度更快,也可以是第一预设滤波算法中的最大超调量小于第二预设滤波算法的最大超调量,或者,也可以是第一预设滤波算法中的稳态误差小于第二预设滤波算法的稳态误差等。
46.由于机器人在移动作业过程中和机器人在静止作业过程中,通过测距装置采集到的测量数据包含的噪声数据不同,因此,可以根据机器人的运行状态,选择不同的滤波算法来对测量数据进行滤波操作。
47.具体的,所述第一预设滤波算法可以为savitzky

golay卷积平滑滤波算法;所述第二预设滤波算法可以为一维卡尔曼滤波算法。
48.可以通过机器人中安装的imu(inertial measurement unit,惯性测量单元)来实时获取机器人的运行状态。当通过imu确定机器人处于运动状态时,在机器人通过激光雷达获取到第一测量区域各测量点在第一坐标系下的测量数据后,可以选择通过savitzky

golay卷积平滑滤波算法来对测量数据进行滤波操作。当通过imu确定机器人处于静止状态时,在机器人通过激光雷达获取到第一测量区域各测量点在第一坐标系下的测量数据后,可以选择通过一维卡尔曼滤波算法来对测量数据进行滤波操作。
49.激光雷达可直接测出0.0度到360度的极径ρ
k
∈{ρ0,ρ
0.1
,ρ
0.2
,...,ρ
360
}。
50.当选择通过savitzky

golay卷积平滑滤波算法来对测量数据进行滤波操作时,具体的滤波过程如下:
51.首先建立机器人运动时的运动模型,通过该运动模型对测量数据进行滤波,运动模型为:m(i)=a0 a1i a2i2。
52.当建立好运动模型后,选取激光雷达返回的某个角度k测量前后5个测量数据,分别为ρ
k
(

2)、ρ
k
(

1)、ρ
k
(0)、ρ
k
(1)、ρ
k
(2);对其平滑滤波后的模型为:
[0053][0054]
再将上述模型置换成运算矩阵,
[0055]
即:为了使其逼近真实值,使其无限
等于即设设t*a=p,可推出:t*a=p,可推出:t*a=p,可推出:故m
k
(0)为滤波后的数据。
[0056]
在本技术实施例中,对于每个机器人处于运动状态时获取到的测量数据,都可以通过上述过程来对该测量数据进行滤波操作,得到滤波后的第一测量区域各测量点对应的测量点位置。
[0057]
机器人处于静止状态时采用一维卡尔曼滤波算法对测量数据进行滤波操作。具体的,当机器人处于静止状态时,由于激光雷达只有一组测量数据,没有运动数据(如加速度、过程数据等),故采用一维卡尔曼滤波算法对测量数据进行滤波操作。
[0058]
当通过一维卡尔曼滤波算法来对测量数据进行滤波操作时,具体的滤波过程如下:
[0059]
状态量为激光雷达测量距离为ρ
k
;观测量也为ρ
k

[0060]
1.先验估计公式:其中,f为状态转移矩阵,为t时刻的先验估计值,是滤波的中间计算结果,是t

1时刻的最优估计值,是滤波的结果之一,即更新后的结果;b是控制矩阵,用于将输入转换成状态的矩阵,u
t
‑1为t

1时刻状态的控制量,w
k
为过程噪声;由于是一维卡尔曼滤波器,则b=[1],f=[1],w
k
=0,u
t
‑1=0,简化后:
[0061]
2.先验估计协方差公式:其中,q为过程噪声的协方差,
p
t
‑1为t

1时刻的最优结果协方差,是滤波的结果之一,是t时刻的先验估计协方差,f为状态转移矩阵,简化后:
[0062]
3.建立测量方程:z
t
=h*x
t
v;其中,z
t
为t时刻测量值,h为状态变量到测量(观测)的转换矩阵,表示将状态和观测连接起来的关系,是滤波的前提条件之一,x
t
为t时刻的观测值,v为测量噪声,服从高斯分布,由于是一维卡尔曼滤波器,则h=[1];激光雷达的测量值为ρ
k
,已含测量噪声v,简化后:z
t
=ρ
k

[0063]
4.更新卡尔曼增益:其中,r为观测噪声的协方差,k
t
为卡尔曼增益,是滤波的中间计算结果,也称卡尔曼系数,简化后:
[0064]
5.修正估计:其中,为t时刻的最优估计值,z
t
是t时刻的测量值,即是ρ
k
,滤波后的值
[0065]
6.更新后验协方差:其中,p
t
为t时刻的最优结果协方差,i为单位矩阵,简化后:调节该算法中的超参数:过程激励噪声协方差q和观测噪声协方差r,经现场调节后,本滤波过程中q=0,r=0.01。
[0066]
步骤s230:将所述经过滤波后的所述第一测量区域各测量点对应的测量点位置作为所述第一测量点位置。
[0067]
作为一种方式,将上述通过两种滤波算法进行滤波操作后得到的滤波结果m
k
作为第一测量点位置。
[0068]
步骤s240:采集所述第二测量区域各测量点在第一坐标系下的测量数据。
[0069]
在本技术实施例中,所述第一测量区域和所述第二测量区域为不同的平面且相互连接,可以通过第二测距装置来采集第二测量区域各测量点在第一坐标系下的测量数据。可选的,第二测距装置可以为激光位移传感器,示例性的,该激光位移传感器可以为型号为lr

tb5000以及有效测量距离为60mm

5000mm的传感器。可选的,可以将该激光位移传感器的响应时间设置为100ms,对应的重复进度如表1所示:
[0070]
表1
[0071]
检测距离60mm200mm1000mm2000mm3000mm5000mm白纸反射率(90%)
±3±3±3±3±3±
5灰纸反射率(18%)
±6±3±3±5±6±
14
[0072]
步骤s250:通过第三预设滤波算法对所述测量数据进行滤波操作,得到经过滤波后的所述第二测量区域各测量点对应的测量点位置。
[0073]
在本技术实施例中,所述第三预设滤波算法可以为消抖滤波器算法。由于激光位移传感器实时检测到第二测量区域各测量点的测量数据存在重复误差,为了减少误差,可以设计消抖滤波器算法,对激光位移传感器采集到的测量数据进行消除波动。具体的,当通过第二测距装置获取到第二测量区域各测量点在第一坐标系下的测量数据后,可以通过消
抖滤波器算法对测量数据进行滤波操作。可以通过如下公式对测量数据进行滤波操作:
[0074][0075]
其中,x
k
为第k次激光位移传感器采集的数据;p为计数器,主要计数波动数据;z为消抖后的测量点位置。
[0076]
步骤s260:将所述经过滤波后的所述第二测量区域各测量点对应的测量点位置作为所述第二测量点位置。
[0077]
作为一种方式,将上述通过消抖滤波器算法进行滤波操作后得到的滤波结果z作为第二测量点位置。
[0078]
步骤s270:对所述测量点位置进行位置转换,得到各测量点在第二坐标系下的目标测量点位置,其中,所述第二坐标系为机器人空间坐标系。
[0079]
作为一种方式,首先将上述通过两种滤波算法进行滤波操作后得到的第一测量点位置转换成直角坐标:其中,k∈{0,0.1,0.2,...,360}。
[0080]
激光雷达读取第一测量区域个测量点进行滤波后的第一测量点位置坐标(x
k
,y
k
),由于在本技术实施例中,激光雷达安装在机器人上,机器人的机械臂也安装在机器人上,因此,根据机器人设计结构图,可得知,激光雷达在机器人的机械臂所在的机器人空间坐标系下的坐标为(x
k
l
x
,y
k
l
y
),同理可得知激光传感器在机器人的机械臂所在的机器人空间坐标系下的坐标为(z l
z
),也可得知机器人的机械臂所在的机器人空间坐标系的坐标原点(x0,y0,z0)到地面的高度为l
ground

[0081]
步骤s280:基于所述目标测量点位置,若确定机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。
[0082]
步骤s280具体可以参照上述实施例中的详细解释,在本技术实施例中不在此赘述。
[0083]
本技术提供的一种方法,采集第一测量区域个测量点在第一坐标系下的测量数据,然后通过预设于波算法对测量数据进行滤波操作,得到滤波后的第一测量区域各测量点对应的测量点位置,将经过滤波后的第一测量区域各测量点对应的测量点位置作为第一测量点位置,同时采集第二测量区域各测量点在第一坐标系下的测量数据,通过第三预设滤波算法对测量数据进行滤波操作,得到经过滤波后的第二测量区域各测量点对应的测量点位置,将经过滤波后的第二测量区域各测量点对应的测量点位置作为第二测量点位置,再对测量点位置进行位置转换,得到各测量点在第二坐标系下的目标测量点位置,其中,所述第二坐标系为机器人空间坐标系,最后若基于目标测量点位置,确定机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。通过上述方法,通过不同的滤波算法对测量数据进行滤波操作,可以减小测量数据的测量误差,再者,实现了机器人在工作时,在检
测到障碍物时,可以自动计算出机器人的机械臂的各关节点到各测量点(也就是障碍物,例如障碍物可以为天花板、墙面或地板等)的距离,进而在确定机械臂的各关节点不在安全作业范围内时,可以发出报警信号进行安全预警,进而可以提升对机器人进行有效保护的概率。
[0084]
请参阅图4,本技术实施例提供的一种方法,应用于机器人的安全预警,所述方法包括:
[0085]
步骤s310:对所述机械臂的各关节点的位姿变换进行建模,利用d

h表示法建立所述各关节点之间的各个连杆的位姿变换矩阵。
[0086]
在本技术实施例中,首先根据机器人机械臂各关节点的位置建立机器人空间坐标系,如图5所示,在图5中,(x0,y0,z0)为机器人坐标系的坐标原点。图中的x1‑
y1‑
z1、x2‑
y2‑
z2、x3‑
y3‑
z3、x4‑
y4‑
z4、x5‑
y5‑
z5、x6‑
y6‑
z6以及x
tcp

y
tcp

z
tcp
分别为机械臂的关节点1、关节点2、关节点3、关节点4、关节点5、关节点6以及关节点7对应的坐标系。
[0087]
作为一种方式,在利用d

h表示法建立各关节点之间的各个连杆的位姿变换矩阵之前,可以先根据如图5所示的机器人的机械臂的结构,建立d

h表,如表2所示:
[0088]
表2
[0089]
axis编号α
i
‑1连杆扭转角α
i
‑1连杆长度d
i
关节距离θ
i
关节角100d1θ12

90
°
0d2θ230α20θ340α3‑
d4θ4590
°
0d5θ56

90
°
0d6θ6[0090]
然后根据上述d

h表、机器人空间坐标系以及z

y

z euler angles(欧拉旋转)推算各轴axis的中心变化矩阵。
[0091]
具体的,首先根据x

y

z fixed angles(对机器人空间坐标系(固定不动)的旋转轴旋转矩阵变化)和将上述d

h表带入可求出:
[0092][0092]
是坐标系绕旋转(α
i
‑1)角度变化矩阵;度变化矩阵;是坐标系延移动(α
i
‑1)的变化矩阵;
是坐标系绕旋转(θ
i
)角度变化矩阵;)角度变化矩阵;是坐标系延移动(d
i
)角度变化矩阵。
[0093]
步骤s320:基于所述各个连杆的位姿变换矩阵,得到所述机械臂的各关节点相对于原点的位姿变换矩阵。
[0094]
在通过上述方法确定了各个连杆的位姿变换矩阵后,再根据craig方法变换矩阵公式和z

y

z euler angles(欧拉旋转)原理:
[0095][0096]
再根据rotation matrix(旋转矩阵)拆解,推导公式;经带入计算可知相邻两个关节点之间的位姿变换矩阵:
[0097][0098][0099]
[0100]
根据机械臂次轴在前轴转动基础下,次轴转动,将采用z

y

z euler angles欧拉角坐标系转换,可以得出机械臂的各关节点相对于机器人坐标系的坐标原点(x0,y0,z0)的位姿变换矩阵,具体的公式算法如下:
[0101][0102][0103][0104][0105][0106]
步骤s330:基于所述各关节点相对于原点的位姿变换矩阵,得到所述机械臂的各关节点在运动过程中的空间坐标。
[0107]
在本技术实施例中,在得到各关节点相对于圆点的位姿变化矩阵后,可以通过计算机将d

h表中的参数代入计算,可分别计算出各个轴坐标原点(也称:轴关节点)的变化矩阵,即可得知每个轴坐标原点在机器人坐标系的坐标原点(x0,y0,z0)下的空间直角坐标(x
i

,y
i

,z
i

),即为(x1′
,y1′
,z1′
),(x2′
,y2′
,z2′
),(x3′
,y3′
,z3′
),(x4′
,y4′
,z4′
),(x5′
,y5′
,z5′
),(x6′
,y6′
,z6′
),(x

tcp
,y

tcp
,z

tcp
)。
[0108]
步骤s340:获取测量区域各测量点在第一坐标系下的测量点位置。
[0109]
步骤s340具体可以参照上述实施例中的详细解释,在本技术实施例中不在此赘述。
[0110]
步骤s350:对所述测量点位置进行位置转换,得到各测量点在第二坐标系下的目标测量点位置,其中,所述第二坐标系为机器人空间坐标系。
[0111]
步骤s350具体可以参照上述实施例中的详细解释,在本技术实施例中不在此赘述。
[0112]
步骤s360:基于所述目标测量点位置和所述空间坐标,确定所述机械臂的关节点与所述各测量点之间的距离。
[0113]
在本技术实施例中,可以根据两个点的坐标计算得到两个点之间的距离。当机器人进入作业时,机械臂程序将进入运算各关节点距离第一测量区域以及第二测量区域的最短距离i为机械臂的各轴关节点。其中,第一测量区域可以为水平墙面,第二测量区域可以为地面和天花板。具体的计算公式如下:
[0114]
其中,x
k
和y
k
分别为激光雷达在{0,0.1,0.2,...,360}度测量的第一测量区域中各测量点的测量点坐标;z为激光位移传感器测量的机器人的机械臂与第二测量区域之间的距离,l
x
、l
y
和l
z
分别为激光雷达和激光位移传感器在机器人坐标系下的坐标。
[0115]
步骤s370:基于所述距离,确定所述机械臂的关节点是否在安全作业范围内。
[0116]
作为一种方式,所述基于所述距离,确定所述机械臂的关节点是否在安全作业范围内的步骤包括:将所述距离与预设距离进行比较;若所述距离小于所述预设距离,确定所述机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。
[0117]
其中,预设距离为预先设置的机器人安全作业的距离。示例性的可以将预设距离设置为安全距离h,当机器人获取到机械臂各关节点距离第一测量区域和第二测量区域的最短距离后,机械臂程序将判断是不是均大于安全距离h,如果机器人的机械臂的各关节点与第一测量区域和第二测量区域之间的距离均大于安全距离h,则表示机器人在安全距离工作区域,反之则表示机器人不在安全距离工作区域内,机器人可以发出报警信号进行安全预警。
[0118]
步骤s380:若所述机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。
[0119]
步骤s380具体可以参照上述实施例中的详细解释,在本技术实施例中不在此赘述。
[0120]
本技术提供的一种方法,对机械臂的各关节点的位姿变换进行建模,利用d

h表示法建立各关节点之间的各个连杆的位姿变换矩阵,然后基于各个连杆的位姿变换矩阵,得
到机械臂的各关节点相对于原点的位姿变换矩阵,再基于各关节点相对于原点的位姿变换矩阵,得到机械臂的各关节点在运动过程中的空间坐标,获取测量区域各测量点在第一坐标系下的测量点位置,然后对测量点位置进行位置转换,得到各测量点在第二坐标系下的目标测量点位置,其中,第二坐标系为机器人空间坐标系,最后基于目标测量点位置和空间坐标,确定机械臂的关节点与各测量点之间的距离,基于距离,确定机械臂的关节点是否在安全作业范围内,若机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。通过上述方法,实现了机器人在工作时,在检测到障碍物时,可以自动计算出机器人的机械臂的各关节点到各测量点(也就是障碍物,例如障碍物可以为天花板、墙面或地板等)的距离,进而在确定机械臂的各关节点不在安全作业范围内时,可以发出报警信号进行安全预警,进而可以提升对机器人进行有效保护的概率。
[0121]
请参阅图6,本技术实施例提供的一种装置400,应用于机器人的安全预警,所述装置400包括:
[0122]
位置获取单元410,用于获取测量区域各测量点在第一坐标系下的测量点位置。
[0123]
作为一种方式,所述测量点位置包括第一测量点位置和第二测量点位置,所述测量区域包括第一测量区域和第二测量区域,其中,所述第一测量点位置为经过滤波后得到的第一测量区域各测量点的坐标,所述第二测量点位置为经过滤波后得到的第二测量区域各测量点的坐标;所述位置获取单元410用于采集所述第一测量区域各测量点在第一坐标系下的测量数据;通过预设滤波算法对所述测量数据进行滤波操作,得到经过滤波后的所述第一测量区域各测量点对应的测量点位置;将所述经过滤波后的所述第一测量区域各测量点对应的测量点位置作为所述第一测量点位置。
[0124]
进一步的,所述位置获取单元410还用于获取机器人的运行状态;若所述机器人处于运动状态,通过第一预设滤波算法对所述测量数据进行滤波操作,得到经过滤波后的所述第一测量区域各测量点对应的测量点位置;若所述机器人处于静止状态,通过第二预设滤波算法对所述测量数据进行滤波操作,得到经过滤波后的所述第一测量区域各测量点对应的测量点位置,其中,所述第一预设滤波算法比所述第二预设滤波算法具有更强的动态响应性。
[0125]
作为另一种方式,所述第一测量区域和所述第二测量区域为不同的平面且相互连接,所述位置获取单元410用于采集所述第二测量区域各测量点在第一坐标系下的测量数据;通过第三预设滤波算法对所述测量数据进行滤波操作,得到经过滤波后的所述第二测量区域各测量点对应的测量点位置;将所述经过滤波后的所述第二测量区域各测量点对应的测量点位置作为所述第二测量点位置。
[0126]
位置转换单元420,用于对所述测量点位置进行位置转换,得到各测量点在第二坐标系下的目标测量点位置,其中,所述第二坐标系为机器人空间坐标系。
[0127]
预警单元430,用于基于所述目标测量点位置,若确定机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。
[0128]
作为一种方式,所述预警单元430用于基于所述目标测量点位置和所述空间坐标,确定所述机械臂的关节点与所述各测量点之间的距离;基于所述距离,确定所述机械臂的关节点是否在安全作业范围内;若所述机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。
[0129]
进一步的,所述预警单元430还用于将所述距离与预设距离进行比较;若所述距离小于所述预设距离,确定所述机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。
[0130]
请参阅图7,所述装置400还包括:
[0131]
第一矩阵获取单元440,用于对所述机械臂的各关节点的位姿变换进行建模,利用d

h表示法建立所述各关节点之间的各个连杆的位姿变换矩阵。
[0132]
第二矩阵获取单元450,用于基于所述各个连杆的位姿变换矩阵,得到所述机械臂的各关节点相对于原点的位姿变换矩阵;
[0133]
坐标获取单元460,用于基于所述各关节点相对于原点的位姿变换矩阵,得到所述机械臂的各关节点在运动过程中的空间坐标。
[0134]
需要说明的是,本技术中装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
[0135]
下面将结合图8对本技术提供的一种机器人进行说明。
[0136]
请参阅图8,基于上述的方法、装置,本技术实施例还提供的另一种可以执行前述方法的机器人800。机器人800包括相互耦合的一个或多个(图中仅示出一个)处理器802、存储器804及网络模块806。其中,该存储器804中存储有可以执行前述实施例中内容的程序,而处理器802可以执行该存储器804中存储的程序。
[0137]
其中,处理器802可以包括一个或者多个处理核。处理器802利用各种接口和线路连接整个机器人800内的各个部分,通过运行或执行存储在存储器804内的指令、程序、代码集或指令集,以及调用存储在存储器804内的数据,执行机器人800的各种功能和处理数据。可选地,处理器802可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器802可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器802中,单独通过一块通信芯片进行实现。
[0138]
存储器804可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read

only memory)。存储器804可用于存储指令、程序、代码、代码集或指令集。存储器804可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端800在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0139]
所述网络模块806用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。所述网络模块806可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(sim)卡、存储器等等。所述网络模块806可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。例如,网络模块806可以与基站进行信
息交互。
[0140]
请参考图9,其示出了本技术实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质900中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0141]
计算机可读存储介质900可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质900包括非易失性计算机可读介质(non

transitory computer

readable storage medium)。计算机可读存储介质900具有执行上述方法中的任何方法步骤的程序代码910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码910可以例如以适当形式进行压缩。
[0142]
本技术提供的一种方法、装置、机器人以及存储介质,首先获取测量区域各测量点在第一坐标系下的测量点位置,然后对测量点位置进行位置转换,得到各测量点在第二坐标系下的目标测量点位置,其中,所述第二坐标系为机器人空间坐标系,最后若基于目标测量点位置,确定机械臂的关节点不在安全作业范围内,发出报警信号进行安全预警。通过上述方法,实现了机器人在工作时,在检测到障碍物时,可以自动计算出机器人的机械臂的各关节点到各测量点(也就是障碍物,例如障碍物可以为天花板、墙面或地板等)的距离,进而在确定机械臂的各关节点不在安全作业范围内时,可以发出报警信号进行安全预警,进而可以提升对机器人进行有效保护的概率。
[0143]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
再多了解一些

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

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

相关文献