Navigation method and device, server, equipment, system and storage medium
By realizing dynamic switching of navigation mode in the AGV navigation system, the problem of the existing system only supporting one navigation mode is solved, which improves navigation accuracy and efficiency and broadens application scenarios.
Patent Information
- Application Number
- CN202110808943.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-16
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2041-07-16
AI Technical Summary
The existing AGV navigation system only supports one navigation mode, and cannot fully utilize the advantages of multiple navigation methods, limiting its application in different environmental scenarios.
By realizing navigation mode switching of automatic navigation equipment in the scheduling system, we can determine whether the switching conditions are met based on the position information, send mode switching instructions, and support dynamic changes of multiple navigation modes, including QR code navigation and SLAM navigation, and different SLAM navigation. Switch between modes.
It realizes the flexible adaptation of automatic navigation equipment in different environment scenarios, improves navigation accuracy and efficiency, broadens application scenarios, and meets the actual needs of users.
Smart Images

Figure CN113654558B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robotics technology, and in particular to a navigation method and device, a server, equipment, a system and a storage medium. Background Art
[0002] In recent years, Auto Guided Vehicle (AGV) has been deployed in large numbers in e-commerce, smart factories and other fields to perform tasks such as cargo handling. Automatic navigation of AGV refers to the behavior of AGV moving along a predetermined route based on its own position. In the prior art, there are a variety of AGV navigation methods, such as QR code navigation, Simultaneous Localization and Mapping (SLAM) navigation, etc. These navigation methods have their own advantages and disadvantages. The current AGV generally only supports one of the navigation methods, which cannot give full play to the advantages of various navigation methods and also limits the application of AGV in certain business scenarios. Summary of the invention
[0003] The purpose of the embodiments of the present application is to provide a navigation method and apparatus, server, equipment, system and storage medium to improve the above-mentioned technical problems.
[0004] To achieve the above objectives, this application provides the following technical solutions:
[0005] In a first aspect, an embodiment of the present application provides a navigation method for application in a scheduling system, the method comprising: receiving first position information sent by an automatic navigation device; judging whether the automatic navigation device satisfies a first mode switching condition for switching from a current navigation mode to a target navigation mode based on the first position information; if the automatic navigation device satisfies the first mode switching condition, sending a first mode switching instruction to the automatic navigation device.
[0006] The automatic navigation device in the above method supports multiple navigation modes. When the first mode switching condition is met, the automatic navigation device can switch the navigation mode under the control of the dispatching system. Since the dynamic change of the navigation mode is supported, the method helps the automatic navigation device to give full play to the advantages of various navigation methods and automatically adapt to various environmental scenarios, thereby broadening the application scenarios of the automatic navigation device.
[0007] In an implementation of the first aspect, the first mode switching condition includes at least one of the following conditions: the automatic navigation device is located in a common area or on an adjacent boundary of a current navigation map and a target navigation map; wherein the current navigation map is a map used by the automatic navigation device in the current navigation mode, and the target navigation map is a map used by the automatic navigation device in the target navigation mode; the current environment of the automatic navigation device does not match the current navigation mode, but matches the target navigation mode.
[0008] Many automatic navigation methods require the support of navigation maps. In the non-common area of two navigation maps, the automatic navigation device can only navigate in one mode, while in the common area of the two maps, the automatic navigation device can navigate in any mode, which can theoretically meet the basic requirements of switching navigation modes. In the common area of the navigation map, the navigation mode is switched in time, so that the automatic navigation device can support operations across navigation maps.
[0009] A similar analysis can be performed for the case where the two navigation maps have no common areas but have adjacent boundaries.
[0010] Different navigation modes have matching environments, that is, when the automatic navigation device is in this environment, the corresponding navigation mode can be implemented or can be implemented relatively well. The environment in which the automatic navigation device is located is likely to change. On the one hand, the environment itself will change (for example, the lighting conditions will change over time), and on the other hand, the movement of the automatic navigation device may also cause the surrounding environment to change. Therefore, when the environment changes, the navigation mode is changed in time, so that the automatic navigation device can maintain a good working condition for a long time.
[0011] In an implementation of the first aspect, before receiving the first location information uploaded by the automatic navigation device, the method also includes: generating a navigation map according to the editing operation performed on the map editing interface, and sending the navigation map to the automatic navigation device; wherein the navigation map includes the current navigation map and the target navigation map.
[0012] In the above implementation, a map editing interface is provided for the user to edit the navigation map, which is conducive to obtaining a map that conforms to the actual environment, thereby improving the accuracy of automatic navigation.
[0013] In an implementation of the first aspect, after sending the first mode switching instruction to the automatic navigation device, the method further includes: controlling the current navigation map displayed on the map display interface to switch to the target navigation map.
[0014] In the above implementation, when the navigation mode is switched, the map displayed on the map display interface is also switched accordingly, so that the user can view the map being used by the automatic navigation device in real time, thereby improving the user experience. Optionally, the dispatching system may also switch the map after receiving a confirmation message from the automatic navigation device indicating that the navigation mode switch is successful, thereby ensuring the synchronization of the map display switch and the navigation mode switch.
[0015] In an implementation of the first aspect, the first mode switching condition includes at least that the automatic navigation device is located at a docking point, and the docking point is a designated location in a common area of the current navigation map and the target navigation map.
[0016] In the above implementation, the automatic navigation device is allowed to switch the navigation mode only at the docking point. This setting is determined by the characteristics of certain navigation modes on the one hand, and by certain business scenarios on the other hand. The location of the docking point is accurately marked on the navigation map to facilitate path planning.
[0017] In an implementation manner of the first aspect, the docking point includes a work site of the automatic navigation device.
[0018] At the workstation, the automatic navigation device can stop and perform some business-related operations, such as loading, unloading, tallying, etc. Personnel and equipment can also be deployed at the workstation to assist the automatic navigation device in completing these operations. The automatic navigation device often needs to stop when switching navigation modes. Therefore, by setting the workstation as a docking point, these two types of stops can be unified to improve the working efficiency of the automatic navigation device.
[0019] In an implementation of the first aspect, the first mode switching condition at least includes that the automatic navigation device is located at a docking point; before receiving the first location information uploaded by the automatic navigation device, the method further includes: sending a scheduling instruction to the automatic navigation device to move from the starting point in the current navigation map to the docking point; after sending the first mode switching instruction to the automatic navigation device, the method further includes: sending a scheduling instruction to the automatic navigation device to move from the docking point to the end point in the target navigation map.
[0020] In a task, the automatic navigation device needs to move from the starting point in the current navigation map to the end point in the target navigation map. This process can be completed in three steps on the scheduling system. The first step is to schedule the automatic navigation device from the starting point to the docking point in the current navigation mode. The second step is to control the automatic navigation device to switch from the current navigation mode to the target navigation mode. The third step is to schedule the automatic navigation device from the docking point to the end point in the target navigation mode. The entire scheduling process is simple and efficient, and a smooth switching of navigation modes is achieved.
[0021] In an implementation of the first aspect, before sending a scheduling instruction to the automatic navigation device to move from the starting point in the current navigation map to the docking point, the method also includes: receiving a scheduling task sent by a business system, the task information of the scheduling task including the locations of the starting point and the end point; planning a moving path of the automatic navigation device according to the task information, the moving path including a path from the starting point to the docking point, and a path from the docking point to the end point.
[0022] In the above implementation, the business system is only responsible for defining the starting point and end point of the task, and the path planning is completed by the scheduling system. That is, the scheduling system shields the implementation details of the scheduling process from the business system, reducing the design burden on the business system side.
[0023] In an implementation of the first aspect, the first mode switching condition at least includes that the automatic navigation device is located at a docking point, and before determining whether the automatic navigation device satisfies the first mode switching condition based on the first position information, the method further includes: receiving a second mode switching instruction, wherein the second mode switching instruction is used to instruct the scheduling system to control the automatic navigation device to switch the navigation mode; after determining whether the automatic navigation device satisfies the first mode switching condition based on the first position information, the method further includes: if the automatic navigation device does not satisfy the first mode switching condition because it is not at the docking point, sending a scheduling instruction to the automatic navigation device to move to the docking point.
[0024] The second navigation mode switching instruction may be sent to the scheduling system by the client of the scheduling system or the business system. When the second navigation mode switching instruction is received, the automatic navigation device may not be at the docking point, so the navigation mode cannot be switched. At this time, the scheduling system needs to first dispatch the automatic navigation device to the docking point, and then control it to switch the navigation mode to respond to the second navigation mode switching instruction.
[0025] In an implementation of the first aspect, the second mode switching instruction is a manual switching instruction, and the sending of a scheduling instruction to the automatic navigation device to move to the docking point includes: generating prompt information and sending the prompt information to a client of the scheduling system, wherein the prompt information is used to inform the user to choose whether to switch the navigation mode; and sending a scheduling instruction to the automatic navigation device to move to the docking point in response to a switching confirmation instruction received from the client.
[0026] Manual mode can be used in the system debugging phase to test whether the navigation mode switching function can operate normally. When the dispatch system receives a manual switching instruction, if it is confirmed that the automatic navigation device is not at the docking point, that is, the navigation mode cannot be switched immediately, it can notify the user and let the user choose whether to continue to switch the navigation mode. If the user insists on switching the navigation mode, the automatic navigation device will be dispatched to the docking point first, and then controlled to switch the navigation mode to achieve a response to the manual switching instruction.
[0027] In an implementation of the first aspect, the navigation modes supported by the automatic navigation device include: a QR code navigation mode and at least one SLAM navigation mode, or at least two SLAM navigation modes; wherein the SLAM navigation modes include: laser SLAM, visual SLAM, and laser combined with visual SLAM.
[0028] The automatic navigation device uses QR code navigation, which has the advantages of high positioning accuracy, easy posture calculation, and fast movement speed, but the disadvantage is that the workload of environmental layout (layout of QR codes) is large; the automatic navigation device uses SLAM navigation, which has the advantages of small workload of environmental layout and flexible path planning, but the disadvantages are that the positioning accuracy is easily affected by the environment, the real-time performance of posture calculation is poor, and the movement speed is relatively slow.
[0029] Furthermore, SLAM navigation can also be subdivided into several different methods, namely laser SLAM, visual SLAM and laser combined with visual SLAM. Laser SLAM is more suitable for static and simple environments, while visual SLAM is more suitable for larger and dynamic environments. In addition, in environments with poor lighting, the performance of visual SLAM is not as good as laser SLAM. Laser combined with visual SLAM combines the advantages of both, but the hardware cost is higher.
[0030] In the above implementation, since the scheduling system can control the automatic navigation device to switch between the QR code navigation mode and the SLAM navigation mode, or between different SLAM navigation modes, it is beneficial for these navigation modes to complement each other, achieve better navigation effects, and meet the actual needs of users.
[0031] In an implementation of the first aspect, the automatic navigation device supports a QR code navigation mode and at least one SLAM navigation mode, the navigation maps used by the automatic navigation device include a QR code navigation map and a SLAM navigation map, and generating a navigation map according to editing operations on a map editing interface includes: creating an original QR code navigation map on the map editing interface, and generating the QR code navigation map according to editing operations performed on the original QR code navigation map on the map editing interface; and importing an original SLAM navigation map pre-created by the automatic navigation device into the map editing interface, and generating the SLAM navigation map according to editing operations performed on the original SLAM navigation map on the map editing interface.
[0032] In the above implementation, the QR code navigation map can be completely edited and generated by the user, and the SLAM navigation map can be first moved by the automatic navigation device in the actual environment to build the original SLAM navigation map, and then the original SLAM navigation map can be exported from the automatic navigation device and imported into the map editing interface of the scheduling system, and finally the user can further edit the original SLAM navigation map to obtain the final SLAM navigation map. That is, different editing strategies can be adopted for different types of navigation maps.
[0033] In an implementation of the first aspect, the automatic navigation device supports a QR code navigation mode, and the current navigation map or the target navigation map is a QR code navigation map; the docking point includes a QR code point in the QR code navigation map that is located in the public area or on the adjacent boundary.
[0034] In the QR code navigation mode, the position of the QR code point in the QR code navigation map can be easily and accurately calculated, and the automatic navigation device can also stop at the QR code point, so the docking point can be selected from the QR code point.
[0035] In an implementation of the first aspect, the automatic navigation device supports the SLAM navigation mode, the current navigation map and / or the target navigation map is a SLAM navigation map, and the method further includes: receiving second location information uploaded by the automatic navigation device moved to the docking point; and marking the docking point in the SLAM navigation map according to the second location information.
[0036] Since the SLAM navigation map does not have the grid structure of the QR code navigation map, it is different from the QR code point, and it is difficult to directly mark the exact position of the docking point in the SLAM navigation map. In the above implementation, the automatic navigation device is first moved to the docking point to be marked (for example, a QR code point), and then the position of the docking point in the SLAM navigation map is automatically marked according to the second position information reported by it, so that an accurate marking result can be obtained.
[0037] In a second aspect, an embodiment of the present application provides a navigation method, applied to an automatic navigation device, comprising: sending first position information of the automatic navigation device to a scheduling system; wherein the first position information is used by the scheduling system to determine whether the automatic navigation device satisfies a first mode switching condition for switching from a current navigation mode to a target navigation mode; receiving a first mode switching instruction sent by the scheduling system; wherein the first mode switching instruction is sent by the scheduling system when it is determined that the automatic navigation device satisfies the first mode switching condition; and in response to the first mode switching instruction, switching from the current navigation mode to the target navigation mode.
[0038] The automatic navigation device in the above method supports multiple navigation modes. When the first mode switching condition is met, the automatic navigation device can switch the navigation mode under the control of the dispatching system. Since the dynamic change of the navigation mode is supported, the method helps the automatic navigation device to give full play to the advantages of various navigation methods and automatically adapt to various environmental scenarios, thereby broadening the application scenarios of the automatic navigation device.
[0039] In an implementation of the second aspect, the response to the first mode switching instruction to switch from the current navigation mode to the target navigation mode includes: responding to the first mode switching instruction to determine whether the automatic navigation device satisfies a second mode switching condition for switching from the current navigation mode to the target navigation mode; if the automatic navigation device satisfies the second mode switching condition, switching from the current navigation mode to the target navigation mode.
[0040] In the above implementation, the automatic navigation device itself can also determine whether the mode switching condition is satisfied before switching the navigation mode to ensure that the navigation mode switching timing is correct and reliable. The second mode switching condition can be the same as the first mode switching condition or different.
[0041] In a third aspect, an embodiment of the present application provides a navigation device, which is configured on a server deployed with a scheduling system, and the device includes: a position information receiving module, used to receive first position information sent by an automatic navigation device; a switching condition judgment module, used to judge whether the automatic navigation device satisfies a first mode switching condition for switching from a current navigation mode to a target navigation mode based on the first position information; and a switching instruction sending module, used to send a first mode switching instruction to the automatic navigation device when the automatic navigation device satisfies the first mode switching condition.
[0042] In a fourth aspect, an embodiment of the present application provides a navigation device, configured on an automatic navigation device, including: a position information sending module, used to send first position information of the automatic navigation device to a scheduling system; wherein the first position information is used by the scheduling system to determine whether the automatic navigation device satisfies a first mode switching condition for switching from a current navigation mode to a target navigation mode; a switching instruction receiving module, used to receive a first mode switching instruction sent by the scheduling system; wherein the first mode switching instruction is sent by the scheduling system when it is determined that the automatic navigation device satisfies the first mode switching condition; a mode switching module, used to respond to the first mode switching instruction to switch from the current navigation mode to the target navigation mode.
[0043] In a fifth aspect, an embodiment of the present application provides a server, comprising a memory and a processor, wherein the memory stores computer program instructions, and when the computer program instructions are read and run by the processor, the method provided by the first aspect or any possible implementation of the first aspect is executed.
[0044] In a sixth aspect, an embodiment of the present application provides an automatic navigation device, comprising a memory and a processor, wherein the memory stores computer program instructions, and when the computer program instructions are read and run by the processor, the method provided by the second aspect or any possible implementation of the second aspect is executed.
[0045] In the seventh aspect, an embodiment of the present application provides a cargo handling system, comprising: a server for deploying a scheduling system, the server executing the method provided by the first aspect or any possible implementation of the first aspect; an automatic navigation device for performing cargo handling based on automatic navigation, the automatic navigation device executing the method provided by the second aspect or any possible implementation of the second aspect.
[0046] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored. When the computer program instructions are read and executed by a processor, the method provided by the first aspect, the second aspect, or any possible implementation of these two aspects is executed. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments of the present application will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0048] Figure 1 A system architecture that can be used by the navigation method provided in the embodiment of the present application is shown;
[0049] Figure 2 A possible process of the navigation method provided by an embodiment of the present application is shown;
[0050] Figure 3 A two-dimensional code navigation map that can be used in the navigation method provided in the embodiment of the present application is shown;
[0051] Figure 4 The SLAM navigation map that can be used in the navigation method provided in the embodiment of the present application is shown;
[0052] Figure 5 Another possible process of the navigation method provided in the embodiment of the present application is shown;
[0053] Figure 6 Another possible process of the navigation method provided in the embodiment of the present application is shown;
[0054] Figure 7 A possible structure of a navigation device provided by an embodiment of the present application is shown;
[0055] Figure 8 A possible structure of another navigation device provided by an embodiment of the present application is shown;
[0056] Fig. 9 A possible structure of a server provided in an embodiment of the present application is shown;
[0057] Fig.10 A possible structure of the automatic navigation device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0058] With the development of intelligent technologies such as the Internet of Things, artificial intelligence, and big data, the demand for using these intelligent technologies to transform and upgrade the traditional logistics industry has become increasingly strong, and intelligent logistics (Intelligent Logistics System, referred to as ILS) has become a research hotspot in the logistics field. Intelligent logistics uses artificial intelligence, big data, and various information sensors, radio frequency identification technology, global positioning system (Global Positioning System, referred to as GPS) and other Internet of Things devices and technologies, which are widely used in basic activities such as material transportation, warehousing, distribution, packaging, loading and unloading, and information services, to achieve intelligent analysis and decision-making, automated operation, and efficient optimization management of the material management process. Internet of Things technologies include sensor equipment, radio frequency identification (Radio Frequency Identification, referred to as RFID), laser infrared scanning, infrared sensing recognition, etc. The Internet of Things can effectively connect materials in logistics with the network, monitor materials in real time, and sense environmental data such as humidity and temperature in the warehouse to ensure the storage environment of materials. Through big data technology, all data in logistics can be sensed and collected, uploaded to the data layer of the information platform, and filtered, mined, and analyzed, and finally accurate data support can be provided for business processes (such as transportation, warehousing, storage, picking, packaging, sorting, outbound, inventory, distribution, etc.). The application of artificial intelligence in logistics can be roughly divided into two directions:
[0059] (1) Artificial Intelligence , Intelligent devices enabled by AI (Artificial Intelligence) technology, such as unmanned trucks, AGVs, autonomous mobile robots (AMRs), forklifts, shuttle trucks, stackers, unmanned delivery vehicles, drones, service robots, robotic arms, smart terminals, etc., have replaced part of the manual labor.
[0060] (2) Improve labor efficiency through software systems such as transportation equipment management systems, warehouse management, equipment scheduling systems, and order distribution systems driven by technologies or algorithms such as computer vision, machine learning, and operations optimization. With the research and progress of smart logistics, this technology has been applied in many fields, such as retail and e-commerce, electronic products, tobacco, medicine, industrial manufacturing, footwear, textiles, and food.
[0061] The automatic navigation solution proposed in the embodiment of the present application can also be regarded as an application of artificial intelligence in the field of logistics. Of course, the application scenarios of this method are not limited to the field of logistics.
[0062] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application. It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in the subsequent drawings.
[0063] The terms "comprises," "comprising," or any other variation thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus that includes a list of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element.
[0064] The terms "first", "second", etc. are only used to distinguish one entity or operation from another entity or operation, and should not be understood as indicating or implying relative importance, nor should they be understood as requiring or implying any such actual relationship or order between these entities or operations.
[0065] Figure 1 A system architecture that can be used by the navigation method provided in the embodiment of the present application is shown. Figure 1 The architecture includes at least: an automatic navigation device 110 and a dispatching system 120, and in some implementations, may also include a business system 130 and / or a client 140. The data interaction relationship between these components may be as follows: Figure 1 Indicated by the arrow.
[0066] The automatic navigation device 110 generally refers to a device with automatic navigation capability, for example, it can be an AGV, AMR, drone, unmanned ship, etc., and the following mainly takes ground devices as an example. In this architecture, the automatic navigation device 110 can be one or more.
[0067] There are different modes of automatic navigation. The available navigation modes include QR code navigation mode, SLAM navigation mode (if divided more finely, SLAM navigation mode can further include laser SLAM, visual SLAM and laser combined with visual SLAM), inertial navigation mode, and other navigation modes that exist currently or may appear in the future. In the following text, the two navigation modes of QR code and SLAM are mainly used as examples for explanation. The following takes the navigation of automatic navigation equipment in a warehouse as an example to briefly introduce these two navigation modes.
[0068] (1) QR code navigation mode
[0069] First, QR codes are laid out at equal intervals on the warehouse floor. A QR code recognition unit is installed on the automatic navigation device and a QR code navigation map is stored. The automatic navigation device can move along the straight line (including broken line) path in the QR code navigation map, and locate itself by scanning the QR code on the ground during the movement. QR code navigation has the advantages of high positioning accuracy, easy posture calculation, and fast movement speed of automatic navigation equipment, but the disadvantage is that the workload of environmental layout (laying QR codes) is large, and it is not convenient to lay QR codes in some environments.
[0070] (2) SLAM navigation mode
[0071] SLAM navigation mode is a general term, which includes at least three specific navigation modes: laser SLAM, visual SLAM, and laser combined with visual SLAM. The automatic navigation device that supports the SLAM navigation mode is equipped with a laser radar and / or a camera. Specifically, if a laser radar is installed, laser SLAM can be used for navigation. If a camera is installed, visual SLAM can be used for navigation. If a laser radar and a camera are installed at the same time, laser combined with visual SLAM can be used for navigation (of course, only laser SLAM or visual SLAM can be used for navigation at this time). When the SLAM navigation mode is mentioned later, if it is not specifically stated, it can refer to any of the above three specific modes.
[0072] Before actual deployment, the automatic navigation device is first run in the warehouse, and the distribution of obstacles is detected by laser radar and / or camera, and then the SLAM navigation map is constructed and stored. After actual deployment, the automatic navigation device can move along the curved path in the SLAM navigation map, and detect the position of nearby obstacles by laser radar and / or camera during the movement to achieve self-positioning. Compared with QR code navigation, the workload of SLAM navigation environment layout is small, and it is more flexible in path planning, but its positioning accuracy is easily affected by the external environment (for example, when there is an uncertain light source in the environment, or when the objects in the environment are very similar, the automatic navigation device is prone to positioning failure), and because SLAM navigation relies on laser radar and / or camera to obtain point cloud data in the environment to calculate its own posture, its calculation amount is much larger than that of using QR code, and the real-time performance of posture calculation is poor, so the movement speed of the automatic navigation device is also relatively slow, which cannot meet the needs of certain business scenarios.
[0073] Here is a brief comparison of several different SLAM navigation modes:
[0074] Laser SLAM is good at positioning in static and simple environments, such as an unmanned workspace in a warehouse, which only has shelves and automatic navigation equipment. However, laser SLAM is not good at positioning in dynamic environments, such as manned workspaces in warehouses, where there may be a large number of people blocking its measurement, and laser SLAM is not good at positioning in similar geometric environments, such as a long and straight passage with walls on both sides. Due to poor re-positioning capabilities, laser SLAM has difficulty getting back to work after tracking is lost.
[0075] Relatively speaking, visual SLAM performs better in dynamic environments, but it requires rich textures in the working environment. Once it is in a textureless or weakly textured environment, for example, near a large white wall, visual SLAM performs poorly. In addition, since visual SLAM relies on images collected by the camera for positioning, its performance drops significantly when the light in the environment is weak. Laser SLAM can be used in weak light environments.
[0076] Laser combined with visual SLAM combines the advantages of laser SLAM and visual SLAM. Generally speaking, its positioning performance is better than that of simple laser SLAM or visual SLAM. However, laser combined with visual SLAM requires more sensor support, so the hardware cost is higher than that of simple laser SLAM or visual SLAM, and the positioning algorithm is also more complicated. In the scheme of the present application, the automatic navigation device 110 implements support for multiple navigation modes in hardware. For example, a two-dimensional code recognition unit and a laser radar are installed on the automatic navigation device 110 at the same time, so that the two-dimensional code navigation mode and the laser SLAM navigation mode can be supported. For another example, a two-dimensional code recognition unit and a camera are installed on the automatic navigation device 110 at the same time, so that the two-dimensional code navigation mode and the visual SLAM navigation mode can be supported. For another example, an inertial navigation unit and a two-dimensional code recognition unit are installed on the automatic navigation device 110 at the same time, so that the inertial navigation mode and the two-dimensional code navigation mode can be supported. For another example, a laser radar and a camera are installed on the automatic navigation device 110 at the same time, so that the laser SLAM navigation mode and the visual SLAM navigation mode can be supported. For another example, the automatic navigation device 110 is equipped with a QR code recognition unit, a laser radar and a camera at the same time, so that it can support a QR code navigation mode, a laser SLAM navigation mode, a visual SLAM navigation mode and a laser combined with visual SLAM navigation mode.
[0077] Of course, in the solution of the present application, the automatic navigation device 110 does not simply integrate the hardware used by multiple navigation modes, but more importantly supports dynamic navigation mode switching, that is, changing the navigation mode used by the automatic navigation device 110 during operation, rather than setting it to another navigation mode after the device is turned off. Fig.10 Related explanation of .
[0078] The dispatch system 120 is used to dispatch the automatic navigation device 110. The so-called dispatch can refer to issuing specific instructions to the automatic navigation device 110 to control the automatic navigation device 110 to perform corresponding actions. Such instructions can be instructions to switch navigation modes, instructions to move along a specified route, instructions to charge, etc. A dispatch system 120 can support the dispatch of multiple automatic navigation devices 110 at the same time. It should be understood that the dispatch system 120 can also receive status information or other data uploaded by the automatic navigation device 110. The dispatch system 120 can be deployed on a server. For the internal structure of the server, please refer to Fig. 9 The automatic navigation device 110 and the server deployed with the dispatching system 120 may be collectively referred to as an automatic navigation system.
[0079] The business system 130 is the upper system of the scheduling system. The business system 130 can send business requirements to the scheduling system 120, and the scheduling system 120 implements the corresponding business through scheduling. In some implementations, the business system 130 can also send some instructions to the scheduling system 120 to achieve upper-level control of the scheduling process. Such instructions can be instructions to switch navigation modes, etc. The business system 130 and the scheduling system 120 can be deployed on the same server or on different servers. If the two are deployed on the same server, it is not ruled out that the two are implemented as two functional modules in the same system. It can be understood that the business system 130 does not need to be implemented in all scenarios. For example, the user can also configure the scheduling task on the scheduling system 120 directly or through the client 140.
[0080] The client 140 refers to the client of the scheduling system 120. The user can access the scheduling system 120 through the client 140, or send some instructions to the scheduling system 120 to realize manual control of the scheduling process. Such instructions can be instructions for switching navigation modes, etc. The client 140 can be a special software installed on the user terminal, or it can be a general browser installed on the user terminal. The browser can access the front-end page of the scheduling system. It can be understood that it is not excluded that in some implementations, the scheduling system 120 only provides a visual interface for users to access locally on the server. This method does not require the implementation of the client 140. The following mainly takes the case of implementing the client 140 as an example.
[0081] Figure 2 A possible process of the navigation method provided in the embodiment of the present application is shown, referring to Figure 2 , the process includes:
[0082] Step S210: The dispatching system generates a navigation map according to the editing operation on the map editing interface.
[0083] Step S220: The dispatching system sends a navigation map to the automatic navigation device.
[0084] Steps S210 and S220 are described together. The automatic navigation device supports multiple navigation modes, and different types of navigation maps are used in different navigation modes (of course, some navigation modes that do not use navigation maps are not excluded, but in the introduction Figure 2 These navigation modes are temporarily not considered when using the method in ), for example, the QR code navigation map is used in the QR code navigation mode, and the SLAM navigation map is used in the SLAM navigation mode. Before the automatic navigation device starts to perform a task (for example, moving goods), it is necessary to ensure that the navigation map to be used has been stored in the device. The navigation map can be edited on the scheduling system and then sent to the automatic navigation device (that is, the operations performed in steps S210 and S220). The "sending" mentioned here can be either actively pushed by the scheduling system or actively pulled by the automatic navigation device. It should be understood that the navigation map can also be transmitted to the automatic navigation device in other ways, such as copying through a storage medium (U disk, mobile hard disk, etc.), and steps S210 and S220 do not need to be executed at this time.
[0085] In some implementations, the automatic navigation device must first register with the dispatch system before it can accept the control of the dispatch system. When the device is registered, the dispatch system can compare the map version stored on the automatic navigation device with the map version stored on the dispatch system (the automatic navigation device can also perform version comparison). If the map stored on the dispatch system is newer (or the map has not yet been stored on the automatic navigation device), it will be sent to the automatic navigation device to replace the original navigation map on the automatic navigation device.
[0086] The map editing interface in step S210 is used to support users in editing the navigation map. Providing a map editing interface is conducive to combining the user's experience and observation to obtain a map that is more in line with the actual environment, thereby improving the accuracy of automatic navigation. The above-mentioned "actual environment" should be understood as the environment in which the automatic navigation equipment is actually deployed, such as a warehouse. This concept will appear many times in the following text and will not be explained repeatedly. The map editing interface can be part of the client interface, or it can be a front-end page provided by the scheduling system, which can be accessed by the client, and so on. The scheduling system generates a navigation map based on the editing operations made by the user on this interface. The editing of a QR code navigation map and a SLAM navigation map will be explained below as examples.
[0087] Figure 3 An example of a QR code navigation map is shown. Figure 3 The vertex of each thin-line square represents a QR code point, corresponding to the location on the ground where the QR code is laid. The lines between the QR code points represent the possible moving paths that the automatic navigation device may take in the map (the actual moving path of the automatic navigation device must be one of these possible paths in the map). Each thick-line square represents the location of an automatic navigation device. The plug represents the location where the automatic navigation device can be charged (a plug with an × indicates that the charging location is invalid). The two dark boxes on the far right represent docking points. The meaning of docking points will be explained later.
[0088] The QR code navigation map can be created by the user on the map editing interface. The created blank map can be called the original QR code navigation map. After that, the user can edit the original QR code navigation map. For example, the spacing between the QR code points can be set according to the laying of the QR code in the actual environment, and the QR code points and the paths between the QR code points can be drawn according to this spacing. After drawing, the necessary icons can be further added to the map, such as plugs, automatic navigation equipment, docking points, etc., and the map editing is finally completed. At this time, the map obtained is a QR code navigation map that can be sent to the automatic navigation equipment for use.
[0089] For the SLAM navigation method, the automatic navigation device first runs in the actual environment to create an original map, called the original SLAM navigation map, which contains the distribution of obstacles in the actual environment. The original SLAM navigation map is initially saved on the automatic navigation device. The original SLAM navigation map can be uploaded to the scheduling system first, and then imported into the map editing interface for editing by the user, and finally a SLAM navigation map that can be sent to the automatic navigation device for use is obtained.
[0090] Figure 4 An example of a SLAM navigation map is shown. Figure 4 , the outer black irregular traces represent obstacles in the actual environment, which belong to the content of the original SLAM navigation map. The curve in the middle represents the possible movement path of the automatic navigation device in the map (the curve with × indicates that the path has expired, and the actual movement path of the automatic navigation device must be one of these possible paths in the map). There are some black dots on the curve that represent nodes where the automatic navigation device can stay (in the QR code navigation map, the QR code points can be regarded as nodes). The plug represents the location where the automatic navigation device can be charged. The tilted dark box below represents an automatic navigation device, and the two dark boxes on the left represent docking points, which correspond to the two docking points in the QR code navigation map. Among them, the curve, docking point, automatic navigation device, and plug are all further marked by the user on the basis of the original SLAM navigation map.
[0091] It is not difficult to see from the above examples that different editing strategies can be adopted for different types of navigation maps. You can either create a new map for editing or edit it based on an existing map.
[0092] For each generated map, the dispatch system can assign a unique ID to it to facilitate map management. If the actual environment is a larger scene, for example, a multi-story warehouse with elevators connecting each floor, the maps can be further grouped, such as grouping multiple maps of each floor of the warehouse into one group.
[0093] Step S230: The automatic navigation device sends the first position information to the dispatching system.
[0094] Step S240: The dispatching system determines whether the automatic navigation device meets the first mode switching condition according to the first position information.
[0095] Step S250: The dispatching system sends a first mode switching instruction to the automatic navigation device.
[0096] Steps S230 to S250 are explained together. After the automatic navigation device starts to execute the task, it will continuously locate itself. The position information calculated by it may be referred to as the first position information. The automatic navigation device will send the first position information to the scheduling system. The scheduling system can determine whether the automatic navigation device meets the first mode switching condition based on the first position information. If the condition is met, the scheduling system will send a first mode switching instruction to the automatic navigation device, instructing it to switch the navigation mode. If the condition is not met, the scheduling system may not perform any action or output corresponding prompt information. During the movement of the automatic navigation device, the first position information may be sent multiple times, so steps S230 and S240 may be repeated multiple times.
[0097] The first mode switching condition includes that the automatic navigation device is located in a common area of the current navigation map and the target navigation map (hereinafter sometimes referred to as the common area of the navigation map or the common area). The current navigation map refers to a map used by the automatic navigation device in the current navigation mode, and the target navigation map refers to a map used by the automatic navigation device in the target navigation mode to be switched.
[0098] For example, the automatic navigation device supports the QR code navigation mode and the SLAM navigation mode. If the automatic navigation device is in the QR code navigation mode when the first position information is sent, the current navigation mode is the QR code navigation mode, the current navigation map is the QR code navigation map, the target navigation mode is the SLAM navigation mode, and the target navigation map is the SLAM navigation map. If the automatic navigation device is in the SLAM navigation mode when the first position information is sent, the current navigation mode is the SLAM navigation mode, the current navigation map is the SLAM navigation map, the target navigation mode is the QR code navigation mode, and the target navigation map is the QR code navigation map.
[0099] For another example, the automatic navigation device supports the laser SLAM navigation mode and the visual SLAM navigation mode. If the automatic navigation device is in the laser SLAM navigation mode when the first position information is sent, the current navigation mode is the laser SLAM navigation mode, the current navigation map is the laser SLAM navigation map, the target navigation mode is the visual SLAM navigation mode, and the target navigation map is the visual SLAM navigation map. If the automatic navigation device is in the visual SLAM navigation mode when the first position information is sent, the current navigation mode is the visual SLAM navigation mode, the current navigation map is the visual SLAM navigation map, the target navigation mode is the laser SLAM navigation mode, and the target navigation map is the laser SLAM navigation map.
[0100] The common area of the current navigation map and the target navigation map corresponds to the same area in the actual environment. The dispatching system can determine the position of the automatic navigation device in the current navigation map and the target navigation map based on the first position information, thereby determining whether the automatic navigation device is located in the common area. Since automatic navigation requires support from navigation maps, the automatic navigation device can only navigate in one mode in the non-common area of the two navigation maps, while in the common area of the two maps, the automatic navigation device can navigate in any mode, thereby theoretically meeting the basic requirements for switching navigation modes.
[0101] However, it should be pointed out that the first mode switching condition does not necessarily only include the condition that the automatic navigation device is located in the public area of the navigation map, but may also include other conditions. In other words, the automatic navigation device being located in the public area of the navigation map is only a necessary condition for the navigation mode switching, but not a sufficient condition. For example, the automatic navigation device only performs a task in the two-dimensional code navigation map, and in the process of performing the task, it just happens to pass through the public area of the two-dimensional code navigation map and the SLAM navigation map. Obviously, it is not necessary to switch the navigation mode at this time. For another example, whether to switch the navigation mode may also be affected by the upper-level business system. If the business system instructs the scheduling system not to switch the navigation mode, even if the automatic navigation device is located in the public area of the navigation map, the scheduling system will not instruct it to switch the navigation mode. For another example, the scheduling system determines that there are a large number of interfering light sources in the actual environment based on the environmental data collected by the automatic navigation device, and it is not suitable for SLAM navigation, then it can instruct the automatic navigation device to switch to the two-dimensional code navigation mode. For simplicity in the following text, temporarily consider the situation that the first mode switching condition only includes the situation that the automatic navigation device is located in the public area of the navigation map. After the process of the entire navigation method is clearly explained, other possible conditions will be introduced.
[0102] Furthermore, in some implementations, the condition that the automatic navigation device is located in the public area of the navigation map can be set more strictly, that is, the automatic navigation device must be located at a docking point in the public area, and cannot be located at any location in the public area. The docking point is a designated location in the public area, and the number of docking points can be one or more. The automatic navigation device being located at the docking point should be understood as being located exactly at the docking point or within a small range near the docking point. The location distribution of the docking points is not limited. For example, when setting, the docking points can be distributed as evenly as possible, so that the automatic navigation devices at various locations in the navigation map can easily reach a docking point that is relatively close.
[0103] The setting of docking points is determined by the characteristics of some navigation modes. In these navigation modes, the automatic navigation device cannot move completely freely, but can only move along a predetermined path to certain nodes in the navigation map (see Figure 3 Straight paths and nodes in Figure 4 The navigation mode cannot be switched at any location in the public area, but can only be switched at certain node locations set as docking points. On the other hand, the setting of docking points is also determined by certain business scenarios. For example, the docking point can be set as a work station of the automatic navigation device. Taking the cargo handling scenario as an example, the automatic navigation device can stop at the work station and perform some operations related to cargo handling, such as loading, unloading, and tallying. Personnel and equipment can also be deployed at the work station to assist the automatic navigation device in completing these operations. The automatic navigation device often needs to stop when switching the navigation mode. Therefore, by setting the work station as a docking point, the two types of stop time can be unified, which not only supports business needs, but also supports navigation mode switching, which is beneficial to improve the work efficiency of the automatic navigation device.
[0104] The location of the docking point is accurately marked on the current navigation map and the target navigation map, which is convenient for path planning (for more information on path planning, please refer to the following section on Figure 5 ), for example, in Figure 3 and Figure 4 In the figure, two docking points located in the common area of the QR code navigation map and the SLAM navigation map are marked respectively.
[0105] In the QR code navigation mode, since the QR codes are laid out at equal intervals in the actual environment, the position of the QR code point in the QR code navigation map can be easily and accurately calculated, and the automatic navigation device can also stop at the QR code point, so the docking point can be selected as a QR code point located in a public area.
[0106] However, since there is no grid structure similar to the QR code navigation map in the SLAM navigation map, it is difficult to directly mark the precise position of the docking point manually. To solve this problem, the automatic navigation device can be moved (it can be controlled by the scheduling system or manually moved) to the docking point to be marked (for example, at a certain QR code point), and the scheduling system receives the second position information reported by the automatic navigation device at the docking point to be marked, and then the position of the docking point in the SLAM navigation map can be automatically marked according to the second position information. Since the position information reported by the automatic navigation device is relatively accurate, the marking result obtained in this way is also relatively accurate. It should be understood that for other nodes in the navigation map that need to be accurately marked, similar processing can also be adopted.
[0107] For the first mode switching instruction, information about the target navigation mode may be included in the instruction, so that the automatic navigation device can switch to the target navigation mode according to the instruction; or, the information about the target navigation mode may not be included. For example, the automatic navigation device only supports two navigation modes and can only switch back and forth between these two navigation modes. The first mode switching instruction only needs to trigger the switch.
[0108] Step S260: The automatic navigation device determines whether it satisfies the second mode switching condition.
[0109] Step S270: The automatic navigation device switches from the current navigation mode to the target navigation mode.
[0110] Steps S260 and S270 are described together. After the automatic navigation device receives the first mode switching instruction, there are different response methods. One is to directly execute step S270 to switch the navigation mode. The other is to first execute step S260 to determine whether it meets the second mode switching condition. If the second mode switching condition is met, step S270 is executed to switch the navigation mode. If the condition is not met, the automatic navigation device may not perform any action or feedback to the dispatch system that the navigation mode cannot be switched at present.
[0111] Among them, the second mode switching condition includes the condition that the automatic navigation device is located in a common area of the current navigation map and the target navigation map, but it does not exclude that other conditions are also included. The similarities between the second mode switching condition and the first mode switching condition are not repeated, but it should be pointed out that although the second mode switching condition and the first mode switching condition both include the condition that the automatic navigation device is located in a public area, the other conditions that may be included may not be the same as the first mode switching condition.
[0112] It is meaningful for the automatic navigation device to judge whether the mode switching conditions are met before switching the navigation mode, because the automatic navigation device will not synchronize all the information to the dispatch system. Therefore, when the dispatch system believes that the automatic navigation device can switch the navigation mode, the automatic navigation device may not really be able to switch the navigation mode. The second judgment is helpful to ensure that the timing of switching the navigation mode is correct and reliable. For example, from the first position information, the automatic navigation device is already at the docking point in the public area of the map. The dispatch system believes that the automatic navigation device can switch from the SLAM navigation mode to the QR code navigation mode. However, the automatic navigation device does not scan a valid QR code at this location, so it will not switch the navigation mode.
[0113] Obviously, the automatic navigation device can locate itself and can also obtain the required environmental data through the sensors installed on the device, so it is capable of executing the judgment operation in step S260.
[0114] The operation of an automatic navigation device in a certain navigation mode mainly involves three aspects: the first aspect is to use the navigation map in this navigation mode; the second aspect is to use the sensor data in this navigation mode to calculate the posture; the third aspect is to plan the path according to the characteristics of this navigation mode. For example, the automatic navigation device uses the QR code navigation map in the QR code navigation mode, and then calculates the posture based on the QR code information recognized by the QR code recognition unit, and finally plans the straight path of its own movement according to the calculated posture. For another example, the automatic navigation device uses the SLAM navigation map in the laser SLAM navigation mode, and then calculates the posture based on the point cloud data obtained by the laser radar scanning, and finally plans the curved path of its own movement according to the calculated posture.
[0115] Therefore, the switching of the automatic navigation device from the current navigation mode to the target navigation mode also mainly involves three aspects of switching: the first aspect is to switch the current navigation map to the target navigation map (after the switch, the current target navigation map becomes the new current navigation map); the second aspect is to switch the sensor used to calculate the posture in the current navigation mode to the sensor used to calculate the posture in the target navigation mode (after the switch, the currently used sensor can be suspended or the posture can no longer be calculated based on the data collected by it); the third aspect is to switch the way of planning the path in the current navigation mode to the way of planning the path in the target navigation mode.
[0116] Optionally, after the automatic navigation device completes the switching of the navigation mode, it can send a feedback message to the dispatch system to inform the dispatch system that it has successfully switched the navigation mode. Of course, if the navigation mode switching fails, the dispatch system can also be informed. Figure 2 The behavior of the automatic navigation device feeding back the switching result is not shown.
[0117] It should also be pointed out that although Figure 2 It is not shown, but after the dispatching system sends the first mode switching instruction to the automatic navigation device, the dispatching system also needs to adjust the dispatching mode of the automatic navigation device accordingly (it can be adjusted after the automatic navigation device confirms that the navigation mode switch is successful). For example, if the automatic navigation device switches from the QR code navigation mode to the SLAM navigation mode, the dispatching system can dispatch the automatic navigation device to move along a straight line before the switch, and after the switch, the dispatching system should dispatch the automatic navigation device to move along a curved path.
[0118] Step S280: The dispatching system controls the current navigation map displayed on the map display interface to switch to the target navigation map.
[0119] Step S280 is an optional step. In some implementations, a map display interface may be provided to support the display of a navigation map, so that the user can view the navigation map in real time. The map display interface may be part of the client interface, or may be a front-end page provided by the scheduling system, which may be accessed by the client, and so on.
[0120] Before the automatic navigation device starts to perform a task, the initial navigation mode is set for it first (which can be set through the client on the scheduling system). For example, if the automatic navigation device is located in a QR code navigation map, it is set to the QR code navigation mode; if it is located in a SLAM navigation map, it is set to the SLAM navigation mode. Then the scheduling system can control the map display interface to display the initial navigation map.
[0121] After the dispatch system sends the first mode switching instruction to the automatic navigation device, it can also control the current navigation map displayed on the map display interface to switch to the target navigation map, so that the user can view the map being used by the automatic navigation device in real time, which is conducive to improving the user experience. There is no necessary relationship between step S280 and steps S260 and S270 in the execution order, but optionally, the dispatch system can wait until the automatic navigation device confirms that the navigation mode switch is successful before switching the map to ensure the synchronization of the map display switch and the navigation mode switch.
[0122] Furthermore, in some implementations, after step S230 is executed, the dispatching system receives the first location information. In addition to using the first location information to determine whether the automatic navigation device meets the first mode switching condition, the dispatching system can also use the first location information for other purposes, for example, drawing the current location of the automatic navigation device on the current navigation map displayed on the map display interface based on the first location information for user viewing.
[0123] In summary, Figure 2 In the navigation method shown, the automatic navigation device supports multiple navigation modes, and different types of navigation maps are used in different navigation modes. There are common areas between different types of navigation maps. In these common areas, the automatic navigation device supports switching of navigation modes under the control of the scheduling system. Moreover, the switching of this navigation mode is dynamic and does not require restarting the device, so it is very flexible in the selection of navigation modes. This method helps the automatic navigation device to give full play to the advantages of various navigation methods, thereby helping to broaden the application scenarios of the automatic navigation device.
[0124] For example, area A of the warehouse is an unmanned area, and the moving speed of the automatic navigation device is required to be high. QR code navigation can be used, and the QR code navigation map covers area A. Area B of the warehouse is a manned area. It is hoped that the moving path of the automatic navigation device will be more flexible to avoid pedestrians. SLAM navigation can be used, and the SLAM navigation map covers area B. The two maps are marked with docking points, which are located at the junction of area A and area B. At the docking points, the automatic navigation device can dynamically switch from the QR code navigation mode to the SLAM navigation mode, or from the SLAM navigation mode to the QR code navigation mode under the control of the dispatching system to support cross-regional cargo handling tasks. In this example, the QR code navigation method and the SLAM navigation method can complement each other and meet the actual needs of users well. Figure 5 Another possible process of the navigation method provided in the embodiment of the present application is shown. Figure 5 , the process includes:
[0125] Step S310: The business system sends a scheduling task to the scheduling system.
[0126] Step S320: The scheduling system plans the moving path of the automatic navigation device according to the task information.
[0127] Steps S310 and S320 are described together. The task information of the scheduling task at least includes the locations of the starting point and the end point of the task, wherein the starting point is located in the current navigation map and the end point is located in the target navigation map, but the starting point and the end point are not docking points in the navigation map. After receiving the scheduling task, the scheduling system will arrange the automatic navigation device to complete the task, that is, dispatch one (of course, it may also be multiple, here we take one as an example) automatic navigation device to move from the starting point to the end point to achieve the purpose of cargo handling, etc.
[0128] Since the starting point and the end point are not in the same navigation map, the automatic navigation device needs to reach the docking point to switch the navigation mode in the process of moving from the starting point to the end point. The scheduling system will plan the moving path of the automatic navigation device according to the task information, and the moving path at least includes the path from the starting point to the docking point, and the path from the docking point to the end point. The path planned by the scheduling system should conform to the navigation mode of the automatic navigation device. For example, if the current navigation mode is the QR code navigation mode, the path from the starting point to the docking point should be a straight path. If the target navigation mode is the SLAM mode, the path from the docking point to the end point should be a curved path. Of course, the moving path may also include other paths. For example, if the automatic navigation device is not currently at the starting position, the scheduling system must first plan a path that enables it to move to the starting point. After the scheduling system plans the path, it can generate corresponding scheduling instructions (which can be generated immediately or before issuing instructions), including scheduling instructions for moving from the starting point to the docking point, scheduling instructions for moving from the docking point to the end point, etc. These instructions will be used in subsequent steps (such as S330, S380).
[0129] If there are multiple docking points, the dispatching system can select one of them for planning the above-mentioned moving path according to certain rules. For example, it can select the one closest to the automatic navigation device, or it can select an idle one (a docking point that is not occupied or about to be occupied by other automatic navigation devices), etc.
[0130] The above only considers the case where the starting point and the end point are in two adjacent navigation maps. It is also possible that in some complex environments, the navigation maps where the starting point and the end point are not adjacent, for example, the starting point is in the navigation map. Figure X In the example, the destination is in navigation map Y, and there is navigation map Z between them. Z is adjacent to X and Y respectively, but X and Y are not adjacent. At this time, the mobile path planned by the scheduling system at least includes: the path from the starting point to the docking point between X and Z, the path from the docking point between X and Z to the docking point between Z and Y, and the path from the docking point between Z and Y to the destination. Alternatively, the task can also be regarded as a subtask with two overlapping mobile paths: the starting point of the first subtask is the starting point of the parent task, and the end point is the docking point between Z and Y; the starting point of the second subtask is the docking point between X and Z, and the end point is the end point of the parent task.
[0131] In steps S310 and S320, the business system is only responsible for defining the starting point and end point of the scheduling task, and the path planning is completed by the scheduling system, that is, the scheduling system shields the implementation details of the scheduling process from the business system, reducing the design burden on the business system side. Of course, this is only a system design method. The scheduling system can also expose scheduling-related interfaces to the upper-level business system, and the business system completes the planning path by calling these interfaces. The scheduling system only needs to schedule the automatic navigation device according to the planning results of the business system. Alternatively, sometimes the business system can be not implemented, and the user can configure the scheduling tasks that need to be executed by the scheduling system on the client of the scheduling system.
[0132] Step S330: The dispatching system sends a dispatching instruction to the automatic navigation device to move from the starting point to the docking point.
[0133] Step S340: The automatic navigation device sends the first location information to the dispatching system.
[0134] Step S350: The dispatching system determines whether the automatic navigation device meets the first mode switching condition according to the first position information.
[0135] Step S360: The dispatching system sends a first mode switching instruction to the automatic navigation device.
[0136] Step S370: The automatic navigation device switches from the current navigation mode to the target navigation mode.
[0137] Step S380: The dispatch system sends a dispatch instruction to the automatic navigation device to move from the docking point to the end point.
[0138] Steps S330 to S380 are described together. After planning the moving path from the starting point to the docking point in step S320, the scheduling system sends the corresponding scheduling instructions to the automatic navigation device. After receiving the scheduling instructions, the automatic navigation device moves from the starting point to the docking point along the planned path according to the current navigation mode. During the movement, the automatic navigation device continuously positions itself and sends the first position information to the scheduling system. The scheduling system determines whether the automatic navigation device meets the first mode switching condition based on the first position information. If the condition is met, the first mode switching instruction is sent to it. After receiving the instruction, the automatic navigation device completes the switch from the current navigation mode to the target navigation mode. Steps S340, S350, S360, and S370 are similar to steps S230, S240, S250, and S270, and will not be repeated. In step S320, the dispatch system also plans the moving path from the docking point to the destination. After the automatic navigation device switches the navigation mode, the dispatch system sends the corresponding dispatch instruction to the automatic navigation device. After receiving the dispatch instruction, the automatic navigation device moves from the docking point to the destination along the planned path according to the current navigation mode. Step S380 can be executed after the automatic navigation device confirms to the dispatch system that the navigation mode switch is successful. Figure 5 This is not shown in the .
[0139] Figure 5 In fact, an execution process of a task across navigation maps is given. In this type of task, the automatic navigation device needs to move from the starting point in the current navigation map to the end point in the target navigation map. According to the above description, this process can be completed in three steps on the scheduling system. The first step is to schedule the automatic navigation device from the starting point to the docking point in the current navigation mode. The second step is to control the automatic navigation device to switch from the current navigation mode to the target navigation mode. The third step is to schedule the automatic navigation device from the docking point to the end point in the target navigation mode. The entire scheduling process is simple and efficient, and a smooth switching of navigation modes is achieved.
[0140] Figure 6 Another possible process of the navigation method provided in the embodiment of the present application is shown. Figure 6 , the process includes:
[0141] Step S410: the client / business system sends a second mode switching instruction to the scheduling system.
[0142] The second mode switching instruction is used to instruct the dispatching system to control the automatic navigation device to switch the navigation mode. In contrast, the first mode switching instruction is used to instruct the automatic navigation device to switch the navigation mode.
[0143] The second mode switching instruction may come from the client. In this case, the second mode switching instruction is mostly manually issued by the user, so it can also be called a manual switching instruction (if the client is not implemented, the user can also directly issue the manual switching instruction on the scheduling system). The manual switching instruction can be used in the manual mode. The so-called manual mode is a mode that relies on manual control of the automatic navigation device (so strictly speaking, the automatic navigation device does not perform automatic navigation at this time). Relatively speaking, there is also an automatic mode, that is, a mode in which the automatic navigation device is controlled by the scheduling system instead of relying on manual control. The manual mode can be used during the debugging stage of the system to test whether the operation, mode switching, charging and other functions of the automatic navigation device are normal. After the system is officially put into use, the automatic mode is mainly used to improve the efficiency of executing tasks. Alternatively, the second mode switching instruction may also come from the business system, and the business system generates the second mode switching instruction according to the business logic.
[0144] Regardless of the source, the second mode switching command provides an additional control channel for navigation mode switching, enhancing the flexibility and interactivity of the system.
[0145] Step S420: The automatic navigation device sends the first location information to the dispatching system.
[0146] Step S430: The dispatching system determines whether the automatic navigation device meets the first mode switching condition according to the first position information.
[0147] Step S440: The scheduling system generates prompt information.
[0148] Step S450: The scheduling system sends a prompt message to the client.
[0149] Step S460: The scheduling system receives the switching confirmation instruction sent by the client.
[0150] Step S470: The dispatch system sends a dispatch instruction to the automatic navigation device to move to the docking point.
[0151] Step S480: The dispatching system sends a first mode switching instruction to the automatic navigation device.
[0152] Step S490: The automatic navigation device switches from the current navigation mode to the target navigation mode.
[0153] Steps S420 to S490 are described together. After receiving the second mode switching instruction, the dispatching system needs to determine whether the automatic navigation device meets the first mode switching conditions based on the first location information uploaded by the automatic navigation device, which mainly includes whether the automatic navigation device is located at the docking point. However, it should be noted that the execution order of steps S420 and S410 is not limited, that is, after receiving the second mode switching instruction, the dispatching system can use the newly received first location information to make a judgment, or read the first location information cached before receiving the second mode switching instruction to make a judgment. Step S430 is similar to step S240 and will not be repeated.
[0154] If the dispatch system determines that the automatic navigation device meets the first mode switching condition based on the first position information, it can jump to step S480 to continue execution. Steps S480 and S490 are similar to steps S250 and S260 and will not be repeated.
[0155] If the dispatch system determines that the automatic navigation device does not meet the first mode switching condition based on the first position information, and the reason for not meeting the condition is that the automatic navigation device is not at the docking point, step S470 can be executed first to dispatch the automatic navigation device from the current position to the docking point, and then steps S480 and S490 can be executed, which is similar to steps S330, S360 and S370 (step S330 is dispatching from the starting point to the docking point), and will not be repeated. Optionally, if the automatic navigation device is already moving toward the docking point at this time (for example, the automatic navigation device has previously received a dispatch instruction to move from the starting point to the docking point and is in the process of moving), step S470 may not be executed. Or even if step S470 is executed, the automatic navigation device may ignore the instruction issued by the dispatch system in step S470.
[0156] In particular, if the second mode switching instruction is a manual switching instruction, the dispatch system can generate a prompt message when it determines that the automatic navigation device is not at the docking point based on the first position information. The prompt message is used to inform the user whether to choose whether to switch the navigation mode. The dispatch system then sends the prompt message to the client, and the client displays the content of the prompt message on the interface, so that the user can choose whether to switch the navigation mode on the client interface. If the user chooses to switch the navigation mode, the client sends a switch confirmation instruction to the dispatch system, and the dispatch system will execute step S470 and subsequent steps only after receiving the instruction.
[0157] Steps S440 to S460 are Figure 6In the figure, the steps are shown with dotted lines because these steps are for manual switching instructions. If the second mode switching instruction is issued by the business system, the dispatching system does not need to ask the business system whether to insist on switching the navigation mode like asking the user, and can directly determine that the business system requires switching the navigation mode. In addition, if the client is not implemented, and the user directly issues the manual switching instruction on the dispatching system, the dispatching system can also generate prompt information similar to that in step S440, but the prompt information does not need to be sent to the client, and can be displayed locally on the dispatching system.
[0158] It is understandable that, in the process of the automatic navigation device moving toward the docking point, the first position information will be continuously sent to the dispatching system, and the dispatching system will also continuously determine whether the automatic navigation device has met the first mode switching condition based on the first position information (similar to steps S340 and S350). These steps are Figure 6 Not shown.
[0159] In addition, it should be pointed out that the prerequisite for the dispatching system to dispatch the automatic navigation device from the current position to the docking point is that the automatic navigation device is still in the current navigation map. If the automatic navigation device has moved to the target navigation map when the dispatching system receives the second mode switching instruction, the dispatching system does not need to perform this dispatch.
[0160] Finally, based on the above embodiments, some additional explanations are given on the first mode switching conditions. If the automatic navigation device is located in the common area of the current navigation map and the target navigation map as condition (1), then the first mode switching conditions may also include:
[0161] Condition (2): The automatic navigation device is located on the boundary between the current navigation map and the target navigation map.
[0162] This condition is actually somewhat similar to condition (1). The so-called border proximity may mean that there is at least one common point between the border of the current navigation map and the border of the target navigation map.
[0163] It should be noted that the automatic navigation device may be located on the adjacent boundary of the current navigation map and the target navigation map, and also in the common area of the current navigation map and the target navigation map. However, the automatic navigation device is located on the adjacent boundary of the current navigation map and the target navigation map, but not necessarily in the common area of the current navigation map and the target navigation map, because the two maps may not necessarily have a common area, and may only have an adjacency relationship at the boundary.
[0164] If the area of the common area in condition (1) is allowed to be 0, then condition (2) can actually be regarded as a special case of condition (1), and its beneficial effects can be analyzed similarly. In particular, if the current navigation map and the target navigation map only have adjacent boundaries and no common areas, a designated location can be selected on the adjacent boundaries as the docking point.
[0165] Condition (3): The current environment of the automatic navigation device does not match the current navigation mode, but matches the target navigation mode.
[0166] Different navigation modes have their matching environments, that is, when the automatic navigation device is in this environment, the corresponding navigation mode can be implemented or can be implemented relatively well. The environment in which the automatic navigation device is located is likely to change. On the one hand, the environment itself will change (for example, the lighting conditions will change over time), and on the other hand, the movement of the automatic navigation device may also cause the surrounding environment to change (for example, moving from an unmanned work area to a manned work area). The automatic navigation device can collect environmental data through sensors and feed the environmental data back to the scheduling system, which is sufficient to support the scheduling system to make judgments on condition (3).
[0167] The starting point of setting condition (3) is: when the environment changes, the navigation mode is adjusted in time so that the automatic navigation device can maintain a good working state for a long time. For example, the automatic navigation device originally uses visual SLAM for navigation. When the dispatching system determines that the light intensity in the environment where the automatic navigation device is currently located has dropped significantly, the first mode switching instruction can be issued to instruct the automatic navigation device to switch to laser SLAM navigation or laser combined with visual SLAM navigation. For another example, the automatic navigation device originally uses laser SLAM mode for navigation. When the dispatching system determines that a large number of moving objects appear in the environment where the automatic navigation device is currently located, the first mode switching instruction can be issued to instruct the automatic navigation device to switch to visual SLAM navigation.
[0168] The above conditions (1)(2)(3) can also be combined (combination means that the first mode switching condition includes multiple conditions at the same time), for example, (1)(3) combination, (2)(3) combination, but (1) and (2) do not need to be combined. When the current navigation map and the target navigation map have a common area, condition (1) is adopted. When the current navigation map and the target navigation map do not have a common area but have adjacent boundaries, condition (2) is adopted.
[0169] It is understandable that if the first mode switching condition does not include a condition related to the navigation map (such as condition (1) or (2)), and the navigation mode supported by the automatic navigation device does not use a navigation map, then some of the map-related steps in the above embodiments (such as Figure 2Steps S210, S220, S280, etc.) do not need to be executed.
[0170] By reasonably setting the first mode switching conditions, the scheduling system can better control the behavior of the automatic navigation device, so that the automatic navigation device can give full play to the advantages of various navigation methods, automatically adapt to various environmental scenarios (including different navigation maps, different external environments), and broaden the application scope of the automatic navigation device.
[0171] The second mode switching condition is similar to the first mode switching condition, and may also include the above three conditions or a combination thereof.
[0172] Figure 7 The functional module diagram of the navigation device 500 provided in the embodiment of the present application is shown. The navigation device 500 may be configured in a server. The possible structure of the server may refer to Fig. 9 . Reference Figure 7 , the navigation device 500 includes:
[0173] The position information receiving module 510 is used to receive the first position information sent by the automatic navigation device;
[0174] A switching condition judgment module 520, configured to judge whether the automatic navigation device satisfies a first mode switching condition for switching from a current navigation mode to a target navigation mode according to the first position information;
[0175] The switching instruction sending module 530 is used to send a first mode switching instruction to the automatic navigation device when the automatic navigation device meets the first mode switching condition.
[0176] In one implementation of the navigation device 500, the first mode switching condition includes at least one of the following conditions: the automatic navigation device is located in a common area or on an adjacent boundary of a current navigation map and a target navigation map; wherein the current navigation map is a map used by the automatic navigation device in the current navigation mode, and the target navigation map is a map used by the automatic navigation device in the target navigation mode; the current environment of the automatic navigation device does not match the current navigation mode, but matches the target navigation mode.
[0177] In one implementation of the navigation device 500, the device also includes: a map editing module, which is used to generate a navigation map based on the editing operations made on the map editing interface before the location information receiving module 510 receives the first location information uploaded by the automatic navigation device, and send the navigation map to the automatic navigation device; wherein the navigation map includes the current navigation map and the target navigation map.
[0178] In one implementation of the navigation device 500, the device also includes: a map display module, which is used to control the current navigation map displayed on the map display interface to switch to the target navigation map after the switching instruction sending module 530 sends the first mode switching instruction to the automatic navigation device.
[0179] In one implementation of the navigation device 500, the automatic navigation device is located in a common area or on an adjacent boundary between a current navigation map and a target navigation map, including: the automatic navigation device is located at a docking point, which is a designated location in a common area or on an adjacent boundary between the current navigation map and the target navigation map.
[0180] In an implementation of the navigation apparatus 500 , the docking point includes a work station of the automatic navigation device.
[0181] In one implementation of the navigation device 500, the first mode switching condition includes that the automatic navigation device is located at a docking point; the device also includes: a scheduling instruction sending module, which is used to send a scheduling instruction to the automatic navigation device to move from the starting point in the current navigation map to the docking point before the position information receiving module 510 receives the first position information uploaded by the automatic navigation device; and after the switching instruction sending module 530 sends the first mode switching instruction to the automatic navigation device, send a scheduling instruction to the automatic navigation device to move from the docking point to the end point in the target navigation map.
[0182] In one implementation of the navigation device 500, the device also includes: a scheduling task receiving module, used to receive a scheduling task sent by a business system before the scheduling instruction sending module sends a scheduling instruction to the automatic navigation device to move from the starting point in the current navigation map to the docking point, the task information of the scheduling task including the positions of the starting point and the end point; a path planning module, used to plan the moving path of the automatic navigation device according to the task information, the moving path including the path from the starting point to the docking point, and the path from the docking point to the end point.
[0183] In one implementation of the navigation device 500, the first mode switching condition includes that the automatic navigation device is located at a docking point, and the switching instruction receiving module is used to receive a second mode switching instruction before the switching condition judgment module 520 judges whether the automatic navigation device meets the first mode switching condition based on the first position information, wherein the second mode switching instruction is used to instruct the scheduling system to control the automatic navigation device to switch the navigation mode; the scheduling instruction sending module is also used to: after the switching condition judgment module 520 judges whether the automatic navigation device meets the first mode switching condition based on the first position information, if the automatic navigation device does not meet the first mode switching condition because it is not at the docking point, then send a scheduling instruction to the automatic navigation device to move to the docking point.
[0184] In one implementation of the navigation device 500, the second mode switching instruction is a manual switching instruction, and the scheduling instruction sending module sends a scheduling instruction to the automatic navigation device to move to the docking point, including: generating a prompt message and sending the prompt message to the client of the scheduling system, wherein the prompt message is used to inform the user to choose whether to switch the navigation mode; in response to the switching confirmation instruction received from the client, sending a scheduling instruction to the automatic navigation device to move to the docking point.
[0185] In one implementation of the navigation device 500, the navigation modes supported by the automatic navigation device include: a QR code navigation mode and at least one simultaneous positioning and mapping SLAM navigation mode, or at least two SLAM navigation modes; wherein the SLAM navigation modes include: laser SLAM, visual SLAM, and laser combined with visual SLAM.
[0186] In one implementation of the navigation device 500, the automatic navigation device supports a QR code navigation mode and at least one SLAM navigation mode, the navigation map used by the automatic navigation device includes a QR code navigation map and a SLAM navigation map, and the map editing module generates a navigation map according to the editing operations on the map editing interface, including: creating an original QR code navigation map on the map editing interface, and generating the QR code navigation map according to the editing operations performed on the original QR code navigation map on the map editing interface; and importing the original SLAM navigation map pre-created by the automatic navigation device into the map editing interface, and generating the SLAM navigation map according to the editing operations performed on the original SLAM navigation map on the map editing interface.
[0187] In one implementation of the navigation device 500, the automatic navigation device supports a QR code navigation mode, the current navigation map or the target navigation map is a QR code navigation map; the docking point includes a QR code point in the QR code navigation map located in the public area or on the adjacent boundary.
[0188] In one implementation of the navigation device 500, the automatic navigation device supports the SLAM navigation mode, the current navigation map and / or the target navigation map is a SLAM navigation map, and the position information receiving module 510 is also used to: receive second position information uploaded by the automatic navigation device moved to the docking point; the map editing module is also used to: mark the docking point in the SLAM navigation map according to the second position information.
[0189] The implementation principle and technical effects of the navigation device 500 provided in the embodiment of the present application have been introduced in the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the device embodiment, reference may be made to the corresponding contents in the method embodiment.
[0190] Figure 8 The functional module diagram of the navigation device 600 provided in the embodiment of the present application is shown. The navigation device 600 can be configured in an automatic navigation device. The possible structure of the automatic navigation device can refer to Fig.10 . Reference Figure 8 , the navigation device 600 includes:
[0191] The location information sending module 610 is used to send the first location information of the automatic navigation device to the dispatching system; wherein the first location information is used by the dispatching system to determine whether the automatic navigation device meets the first mode switching condition for switching from the current navigation mode to the target navigation mode;
[0192] The switching instruction receiving module 620 is used to receive the first mode switching instruction sent by the dispatching system; wherein the first mode switching instruction is sent by the dispatching system when it is determined that the automatic navigation device meets the first mode switching condition;
[0193] The mode switching module 630 is configured to respond to the first mode switching instruction and switch from the current navigation mode to the target navigation mode.
[0194] In one implementation of the navigation device 600, the mode switching module 630 responds to the first mode switching instruction to switch from the current navigation mode to the target navigation mode, including: responding to the first mode switching instruction to determine whether the automatic navigation device satisfies a second mode switching condition for switching from the current navigation mode to the target navigation mode; if the automatic navigation device satisfies the second mode switching condition, switching from the current navigation mode to the target navigation mode.
[0195] The implementation principle and technical effects of the navigation device 600 provided in the embodiment of the present application have been introduced in the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the device embodiment, reference may be made to the corresponding contents in the method embodiment.
[0196] Fig. 9 FIG. 7 shows a possible structure of the server 700 provided in an embodiment of the present application. Fig. 9 The server 700 includes: a processor 710, a memory 720, and a communication interface 730. These components are interconnected and communicate with each other through a communication bus 740 and / or other forms of connection mechanisms (not shown).
[0197] Among them, the processor 710 includes one or more (only one is shown in the figure), which can be an integrated circuit chip with signal processing capabilities. The above-mentioned processor 710 can be a general-purpose processor, including a central processing unit (CPU), a micro control unit (MCU), a network processor (NP) or other conventional processors; it can also be a dedicated processor, including a graphics processor (GPU), a neural network processor (NPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. In addition, when there are multiple processors 710, some of them can be general-purpose processors and the other part can be dedicated processors.
[0198] The memory 720 includes one or more (only one is shown in the figure), which can be, but not limited to, random access memory (Random Access Memory, referred to as RAM), read only memory (Read Only Memory, referred to as ROM), programmable read-only memory (Programmable Read-Only Memory, referred to as PROM), erasable programmable read-only memory (Erasable Programmable Read-Only Memory, referred to as EPROM), electrically erasable programmable read-only memory (Electric Erasable Programmable Read-Only Memory, referred to as EEPROM), etc.
[0199] The processor 710 and other possible components may access the memory 720, read and / or write data therein. In particular, one or more computer program instructions may be stored in the memory 720, and the processor 710 may read and execute these computer program instructions to implement the part of the navigation method provided in the embodiment of the present application that is executed by the scheduling system.
[0200] The communication interface 730 includes one or more (only one is shown in the figure), which can be used to communicate directly or indirectly with other devices (such as automatic navigation devices, etc.) to exchange data. The communication interface 730 may include an interface for wired and / or wireless communication.
[0201] Understandably, Fig. 9 The structure shown is for illustration only. The server 700 may also include Fig. 9 More or fewer components as shown, or with Fig. 9 Different configurations are shown. Fig. 9 The components shown in can be implemented by hardware, software or a combination thereof. Server 700 may be a physical device or a virtual device, and server 700 is not limited to a single server, but may be a combination of multiple servers or a cluster consisting of a large number of servers. In addition, it should be pointed out that in the solution of the present application, server 700 should be understood as any device that is installed with server-side software (e.g., a scheduling system, etc.) so as to be able to provide services to the outside, and should not be understood only as a device that is specifically used as a server. For example, a PC can also be used as the above-mentioned server 700 when it is installed with server-side software.
[0202] Fig.10 FIG. 8 shows a possible structure of the automatic navigation device 800 provided in an embodiment of the present application. Fig.10The automatic navigation device 800 includes: a processor 810, a memory 820, a sensor 830, an actuator 840, and a communication interface 850. These components are interconnected and communicate with each other through a communication bus 860 and / or other forms of connection mechanisms (not shown).
[0203] The processor 810 includes one or more (only one is shown in the figure), which can be an integrated circuit chip with signal processing capabilities. The above-mentioned processor 810 can be a general-purpose processor, including a CPU, MCU, NP or other conventional processors; it can also be a special-purpose processor, including a GPU, NPU, DSP, ASIC, FPGA or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. In addition, when there are multiple processors 810, some of them can be general-purpose processors, and the other part can be special-purpose processors.
[0204] The memory 820 includes one or more (only one is shown in the figure), which may be, but not limited to, RAM, ROM, PROM, EPROM, EEPROM, etc.
[0205] The processor 810 and other possible components may access the memory 820, and read and / or write data therein. In particular, one or more computer program instructions may be stored in the memory 820, and the processor 810 may read and execute these computer program instructions to implement the part of the navigation method provided in the embodiment of the present application that is executed by the automatic navigation device.
[0206] The sensor 830 includes one or more (only one is shown in the figure), and the sensor 830 is used to collect data required for navigation of the automatic navigation device 800. The specific sensors to be set depend on the navigation mode supported by the automatic navigation device 800. For example, if it is to support QR code navigation, the sensor 830 may include a QR code recognition unit, an inertial measurement unit (IMU), an odometer (Odom), etc.; if it is to support SLAM navigation, the sensor 830 may include a laser radar (corresponding to laser SLAM), a camera (corresponding to visual SLAM), an IMU, an Odom, etc.
[0207] The actuator 840 includes one or more (only one is shown in the figure), and the actuator 840 is used to drive the automatic navigation device to move the position and / or adjust the attitude. The actuator 840 can be but is not limited to the motor of the automatic navigation device 800.
[0208] The processor 810 can fuse the data collected by the sensor 830 to calculate the current position information of the automatic navigation device 800, and then send a corresponding control signal to the actuator 840 based on the obtained position information to make the automatic navigation device 800 move in an expected manner.
[0209] The communication interface 850 includes one or more (only one is shown in the figure), which can be used to communicate directly or indirectly with other devices (eg, servers, etc.) to exchange data. The communication interface 850 may include an interface for wired and / or wireless communication.
[0210] Understandably, Fig.10 The structure shown is for illustration only. The automatic navigation device 800 may also include Fig.10 More or fewer components as shown, or with Fig.10 Different configurations are shown. Fig.10 The components shown in the figure can be implemented by hardware, software or a combination thereof. The automatic navigation device 800 can be an AGV, an AMR, a drone, an unmanned ship or other types of robots.
[0211] The present application also provides a computer-readable storage medium on which computer program instructions are stored. When the computer program instructions are read and executed by a computer processor, the navigation method provided by the present application is executed. For example, the computer-readable storage medium can be implemented as Fig. 9 The memory 720 in the server 700, Fig.10 The memory 820 in the automatic navigation device 800, and so on.
[0212] The above description is only an embodiment of the present application and is not intended to limit the protection scope of the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A navigation method, It is characterized in that Applied to a dispatching system, the method comprises: Receiving first location information sent by the automatic navigation device; Determining whether the automatic navigation device satisfies a first mode switching condition for switching from a current navigation mode to a target navigation mode according to the first position information; wherein the current navigation mode is one of a QR code navigation mode and a SLAM navigation mode, and the target navigation mode is the other of the QR code navigation mode and the SLAM navigation mode, the QR code navigation mode uses a QR code navigation map, and the QR code navigation map covers an unmanned area of a warehouse, and the SLAM navigation mode uses a SLAM navigation map, and the SLAM navigation map covers an unmanned area of a warehouse; If the automatic navigation device satisfies the first mode switching condition, a first mode switching instruction is sent to the automatic navigation device; wherein the automatic navigation device is used to respond to the first mode switching instruction, determine whether the automatic navigation device satisfies the second mode switching condition for switching from the current navigation mode to the target navigation mode, and if the automatic navigation device satisfies the second mode switching condition, switch from the current navigation mode to the target navigation mode.
2. The navigation method according to claim 1, It is characterized in that The first mode switching condition includes at least one of the following conditions: The automatic navigation device is located in a common area or on an adjacent boundary of a current navigation map and a target navigation map; wherein the current navigation map is a map used by the automatic navigation device in the current navigation mode, and the target navigation map is a map used by the automatic navigation device in the target navigation mode; The environment in which the automatic navigation device is currently located does not match the current navigation mode, but matches the target navigation mode.
3. The navigation method according to claim 2, It is characterized in that Before receiving the first location information uploaded by the automatic navigation device, the method further includes: Generate a navigation map according to the editing operation performed on the map editing interface, and send the navigation map to the automatic navigation device; wherein the navigation map includes the current navigation map and the target navigation map; After sending the first mode switching instruction to the automatic navigation device, the method further includes: The current navigation map displayed on the control map display interface is switched to the target navigation map.
4. The navigation method according to claim 2 or 3, It is characterized in that The automatic navigation device is located in a common area or on an adjacent boundary of a current navigation map and a target navigation map, and includes: The automatic navigation device is located at a docking point, which is a designated location within a common area or on an adjacent boundary between the current navigation map and the target navigation map.
5. The navigation method according to claim 4, It is characterized in that The first mode switching condition includes that the automatic navigation device is located at a docking point; Before receiving the first location information uploaded by the automatic navigation device, the method further includes: Sending a dispatch instruction to the automatic navigation device to move from the starting point in the current navigation map to the docking point; After sending the first mode switching instruction to the automatic navigation device, the method further includes: A dispatch instruction is sent to the automatic navigation device to move from the docking point to a destination in the target navigation map.
6. The navigation method according to claim 5, It is characterized in that Before sending the scheduling instruction to the automatic navigation device to move from the starting point in the current navigation map to the docking point, the method further includes: Receiving a scheduling task sent by a business system, wherein task information of the scheduling task includes the locations of the starting point and the end point; A moving path of the automatic navigation device is planned according to the task information, wherein the moving path includes a path from the starting point to the docking point, and a path from the docking point to the end point.
7. The navigation method according to claim 1, It is characterized in that The first mode switching condition includes that the automatic navigation device is located at a docking point, and before determining whether the automatic navigation device meets the first mode switching condition according to the first position information, the method further includes: receiving a second mode switching instruction, where the second mode switching instruction is used to instruct the dispatching system to control the automatic navigation device to switch the navigation mode; After determining whether the automatic navigation device meets a first mode switching condition according to the first position information, the method further includes: If the first mode switching condition is not satisfied because the automatic navigation device is not at the docking point, a dispatch instruction to move to the docking point is sent to the automatic navigation device.
8. The navigation method according to claim 7, It is characterized in that The second mode switching instruction is a manual switching instruction, and the sending of a scheduling instruction to the automatic navigation device to move to the docking point includes: Generate prompt information, and send the prompt information to the client of the scheduling system, wherein the prompt information is used to inform the user whether to switch the navigation mode; In response to the switching confirmation instruction received from the client, a scheduling instruction to move to the docking point is sent to the automatic navigation device.
9. The navigation method according to claim 1, It is characterized in that The navigation modes supported by the automatic navigation device include: a QR code navigation mode and at least one simultaneous positioning and mapping SLAM navigation mode, or at least two SLAM navigation modes; The SLAM navigation modes include: laser SLAM, visual SLAM and laser combined with visual SLAM.
10. The navigation method according to claim 5, It is characterized in that The automatic navigation device supports a QR code navigation mode, and the current navigation map or the target navigation map is a QR code navigation map; The docking point includes a two-dimensional code point in the two-dimensional code navigation map that is located within the public area or on the adjacent boundary.
11. The navigation method according to claim 5, It is characterized in that The automatic navigation device supports a SLAM navigation mode, the current navigation map and / or the target navigation map is a SLAM navigation map, and the method further includes: receiving second position information uploaded by the automatic navigation device moved to the docking point; The docking point is marked in the SLAM navigation map according to the second position information.
12. A navigation method, It is characterized in that Applied to automatic navigation equipment, including: Sending the first position information of the automatic navigation device to the dispatching system; wherein the first position information is used by the dispatching system to determine whether the automatic navigation device satisfies a first mode switching condition for switching from a current navigation mode to a target navigation mode; wherein the current navigation mode is one of a QR code navigation mode and a SLAM navigation mode, and the target navigation mode is the other of the QR code navigation mode and the SLAM navigation mode, the QR code navigation mode uses a QR code navigation map, and the QR code navigation map covers an unmanned area of a warehouse, and the SLAM navigation mode uses a SLAM navigation map, and the SLAM navigation map covers an manned area of a warehouse; receiving a first mode switching instruction sent by the scheduling system; In response to the first mode switching instruction, switching from the current navigation mode to the target navigation mode; The step of responding to the first mode switching instruction and switching from the current navigation mode to the target navigation mode includes: In response to the first mode switching instruction, determining whether the automatic navigation device satisfies a second mode switching condition for switching from the current navigation mode to the target navigation mode; If the automatic navigation device meets the second mode switching condition, it switches from the current navigation mode to the target navigation mode.
13. A navigation device, It is characterized in that The device is configured on a server where a scheduling system is deployed, and includes: A position information receiving module, used for receiving first position information sent by the automatic navigation device; a switching condition judgment module, used for judging whether the automatic navigation device satisfies a first mode switching condition for switching from a current navigation mode to a target navigation mode according to the first position information; wherein the current navigation mode is one of a QR code navigation mode and a SLAM navigation mode, and the target navigation mode is the other of the QR code navigation mode and the SLAM navigation mode, the QR code navigation mode uses a QR code navigation map, and the QR code navigation map covers an unmanned area of a warehouse, and the SLAM navigation mode uses a SLAM navigation map, and the SLAM navigation map covers an manned area of a warehouse; A switching instruction sending module is used to send a first mode switching instruction to the automatic navigation device when the automatic navigation device meets the first mode switching condition; wherein the automatic navigation device is used to respond to the first mode switching instruction, determine whether the automatic navigation device meets the second mode switching condition for switching from the current navigation mode to the target navigation mode, and if the automatic navigation device meets the second mode switching condition, switch from the current navigation mode to the target navigation mode.
14. A navigation device, It is characterized in that Configured in automatic navigation equipment, including: A position information sending module, used for sending the first position information of the automatic navigation device to the scheduling system; wherein, the first position information is used by the scheduling system to determine whether the automatic navigation device satisfies the first mode switching condition for switching from the current navigation mode to the target navigation mode; wherein, the current navigation mode is one of the two-dimensional code navigation mode and the SLAM navigation mode, and the target navigation mode is the other of the two-dimensional code navigation mode and the SLAM navigation mode, the two-dimensional code navigation mode uses a two-dimensional code navigation map, and the two-dimensional code navigation map covers the unmanned area of the warehouse, and the SLAM navigation mode uses a SLAM navigation map, and the SLAM navigation map covers the manned area of the warehouse; A switching instruction receiving module, used for receiving a first mode switching instruction sent by the dispatching system; wherein the first mode switching instruction is sent by the dispatching system when it is determined that the automatic navigation device meets the first mode switching condition; a mode switching module, configured to respond to the first mode switching instruction and switch from the current navigation mode to the target navigation mode; The mode switching module responds to the first mode switching instruction to switch from the current navigation mode to the target navigation mode, including: responding to the first mode switching instruction to determine whether the automatic navigation device satisfies a second mode switching condition for switching from the current navigation mode to the target navigation mode; if the automatic navigation device satisfies the second mode switching condition, switching from the current navigation mode to the target navigation mode.
15. A server, It is characterized in that The method comprises a memory and a processor, wherein the memory stores computer program instructions, and when the computer program instructions are read and executed by the processor, the method according to any one of claims 1 to 11 is executed.
16. An automatic navigation device, It is characterized in that The method comprises a memory and a processor, wherein the memory stores computer program instructions, and when the computer program instructions are read and executed by the processor, the method according to claim 12 is executed.
17. A cargo handling system, It is characterized in that include: A server, used to deploy a scheduling system, wherein the server executes the method according to any one of claims 1 to 11; An automatic navigation device is used for carrying out cargo transportation based on automatic navigation, and the automatic navigation device executes the method of claim 12.
18. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores computer program instructions, and when the computer program instructions are read and executed by a processor, the method according to any one of claims 1 to 12 is executed.
