CN113654558A - 导航方法及装置、服务器、设备、系统及存储介质 - Google Patents
导航方法及装置、服务器、设备、系统及存储介质 Download PDFInfo
- Publication number
- CN113654558A CN113654558A CN202110808943.7A CN202110808943A CN113654558A CN 113654558 A CN113654558 A CN 113654558A CN 202110808943 A CN202110808943 A CN 202110808943A CN 113654558 A CN113654558 A CN 113654558A
- Authority
- CN
- China
- Prior art keywords
- navigation
- mode
- automatic
- map
- automatic navigation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000003032 molecular docking Methods 0.000 claims description 78
- 230000000007 visual effect Effects 0.000 claims description 43
- 210000001503 joint Anatomy 0.000 claims description 36
- 238000013439 planning Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 9
- 238000012790 confirmation Methods 0.000 claims description 7
- 208000036829 Device dislocation Diseases 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 12
- 230000008859 change Effects 0.000 abstract description 9
- 230000007613 environmental effect Effects 0.000 abstract description 9
- 230000009286 beneficial effect Effects 0.000 abstract description 6
- 102000008115 Signaling Lymphocytic Activation Molecule Family Member 1 Human genes 0.000 description 152
- 108010074687 Signaling Lymphocytic Activation Molecule Family Member 1 Proteins 0.000 description 152
- 230000008569 process Effects 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011068 loading method Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000208125 Nicotiana Species 0.000 description 1
- 235000002637 Nicotiana tabacum Nutrition 0.000 description 1
- 241000255969 Pieris brassicae Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
本申请涉及机器人技术领域,提供一种导航方法及装置、服务器、设备、系统及存储介质。其中,导航方法应用于调度系统,具体包括:接收自动导航设备发送的第一位置信息;根据第一位置信息判断自动导航设备是否满足第一模式切换条件;若自动导航设备满足第一模式切换条件,则向自动导航设备发送第一模式切换指令。由于支持导航模式的动态变更,因此该方法有助于自动导航设备充分发挥各种导航方式的优势,自动适应各种环境场景,从而拓宽了自动导航设备的应用场景。
Description
技术领域
本发明涉及机器人技术领域,具体而言,涉及一种导航方法及装置、服务器、设备、系统及存储介质。
背景技术
近年来,自动导航小车(Auto Guided Vehicle,简称AGV)被大量部署在电商、智能工厂等领域,用于执行货物搬运等任务。AGV的自动导航是指AGV根据对自身位姿的判断,沿预定路线移动的行为。现有技术中,存在多种AGV导航方式,例如,二维码导航、同步定位与地图构建(Simultaneous Localization and Mapping,简称SLAM)导航等,这些导航方式各有优缺点,目前的AGV普遍仅支持其中一种导航方式,从而不能充分发挥各种导航方式的优势,也限制了AGV在某些业务场景中的应用。
发明内容
本申请实施例的目的在于提供一种导航方法及装置、服务器、设备、系统及存储介质,以改善上述技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种导航方法,应用于调度系统,所述方法包括:接收自动导航设备发送的第一位置信息;根据所述第一位置信息判断所述自动导航设备是否满足从当前导航模式切换至目标导航模式的第一模式切换条件;若所述自动导航设备满足所述第一模式切换条件,则向所述自动导航设备发送第一模式切换指令。
上述方法中的自动导航设备支持多种导航模式,在满足第一模式切换条件时,自动导航设备可以在调度系统的控制下进行导航模式的切换。由于支持导航模式的动态变更,因此该方法有助于自动导航设备充分发挥各种导航方式的优势,自动适应各种环境场景,从而拓宽了自动导航设备的应用场景。
在第一方面的一种实现方式中,所述第一模式切换条件包括以下条件中的至少一个:所述自动导航设备位于当前导航地图和目标导航地图的公共区域内或相邻的边界上;其中,所述当前导航地图为所述自动导航设备在所述当前导航模式下使用的地图,所述目标导航地图为所述自动导航设备在所述目标导航模式下使用的地图;所述自动导航设备当前所处的环境与所述当前导航模式不匹配,且与所述目标导航模式匹配。
很多自动导航方式都需要导航地图提供支持,在两张导航地图的非公共区域内,自动导航设备只能按照一种模式进行导航,而在两张地图的公共区域内,自动导航设备可以按照任意一种模式进行导航,从而在理论上能够满足切换导航模式的基本要求。在导航地图的公共区域内,及时地切换导航模式,使得自动导航设备可以支持跨导航地图的作业。
对于两张导航地图没有公共区域,但边界相邻的情况,可以类似分析。
不同的导航模式都有与其匹配的环境,即自动导航设备处于该环境下时,相应的导航模式才能够实施或者才能够比较好地实施。而自动导航设备所处的环境很可能会发生变换,一方面是环境自身会变换(例如,光照条件会随时间改变),另一方面自动导航设备的运动也可能导致周围环境的变换。从而,在环境变化时,及时地改变导航模式,使得自动导航设备可以长时间保持良好的工作状态。
在第一方面的一种实现方式中,在所述接收自动导航设备上传的第一位置信息之前,所述方法还包括:根据地图编辑界面上作出的编辑操作生成导航地图,并向所述自动导航设备发送所述导航地图;其中,所述导航地图包括所述当前导航地图和所述目标导航地图。
在上述实现方式中,提供地图编辑界面供用户编辑导航地图,有利于获得符合实际环境的地图,从而改善自动导航的准确性。
在第一方面的一种实现方式中,在所述向所述自动导航设备发送第一模式切换指令之后,所述方法还包括:控制地图显示界面上显示的所述当前导航地图切换为所述目标导航地图。
在上述实现方式中,切换导航模式时也相应地切换地图显示界面上显示的地图,使得用户能够实时查看自动导航设备正在使用的地图,改善用户体验。可选的,调度系统也可以在接收到自动导航设备反馈的导航模式切换成功的确认消息后,再进行地图切换,确保地图显示切换与导航模式切换的同步性。
在第一方面的一种实现方式中,所述第一模式切换条件至少包括所述自动导航设备位于对接点,所述对接点为所述当前导航地图和所述目标导航地图的公共区域内的指定地点。
在上述实现方式中,仅在对接点处才允许自动导航设备进行导航模式的切换,这样的设置一方面是某些导航模式的特点所决定的,另一方面也是某些业务场景所决定的。对接点的位置在导航地图上被精确地标注,便于进行路径规划。
在第一方面的一种实现方式中,所述对接点包括所述自动导航设备的工作站点。
在工作站点处自动导航设备可以进行停留并执行一些与业务相关的操作,例如,装货、卸货、理货等。在工作站点处还可以配备人员、设备,以辅助自动导航设备完成这些操作。而自动导航设备在切换导航模式时往往也需要进行停留,从而可以通过将工作站点设置为对接点,将这两类停留统一起来,提高自动导航设备的工作效率。
在第一方面的一种实现方式中,所述第一模式切换条件至少包括所述自动导航设备位于对接点;在所述接收自动导航设备上传的第一位置信息之前,所述方法还包括:向所述自动导航设备发送从所述当前导航地图中的起点移动至所述对接点的调度指令;在所述向所述自动导航设备发送第一模式切换指令之后,所述方法还包括:向所述自动导航设备发送从所述对接点移动至所述目标导航地图中的终点的调度指令。
在一个任务中,自动导航设备需要从当前导航地图中的起点移动至目标导航地图中的终点,这一过程在调度系统上可以分为三步完成,第一步在当前导航模式下将自动导航设备从起点调度至对接点,第二步控制自动导航设备从当前导航模式切换为目标导航模式,第三步在目标导航模式下将自动导航设备从对接点调度至终点。整个调度过程简单、高效,实现了导航模式的平滑切换。
在第一方面的一种实现方式中,在所述向所述自动导航设备发送从所述当前导航地图中的起点移动至所述对接点的调度指令之前,所述方法还包括:接收业务系统发送的调度任务,所述调度任务的任务信息包括所述起点和所述终点的位置;根据所述任务信息规划所述自动导航设备的移动路径,所述移动路径包括从所述起点到所述对接点的路径,以及,从所述对接点到所述终点的路径。
在上述实现方式中,业务系统只负责定义任务的起点和终点,路径规划则由调度系统负责完成,即调度系统向业务系统屏蔽了调度过程的实现细节,减轻了业务系统侧的设计负担。
在第一方面的一种实现方式中,所述第一模式切换条件至少包括所述自动导航设备位于对接点,在所述根据所述第一位置信息判断所自述动导航设备是否满足第一模式切换条件之前,所述方法还包括:接收第二模式切换指令,所述第二模式切换指令用于指示所述调度系统控制所述自动导航设备进行导航模式切换;在所述根据所述第一位置信息判断所述自动导航设备是否满足第一模式切换条件之后,所述方法还包括:若所述自动导航设备因未处于所述对接点而不满足所述第一模式切换条件,则向所述自动导航设备发送移动至所述对接点的调度指令。
第二导航模式切换指令可以是调度系统的客户端或者业务系统下发给调度系统的,接收到第二导航模式切换指令时,自动导航设备可能并不在对接点,因此不能进行导航模式切换,此时调度系统需要先将自动导航设备调度到对接点,再控制其进行导航模式的切换,以实现对第二导航模式切换指令的响应。
在第一方面的一种实现方式中,所述第二模式切换指令为手动切换指令,所述向所述自动导航设备发送移动至所述对接点的调度指令,包括:生成提示信息,并向所述调度系统的客户端发送所述提示信息,所述提示信息用于告知用户选择是否要进行导航模式切换;响应从所述客户端接收到的切换确认指令,向所述自动导航设备发送移动至所述对接点的调度指令。
手动模式可用于系统调试阶段,测试导航模式切换功能能否正常运作。调度系统收到手动切换指令时,如果确认自动导航设备不在对接点,即不能立即切换导航模式,可以通知用户,让用户选择是否要继续进行导航模式切换,如果用户坚持切换导航模式,则先将自动导航设备调度到对接点,再控制其进行导航模式的切换,以实现对手动切换指令的响应。
在第一方面的一种实现方式中,所述自动导航设备支持的导航模式包括:二维码导航模式以及至少一种SLAM导航模式,或者,至少两种SLAM导航模式;其中,所述SLAM导航模式包括:激光SLAM、视觉SLAM以及激光结合视觉SLAM。
自动导航设备采用二维码导航,具有定位精度高、位姿计算容易、移动速度快等优点,但缺点是环境布置(布置二维码)的工作量较大;自动导航设备采用SLAM导航,具有环境布置的工作量较小、路径规划灵活等优点,但缺点是定位精度易受环境影响、位姿计算实时性较差、移动速度相对较慢。
进一步的,SLAM导航也可以细分为几种不同的方式,分别是激光SLAM、视觉SLAM以及激光结合视觉SLAM。激光SLAM更适于静态且简单的环境,视觉SLAM更适于较大尺度且动态的环境,另外在光线较差的环境中,视觉SLAM的表现也不如激光SLAM,激光结合视觉SLAM结合了二者的优点,但硬件成本较高。
在上述实现方式中,由于调度系统可控制自动导航设备在二维码导航模式和SLAM导航模式之间,或者不同的SLAM导航模式之间进行切换,从而有利于这些导航方式取长补短,达到更优的导航效果,满足用户的实际需求。
在第一方面的一种实现方式中,所述自动导航设备支持二维码导航模式以及至少一种SLAM导航模式,所述自动导航设备使用的导航地图包括二维码导航地图和SLAM导航地图,所述根据地图编辑界面上的编辑操作生成导航地图,包括:在所述地图编辑界面上创建原始二维码导航地图,并根据所述地图编辑界面上对所述原始二维码导航地图作出的编辑操作,生成所述二维码导航地图;以及,将所述自动导航设备预创建的原始SLAM导航地图导入所述地图编辑界面,并根据所述地图编辑界面上对所述原始SLAM导航地图作出的编辑操作,生成所述SLAM导航地图。
在上述实现方式中,对于二维码导航地图,可以完全由用户编辑产生,对于SLAM导航地图,可以先由自动导航设备在实际环境中运动一遍,构建好原始SLAM导航地图,然后将原始SLAM导航地图从自动导航设备导出,并导入到调度系统的地图编辑界面中,最后由用户在原始SLAM导航地图上进一步编辑得到最终的SLAM导航地图。即,针对不同类型的导航地图可以采取不同的编辑策略。
在第一方面的一种实现方式中,所述自动导航设备支持二维码导航模式,所述当前导航地图或所述目标导航地图为二维码导航地图;所述对接点包括所述二维码导航地图中位于所述公共区域内或所述相邻的边界上的二维码点。
在二维码导航模式下,二维码点在二维码导航地图中的位置容易被精确地计算,并且自动导航设备也可以在二维码点处进行停留,因此可从二维码点中选择对接点。
在第一方面的一种实现方式中,所述自动导航设备支持SLAM导航模式,所述当前导航地图和/或所述目标导航地图为SLAM导航地图,所述方法还包括:接收被移动至所述对接点处的所述自动导航设备上传的第二位置信息;根据所述第二位置信息在所述SLAM导航地图中标记出所述对接点。
由于SLAM导航地图并不具有二维码导航地图中的网格结构,所以不同于二维码点,在SLAM导航地图中难以直接标记出对接点精确的位置。在上述实现方式中,先将自动导航设备移动至欲标记的对接点处(例如,某个二维码点处),然后根据其上报的第二位置信息来自动标记该对接点在SLAM导航地图中的位置,可以得到精确的标记结果。
第二方面,本申请实施例提供一种导航方法,应用于自动导航设备,包括:向调度系统发送所述自动导航设备的第一位置信息;其中,所述第一位置信息用于所述调度系统判断所述自动导航设备是否满足从当前导航模式切换至目标导航模式的第一模式切换条件;接收所述调度系统发送的第一模式切换指令;其中,所述第一模式切换指令由所述调度系统在判断出所述自动导航设备满足所述第一模式切换条件时发送;响应所述第一模式切换指令,从所述当前导航模式切换至所述目标导航模式。
上述方法中的自动导航设备支持多种导航模式,在满足第一模式切换条件时,自动导航设备可以在调度系统的控制下进行导航模式的切换。由于支持导航模式的动态变更,因此该方法有助于自动导航设备充分发挥各种导航方式的优势,自动适应各种环境场景,从而拓宽了自动导航设备的应用场景。
在第二方面的一种实现方式中,所述响应所述第一模式切换指令,从所述当前导航模式切换至所述目标导航模式,包括:响应所述第一模式切换指令,判断所述自动导航设备是否满足从所述当前导航模式切换至所述目标导航模式的第二模式切换条件;若自动导航设备满足所述第二模式切换条件,则从所述当前导航模式切换至所述目标导航模式。
在上述实现方式中,自动导航设备自身在切换导航模式之前,也可以再判断一次模式切换条件是否满足,以确保导航模式的切换时机是正确、可靠的。第二模式切换条件可以和第一模式切换条件相同,也可以不相同。
第三方面,本申请实施例提供一种导航装置,配置于部署有调度系统的服务器,所述装置包括:位置信息接收模块,用于接收自动导航设备发送的第一位置信息;切换条件判断模块,用于根据所述第一位置信息判断所述自动导航设备是否满足从当前导航模式切换至目标导航模式的第一模式切换条件;切换指令发送模块,用于在所述自动导航设备满足所述第一模式切换条件是,向所述自动导航设备发送第一模式切换指令。
第四方面,本申请实施例提供一种导航装置,配置于自动导航设备,包括:位置信息发送模块,用于向调度系统发送所述自动导航设备的第一位置信息;其中,所述第一位置信息用于所述调度系统判断所述自动导航设备是否满足从当前导航模式切换至目标导航模式的第一模式切换条件;切换指令接收模块,用于接收所述调度系统发送的第一模式切换指令;其中,所述第一模式切换指令由所述调度系统在判断出所述自动导航设备满足所述第一模式切换条件时发送;模式切换模块,用于响应所述第一模式切换指令,从所述当前导航模式切换至所述目标导航模式。
第五方面,本申请实施例提供一种服务器,包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
第六方面,本申请实施例提供一种自动导航设备,包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第二方面或第二方面的任意一种可能的实现方式提供的方法。
第七方面,本申请实施例提供一种货物搬运系统,包括:服务器,用于部署调度系统,所述服务器执行第一方面或第一方面的任意一种可能的实现方式提供的方法;自动导航设备,用于基于自动导航进行货物搬运,所述自动导航设备执行第二方面或第二方面的任意一种可能的实现方式提供的方法。
第八方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面、第二方面或这两方面的任意一种可能的实现方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的导航方法可采用的一种系统架构方式;
图2示出了本申请实施例提供的导航方法的一种可能的流程;
图3示出了本申请实施例提供的导航方法中可使用的二维码导航地图;
图4示出了本申请实施例提供的导航方法中可使用的SLAM导航地图;
图5示出了本申请实施例提供的导航方法的另一种可能的流程;
图6示出了本申请实施例提供的导航方法的另一种可能的流程;
图7示出了本申请实施例提供的一种导航装置的可能的结构;
图8示出了本申请实施例提供的另一种导航装置的可能的结构;
图9示出了本申请实施例提供的服务器的一种可能的结构;
图10示出了本申请实施例提供的自动导航设备的一种可能的结构。
具体实施方式
随着物联网、人工智能、大数据等智能化技术的发展,利用这些智能化技术对传统物流业进行转型升级的需求愈加强劲,智慧物流(Intelligent Logistics System,简称ILS)成为物流领域的研究热点。智慧物流利用人工智能、大数据以及各种信息传感器、射频识别技术、全球定位系统(Global Positioning System,简称GPS)等物联网装置和技术,广泛应用于物料的运输、仓储、配送、包装、装卸和信息服务等基本活动环节,实现物料管理过程的智能化分析决策、自动化运作和高效率优化管理。物联网技术包括传感设备、射频识别(Radio Frequency Identification,简称RFID)、激光红外扫描、红外感应识别等,物联网能够将物流中的物料与网络实现有效连接,并可实时监控物料,还可感知仓库的湿度、温度等环境数据,保障物料的储存环境。通过大数据技术可感知、采集物流中所有数据,上传至信息平台数据层,对数据进行过滤、挖掘、分析等作业,最终对业务流程(如运输、入库、存取、拣选、包装、分拣、出库、盘点、配送等环节)提供精准的数据支持。人工智能在物流中的应用方向可以大致分为两种:
(1)以人工智能(Artificial Intelligence,简称AI)技术赋能的如无人卡车、AGV、自主移动机器人(Autonomous Mobile Robots,简称AMR)、叉车、穿梭车、堆垛机、无人配送车、无人机、服务机器人、机械臂、智能终端等智能设备代替部分人工。
(2)通过计算机视觉、机器学习、运筹优化等技术或算法驱动的如运输设备管理系统、仓储管理、设备调度系统、订单分配系统等软件系统提高人工效率。随着智慧物流的研究和进步,该项技术在众多领域展开了应用,例如零售及电商、电子产品、烟草、医药、工业制造、鞋服、纺织、食品等领域。
本申请实施例提出的自动导航方案也可视为人工智能在物流领域的一种应用,当然该方法的应用场景并不限于物流领域。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
图1示出了本申请实施例提供的导航方法可采用的一种系统架构方式。参照图1,该架构至少包括:自动导航设备110以及调度系统120,在一些实现方式中还有可能包括业务系统130和/或客户端140,这些组件相互之间可能具有的数据交互关系如图1中箭头所示。
其中,自动导航设备110泛指具有自动导航能力的设备,例如,可以是AGV、AMR、无人机、无人船等设备,在后文中主要以地面设备为例。在该架构中,自动导航设备110可以为一台或多台。
自动导航存在不同的模式,可用的导航模式包括二维码导航模式、SLAM导航模式(若划分的细一些,SLAM导航模式可以进一步包括激光SLAM、视觉SLAM以及激光结合视觉SLAM)、惯性导航模式、以及目前已有或将来可能出现的其他导航模式,在后文中主要以二维码和SLAM两类导航模式为例进行阐述,下面先以自动导航设备在仓库中导航的情况为例,简单介绍这两类导航模式。
(1)二维码导航模式
先在仓库地面上等间距地铺设二维码,自动导航设备上安装有二维码识别单元并存储二维码导航地图,自动导航设备可沿二维码导航地图中的直线(包含折线)路径移动,移动过程中通过扫描地面上的二维码对自身进行定位。二维码导航具有定位精度高、位姿计算容易、自动导航设备移动速度快等优点,但缺点是环境布置(铺设二维码)的工作量较大,并且在有些环境中也不方便铺设二维码。
(2)SLAM导航模式
SLAM导航模式是一个统称,其至少包含激光SLAM、视觉SLAM以及激光结合视觉SLAM三种具体的导航模式,支持SLAM导航模式的自动导航设备上安装有激光雷达和/或摄像头。具体地,若安装有激光雷达则可以采用激光SLAM进行导航,若安装有摄像头则可以采用视觉SLAM进行导航,若同时安装有激光雷达和摄像头可以采用激光结合视觉SLAM的方式进行导航(当然此时也可以只采用激光SLAM或视觉SLAM进行导航)。后文在提到SLAM导航模式时,若未特别声明,可以指上述三种具体模式中的任意一种。
实际部署前自动导航设备先在仓库中运行一遍,通过激光雷达和/或摄像头探测障碍物的分布情况,进而构建SLAM导航地图并存储,实际部署后,自动导航设备可沿SLAM导航地图中的曲线路径移动,移动过程中通过激光雷达和/或摄像头探测附近障碍物的位置,以实现对自身进行定位。相较于二维码导航,SLAM导航环境布置的工作量小,并且在路径的规划上也更加灵活,但其定位精度易受外界环境影响(例如,环境中存在不确定光源、或环境中的事物十分相似时,自动导航设备容易定位失败),并且SLAM导航由于依靠激光雷达和/或摄像头获取环境中的点云数据计算自身位姿,因此其计算量比采用二维码方式大很多,位姿计算的实时性较差,从而自动导航设备的移动速度也相对较慢,不能满足某些业务场景的需求。
下面再对几种不同的SLAM导航模式进行简单地比较:
激光SLAM比较擅长在静态且简单的环境中进行定位,例如仓库中的无人工作区,该工作区内只有货架和自动导航设备。然而,激光SLAM不擅长在动态环境中的定位,例如仓库中的有人工作区,可能存在大量人员遮挡其测量的环境,激光SLAM也不擅长在类似的几何环境中定位,例如在一个又长又直、且两侧是墙壁的通道。由于重定位能力较差,激光SLAM在追踪丢失后很难重新回到工作状态。
相对地,视觉SLAM在动态环境中表现较好,但视觉SLAM要求工作环境中存在丰富的纹理,一旦处于无纹理或弱纹理环境时,例如,大片白色的墙壁附近,视觉SLAM表现不佳。另外,由于视觉SLAM依赖于摄像头采集的图像进行定位,因此在环境中光照较弱时,其性能显著下降,激光SLAM则可应用于弱光环境。
激光结合视觉SLAM融合了激光SLAM和视觉SLAM各自的有点,一般而言,其定位性能优于单纯的激光SLAM或视觉SLAM。但激光结合视觉SLAM需要更多的传感器支持,因此硬件成本比单纯的激光SLAM或视觉SLAM更高,同时定位算法也更复杂。在本申请的方案中,自动导航设备110在硬件上实现了对多种导航模式的支持,例如,自动导航设备110设备上同时安装有二维码识别单元和激光雷达,从而可以支持二维码导航模式和激光SLAM导航模式。又例如,自动导航设备110设备上同时安装有二维码识别单元和摄像头,从而可以支持二维码导航模式和视觉SLAM导航模式。又例如,自动导航设备110上同时安装有惯性导航单元和二维码识别单元,从而可以支持惯性导航模式和二维码导航模式。又例如,自动导航设备110上同时安装有激光雷达和摄像头,从而可以支持激光SLAM导航模式和视觉SLAM导航模式。又例如,自动导航设备110上同时安装有二维码识别单元、激光雷达和摄像头,从而可以支持二维码导航模式、激光SLAM导航模式、视觉SLAM导航模式以及激光结合视觉SLAM导航模式。
当然,在本申请的方案中,自动导航设备110并不只是简单地集成多种导航模式所使用的硬件,更为关键的是支持动态的导航模式切换,即在自动导航设备110运行的过程中改变其所使用的导航模式,而并非是在设备关机后将其设定为另一种导航模式。关于自动导航设备110内部的结构可参考图10的相关阐述。
调度系统120用于对自动导航设备110进行调度,所谓调度,可以指向自动导航设备110下发特定的指令以控制自动导航设备110执行相应的行为,这样的指令可以是切换导航模式的指令、按指定路线移动的指令、进行充电的指令,等等。一个调度系统120可以支持同时对多台自动导航设备110进行调度。应当理解,调度系统120也可以接收自动导航设备110上传的状态信息或者其他数据。调度系统120可以部署在服务器上,关于服务器的内部结构可参考图9的相关阐述。自动导航设备110以及部署有调度系统120的服务器可以合称为自动导航系统。
业务系统130是调度系统的上层系统,业务系统130可以将业务需求发送给调度系统120,由调度系统120通过调度以实现相应的业务。在一些实现方式中,业务系统130也可以向调度系统120下发一些指令,以实现对调度过程的上层控制,这样的指令可以是切换导航模式的指令,等等。业务系统130和调度系统120可以部署在同一服务器上,也可以部署在不同的服务器上,若二者部署在同一服务器上,也不排除将二者实现为同一个系统中的两个功能模块。可以理解的,并非所有的场景下都需要实现业务系统130,例如,也可以由用户直接或者通过客户端140在调度系统120上配置调度任务。
客户端140是指调度系统120的客户端,用户可以通过客户端140对调度系统120进行访问,或者向调度系统120下发一些指令,以实现对调度过程的手动控制,这样的指令可以是切换导航模式的指令,等等。客户端140可以是用户终端上安装的专门软件,也可以是用户终端上安装的通用浏览器,浏览器可以对调度系统的前端页面进行访问。可以理解的,不排除在某些实现方式中,调度系统120只在服务器本地提供可视化的界面供用户访问,此种方式不需要实现客户端140,后文主要以实现有客户端140的情况为例。
图2示出了本申请实施例提供的导航方法的一种可能的流程,参照图2,该流程包括:
步骤S210:调度系统根据地图编辑界面上的编辑操作生成导航地图。
步骤S220:调度系统向自动导航设备发送导航地图。
步骤S210和S220合在一起进行阐述。自动导航设备支持多种导航模式,在不同的导航模式下使用不同类型的导航地图(当然,也不排除某些不使用导航地图的导航模式,但在介绍图2中的方法时暂时不考虑这些导航模式),例如,二维码导航模式下使用二维码导航地图,SLAM导航模式下使用SLAM导航地图。在自动导航设备开始执行任务(例如,搬运货物)之前,需要保证设备中已经存储有所要使用的导航地图。导航地图可以在调度系统上编辑好后下发给自动导航设备设备(即步骤S210、S220所执行的操作),这里所说的“下发”,既可以是调度系统主动推送,也可以是自动导航设备主动拉取。应当理解,还可以通过其他方式将导航地图传输给自动导航设备,如通过存储介质(U盘、移动硬盘等)拷贝,此时不需要执行步骤S210和S220。
在一些实现方式中,自动导航设备需先在调度系统上注册,然后才能接受调度系统的控制,在设备注册时,调度系统可以比较自动导航设备上存储的地图版本与调度系统上存储的地图版本(也可以由自动导航设备进行版本比较),若调度系统上存储的地图较新(或者自动导航设备上还没有存储地图),则将其下发给自动导航设备,替代自动导航设备上原有的导航地图。
步骤S210中的地图编辑界面用于支持用户对导航地图进行编辑,提供地图编辑界面有利于结合用户的经验和观察,获得更符合实际环境的地图,从而改善自动导航的准确性。上述“实际环境”应理解为自动导航设备实际要部署的环境,例如仓库,后文中会多次出现这一概念,不再重复解释。地图编辑界面可以是客户端界面的一部分,也可以是调度系统提供的前端页面,该页面可被客户端所访问,等等。调度系统根据用户在该界面上作出的编辑操作生成导航地图,下面分别以二维码导航地图和SLAM导航地图的编辑为例进行阐述。
图3示出了一个二维码导航地图的示例。参照图3,每个细线方格的顶点表示一个二维码点,对应地面上铺设有二维码的位置,二维码点之间的连线表示自动导航设备在地图中可能采用的移动路径(自动导航设备的实际移动路径必然是地图中这些可能的路径之一),每个粗线方格表示一台自动导航设备的位置,插头表示可供自动导航设备充电的位置(带×的插头表示该充电位置已经失效),最右侧的两个深色方框表示对接点,关于对接点的含义,稍后再阐述。
二维码导航地图可以由用户在地图编辑界面上创建,创建好的空白地图可称为原始二维码导航地图。此后用户可以对原始二维码导航地图进行编辑,例如,根据实际环境中二维码的铺设情况设置二维码点之间的间距,并按照此间距绘制二维码点及二维码点之间的路径,绘制好后可进一步在地图上添加必要的图标,例如插头、自动导航设备、对接点等,最终完成地图编辑,此时得到的地图为可以下发到自动导航设备上使用的二维码导航地图。
对于SLAM导航方式,先由自动导航设备在实际环境中运行一遍,创建好一个原始的地图,称为原始SLAM导航地图,原始SLAM导航地图中包含了实际环境中障碍物的分布情况。该原始SLAM导航地图最初保存在自动导航设备上,可以先将原始SLAM导航地图上传到调度系统中,然后再将其导入地图编辑界面,由用户对其进行编辑,最终得到可以下发到自动导航设备上使用的SLAM导航地图。
图4示出了一个SLAM导航地图的示例。参照图4,外层黑色不规则的痕迹表示实际环境中的障碍物,这属于原始SLAM导航地图的内容。中间的曲线表示自动导航设备在地图中可能采用的移动路径(带×的曲线表示该路径已经失效,自动导航设备的实际移动路径必然是地图中这些可能的路径之一),曲线上有一些黑点表示可供自动导航设备停留的节点(在二维码导航地图中,二维码点可视为节点),插头表示可供自动导航设备充电的位置,下方一个倾斜的深色方框表示一台自动导航设备,左侧两个深色方框表示对接点,和二维码导航地图中的两个对接点相对应。其中,曲线、对接点、自动导航设备、插头均由用户在原始SLAM导航地图的基础上进一步标记产生。
通过以上的例子不难看出,针对不同类型的导航地图可以采取不同的编辑策略,既可以创建一个全新的地图用于编辑,也可以在一个现有地图的基础上进行编辑。
对生成的每张地图,调度系统可以为其分配一个唯一的ID,便于对地图进行管理。如果实际环境是一个较大的场景,例如,多层仓库,各层之间通过电梯互通,还可以进一步对地图进行分组,比如将每一层仓库的多张地图分为一组。
步骤S230:自动导航设备向调度系统发送第一位置信息。
步骤S240:调度系统根据第一位置信息判断自动导航设备是否满足第一模式切换条件。
步骤S250:调度系统向自动导航设备发送第一模式切换指令。
步骤S230至S250合在一起进行阐述。自动导航设备在开始执行任务后,会不断地对自身进行定位,不妨将其计算出的位置信息称为第一位置信息。自动导航设备会将第一位置信息发送给调度系统,调度系统根据第一位置信息可以判断自动导航设备是否满足第一模式切换条件,若满足该条件,则调度系统向自动导航设备下发第一模式切换指令,指示其切换导航模式,若不满足该条件,则调度系统可以不执行任何动作或者输出相应的提示信息。在自动导航设备移动的过程中,可能会多次发送第一位置信息,因此步骤S230和步骤S240可能会重复执行多次。
其中,第一模式切换条件包括自动导航设备位于当前导航地图和目标导航地图的公共区域内(后文有时将该区域简称为导航地图的公共区域或者公共区域)。当前导航地图是指自动导航设备在当前导航模式下使用的地图,目标导航地图是指自动导航设备在待切换的目标导航模式下使用的地图。
例如,自动导航设备支持二维码导航模式和SLAM导航模式,若发送第一位置信息时自动导航设备正处于二维码导航模式下,则当前导模式为二维码导航模式,当前导航地图为二维码导航地图,目标导航模式为SLAM导航模式,目标导航地图为SLAM导航地图。若发送第一位置信息时自动导航设备正处于SLAM导航模式下,则当前导模式为SLAM导航模式,当前导航地图为SLAM导航地图,目标导航模式为二维码导航模式,目标导航地图为二维码导航地图。
再如,自动导航设备支持激光SLAM导航模式和视觉SLAM导航模式,若发送第一位置信息时自动导航设备正处于激光SLAM导航模式下,则当前导模式为激光SLAM导航模式,当前导航地图为激光SLAM导航地图,目标导航模式为视觉SLAM导航模式,目标导航地图为视觉SLAM导航地图。若发送第一位置信息时自动导航设备正处于视觉SLAM导航模式下,则当前导模式为视觉SLAM导航模式,当前导航地图为视觉SLAM导航地图,目标导航模式为激光SLAM导航模式,目标导航地图为激光SLAM导航地图。
当前导航地图和目标导航地图的公共区域对应实际环境中的同一片区域,调度系统根据第一位置信息可以确定自动导航设备在当前导航地图和目标导航地图中的位置,从而可以判断出自动导航设备是否位于该公共区域内。由于自动导航需要导航地图提供支持,因此在两张导航地图的非公共区域内,自动导航设备只能按照一种模式进行导航,而在两张地图的公共区域内,自动导航设备可以按照任意一种模式进行导航,从而在理论上能够满足切换导航模式的基本要求。
但需要指出的是,第一模式切换条件并不一定只包含自动导航设备位于导航地图的公共区域内这一个条件,还有可能包含其他条件。换句话说,自动导航设备位于导航地图的公共区域内只是导航模式切换的必要条件,但不是充分条件。例如,自动导航设备只在二维码导航地图中执行某个任务,执行任务的过程中刚好要穿过二维码导航地图和SLAM导航地图的公共区域,显然,此时并不需要切换导航模式。又例如,是否要切换导航模式还可能受到上层业务系统的影响,若业务系统指示调度系统不要进行导航模式的切换,则即使自动导航设备位于导航地图的公共区域内,调度系统也不会指示其切换导航模式。又例如,调度系统根据自动导航设备采集的环境数据确定实际环境中存在大量干扰性光源,不适宜进行SLAM导航,则可以指示自动导航设备切换为二维码导航模式。在后文中为简单起见,暂时先考虑第一模式切换条件只包含自动导航设备位于导航地图的公共区域内的情况,待整个导航方法的流程阐述清楚后,再介绍其他可能包含的条件。
进一步的,在一些实现方式中,自动导航设备位于导航地图的公共区域内这一条件可以设置得更严格一些,即要求自动导航设备必须位于公共区域内的对接点处,而不能位于公共区域内的任意位置。其中,对接点为公共区域内的指定地点,对接点的数量可以为一个或多个,自动导航设备位于对接点处应理解为恰好位于对接点或者位于对接点附近的一个小范围内。对接点的位置分布不作限定,例如,在设置时可以尽量使对接点分布得均匀一些,让导航地图中各处的自动导航设备都很容易地到达一个距离较近的对接点。
设置对接点一方面是某些导航模式的特点所决定的,在这些导航模式中,自动导航设备并不能完全自由地移动,而只能沿预定的路径移动至导航地图中的某些节点(可以参考图3中的直线路径和节点、图4中的曲线路径和节点)进行停留,从而也并不能在公共区域内的任意位置切换导航模式,而只能在某些被设置为对接点的节点位置处进行导航模式切换。另一方面,设置对接点也是某些业务场景所决定的,例如,可以将对接点设置为自动导航设备的工作站点。以货物搬运场景为例,在工作站点处自动导航设备可以进行停留并执行一些与货物搬运相关的操作,如装货、卸货、理货等。在工作站点处还可以配备人员、设备,以辅助自动导航设备完成这些操作。而自动导航设备在切换导航模式时往往也需要进行停留,从而可以通过将工作站点设置为对接点,将这两类停留时间统一起来,既支持了业务需求,又支持了导航模式切换,从而有利于提高自动导航设备的工作效率。
对接点的位置在当前导航地图和目标导航地图上都被精确地标注,便于进行路径规划(关于路径规划可以参考后文对图5的阐述),例如,在图3和图4中,分别标记出了位于二维码导航地图和SLAM导航地图的公共区域内的两个对接点。
在二维码导航模式下,由于二维码在实际环境中等间隔地铺设,所以二维码点在二维码导航地图中的位置容易被精确地计算,并且自动导航设备也可以在二维码点处进行停留,因此对接点可选择位于公共区域内的二维码点。
然而,由于SLAM导航地图中并没有类似于二维码导航地图那样的网格结构,因此人工难以直接标记出对接点的精确位置,为解决这一问题,可以将自动导航设备移动(可以通过调度系统控制移动也可以人工移动)至欲标记的对接点(例如,某个二维码点处),调度系统接收自动导航设备在欲标记的对接点处上报的第二位置信息,之后便可根据第二位置信息自动标记出对接点在SLAM导航地图中的位置。由于自动导航设备上报的位置信息是比较精确的,所以这种方式下得到的标记结果也是比较精确的。应当理解,对于导航地图中的其他需要精确标记位置的节点,也可以采用类似的方式处理。
对于第一模式切换指令,可以在指令中包含有关目标导航模式的信息,从而自动导航设备可以根据指令切换为目标导航模式;或者,也可以不包含目标导航模式的信息,例如自动导航设备只支持两种导航模式,只能在这两种导航模式之间来回切换,第一模式切换指令只需起到触发切换的作用即可。
步骤S260:自动导航设备判断自身是否满足第二模式切换条件。
步骤S270:自动导航设备从当前导航模式切换至目标导航模式。
步骤S260和S270合在一起进行阐述。自动导航设备接收到第一模式切换指令后,有不同的响应方式,一种是直接执行步骤S270切换导航模式,一种是先执行步骤S260,判断自身是否满足第二模式切换条件,若满足第二模式切换条件,才执行步骤S270切换导航模式,若不满足该条件,则自动导航设备可以不执行任何动作或者向调度系统反馈当前无法切换导航模式。
其中,第二模式切换条件包括自动导航设备位于当前导航地图和目标导航地图的公共区域这一条件,但也不排除还包括其他条件。第二模式切换条件和第一模式切换条件的类似之处不再重复阐述,不过需要指出,虽然第二模式切换条件和第一模式切换条件都包括自动导航设备位于公共区域内这一条件,但其可能包含的其他条件则未必与第一模式切换条件相同。
自动导航设备在切换导航模式之前,再判断一次模式切换条件是否满足是有意义的,因为自动导航设备并不会将所有的信息都同步给调度系统,所以在调度系统认为自动导航设备可以进行导航模式的切换时,自动导航设备未必真的能够进行导航模式切换,二次判断有利于确保导航模式的切换时机是正确、可靠的。例如,从第一位置信息上看自动导航设备已经位于地图公共区域内的对接点,调度系统据此认为自动导航设备可以从SLAM导航模式切换为二维码导航模式,但自动导航设备并没有在该位置扫描到有效的二维码,则不会进行导航模式的切换。
显然,自动导航设备可以对自身进行定位,并且还可以通过设备上安装的传感器获得所需的环境数据,因此其有能力执行步骤S260中的判断操作。
自动导航设备在某种导航模式下运行,主要涉及三方面:第一方面是使用此种导航模式下的导航地图;第二方面是使用此种导航模式下的传感器数据进行位姿计算;第三方面是根据此种导航模式的特征进行路径规划。例如,自动导航设备在二维码导航模式下使用二维码导航地图,然后基于二维码识别单元识别出的二维码信息进行位姿计算,最后根据算出的位姿规划自身移动的直线路径。又例如,自动导航设备在激光SLAM导航模式下使用SLAM导航地图,然后基于激光雷达扫描得到的点云数据进行位姿计算,最后根据算出的位姿规划自身移动的曲线路径。
因此,自动导航设备从当前导航模式切换至目标导航模式也主要涉及三方面的切换:第一方面是将当前导航地图切换为目标导航地图(切换后现在的目标导航地图变成新的当前导航地图);第二方面将当前导航模式下计算位姿所使用的传感器切换为目标导航模式下计算位姿所使用的传感器(切换后当前所使用的传感器可以暂停使用或者不再根据其采集的数据计算位姿);第三方面是将当前导航模式下规划路径的方式切换为目标导航模式下规划路径的方式。
可选的,自动导航设备完成导航模式的切换后,可以向调度系统发送反馈消息,告知调度系统自己已经成功切换导航模式,当然,如果导航模式切换失败,同样可以告知调度系统,图2中没有示出自动导航设备反馈切换结果的行为。
还需要指出,尽管图2没有示出,但在调度系统向自动导航设备下发第一模式切换指令后,调度系统对自动导航设备的调度方式也需要相应地调整(可以等到自动导航设备确认了导航模式切换成功后再调整)。例如,若自动导航设备从二维码导航模式切换到SLAM导航模式,切换之前调度系统可以调度自动导航设备沿直线移动,切换之后调度系统则应调度自动导航设备沿曲线路径移动。
步骤S280:调度系统控制地图显示界面上显示的当前导航地图切换为目标导航地图。
步骤S280是一个可选步骤。在一些实现方式中,可以设置一个地图显示界面用于支持导航地图的显示,便于用户实时查看导航地图。地图显示界面可以是客户端界面的一部分,也可以是调度系统提供的前端页面,该页面可被客户端所访问,等等。
自动导航设备开始执行任务之前,先为其设置好初始的导航模式(可以通过客户端在调度系统上设置),例如,此时自动导航设备位于二维码导航地图内,就设置成二维码导航模式,位于SLAM导航地图内,就设置成SLAM导航模式,然后调度系统可以控制地图显示界面显示初始的导航地图。
调度系统向自动导航设备发送第一模式切换指令之后,还可以控制地图显示界面上显示的当前导航地图切换为目标导航地图,这样用户就能够实时查看自动导航设备正在使用的地图,从而有利于改善用户体验。步骤S280和步骤S260、S270在执行先后顺序上没有必然的关系,但可选的,调度系统可以等到自动导航设备确认了导航模式切换成功后,再进行地图切换,以确保地图显示切换与导航模式切换的同步性。
进一步的,在一些实现方式中,步骤S230执行后,调度系统接收到了第一位置信息,调度系统除了可以利用第一位置信息判断自动导航设备是否满足第一模式切换条件之外,还可以将第一位置信息用于其他用途,例如,根据第一位置信息在地图显示界面所显示的当前导航地图上绘制出自动导航设备的当前位置,便于用户查看。
综上所述,在图2示出的导航方法中,自动导航设备支持多种导航模式,在不同的导航模式下使用不同类型的导航地图,不同类型的导航地图之间存在公共区域,在这些公共区域内,自动导航设备支持在调度系统的控制下进行导航模式的切换。并且,这种导航模式的切换是动态的,无需重启设备,因此在导航模式的选择上非常灵活。该方法有助于自动导航设备充分发挥各种导航方式的优势,从而有利于拓宽自动导航设备的应用场景。
例如,仓库的A区域是无人区,对自动导航设备的移动速度要求较高,可采用二维码导航,二维码导航地图覆盖A区域,仓库的B区域是有人区,希望自动导航设备的移动路径更加灵活,以便避开行人,可采用SLAM导航,SLAM导航地图覆盖B区域,两张地图上分别标记有对接点,这些对接点位于A区域和B区域的交界区域,在对接点处,自动导航设备可在调度系统的控制下从二维码导航模式动态地切换为SLAM导航模式,或者从SLAM导航模式动态地切换为二维码导航模式,以支持跨区域的货物搬运任务。在这个例子中,二维码导航方式和SLAM导航方式得以相互取长补短,很好地满足了用户的实际需求。图5示出了本申请实施例提供的导航方法的另一种可能的流程,参照图5,该流程包括:
步骤S310:业务系统向调度系统发送调度任务。
步骤S320:调度系统根据任务信息规划自动导航设备的移动路径。
步骤S310和S320合在一起阐述。调度任务的任务信息至少包含任务的起点和终点的位置,其中,起点位于当前导航地图内,终点位于目标导航地图内,但起点和终点都不是导航地图中的对接点。调度系统接收到调度任务后,会安排自动导航设备完成该任务,即调度一台(当然也可能是多台,这里不妨以一台为例)自动导航设备从起点移动至终点,以实现货物搬运等目的。
由于起点和终点不在同一导航地图内,因此自动导航设备在从起点移动至终点的过程中,需要先到达对接点切换导航模式。调度系统会根据任务信息规划自动导航设备的移动路径,该移动路径至少包括从起点到对接点的路径,以及,从对接点到终点的路径。调度系统规划的路径应当符合自动导航设备的导航模式,例如,若当前导航模式是二维码导航模式,则从起点到对接点的路径应为直线路径,若目标导航模式是SLAM模式,则从对接点到终点的路径应为曲线路径。当然,该移动路径还可能包括其他路径,例如,若自动导航设备当前不在起点位置,调度系统还要先规划一条使之能够移动到起点的路径。调度系统规划好路径后,可以生成相应的调度指令(可以立即生成,也可以在下发指令之前再生成),包括从起点移动至对接点的调度指令、从对接点移动至终点的调度指令等,这些指令会在后续步骤(如S330、S380中使用)。
对于对接点有多个的情况,调度系统可以按照一定的规则选择其中一个用于规划上述移动路径。例如,可以选择离自动导航设备最近的一个,可以选择空闲的一个(没有被其他自动导航设备占用或者即将占用的对接点),等等。
上面只考虑了起点和终点分别在两张相邻的导航地图中的情况,也不排除在某些复杂环境中,起点和终点所在的导航地图并不相邻,例如,起点在导航地图X中,终点在导航地图Y中,二者中间还间隔有导航地图Z,Z与X、Y分别相邻,但X和Y并不相邻,此时,调度系统规划的移动路径至少包括:从起点到X、Z之间的对接点的路径,从X、Z之间的对接点到Z、Y之间的对接点的路径,以及,从Z、Y之间的对接点到终点的路径。或者,也可以将该任务视为两个移动路径存在交叠的子任务:第一个子任务的起点是父任务的起点,终点是Z、Y之间的对接点;第二个子任务的起点是X、Z之间的对接点,终点是父任务的终点。
在步骤S310和S320中,业务系统只负责定义调度任务的起点和终点,路径规划则由调度系统负责完成,即调度系统向业务系统屏蔽了调度过程的实现细节,减轻了业务系统侧的设计负担。当然这只是一种系统设计方式,调度系统也可以将调度相关的接口暴露给上层业务系统,由业务系统通过调用这些接口完成规划路径,调度系统只需按照业务系统的规划结果对自动导航设备进行调度。或者,有时也可以不实现业务系统,用户可以在调度系统的客户端上配置需要调度系统执行的调度任务。
步骤S330:调度系统向自动导航设备发送从起点移动至对接点的调度指令。
步骤S340:自动导航设备向调度系统发送第一位置信息。
步骤S350:调度系统根据第一位置信息判断自动导航设备是否满足第一模式切换条件。
步骤S360:调度系统向自动导航设备发送第一模式切换指令。
步骤S370:自动导航设备从当前导航模式切换至目标导航模式。
步骤S380:调度系统向自动导航设备发送从对接点移动至终点的调度指令。
步骤S330至S380合在一起阐述。在步骤S320中规划好起点到对接点的移动路径后,调度系统向自动导航设备下发相应的调度指令,自动导航设备接收到调度指令后,按照当前导航模式沿规划好的路径从起点移动至对接点。在移动的过程中,自动导航设备不断地对自身进行定位,并将第一位置信息发送给调度系统,调度系统根据第一位置信息判断自动导航设备是否满足第一模式切换条件,若满足该条件,则向其下发第一模式切换指令,自动导航设备接收到该指令后,完成从当前导航模式到目标导航模式的切换。步骤S340、S350、S360、S370类似于步骤S230、S240、S250、S270,不再重复阐述。在步骤S320中,调度系统还规划了在从对接点到终点的移动路径,自动导航设备切换导航模式完成后,调度系统向自动导航设备下发相应的调度指令,自动导航设备接收到调度指令后,按照当前导航模式沿规划好的路径从对接点移动至终点。步骤S380可以等到自动导航设备向调度系统确认了导航模式切换成功之后再执行,图5中并未示出这一点。
图5实际上给出了一个跨导航地图的任务的执行流程,在这类任务中,自动导航设备需要从当前导航地图中的起点移动至目标导航地图中的终点。根据上面的阐述,这一过程在调度系统上可以分为三步完成,第一步在当前导航模式下将自动导航设备从起点调度至对接点,第二步控制自动导航设备从当前导航模式切换为目标导航模式,第三步在目标导航模式下将自动导航设备从对接点调度至终点。整个调度过程简单、高效,实现了导航模式的平滑切换。
图6示出了本申请实施例提供的导航方法的另一种可能的流程,参照图6,该流程包括:
步骤S410:客户端/业务系统向调度系统发送第二模式切换指令。
第二模式切换指令用于指示调度系统控制自动导航设备进行导航模式切换,作为对比的,第一模式切换指令用于指示自动导航设备进行导航模式切换。
第二模式切换指令可能来源于客户端,此种情况下第二模式切换指令多为用户手动下发的,因此也可以称为手动切换指令(若没有实现客户端,用户也可以直接在调度系统上下发手动切换指令)。手动切换指令可以在手动模式下使用,所谓手动模式即依赖于人工对自动导航设备进行控制的模式(因此严格来说,此时自动导航设备没有进行自动导航),相对地,还有自动模式,即不依赖人工,而是由调度系统对自动导航设备进行控制的模式。在系统的调试阶段可以采用手动模式,以便测试自动导航设备的运行、模式切换、充电等功能是否正常,在系统正式投入使用后则以自动模式为主,提高执行任务的效率。或者,第二模式切换指令也可能来源于业务系统,业务系统根据业务逻辑来产生第二模式切换指令。
不论来源如何,第二模式切换指令为导航模式切换提供了额外的控制渠道,增强了系统的灵活性和可交互性。
步骤S420:自动导航设备向调度系统发送第一位置信息。
步骤S430:调度系统根据第一位置信息判断自动导航设备是否满足第一模式切换条件。
步骤S440:调度系统生成提示信息。
步骤S450:调度系统向客户端发送提示信息。
步骤S460:调度系统接收客户端发送的切换确认指令。
步骤S470:调度系统向自动导航设备发送移动至对接点的调度指令。
步骤S480:调度系统向自动导航设备发送第一模式切换指令。
步骤S490:自动导航设备从当前导航模式切换至目标导航模式。
步骤S420至S490合在一起阐述。接收到第二模式切换指令后,调度系统需要根据自动导航设备上传的第一位置信息判断自动导航设备是否满足第一模式切换条件,其中主要包括自动导航设备是否位于对接点处。但需注意,步骤S420和S410的执行先后顺序并不限定,也就是说,调度系统可以在接收到第二模式切换指令后,利用新收到的第一位置信息进行判断,也可以读取在接收到第二模式切换指令之前所缓存的第一位置信息进行判断。步骤S430类似于步骤S240,不再重复阐述。
若调度系统根据第一位置信息判断出自动导航设备满足第一模式切换条件,则可跳转至步骤S480继续执行,步骤S480和S490类似于步骤S250和S260,不再重复阐述。
若调度系统根据第一位置信息判断出自动导航设备不满足第一模式切换条件,且不满足该条件的原因是由于自动导航设备不在对接点,则可以先执行步骤S470,将自动导航设备从当前位置调度至对接点,然后再执行步骤S480和S490,类似于步骤S330、S360以及S370(步骤S330是从起点调度至对接点),不再重复阐述。可选的,如果此时自动导航设备本来就在向对接点移动(例如,自动导航设备之前已经接收到了从起点移动至对接点的调度指令,正处于移动的途中),步骤S470也可以不执行。或者即使执行了步骤S470,自动导航设备也可以不理会调度系统在步骤S470中下发的指令。
特别地,若第二模式切换指令是手动切换指令,则调度系统根据在第一位置信息判断出自动导航设备未处于对接点时,可以先生成提示信息,该提示信息用于告知用户选择是否要进行导航模式切换,然后调度系统将该提示信息发送给客户端,客户端会将提示信息的内容在界面上显示出来,从而用户可以在客户端界面上选择是否要切换导航模式。如果用户选择切换导航模式,客户端会向调度系统发送切换确认指令,调度系统接收到该指令后才会执行步骤S470及后续步骤。
步骤S440至S460在图6中以虚线示出,因为这几个步骤是针对手动切换指令而言的,如果第二模式切换指令是业务系统下发的,则调度系统不需要像询问用户一样询问业务系统是否要坚持切换导航模式,直接认定业务系统要求要切换导航模式即可。另外,如果没有实现客户端,而是由用户直接在调度系统上下发手动切换指令,调度系统也可以生成类似步骤S440中的提示信息,只是无需将该提示信息发送给客户端,在调度系统本地进行显示即可。
可以理解的,在自动导航设备向对接点移动的过程中,还会不断地向调度系统发送第一位置信息,调度系统也会不断基于第一位置信息判断自动导航设备是否已经满足第一模式切换条件(类似步骤S340、S350),这些步骤在图6中并没有示出。
另外,还需要指出,调度系统要将自动导航设备从当前位置调度至对接点的前提是自动导航设备仍在当前导航地图内,如果在调度系统接收到第二模式切换指令时,自动导航设备已经移动至目标导航地图中,则调度系统无需再进行此项调度。
最后,在以上实施例的基础上,再对第一模式切换条件作一些补充阐述。如果将自动导航设备位于当前导航地图和目标导航地图的公共区域内记为条件(1),那么第一模式切换条件还可能包括:
条件(2):自动导航设备位于当前导航地图和目标导航地图相邻的边界上。
该条件其实和条件(1)有些类似,所谓边界相邻,可以指当前导航地图的边界和目标导航地图的边界至少存在一个公共点。
需要指出,自动导航设备可能既处于当前导航地图和目标导航地图的相邻的边界上,又处于当前导航地图和目标导航地图公共的区域内。但自动导航设备处于当前导航地图和目标导航地图的相邻的边界上,却不一定处于当前导航地图和目标导航地图公共的区域内,因为两张地图未必存在公共区域,可能只在边界处存在邻接关系。
如果允许条件(1)中的公共区域面积为0,那么条件(2)其实也可以视为条件(1)的特殊情况,其带来的有益效果等也可以类似分析。特别地,如果当前导航地图和目标导航地图仅存在相邻的边界,不存在公共区域,可以在该相邻的边界上选择指定地点作为对接点。
条件(3):自动导航设备当前所处的环境与当前导航模式不匹配,且与目标导航模式匹配。
不同的导航模式都有与其匹配的环境,即自动导航设备处于该环境下时,相应的导航模式才能够实施或者才能够比较好地实施。而自动导航设备所处的环境很可能会发生变换,一方面是环境自身会变换(例如,光照条件会随时间改变),另一方面自动导航设备的移动也可能导致周围环境的变换(例如,从无人工作区移动到有人工作区)。自动导航设备可以通过传感器采集环境数据,并将环境数据反馈给调度系统,从而足以支持调度系统进行条件(3)的判断。
设置条件(3)的出发点在于:当环境变化时,及时地调整导航模式,使得自动导航设备可以长时间保持良好的工作状态。例如,自动导航设备本来采用视觉SLAM进行导航,当调度系统判断出自动导航设备当前所处的环境中的光照强度明显下降时,可以通过下发第一模式切换指令,指示自动导航设备切换为激光SLAM导航或者激光结合视觉SLAM导航。又例如,自动导航设备本来采用激光SLAM模式进行导航,当调度系统判断出自动导航设备当前所处的环境中的出现大量运动物体时,可以通过下发第一模式切换指令,指示自动导航设备切换为视觉SLAM导航。
上述条件(1)(2)(3)还可以进行组合(组合指第一模式切换条件中同时包括多个条件),例如(1)(3)组合,(2)(3)组合,但(1)和(2)可以不进行组合,在当前导航地图和目标导航地图存在公共区域时采用条件(1),在当前导航地图和目标导航地图不存在公共区域、但存在相邻边界时采用条件(2)即可。
可以理解地,如果第一模式切换条件不包括与导航地图相关的条件(如条件(1)(2)),并且自动导航设备所支持的导航模式也不使用导航地图,则以上实施例中一些与地图有关的步骤(例如图2中的步骤S210、S220、S280等)不必执行。
通过合理地设置第一模式切换条件,可以使得调度系统更好地控制自动导航设备的行为,使得自动导航设备能够充分发挥各种导航方式的优势,自动适应各种环境场景(包括不同的导航地图、不同的外部环境),拓宽自动导航设备的应用范围。
第二模式切换条件与第一模式切换条件类似,也可以包含上述三个条件或其组合。
图7示出了本申请实施例提供的导航装置500的功能模块图。导航装置500可以配置于服务器中,服务器可能的结构可以参照图9。参照图7,导航装置500包括:
位置信息接收模块510,用于接收自动导航设备发送的第一位置信息;
切换条件判断模块520,用于根据所述第一位置信息判断所述自动导航设备是否满足从当前导航模式切换至目标导航模式的第一模式切换条件;
切换指令发送模块530,用于在所述自动导航设备满足所述第一模式切换条件是,向所述自动导航设备发送第一模式切换指令。
在导航装置500的一种实现方式中,所述第一模式切换条件包括以下条件中的至少一个:所述自动导航设备位于当前导航地图和目标导航地图的公共区域内或相邻的边界上;其中,所述当前导航地图为所述自动导航设备在所述当前导航模式下使用的地图,所述目标导航地图为所述自动导航设备在所述目标导航模式下使用的地图;所述自动导航设备当前所处的环境与所述当前导航模式不匹配,且与所述目标导航模式匹配。
在导航装置500的一种实现方式中,所述装置还包括:地图编辑模块,用于在位置信息接收模块510接收自动导航设备上传的第一位置信息之前,根据地图编辑界面上作出的编辑操作生成导航地图,并向所述自动导航设备发送所述导航地图;其中,所述导航地图包括所述当前导航地图和所述目标导航地图。
在导航装置500的一种实现方式中,所述装置还包括:地图显示模块,用于在切换指令发送模块530向所述自动导航设备发送第一模式切换指令之后,控制地图显示界面上显示的所述当前导航地图切换为所述目标导航地图。
在导航装置500的一种实现方式中,所述自动导航设备位于当前导航地图和目标导航地图的公共区域内或相邻的边界上,包括:所述自动导航设备位于对接点,所述对接点为所述当前导航地图和所述目标导航地图的公共区域内或相邻的边界上的指定地点。
在导航装置500的一种实现方式中,所述对接点包括所述自动导航设备的工作站点。
在导航装置500的一种实现方式中,所述第一模式切换条件包括所述自动导航设备位于对接点;所述装置还包括:调度指令发送模块,用于在位置信息接收模块510接收自动导航设备上传的第一位置信息之前,向所述自动导航设备发送从所述当前导航地图中的起点移动至所述对接点的调度指令;以及,在切换指令发送模块530向所述自动导航设备发送第一模式切换指令之后,向所述自动导航设备发送从所述对接点移动至所述目标导航地图中的终点的调度指令。
在导航装置500的一种实现方式中,所述装置还包括:调度任务接收模块,用于在所述调度指令发送模块向所述自动导航设备发送从所述当前导航地图中的起点移动至所述对接点的调度指令之前,接收业务系统发送的调度任务,所述调度任务的任务信息包括所述起点和所述终点的位置;路径规划模块,用于根据所述任务信息规划所述自动导航设备的移动路径,所述移动路径包括从所述起点到所述对接点的路径,以及,从所述对接点到所述终点的路径。
在导航装置500的一种实现方式中,所述第一模式切换条件包括所述自动导航设备位于对接点,切换指令接收模块,用于在切换条件判断模块520根据所述第一位置信息判断所自述动导航设备是否满足第一模式切换条件之前,接收第二模式切换指令,所述第二模式切换指令用于指示所述调度系统控制所述自动导航设备进行导航模式切换;所述调度指令发送模块还用于:在切换条件判断模块520根据所述第一位置信息判断所述自动导航设备是否满足第一模式切换条件之后,若所述自动导航设备因未处于所述对接点而不满足所述第一模式切换条件,则向所述自动导航设备发送移动至所述对接点的调度指令。
在导航装置500的一种实现方式中,所述第二模式切换指令为手动切换指令,所述调度指令发送模块向所述自动导航设备发送移动至所述对接点的调度指令,包括:生成提示信息,并向所述调度系统的客户端发送所述提示信息,所述提示信息用于告知用户选择是否要进行导航模式切换;响应从所述客户端接收到的切换确认指令,向所述自动导航设备发送移动至所述对接点的调度指令。
在导航装置500的一种实现方式中,所述自动导航设备支持的导航模式包括:二维码导航模式以及至少一种同步定位与地图构建SLAM导航模式,或者,至少两种SLAM导航模式;其中,所述SLAM导航模式包括:激光SLAM、视觉SLAM以及激光结合视觉SLAM。
在导航装置500的一种实现方式中,所述自动导航设备支持二维码导航模式以及至少一种SLAM导航模式,所述自动导航设备使用的导航地图包括二维码导航地图和SLAM导航地图,所述地图编辑模块根据地图编辑界面上的编辑操作生成导航地图,包括:在所述地图编辑界面上创建原始二维码导航地图,并根据所述地图编辑界面上对所述原始二维码导航地图作出的编辑操作,生成所述二维码导航地图;以及,将所述自动导航设备预创建的原始SLAM导航地图导入所述地图编辑界面,并根据所述地图编辑界面上对所述原始SLAM导航地图作出的编辑操作,生成所述SLAM导航地图。
在导航装置500的一种实现方式中,所述自动导航设备支持二维码导航模式,所述当前导航地图或所述目标导航地图为二维码导航地图;所述对接点包括所述二维码导航地图中位于所述公共区域内或所述相邻的边界上的二维码点。
在导航装置500的一种实现方式中,所述自动导航设备支持SLAM导航模式,所述当前导航地图和/或所述目标导航地图为SLAM导航地图,位置信息接收模块510还用于:接收被移动至所述对接点处的所述自动导航设备上传的第二位置信息;所述地图编辑模块还用于:根据所述第二位置信息在所述SLAM导航地图中标记出所述对接点。
本申请实施例提供的导航装置500,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
图8示出了本申请实施例提供的导航装置600的功能模块图。导航装置600可以配置于自动导航设备中,自动导航设备可能的结构可以参照图10。参照图8,导航装置600包括:
位置信息发送模块610,用于向调度系统发送所述自动导航设备的第一位置信息;其中,所述第一位置信息用于所述调度系统判断所述自动导航设备是否满足从当前导航模式切换至目标导航模式的第一模式切换条件;
切换指令接收模块620,用于接收所述调度系统发送的第一模式切换指令;其中,所述第一模式切换指令由所述调度系统在判断出所述自动导航设备满足所述第一模式切换条件时发送;
模式切换模块630,用于响应所述第一模式切换指令,从所述当前导航模式切换至所述目标导航模式。
在导航装置600的一种实现方式中,模式切换模块630响应所述第一模式切换指令,从所述当前导航模式切换至所述目标导航模式,包括:响应所述第一模式切换指令,判断所述自动导航设备是否满足从所述当前导航模式切换至所述目标导航模式的第二模式切换条件;若自动导航设备满足所述第二模式切换条件,则从所述当前导航模式切换至所述目标导航模式。
本申请实施例提供的导航装置600,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
图9示出了本申请实施例提供的服务器700的一种可能的结构。参照图9,服务器700包括:处理器710、存储器720以及通信接口730,这些组件通过通信总线740和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,处理器710包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器710可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-network ProcessingUnit,简称NPU)、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuits,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器710为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
存储器720包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM)、只读存储器(Read Only Memory,简称ROM)、可编程只读存储器(Programmable Read-Only Memory,简称PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM)、电可擦除可编程只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。
处理器710以及其他可能的组件可对存储器720进行访问,读和/或写其中的数据。特别地,在存储器720中可以存储一个或多个计算机程序指令,处理器710可以读取并运行这些计算机程序指令,以实现本申请实施例提供的导航方法中由调度系统执行的部分。
通信接口730包括一个或多个(图中仅示出一个),可以用于和其他设备(例如,自动导航设备等)进行直接或间接地通信,以便进行数据的交互。通信接口730可以包括进行有线和/或无线通信的接口。
可以理解,图9所示的结构仅为示意,服务器700还可以包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。图9中所示的各组件可以采用硬件、软件或其组合实现。服务器700可能是物理设备,也可能是虚拟设备,并且,服务器700也不限于单台服务器,也可以是多台服务器的组合或者大量服务器构成的集群。此外,还需要指出,在本申请的方案中,服务器700应理解为安装有服务器端软件(例如,调度系统等),从而能够对外提供服务的任意设备,而不应只理解为专门作为服务器的设备,例如,PC机在安装有服务器端软件时,也可以作为上述服务器700。
图10示出了本申请实施例提供的自动导航设备800的一种可能的结构。参照图10,自动导航设备800包括:处理器810、存储器820、传感器830、执行机构840、以及通信接口850,这些组件通过通信总线860和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,处理器810包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器810可以是通用处理器,包括CPU、MCU、NP或者其他常规处理器;还可以是专用处理器,包括GPU、NPU、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器810为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
存储器820包括一个或多个(图中仅示出一个),其可以是但不限于,RAM、ROM、PROM、EPROM、EEPROM等。
处理器810以及其他可能的组件可对存储器820进行访问,读和/或写其中的数据。特别地,在存储器820中可以存储一个或多个计算机程序指令,处理器810可以读取并运行这些计算机程序指令,以实现本申请实施例提供的导航方法中由自动导航设备执行的部分。
传感器830包括一个或多个(图中仅示出一个),传感器830用于采集自动导航设备800导航所需的数据,具体要设置哪些传感器取决于自动导航设备800所支持的导航模式。例如,若要支持二维码导航,传感器830可以包括二维码识别单元、惯性测量单元(InertialMeasurement Unit,简称IMU)、里程计(Odometry,简称Odom)等;若要支持SLAM导航,传感器830可以包括激光雷达(对应激光SLAM)、摄像头(对应视觉SLAM)、IMU、Odom等。
执行机构840包括一个或多个(图中仅示出一个),执行机构840用于驱动自动导航设备进行位置移动和/或姿态调整,执行机构840可以是但不限于自动导航设备800的电机。
处理器810可对传感器830采集的数据进行融合,以计算出自动导航设备800的当前的位姿信息,然后根据得到的位姿信息向执行机构840发出相应的控制信号,以使自动导航设备800按照预期的方式移动。
通信接口850包括一个或多个(图中仅示出一个),可以用于和其他设备(例如,服务器等)进行直接或间接地通信,以便进行数据的交互。通信接口850可以包括进行有线和/或无线通信的接口。
可以理解,图10所示的结构仅为示意,自动导航设备800还可以包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。图10中所示的各组件可以采用硬件、软件或其组合实现。自动导航设备800可以是AGV、AMR、无人机、无人船或者其他类型的机器人。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的导航方法。例如,计算机可读存储介质可以实现为图9中服务器700中的存储器720、图10中自动导航设备800中的存储器820,等等。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种导航方法,其特征在于,应用于调度系统,所述方法包括:
接收自动导航设备发送的第一位置信息;
根据所述第一位置信息判断所述自动导航设备是否满足从当前导航模式切换至目标导航模式的第一模式切换条件;
若所述自动导航设备满足所述第一模式切换条件,则向所述自动导航设备发送第一模式切换指令。
2.根据权利要求1所述的导航方法,其特征在于,所述第一模式切换条件包括以下条件中的至少一个:
所述自动导航设备位于当前导航地图和目标导航地图的公共区域内或相邻的边界上;其中,所述当前导航地图为所述自动导航设备在所述当前导航模式下使用的地图,所述目标导航地图为所述自动导航设备在所述目标导航模式下使用的地图;
所述自动导航设备当前所处的环境与所述当前导航模式不匹配,且与所述目标导航模式匹配。
3.根据权利要求2所述的导航方法,其特征在于,在所述接收自动导航设备上传的第一位置信息之前,所述方法还包括:
根据地图编辑界面上作出的编辑操作生成导航地图,并向所述自动导航设备发送所述导航地图;其中,所述导航地图包括所述当前导航地图和所述目标导航地图;
在所述向所述自动导航设备发送第一模式切换指令之后,所述方法还包括:
控制地图显示界面上显示的所述当前导航地图切换为所述目标导航地图。
4.根据权利要求2或3所述的导航方法,其特征在于,所述自动导航设备位于当前导航地图和目标导航地图的公共区域内或相邻的边界上,包括:
所述自动导航设备位于对接点,所述对接点为所述当前导航地图和所述目标导航地图的公共区域内或相邻的边界上的指定地点。
5.根据权利要求1-4中任一项所述的导航方法,其特征在于,所述第一模式切换条件包括所述自动导航设备位于对接点;
在所述接收自动导航设备上传的第一位置信息之前,所述方法还包括:
向所述自动导航设备发送从所述当前导航地图中的起点移动至所述对接点的调度指令;
在所述向所述自动导航设备发送第一模式切换指令之后,所述方法还包括:
向所述自动导航设备发送从所述对接点移动至所述目标导航地图中的终点的调度指令。
6.根据权利要求5所述的导航方法,其特征在于,在所述向所述自动导航设备发送从所述当前导航地图中的起点移动至所述对接点的调度指令之前,所述方法还包括:
接收业务系统发送的调度任务,所述调度任务的任务信息包括所述起点和所述终点的位置;
根据所述任务信息规划所述自动导航设备的移动路径,所述移动路径包括从所述起点到所述对接点的路径,以及,从所述对接点到所述终点的路径。
7.根据权利要求1-6中任一项所述的导航方法,其特征在于,所述第一模式切换条件包括所述自动导航设备位于对接点,在所述根据所述第一位置信息判断所自述动导航设备是否满足第一模式切换条件之前,所述方法还包括:
接收第二模式切换指令,所述第二模式切换指令用于指示所述调度系统控制所述自动导航设备进行导航模式切换;
在所述根据所述第一位置信息判断所述自动导航设备是否满足第一模式切换条件之后,所述方法还包括:
若所述自动导航设备因未处于所述对接点而不满足所述第一模式切换条件,则向所述自动导航设备发送移动至所述对接点的调度指令。
8.根据权利要求7所述的导航方法,其特征在于,所述第二模式切换指令为手动切换指令,所述向所述自动导航设备发送移动至所述对接点的调度指令,包括:
生成提示信息,并向所述调度系统的客户端发送所述提示信息,所述提示信息用于告知用户选择是否要进行导航模式切换;
响应从所述客户端接收到的切换确认指令,向所述自动导航设备发送移动至所述对接点的调度指令。
9.根据权利要求1-8中任一项所述的导航方法,其特征在于,所述自动导航设备支持的导航模式包括:二维码导航模式以及至少一种同步定位与地图构建SLAM导航模式,或者,至少两种SLAM导航模式;
其中,所述SLAM导航模式包括:激光SLAM、视觉SLAM以及激光结合视觉SLAM。
10.根据权利要求5所述的导航方法,其特征在于,所述自动导航设备支持二维码导航模式,所述当前导航地图或所述目标导航地图为二维码导航地图;
所述对接点包括所述二维码导航地图中位于所述公共区域内或所述相邻的边界上的二维码点。
11.根据权利要求5所述的导航方法,其特征在于,所述自动导航设备支持SLAM导航模式,所述当前导航地图和/或所述目标导航地图为SLAM导航地图,所述方法还包括:
接收被移动至所述对接点处的所述自动导航设备上传的第二位置信息;
根据所述第二位置信息在所述SLAM导航地图中标记出所述对接点。
12.一种导航方法,其特征在于,应用于自动导航设备,包括:
向调度系统发送所述自动导航设备的第一位置信息;其中,所述第一位置信息用于所述调度系统判断所述自动导航设备是否满足从当前导航模式切换至目标导航模式的第一模式切换条件;
接收所述调度系统发送的第一模式切换指令;
响应所述第一模式切换指令,从所述当前导航模式切换至所述目标导航模式。
13.根据权利要求12所述的导航方法,其特征在于,所述响应所述第一模式切换指令,从所述当前导航模式切换至所述目标导航模式,包括:
响应所述第一模式切换指令,判断所述自动导航设备是否满足从所述当前导航模式切换至所述目标导航模式的第二模式切换条件;
若自动导航设备满足所述第二模式切换条件,则从所述当前导航模式切换至所述目标导航模式。
14.一种导航装置,其特征在于,配置于部署有调度系统的服务器,所述装置包括:
位置信息接收模块,用于接收自动导航设备发送的第一位置信息;
切换条件判断模块,用于根据所述第一位置信息判断所述自动导航设备是否满足从当前导航模式切换至目标导航模式的第一模式切换条件;
切换指令发送模块,用于在所述自动导航设备满足所述第一模式切换条件是,向所述自动导航设备发送第一模式切换指令。
15.一种导航装置,其特征在于,配置于自动导航设备,包括:
位置信息发送模块,用于向调度系统发送所述自动导航设备的第一位置信息;其中,所述第一位置信息用于所述调度系统判断所述自动导航设备是否满足从当前导航模式切换至目标导航模式的第一模式切换条件;
切换指令接收模块,用于接收所述调度系统发送的第一模式切换指令;其中,所述第一模式切换指令由所述调度系统在判断出所述自动导航设备满足所述第一模式切换条件时发送;
模式切换模块,用于响应所述第一模式切换指令,从所述当前导航模式切换至所述目标导航模式。
16.一种服务器,其特征在于,包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求1-11中任一项所述的方法。
17.一种自动导航设备,其特征在于,包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求12或13所述的方法。
18.一种货物搬运系统,其特征在于,包括:
服务器,用于部署调度系统,所述服务器执行权利要求1-11中任一项所述的方法;
自动导航设备,用于基于自动导航进行货物搬运,所述自动导航设备执行权利要求12或13所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110808943.7A CN113654558A (zh) | 2021-07-16 | 2021-07-16 | 导航方法及装置、服务器、设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110808943.7A CN113654558A (zh) | 2021-07-16 | 2021-07-16 | 导航方法及装置、服务器、设备、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113654558A true CN113654558A (zh) | 2021-11-16 |
Family
ID=78489518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110808943.7A Pending CN113654558A (zh) | 2021-07-16 | 2021-07-16 | 导航方法及装置、服务器、设备、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113654558A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114185529A (zh) * | 2021-11-29 | 2022-03-15 | 江苏集萃智能制造技术研究所有限公司 | 一种自动生成导引机器人导引界面的方法 |
CN114489918A (zh) * | 2022-04-15 | 2022-05-13 | 北京京东乾石科技有限公司 | 数据展示方法、系统及装置 |
CN117168469A (zh) * | 2023-11-03 | 2023-12-05 | 普达迪泰(成都)智造研究院有限公司 | 一种自由切换导航方式的组合导航方法及系统 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080288166A1 (en) * | 2004-05-07 | 2008-11-20 | Navitime Japan Co., Ltd. | Portable Navigation Terminal and Program |
JP2010038823A (ja) * | 2008-08-07 | 2010-02-18 | Xanavi Informatics Corp | ナビゲーション装置、地図表示方法 |
CN104019808A (zh) * | 2013-02-28 | 2014-09-03 | 联想(北京)有限公司 | 导航模式切换方法和装置 |
CN105865470A (zh) * | 2016-03-31 | 2016-08-17 | 百度在线网络技术(北京)有限公司 | 一种导航切换方法及装置 |
CN107846518A (zh) * | 2017-11-15 | 2018-03-27 | 维沃移动通信有限公司 | 一种导航状态切换方法、移动终端及计算机可读存储介质 |
CN108931248A (zh) * | 2018-05-21 | 2018-12-04 | 杭州优行科技有限公司 | 导航数据处理方法、装置、电子设备及可读存储介质 |
US20190033089A1 (en) * | 2016-03-31 | 2019-01-31 | Baidu Online Network Technology (Beijing) Co., Ltd | Map based navigation method, apparatus and storage medium |
CN109752004A (zh) * | 2018-12-29 | 2019-05-14 | 航天信息股份有限公司 | 室内无人机导航方法、装置及室内无人机 |
CN110794826A (zh) * | 2019-09-24 | 2020-02-14 | 北京旷视机器人技术有限公司 | 混合导航方法及装置、通信方法及装置、设备、存储介质 |
CN110858075A (zh) * | 2018-08-15 | 2020-03-03 | 杭州海康机器人技术有限公司 | 一种移动机器人跨区域方法、装置、调度系统 |
CN111796589A (zh) * | 2019-04-04 | 2020-10-20 | 上海快仓智能科技有限公司 | 导航控制方法、智能仓储系统和自动引导车 |
WO2020215901A1 (zh) * | 2019-04-23 | 2020-10-29 | 炬星科技(深圳)有限公司 | 路径规划方法、电子设备、机器人及计算机可读存储介质 |
WO2020258721A1 (zh) * | 2019-06-27 | 2020-12-30 | 广东利元亨智能装备股份有限公司 | 智能巡航车导航方法及系统 |
CN112454369A (zh) * | 2021-01-27 | 2021-03-09 | 苏州盈科电子有限公司 | 一种机器人的控制方法及装置 |
CN112525206A (zh) * | 2019-09-17 | 2021-03-19 | 隆博科技(常熟)有限公司 | 一种基于多地图切换导航方法 |
JP2021076584A (ja) * | 2019-11-12 | 2021-05-20 | 亞慶股▲フン▼有限公司 | ゴルフ場自動運転車のナビゲーション切り替え設備 |
-
2021
- 2021-07-16 CN CN202110808943.7A patent/CN113654558A/zh active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080288166A1 (en) * | 2004-05-07 | 2008-11-20 | Navitime Japan Co., Ltd. | Portable Navigation Terminal and Program |
JP2010038823A (ja) * | 2008-08-07 | 2010-02-18 | Xanavi Informatics Corp | ナビゲーション装置、地図表示方法 |
CN104019808A (zh) * | 2013-02-28 | 2014-09-03 | 联想(北京)有限公司 | 导航模式切换方法和装置 |
CN105865470A (zh) * | 2016-03-31 | 2016-08-17 | 百度在线网络技术(北京)有限公司 | 一种导航切换方法及装置 |
US20190033089A1 (en) * | 2016-03-31 | 2019-01-31 | Baidu Online Network Technology (Beijing) Co., Ltd | Map based navigation method, apparatus and storage medium |
CN107846518A (zh) * | 2017-11-15 | 2018-03-27 | 维沃移动通信有限公司 | 一种导航状态切换方法、移动终端及计算机可读存储介质 |
CN108931248A (zh) * | 2018-05-21 | 2018-12-04 | 杭州优行科技有限公司 | 导航数据处理方法、装置、电子设备及可读存储介质 |
CN110858075A (zh) * | 2018-08-15 | 2020-03-03 | 杭州海康机器人技术有限公司 | 一种移动机器人跨区域方法、装置、调度系统 |
CN109752004A (zh) * | 2018-12-29 | 2019-05-14 | 航天信息股份有限公司 | 室内无人机导航方法、装置及室内无人机 |
CN111796589A (zh) * | 2019-04-04 | 2020-10-20 | 上海快仓智能科技有限公司 | 导航控制方法、智能仓储系统和自动引导车 |
WO2020215901A1 (zh) * | 2019-04-23 | 2020-10-29 | 炬星科技(深圳)有限公司 | 路径规划方法、电子设备、机器人及计算机可读存储介质 |
WO2020258721A1 (zh) * | 2019-06-27 | 2020-12-30 | 广东利元亨智能装备股份有限公司 | 智能巡航车导航方法及系统 |
CN112525206A (zh) * | 2019-09-17 | 2021-03-19 | 隆博科技(常熟)有限公司 | 一种基于多地图切换导航方法 |
CN110794826A (zh) * | 2019-09-24 | 2020-02-14 | 北京旷视机器人技术有限公司 | 混合导航方法及装置、通信方法及装置、设备、存储介质 |
JP2021076584A (ja) * | 2019-11-12 | 2021-05-20 | 亞慶股▲フン▼有限公司 | ゴルフ場自動運転車のナビゲーション切り替え設備 |
CN112454369A (zh) * | 2021-01-27 | 2021-03-09 | 苏州盈科电子有限公司 | 一种机器人的控制方法及装置 |
Non-Patent Citations (1)
Title |
---|
吕海泳;蔡建宁;袁贺男;: "基于视觉SLAM的无人运转车导航系统设计", 山东工业技术, no. 03, 15 June 2020 (2020-06-15) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114185529A (zh) * | 2021-11-29 | 2022-03-15 | 江苏集萃智能制造技术研究所有限公司 | 一种自动生成导引机器人导引界面的方法 |
CN114489918A (zh) * | 2022-04-15 | 2022-05-13 | 北京京东乾石科技有限公司 | 数据展示方法、系统及装置 |
CN117168469A (zh) * | 2023-11-03 | 2023-12-05 | 普达迪泰(成都)智造研究院有限公司 | 一种自由切换导航方式的组合导航方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7518098B2 (ja) | 倉庫保管タスク処理方法と装置、倉庫保管システム、およびストレージ媒体 | |
CN113654558A (zh) | 导航方法及装置、服务器、设备、系统及存储介质 | |
US20210311475A1 (en) | Method, system and apparatus for handling operational constraints for control of unmanned vehicles | |
Schneier et al. | Literature review of mobile robots for manufacturing | |
US10994418B2 (en) | Dynamically adjusting roadmaps for robots based on sensed environmental data | |
CN107678405B (zh) | 机器人行驶方法及其装置 | |
CN107671863B (zh) | 基于二维码的机器人控制方法、装置及机器人 | |
JP5503419B2 (ja) | 無人搬送車および走行制御方法 | |
US8948913B2 (en) | Method and apparatus for navigating robot | |
CN107578200B (zh) | 基于agv的控制方法、装置及计算机可读存储介质 | |
US10990919B2 (en) | Systems and methods for autonomous lineside parts delivery to an assembly line process | |
CN107065861A (zh) | 机器人集智能搬运、装卸于一体的方法和装置 | |
CN112256018A (zh) | 机器人调度的处理方法、装置、设备及存储介质 | |
Oleari et al. | Industrial AGVs: Toward a pervasive diffusion in modern factory warehouses | |
US11232388B2 (en) | Automated guided vehicle systems for retrieving hems | |
CN113654549A (zh) | 导航方法、导航系统、导航设备、搬运系统及存储介质 | |
CN112146668A (zh) | 基于ros的无人车自主导航方法 | |
US20240310860A1 (en) | Methods and apparatus for controlling automated vehicles in an environment using virtual approved pathways | |
CN114608552A (zh) | 一种机器人建图方法、系统、装置、设备及存储介质 | |
US11797906B2 (en) | State estimation and sensor fusion switching methods for autonomous vehicles | |
JP7554988B2 (ja) | 設計支援システム、設計支援方法、及びプログラム | |
CN112288316A (zh) | 调度车辆的控制方法、装置和系统 | |
Khosiawan et al. | Concept of indoor 3d-route UAV scheduling system | |
CN115357017A (zh) | 机器人控制方法、电子设备及存储介质 | |
Oleari et al. | Improving AGV systems: Integration of advanced sensing and control technologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |