Repositioning method and device of mobile robot
By cutting into program sequences according to the current working conditions of the mobile robot and performing the cropped into program sequences for relocation, the problems of low relocation success rate, time-consuming and low efficiency in the existing technology are solved, and an efficient and unified relocation process is achieved.
Patent Information
- Application Number
- CN202411737178.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-28
- Publication Date
- 2025-03-21
AI Technical Summary
The relocation method of existing mobile robots depends on the matching of navigation data to maps, resulting in low success rate and long time when environmental changes are changed, and the relocation method needs to be updated and adjusted according to navigation methods and map data, resulting in inefficient efficiency.
By obtaining the current working status of the mobile robot and the pre-built program sequence, crop the program sequence according to the working status, and perform the cropped program sequence for relocation. The process of providing map services, position information services and initial positioning information services, ensuring a unified relocation process under different working conditions and navigation modes.
It improves the efficiency and recovery speed of repositioning, realizes the unity of repositioning under different navigation modes, and has the characteristics of strong portability, wide applicability and good compatibility.
Smart Images

Figure CN119669378A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of mobile robots, and in particular to a repositioning method for a mobile robot. Background Art
[0002] Mobile robots can navigate and operate autonomously without external intervention, using sensors, image acquisition devices, etc. to perceive the surrounding environment and make movement and action decisions.
[0003] The process of a mobile robot re-determining its own posture information by detecting the surrounding environmental features in the absence of a priori position or loss of position information is called relocalization, where the posture information includes position information and posture information.
[0004] At present, the relocation of mobile robots is generally combined with a specific navigation method, and positioning is performed by matching navigation data with map data. This relocation method is highly dependent on environmental characteristics because it only re-determines the posture information by matching navigation data with maps. Its success rate will be affected in areas where the environment changes, and relocation is time-consuming. Once the navigation method and map data change, the relocation process will also change. The relocation method needs to be updated or adjusted according to the navigation method and map data, resulting in low relocation efficiency. Summary of the invention
[0005] The invention provides a mobile robot repositioning method to improve the repositioning efficiency.
[0006] A first aspect of the present application provides a mobile robot repositioning method, the method comprising: at the mobile robot side,
[0007] Get the current working status of the mobile robot and the pre-built process sequence for relocalization in single navigation mode or multi-navigation mode,
[0008] in,
[0009] The working conditions include: at least one of the following: first startup, normal startup, abnormal positioning, map update, and map switching.
[0010] The process sequence includes: a sequence consisting of a first process, a second process, and a third process in sequence;
[0011] The first process is used to provide a map service and perform a map data replacement operation based on the map data provided by the map service.
[0012] The second process is used to provide a mobile robot posture information service and perform a map data matching operation based on the posture information provided by the mobile robot posture information service.
[0013] The third process is used to provide an initial positioning information service and perform a map data search and matching operation based on the initial positioning information provided by the initial positioning information service.
[0014] According to the current working condition, the process sequence is trimmed, and the trimmed process sequence is used as the relocation process under the working condition. Each process is executed in the order of the trimmed process sequence to obtain the relocation result.
[0015] Preferably, the first process includes: a first process pair consisting of a first service process for providing map service and a first operation process for performing a map data replacement operation based on the first service process.
[0016] Preferably, the second process includes: a second process pair consisting of a second service process for providing mobile robot posture information service, and a second operation process for performing map data matching operation based on the posture information provided by the second service process.
[0017] Preferably, the third process comprises: a third process pair consisting of a third service process for providing an initial positioning information service and a third operation process for performing a map data search and matching operation based on the initial positioning information provided by the third process;
[0018] Preferably, the process sequence comprises: a sequence consisting of a first process pair, a second process pair, and a third process pair in sequence.
[0019] Preferably, the process sequence is tailored according to the current working status, including:
[0020] When the mobile robot is turned on for the first time, the second process pair in the process sequence is trimmed to obtain a process sequence consisting of the first process pair and the third process pair in sequence.
[0021] Under the working condition that the mobile robot is normally powered on, the first process pair and the third process pair in the process sequence are trimmed to obtain a process sequence including the second process pair.
[0022] Under the working condition of abnormal positioning of the mobile robot, the first process pair in the process sequence is cut to obtain a process sequence consisting of the second process pair and the third process pair in sequence.
[0023] Under the working condition of the mobile robot map update, the third process pair in the process sequence is cut to a process sequence consisting of the first process pair and the second process pair in sequence.
[0024] Under the working condition of the mobile robot map switching, the second process pair in the process sequence is cut to obtain a process sequence consisting of the first process pair and the third process pair in sequence.
[0025] Preferably, the method of using the tailored process sequence as the relocation process under the working condition and executing each process in the order of the tailored process sequence includes:
[0026] The mobile robot is tested for its first startup and working condition.
[0027] In the first startup working condition, the mobile robot executes the first operation process in the first process pair, the first operation process obtains map data by interacting with the first service process, and loads the obtained map data locally on the mobile robot. After the map data is loaded, the third operation process in the third process pair is executed, the third operation process obtains initial positioning information by interacting with the second service process, and searches for map data based on the obtained initial positioning information, matches the searched map data with the current navigation data, and obtains repositioning posture information;
[0028] When the robot is not turned on for the first time, it will perform a map update operation status check.
[0029] Under the working condition that the map is not updated, the first operation process in the first process pair and the second operation process in the second process pair are executed in sequence, and the second operation process obtains the current posture information by interacting with the second service process, and matches the obtained current posture information with the map data to obtain the repositioning posture information.
[0030] Under the working condition of map updating, the mobile robot performs map switching working condition detection;
[0031] Under the working condition that the map is not switched, the second operation process in the second process pair is executed to obtain the repositioning posture information.
[0032] Under the working condition of map switching, executing the third operation process in the third process pair to obtain repositioning posture information;
[0033] Verify the repositioning posture information to detect abnormal positioning working conditions.
[0034] If the verification is successful, the repositioned posture information is saved as the repositioning result.
[0035] In case of verification failure, a third operation process in the third process pair is executed.
[0036] Preferably, the first service process runs on a scheduling system for scheduling the mobile robot, maintains the map data, and sends updated map data or switched map data to the mobile robot, and the scheduling system is deployed on the server side.
[0037] Preferably, the second service process runs locally on the mobile robot, interacts with the user, receives at least one of the relocation area information and the initial positioning information input by the user, and provides the received information to the second operation process.
[0038] Preferably, the third service process runs locally on the mobile robot or on the scheduling system side, and records the current position information of the mobile robot.
[0039] Preferably, the method further comprises:
[0040] In the case of externally triggered relocation, the first process pair and the second process pair in the process sequence are trimmed to obtain a process sequence including the third process pair. The relocation posture information obtained by executing the third process pair is verified. If the verification fails, the position of the mobile robot is adjusted, and the process sequence including the third process pair is executed cyclically until the relocation is successful.
[0041] In the case where relocation is automatically triggered during normal operation of the mobile robot, the first process pair and the third process pair in the process sequence are trimmed to obtain a process sequence including the second process pair. The relocation posture information obtained by executing the second process pair is verified. If the verification fails, externally triggered relocation is performed to execute the steps in the case of externally triggered relocation.
[0042] Preferably, the single navigation mode includes: inertial measurement unit navigation, or laser navigation, or visual navigation,
[0043] Preferably, the multiple navigation modes include: at least one of inertial measurement unit navigation, laser navigation, and visual navigation.
[0044] Preferably, the current navigation data includes navigation data corresponding to each navigation mode.
[0045] Preferably, the current posture information includes posture data corresponding to each navigation mode.
[0046] Preferably, the repositioning posture information includes posture data corresponding to each navigation mode.
[0047] A second aspect of the present application provides a mobile robot positioning device, the device comprising:
[0048] The acquisition module is used to obtain the current working status of the mobile robot and the pre-built process sequence for relocalization in a single navigation mode or in multiple navigation modes.
[0049] in,
[0050] The working conditions include: at least one of the following: first startup, normal startup, abnormal positioning, map update, and map switching.
[0051] The process sequence includes: a sequence consisting of a first process, a second process, and a third process in sequence;
[0052] The first process is used to provide a map service and perform a map data replacement operation based on the map data provided by the service.
[0053] The second process is used to provide a mobile robot posture information service and perform map data matching operations based on the posture information provided by the service.
[0054] The third process is used to provide an initial positioning information service and perform a map data search and matching operation based on the initial positioning information provided by the service.
[0055] The relocation module is used to trim the process sequence according to the current working status, use the trimmed process sequence as the relocation process under the working status, and execute each process in the order of the trimmed process sequence to obtain the relocation result.
[0056] A third aspect of the present application provides a mobile robot, comprising the mobile robot positioning device.
[0057] A fourth aspect of the present application provides a mobile robot system, the system comprising: a scheduling system for scheduling a mobile robot, and at least one mobile robot scheduled by the scheduling system,
[0058] in,
[0059] The mobile robot positioning device described in the mobile robot.
[0060] The present application provides a mobile robot repositioning method, which cuts the process sequence used for repositioning in a single navigation mode or multiple navigation modes according to the current working condition, uses the cut process sequence as the repositioning process under the working condition, and executes each process in the order of the cut process sequence to perform repositioning, so that different working conditions correspond to different repositioning processes, improves the recovery speed of repositioning, and at the same time, unifies the repositioning in different navigation modes, and makes the repositioning method have the characteristics of strong portability, wide applicability and good compatibility. BRIEF DESCRIPTION OF THE DRAWINGS
[0061] Figure 1 A schematic flow chart of a mobile robot repositioning method according to an embodiment of the present application.
[0062] Figure 2 A flowchart of a relocation method according to an embodiment of the present application is shown.
[0063] Figure 3 A schematic diagram of a flow chart of repositioning of the QR code navigation mode according to an embodiment of the present application.
[0064] Figure 4 A flow chart of a repositioning method for at least one of a laser navigation mode and a visual navigation mode.
[0065] Figure 5 A schematic diagram of a mobile robot repositioning device according to an embodiment of the present application.
[0066] Figure 6 Another schematic diagram of the mobile robot repositioning device according to an embodiment of the present application. DETAILED DESCRIPTION
[0067] In order to make the objectives, technical means and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings.
[0068] The applicant's research found that the diversity of navigation modes can demonstrate advantages in repositioning in more complex scenarios, but in actual application, the inconsistencies in the interactions and designs of different navigation modes lead to large differences between them, making it difficult to achieve unified repositioning under multiple navigation modes, which affects the convenience of multi-navigation applications.
[0069] To this end, the present application provides a repositioning method for a mobile robot, which can achieve a unified repositioning method regardless of whether it is in a single navigation mode or a multi-navigation mode.
[0070] See also Figure 1 As shown, Figure 1 A flow chart of a method for relocating a mobile robot according to an embodiment of the present application is shown in FIG. 1 . The method comprises: on the mobile robot side,
[0071] Step 101, obtaining the current working status of the mobile robot and a pre-built process sequence for repositioning in a single navigation mode or a multi-navigation mode,
[0072] As an example, the working condition includes at least one of: first startup, normal startup, abnormal positioning, map update, and map switching.
[0073] As an example, the process sequence includes at least: a first process for providing a map service and performing a map data replacement operation based on the map data provided by the service, a second process for providing a mobile robot posture information service and performing a map data matching operation based on the posture information provided by the service, and a third process for providing an initial positioning information service and performing a map data search and matching operation based on the initial positioning information provided by the service.
[0074] There is a sequence relationship between the processes in the process sequence, the first process precedes the second process, and the second process precedes the third process.
[0075] As an example,
[0076] The first process includes: a first process pair consisting of a first service process for providing a map service and a first operation process for performing a map data replacement operation based on the first service process, wherein the first service process runs on a scheduling system side for scheduling a mobile robot to maintain map data and send updated map data or switched map data to the mobile robot, and the scheduling system can be deployed on a server side, such as a cloud.
[0077] The second process includes: a second process pair consisting of a second service process for providing a mobile robot posture information service, and a second operation process for performing a map data matching operation based on the posture information provided by the second service process, wherein the second service process runs locally on the mobile robot, interacts with a user to receive at least one of the relocation area information and the initial positioning information input by the user, and provides the received information to the second operation process.
[0078] The third process includes: a third process pair consisting of a third service process for providing an initial positioning information service and a third operation process for performing a map data search and matching operation based on the initial positioning information provided by the third process, wherein the third service process runs on the local side of the mobile robot or the scheduling system side to record the current position information of the mobile robot;
[0079] The operation process in each process pair runs locally on the mobile robot to facilitate the repositioning of the mobile robot.
[0080] In each process pair, the service process and its operation process can form a B2C (Business-to-Consumer) relationship, which is not only convenient for process cutting and combination, but also for interaction between processes in the process pair, which is conducive to unifying the interaction under different navigation modes, and is also convenient for expanding the number of mobile robots in the mobile robot system, being compatible with mobile robots of different navigation modes, and improving system compatibility and system capacity. The process sequence is composed of the first process pair, the second process pair, and the third process pair in sequence.
[0081] Single navigation modes include: inertial measurement unit navigation such as odometer navigation, or laser navigation, or visual navigation,
[0082] The multiple navigation modes include: inertial measurement unit navigation such as at least one of odometer navigation, laser navigation, and visual navigation.
[0083] It should be understood that at least one of the above-mentioned processes, process pairs, and process sequences may be pre-constructed on the server side, for example, on the scheduling system side for scheduling the mobile robot, and the mobile robot may actively obtain it through interaction with the scheduling system, or may passively obtain it by receiving a dispatch from the scheduling system; at least one of the above-mentioned processes, process pairs, and process sequences may also be pre-constructed locally on the mobile robot, and the mobile robot may directly read it locally.
[0084] Step 102, according to the current working condition, the process sequence is trimmed, the trimmed process sequence is used as the relocation process under the working condition, and each process is executed according to the sequence in the trimmed process sequence to obtain the relocation result.
[0085] As an example,
[0086] When the mobile robot is turned on for the first time, the second process pair in the process sequence is trimmed to obtain a process sequence consisting of the first process pair and the third process pair in sequence.
[0087] Under the working condition that the mobile robot is normally powered on, the first process pair and the third process pair in the process sequence are trimmed to obtain a process sequence including the second process pair.
[0088] Under the working condition of abnormal positioning of the mobile robot, the first process pair in the process sequence is cut to obtain a process sequence consisting of the second process pair and the third process pair in sequence.
[0089] Under the working condition of the mobile robot map update, the third process pair in the process sequence is cut to a process sequence consisting of the first process pair and the second process pair in sequence.
[0090] Under the working condition of the mobile robot map switching, the second process pair in the process sequence is cut to obtain a process sequence consisting of the first process pair and the third process pair in sequence.
[0091] As another example,
[0092] In the case of externally triggered relocation, the first process pair and the second process pair in the process sequence are trimmed to obtain a process sequence including a third process pair, and the relocation posture information obtained by executing the third process pair is verified. If the verification fails, the position of the mobile robot is adjusted, for example, the mobile robot is moved to another position, and the process sequence including the third process pair is cyclically executed until the relocation is successful.
[0093] In the case where relocation is automatically triggered during normal operation of the mobile robot, the first process pair and the third process pair in the process sequence are trimmed to obtain a process sequence including the second process pair. The relocation posture information obtained by executing the second process pair is verified. If the verification fails, externally triggered relocation is performed to execute the steps in the case of externally triggered relocation.
[0094] The repositioning posture information, ie, the repositioning result, includes posture data corresponding to each navigation mode.
[0095] As an example, the relocation process may be performed as follows:
[0096] The mobile robot is tested for its first startup and working condition.
[0097] In the first startup working condition, the mobile robot executes the first operation process in the first process pair, the first operation process obtains map data by interacting with the first service process, and loads the obtained map data locally on the mobile robot. After the map data is loaded, the third operation process in the third process pair is executed, the third operation process obtains initial positioning information by interacting with the second service process, and searches for map data based on the obtained initial positioning information, matches the searched map data with the current navigation data, and obtains repositioning posture information;
[0098] When the robot is not turned on for the first time, it will perform a map update operation status check.
[0099] Under the working condition that the map is not updated, the first operation process in the first process pair and the second operation process in the second process pair are executed in sequence, and the second operation process obtains the current posture information by interacting with the second service process, and matches the obtained current posture information with the map data to obtain the repositioning posture information.
[0100] Under the working condition of map updating, the mobile robot performs map switching working condition detection;
[0101] Under the working condition that the map is not switched, the second operation process in the second process pair is executed to obtain the repositioning posture information.
[0102] Under the working condition of map switching, executing the third operation process in the third process pair to obtain repositioning posture information;
[0103] Verify the repositioning posture information to detect abnormal positioning working conditions.
[0104] If the verification is successful, the repositioned posture information is saved as the repositioning result.
[0105] In case of verification failure, a third operation process in the third process pair is executed.
[0106] The mobile robot repositioning method provided in the embodiment of the present application decouples repositioning from the navigation mode by acquiring a pre-constructed process sequence, and tailors the processes in the process sequence according to the current working status of the mobile robot. This not only unifies the repositioning triggered in different scenarios, but also makes different working conditions correspond to different repositioning processes, simplifies the process during the repositioning process, improves the efficiency of repositioning, and has stronger adaptability to business and scenario applications.
[0107] To facilitate understanding of the embodiments of the present application, the following description is made using autonomous mobile robots (AMRs) as an example. AMRs can autonomously navigate and operate without human intervention, using sensors and cameras to sense the surrounding environment and make movement and action decisions.
[0108] According to the on-site application scenario, the working conditions that trigger ARM relocation include:
[0109] First boot refers to the first time ARM runs any specified navigation mode. At this time, ARM does not have any valid map information or at least one of the posture information in the specified mode.
[0110] Normal startup refers to the normal startup triggered by ARM local system upgrade or restart after shutdown. Before normal startup, AMR runs normally. At this time, ARM stores valid map information and ARM posture information.
[0111] Abnormal positioning, including abnormal startup or abnormal positioning. Abnormal startup refers to the failure of positioning after normal startup due to the external movement of ARM after shutdown. Abnormal positioning refers to abnormal navigation.
[0112] Map update refers to adding, deleting, or modifying map data of some areas based on the existing map data loaded by ARM. In this working condition, the map coordinate system does not change. For example, due to business needs or scene changes, the existing map data is added, deleted, or modified;
[0113] Map switching refers to switching from one map data to another. In this case, the map coordinate system changes. For example, the AMR is switched from one site to another through external movement. This is similar to the first startup, except that the old site map is stored in the AMR.
[0114] Although the above working conditions will all trigger repositioning, the frequency of occurrence of the above working conditions is not the same. Among them, the first startup will only occur once when the AMR enters the business site; the probability of abnormal positioning itself is not high, and the map coordinate system generally does not change after stable operation. Therefore, the frequency of occurrence of the three situations of first startup, abnormal positioning, and map switching is relatively low; normal startup and map update are related to on-site business adjustment and upgrade needs, and the frequency of occurrence is high-frequency and medium-frequency usage scenarios respectively.
[0115] Given the different frequencies of relocation, the frequencies of use of relocation are also different. Table 1 shows various relocation triggering situations and their frequencies of use.
[0116] Table 1
[0117]
[0118] According to the different frequencies of use of the relocation function, the relocation method of the present application avoids manual operation for medium and high frequency relocation situations, and is automatically completed by the AMR and determines the correctness of the relocation results by itself; the low frequency relocation situation is externally triggered by interactive methods such as the client or display screen, and the rationality of the relocation results is automatically verified.
[0119] In the relocation method of the present application, a process pair is pre-constructed, each process pair includes a service process and an operation process, and the service process included in the process pair provides the service information required by the operation process included in the process pair. As an example, the relocation method of the present application includes three process pairs, namely:
[0120] The first process pair is used to provide map services and perform map change operations. The process pair does not involve manual operations. The first process pair includes: a first service process for providing map data services, and a first operation process for performing map change operations based on map data provided by the first process, wherein:
[0121] The first service process runs on the server side, for example, the dispatching system side, and can upload, download, and update maps. When the map is updated, it will be pushed and downloaded to the AMR side, which is denoted as S1.
[0122] The first operation process runs on the ARM side. After receiving the current map information, the AMR chooses to update or switch the current navigation map. Map update and map switch can be determined based on whether the map coordinate system changes, which is recorded as P1.
[0123] The second process pair is used to automatically trigger the matching operation between the ARM current posture information and the map data. The process pair does not involve manual operation. The second process pair includes: a second process for providing the ARM current posture information service under each navigation mode, and a second operation process for performing a map matching operation on the map data based on the current posture information provided by the second process to obtain the repositioning posture information, wherein:
[0124] The second service process runs on the server side or the ARM side, and records the AMR posture information in real time when the navigation is normal. The recorded posture information includes posture information under different navigation modes, and sends the recorded posture information to the second operation process when the relocation is successful or the navigation is normal, for map matching under normal boot and map update working conditions, without manual operation, which is recorded as S2.
[0125] The second operation process runs on the ARM side and directly uses the posture information recorded in the second service process for positioning. Its characteristics are low computing resource requirements, but high requirements for the accuracy of posture information. It supports single-frame matching or multi-frame continuous matching verification to ensure the correctness of the relocation result, which is recorded as P2;
[0126] The third process pair is used to set the initial positioning information and perform a map search and matching operation based on the initial positioning information. The process requires manual operation. The third process pair includes: a third service process for providing an initial positioning information service, and a third operation process for searching and matching the map data based on the initial positioning information provided by the third service process to obtain repositioning posture information, wherein:
[0127] The third service process can be independently run outside the ARM, for example, manually moving the ARM, or using a computer to set the initial positioning information, or it can be run on the local side of the ARM, for example, manually operating the client / display screen on the ARM body side to set the initial positioning information, set the designated area, etc., which is recorded as S3.
[0128] The third operation process runs on the local side of ARM, performs local search and matching in a specified area for relocation, or performs global search and matching at any position for relocation, and is characterized by high computing resource requirements, but low or no requirements for the accuracy of initial positioning information.
[0129] The first process pair, the second process pair, and the third process pair are sequentially combined into a process sequence, recorded as S1P1-S2P2-S3P3. In order of precedence, S1P1 precedes S2P2, and S2P2 precedes S3P3. According to the working conditions when the relocation is triggered, the process pairs in the process sequence are trimmed, and the trimmed process sequence is used as the relocation process under the corresponding working conditions.
[0130] Specifically,
[0131] In the working condition of the first startup, since there is no reference information for the first startup, it is necessary to manually configure the initial positioning information or directly perform a global search. Therefore, the second process pair in the process sequence is trimmed, and the trimmed process sequence is S1P1-S3P3. In this way, the following processes are executed in sequence: the S1 process is executed to enable the server to send the map, the P1 process is executed to enable ARM to load the map, the S3 process is executed to enable ARM to perform external triggering to provide initial positioning information, and the P3 process is executed to enable ARM to perform global and / or local search and matching operations.
[0132] Under normal boot working conditions, in view of the fact that the current posture information will be continuously updated during normal operation, AMR repositioning only needs to load the recorded current posture information and perform local matching to successfully reposition without manual intervention. Therefore, the first process pair and the third process pair in the process sequence are trimmed, and the trimmed process sequence includes S2P2. In this way, the following processes are executed: the S2 process is executed to provide the ARM with the current posture information, and the P2 process is executed to enable the ARM to perform a map matching operation.
[0133] Under abnormal positioning working conditions, since the current posture information is invalid, executing S2P2 at this time cannot successfully reposition, and it is necessary to rely on S3P3 manual triggering or direct global search for repositioning, which requires manual intervention. Therefore, the first process pair in the process sequence is trimmed, and the trimmed process sequence is S2P2-S3P3. In this way, the following processes are executed in sequence: the S2 process is executed to provide ARM with current posture information, the P2 process is executed to perform map matching operations, the S3 process is executed to enable ARM to perform external triggering to provide initial positioning information, and the P3 process is executed to enable ARM to perform global and / or local search and matching operations.
[0134] Under the working condition of map update, since the dispatching system updates the map, the AMR re-downloads and loads the map. Since the map coordinate system remains unchanged, the AMR can automatically trigger repositioning without manual intervention. Therefore, the third process pair in the process sequence is cropped, and the cropped process sequence is S1P1-S2P2. In this way, the following processes are executed in sequence: the S1 process is executed to enable the server to send the map, the P1 process is executed to enable the ARM to load the map, the S2 process is executed to provide the ARM with the current posture information, and the P2 process is executed to enable the ARM to perform map matching operations.
[0135] In the working condition of map switching, since the map coordinate system changes after changing to different scene maps, the AMR needs to manually trigger repositioning. Therefore, the second process pair in the process sequence is cropped, and the cropped process sequence is S1P1-S3P3. In this way, the following processes are executed in sequence: the S1 process is executed to enable the server to send the map, the P1 process is executed to enable the ARM to load the map, the S3 process is executed to enable the ARM to perform external triggering to provide initial positioning information, and the P3 process is executed to enable the ARM to perform global and / or local search and matching operations.
[0136] See Table 2, which shows the processes involved in relocation under various working conditions.
[0137] Table 2
[0138]
[0139] In view of the fact that the above working conditions may occur in any ARM body, based on the processes required for relocation under various working conditions and combined with the overall working logic of ARM, the overall process of the relocation method is obtained. Figure 2 As shown, Figure 2 A flow chart of the relocation method of the embodiment of the present application is shown in FIG. The relocation method comprises: on the ARM side,
[0140] Step 201, based on the posture information record of the ARM, determine whether the current working state is the first startup, so as to detect the working state of the first startup,
[0141] Since the first boot and non-first boot can be distinguished by whether the posture information record is empty, for example, when ARM leaves the factory, there is no position information record. In this way, it is determined whether the posture information record is empty. If it is empty, it is determined that the current working state is the first boot, otherwise, it is determined that the current working state is not the first boot.
[0142] If the current working status is the first boot, then the S1P1 process pair and the S3P3 process pair are executed. During the execution of the P1 process, the S1 process running on the server is interacted with so that the server sends map data, receives the map data sent from the server, and loads the received map data into the ARM for local storage. During the execution of the S3P3 process pair, the ARM interacts with the user through the S3 process so that the user can set at least one of the relocation area information and the initial positioning information. The ARM receives input information from the user, searches for map data based on the input information, and matches the searched map data with the current navigation data to obtain the relocation posture information. Then, step 304 is executed; wherein the current navigation data includes data corresponding to each navigation mode.
[0143] If the current working status is not the first startup, then execute step 202,
[0144] Step 202, the ARM determines whether the map data needs to be updated to detect the working status of the map update;
[0145] As an example,
[0146] ARM can determine whether to update the map data based on the time information recorded in the map data, business requirements, etc., and / or whether to receive a notification from the server side, etc. If the map data needs to be updated, the S1P1 process is executed.
[0147] Otherwise, the S2P2 process pair is executed. During the execution of the P2 process, the ARM obtains the current posture information through the S2 process, matches the current posture information with the map data, thereby obtaining the repositioning posture information, and then executes step 204;
[0148] Step 203, the ARM determines whether the map data needs to be switched to detect the working status of the map;
[0149] As an example, ARM may determine whether to perform map switching based on time information recorded in the map data, business requirements, coordinate system information in the map data, etc., and / or based on whether a notification is received from the server side. If map switching is required, the S3P3 process pair is executed, otherwise, the S2P2 process pair is executed;
[0150] Step 204, verify the current repositioning posture information.
[0151] If the verification is successful, the relocation is determined to be successful, and the current relocation posture information is sent to the S2 process for storage, and the relocation is ended.
[0152] Otherwise, execute the S3P3 process pair,
[0153] As an example, verification may be performed based on the confidence of the current repositioning posture information. If the confidence of the current repositioning posture information is greater than a set confidence threshold, the verification is determined to be successful; otherwise, the verification is determined to have failed.
[0154] In the above process, after the working condition detection of the first power-on, map update, and map switching, the working condition detection of abnormal positioning is implicitly performed by verifying the current repositioning posture information.
[0155] In the embodiment of the present application, through the above-mentioned repositioning working logic, in the repositioning scenarios used in medium and high frequencies, positioning self-recovery without manual intervention is adopted as much as possible; in the low-frequency usage scenarios, manual intervention is performed through the same process S3, which can shield the differences caused by different navigation modes, and the same operation can be used to achieve rapid recovery of different navigation modes, which can give full play to the advantages of multi-navigation and improve the repositioning efficiency at the same time. In this way, when the number of ARMs is huge, for example, when the number of ARMs reaches dozens or even hundreds, repositioning can be achieved without a large amount of manual intervention. In addition, through the process of search matching, map matching, map loading, external triggering, map maintenance, and current posture information acquisition, the repositioning process is decoupled from the navigation mode, and the repositioning process under various working conditions is unified, so that the repositioning method of the present application can be applied to different businesses and different scenarios, and has better portability.
[0156] The relocation method according to the embodiment of the present application is described below in conjunction with a specific navigation mode.
[0157] See also Figure 3 As shown, Figure 3 A flowchart of the relocation of the QR code navigation mode of the embodiment of the present application. Since the QR code navigation itself has no navigation map, but directly outputs the QR code information as the navigation result, it does not involve map services and map updates. In other words, the map data and map coordinate system of the QR code navigation are bound to the QR code. After the QR code is pasted, the map has been determined. The map data and map coordinate system can be determined by reading the QR code, without the need to download or maintain the map additionally. Therefore, the relocation method can be obtained by cutting out the S1P1 process pairs related to the map. The relocation method of the QR code navigation mode includes:
[0158] Step 301, based on whether the posture information record is empty, detect whether the current working state is the first start-up,
[0159] If it is the first time to start up, the S3P3 process pair is executed, that is, the initial positioning information is set through the S3 process, and the ARM is moved to the QR code mark corresponding to the initial positioning information, and the P3 process is executed to match the collected QR code information with the initial positioning information to perform QR code information recognition.
[0160] Otherwise, execute the S2P2 process pair to match the current posture information obtained through the S2 process with the collected QR code information to perform QR code information detection.
[0161] Step 302, determining whether the detected two-dimensional code information is a two-dimensional code information close to the current posture information,
[0162] If yes, the current posture information is used as the current repositioning posture information, and step 303 is executed.
[0163] Otherwise, the S3P3 process pair is executed, that is, the initial positioning information is set through the S3 process, and the ARM is moved to the two-dimensional code mark corresponding to the initial positioning information, and the P3 process is executed to match the collected two-dimensional code information with the initial positioning information to perform two-dimensional code information recognition. If the two-dimensional code information recognition is successful, the current posture information is used as the repositioning posture information, and step 303 is executed.
[0164] Step 303, verify the current repositioning posture information.
[0165] If the verification is successful, the relocation is determined to be successful, and the current relocation posture information is sent to the S2 process for storage, and the relocation is ended.
[0166] Otherwise, execute the S3P3 process pair, that is, set the initial positioning information through the S3 process, move the ARM to the QR code mark corresponding to the initial positioning information, execute the P3 process, match the collected QR code information with the initial positioning information to perform QR code information recognition.
[0167] from Figure 3 As can be seen from the relocation process in the QR code navigation mode, automatic trigger relocation and external trigger relocation can be realized, among which,
[0168] The automatically triggered repositioning includes the S2P2 process pair. During the normal operation of the AMR, the current posture information is continuously recorded and updated through the S2 process. When the AMR software is upgraded or restarted after normal startup, such as in the restart scenario, if the AMR itself does not move, the P2 process can be used after the upgrade is completed or restarted. QR code detection can be performed based on the posture information recorded by the current S2 process. When the AMR can detect the real QR code information close to the current posture within a short moving distance, the repositioning is successful; when the AMR cannot detect the QR code continuously outside the moving distance range, or the detected QR code information is too different from the current posture, the repositioning verification fails, and it automatically enters the externally triggered repositioning.
[0169] When the AMR is turned on for the first time, abnormal positioning, changing the operating site, or automatic triggering fails, it is usually unable to complete repositioning automatically. At this time, it often needs to rely on manual intervention to complete repositioning, that is, externally triggered repositioning. Externally triggered repositioning includes S3P3 process pairs, which remotely controls the AMR to any QR code marked position. At this time, the AMR observes the QR code information based on the QR code recognition function, and the repositioning is successful.
[0170] Based on the above two triggering methods, it can be seen that the complete process of QR code relocation can be implemented using S2P2-S3P3. Compared with S1P1-S2P2-S3P3, the S1P1 process pair related to the map is cropped, and automatic triggering is given priority. After the relocation verification fails, external triggering is enabled to minimize manual intervention. In this way, in the QR code navigation relocation, only simple logic design at the cropping and software level is required to realize the relocation function.
[0171] See also Figure 4 As shown, Figure 4 A flow chart of a repositioning method in at least one of a laser navigation mode and a visual navigation mode. The repositioning method comprises: on the ARM side,
[0172] Step 401, based on whether the posture information record is empty, detect whether the current working state is the first start-up,
[0173] If it is the first time to start up, execute the S1P1 process.
[0174] Otherwise, execute step 402,
[0175] Step 402, detecting whether there is a map update in the current working state,
[0176] If yes, then execute the S1P1 process pair,
[0177] Otherwise, execute the S2P2 process pair to obtain the repositioning pose information.
[0178] Step 403, detecting whether there is a map switch in the current working condition,
[0179] If yes, perform S3P3 pairing to get the repositioning pose information.
[0180] Otherwise, execute process S2P2 to obtain the repositioning pose information.
[0181] Step 404, verify the current repositioning posture information.
[0182] If the verification is successful, the relocation is determined to be successful, and the current relocation posture information is sent to the S2 process for storage, and the relocation is ended.
[0183] Otherwise, execute the S3P3 process pair.
[0184] from Figure 4 As can be seen from the relocation process in, the relocation method can realize at least one of the laser navigation mode and the visual navigation mode, automatically triggered relocation and externally triggered relocation, wherein:
[0185] Automatically triggered repositioning includes the S2P2 process pair. During normal operation of the AMR, the current posture information can be continuously recorded and updated through the S2 process. In the scenario of AMR software upgrade or startup and resumption of work, when the AMR's own position has not moved, it can continue to match the laser and / or visual images with the map data based on the recorded current posture after the upgrade is completed or restarted. When the AMR can detect laser and / or visual image information close to the current posture within a short moving distance, the repositioning is successful; when the AMR continuously fails to detect the expected laser and / or visual image information outside the moving distance range, or the output repositioning posture is too different from the current posture, the repositioning verification fails, and it automatically enters external triggered repositioning.
[0186] When the AMR is powered on for the first time, when the positioning is abnormal, when the operating site is changed, or when the automatic trigger fails, it is usually unable to automatically complete the repositioning. At this time, manual intervention is often required to complete the repositioning. Externally triggered repositioning includes S3P3. Generally speaking, it can assist the laser / visual image in local and / or global search and matching by sending initial positioning information and / or setting repositioning area information, and verify it according to the confidence of the matching result. If the verification passes, the repositioning is successful. If the verification fails, the AMR can be moved to another location for an attempt, and the externally triggered repositioning is repeated until the AMR repositions successfully.
[0187] In addition, from Figure 4 As can be seen from the relocation process in, this relocation method can realize relocation under the working conditions of map update and map switching.
[0188] Relocation under the map update working condition includes S1P1 and S2P2 process pairs. After the map is updated, the AMR performs relocation based on automatic triggering without manual intervention;
[0189] The relocation under the map switching working condition includes the S1P1 and S3P3 process pairs. Externally triggered relocation is generally required after the map is changed, that is, manual intervention is required to perform externally triggered relocation.
[0190] In summary, repositioning in laser and / or vision navigation mode can also be performed based on the process sequence S1P1-S2P2-S3P3. The complete repositioning function can be achieved through working logic control, realizing the universality and uniformity of multiple navigation modes. At the same time, the repositioning method can effectively reduce the frequency of manual operations and improve the efficiency of startup and online operation.
[0191] Table 3 shows the processes of relocation in several navigation modes: ● indicates the processes that the current navigation mode can have, and ○ indicates the processes that the current navigation mode does not need to have.
[0192] Table 3
[0193]
[0194] Table 4 shows the process sequence of several navigation mode relocations.
[0195] Table 4
[0196]
[0197] See also Figure 5 As shown, Figure 5 A schematic diagram of a mobile robot repositioning device according to an embodiment of the present application.
[0198] The device includes:
[0199] The acquisition module is used to obtain the current working status of the mobile robot and the pre-built process sequence for relocalization in a single navigation mode or in multiple navigation modes.
[0200] The relocation module is used to trim the process sequence according to the current working status, use the trimmed process sequence as the relocation process under the working status, and execute each process in the order of the trimmed process sequence to obtain the relocation result.
[0201] See also Figure 6 As shown, Figure 6Another schematic diagram of a mobile robot repositioning device according to an embodiment of the present application. The device includes a memory and a processor, the memory stores a computer program, and the processor is configured to execute the computer program to implement the steps of the mobile robot repositioning method according to the embodiment of the present application.
[0202] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0203] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0204] An embodiment of the present invention further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of the mobile robot repositioning method described in the embodiment of the present application are implemented.
[0205] As for the apparatus / network-side device / storage medium embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0206] In this article, relational terms such as first and second, etc. are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0207] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A mobile robot repositioning method, characterized in that: The method comprises: on the mobile robot side, Get the current working status of the mobile robot and the pre-built process sequence for relocalization in single navigation mode or multi-navigation mode, in, The working conditions include: at least one of the following: first startup, normal startup, abnormal positioning, map update, and map switching. The process sequence includes a sequence consisting of a first process, a second process and a third process in sequence; The first process is used to provide a map service and perform a map data replacement operation based on the map data provided by the map service. The second process is used to provide a mobile robot posture information service and perform a map data matching operation based on the posture information provided by the mobile robot posture information service. The third process is used to provide an initial positioning information service and perform a map data search and matching operation based on the initial positioning information provided by the initial positioning information service; According to the current working condition, the process sequence is trimmed, and the trimmed process sequence is used as the relocation process under the working condition. Each process is executed in the order of the trimmed process sequence to obtain the relocation result.
2. The relocation method according to claim 1, characterized in that: The first process includes: a first process pair consisting of a first service process for providing a map service and a first operation process for performing a map data replacement operation based on the first service process, The second process includes: a second process pair consisting of a second service process for providing a mobile robot posture information service, and a second operation process for performing a map data matching operation based on the posture information provided by the second service process, The third process includes: a third process pair consisting of a third service process for providing an initial positioning information service and a third operation process for performing a map data search and matching operation based on the initial positioning information provided by the third process; The process sequence includes: a sequence consisting of a first process pair, a second process pair, and a third process pair in sequence.
3. The relocation method according to claim 2, characterized in that: The process sequence is tailored according to the current working status, including: When the mobile robot is turned on for the first time, the second process pair in the process sequence is trimmed to obtain a process sequence consisting of the first process pair and the third process pair in sequence. Under the working condition that the mobile robot is normally powered on, the first process pair and the third process pair in the process sequence are trimmed to obtain a process sequence including the second process pair. Under the working condition of abnormal positioning of the mobile robot, the first process pair in the process sequence is cut to obtain a process sequence consisting of the second process pair and the third process pair in sequence. Under the working condition of the mobile robot map update, the third process pair in the process sequence is cut to a process sequence consisting of the first process pair and the second process pair in sequence. Under the working condition of the mobile robot map switching, the second process pair in the process sequence is cut to obtain a process sequence consisting of the first process pair and the third process pair in sequence.
4. The relocation method according to claim 2 or 3, characterized in that: The process sequence after cutting is used as the relocation process under the working condition, and each process is executed according to the order in the process sequence after cutting, including: The mobile robot is tested for its first startup and working condition. In the first startup working condition, the mobile robot executes the first operation process in the first process pair, the first operation process obtains map data by interacting with the first service process, and loads the obtained map data locally on the mobile robot. After the map data is loaded, the third operation process in the third process pair is executed, the third operation process obtains initial positioning information by interacting with the second service process, and searches for map data based on the obtained initial positioning information, matches the searched map data with the current navigation data, and obtains repositioning posture information; When the robot is not turned on for the first time, it will perform a map update operation status check. Under the working condition that the map is not updated, the first operation process in the first process pair and the second operation process in the second process pair are executed in sequence, and the second operation process obtains the current posture information by interacting with the second service process, and matches the obtained current posture information with the map data to obtain the repositioning posture information. Under the working condition of map updating, the mobile robot performs map switching working condition detection; Under the working condition that the map is not switched, the second operation process in the second process pair is executed to obtain the repositioning posture information. Under the working condition of map switching, executing the third operation process in the third process pair to obtain repositioning posture information; Verify the repositioning posture information to detect abnormal positioning working conditions. If the verification is successful, the repositioned posture information is saved as the repositioning result. In case of verification failure, a third operation process in the third process pair is executed.
5. The relocation method according to claim 4, characterized in that: The first service process runs on the scheduling system side for scheduling the mobile robot, maintains the map data, and sends updated map data or switched map data to the mobile robot. The scheduling system is deployed on the server side. The second service process runs locally on the mobile robot, interacts with the user, receives at least one of the relocation area information and the initial positioning information input by the user, and provides the received information to the second operation process. The third service process runs locally on the mobile robot or on the scheduling system side, and records the current position information of the mobile robot.
6. The relocation method according to claim 2 or 3, characterized in that: The method further comprises: In the case of externally triggered relocation, the first process pair and the second process pair in the process sequence are trimmed to obtain a process sequence including the third process pair. The relocation posture information obtained by executing the third process pair is verified. If the verification fails, the position of the mobile robot is adjusted, and the process sequence including the third process pair is executed cyclically until the relocation is successful. In the case where relocation is automatically triggered during normal operation of the mobile robot, the first process pair and the third process pair in the process sequence are trimmed to obtain a process sequence including the second process pair. The relocation posture information obtained by executing the second process pair is verified. If the verification fails, externally triggered relocation is performed to execute the steps in the case of externally triggered relocation.
7. The relocation method according to claim 4, characterized in that: The single navigation mode includes: inertial measurement unit navigation, laser navigation, or visual navigation, The multiple navigation modes include: at least one of inertial measurement unit navigation, laser navigation, and visual navigation. The current navigation data includes navigation data corresponding to each navigation mode, The current posture information includes posture data corresponding to each navigation mode, The repositioning posture information includes posture data corresponding to each navigation mode.
8. A mobile robot positioning device, characterized in that: The device includes: The acquisition module is used to obtain the current working status of the mobile robot and the pre-built process sequence for relocalization in a single navigation mode or in multiple navigation modes. in, The working conditions include: at least one of the following: first startup, normal startup, abnormal positioning, map update, and map switching. The process sequence includes a sequence consisting of a first process, a second process and a third process in sequence; The first process is used to provide a map service and perform a map data replacement operation based on the map data provided by the map service. The second process is used to provide a mobile robot posture information service and perform a map data matching operation based on the posture information provided by the mobile robot posture information service. The third process is used to provide an initial positioning information service and perform a map data search and matching operation based on the initial positioning information provided by the initial positioning information service; The relocation module is used to trim the process sequence according to the current working status, use the trimmed process sequence as the relocation process under the working status, and execute each process in the order of the trimmed process sequence to obtain the relocation result.
9. A mobile robot, characterized in that: It comprises the mobile robot positioning device as claimed in claim 8.
10. A mobile robot system, characterized in that: The system comprises: a scheduling system for scheduling mobile robots, and at least one mobile robot scheduled by the scheduling system. in, The mobile robot comprises the mobile robot positioning device as claimed in claim 8.