Mobile robot navigation method and device and storage medium

By identifying array identification in a mobile robot and obtaining relative position information, combining laser and inertial navigation mode to achieve relative positioning, the problems of low navigation accuracy and data jump in the prior art are solved, and the accuracy of robot positioning navigation is improved.

CN119645016APending Publication Date: 2025-03-18ZHEJIANG HUARAY TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411481068.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-22
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

Among the existing robot positioning navigation methods, the single navigation method has low accuracy, and the composite navigation method may cause data jumps during navigation mode switching and lose accuracy.

Method used

By identifying the array identifier in the current scene in the mobile robot, obtaining the relative pose information between the array identifiers, and combining the laser navigation mode and the inertial navigation mode, relative positioning is achieved to improve accuracy.

Benefits of technology

The positioning and navigation accuracy of mobile robots is improved, and the positioning information jump problem during QR code recognition in traditional methods is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119645016A_ABST
    Figure CN119645016A_ABST
Patent Text Reader

Abstract

The invention discloses a mobile robot navigation method and device and a storage medium, and the mobile robot navigation method comprises the steps: responding to a received moving instruction for going to a target point location, controlling a mobile robot to move, and recognizing an array identifier in a current scene in the moving process; in response to the current array identifier recognized by the mobile robot in the moving process, obtaining an identifier relative pose between the current array identifier and a target array identifier corresponding to the target point location, and obtaining a point location relative pose between the target point location and the target array identifier; determining a target point location coordinate of the target point location according to the current coordinate information of the mobile robot, the current relative pose of the mobile robot and the current array identifier, the identifier relative pose and the point location relative pose; and controlling the mobile robot to move to the target point coordinates. According to the scheme, the positioning navigation precision of the mobile robot can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robotics technology, and in particular to a mobile robot navigation method, device and storage medium. Background Art

[0002] With the continuous development of robot technology, mobile robots have been widely used in various fields. For example, in warehousing environments and automated production environments, mobile robots are often used to perform tasks such as object handling.

[0003] Regardless of the application scenario, it is essential for the mobile robot to be able to achieve precise positioning during operation in order to accurately perform tasks.

[0004] At present, common robot positioning and navigation methods are usually based on laser radar navigation and / or visual perception of QR code navigation. However, the accuracy of a single navigation method is low, and the composite navigation method not only needs to ensure the setting accuracy of the QR code, but also may cause data jumps during the switching process of different navigation modes, thereby losing accuracy. Summary of the invention

[0005] The present application at least provides a mobile robot navigation method, apparatus, device and computer-readable storage medium.

[0006] The first aspect of the present application provides a mobile robot navigation method, comprising: in response to receiving a movement instruction to go to a target point, controlling the mobile robot to move, and identifying array identifiers in a current scene during the movement; in response to the mobile robot identifying a current array identifier during the movement, obtaining a relative position between the current array identifier and a target array identifier corresponding to the target point, and obtaining a relative position between the target point and the target array identifier; determining the target point coordinates of the target point according to the current coordinate information of the mobile robot, the current relative position between the mobile robot and the current array identifier, the identifier relative position, and the point relative position; and controlling the mobile robot to move to the target point coordinates.

[0007] In one embodiment, there is pre-calibrated relative posture information between each array marker, and the step of obtaining the marker relative posture between the current array marker and the target array marker corresponding to the target point position includes: identifying the current array marker to obtain a current marker value corresponding to the current array marker; obtaining a target marker value of the target array marker, and determining the marker relative posture from the relative posture information according to the current marker value and the target marker value.

[0008] In one embodiment, the step of determining the target point coordinates of the target point based on the current coordinate information of the mobile robot, the current relative posture between the mobile robot and the current array marker, the marker relative posture and the point relative posture includes: determining the current marker coordinate information of the current array marker based on the current coordinate information of the mobile robot and the current relative posture between the mobile robot and the current array marker; determining the target marker coordinate information of the target array marker based on the current marker coordinate information and the marker relative posture; determining the target point coordinates of the target point based on the target marker coordinate information and the point relative posture.

[0009] In one embodiment, in response to receiving a movement instruction to go to a target point, the step of controlling the mobile robot to move includes: determining whether there is a corresponding target array identifier for the target point; if not, controlling the mobile robot to move to the target point according to the laser point cloud information collected by the mobile robot; if yes, controlling the mobile robot to move to an array identifier scene according to the laser point cloud information collected by the mobile robot, the array identifier scene including at least one of the array identifiers.

[0010] In one embodiment, the step of controlling the mobile robot to move to an array identification scene according to the laser point cloud information collected by the mobile robot includes: controlling the mobile robot to move to the array identification scene according to a laser navigation mode according to the laser point cloud information; in response to the mobile robot arriving at the array identification scene, switching the laser navigation mode to an inertial navigation mode.

[0011] In one embodiment, the step of controlling the mobile robot to move to the target point coordinates includes: controlling the mobile robot to move toward the target point coordinates according to the inertial navigation mode; and updating the target point coordinates according to an array identifier recognized by the mobile robot during movement.

[0012] In one embodiment, the step of updating the target point coordinates according to the array identifier recognized by the mobile robot during the movement includes: if the mobile robot recognizes the array identifier during the movement, updating the target point coordinates according to the recognized array identifier; if the mobile robot does not recognize the array identifier during the movement, determining whether to end the identification of the array identifier; in response to not ending the identification of the array identifier, controlling the mobile robot to move towards the target point coordinates.

[0013] In one embodiment, the current scene includes a plurality of array identifiers, and the plurality of array identifiers are integrated into one. Before the step of controlling the mobile robot to move in response to receiving a movement instruction to go to a target point, the method further includes: encoding each array identifier according to arrangement information of each array identifier to obtain an identification value corresponding to each array identifier; determining the relative position of each array identifier according to the spacing information between each array identifier and the arrangement information.

[0014] The second aspect of the present application provides a mobile robot navigation device, comprising: a movement identification module, which is used to control the mobile robot to move in response to receiving a movement instruction to go to a target point, and identify the array identifier in the current scene during the movement; an acquisition module, which is used to obtain the relative position between the current array identifier and the target array identifier corresponding to the target point, and obtain the point relative position between the target point and the target array identifier in response to the mobile robot identifying the current array identifier during the movement; a coordinate determination module, which is used to determine the target point coordinates of the target point according to the current coordinate information of the mobile robot, the current relative position between the mobile robot and the current array identifier, the identifier relative position and the point relative position; and a movement control module, which is used to control the mobile robot to move to the target point coordinates.

[0015] A third aspect of the present application provides an electronic device, including a memory and a processor, wherein the processor is used to execute program instructions stored in the memory to implement the above-mentioned mobile robot navigation method.

[0016] A fourth aspect of the present application provides a computer-readable storage medium having program instructions stored thereon, which implement the above-mentioned mobile robot navigation method when the program instructions are executed by a processor.

[0017] The above scheme, in response to receiving a movement instruction to go to the target point, controls the mobile robot to move, and identifies the array mark in the current scene during the movement; in response to the mobile robot identifying the current array mark during the movement, the relative position between the current array mark and the target array mark corresponding to the target point can be obtained, as well as the relative position between the target point and the target array mark, and the array mark is used to assist in positioning; the target point coordinates of the target point are determined according to the current coordinate information of the mobile robot, the current relative position between the mobile robot and the current array mark, the relative position of the mark and the relative position of the point, and the coordinates of the target point are determined by relative positioning rather than absolute positioning; the mobile robot is controlled to move to the target point coordinates, thereby avoiding the traditional method that causes the positioning information to jump when the mobile robot scans the QR code, which is not conducive to the control of the mobile robot by the motion control algorithm. The present application improves the positioning and navigation accuracy of the mobile robot.

[0018] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The drawings herein are incorporated into the specification and constitute a part of the specification. These drawings illustrate embodiments consistent with the present application and are used together with the specification to illustrate the technical solution of the present application.

[0020] Figure 1 is a flowchart of an exemplary embodiment of a mobile robot navigation method of the present application;

[0021] Figure 2 It is a simplified schematic diagram of the array markers in the mobile robot navigation method of the present application being set in the current scene;

[0022] Figure 3 is a simplified schematic diagram of a mobile robot moving in an array identification scene in the mobile robot navigation method of the present application;

[0023] Figure 4 is a block diagram of a mobile robot navigation device shown in an exemplary embodiment of the present application;

[0024] Figure 5 It is a structural schematic diagram of an embodiment of the electronic device of the present application;

[0025] Figure 6 It is a structural diagram of an embodiment of a computer-readable storage medium of the present application. DETAILED DESCRIPTION

[0026] The scheme of the embodiment of the present application is described in detail below in conjunction with the drawings of the specification.

[0027] In the following description, for the purpose of explanation rather than limitation, specific details such as specific system structures, interfaces, and technologies are provided to facilitate a thorough understanding of the present application.

[0028] The term "and / or" in this article is only a description of the association relationship of associated objects, indicating that there may be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the objects associated before and after are in an "or" relationship. In addition, "many" in this article means two or more than two. In addition, the term "at least one" in this article means any combination of at least two of any one or more of a plurality of, for example, including at least one of A, B, and C, can mean including any one or more elements selected from the set consisting of A, B, and C.

[0029] For ease of understanding, one of the applicable scenarios of this application is now exemplified. In the existing mobile robot positioning and navigation technologies, there are laser positioning and navigation, visual positioning and navigation (QR code positioning and navigation), or laser and vision combined positioning and navigation. For the high-precision laser and vision combined positioning and navigation method, the mobile robot usually drives and collects images through laser positioning and navigation, and then uses visual technology to identify the QR code information in the image to obtain visual positioning information, and compares and verifies the visual positioning information and laser positioning information to determine whether the positioning information of the mobile robot is accurate, and then decides whether to correct the positioning information of the mobile robot.

[0030] In the existing technology combining laser and vision, the positioning map of the mobile robot is usually composed of a laser map and a QR code map. Each QR code must have a corresponding path point on the map, and the construction process is not only complicated but also prone to errors. And due to the limitation of the camera field of view on the mobile robot, if the mobile robot needs to accurately identify the QR code information, the mobile robot needs to first move to the corresponding QR code in the laser positioning mode for alignment, so that the robot's point accuracy deviation cannot exceed the camera's field of view. In addition, the existing method also needs to encode the position information of the QR code into the QR code information, and determine the current position of the mobile robot after the mobile robot identifies the position information in the QR code information. Its essence is an absolute positioning method. This method will cause the mobile robot's own positioning information to jump after scanning the QR code, which is not conducive to the motion control algorithm to control the mobile robot.

[0031] Therefore, the mobile robot navigation method provided in the present application is mainly to navigate to an array code band with array identifiers through laser positioning, and to update the target point by continuously identifying the array identifiers in the array code band, thereby realizing a method for the robot to reach the point with high precision.

[0032] See also Figure 1 , Figure 1 This is a flowchart of an exemplary embodiment of the mobile robot navigation method of the present application. The mobile robot navigation method of the present application can be applied to a robot positioning and navigation system. The robot positioning and navigation system can be set in a mobile robot (hereinafter referred to as a robot), or in an external device (such as a server, terminal device, etc.) that has a communication connection with the mobile robot. The specific setting can be made according to actual needs, which will not be described in detail here. Specifically, the following steps can be included:

[0033] Step S110, in response to receiving a movement instruction to a target point, controlling the mobile robot to move, and identifying array identifiers in the current scene during the movement.

[0034] In the specific application scenarios of the present application, a QR code can be used as an array identifier, or other image identifiers with unique identification attributes can be used as array identifiers. One or more array identifiers can be set in the specific application scenarios of the present application. Since the more array identifiers there are, the higher the positioning accuracy of the mobile robot, the present application mainly uses multiple array identifiers as an example for illustration. However, it should be noted that in actual application, depending on the different task requirements of the mobile task received by the mobile robot, the mobile robot does not necessarily need to identify the array identifier in the current scene during movement, or may not be able to identify the array identifier in the current scene.

[0035] For example, reference may be made to Figure 2 As shown, Figure 2 It is a simple schematic diagram of the array identification in the mobile robot navigation method of the present application set in the current scene. Multiple array identifications can be integrated (for example, multiple QR codes can be printed on an overall plane by integral printing) to form an array code strip, thereby eliminating the installation errors (such as position errors and angle errors, etc.) that may occur between the QR codes when they are set separately in the prior art. In the present application, the array code strip can also be selectively set for all or part of the area in the current scene according to the needs of the specific application scenario, which is not limited here.

[0036] Specifically, after the mobile robot receives a moving instruction to go to a target point, it can control the mobile robot to locate and navigate according to the laser navigation mode. For example, the laser radar set on the mobile robot obtains the laser point cloud information in the current scene, and locates and navigates to the target point according to the laser point cloud information and the laser map. At the same time, the mobile robot can also turn on its array identification recognition function and try to identify the array identification in the current scene during the movement based on the laser navigation mode.

[0037] Step S120, in response to the mobile robot identifying the current array identifier during movement, obtaining the relative position between the current array identifier and the target array identifier corresponding to the target point, and obtaining the relative position between the target point and the target array identifier.

[0038] In conjunction with the above steps, if the mobile robot recognizes the current array identifier during movement, it can perform positioning and navigation according to the array identifier. The current array identifier refers to the array identifier currently recognized by the mobile robot, and the target array identifier refers to the array identifier corresponding to the target point to which the mobile robot is heading. In some special cases (for example, the mobile robot recognizes the target array identifier), the current array identifier can also be the target array identifier, which will not be described here.

[0039] Among them, the relative position relationship between each real point in the current scene and each array mark in the array code band can be determined by pre-calibration between each array mark. Therefore, when it is determined that the mobile robot needs to go to the target point in the real point, the array mark corresponding to the target point (target array mark) and the relative position between the target point and the target array mark can be found.

[0040] It should be noted that the array identification of the present application is an identification attribute corresponding to the movable point in the current scene. It is different from the ordinary QR code identification in the prior art. It is not necessary to record the location information and point information included in each QR code in the laser map and QR code map. It is mainly used as an identification code to calculate the location information or posture information of the target point to which the mobile robot is heading. After identifying the array identification, it will not change the current location information of the mobile robot. Instead, it will calculate the relative posture information of the target point and use relative positioning to achieve high-precision movement of the robot to the target point.

[0041] Specifically, after the mobile robot identifies the current array identifier during movement, it can obtain the relative position and posture between the current array identifier and the target array identifier, as well as the relative position and posture between the target point and the target array identifier, so that the mobile robot can calculate the point information of the target point (which may include but is not limited to position information, position and posture information, etc.) based on the acquired relative position and posture information.

[0042] Step S130, determining the target point coordinates of the target point according to the current coordinate information of the mobile robot, the current relative posture between the mobile robot and the current array marker, the marker relative posture and the point relative posture.

[0043] Combined with the above steps, according to the current coordinate information P of the mobile robot curPose And the current relative position of the mobile robot and the current array marker The coordinate information of the current array marker can be determined. Further, combined with the relative position between the current array marker and the target array marker, The coordinate information of the target array marker can be obtained; then the relative position between the target point and the target array marker is combined The coordinate information of the target point can be determined, and the target point coordinate P can be obtained. targetPose .

[0044] For example, the mathematical expression of the target point coordinates can be:

[0045]

[0046] Step S140, controlling the mobile robot to move to the target point coordinates.

[0047] In conjunction with the above steps, after obtaining the target point coordinates corresponding to the target point, the mobile robot can be controlled to move toward the target point coordinates.

[0048] It should be noted that the robot may also identify other array identifiers in the current scene during the process of moving to the target point coordinates. Similarly, in combination with the above example steps, the other array identifiers currently identified by the mobile robot can be processed as the current array identifier and the target point coordinates of the target point can be updated.

[0049] It can be seen that in response to receiving a moving instruction to go to a target point, the present application controls the mobile robot to move and identifies the array identifier in the current scene during the movement; in response to the mobile robot identifying the current array identifier during the movement, the relative position between the current array identifier and the target array identifier corresponding to the target point, and the relative position between the target point and the target array identifier can be obtained, and the array identifier is used to assist in positioning; the target point coordinates of the target point are determined according to the current coordinate information of the mobile robot, the current relative position between the mobile robot and the current array identifier, the relative position of the identifier, and the relative position of the point, and the coordinates of the target point are determined by relative positioning rather than absolute positioning; the mobile robot is controlled to move to the target point coordinates, thereby avoiding the traditional method that causes the positioning information to jump when the mobile robot scans the QR code, which is not conducive to the control of the mobile robot by the motion control algorithm. The present application improves the positioning and navigation accuracy of the mobile robot.

[0050] Based on the above embodiment, the embodiment of the present application describes the steps of obtaining the relative position between the current array identifier and the target array identifier corresponding to the target point. There is pre-calibrated relative position information between each array identifier. Specifically, the method of this embodiment includes the following steps:

[0051] Identify the current array identifier and obtain the current identifier value corresponding to the current array identifier; obtain the target identifier value of the target array identifier, and determine the identifier relative posture from the relative posture information according to the current identifier value and the target identifier value.

[0052] In conjunction with the above-mentioned embodiment, the array markers of the present application can pre-calibrate the relative position information between the array markers and record it when setting. Figure 2 For example, the row spacing between each array identifier can be set to 0.25m, the column spacing between each array identifier can be set to 0.08m, and so on.

[0053] In addition, you can refer to Figure 2 , each array identifier can be pre-set with an identifier value according to its arrangement information in the array code band. Taking the QR code as an example, the encoding rules of the identifier value can be: 1. The first character of the QR code value is '@'; 2. The second character of the QR code value indicates the row number where the QR code is located; 3. The third character of the QR code value indicates the column number where the QR code is located; 4. The row spacing of the QR code is 0.25m, and the column spacing of the QR code is 0.08m.

[0054] Therefore, in this embodiment, if the current array identifier and the target array identifier are obtained, the relative position of the identifiers between the two array identifiers can be determined according to the identifier value of the current array identifier and the identifier value of the target array identifier. Preferably, the relative position of the identifiers between the array identifiers can be calculated and stored in advance, so that after the current array identifier and the target array identifier are obtained, they can be directly searched according to the identifier values ​​of the two array identifiers; in addition, it can also be obtained by real-time calculation according to the identifier values ​​of the two array identifiers and the identifier spacing during the movement of the robot, which is not limited here.

[0055] Based on the above embodiments, the embodiment of the present application describes the steps of determining the target point coordinates of the target point according to the current coordinate information of the mobile robot, the current relative position of the mobile robot and the current array marker, the relative position of the marker, and the relative position of the point. Specifically, the method of this embodiment includes the following steps:

[0056] According to the current coordinate information of the mobile robot and the current relative posture of the mobile robot and the current array marker, the current marker coordinate information of the current array marker is determined; according to the current marker coordinate information and the marker relative posture, the target marker coordinate information of the target array marker is determined; according to the target marker coordinate information and the point relative posture, the target point coordinates of the target point are determined.

[0057] The above embodiments are described in conjunction with the above embodiments. The mathematical expressions for calculating the coordinates of the target points have been provided in the example descriptions of the above embodiments.

[0058] Exemplarily, in the specific implementation process, the current identification coordinate information of the current array identification can be determined based on the current coordinate information of the mobile robot and the current relative posture of the mobile robot and the current array identification; the target identification coordinate information of the target array identification can be determined based on the current identification coordinate information and the identification relative posture; the target point coordinates of the target point can be determined based on the target identification coordinate information and the point relative posture.

[0059] Alternatively, the target point coordinates of the target point can be obtained by directly performing multiplication processing based on the current coordinate information of the mobile robot, the current relative position between the mobile robot and the current array identifier, the relative position between the current array identifier and the target array identifier, and the relative position between the target array identifier and the target point.

[0060] In addition, in the specific implementation process of the present application, in addition to calculating the target point coordinates of the target point according to the current coordinate information of the mobile robot, the target posture of the mobile robot at the target point can also be calculated according to the current posture information of the mobile robot. curPose Replaced with the current pose information TcurPose By calculating, we can get the target point position T targetPose The coordinate information in other embodiments can also be replaced by posture information in the same way, which will not be elaborated here.

[0061] Based on the above embodiments, the embodiment of the present application describes the steps of controlling the mobile robot to move in response to receiving a movement instruction to a target point. Specifically, the method of this embodiment includes the following steps:

[0062] Determine whether there is a corresponding target array identifier at the target point; if not, control the mobile robot to move to the target point according to the laser point cloud information collected by the mobile robot; if so, control the mobile robot to move to the array identifier scene according to the laser point cloud information collected by the mobile robot, and the array identifier scene includes at least one array identifier.

[0063] In conjunction with the above embodiments, it can be understood that in the actual operation scenario of the mobile robot, the array code band of the present application may be set in all areas or in some areas. For example, the array code band is set in some areas where high-precision docking is required to improve the docking accuracy, while in the ordinary navigation driving area, the array code band does not need to be set, and positioning and navigation can be performed according to the existing technical methods.

[0064] Exemplarily, when receiving a movement instruction to the target point, it can be determined whether there is a corresponding target array mark at the target point. If not, the robot can perform positioning and navigation in laser navigation mode according to the normal task process (for example, using a laser radar to collect laser point cloud information in the current scene, and controlling the mobile robot to move to the target point according to the collected laser point cloud information combined with a pre-set point cloud map. For details, please refer to the existing SLAM-based positioning and navigation method, which will not be described here). If it exists, the mobile robot can be controlled to move to an array mark scene with an array mark according to the laser point cloud information collected by the mobile robot in laser navigation mode; and then positioning and navigation can be performed based on the array mark in the array mark scene.

[0065] It should be noted that, since the method of positioning and navigation based on array markers in the present application is relative positioning, it is not necessary for the mobile robot to be aligned with the array markers.

[0066] Based on the above embodiments, the embodiment of the present application describes the steps of controlling the mobile robot to move to the array identification scene according to the laser point cloud information collected by the mobile robot. Specifically, the method of this embodiment includes the following steps:

[0067] According to the laser point cloud information, the mobile robot is controlled to move to the array identification scene according to the laser navigation mode; in response to the mobile robot reaching the array identification scene, the laser navigation mode is switched to the inertial navigation mode.

[0068] With reference to the foregoing embodiments, during the movement of the robot, the robot may first be controlled to perform positioning and navigation according to the laser navigation mode based on the laser point cloud information collected by the robot in the laser navigation mode, and then move to the array identification scene.

[0069] In response to the robot arriving at the array identification scene, or arriving at a specified position in the array identification scene, or identifying any array identification in the array identification scene, the laser navigation mode can be switched to the inertial navigation mode (for example, positioning and navigation through a wheel encoder, IMU inertial measurement unit, etc.), and then the robot is controlled to move to the target point in the inertial navigation mode according to the determined target point coordinates.

[0070] Among them, in order to reduce the energy consumption of the robot, the array identification recognition function can be turned off before the robot reaches the array identification scene or the designated position in the array identification scene. After the robot reaches the array identification scene or the designated position in the array identification scene, the array identification recognition function is turned on, so that the robot turns on the visual camera to identify the array identification in the current scene. The process of switching the laser navigation mode to the inertial navigation mode can be after the array identification is recognized or after reaching the array identification scene or the designated position in the array identification scene.

[0071] Based on the above embodiment, the embodiment of the present application describes the steps of controlling the mobile robot to move to the target point coordinates. Specifically, the method of this embodiment includes the following steps:

[0072] The mobile robot is controlled to move toward the target point coordinates according to the inertial navigation mode; and the target point coordinates are updated according to the array identifier recognized by the mobile robot during the movement.

[0073] With reference to the above-mentioned embodiment, after switching to the inertial navigation mode, the mobile robot can be controlled to move toward the target point coordinates by the inertial navigation method according to the determined target point coordinates.

[0074] During the movement of the robot, it will also determine whether it has reached the target point. If it has not reached the target point, the array identifier recognized by the robot during the movement will be used to update the target point coordinates (or target posture), thereby correcting the positioning deviation of the robot and achieving the effect of high-precision docking. It should be noted that in the actual operation scenario, the target point coordinates (target posture) determined by the robot based on different array identifiers may be the same or different. Before updating the target point coordinates, the current target point coordinates determined based on the currently recognized array identifier and the historical target point coordinates determined by the previously recognized array identifier (for example, an array identifier that is adjacent to the currently recognized array identifier) ​​can be compared. If the current target point coordinates and the historical target point coordinates are the same, there is no need to update the coordinates; if the current target point coordinates and the historical target point coordinates are different, the coordinates can be updated.

[0075] Based on the above embodiment, the embodiment of the present application describes the steps of updating the target point coordinates according to the array identification recognized by the mobile robot during movement. Specifically, the method of this embodiment includes the following steps:

[0076] If the mobile robot recognizes the array identifier during the movement, the target point coordinates are updated according to the recognized array identifier; if the mobile robot does not recognize the array identifier during the movement, it is determined whether to end the identification of the array identifier; in response to not ending the identification of the array identifier, the mobile robot is controlled to move towards the target point coordinates.

[0077] In conjunction with the above-mentioned embodiment, if the mobile robot recognizes the array identifier during the movement, the coordinates of the target point determined by the currently recognized array identifier are updated according to the method provided in the above-mentioned embodiment. If the mobile robot does not recognize the array identifier during the movement, it can be determined whether to end the recognition of the array identifier. In response to the fact that the recognition of the array identifier has not been completed, the mobile robot can continue to be controlled to travel to the target point coordinates, and the target point coordinates are updated according to the recognized array identifier during the driving process. In response to the fact that the recognition of the array identifier has been completed, the mobile robot continues to be controlled to travel to the target point coordinates, but the array identifier will not be recognized during the driving process, and the target point coordinates will not be updated according to the array identifier.

[0078] Furthermore, during the movement of the robot, it can be determined whether the robot has reached the target point. If it has reached the target point, the array identification recognition function can be turned off to end the identification of the array identification. If it has not reached the target point, the array identification recognition function can be kept on, and the array identification can be identified during the driving process, and the target point coordinates can be updated according to the identified array identification.

[0079] Exemplarily, in the present application, the method for judging whether the robot has reached the target point may include but is not limited to judging whether it has traveled to the target point coordinates by an inertial navigation method. If so, it indicates that the target point has been reached; if not, it indicates that the target point has not been reached. It can also be that after judging that the robot has reached the target point by an inertial navigation method, the laser point cloud information of the current environment is obtained by a laser radar, and positioning processing is performed according to the laser point cloud information and the laser point cloud map to obtain laser positioning coordinates. In response to the position difference between the laser positioning coordinates and the target point coordinates being less than or equal to a preset difference threshold, it is judged that the robot has reached the target point. In response to the position difference between the laser positioning coordinates and the target point coordinates being greater than a preset difference threshold, it is judged that the robot has not reached the target point. The specific positioning and navigation principles can refer to the existing solutions, which will not be repeated here.

[0080] Based on the above embodiments, the embodiment of the present application describes the steps before controlling the mobile robot to move in response to receiving a movement instruction to a target point. The current scene includes multiple array markers, and the multiple array markers are integrated. Specifically, the method of this embodiment includes the following steps:

[0081] According to the arrangement information of each array identifier, each array identifier is encoded to obtain the identifier value corresponding to each array identifier; according to the spacing information and arrangement information between each array identifier, the identifier relative position between each array identifier is determined.

[0082] With reference to the foregoing embodiments, the current scenario of the present application may include a plurality of array identifiers, and the plurality of array identifiers may be provided in an integrated manner or may be provided separately.

[0083] Exemplarily, the array identification setting method of the present application can be combined with Figure 2 To understand, you can also combine Figure 3 To understand. Figure 3 It is a simplified schematic diagram of the movement of a mobile robot in an array identification scene in the mobile robot navigation method of the present application.

[0084] It should be noted that in the specific implementation process of this application, reference can be made to Figure 2 The setting method is to add and delete the array identifier in the array code band arbitrarily, and obtain, for example Figure 3 Array code strips shown. Figure 3 The first row of the array code tape can be set with three array identifiers, which can solve the problem in the industry that the array identifier cannot be collected when the laser navigation mode is switched to the inertial navigation mode.

[0085] It should be further explained that the execution subject of the mobile robot navigation method may be a mobile robot navigation device, for example, the mobile robot navigation method may be executed by a terminal device or a server or other processing device, wherein the terminal device may be a user equipment (UE), a computer, a mobile device, a user terminal, a terminal, a cellular phone, a cordless phone, a personal digital assistant (PDA), a handheld device, a computing device, a vehicle-mounted device, a wearable device, etc. In some possible implementations, the mobile robot navigation method may be implemented by a processor calling a computer-readable instruction stored in a memory.

[0086] Figure 4 FIG. 1 is a block diagram of a mobile robot navigation device shown in an exemplary embodiment of the present application. Figure 4 As shown, the exemplary mobile robot navigation device 400 includes: a movement identification module 410, an acquisition module 420, a coordinate determination module 430 and a movement control module 440. Specifically:

[0087] The movement identification module 410 is used to control the mobile robot to move in response to receiving a movement instruction to move to a target point, and to identify array identifiers in the current scene during the movement.

[0088] The acquisition module 420 is used to obtain the relative position between the current array identifier and the target array identifier corresponding to the target point in response to the mobile robot identifying the current array identifier during movement, and to obtain the relative position between the target point and the target array identifier.

[0089] The coordinate determination module 430 is used to determine the target point coordinates of the target point according to the current coordinate information of the mobile robot, the current relative posture of the mobile robot and the current array marker, the marker relative posture and the point relative posture.

[0090] The mobile control module 440 is used to control the mobile robot to move to the target point coordinates.

[0091] In this exemplary mobile robot navigation device, in response to receiving a movement instruction to go to a target point, the mobile robot is controlled to move, and the array identifier in the current scene is identified during the movement; in response to the mobile robot identifying the current array identifier during the movement, the relative position between the current array identifier and the target array identifier corresponding to the target point, and the relative position between the target point and the target array identifier can be obtained, and the array identifier is used to assist in positioning; the target point coordinates of the target point are determined according to the current coordinate information of the mobile robot, the current relative position between the mobile robot and the current array identifier, the relative position of the identifier, and the relative position of the point, and the coordinates of the target point are determined by relative positioning rather than absolute positioning; the mobile robot is controlled to move to the target point coordinates, thereby avoiding the traditional method that causes the positioning information to jump when the mobile robot scans the QR code, which is not conducive to the control of the mobile robot by the motion control algorithm. The present application improves the positioning and navigation accuracy of the mobile robot.

[0092] It should be noted that the device provided in the above embodiment and the method provided in the above embodiment belong to the same concept, wherein the specific manner in which each module and unit performs the operation has been described in detail in the method embodiment, and will not be repeated here. In practical applications, the device provided in the above embodiment can distribute the above functions to different functional modules as needed, that is, divide the internal structure of the device into different functional modules to complete all or part of the functions described above, and this is not limited here.

[0093] Among them, the functions of each module can be found in the mobile robot navigation method embodiment, and will not be repeated here.

[0094] See also Figure 5 , Figure 5 1 is a schematic diagram of the structure of an embodiment of an electronic device of the present application. The electronic device 100 includes a memory 101 and a processor 102, and the processor 102 is used to execute program instructions stored in the memory 101 to implement the steps in any of the above mobile robot navigation method embodiments. In a specific implementation scenario, the electronic device 100 may include but is not limited to: a microcomputer, a server, and in addition, the electronic device 100 may also include a mobile device such as a laptop computer and a tablet computer, which is not limited here.

[0095] Specifically, the processor 102 is used to control itself and the memory 101 to implement the steps in any of the above-mentioned mobile robot navigation method embodiments. The processor 102 can also be called a CPU (Central Processing Unit). The processor 102 may be an integrated circuit chip with signal processing capabilities. The processor 102 can also be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field-programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. In addition, the processor 102 can be implemented by an integrated circuit chip.

[0096] In this exemplary electronic device, in response to receiving a moving instruction to go to a target point, the mobile robot is controlled to move, and the array identifier in the current scene is identified during the movement; in response to the mobile robot identifying the current array identifier during the movement, the relative position between the current array identifier and the target array identifier corresponding to the target point can be obtained, as well as the relative position between the target point and the target array identifier, and the array identifier is used to assist in positioning; the target point coordinates of the target point are determined according to the current coordinate information of the mobile robot, the current relative position between the mobile robot and the current array identifier, the relative position of the identifier, and the relative position of the point, and the coordinates of the target point are determined by relative positioning rather than absolute positioning; the mobile robot is controlled to move to the target point coordinates, thereby avoiding the traditional method that causes the positioning information to jump when the mobile robot scans the QR code, which is not conducive to the control of the mobile robot by the motion control algorithm. The present application improves the positioning and navigation accuracy of the mobile robot.

[0097] See also Figure 6 , Figure 6 The computer-readable storage medium 110 stores program instructions 111 that can be executed by a processor, and the program instructions 111 are used to implement the steps in any of the above mobile robot navigation method embodiments.

[0098] In this exemplary storage medium, by running the program instructions in the storage medium, in response to receiving a movement instruction to go to the target point, the mobile robot is controlled to move, and the array identifier in the current scene is identified during the movement; in response to the mobile robot identifying the current array identifier during the movement, the relative position between the current array identifier and the target array identifier corresponding to the target point can be obtained, and the relative position between the target point and the target array identifier can be obtained, and the array identifier is used to assist in positioning; the target point coordinates of the target point are determined according to the current coordinate information of the mobile robot, the current relative position between the mobile robot and the current array identifier, the relative position of the identifier, and the relative position of the point, and the coordinates of the target point are determined by relative positioning rather than absolute positioning; the mobile robot is controlled to move to the target point coordinates, thereby avoiding the traditional method that causes the positioning information to jump when the mobile robot scans the QR code, which is not conducive to the control of the mobile robot by the motion control algorithm. The present application improves the positioning and navigation accuracy of the mobile robot.

[0099] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.

[0100] The above description of various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced to each other, and for the sake of brevity, they will not be repeated herein.

[0101] In the several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation described above is only schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation, such as units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.

[0102] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit. If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor (processor) to perform all or part of the steps of each implementation method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.

Claims

1. A mobile robot navigation method, characterized in that: The method comprises: In response to receiving a movement instruction to a target point, controlling the mobile robot to move, and identifying an array identifier in a current scene during the movement; In response to the mobile robot identifying a current array identifier during the movement, acquiring a relative position between the current array identifier and a target array identifier corresponding to the target point, and acquiring a relative position between the target point and the target array identifier; Determine the target point coordinates of the target point according to the current coordinate information of the mobile robot, the current relative position of the mobile robot and the current array marker, the marker relative position and the point relative position; Control the mobile robot to move to the target point coordinates.

2. The method according to claim 1, characterized in that There is pre-calibrated relative position information between each array marker, and the step of obtaining the relative position between the current array marker and the target array marker corresponding to the target point position includes: Identify the current array identifier and obtain a current identifier value corresponding to the current array identifier; The target identification value of the target array identification is obtained, and the identification relative posture is determined from the relative posture information according to the current identification value and the target identification value.

3. The method according to claim 1, characterized in that The step of determining the target point coordinates of the target point according to the current coordinate information of the mobile robot, the current relative position of the mobile robot and the current array marker, the marker relative position and the point relative position comprises: Determine the current identification coordinate information of the current array identification according to the current coordinate information of the mobile robot and the current relative position between the mobile robot and the current array identification; Determine the target identification coordinate information of the target array identification according to the current identification coordinate information and the identification relative posture; The target point coordinates of the target point are determined according to the target identification coordinate information and the relative position and posture of the point.

4. The method according to claim 1, characterized in that: The step of controlling the mobile robot to move in response to receiving a movement instruction to a target point comprises: Determine whether there is a corresponding target array identifier for the target point; If not, controlling the mobile robot to move to the target point according to the laser point cloud information collected by the mobile robot; If so, the mobile robot is controlled to move to an array identification scene according to the laser point cloud information collected by the mobile robot, and the array identification scene includes at least one array identification.

5. The method according to claim 4, characterized in that The step of controlling the mobile robot to move to the array identification scene according to the laser point cloud information collected by the mobile robot includes: Controlling the mobile robot to move to the array identification scene according to the laser point cloud information according to the laser navigation mode; In response to the mobile robot reaching the array identification scene, the laser navigation mode is switched to an inertial navigation mode.

6. The method according to claim 5, characterized in that The step of controlling the mobile robot to move to the target point coordinates includes: Controlling the mobile robot to move toward the target point coordinates according to the inertial navigation mode; The target point coordinates are updated according to the array identifiers recognized by the mobile robot during movement.

7. The method according to claim 6, characterized in that The step of updating the target point coordinates according to the array identifier identified by the mobile robot during movement includes: If the mobile robot recognizes the array identifier during movement, the target point coordinates are updated according to the recognized array identifier; If the mobile robot fails to identify the array identifier during the movement, determining whether to end the identification of the array identifier; In response to the array identification not being completed, the mobile robot is controlled to travel toward the target point coordinates.

8. The method according to claim 1, characterized in that The current scene includes a plurality of array identifiers, and the plurality of array identifiers are formed in an integrated manner. Before the step of controlling the mobile robot to move in response to receiving a movement instruction to move to a target point, the method further includes: According to the arrangement information of each array identifier, each array identifier is encoded to obtain an identifier value corresponding to each array identifier; The relative positions of the array markers are determined according to the spacing information between the array markers and the arrangement information.

9. An electronic device, characterized in that: The method comprises a memory and a processor, wherein the processor is used to execute program instructions stored in the memory to implement the method according to any one of claims 1 to 8.

10. A computer-readable storage medium having program instructions stored thereon, characterized in that: When the program instructions are executed by a processor, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Cited By

  • Texture-based robot navigation method and equipment and storage medium

    CN121346821A