1.本技术涉及
机器人技术领域,具体涉及一种平面内的机器人移动控制方法、装置、机器人及存储介质。
背景技术:
2.随着科技的不断发展,机器人逐渐走入人们的生活。在实际应用中,机器人既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。这类机器人可用在室内或室外,可用于工业或家庭,可用于取代保安巡视、取代人们清洁地面,还可用于家庭陪伴、辅助办公等。
3.通常机器人的移动控制方式可分为两种,一种是机器人直接根据设定的速度和角度等信号进行移动,另一种是给定一个
目标点,机器人自主规划路径,并生成一系列的移动控制命令,转化为速度和角度等信号,再依次执行,到达最终的目标点。第一种控制方式具有控制简单直接的优点,但是对于设定命令的用户不太友好,不能对应到具体的目标位置,需要人为不断调整。第二种控制方式对用户操作友好,只需设定目标点,机器人即可自主生成移动控制命令,但是生成移动控制命令的过程计算复杂,还需要提前对机器人所在的环境建立模型,才能够设定目标点的坐标,该控制方式需要更多的传感器支持,对机器人的算力要求较高。
技术实现要素:
4.本技术提出一种平面内的机器人移动控制方法、装置、机器人及存储介质,能够实现计算简单的移动控制过程,控制机器人到达标记的目标位置。
5.第一方面,本技术提供一种平面内的机器人移动控制方法,包括:
6.利用单目相机对机器人前进方向进行拍摄;
所述单目相机固定安装在所述机器人上,所述单目相机的光轴平行于地面且三维姿态角均为0度;
7.将所述单目相机拍摄的
图像发送至用户终端,以使用户在所述图像上标记机器人移动的目标点;
8.根据用户终端返回的标记了目标点的所述图像生成移动控制命令;
9.根据所述移动控制命令控制机器人运行至所述目标点对应的物理空间中的目标位置。
10.第二方面,本技术提供一种平面内的机器人移动控制装置,包括:
11.获取模块,用于利用单目相机对机器人前进方向进行拍摄;所述单目相机固定安装在所述机器人上,所述单目相机的光轴平行于地面且三维姿态角均为0度;
12.收发模块,用于将所述单目相机拍摄的图像发送至用户终端,以使用户在所述图像上标记机器人移动的目标点;
13.移动控制模块,用于根据用户终端返回的标记了目标点的所述图像生成移动控制命令;根据所述移动控制命令控制机器人运行至所述目标点对应的物理空间中的目标位
置。
14.本技术第三方面提供一种机器人,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现本技术第一方面所述的方法。
15.本技术第四方面提供一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现本技术第一方面所述的方法。
16.相较于现有技术,本技术实施例提供的平面内的机器人移动控制方法、装置、机器人及存储介质,利用单目相机对机器人前进方向进行拍摄;将所述单目相机拍摄的图像发送至用户终端,以使用户在所述图像上标记机器人移动的目标点;根据用户终端返回的标记了目标点的所述图像生成移动控制命令;根据所述移动控制命令控制机器人运行至所述目标点对应的物理空间中的目标位置。本技术通过单目相机拍摄机器人前进方向的图像画面,根据在用户回传图像上标记的目标点控制机器人到达标记的目标位置,本技术的移动控制过程计算简单,单目相机可以替换为夜视相机,即使在光线较暗的情况下,移动控制过程也能够正常运行。
附图说明
17.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
18.图1示出了本技术提供的一种平面内的机器人移动控制方法的流程图;
19.图2示出了本技术提供的一种用户终端和机器人的示意图;
20.图3示出了本技术提供的一种机器人的移动控制过程的流程图;
21.图4示出了本技术提供的一种单目相机拍摄的图像的示意图;
22.图5示出了本技术提供的第一截面的俯视图;
23.图6示出了本技术提供的第二截面的侧视图;
24.图7示出了本技术提供的机器人底盘10和单目相机20组成的俯视图;
25.图8示出了本技术提供的一种平面内的机器人移动控制装置的示意图;
26.图9示出了本技术提供的一种机器人的示意图;
27.图10示出了本技术提供的一种计算机可读存储介质的示意图。
具体实施方式
28.下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
29.需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本技术所属领域技术人员所理解的通常意义。
30.另外,术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系
列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
31.机器人根据应用的场景不同,可分为工业机器人、服务机器人、教育机器人、农用机器人等,其中移动控制是机器人控制中比较重要的部分。通常机器人的移动控制会转化为速度和角度等信号,并作用于电机等执行部件。移动控制命令一般分为直接设定控制命令和间接设定控制命令。直接设定的方式可通过上位机直接发送速度和角度等信号到机器人,上位机可以是摇杆、手柄、键盘、手势识别等设备。间接设定的方式发送的移动控制命令不包含速度和角度等参数,通常是目标点的坐标。
32.间接的方式应用较多的是基于导航的方法,导航的方法为周围环境建立模型,为机器人提供位姿信息,辅助机器人到达既定的目标点。导航的方法包括激光雷达、超声波雷达、卫星导航、视觉导航等方法。激光雷达成本较高;超声波雷达测距范围有限制,且方向性较差;卫星导航的覆盖范围有限制,在室内接收到的卫星信号弱,导航效果差;视觉导航无使用范围限制,室内室外均能工作,抗干扰能力强。
33.在视觉导航中,通常的做法是通过光学相机获取图像数据,从图像数据中,提取用于估计位姿的特征点,通过多组特征点,求解机器人的位姿,根据求得的位姿信息,控制机器人完成接下来的移动控制命令。此计算过程复杂,对机器人的算力要求较高。
34.有鉴于此,本技术提出一种平面内的机器人移动控制方法、装置、机器人及存储介质。
35.为进一步说明本技术实施例的方案,下面将结合附图进行描述。可以理解的是,下面各实施例中,相同或相应的内容可以相互参考,为描述简便,后续不作赘述。
36.请参考图1,其示出了本技术实施例所提供的一种平面内的机器人移动控制方法的流程图,该方法的执行主体可以为机器人,例如扫地机器人。如图1所示,上述平面内的机器人移动控制方法,可以包括以下步骤s101至s104:
37.s101、利用单目相机对机器人前进方向进行拍摄。
38.其中,单目相机固定安装在机器人上,单目相机的光轴平行于地面且三维姿态角均为0度,即单目相机的俯仰角、偏航角以及滚转角均为0度。
39.具体的,机器人在平面内移动,利用单目相机对前进方向进行拍摄,获得前进方向的图像,图像的下半部分为地面,上半部分可能为墙面。
40.s102、将所述单目相机拍摄的图像发送至用户终端,以使用户在所述图像上标记机器人移动的目标点。
41.s103、根据用户终端返回的标记了目标点的所述图像生成移动控制命令。
42.具体的,步骤s103可以实现为:将所述图像上标记的目标点转换为相对于图像中心的像素偏移;根据所述像素偏移,计算出在物理空间中所述目标点对应的目标位置与机器人当前位置的相对位移;根据所述相对位移生成移动控制命令。
43.具体的,可以基于最短路径算法,根据所述相对位移生成移动控制命令。
44.s104、根据所述移动控制命令控制机器人运行至所述目标点对应的物理空间中的目标位置。
45.具体的,本技术的移动控制过程主要涉及到两个设备,分别是远程控制的用户终
端和机器人。
46.在一些实施方式中,上述两个设备具体包含的功能模块如图2所示。用户终端用于设置目标位置,包含的模块有无线收发模块和触控显示屏,无线收发模块接收机器人回传的图像,触控显示屏显示回传的图像画面,用户在图像画面上设置目标点,最后通过无线收发模块将包含目标点的图像发送到机器人。机器人包含的模块有:无线收发模块、单目相机、障碍检测模块、移动控制模块。单目相机用于拍摄机器人前进方向的画面,并通过无线收发模块将图像数据传输到用户终端。如果使用鱼眼相机作为单目相机,拍摄的画面存在畸变,所以在回传图像数据前,需要对图像进行去畸变处理,否则会影响后续移动控制的精度。障碍检测模块用于检测机器人周围的障碍物,当机器人检测到障碍物时,机器人执行避障算法。移动控制模块用于控制机器人的移动,移动控制模块的输入是图像上标记点的位置,移动控制模块的输出是移动控制命令,具体的计算方法后面详细描述。
47.在本技术一些实施例中,机器人的移动控制过程如图3所示。本技术中的机器人是平面内可自由移动的机器人,用户终端是智能手机终端,在手机上部署定制开发的应用软件,实现图像接收、图像显示、标记目标点以及标点数据的发送过程。
48.具体的,机器人通过安装的单目相机,拍摄一定视角范围内的图像,拍摄的画面内容包括水平地面以及各种障碍物。机器人将图像回传到用户终端,用户终端通过显示屏显示回传的画面。操作用户终端的用户在触控屏上标记目标点,该目标点可以对应到物理空间中的实际位置(即目标位置)。由于本技术仅考虑平面环境下的标点过程,所以选取的目标点也是平面上的目标点,如果用户选取了非平面上的目标点,那么机器人将无法生成有效的移动控制命令。
49.机器人根据图像上标记的目标点,转换为像素的偏移。根据像素偏移,计算出在物理空间中目标点与当前位置的相对位移。当明确了移动方向和移动的距离后,机器人即可生成移动控制命令,保证机器人以最短路径移动到目标位置。在靠近目标位置的过程中,可能会遇到障碍物,如果检测到障碍物,则执行避障算法,躲避障碍物。无论是否遇到障碍物,机器人会持续判断是否移动到了目标点。如果到达了目标位置,则停止执行控制命令,机器人停止,进入完成控制的状态。如果仍未到达目标点,则继续执行控制命令。最短路径算法和避障算法采用相关技术,在本技术中不做赘述。
50.本技术重点研究如何将图像上标记的目标点,转化为目标点与机器人当前位置的相对位移,最终转化为移动控制命令,具体为场景为水平地面上的目标点。
51.如图4所示,矩形表示单目相机拍摄到的图像画面,图像画面的高度记为h,宽度记为w。水平方向使用x轴表示,x轴方向与机器人前进方向垂直,垂直于地面的方向使用z轴表示。o点表示图像中心,为x轴和z轴的交点,与单目相机的焦点处于同一轴线上。图像中的c点为标记的目标点,c点到z轴偏移的像素个数记为cw,c点在z轴上的投影点为cz,c点到x轴偏移的像素个数记为ch,c点在x轴的投影点为c
x
。
52.对于确定的图像传感器,每个像素的物理尺寸是已知的,x轴方向每个像素的尺寸记为x
p
,z轴方向每个像素的尺寸记为z
p
。对于确定的相机镜头,焦距同样是已知的,单目相机的焦距记为f。本技术仅处理目标点落在水平地面上的点,因此在图4中,标记点c处于x轴的下方,表示对应的物理空间中的目标点处于水平地面上。
53.标记点c在图像中z轴方向的像素偏移为ocz=ch*z
p
;
54.标记点c在图像中x轴方向的像素偏移为oc
x
=cw*x
p
。
55.如图5所示,表示从z轴看过去,第一截面经过焦点f的俯视图,第一截面为x轴和焦点f确定的平面。图5中x轴上粗线部分表示图像画面,图像画面的宽度为w,c点在x轴的投影点为c
x
,tz为物理空间中对应的目标点在截面上的投影,f为单目相机的焦点。tz在x轴方向到焦点f的距离为tzk,fk与x轴的交点即为图像的中心点o。
56.如图6所示,表示从x轴看过去,第二截面经过焦点f的侧视图,第二截面为z轴和焦点f确定的平面。图中z轴上粗线部分表示图像画面,图像画面的高度为h,目标点c在z轴上的投影为cz,ty为物理空间中对应的目标位置t在第二截面上的投影点。f为单目相机的焦点。焦点f到水平地面的距离为fn,tyn与z轴的交点为m。
57.步骤一:计算物理空间中的目标位置t到图像画面的垂直距离tym。
58.在图6中,根据相似三角形定理,有如下第一等式成立:
[0059][0060]
其中,fn为相机焦点到水平地面的垂直距离,可以通过测量得到。czm=om-ocz=fn-ocz,其中ocz可以通过计算目标点c在图像画面中z轴方向的偏移像素得到,ocz=ch*z
p
,mn等于单目相机的焦距f,所以tyn=tym+mn=tym+f,上述第一等式可以等价转换为如下第二等式:
[0061][0062]
上述第二等式仅包含一个未知量tym,所以可以求出tym的长度。
[0063]
步骤二:计算物理空间中的目标位置t在x轴方向上到图像中心o的距离tzk。
[0064]
在图5中,根据相似三角形定理,有如下第三等式成立:
[0065][0066]
其中fo为单目相机的焦距f,ok为物理空间中的目标位置t到图像画面的垂直距离,已在步骤一中求出,所以ok=tym,fk=fo+ok=f+tym,c
x
o可以通过计算目标点c在图像画面中x轴方向的偏移像素得到,c
x
o=cw*x
p
,上述第三等式可以等价转换为第四等式:
[0067][0068]
上述第四等式仅包含一个未知量tzk,所以可以求出tzk的长度。
[0069]
步骤三:计算机器人中心到物理空间中的目标位置的相对位移。
[0070]
如图7所示,是由机器人底盘10和单目相机20组成的俯视图,图7中t点为目标位置,根据上述步骤,已经求解出了tym和tzk的长度,l
x
和ly分别是单目相机相对于机器人中心位置在x轴方向和y轴方向的偏移距离,那么目标位置t相对于机器人中心在x轴方向和y轴方向的偏移距离记为r
x
和ry,r
x
=tzk+l
x
,ry=tym+ly。
[0071]
将图7中逆时针方向作为转角的正方向,则在本实施例中,机器人要到达目标位置t,应该转过的转向角度为:θ=-arctan(r
x
/ry)。
[0072]
步骤四:生成机器人的移动控制命令。
[0073]
根据步骤三计算得出的机器人中心相对于目标位置的位移r
x
和ry,设定基本的移
动速度值,根据计算得出的转向角度θ,设定机器的角速度值,在机器人按照设定的速度和角度进行移动的过程中,可通过机器人的里程计记录机器人已经完成的位移。当判断已经完成的位移即为目标位置时,机器人停止移动。
[0074]
以上为本技术中机器人的当前位置与目标位置的求解过程,可以分为四个步骤,每一步的计算依赖上一步的计算结果,如此设计保证计算过程简便,减小计算量。
[0075]
值得一提的是,从机器人当前位置到目标位置的相对位移求解过程,还可以通过建立坐标系的方式进行阐述。单目相机可以替换为夜视相机,即使在光线较暗的情况下,移动控制过程也能够正常运行。用户终端不限于手机实现方式,还可以是电脑软件,或者web页面控制方式。机器人的移动方式可以是轮式、履带式或者四足形式,本技术不做限定。
[0076]
当前的机器人移动控制方法可以分为两种,一种采用直接设定速度和角度等信号的方式,此方法不能够直观反映出到达的目标位置;另一种采用导航的方法,通过设置目标点的坐标,再转化为速度和角度等信号,但是此方法需要对周围环境建立模型,且该过程计算复杂。本技术针对上述方法存在的问题,提出了一种新的方法,通过单目相机拍摄前进方向的画面,并在回传图像上标点的方式,可以实现计算简单的移动控制过程,让机器人到达标记的目标位置。该方法无需对周围环境建模,拍摄到的画面即为周围环境的实时状态,在图像上的标记点能够直观反应目标位置。从机器人当前位置到目标位置的计算过程简单,能够求解出相对距离和转角信息,便于后续转化为包含速度和角度等信号的移动控制命令。
[0077]
在上述的实施例中,提供了一种平面内的机器人移动控制方法,与之相对应的,本技术还提供一种平面内的机器人移动控制装置。请参考图8,其示出了本技术的一些实施方式所提供的另一种平面内的机器人移动控制装置的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
[0078]
如图8所示,所述平面内的机器人移动控制装置100可以包括:
[0079]
获取模块101,用于利用单目相机对机器人前进方向进行拍摄;所述单目相机固定安装在所述机器人上,所述单目相机的光轴平行于地面且三维姿态角均为0度;
[0080]
收发模块102,用于将所述单目相机拍摄的图像发送至用户终端,以使用户在所述图像上标记机器人移动的目标点;
[0081]
移动控制模块103,用于根据用户终端返回的标记了目标点的所述图像生成移动控制命令;根据所述移动控制命令控制机器人运行至所述目标点对应的物理空间中的目标位置。
[0082]
在一种可能的实现方式中,所述移动控制模块103,具体用于:
[0083]
将所述图像上标记的目标点转换为相对于图像中心的像素偏移;
[0084]
根据所述像素偏移,计算出在物理空间中所述目标点对应的目标位置与机器人当前位置的相对位移;
[0085]
根据所述相对位移生成移动控制命令。
[0086]
在一种可能的实现方式中,所述移动控制模块103,具体用于:
[0087]
所述图像的画面高度为h,宽度为w,x轴表示水平方向,x轴方向与机器人前进方向垂直,z轴表示垂直于地面的方向;o点表示图像中心,为x轴和z轴的交点,与单目相机的焦
点处于同一轴线上;
[0088]
c点表示所述图像中标记的目标点,c点到z轴偏移的像素个数为cw,c点在z轴上的投影点为cz,c点到x轴偏移的像素个数记为ch,c点在x轴的投影点为c
x
;x轴方向每个像素的尺寸为x
p
,z轴方向每个像素的尺寸为z
p
;则,
[0089]
c点在所述图像中z轴方向的像素偏移为ocz=ch*z
p
;
[0090]
c点在所述图像中x轴方向的像素偏移为oc
x
=cw*x
p
。
[0091]
在一种可能的实现方式中,所述移动控制模块103,具体用于:
[0092]
单目相机的焦点为f,焦距为f;
[0093]
第一截面为x轴和焦点f确定的平面;tz为物理空间中对应的目标位置t在第一截面上的投影;tz在x轴方向到焦点f的距离为tzk,fk与x轴的交点为图像中心o;
[0094]
第二截面为z轴和焦点f确定的平面;ty为物理空间中对应的目标位置t在第二截面上的投影;焦点f到水平地面的垂直距离为fn,tyn与z轴的交点为m;
[0095]
步骤一:计算物理空间中的目标位置t到图像画面的垂直距离tym;
[0096]
根据相似三角形定理,有如下第一等式成立:
[0097][0098]
其中,czm=om-ocz=fn-ocz,mn等于单目相机的焦距f,所以tyn=tym+mn=tym+f,所述第一等式可以等价转换为如下第二等式:
[0099][0100]
第二等式仅包含一个未知量tym,根据第二等式求出tym的长度;
[0101]
步骤二:计算物理空间中的目标位置t在x轴方向上到图像中心o的距离tzk;
[0102]
根据相似三角形定理,有如下第三等式成立:
[0103][0104]
其中,fo为单目相机的焦距f,ok为物理空间中的目标位置t到图像画面的垂直距离,即ok=tym,fk=fo+ok=f+tym,第三等式可以等价转换为如下第四等式:
[0105][0106]
第四等式仅包含一个未知量tzk,根据第四等式求出tzk的长度;
[0107]
步骤三:计算机器人中心到物理空间中的目标位置的相对位移;
[0108]
l
x
和ly分别为单目相机相对于机器人中心位置在x轴方向和y轴方向的偏移距离,则目标位置t相对于机器人中心在x轴方向和y轴方向的偏移距离为r
x
和ry,r
x
=tzk+l
x
,ry=tym+ly;
[0109]
将第一截面的俯视图中逆时针方向作为转角的正方向,则机器人要到达目标位置t,转向角度为θ=-arctan(r
x
/ry)。
[0110]
在一种可能的实现方式中,所述移动控制模块103,具体用于:
[0111]
基于最短路径算法,根据所述相对位移生成移动控制命令。
[0112]
在一种可能的实现方式中,所述收发模块102,具体用于:
[0113]
将所述单目相机拍摄的图像去畸变后发送至用户终端。
[0114]
在一种可能的实现方式中,所述移动控制模块103,具体用于:
[0115]
根据所述移动控制命令控制机器人运行至目标位置的过程中进行障碍物检测;
[0116]
若检测到障碍物,则执行避障算法,躲避障碍物,直至机器人运行至目标位置。
[0117]
本技术实施例提供的平面内的机器人移动控制装置与本技术实施例提供的平面内的机器人移动控制方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
[0118]
本技术实施方式还提供一种与前述实施方式所提供的平面内的机器人移动控制方法对应的机器人,例如清洁机器人、服务机器人等,以执行上述平面内的机器人移动控制方法。
[0119]
请参考图9,其示出了本技术的一些实施方式所提供的一种机器人的示意图。如图9所示,所述机器人30包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本技术前述任一实施方式所提供的平面内的机器人移动控制方法。
[0120]
其中,存储器201可能包含高速随机存取存储器(ram:random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口203(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
[0121]
总线202可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本技术实施例任一实施方式揭示的所述平面内的机器人移动控制方法可以应用于处理器200中,或者由处理器200实现。
[0122]
处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成上述方法的步骤。
[0123]
本技术实施例提供的机器人与本技术实施例提供的平面内的机器人移动控制方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
[0124]
本技术实施方式还提供一种与前述实施方式所提供的平面内的机器人移动控制方法对应的计算机可读存储介质,请参考图10,其示出的计算机可读存储介质为光盘40,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意
实施方式所提供的平面内的机器人移动控制方法。
[0125]
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
[0126]
本技术的上述实施例提供的计算机可读存储介质与本技术实施例提供的平面内的机器人移动控制方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0127]
需要说明的是,附图中的流程图和框图显示了根据本技术的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0128]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0129]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0130]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0131]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0132]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0133]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽
管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围,其均应涵盖在本技术的权利要求和说明书的范围当中。
技术特征:
1.一种平面内的机器人移动控制方法,其特征在于,包括:利用单目相机对机器人前进方向进行拍摄;所述单目相机固定安装在所述机器人上,所述单目相机的光轴平行于地面且三维姿态角均为0度;将所述单目相机拍摄的图像发送至用户终端,以使用户在所述图像上标记机器人移动的目标点;根据用户终端返回的标记了目标点的所述图像生成移动控制命令;根据所述移动控制命令控制机器人运行至所述目标点对应的物理空间中的目标位置。2.根据权利要求1所述的方法,其特征在于,所述根据用户终端返回的标记了目标点的所述图像生成移动控制命令,包括:将所述图像上标记的目标点转换为相对于图像中心的像素偏移;根据所述像素偏移,计算出在物理空间中所述目标点对应的目标位置与机器人当前位置的相对位移;根据所述相对位移生成移动控制命令。3.根据权利要求2所述的方法,其特征在于,所述将所述图像上标记的目标点转换为相对于图像中心的像素偏移,包括:所述图像的画面高度为h,宽度为w,x轴表示水平方向,x轴方向与机器人前进方向垂直,z轴表示垂直于地面的方向;o点表示图像中心,为x轴和z轴的交点,与单目相机的焦点处于同一轴线上;c点表示所述图像中标记的目标点,c点到z轴偏移的像素个数为c
w
,c点在z轴上的投影点为c
z
,c点到x轴偏移的像素个数记为c
h
,c点在x轴的投影点为c
x
;x轴方向每个像素的尺寸为x
p
,z轴方向每个像素的尺寸为z
p
;则,c点在所述图像中z轴方向的像素偏移为oc
z
=c
h
*z
p
;c点在所述图像中x轴方向的像素偏移为oc
x
=c
w
*x
p
。4.根据权利要求3所述的方法,其特征在于,所述根据所述像素偏移,计算出在物理空间中所述目标点对应的目标位置与机器人当前位置的相对位移,包括:单目相机的焦点为f,焦距为f;第一截面为x轴和焦点f确定的平面;t
z
为物理空间中对应的目标位置t在第一截面上的投影;t
z
在x轴方向到焦点f的距离为t
z
k,fk与x轴的交点为图像中心o;第二截面为z轴和焦点f确定的平面;t
y
为物理空间中对应的目标位置t在第二截面上的投影;焦点f到水平地面的垂直距离为fn,t
y
n与z轴的交点为m;步骤一:计算物理空间中的目标位置t到图像画面的垂直距离t
y
m;根据相似三角形定理,有如下第一等式成立:其中,c
z
m=om-oc
z
=fn-oc
z
,mn等于单目相机的焦距f,所以t
y
n=t
y
m+mn=t
y
m+f,所述第一等式可以等价转换为如下第二等式:第二等式仅包含一个未知量t
y
m,根据第二等式求出t
y
m的长度;
步骤二:计算物理空间中的目标位置t在x轴方向上到图像中心o的距离t
z
k;根据相似三角形定理,有如下第三等式成立:其中,fo为单目相机的焦距f,ok为物理空间中的目标位置t到图像画面的垂直距离,即ok=t
y
m,fk=fo+ok=f+t
y
m,第三等式可以等价转换为如下第四等式:第四等式仅包含一个未知量t
z
k,根据第四等式求出t
z
k的长度;步骤三:计算机器人中心到物理空间中的目标位置的相对位移;l
x
和l
y
分别为单目相机相对于机器人中心位置在x轴方向和y轴方向的偏移距离,则目标位置t相对于机器人中心在x轴方向和y轴方向的偏移距离为r
x
和r
y
,r
x
=t
z
k+l
x
,r
y
=t
y
m+l
y
;将第一截面的俯视图中逆时针方向作为转角的正方向,则机器人要到达目标位置t,转向角度为θ=-arctan(r
x
/r
y
)。5.根据权利要求2所述的方法,其特征在于,所述根据所述相对位移生成移动控制命令,包括:基于最短路径算法,根据所述相对位移生成移动控制命令。6.根据权利要求1所述的方法,其特征在于,所述将所述单目相机拍摄的图像发送至用户终端,包括:将所述单目相机拍摄的图像去畸变后发送至用户终端。7.根据权利要求1所述的方法,其特征在于,所述根据所述移动控制命令控制机器人运行至所述目标点对应的物理空间中的目标位置,包括:根据所述移动控制命令控制机器人运行至目标位置的过程中进行障碍物检测;若检测到障碍物,则执行避障算法,躲避障碍物,直至机器人运行至目标位置。8.一种平面内的机器人移动控制装置,其特征在于,包括:获取模块,用于利用单目相机对机器人前进方向进行拍摄;所述单目相机固定安装在所述机器人上,所述单目相机的光轴平行于地面且三维姿态角均为0度;收发模块,用于将所述单目相机拍摄的图像发送至用户终端,以使用户在所述图像上标记机器人移动的目标点;移动控制模块,用于根据用户终端返回的标记了目标点的所述图像生成移动控制命令;根据所述移动控制命令控制机器人运行至所述目标点对应的物理空间中的目标位置。9.一种机器人,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行以实现如权利要求1至7中任一项所述的方法。10.一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至7中任一项所述的方法。
技术总结
本申请提供一种平面内的机器人移动控制方法、装置、机器人及存储介质。方法包括:利用单目相机对机器人前进方向进行拍摄;将所述单目相机拍摄的图像发送至用户终端,以使用户在所述图像上标记机器人移动的目标点;根据用户终端返回的标记了目标点的所述图像生成移动控制命令;根据所述移动控制命令控制机器人运行至所述目标点对应的物理空间中的目标位置。本申请通过单目相机拍摄机器人前进方向的图像画面,根据在用户回传图像上标记的目标点控制机器人到达标记的目标位置,本申请的移动控制过程计算简单,单目相机可以替换为夜视相机,即使在光线较暗的情况下,移动控制过程也能够正常运行。能够正常运行。能够正常运行。
技术研发人员:
张斌 魏建超
受保护的技术使用者:
北京博雅睿视科技有限公司
技术研发日:
2022.06.16
技术公布日:
2022/10/11