CN113654549A - Navigation method, navigation system, navigation device, transport system, and storage medium - Google Patents

Navigation method, navigation system, navigation device, transport system, and storage medium Download PDF

Info

Publication number
CN113654549A
CN113654549A CN202110807316.1A CN202110807316A CN113654549A CN 113654549 A CN113654549 A CN 113654549A CN 202110807316 A CN202110807316 A CN 202110807316A CN 113654549 A CN113654549 A CN 113654549A
Authority
CN
China
Prior art keywords
navigation
automatic
mode
map
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110807316.1A
Other languages
Chinese (zh)
Inventor
范小军
张文君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Megvii Technology Co Ltd
Original Assignee
Beijing Megvii Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Megvii Technology Co Ltd filed Critical Beijing Megvii Technology Co Ltd
Priority to CN202110807316.1A priority Critical patent/CN113654549A/en
Publication of CN113654549A publication Critical patent/CN113654549A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory

Abstract

The application relates to the technical field of robots and provides a navigation method, a navigation system, navigation equipment, a carrying system and a storage medium. The navigation method comprises the following steps: receiving a navigation mode switching instruction; responding to a navigation mode switching instruction, controlling the automatic navigation equipment to execute the switching of the navigation mode, wherein the switching of the navigation mode comprises the following steps: and switching the mode of calculating the pose information of the automatic navigation equipment from calculation according to the current sensor data to calculation according to the target sensor data, wherein the current sensor data and the target sensor data are respectively data acquired by sensors used by the automatic navigation equipment in a current navigation mode and a target navigation mode. The automatic navigation equipment in the method supports various navigation modes and can dynamically switch the navigation modes under the control of an external instruction, so that the method is favorable for the automatic navigation equipment to give full play to the advantages of various navigation modes and automatically adapt to various environmental scenes, thereby widening the application scenes of the automatic navigation equipment.

Description

Navigation method, navigation system, navigation device, transport system, and storage medium
Technical Field
The invention relates to the technical field of robots, in particular to a navigation method, a navigation system, navigation equipment, a carrying system and a storage medium.
Background
In recent years, Automated Guided Vehicles (AGVs) are widely deployed in the fields of e-commerce, intelligent factories, and the like, and are used for performing tasks such as cargo handling. The automatic navigation of the AGV refers to the behavior that the AGV moves along a preset route by combining the judgment of the self pose. In the prior art, there are multiple AGV navigation modes, such as two-dimensional code navigation, synchronous positioning and Mapping (SLAM) navigation, and the like, which have advantages and disadvantages, and the current AGV generally supports only one of the navigation modes, so that the advantages of the navigation modes cannot be fully exerted, and the application of the AGV in some service scenarios is also limited.
Disclosure of Invention
An embodiment of the present invention provides a navigation method, a navigation system, a navigation device, a transportation system, and a storage medium, so as to solve the above technical problems.
In order to achieve the above purpose, the present application provides the following technical solutions:
in a first aspect, an embodiment of the present application provides a navigation method, including: receiving a navigation mode switching instruction; responding to the navigation mode switching instruction, controlling the automatic navigation equipment to execute the switching of the navigation mode, wherein the switching of the navigation mode comprises the following steps: and switching the mode of calculating the pose information of the automatic navigation equipment from calculation according to current sensor data to calculation according to target sensor data, wherein the current sensor data and the target sensor data are respectively data acquired by sensors used by the automatic navigation equipment in a current navigation mode and a target navigation mode to be switched.
The automatic navigation equipment in the method supports various navigation modes and can dynamically switch the navigation modes under the control of an external instruction, so that the method is favorable for the automatic navigation equipment to give full play to the advantages of various navigation modes and automatically adapt to various environmental scenes, thereby widening the application scenes of the automatic navigation equipment. Note that the switching of the navigation mode includes at least switching of the pose information calculation manner, and may include switching of other aspects. In the process of automatic navigation, the calculated pose information can be used for positioning, posture correction and the like of automatic navigation equipment.
In one implementation manner of the first aspect, the switching of the navigation mode further includes: and opening at least part of sensors corresponding to the target navigation mode, and closing at least part of sensors corresponding to the current navigation mode.
In different navigation modes, the sensor data required to calculate pose information is different. Thus, some of the sensors to be used in the current navigation mode are not necessarily used in the target navigation mode. In the above implementation, the part of the sensors may be turned off when the navigation mode is switched, so as to save the power consumption of the device.
In one implementation of the first aspect, the current navigation mode and the target navigation mode share a partial sensor, the shared partial sensor is kept on all the time during navigation of the automatic navigation device, and the shared partial sensor includes at least one of an inertial measurement unit and an odometer.
The sensors shared by the current navigation mode and the target navigation mode refer to sensors used when pose information is calculated in the two navigation modes, so that the sensors can be continuously kept in an open state and are not influenced by the switching of the navigation modes. For example, in the two-dimensional code navigation mode, the pose information can be calculated by using the two-dimensional code recognition unit, the inertial measurement unit and the odometer, and in the SLAM navigation mode, the pose information can be calculated by using the laser radar, the camera, the inertial measurement unit and the odometer, wherein the inertial measurement unit and the odometer are sensors shared by the two navigation modes and can be continuously kept on after the automatic navigation equipment starts to navigate.
In one implementation manner of the first aspect, the switching of the navigation mode further includes: switching a map used by the automatic navigation equipment from a current navigation map to a target navigation map; wherein the current navigation map and the target navigation map are maps used by the automatic navigation device in the current navigation mode and the target navigation mode, respectively.
In the above implementation manner, the automatic navigation needs to be supported by the navigation map, and different navigation maps can be used in different navigation modes, and the characteristics of the navigation maps are adapted to the navigation mode, so that the navigation map should be switched when the navigation mode is switched.
In an implementation manner of the first aspect, the receiving a navigation mode switching instruction includes: receiving a navigation mode switching instruction issued by a dispatching system; before the receiving a navigation mode switching instruction, the method further comprises: and sending the pose information of the automatic navigation equipment to the dispatching system according to the pose information calculated in the current navigation mode, wherein the pose information is used for judging whether the automatic navigation equipment meets a first navigation mode switching condition or not by the dispatching system.
In the implementation mode, the navigation mode switching of the automatic navigation equipment is performed under the control of the scheduling system, and the design can simplify the internal logic of the automatic navigation equipment and realize high-efficiency navigation mode switching.
In one implementation manner of the first aspect, the controlling, in response to the navigation mode switching instruction, the automatic navigation device to switch from the current navigation mode to the target navigation mode includes: responding to the navigation mode switching instruction, and judging whether the automatic navigation equipment meets a second mode switching condition; and if the automatic navigation equipment meets the second mode switching condition, controlling the automatic navigation equipment to execute the switching of the navigation mode from the current navigation mode.
In the above implementation manner, before switching the navigation mode, the automatic navigation apparatus determines whether the second mode switching condition is satisfied, so as to ensure that the switching timing of the navigation mode is proper.
Further, the second mode switching condition determined by the automatic navigation device may be combined with the first mode switching condition determined by the dispatch system, i.e. a double determination is made. Because the automatic navigation equipment does not synchronize all information to the dispatching system, when the dispatching system considers that the automatic navigation equipment can switch the navigation mode, the automatic navigation equipment can not really switch the navigation mode, and the double judgment is favorable for ensuring that the switching time of the navigation mode is correct and reliable.
In one implementation form of the first aspect, the second mode switching condition comprises at least one of the following conditions: the automatic navigation equipment is positioned in a public area of the current navigation map and the target navigation map or on an adjacent boundary; wherein the current navigation map is a map used by the automatic navigation equipment in the current navigation mode, and the target navigation map is a map used by the automatic navigation equipment in the target navigation mode; the current environment of the automatic navigation equipment is not matched with the current navigation mode and is matched with the target navigation mode.
Many automatic navigation modes need to be supported by navigation maps, in a non-public area of two navigation maps, automatic navigation equipment can only navigate according to one mode, and in a public area of two maps, the automatic navigation equipment can navigate according to any mode, so that the basic requirement of switching navigation modes can be met theoretically. And in the public area of the navigation map, the navigation mode is switched in time, so that the automatic navigation equipment can support the operation of the cross-navigation map.
Similar analysis can be done for the case where the two navigation maps do not have a common area, but the boundaries are adjacent.
Different navigation modes have a matching environment, i.e. when the automatic navigation device is in this environment, the corresponding navigation mode can be implemented or can be implemented better. The environment in which the device is located is likely to change, on the one hand the environment itself changes (e.g. lighting conditions change over time), and on the other hand the motion of the device may also cause a change in the surrounding environment. Therefore, when the environment changes, the navigation mode is changed in time, so that the automatic navigation equipment can keep a good working state for a long time.
In one implementation manner of the first aspect, the automatic navigation device is located in a common area of the current navigation map and the target navigation map or on an adjacent boundary, and includes: the automatic navigation equipment is positioned at a butt joint, and the butt joint is a designated place in a common area of the current navigation map and the target navigation map or on an adjacent boundary.
In many navigation modes, the automatic navigation device cannot move freely, but can only move to some nodes in the navigation map along a predetermined path to stop, so that the navigation mode cannot be switched at any position in the public area of the map. In the above-described implementation, the automatic navigation device is only allowed to switch the navigation mode at the docking point, and such setting is determined by the characteristics of some navigation modes on one hand and some business scenarios on the other hand. The positions of the contact points are accurately marked on the navigation map, and path planning based on the contact points is facilitated.
In one implementation of the first aspect, the docking point comprises a work station of the automated navigation device.
At the work station the automated navigation device may stop and perform some business related operations, such as loading, unloading, tallying, etc. Personnel and equipment may also be provided at the work site to assist the automated navigation equipment in performing these operations. The automatic navigation equipment often needs to stay when the navigation mode is switched, so that the two types of stay can be unified by setting the work station as a butt joint, and the work efficiency of the automatic navigation equipment is improved.
In one implementation form of the first aspect, after the controlling the automatic navigation device switches from the current navigation mode to the target navigation mode, the method further comprises: and planning a path of the automatic navigation equipment moving to a target location according to the pose information calculated in the target navigation mode, and controlling the automatic navigation equipment to move to the target location along the planned path.
After the navigation mode is successfully switched, the automatic navigation equipment can plan a path according to the pose information calculated in the target navigation mode, so that automatic navigation is realized, and the target task of upstream delivery is completed.
In one implementation form of the first aspect, the navigation modes supported by the automatic navigation device include: a two-dimensional code navigation mode and at least one synchronous positioning and mapping SLAM navigation mode, or at least two SLAM navigation modes; wherein the SLAM navigation mode comprises: laser SLAM, visual SLAM and laser-combined visual SLAM; in the two-dimension code navigation mode, the automatic navigation equipment receives the two-dimension code data collected by the two-dimension code recognition unit and calculates the pose information according to the two-dimension code data; and in the SLAM navigation mode, the automatic navigation equipment receives radar data acquired by a laser radar and/or image data acquired by a camera, and calculates the pose information according to the radar data and/or the image data.
The automatic navigation equipment adopts two-dimension code navigation, has the advantages of high positioning precision, easy pose calculation, high moving speed and the like, but has the defect of larger workload of environment arrangement (two-dimension code arrangement); the automatic navigation equipment adopts SLAM navigation, has the advantages of small workload of environment arrangement, flexible path planning and the like, but has the defects of easy environmental influence on positioning precision, poor pose calculation real-time performance and relatively low moving speed.
Further, SLAM navigation can also be subdivided into several different ways, laser SLAM, visual SLAM, and laser-combined visual SLAM. The laser SLAM is more suitable for static and simple environment, the visual SLAM is more suitable for larger-scale and dynamic environment, and in addition, in the environment with poor light, the visual SLAM does not perform as well as the laser SLAM, and the combination of the laser and the visual SLAM combines the advantages of the laser SLAM and the visual SLAM, but the hardware cost is higher.
In the implementation mode, the dispatching system can control the automatic navigation equipment to switch between the two-dimensional code navigation mode and the SLAM navigation mode or between different SLAM navigation modes, so that the navigation modes can be made good for making up for deficiencies, a better navigation effect is achieved, and the actual requirements of users are met.
In an implementation manner of the first aspect, the automatic navigation device supports a two-dimensional code navigation mode, and the current navigation map or the target navigation map is a two-dimensional code navigation map; the butt joint points comprise two-dimensional code points which are positioned in the public area or on the adjacent boundary in the two-dimensional code navigation map, and the automatic navigation equipment judges whether the automatic navigation equipment is positioned at the two-dimensional code points according to the two-dimensional code data collected by the two-dimensional code identification unit; the method further comprises the following steps: and if the automatic navigation equipment does not meet the second mode switching condition because the automatic navigation equipment is not positioned at the two-dimensional code point, controlling the automatic navigation equipment to move to the two-dimensional code point.
Since the two-dimensional code navigation map is in a grid shape, the positions of the two-dimensional code points in the two-dimensional code navigation map are easily and accurately calculated (grid vertexes), and the automatic navigation equipment can stay at the two-dimensional code points, the butt joint points can be selected from the two-dimensional code points. In addition, if the automatic navigation device receives a navigation mode switching instruction, but the navigation mode is not currently located at a two-dimensional code point or the two-dimensional code point is not a two-dimensional code point serving as a docking point, the second mode switching condition cannot be met, and the navigation mode needs to be switched after the automatic navigation device moves to the two-dimensional code point serving as the docking point.
In an implementation manner of the first aspect, the automatic navigation device supports a SLAM navigation mode, and the current navigation map and/or the target navigation map are SLAM navigation maps; and the docking point in the SLAM navigation map is obtained according to the position and posture information mark uploaded to a scheduling system by the automatic navigation equipment moved to the docking point.
Since the SLAM navigation map does not have a grid structure in the two-dimensional code navigation map, it is difficult to directly mark an accurate position of a contact point in the SLAM navigation map unlike a two-dimensional code point. In the implementation manner, the automatic navigation device is moved to a docking point (for example, a certain two-dimensional code point) to be marked, and then the scheduling system automatically marks the position of the docking point in the SLAM navigation map according to the pose information reported by the scheduling system, so that an accurate marking result can be obtained.
In a second aspect, an embodiment of the present application provides a navigation system, including: the main control module and at least two pose calculation modules; the main control module is used for receiving and responding to a navigation mode switching instruction and controlling the automatic navigation equipment to execute the switching of the navigation mode, wherein the switching of the navigation mode comprises the following steps: and switching a module for calculating the pose information of the automatic navigation equipment from a current pose calculation module to an object pose calculation module in the at least two pose calculation modules, wherein the current pose calculation module and the object pose calculation module respectively use current sensor data and object sensor data to calculate the pose information, and the current sensor data and the object sensor data are respectively data collected by sensors used by the automatic navigation equipment in a current navigation mode and an object navigation mode to be switched.
The automatic navigation equipment in the system supports various navigation modes and can dynamically switch the navigation modes under the control of an external instruction, so that the system is favorable for the automatic navigation equipment to give full play to the advantages of various navigation modes and automatically adapt to various environmental scenes, thereby widening the application scenes of the automatic navigation equipment. Note that the switching of the navigation mode includes at least switching of the pose information calculation manner, and may include switching of other aspects. In the process of automatic navigation, the calculated pose information can be used for positioning, posture correction and the like of automatic navigation equipment.
In addition, the functions of the system are modularized, the modules can be understood as software and/or hardware modules, and the modularized design is beneficial to reducing the coupling degree between the functions of the system and promoting the reuse of the functions.
In an implementation manner of the second aspect, the main control module is configured to control the current pose calculation module to suspend operation, and control the target pose calculation module to start operation, so that the module for calculating pose information of the automatic navigation device is switched from the current pose calculation module to the target pose calculation module.
In the implementation mode, although multi-mode navigation is supported, only one pose calculation module is in an operating state at a certain specific moment, so that the waste of calculation resources is avoided, and the power consumption of a system is reduced.
In one implementation manner of the second aspect, the switching of the navigation mode further includes: switching a map used by the automatic navigation equipment from a current navigation map to a target navigation map; wherein the current navigation map and the target navigation map are maps used by the automatic navigation device in the current navigation mode and the target navigation mode, respectively.
The automatic navigation needs the support of a navigation map, different navigation maps can be used in different navigation modes, and the characteristics of the navigation maps are adaptive to the navigation modes, so that the navigation maps are switched when the navigation modes are switched.
In an implementation manner of the second aspect, the main control module is configured to receive and respond to the navigation mode switching instruction, determine whether the automatic navigation device satisfies a second mode switching condition, and control the automatic navigation device to perform switching of the navigation mode when the automatic navigation device satisfies the second mode switching condition.
In the above implementation manner, before the main control module controls the automatic navigation device to switch the navigation mode, it is determined whether the second mode switching condition is satisfied, so as to ensure that the switching time of the navigation mode is appropriate. In one implementation form of the second aspect, the navigation system further comprises: the motion control module is used for planning a path of the automatic navigation equipment moving to a target place according to the pose information calculated by the target pose calculation module and controlling the automatic navigation equipment to move to the target place along the planned path; the main control module is also used for sending the position information of the target location to the motion control module.
In the implementation mode, after the automatic navigation equipment successfully switches the navigation mode, the motion control module can plan a path according to the pose information calculated by the target pose calculation module, so that automatic navigation is realized, and the target task delivered upstream is completed.
In one implementation form of the second aspect, the navigation system further comprises: and the data processing module is used for preprocessing the data acquired by the sensor and sending the processed data to the corresponding pose calculation module.
In the implementation mode, the data processing module plays a role of data driving, firstly processes data acquired by hardware into a proper form, and sends the data to the pose calculation module for calculation of pose information.
In a third aspect, an embodiment of the present application provides an automatic navigation device, which includes a memory, a processor, and a sensor, where computer program instructions are stored in the memory, and when the computer program instructions are read and executed by the processor, the method provided in the first aspect or any one of the possible implementation manners of the first aspect is executed.
In a fourth aspect, an embodiment of the present application provides an automatic navigation device, which is equipped with the navigation system provided in the second aspect or any one of the possible implementation manners of the second aspect.
In a fifth aspect, an embodiment of the present application provides a cargo handling system, including: the server is used for scheduling the automatic navigation equipment; and the automatic navigation equipment is used for carrying out cargo handling based on automatic navigation, and executes the method provided by the first aspect or any one of the possible implementation manners of the first aspect.
In a sixth aspect, embodiments of the present application provide a computer-readable storage medium, where computer program instructions are stored on the computer-readable storage medium, and when the computer program instructions are read and executed by a processor, the computer program instructions perform the method provided in the first aspect or any one of the possible implementation manners of the first aspect.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments of the present application will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and that those skilled in the art can also obtain other related drawings based on the drawings without inventive efforts.
Fig. 1 illustrates a system architecture manner that may be adopted by a navigation method provided by an embodiment of the present application;
FIG. 2 shows a possible structure of an automatic navigation device provided by an embodiment of the present application;
FIG. 3 illustrates a possible flow of a navigation method provided by an embodiment of the present application;
fig. 4 illustrates a two-dimensional code navigation map usable in the navigation method provided by the embodiment of the present application;
FIG. 5 shows a SLAM navigation map that can be used in the navigation method provided by the embodiment of the present application;
fig. 6 shows a possible structure of a navigation system provided in an embodiment of the present application.
Detailed Description
With the development of Intelligent technologies such as internet of things, artificial intelligence and big data, the requirement for transformation and upgrading of the traditional Logistics industry by using the Intelligent technologies is stronger, and Intelligent Logistics (ILS for short) becomes a research hotspot in the Logistics field. The intelligent logistics utilizes artificial intelligence, big data, various information sensors, radio frequency identification technology, Global Positioning System (GPS) and other Internet of things devices and technologies, is widely applied to basic activity links of material transportation, storage, delivery, packaging, loading and unloading, information service and the like, and realizes intelligent analysis and decision, automatic operation and high-efficiency optimization management in the material management process. The technology of the internet of things comprises sensing equipment, Radio Frequency Identification (RFID for short), laser infrared scanning, infrared induction Identification and the like, the internet of things can effectively connect materials in logistics with a network, the materials can be monitored in real time, environmental data such as humidity and temperature of a warehouse can be sensed, and the storage environment of the materials is guaranteed. All data in logistics can be sensed and collected through a big data technology, the data are uploaded to an information platform data layer, operations such as filtering, mining and analyzing are carried out on the data, and finally accurate data support is provided for business processes (such as links of transportation, warehousing, storing and taking, sorting, packaging, sorting, ex-warehouse, checking, distribution and the like). The application direction of artificial intelligence in logistics can be roughly divided into two types:
(1) with Artificial Intelligence (Artificial Intelligence)AI for short) technology, such as unmanned trucks, AGVs, Autonomous Mobile Robots (AMR for short), forklifts, shuttles, stackers, unmanned delivery vehicles, unmanned aerial vehicles, service Robots, mechanical arms, intelligent terminals, and other intelligent devices, instead of some manual work.
(2) The manual efficiency is improved through a software system such as a transportation equipment management system, a storage management system, an equipment scheduling system, an order distribution system and the like driven by technologies or algorithms such as computer vision, machine learning, operation and research optimization and the like. With the research and progress of intelligent logistics, the technology is applied to a plurality of fields, such as retail and electric commerce, electronic products, tobacco, medicine, industrial manufacturing, shoes and clothes, textile, food and the like.
The automatic navigation scheme provided by the embodiment of the application can also be regarded as an application of artificial intelligence in the field of logistics, and the application scene of the method is not limited to the field of logistics.
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application. It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The terms "first," "second," and the like, are used solely to distinguish one entity or action from another entity or action without necessarily being construed as indicating or implying any actual such relationship or order between such entities or actions.
Fig. 1 illustrates a system architecture manner that may be adopted by the navigation method provided by the embodiment of the present application. Referring to fig. 1, the architecture at least includes: the automated navigation device 110, the dispatch system 120, the business system 130, and the client 140 may have data interactions with each other as indicated by the arrows in FIG. 1. The following describes the respective components:
the automatic navigation device 110 generally refers to a device having automatic navigation capability, and may be, for example, an AGV, an AMR, an unmanned aerial vehicle, an unmanned ship, or the like, and hereinafter, a ground device is mainly taken as an example. In this architecture, the automatic navigation device 110 may be one or more.
Fig. 2 shows one possible structure of the automatic navigation device 110. Referring to fig. 2, the automatic navigation apparatus 110 includes: a processor 111, a memory 112, a sensor 113, an actuator 114, and a communication interface 115, which are interconnected and in communication with each other via a communication bus 116 and/or other form of connection mechanism (not shown).
The processor 111 includes one or more integrated circuit chips, which may have signal processing capabilities. The Processor 111 may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Micro Control Unit (MCU), a Network Processor (NP), or other conventional processors; the Processor may also be a dedicated Processor, including a Graphics Processing Unit (GPU), a Neural-Network Processing Unit (NPU), a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, and a discrete hardware component. Also, when the processor 111 is plural, a part thereof may be a general-purpose processor, and another part thereof may be a dedicated processor.
The Memory 112 includes one or more of Random Access Memory (RAM), Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), electrically Erasable Programmable Read-Only Memory (EEPROM), and the like. The memory 112 may have stored therein data and/or computer program instructions.
Processor 111, and possibly other components, may access, read, and/or write data and/or instructions to memory 112. For example, one or more computer program instructions may be stored in the memory 112, and the processor 111 may read and execute the computer program instructions to implement the navigation method provided by the embodiment of the present application.
The sensors 113 include one or more (only one is shown in the figure), and the sensors 113 are used for collecting data required for navigation by the automatic navigation device 110, and which sensors are specifically set depends on the navigation mode supported by the automatic navigation device 110. For example, if two-dimensional code navigation is to be supported, the sensor 113 at least includes a two-dimensional code recognition Unit, and may further include an Inertial Measurement Unit (IMU for short), an odometer (odometer for short), and the like; to support SLAM navigation, the sensor 113 should include at least a laser radar (corresponding to a laser SLAM) and/or a camera (corresponding to a visual SLAM), and may further include an IMU, an Odom, and the like. Regarding the two-dimensional code navigation and the SLAM navigation, description will be made later.
The actuator 114 includes one or more actuators 114, and the actuator 114 is used to drive the automatic navigation device to perform position movement and/or attitude adjustment, and the actuator 114 may be a motor of the automatic navigation device 110.
The processor 111 may fuse the data collected by the sensors 113 to calculate pose information of the autopilot device 110, and then issue corresponding control signals to the actuators 114 based on the pose information to cause the autopilot device 110 to move in a desired manner.
The communication interface 115 includes one or more for communicating directly or indirectly with other devices (e.g., servers, etc. in which the scheduling system 120 is installed) for the necessary data interaction. The communication interface 115 may include interfaces for wired and/or wireless communication.
It will be appreciated that the configuration shown in FIG. 2 is merely illustrative and that the automatic navigation device 110 may also include more or fewer components than shown in FIG. 2 or have a different configuration than shown in FIG. 2. The components shown in fig. 2 may be implemented in hardware, software, or a combination thereof.
Different navigation modes exist for automatic navigation, and in each mode, the automatic navigation device positions itself differently, and may use different navigation maps. Possible navigation modes include a two-dimensional code navigation mode, an SLAM navigation mode (if the division is detailed, the SLAM navigation mode may further include a laser SLAM, a visual SLAM, and a laser combined visual SLAM), an inertial navigation mode, and the like, which will be described hereinafter mainly by taking two types of navigation modes of the two-dimensional code and the SLAM as examples, and the two types of navigation modes will be briefly described below by taking a case where the automatic navigation device navigates in a warehouse as an example.
(1) Two-dimensional code navigation mode
The method comprises the steps of paving two-dimension codes on the ground of a warehouse at equal intervals, installing a two-dimension code identification unit on automatic navigation equipment and storing a two-dimension code navigation map. The automatic navigation equipment can move along a straight line (including a broken line) path in the two-dimensional code navigation map, and the two-dimensional code on the ground is scanned by the two-dimensional code recognition unit to position the automatic navigation equipment in the moving process. The two-dimensional code navigation has the advantages of high positioning precision, easy pose calculation, high moving speed of automatic navigation equipment and the like, but has the defects of larger workload of environment arrangement (two-dimensional code laying) and inconvenience in laying the two-dimensional code in some environments.
(2) SLAM navigation mode
The SLAM navigation mode is a general name, at least comprises three specific navigation modes of laser SLAM, visual SLAM and laser combined visual SLAM, and the automatic navigation equipment supporting the SLAM navigation mode is provided with a laser radar and/or a camera. Specifically, if the laser radar is installed, the laser SLAM may be used for navigation, if the camera is installed, the visual SLAM may be used for navigation, and if the laser radar and the camera are installed at the same time, the laser and the visual SLAM may be used for navigation (of course, only the laser SLAM or the visual SLAM may be used for navigation). Hereinafter, when referring to the SLAM navigation mode, it may refer to any one of the above three specific modes, if not specifically stated.
Before actual deployment, the automatic navigation equipment runs once in a warehouse, the distribution condition of obstacles is detected through the laser radar and/or the camera, then an SLAM navigation map is constructed and stored, after actual deployment, the automatic navigation equipment can move along a curve (including a straight line) path in the SLAM navigation map, and the position of the nearby obstacles is detected through the laser radar and/or the camera in the moving process, so that the automatic navigation equipment can be positioned. Compared with two-dimensional code navigation, the SLAM navigation environment is small in arrangement workload and more flexible in path planning, but the positioning accuracy of the SLAM navigation environment is easily influenced by the external environment (for example, when an uncertain light source exists in the environment or objects in the environment are very similar, the automatic navigation equipment is easy to fail in positioning), and the SLAM navigation depends on the laser radar and/or the camera to acquire point cloud data in the environment to calculate the pose of the automatic navigation equipment, so that the calculation amount is much larger than that of the two-dimensional code mode, the pose calculation real-time is poor, the moving speed of the automatic navigation equipment is relatively slow, and the requirements of certain service scenes cannot be met.
A simple comparison of several different SLAM navigation modes is made below:
laser SLAM is relatively good at positioning in static and simple environments, such as an unmanned work area in a warehouse, where only shelves and automated navigation equipment are located. However, laser SLAMs are not good at positioning in dynamic environments, such as manned work areas in warehouses, where there may be a large number of people obstructing their measurements, nor are they good at positioning in similar geometric environments, such as in a long and straight aisle flanked by walls. Due to poor relocating capability, the laser SLAM is difficult to return to the working state after the tracking is lost.
In contrast, visual SLAM performs better in dynamic environments, but visual SLAM requires that there be abundant texture in the work environment, and visual SLAM does not perform well once in a non-textured or weakly textured environment, e.g., near a large white wall. In addition, because the visual SLAM is positioned by depending on images collected by the camera, the performance of the visual SLAM is obviously reduced when the illumination is weak in the environment, and the laser SLAM can be applied to the weak light environment.
The combination of laser and visual SLAM fuses the advantages of both laser SLAM and visual SLAM, and generally speaking, the positioning performance is better than that of pure laser SLAM or visual SLAM. However, the laser combined with the visual SLAM needs more sensor support, so the hardware cost is higher than that of the pure laser SLAM or the visual SLAM, and the positioning algorithm is more complicated.
In the solution of the present application, the automatic navigation device 110 implements support of multiple navigation modes on hardware, for example, the automatic navigation device 110 is simultaneously installed with a two-dimensional code recognition unit and a laser radar (and may also be installed with other sensors, such as an IMU and an Odom), so that a two-dimensional code navigation mode and a laser SLAM navigation mode can be supported. For another example, the automatic navigation apparatus 110 has a two-dimensional code recognition unit and a camera mounted thereon at the same time, so that a two-dimensional code navigation mode and a visual SLAM navigation mode can be supported. For another example, the automatic navigation apparatus 110 is mounted with both an inertial navigation unit and a two-dimensional code recognition unit, so that an inertial navigation mode and a two-dimensional code navigation mode can be supported. For another example, the automatic navigation apparatus 110 is mounted with both a laser radar and a camera, so that a laser SLAM navigation mode and a visual SLAM navigation mode can be supported. For another example, the automatic navigation apparatus 110 is simultaneously mounted with a two-dimensional code recognition unit, a laser radar, and a camera, so that a two-dimensional code navigation mode, a laser SLAM navigation mode, a visual SLAM navigation mode, and a laser combined visual SLAM navigation mode can be supported.
Of course, in the solution of the present application, the automatic navigation device 110 does not simply integrate the hardware used in multiple navigation modes, but rather supports dynamic navigation mode switching, i.e. 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 powered off.
The scheduling system 120 is used to schedule the automatic navigation device 110, so called scheduling, and may direct the automatic navigation device 110 to issue specific instructions to control the automatic navigation device 110 to perform corresponding actions, such instructions may be instructions to switch navigation modes, instructions to move along a specified route, instructions to perform charging, and so on. One scheduling system 120 may support scheduling multiple autopilot devices 110 simultaneously. It should be understood that the scheduling system 120 may also receive status information or other data uploaded by the autopilot device 110. The scheduling system 120 may be deployed on a server, and the autopilot device 110 and the scheduling system 120 may be collectively referred to as an autopilot system.
Note that the server described here is not limited to a single server, and may be a combination of a plurality of servers or a cluster of a large number of servers, and may also be a virtual server, as well as a physical server. In addition, it should be noted that, in the solution of the present application, a server should be understood as any device installed with server-side software (e.g., the scheduling system 120, etc.) so as to be able to provide a service to the outside, and should not be understood as only a device specifically used as a server, for example, a PC may also be used as the server when the server-side software is installed.
It will be appreciated that the scheduling system 120 is not required and the autopilot device 110 may be controlled by other systems or devices or the user may operate directly on the autopilot device 110 to follow the corresponding instructions.
The service system 130 is an upper layer system of the scheduling system, and the service system 130 may transmit the service requirement to the scheduling system 120, and the scheduling system 120 performs scheduling to implement the corresponding service. In some implementations, the business system 130 may also issue some instructions to the scheduling system 120 to implement upper-layer control of the scheduling process, such instructions may be instructions to switch navigation modes, and so on. The service system 130 and the scheduling system 120 may be deployed on the same server, or may be deployed on different servers, and if both are deployed on the same server, it is not excluded that both are implemented as two functional modules in the same system. It will be appreciated that the business system 130 need not be implemented in all scenarios, and that tasks that need to be completed may also be configured on the scheduling system 120, for example, by a user directly or through a client 140.
The client 140 refers to a client of the scheduling system 120, and a user may access the scheduling system 120 through the client 140, or issue some instructions to the scheduling system 120 to implement manual control of the scheduling process, where such instructions may be instructions for switching the navigation mode, and the like. The client 140 may be special software installed on the user terminal, or may be a general browser installed on the user terminal, and the browser may access a front-end page of the scheduling system. It is to be understood that in some implementations, the scheduling system 120 only provides a visual interface locally at the server for user access, which does not require the implementation of the client 140.
Fig. 3 illustrates a possible flow of a navigation method provided by an embodiment of the present application, which may be, but is not limited to being, performed by an automatic navigation device (e.g., the automatic navigation device 110 in fig. 2). Referring to fig. 3, the method includes:
step S210: and receiving a navigation mode switching instruction.
The navigation mode in which the automatic navigation device is located when receiving the navigation mode switching instruction is not referred to as a current navigation mode, the navigation mode switching instruction is used for instructing the automatic navigation device to switch the navigation mode, and the navigation mode to be switched is referred to as a target navigation mode.
For the mode switching instruction, the instruction can contain information about a target navigation mode, so that the automatic navigation equipment can be switched to the target navigation mode according to the instruction; or, the information of the target navigation mode may not be included, for example, the automatic navigation device only supports two navigation modes, and only can switch back and forth between the two navigation modes, and the navigation mode switching instruction only needs to play a role in triggering switching.
The step S210 does not limit the source of the navigation mode switching command. For example, the navigation mode switching instruction may be issued by the scheduling system to the automatic navigation device; also for example, the navigation mode switching instruction may come from other systems or devices; for another example, the user may also directly operate on the automatic navigation apparatus, following a navigation mode switching instruction.
For the case that the navigation mode switching instruction is issued by the dispatching system, there are different possibilities how the dispatching system obtains the navigation mode switching instruction. For example, the dispatching system determines that the automatic navigation device can switch the navigation mode according to the collected information (for example, pose information of the automatic navigation device, which is described in detail later) by itself, and generates and issues a navigation mode switching instruction; for another example, the service system sends a navigation mode switching instruction to the scheduling system when judging that the automatic navigation equipment needs to switch the navigation mode according to the service logic; for another example, the user may manually issue a navigation mode switching instruction to the scheduling system through the client during a system debugging phase, and the like.
Step S220: and responding to the navigation mode switching instruction, and controlling the automatic navigation equipment to execute the switching of the navigation mode.
The switching of the navigation mode generally refers to any adaptive change related to the navigation mode change (from the current navigation mode to the target current mode to be switched), which at least comprises: the manner in which the pose information of the autopilot device is calculated is switched from being calculated from current sensor data to being calculated from target sensor data. It is of course also possible to include other necessary switches, such as switches of navigation maps, etc., as will be explained later.
The current sensor data refers to data acquired by a sensor used by the automatic navigation equipment in the current navigation mode, and the target sensor data refers to data acquired by a sensor used by the automatic navigation equipment in the target navigation mode.
The pose information is position information and attitude information of the automatic navigation apparatus, where the position information is at least used for positioning the automatic navigation device, and the attitude information is at least used for correcting the attitude (such as orientation) of the automatic navigation device, so that the calculation of the pose information is indispensable for realizing automatic navigation.
In different navigation modes, the sensors used by the automatic navigation equipment to calculate the pose information may be different, and the way of naturally calculating the pose information may also be different.
For example, the current navigation mode is a two-dimensional code navigation mode, and the target navigation mode is a SLAM navigation mode (and vice versa).
In the two-dimensional code navigation mode, the automatic navigation device can calculate self pose information (at least two-dimensional code data should be included, otherwise the characteristics of two-dimensional code navigation are difficult to embody) according to at least one of two-dimensional code data (collected by a two-dimensional code identification unit), IMU data (collected by an IMU) and Odom data (collected by an Odom), and the calculation mode can be Extended Kalman Filter (EKF for short) and the like. Because two-dimensional code navigation is a navigation mode in a two-dimensional plane, the calculated pose information can be two-dimensional pose information and can be expressed as { x, y, thetazX and y denote coordinates of the automatic navigation apparatus, thetazRepresenting the angle between the automatic navigation device and the specified direction (e.g., due north), as shown in fig. 6. And at least one of the two-dimensional code data, the IMU data and the Odom data is current sensor data.
In the SLAM navigation mode, the automatic navigation device may calculate pose information of itself (at least including radar data and/or camera data, otherwise, it is difficult to embody the characteristics of SLAM navigation) according to at least one of laser radar data (laser radar collection), camera data (camera collection), IMU data (IMU collection), and Odom data (Odom collection), and the calculation mode may be Unscented Kalman filtering (Unscented Kalman Filter, abbreviated as UKF) or the like. Since SLAM navigation is a navigation method in a three-dimensional space, the calculated pose information may be three-dimensional pose information, which may be expressed as { x, y, θ }x,θy,θzX and y denote coordinates of the automatic navigation apparatus, thetax、θyAnd thetazRepresenting directions of an automatic navigation deviceCorner, as shown in fig. 6. At least one of the laser radar data, the camera data, the IMU data and the Odom data is target sensor data. It will be appreciated that there may also be some overlap in the source of the target sensor data and the current sensor data, such as the IMU data and the Odom data above.
Different methods exist for switching pose information:
mode 1: and at least part of sensors corresponding to the target navigation mode are started, and at least part of sensors corresponding to the current navigation mode are closed. Before switching, the position and attitude information of the automatic navigation equipment is calculated according to the sensor corresponding to the current navigation mode, and after switching, the position and attitude information of the automatic navigation equipment is calculated according to the sensor corresponding to the target navigation mode. The sensor corresponding to a certain navigation mode can understand the sensor used for calculating the pose information in the navigation mode.
Mode 1 can be understood as follows: and turning off the sensors which are already turned on in the current navigation mode but are not used in the target navigation mode, and turning on the sensors which are used in the target navigation mode but are not turned on in the current navigation mode so as to support the pose information calculation in the target navigation mode.
It should be noted that, in the method 1, not all sensors corresponding to the target navigation mode are turned on, and all sensors corresponding to the current navigation mode are turned off, because the current navigation mode and the target navigation mode may share some sensors (for example, at least one of the IMU and the Odom), and the shared sensors are used when the pose information is calculated in both navigation modes, so that the sensors may continuously remain on during the navigation of the automatic navigation device and are not affected by the switching of the navigation modes.
For example, when the two-dimension code navigation mode is switched to the SLAM navigation mode, the two-dimension code recognition unit can be closed, the laser radar can be started, and the IMU and the Odom are shared by the two navigation modes, so that the starting state can be always kept, and the influence of the switching of the navigation modes is avoided, so that the calculation of the pose information of the automatic navigation equipment according to the two-dimension code data, the IMU data and the Odom data is switched to the calculation of the pose information of the automatic navigation equipment according to the laser radar data, the IMU data and the Odom data.
To summarize the mode 1, the sensor data required for calculating the pose information is different in different navigation modes. Thus, some or all of the sensors to be used in the current navigation mode may not necessarily be used in the target navigation mode, and conversely some or all of the sensors to be used in the target navigation mode may not necessarily be used in the current navigation mode. And the sensor which is not used for the moment is closed when the navigation mode is switched, so that the power consumption of the automatic navigation equipment is saved.
Mode 2: the sensor corresponding to the current navigation mode and the sensor corresponding to the target navigation mode are always kept in an on state, but the pose information of the automatic navigation equipment is calculated according to the sensor corresponding to the current navigation mode after switching, and the pose information of the automatic navigation equipment is converted into the pose information of the automatic navigation equipment calculated according to the sensor corresponding to the target navigation mode, namely the data collected by the sensor corresponding to the current navigation mode is not used after switching.
For example, when the two-dimensional code navigation mode is switched to the SLAM navigation mode, the two-dimensional code recognition unit and the laser radar can always keep on, but after the two-dimensional code recognition unit and the laser radar are switched, the pose information of the automatic navigation equipment is calculated according to the two-dimensional code data, the IMU data and the Odom data, and the pose information of the automatic navigation equipment is converted into the pose information of the automatic navigation equipment calculated according to the laser radar data, the IMU data and the Odom data, namely the data collected by the two-dimensional code recognition unit is not used after the two-dimensional code recognition unit is switched.
Mode 3: the sensor corresponding to the current navigation mode and the sensor corresponding to the target navigation mode are always kept in an on state, the pose information of the automatic navigation equipment is calculated according to the sensor corresponding to the current navigation mode, the pose information of the automatic navigation equipment is calculated according to the sensor corresponding to the target navigation mode, and the pose information calculated according to the sensor corresponding to the current navigation mode is not used after switching.
For example, when the two-dimensional code navigation mode is switched to the SLAM navigation mode, the two-dimensional code recognition unit and the laser radar can always be kept in the on state, and the pose information of the automatic navigation equipment is always calculated according to the two-dimensional code data, the IMU data and the Odom data, and the pose information of the automatic navigation equipment is also calculated according to the laser radar data, the IMU data and the Odom data, but the pose information calculated according to the two-dimensional code data after switching is not used.
From mode 1 to mode 3, the switching logic is gradually simplified, but the consumption of computing resources by the auto-navigation device and the power consumption of the device are gradually increased.
After the navigation mode is switched, the automatic navigation equipment can plan a path moving to a target place according to the pose information calculated in the target navigation mode and control the automatic navigation equipment to move to the target place along the planned path so as to complete a target task delivered upstream (for example, a dispatching system).
Wherein the target location generally refers to a location to which the automatic navigation device wants to move: for example, the destination point may refer to an end point of a task (e.g., the task is that the automatic navigation device transports the cargo from point a to point B, which is the end point); for another example, the destination point may refer to an intermediate point of a task (e.g., the task is that the automatic navigation device transports the cargo from point a to point B via point C, which is the intermediate point). The automatic navigation equipment can obtain the position and the posture of the automatic navigation equipment according to the pose information, and then the path planning can be carried out by combining the position of the target location. The position of the target location may be transmitted upstream to the automatic navigation device.
The path planning here has two possible meanings, one is to completely plan a path moving from the current position to the target location by the automatic navigation device itself, and the other is to plan a path moving from the current position to the target location by the automatic navigation device with reference to the already planned path sent to it upstream. It can be understood that after the navigation mode is switched, the way in which the automatic navigation device plans the path may also be changed, for example, in the two-dimensional code navigation mode, the automatic navigation device may only plan a straight path, and in the SLAM navigation mode, the automatic navigation device may plan a curved path.
It should be noted that the steps of calculating pose information and planning a path may be repeated during the movement of the automatic navigation device, but the process is similar for each execution.
In summary, in the navigation method provided in the embodiment of the present application, the automatic navigation device supports multiple navigation modes, and can dynamically switch the navigation modes under the control of an external instruction without restarting the device, so that the method is helpful for the automatic navigation device to fully exert the advantages of various navigation modes, and automatically adapt to various environmental scenes, thereby widening the application scenes of the automatic navigation device.
For example, the area a of the warehouse is an unmanned area, the requirement on the moving speed of the automatic navigation equipment is high, two-dimensional code navigation can be adopted, the area a is covered by a two-dimensional code navigation map, the area B of the warehouse is a manned area, it is desirable that the moving path of the automatic navigation equipment is more flexible so as to avoid pedestrians, SLAM navigation can be adopted, and the scheduling system can issue a navigation mode switching instruction to the automatic navigation equipment when the automatic navigation equipment is located at the boundary between the area a and the area B, control the automatic navigation equipment to be dynamically switched from the two-dimensional code navigation mode to the SLAM navigation mode, or dynamically switch from the SLAM navigation mode to the two-dimensional code navigation mode, so as to support cross-area cargo handling tasks. In this example, the two-dimensional code navigation mode and the SLAM navigation mode can make up for each other, and the actual requirements of the user are well met.
Many automatic navigation schemes need to be supported by navigation maps, different navigation maps may be used in different navigation modes, and the characteristics of the navigation maps are adaptive to the navigation modes, which are described below by taking a two-dimensional code navigation mode and a SLAM navigation mode as examples.
Fig. 4 shows an example of a two-dimensional code navigation map. Referring to fig. 4, the vertex of each thin line square represents a two-dimensional code point corresponding to a position on the ground where a two-dimensional code is laid, the connecting line between the two-dimensional code points represents a moving path that the automatic navigation device may take in the map (the actual moving path of the automatic navigation device is one of the possible paths in the map), each thick line square represents the position of one automatic navigation device, the plug represents a position where the automatic navigation device can be charged (the plug with x represents that the charging position has failed), and the two boxes on the far right represent the docking point, and the meaning of the docking point is described in dark color later.
Fig. 5 shows an example of a SLAM navigation map. Referring to fig. 5, the outer black irregular trace represents an obstacle in the actual environment (the "actual environment" herein should be understood as an environment in which the automatic navigation apparatus is actually to be deployed, such as a warehouse, and this concept will appear several times later and will not be explained repeatedly). The middle curve represents the possible moving path of the automatic navigation equipment in the map (the curve with x represents that the path is failed, the actual moving path of the automatic navigation equipment is one of the possible paths in the map), some black points on the curve represent nodes where the automatic navigation equipment can stay (in the two-dimensional code navigation map, two-dimensional code points can be regarded as nodes), the plug represents the position where the automatic navigation equipment can be charged, the lower inclined dark square represents one automatic navigation equipment, the left two dark squares represent butt joints, and the two butt joints in the two-dimensional code navigation map correspond.
As can be readily seen from fig. 4 and 5, the navigation maps used in different navigation modes may differ greatly in form, and thus in some implementations, the switching of the navigation mode may also include switching of the navigation maps. Namely, the map used by the automatic navigation equipment is switched from the current navigation map to the target navigation map; the current navigation map refers to a map used by the automatic navigation equipment in a current navigation mode, and the target navigation map refers to a map used by the automatic navigation equipment in a target navigation mode to be switched.
For example, the automatic navigation equipment supports a two-dimensional code navigation mode and an SLAM navigation mode, if the current navigation mode is the two-dimensional code navigation mode and the target navigation mode is the SLAM navigation mode, the current navigation map is the two-dimensional code navigation map, the target navigation map is the SLAM navigation map, and after the navigation modes are switched, the automatic navigation equipment uses the SLAM navigation map for navigation and does not use the two-dimensional code navigation map for navigation.
For another example, the automatic navigation device supports a laser SLAM navigation mode and a visual SLAM navigation mode, and if the leading mode is the laser SLAM navigation mode and the target navigation mode is the visual SLAM navigation mode, the current navigation map is the laser SLAM navigation map, and the target navigation map is the visual SLAM navigation map. And after the navigation mode is switched, the automatic navigation equipment uses the visual SLAM navigation map for navigation, and does not use the laser SLAM navigation map for navigation any more.
It will be appreciated that the step of switching the navigation map may not be performed if some form of navigation map is used in multiple navigation modes.
Before the automatic navigation device starts to execute a task, the navigation map to be used is required to be ensured to be stored in the device. For example, the navigation map may be edited on the scheduling system and then delivered to the automatic navigation device, where the "delivery" may be actively pushed by the scheduling system or actively pulled by the automatic navigation device. It should be understood that the navigation map may also be transferred to the automatic navigation device by other means, such as copying via a storage medium (U-disk, mobile hard disk, etc.).
In some implementations, the automatic navigation device needs to register on the scheduling system before being controlled by the scheduling system, and when the device is registered, the scheduling system may compare the version of the map stored in the automatic navigation device with the version of the map stored in the scheduling system (or compare the versions of the map stored in the automatic navigation device), and if the map stored in the scheduling system is newer (or the map is not stored in the automatic navigation device), the map is delivered to the automatic navigation device to replace the original navigation map in the automatic navigation device.
Further, in some implementations, the scheduling system may generate the navigation map according to an editing operation on the map editing interface, and then issue the navigation map to the automatic navigation device. The map editing interface may be part of the client interface, may be a front-end page provided by the scheduling system, which may be accessed by the client, and so on. In these implementations, providing a map editing interface facilitates obtaining a map that better conforms to the actual environment in conjunction with the experience and observation of the user, thereby improving the accuracy of automatic navigation.
For example, the two-dimensional code navigation map in fig. 4 may be created by a user on a map editing interface, and the created blank map may be referred to as an original two-dimensional code navigation map. And then, the user can edit the original two-dimensional code navigation map, for example, the distance between two-dimensional code points is set according to the laying condition of the two-dimensional code in the actual environment, the two-dimensional code points and the path between the two-dimensional code points are drawn according to the distance, necessary icons such as plugs, automatic navigation equipment, butt joints and the like can be further added on the map after the drawing is finished, and finally the map editing is finished, wherein the obtained map is the two-dimensional code navigation map which can be issued to the automatic navigation equipment for use.
For another example, for the SLAM navigation method, the automatic navigation device runs once in the actual environment, and an original map, called as an original SLAM navigation map, is created, where the original SLAM navigation map includes the distribution of the obstacles in the actual environment, such as the irregular black trace on the outer layer in fig. 5. The original SLAM navigation map is initially stored in the automatic navigation device, and the original SLAM navigation map may be uploaded to the scheduling system, and then imported into the map editing interface, and edited by the user, for example, by adding a curve, a docking point, the automatic navigation device, a plug, and the like in fig. 5, to obtain the SLAM navigation map that can be sent to the automatic navigation device for use.
As can be seen from the above example, different editing strategies can be adopted for different types of navigation maps, so that a completely new map can be created for editing, and editing can also be performed on the basis of an existing map.
For each generated map, the scheduling system can allocate a unique ID to the map, so that the map can be managed conveniently. If the actual environment is a large scene, for example, multiple storehouses, and the layers are communicated with each other through elevators, maps can be further grouped, for example, multiple maps of each storehouse are grouped into one group.
Next, on the basis of the above embodiment, the judgment of the mode switching condition by the scheduling system is described:
in some implementations, the pose information of the automatic navigation device is sent to the dispatch system based on the pose information calculated in the current navigation mode while the automatic navigation device is still in the current navigation mode.
And after receiving the pose information of the automatic navigation equipment, the dispatching system judges the first mode switching condition, if the judgment result is that the first mode switching condition is met, the dispatching system sends a navigation mode switching instruction to the automatic navigation equipment to instruct the automatic navigation equipment to switch the navigation mode, and if the judgment result is that the first mode switching condition is not met, the dispatching system can not execute any action or output corresponding prompt information. In the moving process of the automatic navigation equipment, the pose information may be sent for multiple times, and the scheduling system can judge the pose information every time the scheduling system receives the pose information of the automatic navigation equipment.
Wherein the first mode switching condition includes that the automatic navigation apparatus is located within a common area of the current navigation map and the target navigation map (hereinafter, this area is sometimes simply referred to as a common area of the navigation map or a common area). The common area of the current navigation map and the target navigation map corresponds to the same area in the actual environment, and the dispatching system can determine the positions of the automatic navigation equipment in the current navigation map and the target navigation map according to the pose information of the automatic navigation equipment, so that whether the automatic navigation equipment is located in the common area can be judged. Because the automatic navigation needs to be supported by the navigation map, in a non-public area of the two navigation maps, the automatic navigation equipment can only navigate according to one mode and cannot switch the navigation mode, and in a public area of the two maps, the automatic navigation equipment can navigate according to any mode, so that the navigation mode can be theoretically supported to be switched, and therefore the judgment logic of the first mode switching condition is reasonable.
Strictly speaking, the scheduling system judges whether the automatic navigation device is located in the public area of the two maps, and can only use the position information of the automatic navigation device without the attitude information of the automatic navigation device. However, as can be seen from the foregoing, the pose information is calculated when the automatic navigation apparatus performs positioning, so that for simplicity, the automatic navigation apparatus can upload the entire pose information to the scheduling system, and it is not necessary to upload only the position information, and after the scheduling system receives the pose information, the position information in the pose information is used to determine whether the automatic navigation apparatus is located in a public area between two maps, and the pose information may not be used or used for other purposes. Of course, it is not excluded that in some implementations, the automated navigation device will only upload the position information in the pose information to the scheduling system. It is to be noted that the first mode switching condition does not necessarily include only a condition that the automatic navigation apparatus is located in a common area of the navigation map, and may include other conditions. In other words, the automatic navigation apparatus is located in a common area of the navigation map only as a necessary condition for the switching of the navigation mode, but not as a sufficient condition. For example, the automatic navigation device only executes a certain task in the two-dimensional code navigation map, and the task just needs to pass through the public area of the two-dimensional code navigation map and the SLAM navigation map in the process of executing the task, and obviously, the navigation mode does not need to be switched at the moment. For another example, whether to switch the navigation mode may be influenced by an upper business system, and if the business system instructs the scheduling system not to switch the navigation mode, the scheduling system may not instruct the automatic navigation device to switch the navigation mode even if the automatic navigation device is located in a common area of the navigation map. For another example, the scheduling system determines that a large number of interfering light sources exist in the actual environment according to the environment data acquired by the automatic navigation device, and if the system is not suitable for SLAM navigation, the scheduling system may instruct the automatic navigation device to switch to the two-dimensional code navigation mode. For simplicity, the first mode switching condition is considered to include only the case where the automatic navigation device is located in the public area of the navigation map, and after the flow of the whole navigation method is clarified, other conditions that may be included are introduced.
Alternatively, in the first mode switching condition, the condition that the automatic navigation apparatus is located within the common area of the navigation map may be set more strictly, i.e., it is required that the automatic navigation apparatus must be located at a docking point within the common area, but cannot be located at any position within the common area. The number of the docking points can be one or more, and the automatic navigation equipment is positioned at the docking point is understood to be positioned in a small range which is just positioned at the docking point or positioned near the docking point. The position distribution of the docking points is not limited, for example, the docking points may be distributed as uniformly as possible during the setting, so that the automatic navigation equipment at each position in the navigation map can easily reach a docking point with a short distance.
The setting of the docking point is determined by the characteristics of some navigation modes in which the automatic navigation apparatus cannot move completely freely but can only move to some nodes in the navigation map along a predetermined path (refer to the straight path and the nodes in fig. 4 and the curved path and the nodes in fig. 5) to stop, and thus the navigation mode cannot be switched at any position in the public area, but only at some node positions set as the docking point. On the other hand, it is also determined by some service scenarios that the docking point can be set as a work station of the automatic navigation device, for example. Taking the cargo handling scenario as an example, the automatic navigation device at the workstation may stop and perform some cargo handling related operations, such as loading, unloading, tallying, and so on. Personnel and equipment may also be provided at the work site to assist the automated navigation equipment in performing these operations. The automatic navigation equipment often needs to stay when the navigation mode is switched, so that the two types of stay time can be unified by setting the work station as a butt joint point, the service requirement is supported, the navigation mode switching is also supported, and the working efficiency of the automatic navigation equipment is improved.
The positions of the docking points are accurately marked on both the current navigation map and the target navigation map, which facilitates the determination of the mode switching condition and the path planning based on the docking points, for example, in fig. 4 and 5, two docking points located in a common area of the two-dimensional code navigation map and the SLAM navigation map are marked, respectively.
In the two-dimensional code navigation mode, because the two-dimensional codes are paved at equal intervals in the actual environment, the two-dimensional code navigation map is in a grid shape, the positions of two-dimensional code points in the two-dimensional code navigation map are easily and accurately calculated (grid vertexes), and the automatic navigation equipment can also stop at the two-dimensional code points, so that the two-dimensional code points in a public area can be selected as the butt joint points.
However, since the SLAM navigation map does not have a grid structure similar to that of the two-dimensional code navigation map, it is difficult to directly mark the precise position of the docking point manually, and to solve this problem, the automatic navigation device may be moved (the movement may be controlled by the scheduling system or may be manually moved) to the docking point to be marked (for example, a certain two-dimensional code point selected as the docking point), the scheduling system receives the pose 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 may be automatically marked according to the position information therein. Because the pose information reported by the automatic navigation equipment is relatively accurate, the marking result obtained in the mode is relatively accurate.
It should be understood that the above-mentioned automatic marking process may be adopted for other nodes in the navigation map that need to accurately mark the position.
The dispatching system judges the mode switching condition, so that the automatic navigation equipment can directly switch after receiving the navigation mode switching instruction without any judgment, the design can simplify the internal logic of the automatic navigation equipment, and the high-efficiency navigation mode switching is realized.
The dispatching system can enable the automatic navigation equipment to switch the navigation mode when necessary through the dispatching capability of the dispatching system. For example, for a case where a docking point is set in a navigation map, for a task across the map (the task may be issued to the scheduling system by a service system, or the task may be configured on a client directly by a user), for example, a task of transporting goods from a starting point in a current navigation map to an ending point in a target navigation map, an automatic navigation device may be first scheduled from the starting point to a certain docking point (for example, an idle docking point) according to task information (including at least the positions of the starting point and the ending point), the automatic navigation device is controlled to switch from a current navigation mode to a target navigation mode at the docking point, and then the automatic navigation device is scheduled from the docking point to the ending point.
The determination of the mode switching condition by the scheduling system is described above, however, considering that the automatic navigation apparatus does not synchronize all information to the scheduling system, the automatic navigation apparatus is not necessarily suitable for performing the navigation mode switching when the scheduling system considers that the automatic navigation apparatus can perform the navigation mode switching. For example, when the automatic navigation apparatus is located at a docking point in a common area of a map from the received position information, the scheduling system considers that the automatic navigation apparatus can be switched from the SLAM navigation mode to the two-dimensional code navigation mode, but the automatic navigation apparatus does not scan a valid two-dimensional code (for example, the two-dimensional code is damaged) at the position, and at this time, it is inappropriate to switch the navigation mode.
In order to solve the problem, in some implementations, after receiving the navigation mode switching instruction, the automatic navigation device may further perform a determination of a second mode switching condition as a response to the navigation mode switching instruction, perform the navigation mode switching if the second mode switching condition is satisfied, and if the second mode switching condition is not satisfied, the automatic navigation device may not perform any action or feed back that the navigation mode cannot be switched currently to the scheduling system. Such a double determination is advantageous to ensure that the timing of the switching of the navigation mode is correct and reliable.
Wherein the second mode switching condition includes a condition that the automatic navigation apparatus is located in a common area of the current navigation map and the target navigation map, but does not exclude other conditions. That is, the fact that the automatic navigation device is located in the public area of the navigation map is only a necessary condition for switching the navigation mode, but is not a sufficient condition, and whether to switch the navigation mode may be influenced by other factors, and does not completely depend on the location of the automatic navigation device, for example, the remaining power of the automatic navigation device (power is insufficient and switching is not performed).
The similarities between the second mode switching condition and the first mode switching condition are not repeated, but it should be noted that although both the second mode switching condition and the first mode switching condition include the condition that the automatic navigation device is located in a common area, other conditions that may be included in the second mode switching condition are not necessarily the same as the first mode switching condition. In particular, the common area in the second mode switching condition may also be further defined as a docking point.
The automatic navigation apparatus can locate itself when necessary, and can also obtain required sensor data, and therefore it is sufficient to make a judgment of the second mode switching condition. For example, when the automatic navigation device receives a switching instruction for switching to the two-dimensional code navigation mode, the two-dimensional code recognition unit is firstly detected to recognize whether the two-dimensional code can be recognized, if the two-dimensional code recognition unit can return effective two-dimensional code data, the two-dimensional code can be recognized, the automatic navigation device is indicated to be in the two-dimensional code navigation map (whether the two-dimensional code is in the two-dimensional code navigation map can also be judged through the calculated pose information), then whether the two-dimensional code is a two-dimensional code of a butt joint is further detected, and if the two-dimensional code is in the two-dimensional code navigation map, the navigation mode is switched. If the automatic navigation equipment can not recognize the two-dimensional code or the recognized two-dimensional code is not the two-dimensional code as the butt joint point, the automatic navigation equipment can move to the two-dimensional code point as the butt joint point and then switch the navigation mode. If the automatic navigation equipment is originally on the path to the docking point, the automatic navigation equipment can directly continue to move. If the automatic navigation equipment is not on the path to the butt joint point currently, the condition that the second mode switching condition is not met can be reported to the dispatching system, and the dispatching system plans a path to the butt joint point.
In addition, it should be noted that the determination of the first mode switching condition and the determination of the second mode switching condition may be independent, and even if the scheduling system does not perform the determination of the first mode switching condition, even if the scheduling system is not implemented at all in the scheme, the determination of the second mode switching condition may be performed on the automatic navigation apparatus.
The above mainly describes how the automatic navigation device switches the navigation mode, but if the automatic navigation device is operated under the control of the scheduling system, after the scheduling system sends a navigation mode switching instruction to the automatic navigation device, the scheduling system itself needs to adaptively perform some mode switching operations, so that the automatic navigation device can be continuously scheduled in the target navigation mode, which is not called as the navigation mode switching of the scheduling system.
Optionally, after the automatic navigation device completes the switching of the navigation mode, a feedback message may be sent to the scheduling system to notify the scheduling system that the navigation mode has been successfully switched, and after receiving the feedback message, the scheduling system performs a corresponding mode switching operation, so that the mode switching behavior of the scheduling system and the mode switching behavior of the automatic navigation device are kept synchronous. Of course, the autopilot device may also notify the dispatch system if the navigation mode switch fails.
The mode switching operation by the scheduling system may include switching a scheduling mode of the automatic navigation apparatus. For example, if the automatic navigation device is switched from the two-dimensional code navigation mode to the SLAM navigation mode, the scheduling system can only schedule the automatic navigation device to move along a linear path before switching, and the scheduling system should schedule the automatic navigation device to move along a curved path after switching.
The mode switching operation by the scheduling system may further include controlling switching of a navigation map displayed on the map display interface. The map display interface is an interface supporting navigation map display, and is convenient for a user to check the navigation map in real time. The map display interface may be part of the client interface, may be a front-end page provided by the scheduling system, which may be accessed by the client, and so on.
Before the automatic navigation equipment starts to execute the task, an initial navigation mode is set for the automatic navigation equipment (the navigation mode can be set on the scheduling system through the client), for example, the automatic navigation equipment is initially set to be the two-dimensional code navigation mode when being positioned in a two-dimensional code navigation map, and is set to be the SLAM navigation mode when being positioned in the SLAM navigation map, and then the scheduling system can control a map display interface to display the initial navigation map. After the dispatching system sends the mode switching instruction to the automatic navigation equipment, the current navigation map displayed on the map display interface is controlled to be switched into the target navigation map, so that a user can check the map currently used by the automatic navigation equipment, and the user experience is improved.
Further, as mentioned above, the automatic navigation apparatus may transmit the pose information of itself to the scheduling system so that it makes the judgment of the first mode switching condition. It will be appreciated that the scheduling system may also use the pose information for other purposes, for example, to map the position of the automatic navigation device on a navigation map displayed on a map display interface according to the pose information, which is convenient for a user to view.
Fig. 6 shows a possible structure of a navigation system 300 provided in an embodiment of the present application. Referring to fig. 6, the navigation system 300 includes at least a main control module 310 and at least two pose calculation modules, and possibly a data processing module and/or a motion control module 370, which may be understood as software and/or hardware modules.
The pose calculation modules are used for calculating the pose of the automatic navigation equipment according to the sensor data, each pose calculation module corresponds to one navigation mode, and correspondingly, the pose information is calculated based on the data acquired by the sensors used in the navigation mode. Since the scheme of the application supports multi-navigation mode switching, at least two pose calculation modules are arranged in the navigation system 300.
For example, if the hardware of the automatic navigation apparatus supports two-dimensional code navigation and SLAM navigation, the navigation system 300 may include two pose calculation modules 320, a two-dimensional code pose calculation module 320 and a SLAM pose calculation module 330, respectively, as shown in fig. 6. The two-dimensional code pose calculation module 320 is configured to calculate two-dimensional pose information (x, y, θ in fig. 6) of the automatic navigation apparatus according to at least one of two-dimensional code data, IMU data, and Odom data (which at least includes the two-dimensional code data, otherwise, it is difficult to embody the characteristics of two-dimensional code navigation) acquired by a sensor used by the automatic navigation apparatus in the two-dimensional code navigation modez}); SLAM pose calculation module 330 collects lidar from sensors used by the autopilot in the SLAM navigation modeCalculating three-dimensional pose information (x, y, theta in figure 6) of the automatic navigation equipment by using at least one of data, camera data, IMU data and Odom data (at least including radar data and/or camera data, otherwise, the characteristics of SLAM navigation are difficult to embody)x,θy,θz}). For the calculation of the pose information, reference may be made to the foregoing method embodiments, and the description will not be repeated.
The main control module 310 is configured to receive a navigation mode switching instruction, and control the automatic navigation device to switch the navigation mode in response to the navigation mode switching instruction. Wherein the switching of the navigation mode comprises: and switching a module for calculating the pose information of the automatic navigation equipment from a current pose calculation module in at least two pose calculation modules to a target pose calculation module, wherein the current pose calculation module and the target pose calculation module respectively calculate the pose information by using current sensor data and target sensor data, and the current sensor data and the target sensor data are respectively data acquired by sensors used by the automatic navigation equipment in a current navigation mode and a target navigation mode to be switched.
For example, if the automatic navigation apparatus is switched from the two-dimensional code navigation mode to the SLAM navigation mode, the main control module 310 controls the module that calculates the pose information of the automatic navigation apparatus to switch from the two-dimensional code pose calculation module 320 (current pose calculation module) to the SLAM pose calculation module 330 (target pose calculation module).
There are different ways to switch the pose calculation module, and still take the case of switching from the two-dimensional code navigation mode to the SLAM navigation mode as an example (for simplicity, it is assumed that each sensor is always in the on state, i.e. the foregoing mode 1 is not considered at all, although the mode 1 may also be adopted here):
the method a: the main control module 310 controls the two-dimensional code pose calculation module 320 to stop running, and controls the SLAM pose calculation module 330 to start running. The two-dimensional code pose calculation module 320 may stop running, that is, clearing 0 internal parameters of the two-dimensional code pose calculation module 320, and closing input and output of the module; the start of the operation by the SLAM pose calculation module 330 may refer to initializing internal parameters of the SLAM pose calculation module 330 (if parameters have been initialized before, for example, in the case where the SLAM pose calculation module 330 has been operated and the operation is suspended, the initialization may not be performed), and starting to input at least one of the laser radar data, the camera data, the IMU data, and the Odom data required for the SLAM pose calculation module 330.
The control of the two-dimensional code pose calculation module 320 by the main control module 310 to stop running and the start of the operation of the SLAM pose calculation module 330 can be realized by issuing control instructions to the two modules. Or, the main control module 310 may only issue an instruction to start operation to the SLAM pose calculation module 330, and the SLAM pose calculation module 330 may issue an instruction to stop operation to the two-dimensional code pose calculation module 320.
In fig. 6, a dotted line between the two-dimensional code pose calculation module 320 and the SLAM pose calculation module 330 shows a partial operation of the manner a, in which a dotted line with an arrow toward the left corresponds to a case of switching from the two-dimensional code navigation mode to the SLAM navigation mode, and a dotted line with an arrow toward the right corresponds to a case of switching from the SLAM navigation mode to the two-dimensional code navigation mode.
Mode b: the two-dimensional code pose calculation module 320 and the SLAM pose calculation module 330 can always operate, that is, pose information of the automatic navigation apparatus can always be output, but after the navigation mode is switched, the pose information output by the two-dimensional code pose calculation module 320 is not used, and the pose information output by the SLAM pose calculation module 330 is used instead.
In the method b, the switching logic is simplified compared to the method a, but the consumption of computing resources by the automatic navigation device and the power consumption of the device are increased.
The automatic navigation device in the navigation system 300 supports multiple navigation modes, and can dynamically switch the navigation modes under the control of an external instruction, so that the system is beneficial to the automatic navigation device to fully exert the advantages of various navigation modes, and the application scenes of the automatic navigation device are widened. In addition, the navigation system 300 is modular in function, and the modular design is beneficial to reducing the coupling degree between system functions, facilitating modification of each function without affecting the work of other modules, and simultaneously being beneficial to promoting reuse of the functions.
In some implementations, the switching of the navigation mode may also include switching of the navigation map, that is, switching the map used by the automatic navigation device from the current navigation map to the target navigation map, which may also be performed under the control of the main control module 310. Regarding this function of the main control module 310, reference may be made to the description of the foregoing method embodiments, and the description is not repeated.
In some implementations, the main control module 310 may further determine whether the automatic navigation device satisfies the second mode switching condition after receiving the mode switching instruction, and control the automatic navigation device to switch from the current navigation mode to the target navigation mode only when the automatic navigation device satisfies the second mode switching condition. Wherein the second mode switching condition includes that the automatic navigation apparatus is located in a common area of the current navigation map and the target navigation map. Regarding this function of the main control module 310, reference may be made to the description of the foregoing method embodiments, and the description is not repeated. In addition, at this time, the scheduling system may also determine the first navigation mode switching condition, as described above.
In addition to the above-mentioned functions, when the scheduling system is provided, the main control module 310 is also responsible for interacting with the scheduling system, and the content of interaction may be summarized into three channels:
(1) and the control channel is responsible for transmitting control instructions of the scheduling system, such as navigation mode switching instructions and scheduling instructions.
(2) And the management channel is responsible for transmitting instructions and information required by the management of the scheduling system. For example, an instruction to acquire the status information of the automatic navigation apparatus and the status information, an instruction to acquire log information of the automatic navigation apparatus and the log information.
(3) And the data channel is responsible for transmitting data required by the scheduling system for scheduling, such as position information of the automatic navigation equipment.
In some implementations, the navigation system 300 may further include a data processing module, which performs a data driving function, and pre-processes the data collected by the sensor to convert the data into a suitable form, and then sends the processed data to the corresponding pose calculation module for pose information calculation, which is helpful to improve the data processing capability of the navigation system 300.
The number of data processing modules can be set as required. For example, fig. 6 shows 3 data processing modules, and the data processing module 340 is configured to process IMU data and Odom data acquired by IMU and Odom, and may send the processed data to the two-dimensional code pose calculation module 320 and the SLAM pose calculation module 330, because both pose calculation modules may use the two data to calculate pose information, or the data processing module 340 may be shared (common) by two navigation methods. The data processing module 350 is configured to process the two-dimensional code data collected by the two-dimensional code recognition unit, and send the processed data only to the two-dimensional code position and posture calculation module 320, because only the two-dimensional code position and posture calculation module 320 uses the two-dimensional code data to perform calculation (privately) of the position and posture information. The data processing module 360 is configured to process the lidar data collected by the lidar and/or the camera data collected by the camera, and send the processed data only to the SLAM pose calculation module 330, because only the SLAM pose calculation module 330 uses the lidar data and/or the camera data to perform pose information calculation (privately).
In some implementations, the navigation system 300 can further include a motion control module 370, and the motion control module 370 is configured to plan a moving path of the automatic navigation device according to the pose information calculated by the pose calculation module and control the automatic navigation device to move along the planned path. Specifically, the motion control module 370 may send a corresponding control signal to an actuator of the automatic navigation device according to the planned path to control a direction, a speed, etc. of movement thereof, so that the automatic navigation device may move along the planned path, as shown in fig. 6.
For example, after switching to the target navigation mode, the motion control module 370 may plan a path along which the automatic navigation apparatus moves to the target location according to the pose information calculated by the target pose calculation module, and control the automatic navigation apparatus to move to the target location along the planned path. With regard to this function of the motion control module 370, reference may be made to the description of the foregoing method embodiments, and no further explanation is provided.
The position information of the target location may be sent by the main control module 310 to the motion control module 370, and the main control module may obtain the position information of the target location from task information sent upstream (e.g., scheduling system).
The navigation system 300 can also be regarded as a modular implementation of the navigation method provided by the embodiment of the present application. Therefore, with respect to the functions of the navigation system 300, reference may be made to the description of the method embodiments above, where not mentioned.
The first mode switching condition is described in some supplementary descriptions based on the above embodiment. If it is noted as condition (1) that the automatic navigation apparatus is located in the common area of the current navigation map and the target navigation map, the first mode switching condition may further include:
condition (2): the automatic navigation device is located on a boundary between the current navigation map and the target navigation map.
The condition is similar to the condition (1), and the condition is adjacent to the boundary, which can mean that at least one common point exists between the boundary of the current navigation map and the boundary of the target navigation map.
It is noted that the automatic navigation apparatus may be located both on the adjacent boundaries of the current navigation map and the target navigation map and within an area common to the current navigation map and the target navigation map. The automatic navigation device is located on the adjacent boundary of the current navigation map and the target navigation map, but is not necessarily located in the common area of the current navigation map and the target navigation map, because the two maps are not necessarily located in the common area, and the adjacency relationship may exist only at the boundary.
If the common region area in the condition (1) is allowed to be 0, the condition (2) can be actually regarded as a special case of the condition (1), and the advantageous effects and the like brought by the condition (1) can be similarly analyzed. In particular, if there are only adjacent boundaries between the current navigation map and the target navigation map, and there is no common area, a specific location may be selected as the docking point on the adjacent boundaries.
Condition (3): the environment in which the automatic navigation equipment is currently located is not matched with the current navigation mode and is matched with the target navigation mode.
Different navigation modes have a matching environment, i.e. when the automatic navigation device is in this environment, the corresponding navigation mode can be implemented or can be implemented better. The environment in which the automatic navigation device is located is likely to change, on the one hand, the environment itself changes (e.g., lighting conditions change over time), and on the other hand, the movement of the automatic navigation device may also cause a change in the surrounding environment (e.g., moving from an unmanned workspace to a manned workspace). The automatic navigation equipment can acquire the environmental data through the sensor and feed the environmental data back to the scheduling system, so that the scheduling system can be supported to judge the condition (3).
The starting point of setting condition (3) is: when the environment changes, the navigation mode is adjusted in time, so that the automatic navigation equipment can keep a good working state for a long time. For example, the automatic navigation device originally adopts the visual SLAM to perform navigation, and when the scheduling system judges that the illumination intensity in the current environment of the automatic navigation device is obviously reduced, the automatic navigation device can be instructed to switch to laser SLAM navigation or laser combined visual SLAM navigation by issuing a mode switching instruction. For another example, the automatic navigation device originally adopts the laser SLAM mode to perform navigation, and when the scheduling system determines that a large number of moving objects appear in the current environment of the automatic navigation device, the scheduling system can instruct the automatic navigation device to switch to the visual SLAM navigation by issuing a mode switching instruction.
The above conditions (1), (2) and (3) may be combined (combination means that a plurality of conditions are included in the first mode switching condition at the same time), for example, (1), (3) and (2) (3) may be combined, but (1) and (2) may not be combined, and the condition (1) may be adopted when the current navigation map and the target navigation map have a common area, and the condition (2) may be adopted when the current navigation map and the target navigation map do not have a common area but have an adjacent boundary.
It is to be understood that some map-related steps (e.g., editing a map, displaying a map, etc.) in the above embodiments need not be performed if the first mode switching condition does not include a condition related to a navigation map (e.g., conditions (1) (2)) and the navigation mode supported by the automatic navigation apparatus does not use the navigation map either.
By reasonably setting the first mode switching condition, the scheduling system can better control the behavior of the automatic navigation equipment, so that the automatic navigation equipment can fully exert the advantages of various navigation modes, automatically adapt to various environmental scenes (including different navigation maps and different external environments), and widen the application range of the automatic navigation equipment.
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, and the effects achieved by the second mode switching condition are not repeated.
The embodiment of the present application further provides a computer-readable storage medium, where computer program instructions are stored on the computer-readable storage medium, and when the computer program instructions are read and executed by a processor of a computer, the navigation method provided by the embodiment of the present application is executed. For example, the computer readable storage medium may be embodied as the memory 112 in the automatic navigation device 110 of FIG. 2.
The above description is only an example of the present application and is not intended to limit the scope of the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (19)

1. A navigation method, comprising:
receiving a navigation mode switching instruction;
responding to the navigation mode switching instruction, controlling the automatic navigation equipment to execute the switching of the navigation mode, wherein the switching of the navigation mode comprises the following steps: and switching the mode of calculating the pose information of the automatic navigation equipment from calculation according to current sensor data to calculation according to target sensor data, wherein the current sensor data and the target sensor data are respectively data acquired by sensors used by the automatic navigation equipment in a current navigation mode and a target navigation mode to be switched.
2. The navigation method of claim 1, wherein the switching of the navigation mode further comprises: and opening at least part of sensors corresponding to the target navigation mode, and closing at least part of sensors corresponding to the current navigation mode.
3. The navigation method of claim 2, wherein the current navigation mode and the target navigation mode share a portion of sensors, the shared portion of sensors remaining on throughout navigation of the automatic navigation device, the shared portion of sensors including at least one of an inertial measurement unit, and an odometer.
4. The navigation method according to any one of claims 1-3, wherein the switching of the navigation mode further comprises:
switching a map used by the automatic navigation equipment from a current navigation map to a target navigation map; wherein the current navigation map and the target navigation map are maps used by the automatic navigation device in the current navigation mode and the target navigation mode, respectively.
5. The navigation method according to any one of claims 1-4, wherein the receiving a navigation mode switching instruction comprises:
receiving a navigation mode switching instruction issued by a dispatching system;
before the receiving a navigation mode switching instruction, the method further comprises:
and sending the pose information of the automatic navigation equipment to the dispatching system according to the pose information calculated in the current navigation mode, wherein the pose information is used for judging whether the automatic navigation equipment meets a first navigation mode switching condition or not by the dispatching system.
6. The navigation method according to any one of claims 1 to 5, wherein the controlling the automatic navigation device to perform the switching of the navigation mode in response to the navigation mode switching instruction comprises:
responding to the navigation mode switching instruction, and judging whether the automatic navigation equipment meets a second mode switching condition;
and if the automatic navigation equipment meets the second mode switching condition, controlling the automatic navigation equipment to execute the switching of the navigation mode.
7. The navigation method according to claim 6, wherein the second mode switching condition includes at least one of the following conditions:
the automatic navigation equipment is positioned in a public area of the current navigation map and the target navigation map or on an adjacent boundary; wherein the current navigation map is a map used by the automatic navigation equipment in the current navigation mode, and the target navigation map is a map used by the automatic navigation equipment in the target navigation mode;
the current environment of the automatic navigation equipment is not matched with the current navigation mode and is matched with the target navigation mode.
8. The navigation method according to claim 7, wherein the automatic navigation device is located within a common area of the current navigation map and the target navigation map or on an adjacent boundary, comprising:
the automatic navigation equipment is positioned at a butt joint, and the butt joint is a designated place in a common area of the current navigation map and the target navigation map or on an adjacent boundary.
9. The navigation method according to any one of claims 1 to 8, wherein the navigation modes supported by the automatic navigation device include: a two-dimensional code navigation mode and at least one synchronous positioning and mapping SLAM navigation mode, or at least two SLAM navigation modes;
wherein the SLAM navigation mode comprises: laser SLAM, visual SLAM and laser-combined visual SLAM;
in the two-dimension code navigation mode, the automatic navigation equipment receives the two-dimension code data collected by the two-dimension code recognition unit and calculates the pose information according to the two-dimension code data;
and in the SLAM navigation mode, the automatic navigation equipment receives radar data acquired by a laser radar and/or image data acquired by a camera, and calculates the pose information according to the radar data and/or the image data.
10. The navigation method according to claim 8, wherein the automatic navigation apparatus supports a two-dimensional code navigation mode, and the current navigation map or the target navigation map is a two-dimensional code navigation map;
the butt joint points comprise two-dimensional code points which are positioned in the public area or on the adjacent boundary in the two-dimensional code navigation map, and the automatic navigation equipment judges whether the automatic navigation equipment is positioned at the two-dimensional code points according to the two-dimensional code data collected by the two-dimensional code identification unit;
the method further comprises the following steps:
and if the automatic navigation equipment does not meet the second mode switching condition because the automatic navigation equipment is not positioned at the two-dimensional code point, controlling the automatic navigation equipment to move to the two-dimensional code point.
11. The navigation method according to claim 8, wherein the automatic navigation apparatus supports a SLAM navigation mode, and the current navigation map and/or the target navigation map is a SLAM navigation map;
and the docking point in the SLAM navigation map is obtained according to the position and posture information mark uploaded to a scheduling system by the automatic navigation equipment moved to the docking point.
12. A navigation system, comprising: the main control module and at least two pose calculation modules;
the main control module is used for receiving and responding to a navigation mode switching instruction and controlling the automatic navigation equipment to execute the switching of the navigation mode, wherein the switching of the navigation mode comprises the following steps: and switching a module for calculating the pose information of the automatic navigation equipment from a current pose calculation module to an object pose calculation module in the at least two pose calculation modules, wherein the current pose calculation module and the object pose calculation module respectively use current sensor data and object sensor data to calculate the pose information, and the current sensor data and the object sensor data are respectively data collected by sensors used by the automatic navigation equipment in a current navigation mode and an object navigation mode to be switched.
13. The navigation system of claim 12, wherein the master control module is configured to control the current pose calculation module to suspend operation and control the target pose calculation module to initiate operation such that the module that calculates pose information of the automatic navigation device is switched from the current pose calculation module to the target pose calculation module.
14. The navigation system of claim 12 or 13, wherein the main control module is configured to receive and respond to the navigation mode switching instruction, determine whether the automatic navigation device satisfies a second mode switching condition, and control the automatic navigation device to execute the switching of the navigation mode when the automatic navigation device satisfies the second mode switching condition.
15. The navigation system of any one of claims 12-14, further comprising:
the motion control module is used for planning a path of the automatic navigation equipment moving to a target place according to the pose information calculated by the target pose calculation module and controlling the automatic navigation equipment to move to the target place along the planned path;
the main control module is also used for sending the position information of the target location to the motion control module.
16. An automatic navigation device, characterized by comprising a memory, a processor and a sensor, the memory having stored therein computer program instructions which, when read and executed by the processor, perform the method of any one of claims 1-11.
17. An automatic navigation apparatus characterized in that the navigation system of any one of claims 12 to 15 is installed.
18. A cargo handling system, comprising:
the server is used for scheduling the automatic navigation equipment;
an automated navigation device for cargo handling based on automated navigation, the automated navigation device performing the method of any of claims 1-11.
19. A computer-readable storage medium having stored thereon computer program instructions which, when read and executed by a processor, perform the method of any one of claims 1-11.
CN202110807316.1A 2021-07-16 2021-07-16 Navigation method, navigation system, navigation device, transport system, and storage medium Pending CN113654549A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110807316.1A CN113654549A (en) 2021-07-16 2021-07-16 Navigation method, navigation system, navigation device, transport system, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110807316.1A CN113654549A (en) 2021-07-16 2021-07-16 Navigation method, navigation system, navigation device, transport system, and storage medium

Publications (1)

Publication Number Publication Date
CN113654549A true CN113654549A (en) 2021-11-16

Family

ID=78489545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110807316.1A Pending CN113654549A (en) 2021-07-16 2021-07-16 Navigation method, navigation system, navigation device, transport system, and storage medium

Country Status (1)

Country Link
CN (1) CN113654549A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114383626A (en) * 2022-01-19 2022-04-22 广州小鹏自动驾驶科技有限公司 Navigation method and device for full-scene intelligent auxiliary driving

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040168148A1 (en) * 2002-12-17 2004-08-26 Goncalves Luis Filipe Domingues Systems and methods for landmark generation for visual simultaneous localization and mapping
CN207123759U (en) * 2017-12-22 2018-03-20 斯坦德机器人(深圳)有限公司 A kind of high-precision navigating robot
CN110858075A (en) * 2018-08-15 2020-03-03 杭州海康机器人技术有限公司 Mobile robot cross-region method, device and scheduling system
CN111443713A (en) * 2020-04-14 2020-07-24 三一机器人科技有限公司 Fusion positioning navigation system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040168148A1 (en) * 2002-12-17 2004-08-26 Goncalves Luis Filipe Domingues Systems and methods for landmark generation for visual simultaneous localization and mapping
CN207123759U (en) * 2017-12-22 2018-03-20 斯坦德机器人(深圳)有限公司 A kind of high-precision navigating robot
CN110858075A (en) * 2018-08-15 2020-03-03 杭州海康机器人技术有限公司 Mobile robot cross-region method, device and scheduling system
CN111443713A (en) * 2020-04-14 2020-07-24 三一机器人科技有限公司 Fusion positioning navigation system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114383626A (en) * 2022-01-19 2022-04-22 广州小鹏自动驾驶科技有限公司 Navigation method and device for full-scene intelligent auxiliary driving

Similar Documents

Publication Publication Date Title
AU2019404207B2 (en) Collaborative autonomous ground vehicle
De Ryck et al. Automated guided vehicle systems, state-of-the-art control algorithms and techniques
US11835953B2 (en) Adaptive autonomy system architecture
Schneier et al. Literature review of mobile robots for manufacturing
EP3612906B1 (en) Method and system for environment map generation and alignment
JP6717974B2 (en) Sensor trajectory planning for vehicles
EP3552775B1 (en) Robotic system and method for operating on a workpiece
CN112629522B (en) AGV positioning method and system with reflector and laser SLAM integrated
Cronin et al. State-of-the-art review of autonomous intelligent vehicles (AIV) technologies for the automotive and manufacturing industry
CN112256018A (en) Robot scheduling processing method, device, equipment and storage medium
CN107065861A (en) Robot collection intelligence is carried, is loaded and unloaded on integral method and apparatus
CN113654558A (en) Navigation method and device, server, equipment, system and storage medium
CN113960997A (en) Mobile robot queuing and driving system and control method thereof
Behrje et al. An autonomous forklift with 3d time-of-flight camera-based localization and navigation
CN113654549A (en) Navigation method, navigation system, navigation device, transport system, and storage medium
CN116442245A (en) Control method, device and system of service robot and storage medium
US11797906B2 (en) State estimation and sensor fusion switching methods for autonomous vehicles
Chang et al. Autonomous mobile robots for recycling metal shaving at CNC factories
Choi et al. Two tier search scheme using micro UAV swarm
CN113741425B (en) Full-coverage path planning method and navigation system
Hardouin A centralized and distributed multi-robot system for 3D surface reconstruction of unknown environments
US20240036586A1 (en) Method for adding one or more anchor points to a map of an environment
Øvsthus et al. Mobile Robotic Manipulator Based Autonomous Warehouse Operations
EP4024155B1 (en) Method, system and computer program product of control of unmanned aerial vehicles
Kokkula et al. Cooperation of robots in manufacturing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination