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

一种机器人以及机器人的行驶控制方法与流程

2022-11-23 10:54:59 来源:中国专利 TAG:


1.本公开涉及机器人控制技术领域,具体而言,涉及一种机器人以及机器人的行驶控制方法。


背景技术:

2.随着机器人智能化技术的发展,控制机器人能够准确的形式到目标位置成为当前智能化控制的首要任务。当前基于目标场景中多参照物对象轮廓的定位方法存在定位精度差的问题。


技术实现要素:

3.本公开实施例至少提供一种机器人以及机器人的行驶控制方法。
4.第一方面,本公开实施例提供了一种机器人,包括:信息获取组件、以及控制组件;
5.其中,所述信息获取组件被配置为,在机器人行驶过程中获取当前帧图像;
6.所述定位组件被配置为:在检测到所述当前帧图像中包括目标标记物时,确定所述目标标记物在目标场景中的第一位置;
7.基于所述机器人在所述目标场景中的当前位姿、所述目标标记物在所述目标场景中的第一位置、以及目标工作点位与所述目标标记物之间的相对位置关系,控制所述机器人向所述目标工作点位行驶。
8.一种可能的实施方式中,所述目标标记物固定设置在所述目标场景中;不同的工作点位与所述目标标记物之间的相对位置关系不同;
9.或者,所述目标标记物可移动的设置在所述目标场景中;工作点位设置在与所述目标标记物的不同位置处,且随着所述目标标记物位于所述目标场景的不同位置,形成不同的工作点位。
10.一种可能的实施方式中,所述控制组件,在确定所述目标标记物在目标场景中的第一位置时,被配置为:
11.基于所述当前帧图像,确定所述目标标记物在与所述机器人对应的机器人坐标系下的第一观测位置;
12.基于所述机器人在所述目标场景中的当前位姿、以及所述目标标记物在所述机器人坐标系下的第一观测位置,确定所述目标标记物在所述目标场景中的第一位置。
13.一种可能的实施方式中,所述控制组件,还被配置为:基于所述当前帧图像,确定所述机器人在所述目标场景中的当前位姿。
14.一种可能的实施方式中,所述控制组件,在基于所述当前帧图像,确定所述机器人在所述目标场景中的当前位姿时,被配置为:
15.基于所述当前帧图像,确定所述目标场景中的至少一个目标参照物对象分别在机器人坐标系下的第二观测位姿;
16.基于所述机器人在所述目标场景中的参考位姿、以及所述至少一个目标参照物对
象分别在所述机器人坐标系下的第二观测位姿,确定所述至少一个目标参照物对象分别在所述目标场景中的第三观测位姿;
17.基于所述第三观测位姿、以及所述至少一个目标参照物对象分别在所述目标场景中的实际位姿,对所述参考位姿进行调整,得到所述机器人的当前位姿。
18.一种可能的实施方式中,所述控制组件,还被配置为:
19.对所述当前帧图像进行边缘检测处理,得到所述当前帧图像中的观测轮廓信息;
20.将所述观测轮廓信息和多个参照物对象分别对应的轮廓信息进行匹配;
21.若任一观测轮廓信息和任一参照物对象的轮廓信息匹配成功,则将该参照物对象作为所述当前帧图像中包括的目标参照物对象。
22.一种可能的实施方式中,所述控制组件,在基于所述机器人在所述目标场景中的参考位姿、以及所述至少一个目标参照物对象分别在所述机器人坐标系下的第二观测位姿,确定所述至少一个目标参照物对象分别在所述目标场景中的第三观测位姿时,被配置为:
23.基于所述机器人在所述目标场景中的参考位姿,确定所述机器人坐标系与所述场景坐标系之间的转换关系信息;
24.利用所述转换关系信息、将所述至少一个目标参照物对象分别在所述机器人坐标系下的第一观测位置,转换为在所述目标场景中的第二观测位姿。
25.一种可能的实施方式中,所述控制组件,在基于所述第三观测位姿、以及所述至少一个目标参照物对象分别在所述目标场景中的实际位姿,对所述参考位姿进行调整,得到所述机器人的当前位姿时,被配置为:
26.执行至少一个周期的迭代,在每个迭代周期中:基于所述至少一个目标参照物对象分别对应的第三观测位姿、和在所述目标场景中的实际位姿,确定位姿误差;基于所述位姿误差,对当前迭代周期的参考位姿进行调整,得到调整后的参考位姿;
27.响应于满足迭代停止条件,将最后一个迭代周期得到的调整后的参考位姿,确定为所述机器人的所述当前位姿;
28.其中,所述当前迭代周期的参考位姿是基于前一次迭代周期的参考位姿确定的,或基于初始参考位姿确定的。
29.一种可能的实施方式中,所述控制组件,还被配置为:基于所述机器人上安装的里程计确定所述初始参考位姿。
30.一种可能的实施方式中,所述迭代停止条件包括下述至少一种:
31.当前迭代周期对应的迭代次数达到预设迭代次数;
32.当前迭代周期确定的位姿误差小于预设的位姿误差阈值。
33.一种可能的实施方式中,所述控制组件,在基于所述机器人在所述目标场景中的当前位姿、所述目标标记物在所述目标场景中的第一位置、以及目标工作点位与所述目标标记物之间的相对位置关系,控制所述机器人向所述目标工作点位行驶时,被配置为:
34.基于所述目标标记物在所述目标场景中的第一位置、以及目标工作点位与所述目标标记物之间的相对位置关系,得到所述目标工作点位在所述目标场景中的第二位置;
35.基于所述机器人的当前位姿、以及所述目标工作点位在所述目标场景中的第二位置,生成目标路径;
36.基于所述目标路径控制所述机器人向所述目标工作点位行驶。
37.第二方面,本公开实施例还提供一种机器人的行驶控制方法,包括:
38.获取机器人上的视觉传感器采集的当前帧图像;
39.在检测到所述当前帧图像中包括目标标记物时,确定所述目标标记物在目标场景中的第一位置;
40.基于所述机器人在所述目标场景中的当前位姿、所述目标标记物在所述目标场景中的第一位置、以及目标工作点位与所述目标标记物之间的相对位置关系,控制所述机器人向所述目标工作点位行驶。
41.一种可能的实施方式中,所述目标标记物固定设置在所述目标场景中;不同的工作点位与所述目标标记物之间的相对位置关系不同;
42.或者,所述目标标记物可移动的设置在所述目标场景中;工作点位设置在与所述目标标记物的不同位置处,且随着所述目标标记物位于所述目标场景的不同位置,形成不同的工作点位。
43.一种可能的实施方式中,所述确定所述目标标记物在目标场景中的第一位置,包括:
44.基于所述当前帧图像,确定所述目标标记物在与所述机器人对应的机器人坐标系下的第一观测位置;
45.基于所述机器人在所述目标场景中的当前位姿、以及所述目标标记物在所述机器人坐标系下的第一观测位置,确定所述目标标记物在所述目标场景中的第一位置。
46.一种可能的实施方式中,还包括:基于所述当前帧图像,确定所述机器人在所述目标场景中的当前位姿。
47.一种可能的实施方式中,所述基于所述当前帧图像,确定所述机器人在所述目标场景中的当前位姿,包括:
48.基于所述当前帧图像,确定所述目标场景中的至少一个目标参照物对象分别在机器人坐标系下的第二观测位姿;
49.基于所述机器人在所述目标场景中的参考位姿、以及所述至少一个目标参照物对象分别在所述机器人坐标系下的第二观测位姿,确定所述至少一个目标参照物对象分别在所述目标场景中的第三观测位姿;
50.基于所述第三观测位姿、以及所述至少一个目标参照物对象分别在所述目标场景中的实际位姿,对所述参考位姿进行调整,得到所述机器人的当前位姿。
51.一种可能的实施方式中,还包括:
52.对所述当前帧图像进行边缘检测处理,得到所述当前帧图像中的观测轮廓信息;
53.将所述观测轮廓信息和多个参照物对象分别对应的轮廓信息进行匹配;
54.若任一观测轮廓信息和任一参照物对象的轮廓信息匹配成功,则将该参照物对象作为所述当前帧图像中包括的目标参照物对象。
55.一种可能的实施方式中,所述基于所述机器人在所述目标场景中的参考位姿、以及所述至少一个目标参照物对象分别在所述机器人坐标系下的第二观测位姿,确定所述至少一个目标参照物对象分别在所述目标场景中的第三观测位姿,包括:
56.基于所述机器人在所述目标场景中的参考位姿,确定所述机器人坐标系与所述场
景坐标系之间的转换关系信息;
57.利用所述转换关系信息、将所述至少一个目标参照物对象分别在所述机器人坐标系下的第一观测位置,转换为在所述目标场景中的第二观测位姿。
58.一种可能的实施方式中,所述基于所述第三观测位姿、以及所述至少一个目标参照物对象分别在所述目标场景中的实际位姿,对所述参考位姿进行调整,得到所述机器人的当前位姿,包括:
59.执行至少一个周期的迭代,在每个迭代周期中:基于所述至少一个目标参照物对象分别对应的第三观测位姿、和在所述目标场景中的实际位姿,确定位姿误差;基于所述位姿误差,对当前迭代周期的参考位姿进行调整,得到调整后的参考位姿;
60.响应于满足迭代停止条件,将最后一个迭代周期得到的调整后的参考位姿,确定为所述机器人的所述当前位姿;
61.其中,所述当前迭代周期的参考位姿是基于前一次迭代周期的参考位姿确定的,或基于初始参考位姿确定的。
62.一种可能的实施方式中,还包括:基于所述机器人上安装的里程计确定所述初始参考位姿。
63.一种可能的实施方式中,所述迭代停止条件包括下述至少一种:
64.当前迭代周期对应的迭代次数达到预设迭代次数;
65.当前迭代周期确定的位姿误差小于预设的位姿误差阈值。
66.一种可能的实施方式中,所述基于所述机器人在所述目标场景中的当前位姿、所述目标标记物在所述目标场景中的第一位置、以及目标工作点位与所述目标标记物之间的相对位置关系,控制所述机器人向所述目标工作点位行驶,包括:
67.基于所述目标标记物在所述目标场景中的第一位置、以及目标工作点位与所述目标标记物之间的相对位置关系,得到所述目标工作点位在所述目标场景中的第二位置;
68.基于所述机器人的当前位姿、以及所述目标工作点位在所述目标场景中的第二位置,生成目标路径;
69.基于所述目标路径控制所述机器人向所述目标工作点位行驶。
70.本公开实施例提供的机器人和机器人的行驶控制方法,通过通过在目标场景中设置目标标记物,在机器人上的视觉传感器采集的当前帧图像中包括该目标标记物时,确定目标标记物在目标场景中的第一位置,并基于机器人在目标场景中的当前位姿、目标标记物在所述目标场景中的第一位置、目标工作点位与目标标记物之间的相对位置关系,控制所述机器人向目标工作点位行驶,从而通过将目标标记物作为参照,实现了在多变环境下的高精度定位。
71.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
72.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图
仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
73.图1示出了本公开实施例所提供的一种机器人的结构示意图;
74.图2示出了本公开实施例所提供的一种机器人的行驶控制方法的流程图;
75.图3示出了本公开实施例所提供的确定机器人在目标场景中的当前位姿的具体方法的流程图;
76.图4示出了本公开实施例所提供的一种机器人的行驶过程中进行特征匹配的具体示例;
77.图5示出了本公开实施例所提供的一种机器人的行驶过程中检测到目标标记物生成目标路径时的具体示例。
具体实施方式
78.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
79.经研究发现,在类似于集装箱等物流场景中,随着货物的堆叠,场景发生变化,机器人在处理场景变化带来的定位问题同时,也需要处理相应的工作点位变化。一般的轮廓定位方法通常需要检测目标场景中多参照物对象的轮廓,然后利用多参照物对象的轮廓进行定位。但由于物流场景中,场景会不断发生变化,且工作点位也需要不断变化,而当前依赖于参照物对象轮廓的定位方法无法在这样的情况下满足高精度的定位需求。
80.基于上述研究,本公开提供了一种机器人以及机器人的行驶控制方法,通过在目标场景中设置目标标记物,作为机器人向目标工作点位移动的参照,提升机器人在多变环境下的定位精度。
81.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
82.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
83.为便于对本实施例进行理解,首先对本公开实施例所公开的一种机器人进行详细介绍,然后对本公开实施例所公开的一种机器人行进控制方法进行详细介绍,本公开实施例所提供的一种机器人行进控制方法的执行主体可以为机器人或者控制机器人行进的服务器。在一些可能的实现方式中,该机器人行进控制方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
84.下面分别对本公开实施例提供的机器人以及机器人行进控制方法加以说明。
85.参见图1所示,为本公开实施例提供的机器人的结构示意图。该机器人包括:视觉
传感器10、以及控制组件20;
86.其中,所述视觉传感器10被配置为,在机器人行驶过程中获取当前帧图像;
87.所述控制组件20被配置为:在检测到所述当前帧图像中包括目标标记物时,确定所述目标标记物在目标场景中的第一位置;
88.基于所述机器人在所述目标场景中的当前位姿、所述目标标记物在所述目标场景中的第一位置、以及目标工作点位与所述目标标记物之间的相对位置关系,控制所述机器人向所述目标工作点位行驶。
89.本公开实施例通过在目标场景中设置目标标记物,在机器人上的控制组件在基于视觉传感器采集的当前帧图像中包括该目标标记物时,确定目标标记物在目标场景中的第一位置,并基于机器人在目标场景中的当前位姿、目标标记物在所述目标场景中的第一位置、目标工作点位与目标标记物之间的相对位置关系,控制所述机器人向目标工作点位行驶,从而通过将目标标记物作为参照,实现了在多变环境下的高精度定位。
90.一种可能的实施方式中,所述目标标记物固定设置在所述目标场景中;不同的工作点位与所述目标标记物之间的相对位置关系不同;
91.或者,所述目标标记物可移动的设置在所述目标场景中;工作点位设置在与所述目标标记物的不同位置处,且随着所述目标标记物位于所述目标场景的不同位置,形成不同的工作点位。
92.一种可能的实施方式中,所述控制组件20,在确定所述目标标记物在目标场景中的第一位置时,被配置为:
93.基于所述当前帧图像,确定所述目标标记物在与所述机器人对应的机器人坐标系下的第一观测位置;
94.基于所述机器人在所述目标场景中的当前位姿、以及所述目标标记物在所述机器人坐标系下的第一观测位置,确定所述目标标记物在所述目标场景中的第一位置。
95.一种可能的实施方式中,所述控制组件20,还被配置为:基于所述当前帧图像,确定所述机器人在所述目标场景中的当前位姿。
96.一种可能的实施方式中,所述控制组件20,在基于所述当前帧图像,确定所述机器人在所述目标场景中的当前位姿时,被配置为:
97.基于所述当前帧图像,确定所述目标场景中的至少一个目标参照物对象分别在机器人坐标系下的第二观测位姿;
98.基于所述机器人在所述目标场景中的参考位姿、以及所述至少一个目标参照物对象分别在所述机器人坐标系下的第二观测位姿,确定所述至少一个目标参照物对象分别在所述目标场景中的第三观测位姿;
99.基于所述第三观测位姿、以及所述至少一个目标参照物对象分别在所述目标场景中的实际位姿,对所述参考位姿进行调整,得到所述机器人的当前位姿。
100.一种可能的实施方式中,所述控制组件20,还被配置为:
101.对所述当前帧图像进行边缘检测处理,得到所述当前帧图像中的观测轮廓信息;
102.将所述观测轮廓信息和多个参照物对象分别对应的轮廓信息进行匹配;
103.若任一观测轮廓信息和任一参照物对象的轮廓信息匹配成功,则将该参照物对象作为所述当前帧图像中包括的目标参照物对象。
104.一种可能的实施方式中,所述控制组件20,在基于所述机器人在所述目标场景中的参考位姿、以及所述至少一个目标参照物对象分别在所述机器人坐标系下的第二观测位姿,确定所述至少一个目标参照物对象分别在所述目标场景中的第三观测位姿时,被配置为:
105.基于所述机器人在所述目标场景中的参考位姿,确定所述机器人坐标系与所述场景坐标系之间的转换关系信息;
106.利用所述转换关系信息、将所述至少一个目标参照物对象分别在所述机器人坐标系下的第一观测位置,转换为在所述目标场景中的第二观测位姿。
107.一种可能的实施方式中,所述控制组件20,在基于所述第三观测位姿、以及所述至少一个目标参照物对象分别在所述目标场景中的实际位姿,对所述参考位姿进行调整,得到所述机器人的当前位姿时,被配置为:
108.执行至少一个周期的迭代,在每个迭代周期中:基于所述至少一个目标参照物对象分别对应的第三观测位姿、和在所述目标场景中的实际位姿,确定位姿误差;基于所述位姿误差,对当前迭代周期的参考位姿进行调整,得到调整后的参考位姿;
109.响应于满足迭代停止条件,将最后一个迭代周期得到的调整后的参考位姿,确定为所述机器人的所述当前位姿;
110.其中,所述当前迭代周期的参考位姿是基于前一次迭代周期的参考位姿确定的,或基于初始参考位姿确定的。
111.一种可能的实施方式中,所述控制组件20,还被配置为:基于所述机器人上安装的里程计确定所述初始参考位姿。
112.一种可能的实施方式中,所述迭代停止条件包括下述至少一种:
113.当前迭代周期对应的迭代次数达到预设迭代次数;
114.当前迭代周期确定的位姿误差小于预设的位姿误差阈值。
115.一种可能的实施方式中,所述控制组件20,在基于所述机器人在所述目标场景中的当前位姿、所述目标标记物在所述目标场景中的第一位置、以及目标工作点位与所述目标标记物之间的相对位置关系,控制所述机器人向所述目标工作点位行驶时,被配置为:
116.基于所述目标标记物在所述目标场景中的第一位置、以及目标工作点位与所述目标标记物之间的相对位置关系,得到所述目标工作点位在所述目标场景中的第二位置;
117.基于所述机器人的当前位姿、以及所述目标工作点位在所述目标场景中的第二位置,生成目标路径;
118.基于所述目标路径控制所述机器人向所述目标工作点位行驶。
119.本公开实施例中控制组件20控制机器人的具体行驶过程,具体可参见下述图2对应的机器人的行驶控制方法。
120.基于同一发明构思,本公开实施例中还提供了与机器人方法对应的机器人的行驶控制方法。
121.参照图2所示,为本公开实施例提供的一种机器人的行驶控制方法流程图,包括:
122.s201:获取机器人上的视觉传感器采集的当前帧图像;
123.s202:在检测到所述当前帧图像中包括目标标记物时,确定所述目标标记物在目标场景中的第一位置;
124.s203:基于所述机器人在所述目标场景中的当前位姿、所述目标标记物在所述目标场景中的第一位置、以及目标工作点位与所述目标标记物之间的相对位置关系,控制所述机器人向所述目标工作点位行驶。
125.本公开实施例通过在目标场景中设置目标标记物,在机器人上的视觉传感器采集的当前帧图像中包括该目标标记物时,确定目标标记物在目标场景中的第一位置,并基于机器人在目标场景中的当前位姿、目标标记物在所述目标场景中的第一位置、目标工作点位与目标标记物之间的相对位置关系,控制所述机器人向目标工作点位行驶,从而通过将目标标记物作为参照,实现了在多变环境下的高精度定位。
126.下面对上述s201~s203分别加以详细说明。
127.针对上述s201,视觉传感器采集的当前帧图像例如是在机器人目标场景内行驶过程中获取的当前帧图像。
128.其中,视觉传感器例如包括:深度相机、鱼眼相机、多目彩色相机、单目彩色相机等中的至少一种。
129.示例性的,机器人在目标场景内行驶过程中,能够通过视觉传感器获得视频流;在视频流中包括多帧图像。可以将视觉传感器实时采集的视频流中的当前图像作为当前帧图像;另外,也可以根据对机器人进行控制的控制周期,按照该控制周期从视频流中进行采样,得到当前帧图像。
130.针对上述s202,在得到当前帧图像后,例如可以检测该当前帧图像中是否包括目标标记物。
131.示例性的,目标标记物例如包括:设置在目标场景中的反光板、具有特殊轮廓的物品或者视觉标志物,该目标标记物可以固定设置在目标场景的某个位置;通过确定不同工作点位与目标标记物之间的相对位置关系,使得机器人在确定了目标标记物在目标场景内的第一位置后,即能够基于不同工作点位分别与目标标记物之间的相对位置关系,到达对应的工作点位。另外,目标标记物也可以可移动的设置在目标场景;在目标场景内的工作人员可以人为对目标标记物的位置进行调整。
132.或者在目标场景内设置有用于控制目标标记物移动的设备,如滑轨、无线遥控小车等;可以通过控制目标标记物在滑轨上进行滑动,从而移动至目标场景中的不同位置;或者通过人为操控无线遥控小车,控制安装在无线遥控小车上的目标标记物到达目标场景中的不同位置;在该种情况下,工作点位设置在与目标标记物的预设相对位置处,且随着所述目标标记物位于所述目标场景的不同位置,形成不同的工作点位;通过更改目标标记物在目标场景内的位置,以控制机器人能够到达不同的工作点位。
133.在检测当前帧图像中是否包括了目标标记物时,例如可以采用边缘和轮廓检测算法对当前帧图像进行处理,得到当前帧图像中多个物体的观测轮廓信息;然后将轮廓信息和目标标记物的轮廓信息进行匹配;若任一轮廓信息和目标标记物的轮廓信息匹配成功,则确定当前帧图像中包括了目标标记物。
134.在检测到当前帧图像中包括了目标标记物的情况下,确定目标标记物在目标场景中的第一位置。
135.在具体实施中,例如可以采用下述方式确定目标标记物在所述目标场景中的第一位置:
136.基于所述当前帧图像,确定所述目标标记物在与所述机器人对应的机器人坐标系下的第一观测位置;
137.基于所述机器人在所述目标场景中的当前位姿、以及所述目标标记物在所述机器人坐标系下的第一观测位置,确定所述目标标记物在所述目标场景中的第一位置。
138.此处,机器人对应的机器人坐标系,例如为视觉传感器对应的相机坐标系;例如以视觉传感器的光心为原点,以视觉传感器的光轴为深度方向,也即z轴,并以视觉传感器的图像投影平面作为x轴和y轴所在的平面,构建三维坐标系,该三维坐标系即为相机坐标系,也即机器人坐标系。随着机器人位置的不断发生变换,相机坐标系与场景坐标系之间的转换关系也随时发生变化。
139.在基于机器人在所述目标场景中的当前位姿、以及所述目标标记物在所述机器人坐标系下的第一观测位置,确定所述目标标记物在所述目标场景中的第一位置时,例如可以利用机器人在所述目标场景中的当前位姿、确定机器人坐标系和场景坐标系之间的转换关系,然后利用该转换关系、将目标标记物在机器人坐标系下的第一观测位置转换至场景坐标系下,得到目标标记物在所述目标场景中的第一位置。
140.在本公开另一实施例中,还包括:基于所述当前帧图像,确定所述机器人在所述目标场景中的当前位姿。
141.参见图3所示,本公开实施例提供一种基于所述当前帧图像,确定所述机器人在所述目标场景中的当前位姿的具体方法,包括:
142.s301:基于所述当前帧图像,确定所述目标场景中的至少一个目标参照物对象分别在机器人坐标系下的第二观测位姿。
143.此处,在目标场景中会确定多个参照物对象,该参照物对象通常为目标场景中设置的各种位置固定的物体。具体的,针对不同的目标场景,参照物对象也有所区别。
144.例如若目标场景为集装箱,则参照物对象例如包括:集装箱内壁的纹路、边缘线条、设置在集装箱内壁的二维码等。若目标场景为仓库,则参照如对象例如包括仓库内的墙面纹路、边缘线条、仓库内某些固定设施、粘贴在仓库内的二维码等。
145.在基于当前帧图像,确定目标场景中的至少一个目标参照物对象分别在机器人坐标系下的第二观测位姿时,例如可以采用边缘和轮廓检测算法,对所述当前帧图像进行边缘检测处理,得到当前帧图像中多个物体的观测轮廓信息;然后将观测轮廓信息和多个参照物对象分别对应的轮廓信息进行匹配;若任一观测轮廓信息和某个参照物对象的轮廓信息匹配成功,则将该参照物对象作为当前帧图像中包括的目标参照物对象。
146.此处,确定目标参照物对象的过程,可以和上述确定目标标记物的过程同步执行,也即,对当前帧图像进行一次边缘和轮廓检测处理,并基于处理结果,确定是否存在目标标记物,并确定目标参照物对象。
147.在确定了目标参照物对象后,利用当前帧图像确定目标参照物对象在机器人坐标系下的第二观测位姿。
148.此处,若当前帧图像中包括了n个目标参照物时,则基于当前帧图像,确定n个目标参照物分别在机器人坐标系下的第二观测位姿p1,p2,p3...pn。
149.s302:基于所述机器人在所述目标场景中的参考位姿、以及所述至少一个目标参照物对象分别在所述机器人坐标系下的第二观测位姿,确定所述至少一个目标参照物对象
分别在所述目标场景中的第三观测位姿。
150.此处,在确定目标参照物对象在目标场景中的第三观测位姿时,例如可以采用下述方式:
151.基于所述机器人在所述目标场景中的参考位姿,确定所述机器人坐标系与所述场景坐标系之间的转换关系信息;
152.利用所述转换关系信息、将所述至少一个目标参照物对象分别在所述机器人坐标系下的第一观测位置,转换为在所述目标场景中的第二观测位姿。
153.示例性的,若机器人在目标场景中的参考位姿表示为:o,则n个目标参照物对象中的第i个目标参照物对象的第三观测位姿pi'满足:pi'=opi。其中,pi表示第i个目标参照物对象的第二观测位姿。
154.s303:基于所述第三观测位姿、以及所述至少一个目标参照物对象分别在所述目标场景中的实际位姿,对所述参考位姿进行调整,得到所述机器人的当前位姿。
155.在具体实施中,例如可以采用下述方式,得到机器人的当前位姿:
156.执行至少一个周期的迭代,在每个迭代周期中:基于所述至少一个目标参照物对象分别对应的第三观测位姿、和在所述目标场景中的实际位姿,确定位姿误差;基于所述位姿误差,对当前迭代周期的参考位姿进行调整,得到调整后的参考位姿;
157.响应于满足迭代停止条件,将最后一个迭代周期得到的调整后的参考位姿,确定为所述机器人的所述当前位姿;
158.其中,所述当前迭代周期的参考位姿是基于前一次迭代周期的参考位姿确定的,或基于初始参考位姿确定的。
159.示例性的,位姿误差l例如满足下述公式(1):
[0160][0161]
其中,ei表示n个目标参照物对象中的第i个目标参照物对象对应的位置误差;且ei满足下述公式(2):
[0162]ei
=p
ti-1
pi'
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0163]
其中,p
ti
表示第i个目标参照物对象在目标场景中的实际位姿;pi'表示第i个目标参照物对象的第三观测位姿。
[0164]
通过上述方式,可以确定位姿误差。然后以机器人在目标场景中的参考为优化项,通过非线性优化方式,对参考位姿进行多个迭代周期的处理,并在每一个迭代周期中,利用该迭代周期确定的位姿误差,对该迭代周期对应的参考位姿进行调整,得到该迭代周期调整后的参考位姿。
[0165]
在满足迭代停止条件后,将最后一个迭代周期得到的调整后的参考位姿,作为机器人的当前位姿。
[0166]
其中,针对第一个迭代周期,对应的参考位姿为初始参考位姿。
[0167]
针对除第一个周期外的其他周期,对应的参考位姿为前一次迭代周期确定的调整后的参考位姿。
[0168]
此处,例如可以基于机器人上安装的里程计确定机器人的初始参考位姿。
[0169]
所述迭代停止条件包括下述至少一种:
[0170]
当前迭代周期对应的迭代次数达到预设迭代次数;
[0171]
当前迭代周期确定的位姿误差小于预设的位姿误差阈值。
[0172]
需要注意的是,初始参考位姿仅这对当前帧图像而言。针对其他帧图像,对应的初始参考位姿要根据在获取其他帧图像时里程计的计数而确定。
[0173]
另外,需要说明的是,在目标场景中例如可以为机器人确定预设的初始位置;机器人在非工作状态,被停放至该初始位置处。当开启机器人后,机器人将该初始位置作为在目标场景中的首个位置,并在后续的工作过程中,每执行一次本公开实施例提供的行驶控制方法,即要对其位置进行一次更新;然后利用里程计的计数、以及前一次更新的位置,得到当前帧图像对应的初始位置。
[0174]
通过上述方式,即可以根据当前帧图像确定机器人的当前位姿。然后,基于机器人在所述目标场景中的当前位姿、以及目标标记物在所述机器人坐标系下的第一观测位置,确定目标标记物在目标场景中的第一位置。
[0175]
针对上述s203:在基于所述机器人在所述目标场景中的当前位姿、所述目标标记物在所述目标场景中的第一位置、以及目标工作点位与所述目标标记物之间的相对位置关系,控制所述机器人向所述目标工作点位行驶时,例如可以采用下述方式:
[0176]
基于所述目标标记物在所述目标场景中的第一位置、以及目标工作点位与所述目标标记物之间的相对位置关系,得到所述目标工作点位在所述目标场景中的第二位置;
[0177]
基于所述机器人的当前位姿、以及所述目标工作点位在所述目标场景中的第二位置,生成目标路径;
[0178]
基于所述目标路径控制所述机器人向所述目标工作点位行驶。
[0179]
在具体实施中,在基于所述机器人的当前位姿、以及所述目标工作点位在所述目标场景中的第二位置,生成目标路径时,例如可以利用包括五次曲线规划法、贝塞尔曲线规划法等路线规划方法中的任一种路线规划方法,生成目标路径。
[0180]
以五次曲线规划法为例,可设机器人的路径点坐标为:(x,y);将规划问题建模为五次多项式问题,将加速度作为优化项构建约束方程通过给定起终点位置约束、起终点角度约束、速度约束、加速度约束,可将关于时间的五次参数方程转化为线性二次型j=u
t
hu,通过求解线性二次型可得到一条连接起终点的满足约束的平滑最优路径。将该最优路径确定为目标路径。
[0181]
在得到目标路径后,按照目标路径,控制机器人从当前位置向目标工作点位进行移动。
[0182]
这里需要注意的是,在机器人从当前位置向目标工作点位移动的过程中,可以继续周期性的执行本公开实施例提供的机器人的行驶控制方法,在这个过程中,会不断根据机器人的实际状态对目标路径进行优化,实现对机器人更好的控制。
[0183]
另一实施例中,在控制机器人到达目标工作点位后,可以向上位机上报任务执行完成的信息。上位机可以在接收到机器人上报的信息后,执行下一步操作,例如控制机器人上的物体进行放置到工作点位对应的位置、或者控制机器人搬运放置在目标工作点位的到其他位置等,具体根据实际的需要可以进行设置,在此不再赘述。
[0184]
参见图4和图5所示,本公开实施例提供一种机器人的行驶控制的具体示例,包括:
[0185]
如图4中a所示,机器人位于集装箱内,集装箱内放置有货物。机器人上设置的视觉传感器获取集装箱两侧内壁的图像,并进行特征检测,得到观测轮廓信息,和预先确定的参照物对象的轮廓信息进行匹配,得到机器人在集装箱中的当前位姿。x和y表示集装箱坐标系的x轴和y轴。
[0186]
如图4中b所示,根据当前位姿,调整自身的姿态、以及前进方向,以控制机器人沿预设路径在集装箱内行驶,该预设路径例如为集装箱的中线。
[0187]
参见图5中b所示,若机器人在沿预设路径行驶过程中,检测到目标标记物,则重新规划路径,生成目标路径,并沿目标路径向目标工作点位行驶。
[0188]
如图5中a所示,若机器人在沿预设路径行驶过程中,未检测到目标标记物,则一直沿预设路径行驶。
[0189]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0190]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0191]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0192]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0193]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护
范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献