Navigation control method, mobile robot and navigation control system
By using topological maps for navigation control in mobile robots, the security risks existing in two-dimensional navigation control in the existing technology are solved, and higher reliability and autonomous navigation capabilities are achieved.
Patent Information
- Application Number
- CN202411707997.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-26
- Publication Date
- 2025-03-11
AI Technical Summary
The two-dimensional navigation control method of existing mobile robots has safety risks and is prone to navigation failure due to communication failure.
A topological map is used to express the position of the mobile robot and the position of the target point. Through the fixed length of the topological edges and topological points, the moving distance and speed of the mobile robot along the strip direction is determined to achieve autonomous navigation control.
It reduces the interaction between mobile robots and scheduling platforms, reduces the risk of communication failures, and improves the reliability and autonomous navigation capabilities of mobile robots.
Smart Images

Figure CN119596935A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of mobile robots, and in particular to a navigation control method, a mobile robot and a navigation control system. Background Art
[0002] With the rapid promotion and application of mobile robots, they are becoming more and more common in logistics, warehousing, factory production, etc. Mobile robots usually automatically perform material transfer tasks in a specific path or area. During the movement, they need to be navigated to avoid collisions.
[0003] In the existing technology, the scheduling platform is mainly used to construct a virtual two-dimensional coordinate system based on the real scene, and the position of the robot in the real scene is converted into two-dimensional coordinates. Then, the scheduling platform sends movement instructions to the mobile robot based on the virtual two-dimensional coordinate system and the two-dimensional coordinates of the robot to realize remote control of the movement of the mobile robot.
[0004] However, this two-dimensional navigation control method requires the mobile robot to interact frequently with the scheduling platform during the navigation control process, and the amount of interactive data involved in the interaction process is large. Once a communication failure occurs, it is easy to cause safety hazards. Summary of the invention
[0005] The present application provides a navigation control method, a mobile robot and a navigation control system, which are used to solve the problem of potential safety hazards in the navigation control of existing mobile robots.
[0006] In a first aspect, an embodiment of the present application provides a navigation control method, which is applied to a mobile robot, and the method includes:
[0007] The first position of the target point sent by the receiving platform in the topological map includes any one of the distance between the topological edge and the topological point connected to the topological edge, and the topological point. The end point of the previous topological edge in the topological map is connected to the starting point of the next topological edge through the topological point. Each topological edge has an identifier and the length of each topological edge is fixed. The topological edge is used to represent a strip arranged on the ground. The strip includes at least one code strip and at least one color strip connected to each other. The moving direction of the mobile robot is controlled to be along the strip direction.
[0008] Determine, based on the indication information collected by the mobile robot when it moves along the strip direction, a second position of the mobile robot in the topological map, wherein the second position includes any one of a distance between a topological edge and a topological point connected to the topological edge, and a topological point;
[0009] Determining a remaining distance for the mobile robot to move along the strip to the target point according to the first position and the second position in the topological map;
[0010] Based on the remaining distance, the moving speed of the mobile robot when moving along the strip is controlled until it moves to the target point.
[0011] In a possible design of the first aspect, the indication information includes a site code and / or a milestone code set on the code strip, the site code is used by the mobile robot to determine at least one of the topological point where it is located in the topological map, the topological edge where it is located, and the distance between the topological points connected to the topological edge where it is located, and the milestone code is used by the mobile robot to determine at least one of the topological edge where it is located in the topological map, and the distance between the topological points connected to the topological edge where it is located.
[0012] In another possible design of the first aspect, the topological points in the topological map are used to characterize sites in the code band, the site codes are set at the sites, and the milestone codes are set at other positions on the code band except before the sites.
[0013] In yet another possible design of the first aspect, the site code is further provided on the code strip on the left side and / or the right side of the site.
[0014] In another possible design of the first aspect, the present invention further includes:
[0015] If the mobile robot moves on the code strip, determining an angular deviation and / or a lateral deviation between the mobile robot and the strip based on information contained in the site code and / or the milestone code;
[0016] According to the angular deviation and / or lateral deviation, the moving direction of the mobile robot is controlled to be along the direction of the strip.
[0017] In another possible design of the first aspect, the present invention further includes:
[0018] If the mobile robot moves on the ribbon, an image captured by a camera device disposed at a fixed position of the mobile robot is acquired;
[0019] Detecting whether the color band exists in the image;
[0020] When the color ribbon exists, determining an angular deviation and / or a lateral deviation between the mobile robot and the color ribbon based on a position of the color ribbon in the image;
[0021] According to the angular deviation and / or lateral deviation, the moving direction of the mobile robot is controlled to be along the direction of the strip.
[0022] In another possible design of the first aspect, the indication information further includes a ribbon image collected when the mobile robot moves along the ribbon, and determining the second position of the mobile robot in the topological map based on the indication information collected when the mobile robot moves along the strip direction includes:
[0023] If the ribbon image is acquired, the mileage is read from the odometer of the mobile robot;
[0024] According to the mileage, a second position of the mobile robot in the topological map is determined.
[0025] In another possible design of the first aspect, determining the second position of the mobile robot in the topological map based on the indication information collected when the mobile robot moves along the strip direction includes:
[0026] When the indication information collected by the mobile robot includes at least one of the site code, the milestone code and the image, obtaining priority configuration information, the priority configuration information being used to describe the priority of the site code, the milestone code and the image;
[0027] Determining the information with the highest priority from the indication information according to the priority configuration information;
[0028] Based on the information with the highest priority, a second position of the mobile robot in the topological map is determined.
[0029] In a second aspect, an embodiment of the present application provides a mobile robot, comprising: a mobile robot body, a processor, a memory, a detector and a receiver, wherein the processor, the memory, the detector and the receiver are arranged in the mobile robot body;
[0030] The memory stores a topological map, the topological map includes at least one topological edge, the end point of the previous topological edge is connected to the starting point of the next topological edge through a topological point, each topological edge has an identifier and the length of each topological edge is fixed, the topological edge is used to represent a strip arranged on the ground, and the strip includes at least one code strip and at least one color strip connected to each other;
[0031] The receiver is used to receive a first position of a target point in the topological map sent by the platform;
[0032] The detector is used to collect indication information on the strip;
[0033] The processor is used to determine the second position of the mobile robot body in the topological map according to the indication information, and determine the moving distance of the mobile robot body along the strip to the target point according to the first position and the second position;
[0034] The processor is further configured to control the moving direction of the mobile robot body to remain on the strip according to the indication information, and control the mobile robot body to move along the strip to the target point based on the moving distance.
[0035] In a third aspect, an embodiment of the present application provides a navigation control system, comprising: a mobile robot and a platform, wherein the mobile robot is communicatively connected with the platform;
[0036] The mobile robot stores a topological map, wherein the topological map includes at least one topological edge, wherein the end point of a previous topological edge is connected to the starting point of a next topological edge through a topological point, each topological edge has an identifier and the length of each topological edge is fixed, and the topological edge is used to represent a strip arranged on the ground, wherein the strip includes at least one code strip and at least one color strip connected to each other;
[0037] The mobile robot is used to collect the indication information on the strip, and determine the second position of the mobile robot body in the topological map according to the indication information;
[0038] The mobile robot is also used to adjust its moving direction to the strip direction according to the instruction information;
[0039] In response to the platform sending a first position of a target point in a topological map to the mobile robot, the mobile robot is configured to move to the target point along the strip according to the first position and the second position.
[0040] The navigation control method, mobile robot and navigation control system provided by the embodiments of the present application use a topological map to express the position of the mobile robot and the position of the target point, so that the mobile robot can determine the moving distance required to move from the position of the mobile robot to the target point through the topological map, and then control the moving speed of the mobile robot according to the moving distance, so that the mobile robot can navigate along the strip direction to reach the target point. During the whole process, the platform only needs to send the position of the target point in the topological map to the mobile robot, which reduces the interaction with the mobile robot, enables the mobile robot to achieve autonomous navigation control, avoids the need for frequent communication when navigating the mobile robot through the platform, and is prone to communication failures that bring safety hazards, thereby improving the reliability of the mobile robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] The accompanying drawings herein are incorporated in and constitute a part of the specification, illustrate embodiments consistent with the present application, and together with the description, are used to explain the principles of the present application;
[0042] Figure 1 Schematic diagram of the two-dimensional navigation control scheme of the mobile robot;
[0043] Figure 2 A flowchart of a navigation control method provided in an embodiment of the present application;
[0044] Figure 3 A schematic diagram of a ring-shaped closed-loop topology map provided in an embodiment of the present application;
[0045] Figure 4 A schematic diagram of a one-dimensional posture expression of a mobile robot provided in an embodiment of the present application;
[0046] Figure 5 A schematic diagram of indication information provided in an embodiment of the present application;
[0047] Figure 6 A schematic diagram of a camera identifying a color band provided in an embodiment of the present application;
[0048] Figure 7 The overall flow chart of navigation control provided by the embodiment of the present application;
[0049] Figure 8 A schematic diagram of the structure of a navigation control device provided in an embodiment of the present application;
[0050] Fig. 9 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application.
[0051] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0052] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0053] A mobile robot is a machine device that automatically performs work tasks. It has the ability to move and perform tasks autonomously. It is increasingly used in logistics, warehousing, factory production, etc. Mobile robots use sensors, navigation algorithms and advanced control systems to perform tasks such as transporting goods. The introduction of mobile robots can greatly improve production efficiency and product quality. In order to make mobile robots move autonomously, in related technologies, mobile robots use a two-dimensional navigation method, that is, using two-dimensional pose coordinates to represent the relative pose relationship between the robot and the environment.
[0054] Taking automobile factories as an example of mobile robot application scenarios, automobile production lines are usually assembly line operations, and mobile robots transfer materials online or carry semi-finished cars on the assembly line for assembly. Figure 1 The following is a schematic diagram of the two-dimensional navigation control scheme of a mobile robot. The scheduling platform performs global task allocation, informs each robot of its destination, and then plans the paths of all robots and sends them to each robot for execution. Figure 1 As shown in the figure, the target point pose and the mobile robot positioning pose are both expressed in the form of two-dimensional coordinates (x, y, θ). In practical applications, two-dimensional navigation has the following problems: 1. The logic of the two-dimensional navigation control software is relatively complex, prone to problems, and has poor reliability. 2. The ground code and ribbon of the two-dimensional navigation (the ground code is pasted on the ribbon, the ribbon is laid on the ground, and the mobile robot needs to keep moving on the ribbon) need to be implemented strictly according to the coordinates of the map, otherwise it may cause the mobile robot to deviate, overshoot (i.e., overshoot the destination) and other abnormalities. 3. The scheduling platform is unified for scheduling planning, which increases the computing consumption of the scheduling platform, and requires the establishment of a high-performance server, which increases costs. 4. In environments such as automobile factories, the communication environment is usually poor, and the communication between the scheduling platform and the robot body is easily interfered. Once the mobile robot loses contact with the scheduling platform, it may face a full-line shutdown, which seriously affects production efficiency.
[0055] In response to the problems faced by the above business scenarios, the inventors have found that after configuring a fixed track for the mobile robot, the navigation control of the mobile robot is actually similar to the operation of a train, always moving along the set track. There are only three issues that need to be considered: 1. Which target station is to be reached? 2. Which track should be selected at the fork in the road? 3. How far is the station ahead and whether it is necessary to slow down. Based on the above research findings, the inventors provide a one-dimensional navigation control method, which degenerates the two-dimensional navigation control problem of the robot into a one-dimensional navigation control problem, and expresses the pose coordinates of the mobile robot through a one-dimensional pose (id, t) (id indicates which track the mobile robot is on, and t indicates how far it has traveled on the track). This can improve the autonomy and reliability of the mobile robot, reduce dependence on the scheduling platform, and is particularly suitable for loop business scenarios.
[0056] The technical solution of the present application is described in detail below through specific embodiments. It should be noted that the following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
[0057] Figure 2 This is a flow chart of a navigation control method provided in an embodiment of the present application. The method can be applied to a mobile robot, that is, navigation control is achieved by the mobile robot itself without relying on a scheduling platform.
[0058] like Figure 2 As shown, the method may include the following steps:
[0059] Step S201, receiving the first position of the target point in the topological map sent by the platform.
[0060] Among them, the first position includes any one of the distance between the topological edge and the topological point connected to the topological edge in the topological map, and the topological point at which it is located. The end point of the previous topological edge in the topological map is connected to the starting point of the next topological edge through a topological point. Each topological edge has an identifier and the length of each topological edge is fixed. The topological edge is used to represent a strip arranged on the ground. The strip includes at least one connected code strip and at least one color strip. The moving direction of the mobile robot is controlled to be along the strip direction.
[0061] In this embodiment, the mobile robot stores a topological map, and the strip is the mapping of the topological map in reality. The mobile robot can sense the surrounding environment information through sensors to identify where it is on the ground strip, thereby determining its corresponding position in the topological map. The mobile robot can navigate through the topological map and the sensed surrounding environment information to keep itself moving on the strip.
[0062] In this embodiment, the topological map is composed of a plurality of topological edges (each topological edge can be equivalent to a strip arranged on the ground), and each topological point is equivalent to a stop of the mobile robot. Exemplarily, the topological map can be a circular closed-loop map, in which the topological edges are connected end to end through topological points. In other embodiments, the topological map can also be an open non-closed-loop map, that is, it includes a plurality of non-connected topological paths, each of which is composed of a plurality of topological edges connected through topological points.
[0063] Exemplarily, the operation of a mobile robot in a ring line business scenario is taken as an example. Figure 3 A schematic diagram of a ring-shaped closed-loop topological map provided in an embodiment of the present application, such as Figure 3 As shown, it includes topological edges (e.g. Figure 3 In the topological edge ①-topological edge ⑩), topological edge identifier (for example Figure 3The circled numbers ①-⑩), topological points (e.g. Figure 3 Topological point 1-topological point 10 in the figure). When the mobile robot is at topological point 4, the item can be placed on the mobile robot. Then the mobile robot carries the item and moves slowly along topological edges ④-⑤-⑥ (i.e. the first assembly line). When it reaches topological point 7, the assembly is completed. Then, after turning the arc, the mobile robot continues to carry the item and continues the secondary assembly along topological edges ⑨-⑩-① (i.e. the second assembly line); and then completes the tertiary assembly along topological edges 1○3-1○4-1○5 (i.e. the third assembly line). When it runs to topological point 16, the entire assembly process is completed, and the assembled product is taken away from the mobile robot. Finally, the mobile robot will move to topological point 4 again for the next round of assembly.
[0064] Assuming the above Figure 3 The topological edges in the image are mapped to the strips in the display. Then we can see that the mobile robot can navigate through the circular closed-loop topological map and move along the strips, which can avoid collisions between the mobile robot and other objects.
[0065] When the mobile robot is put into use for the first time, it is necessary to input a topological map into the mobile robot to inform it that it should navigate according to the topological map to keep moving on the strip. At the same time, after inputting the topological map, it is necessary to move the mobile robot to a certain position point on the strip (i.e., the initial position point) and inform the mobile robot of the initial position point. Based on the initial position point, the mobile robot determines its position in the topological map, and then combines the topological map to achieve autonomous navigation control.
[0066] A camera may be arranged at the bottom of the mobile robot (eg, the center of the chassis), and the mobile robot identifies whether it keeps moving on the strip through information collected by the camera.
[0067] In this embodiment, when the mobile robot is put into use for the first time, the mobile robot is moved to the initial position point (for example, the above Figure 3 After reaching the topological point 4 in the topological map, the mobile robot can start moving towards the target point. During the movement, the mobile robot is equipped with an odometer, through which the mobile robot can know how far it has moved along the strip. In addition, since the length of each topological edge in the topological map is fixed, the mobile robot can know in real time where it is currently in the strip, how far it has moved in the strip, based on the odometer, the initial position point and the fixed length of each topological edge, and further locate which topological edge or topological point in the topological map it is in.
[0068] In this embodiment, indication information can be set on the strip, and a strip with indication information is called a code strip. For example, if strip A is pasted with a QR code (equivalent to indication information), then strip A can be called code strip A, and if strip B is not provided with indication information, then it is called color strip B, thereby representing the difference between color strips and code strips. Exemplarily, assuming there are N color strips and M code strips, then color strips can be connected to each other, color strips can be connected to code strips, and code strips can be connected to each other.
[0069] In this embodiment, the target point may include multiple, such as a first target point, a second target point, and a third target point. Exemplarily, when there are multiple target points, the mobile robot can determine the topological path between itself and each target point based on the topological map and the current position in the topological map (for example, the position point where the robot is located when it first goes online is: the initial position point), and then determine the optimal path in the topological map. When the mobile robot moves on the strip according to the optimal path, it can reach all target points with the shortest moving distance and / or the shortest time.
[0070] In this embodiment, the length of each topological edge in the topological map is fixed. It is assumed that the length of the topological edge in the topological map is equal to the length of the corresponding strip in reality. For example, if the mobile robot is currently on the first topological edge and the forward distance on the first topological edge is D1 (the forward distance refers to how far the mobile robot has moved on the strip corresponding to the topological edge), if the target point is a position point on the third topological edge, the topological edges that the mobile robot needs to experience include the first topological edge and the second topological edge, and the required moving distance includes: (the length of the first topological edge - the forward distance) + the length of the second topological edge + the forward distance of the position point on the third topological edge. If the target point is the topological point at the end of the third topological edge, the topological edges that the mobile robot needs to experience include the first topological edge, the second topological edge, and the third topological edge, and the required moving distance includes: (the length of the first topological edge - the forward distance) + the length of the second topological edge + the length of the third topological edge.
[0071] The target point can be expressed by one-dimensional coordinates (id, t). id refers to the topological edge identifier, and t refers to the forward distance on the topological edge (when the target point is a topological point, the value of t can be 0 or the length of the topological edge. Compared with the two-dimensional coordinate (x, y, θ) form to express the first position, the one-dimensional coordinate (id, t) form can significantly reduce the amount of data and the consumption of navigation operations, thereby transferring the navigation operations originally performed by the scheduling platform to the mobile robot, and the mobile robot can achieve autonomous navigation without spending a lot of computing resources.
[0072] Step S202: determining a second position of the mobile robot in the topological map based on the indication information collected when the mobile robot moves along the strip direction.
[0073] The second position includes any one of the distance between the topological edge and the topological point connected to the topological edge, and the topological point.
[0074] In this embodiment, the second position is the position of the mobile robot itself in the topological map, and the position may be the initial position point when the mobile robot first goes online. In addition, the position may also be determined by the mobile robot based on the indication information in the surrounding environment. For example, the mobile robot may scan the signboard through a camera and read the information in the signboard to determine its position in the topological map.
[0075] The second position is determined by collecting indication information through the mobile robot, so that the autonomy of the mobile robot is higher.
[0076] Step S203, determining the remaining distance for the mobile robot to move along the strip to the target point according to the first position and the second position in the topological map.
[0077] In this embodiment, the mobile robot has a moving direction. For example, the mobile robot has a head and a tail, and the moving direction can be: moving forward or moving backward. During the movement process, the moving direction of the mobile robot can be fixed (for example, the moving direction is fixed to: moving forward), and the moving direction can also be changed. Among them, under different moving directions, when the mobile robot moves to the target point, there may be different navigation paths in the topological map, and different navigation paths may result in different remaining distances.
[0078] Step S204: Based on the remaining distance, control the moving speed of the mobile robot when moving along the strip until it moves to the target point.
[0079] In this embodiment, after the mobile robot uses the topological map for navigation and determines the topological path required to move to the target point, the mobile robot only needs to do the following two things during the movement: 1) control the moving direction; 2) control the moving speed.
[0080] Among them, the moving speed of the mobile robot can be determined according to the remaining distance between the mobile robot and the target. For example, when the distance is far, the speed can be faster, and when the distance is close, the mobile robot needs to be controlled to slow down to avoid overshoot. In addition, it was mentioned in the previous article that the moving direction of the mobile robot is along the direction of the strip. Specifically, a strip recognition module such as a camera can be set on the mobile robot. When the mobile robot senses through the camera that it is about to deviate from the strip, it automatically adjusts the direction. In addition, similar to the existing train tracks, tracks can be laid on the strip to restrict the mobile robot so that it keeps moving on the strip.
[0081] Among them, the speed of the mobile robot can be adjusted during the movement. In some embodiments, the moving speed of the mobile robot when it reaches the target point is usually 0, that is, the mobile robot controls itself to stop at the target point at the moment of moving to the target point. This makes it easier for staff to perform related business operations. In this scenario, the mobile robot needs to determine whether to slow down in advance based on the current speed and the distance between the current position and the target point.
[0082] In addition, in some other implementations, indication information or indicators may also be set on the topological edge, such as configuring railings, indicator lights, boundary lines, etc. on both sides of the topological edge. When the mobile robot moves on the topological edge, it can identify these indication information or indicator objects through sensors and continue to move on the topological edge.
[0083] For example, Figure 4 A schematic diagram of a one-dimensional posture expression of a mobile robot provided in an embodiment of the present application, such as Figure 4 As shown in the figure, XOY is the global coordinate system, and the coordinates (x, y) represent the two-dimensional position of the robot center in the global coordinate system. The two-dimensional positioning angle is shown as θ in the figure; that is, the two-dimensional position of the robot in the environment is expressed by (x, y, θ).
[0084] In this embodiment, the position of the mobile robot can be directly expressed by a one-dimensional coordinate (id, t). Figure 4 , the beginning of the topological edge ① is the topological point 1, and the end is the topological point 2. At this time, the forward distance of the mobile robot is S. That is, t = S, and id is the topological edge ①. In addition, in some embodiments, the total length of the topological edge ① is L1, and the forward distance coefficient S / L (S is the forward distance, L is the length of the topological edge) can be used to indicate how far the robot has moved on the topological edge, that is, t = S / L.
[0085] Among them, since one-dimensional positioning depends on the topological map, the mobile robot needs to be positioned on a topological edge. Because when the mobile robot moves, the mobile robot will always control its lateral deviation Δy and angular deviation Δθ from the topological edge to 0, so the lateral y and θ dimensions can be ignored when expressing the one-dimensional positioning of the mobile robot. Exemplarily, the movement of the mobile robot is similar to that of a train, and the rails of the train are equivalent to the topological edge. The train will keep moving on the rails, and the mobile robot in this embodiment always controls its lateral deviation Δy and angular deviation Δθ from the topological edge to 0, so that there is no need to consider the angular deviation and lateral deviation when performing one-dimensional positioning, that is, in fact, through the topological map, the description of the position of the mobile robot is simplified, so that it can use one-dimensional coordinates to express the position of the mobile robot, and no longer needs to be expressed in two dimensions.
[0086] The embodiment of the present application utilizes a topological map to construct a one-dimensional pose coordinate of the mobile robot to express the position of the target point and the robot itself. In this way, it is only necessary to determine the topological edges that need to be traversed in the topological map, and then based on the topological edges and the lengths of the topological edges, the remaining distance required for the mobile robot to move along the strip to the target point can be determined to control the moving speed of the mobile robot. Since the mobile robot can always keep moving along the strip, it is no longer necessary to rely on the two-dimensional coordinate pose to control the moving direction of the mobile robot. The navigation operation processing logic is simplified, the computing power requirements are reduced, the function of the scheduling platform can be weakened in the business process, and the autonomous navigation control of the mobile robot can be realized. This can avoid the hidden dangers caused by communication failures between the scheduling platform and the mobile robot, and improve the operation reliability of the mobile robot.
[0087] The following describes in detail how to accurately obtain the position of the mobile robot in the topological map during the movement process, thereby updating the required moving distance between the mobile robot and the target point in real time during the movement process through some embodiments.
[0088] It has been mentioned above that the strip is provided with indication information, and the difference between the code strip and the color strip is mentioned. In some embodiments, the indication information includes a site code and / or a milestone code provided on the code strip.
[0089] The site code is used by the mobile robot to determine at least one of its own topological point, its own topological edge, and the distance between the topological points connected to the topological edge in the topological map.
[0090] The milestone code is used by the mobile robot to determine at least one of the topological edge where the mobile robot is located in the topological map and the distance between the mobile robot and the topological point connected to the topological edge where the mobile robot is located.
[0091] For example, both the site code and the milestone code can be in the form of a QR code, which is directly pasted onto the strip, which is simple, convenient and low-cost to set up.
[0092] In this embodiment, the mobile robot can read the site code and control the mobile robot to move further through the following steps. Specifically, (1) if the mobile robot recognizes the site code, then based on the site code, at least one of the topological point where the mobile robot is currently located in the topological map, the topological edge where it is located, and the distance between the topological point connected to the topological edge where it is located is obtained. In addition, when the mobile robot recognizes the code band, it can also obtain the deviation between itself and the site code or code band; (2) based on the angular deviation and / or lateral deviation between the mobile robot and the site code or code band, control the moving direction of the mobile robot to continue to move along the code band direction; (3) based on at least one of the topological point where the mobile robot is currently located in the topological map, the topological edge where it is located, and the distance between the topological point connected to the topological edge where it is located, update the remaining distance and control the moving speed of the mobile robot.
[0093] For example, Figure 5 A schematic diagram of the indication information provided in the embodiment of the present application, such as Figure 5 As shown, site code 1 is set at the stripe position represented by topological point 2.
[0094] In this embodiment, the mobile robot can locate itself in the following two ways:
[0095] Method (1): If the mobile robot has not moved to site code 1 and has not identified site code 1, then based on the movement data recorded by the mobile robot itself during the movement (such as the odometer configured by itself), the estimated position information of the mobile machine during the movement is obtained, and the mobile robot itself is forward positioned.
[0096] Method (2): If the mobile robot moves to site code 1 and reads site code 1, the position information of the mobile robot is corrected based on site code 1.
[0097] Among them, for method (1), it is assumed that when the mobile robot has not received the target point and stops at the strip position represented by topological point 1, the odometer count is 0. When the mobile robot receives the target point and determines that the target point is the strip position represented by topological point 2, the mobile robot starts to move. If the odometer count is K at a certain moment, and the starting position of the mobile robot is the strip position represented by topological point 1, it can be determined that the forward distance of the mobile robot on the strip represented by topological edge ① is K, which is equivalent to the mobile robot having moved K meters. If the length of topological edge ① is L1 (where L1 is greater than K), the calculated mobile robot is on topological edge ① in the topological map, and the forward distance of topological edge ① is K.
[0098] When the mobile robot fails to read the station code, it can calculate the remaining required moving distance through the odometer, and then perform forward speed planning to control its own moving speed. However, when the mobile robot is positioned forward using the odometer in method (1), the odometer count has cumulative errors (the longer the distance the mobile robot moves, the greater the deviation), so method (2) is configured.
[0099] For method (2), when the site code 1 is attached to the strip represented by the topological point, a camera installed on the chassis of the mobile robot can be used, and the mobile robot can identify the site code through the camera during movement. The current position information of the mobile robot is corrected based on the site code.
[0100] For example, the site code may be in the form of a QR code. In order to quickly read the information in the site code, the information contained in the site code may be simplified and limited so that the mobile robot can quickly obtain the information contained therein. For example, the information contained in the site code is as follows:
[0101] 0001ST+0000
[0102] Among them, the first four digits "0001" are the topological point identification, the letters "ST" represent the site code, and the last five digits "+0000" represent the current distance between the mobile robot and the strip position represented by the center of the topological point.
[0103] Among them, the first four digits of the site code are greater than or equal to 1. For the strip position represented by the same topological point, multiple site codes can be pasted. For example, in some embodiments, the site code can be pasted at the strip position represented by the topological point and other position points on both sides of the position to improve the ability to resist rolling and contamination (as long as it is not completely contaminated, it can continue to be used). By pasting multiple site codes, even if one of the site codes is not recognized by the camera of the mobile robot due to stains, etc., there are other site codes for identification later. You only need to identify any one of them to accurately know the current position information of the mobile robot.
[0104] For example, Figure 5 There are three adjacent site codes (site code 1, site code 2 and site code 3). When pasting multiple site codes, it is necessary to ensure that the topological point identifiers provided in each site code are consistent, the coordinate directions are consistent, and the values of the last 5 digits are different (that is, indicating the distance to the center of the topological point). Figure 5As shown in the figure, the center of the site code 1 at the stripe position represented by the topological point 2 represents the topological center, so the last 5 digits are "+0000". The last 5 digits of the site code 2 on the far left are "-0010", which means "the center of the topological point is 10 mm behind the x-axis".
[0105] For example, for the above method (2), assuming that the mobile robot moves to the above left position point and reads the station code 2, if the odometer is used to calculate that the mobile robot has moved 100 meters on the topological edge ①, and if the total length L1 of the topological edge ① is 150 meters, the result calculated by the odometer is: the distance from the topological point 2 is 50 meters. The station code 2 indicates that the current mobile robot is only 10 meters away from the topological center. At this time, the odometer and the result calculated by the odometer can be corrected to eliminate the accumulated error of the odometer.
[0106] In other embodiments, the site code may also be in the form of a signboard, etc., which is set up at the topological point. In this case, a special camera needs to be configured in front of the mobile robot to identify the signboard.
[0107] In an embodiment of the present application, by configuring the site code, the mobile robot can be informed of its current accurate location information when it recognizes the site code, thereby correcting the error of the mobile robot's odometer and ensuring that the mobile robot accurately stops at the site.
[0108] In other embodiments, the milestone code may be set at a location other than the location where the site code is located.
[0109] For example, continue to refer to the above Figure 5 , a milestone code can be set on the strip represented by the topological edge ①. After setting the milestone code, the movement of the mobile robot can be controlled by the following steps: (1) If the mobile robot recognizes the milestone code, then based on the milestone code, at least one of the topological edge where the mobile robot is located in the topological map and the distance between the topological point connected to the topological edge is obtained, thereby locating its own position in the topological map. In addition, when the mobile robot recognizes the code strip, it can also obtain the deviation between itself and the milestone code or code strip; (2) Based on the angular deviation and / or lateral deviation between the mobile robot and the milestone code or code strip, the moving direction of the mobile robot is controlled to keep moving along the code strip direction; (3) Based on its own position in the topological map, the remaining distance to the target point is determined to control the moving speed of the mobile robot.
[0110] In this embodiment, the mobile robot can determine how far it has moved in the following two ways:
[0111] Method A: If the mobile robot fails to recognize the milestone code, the remaining required moving distance to the target point estimated by the mobile robot during the movement process is obtained based on the movement data recorded by the mobile robot itself (for example, the odometer can be used to record how far the mobile robot has moved).
[0112] Method B: If the mobile robot recognizes a milestone code, it obtains how far it has moved based on the milestone code.
[0113] Among them, for method A, it is assumed that when the mobile robot has not received the target point and stops at the strip position represented by topological point 1, the odometer count is 0. When the mobile robot receives the target point and determines that the target point is at the strip position represented by topological point 2, the mobile robot starts to move. If the odometer count is K at a certain moment, and the starting position of the mobile robot is at the strip position represented by topological point 1, it can be determined that the forward distance of the mobile robot on the topological edge ① is K, which is equivalent to the mobile robot having moved K meters. If the length of the topological edge ① is L1 (where L1 is greater than K), the remaining required moving distance of the mobile robot is calculated to be L1-K.
[0114] Among them, since the odometer count has cumulative errors when estimating the remaining required moving distance to the target point through method A (the farther the mobile robot moves, the greater the deviation), method B is configured.
[0115] For method B, when the milestone code is attached to the strip represented by the topological edge, the camera installed on the chassis of the mobile robot mentioned above can be reused, and the mobile robot can identify the milestone through the camera during movement. Based on the information provided in the milestone, it is possible to obtain the distance from the current position of the strip represented by the topological point in front (the information provided in the milestone is accurate and does not have the error in the above method A), and further accurately calculate the remaining required moving distance to correct the calculation result in method A, and then continue to control the movement of the mobile robot based on the correction result.
[0116] When the mobile robot recognizes the milestone code, it can obtain the relative forward distance S1 between the mobile robot and the milestone code, for example, the relative forward distance S1 between the center of the mobile robot (the center of the mobile robot can be the position of the downward lens of the mobile robot, for example, the downward lens can be set at the center of the chassis) and the milestone code is 20 mm. At the same time, the milestone code can provide the distance S2=1000 mm between itself and the strip position represented by the front topological point or the strip position represented by the target point, then the distance S=S1+S2=1020 mm between the center of the mobile robot and the strip position represented by the front topological point or the strip position represented by the target point.
[0117] For example, the milestone code can be in the form of a QR code, attached to the ground, or similar to a road sign, to indicate how far ahead to which station. Compared with road signs, more information can be added to the QR code. However, in this embodiment, for ease of implementation, the milestone code does not distinguish "which station is ahead", but the mobile robot determines which topological point is ahead based on the topological map and the current topological edge.
[0118] Exemplarily, the information included in the milestone code is as follows:
[0119] 0000LM+0800
[0120] The first four digits "0000" are the default values, the letters "LM" represent the milestone code, and the last five digits "+0800" represent the distance between the location where the milestone code is set and the strip position represented by the next topological point ahead.
[0121] In this embodiment, the milestone code may indicate the distance from the strip position represented by the target point, for example, the target point is Figure 5 The topological point 2 in the figure is set. The milestone code set at this time contains the distance between itself and topological point 2. In this way, after the mobile robot moves to the milestone code position and reads the information contained in the milestone code, the actual remaining distance between the mobile robot and the target point can be directly determined, and then the moving speed of the mobile robot can be controlled.
[0122] In this embodiment, when the mobile robot moves to the position of the milestone code and reads the information contained in the milestone code, it is found that the current distance of the mobile robot from the position represented by the front topological point in the strip or the position represented by the target point in the strip is less than or equal to the braking distance, then the mobile robot needs to be controlled to decelerate immediately to prevent it from overshooting and overshooting the position represented by the front topological point in the strip or the position represented by the target point in the strip (the topological point can be understood as a station in the train process, and the mobile robot can be configured to stop at certain stations, that is, it needs to decelerate in advance to keep the speed at 0 when arriving at the station). Among them, the braking distance is related to the current speed of the mobile robot when it recognizes the milestone code.
[0123] In addition, for example, due to the cumulative error of the odometer, it is necessary to ensure that at least one milestone code is set before the target point, and the milestone code is set before the braking distance, otherwise the mobile robot may not be able to brake and overshoot, causing the mobile robot to rush out of the target point.
[0124] In addition, in other embodiments, when the mobile robot recognizes the milestone code and determines the distance between the mobile robot and the position represented by the front topological point in the strip or the position represented by the target point in the strip, the data recorded by the odometer can be corrected. In this way, if the mobile robot does not recognize the milestone code later, the distance between the mobile robot and the position represented by the front topological point in the strip or the position represented by the target point in the strip can be calculated based on the corrected data to control the moving speed of the mobile robot.
[0125] For example, when the mobile robot fails to recognize a milestone code during movement, it uses the odometer to calculate that it is 3 meters away from the position represented by the topological point in front of it in the strip. However, due to possible errors in the odometer, the mobile robot is actually only 2 meters away from the position represented by the topological point in front of it in the strip. At this time, if the mobile robot controls the moving speed based on the wrong distance, it may cause overshoot. Therefore, it is necessary to set a milestone code before the position represented by the topological point in the strip. If the mobile robot recognizes the milestone code, it can obtain the accurate actual distance, thereby accurately controlling the moving speed and avoiding overshoot. At the same time, based on the information provided by the milestone code, the data recorded by the odometer can also be corrected so that it can continue to be put into use.
[0126] In an embodiment of the present application, a code strip is formed by configuring milestone codes on a certain strip. When the mobile robot recognizes the milestone code, the accurate remaining moving distance can be obtained, thereby controlling its own moving speed and avoiding overshooting due to excessive speed.
[0127] In some embodiments, the mobile robot may have deviations during movement, for example, the mobile robot may deviate from the strip. Specifically, the deviations are mainly divided into the following two types:
[0128] path deviation, i.e. the mobile robot may stray from the strip;
[0129] Distance deviation means that the mobile robot can estimate how far away it is from the target point in real time based on the odometer during movement. However, in actual applications, the odometer has errors (the longer the moving distance, the greater the error). Therefore, the error of the odometer may lead to an error in the estimation of the required moving distance between the mobile robot and the target point.
[0130] For these two situations, indication information or indicators can be set on the strip, such as railings, indicator lights, boundary lines, etc. on both sides of the strip. When the mobile robot moves on the strip, it identifies these indication information or indicator objects through sensors and makes corrections, thereby controlling the mobile robot to keep moving on the strip and ensure that the required moving distance is accurate.
[0131] The following describes some embodiments to explain how to control the mobile robot to keep moving on the belt.
[0132] In some embodiments, the ribbon is first introduced. The ribbon is a strip-shaped sticker with a characteristic color, which is pasted on the ground. In this embodiment, during the movement of the mobile robot, if a camera is set at the center of the chassis of the mobile robot, the deviation between the chassis of the mobile robot and the ribbon can be obtained after the ribbon is recognized by the downward-looking lens. This is specifically achieved through the following steps:
[0133] Step A1: if the mobile robot moves on the ribbon, an image captured by a camera device disposed at a fixed position of the mobile robot is acquired;
[0134] Step A2: Detect whether there is a color band in the image;
[0135] Step A3: when the color ribbon exists, determining an angle deviation and / or a lateral deviation between the mobile robot and the color ribbon based on the position of the color ribbon in the image;
[0136] Step A4: According to the angle deviation and / or lateral deviation, the moving direction of the mobile robot is controlled to be along the strip direction.
[0137] In this embodiment, by sticking the ribbon on the ground, compared with the above-mentioned methods of setting railings, signs, indicator lights, boundary lines, etc., it has the advantages of easy operation and later maintenance, and the implementation cost is low and does not take up space. Figure 3 , you can paste color ribbons on the paths represented by each topological edge of the topological map.
[0138] The mobile robot can be equipped with a camera or other device for identifying the color ribbon during movement. Figure 6 A schematic diagram of a camera identifying a color band provided in an embodiment of the present application, such as Figure 6 As shown, in the process of identifying the ribbon through the camera, it can be determined whether the mobile robot is currently moving on the ribbon based on the identified ribbon shape. Figure 6 In the “center” situation, the mobile robot keeps moving on the ribbon; Figure 6 When the mobile robot is about to deviate from the ribbon to the right, Figure 6 When the "left deviation" situation appears, it means that the mobile robot is about to deviate from the ribbon to the left.
[0139] In this embodiment, a camera is set at the center of the mobile robot chassis to obtain the angular deviation and / or lateral deviation between the mobile robot chassis and the color ribbon. The controller always controls it to 0, so that the mobile robot can be controlled to always be on the topological path sequence.
[0140] In some embodiments, if the mobile robot moves on the color tape but not on the code tape, it is necessary to read the mileage from the odometer of the mobile robot; then determine the position of the mobile robot in the topological map based on the mileage and the starting point of the mobile robot in the topological map.
[0141] In addition, in some embodiments, if the mobile robot obtains the information contained in the site code, the information contained in the milestone code, and the image of the above-mentioned color strip, then when controlling the movement of the mobile robot, it is necessary to select and determine the priority of these three, and use the high-priority information as the basis to determine its own position in the topological map and the angular deviation and lateral deviation from the strip to control its own movement.
[0142] Exemplarily, assuming that the site code contains the most complete information and has the highest priority, the mobile robot will prioritize the information contained in the site code to determine its position in the topological map and the angle deviation and lateral deviation from the strip to control its movement.
[0143] The embodiment of the present application sets color ribbons. When the mobile robot moves on a topological path sequence, the deviation between itself and the color ribbon can be determined based on the identified color ribbon, thereby correcting its own moving direction, ensuring that it always moves on the ribbon, reducing the mobile robot's dependence on the scheduling platform, and further improving the mobile robot's operational reliability.
[0144] The present invention is described below through a complete embodiment. Figure 7 The overall flow chart of navigation control provided in the embodiment of the present application is as follows: Figure 7 As shown, it includes the following steps:
[0145] Step 1: Obtain the robot's target topological position according to the task assignment and send it to the mobile robot.
[0146] Among them, this step is platform processing. The platform determines which target topological position the mobile robot should go to next based on business information and external device interaction information. The target topological position is represented by (id, t).
[0147] Step 2: Plan a topological path sequence from the current topological location to the target topological location.
[0148] According to the second position of the current robot positioning in the topological map and the first position of the target point, path planning is performed in the topological map to search for a path sequence from the current second position to the first position of the target point.
[0149] Step 3: Perform one-dimensional fusion positioning based on the identified color band and ground code information.
[0150] Among them, the one-dimensional positioning is expressed as (id, t), that is, determining the topological edge where the mobile robot is located and its position on the topological edge. At the same time, it is necessary to obtain the lateral deviation Δy and angular deviation Δθ between the mobile robot and the color tape or code tape, and provide them to the control module of the mobile robot for deviation elimination control.
[0151] Specifically, first determine whether to switch paths based on the position t of the mobile robot in the previous shot. If t>1, it means that the robot has passed the end of the original topological edge and needs to switch to the new topological edge, so as to switch paths from the planned path sequence and determine the id of the topological edge where the robot is currently located. Then, determine the relative position relationship between the mobile robot and the current topological edge based on the observed information (such as information collected by the camera at the center of the mobile robot chassis) and perform one-dimensional fusion positioning. Among them, the information content is: site code>milestone code>color ribbon, so the site code is used first, followed by the milestone code, and finally the color ribbon.
[0152] Among them, the site code provides the most information: topological point identification information (such as ID), distance from the topological center (can be used for forward positioning t), and relative position information with the mobile robot, so the site code is used first to obtain forward positioning t, control lateral deviation Δy, and angular deviation Δθ. Secondly, the milestone code is used, which can provide the distance from the topological center and the relative position with the mobile robot. The color ribbon is used again, which can provide lateral deviation and angular deviation information with the mobile robot, namely Δy and Δθ, and its forward positioning information t needs to be estimated using the odometer. Finally, if the mobile robot does not recognize the ground code and the color ribbon at all during the movement, only the odometer can be used to estimate t, Δy, and Δθ.
[0153] It should be noted that if the mobile robot does not observe valid information (including site code, mileage code, color band) for a long time (or moves a certain distance), an alarm will be issued to stop the robot to prevent the mobile robot from derailing and causing risks.
[0154] Step 4: Perceive obstacle avoidance processing and combine it with the planned path sequence to determine the forward collision-free movable distance Δs.
[0155] The previous steps have obtained the robot's forward positioning t on the current topological edge and the path it needs to take in the future. Combined with the perceived obstacle information for obstacle avoidance detection, the robot can obtain the collision-free continuous moving distance Δs in front of it. If there is no obstacle or the obstacle will not interfere with the subsequent robot movement, Δs represents the remaining required moving distance.
[0156] Step 5: Perform motion control based on the deviation Δy, Δθ, and forward movable distance Δs.
[0157] The robot motion control is decoupled into forward control, lateral deviation and angle deviation control. The control deviation of forward control is Δs, and the control quantity is the desired speed v sp ; The control quantity for lateral and angular deviation control is ω.
[0158] sp
[0159] After obtaining the control quantity v sp ,ω sp , the forward movable distance Δs, the control expectations of each motor of the robot can be obtained through the inverse kinematics solution, and it can be sent to the motor drive control execution to realize the movement of the robot along the path. Finally, the one-dimensional fusion positioning, perception and obstacle avoidance, and motion control are continuously cycled until the target position is reached.
[0160] The embodiment of the present application uses the topological map as a medium to express the relative position relationship between the mobile robot and the environment through the topological edge ID and the forward distance t, thereby simplifying the software processing logic, weakening the function of the scheduling platform in the robot navigation business process, improving the robot's autonomous ability, and thus improving the reliability of the robot's operation. In addition, by designing milestone codes, site codes and color ribbons, one-dimensional navigation control can be effectively supported, and the implementation accuracy requirements are not high, reducing the difficulty of implementation. In addition, by designing redundant site codes, the anti-fouling ability can be improved.
[0161] The following is an embodiment of the device of the present application, which can be used to execute the embodiment of the method of the present application. For details not disclosed in the embodiment of the device of the present application, please refer to the embodiment of the method of the present application.
[0162] Figure 8 This is a schematic diagram of the structure of the navigation control device provided in the embodiment of the present application, and the navigation control device can be integrated on the above-mentioned mobile robot. Figure 8 As shown, the navigation control device 800 includes a position information acquisition module 810 , a position determination module 820 , a distance determination module 830 and a movement control module 840 .
[0163] The position information acquisition module is used to receive the first position of the target point in the topological map sent by the platform. The first position includes the distance between the topological edge and the topological point connected to the topological edge, and any one of the topological points. The end point of the previous topological edge and the starting point of the next topological edge in the topological map are connected through the topological point. Each topological edge has an identifier and the length of each topological edge is fixed. The topological edge is used to represent the strip arranged on the ground. The strip includes at least one code strip and at least one color strip connected. The moving direction of the mobile robot is controlled to be along the strip direction.
[0164] The position determination module is used to determine the second position of the mobile robot in the topological map based on the indication information collected when the mobile robot moves along the strip direction. The second position includes the distance between the topological edge and the topological point connected to the topological edge, any one of the topological points,
[0165] The distance determination module is used to determine the remaining distance for the mobile robot to move along the strip to the target point according to the first position and the second position in the topological map.
[0166] The mobile control module is used to control the moving speed of the mobile robot when it moves along the strip based on the remaining distance until it moves to the target point.
[0167] Optionally, in some embodiments, the indication information includes a site code and / or a milestone code set on the code strip, the site code is used by the mobile robot to determine at least one of its own topological point in the topological map, its own topological edge, and the distance between topological points connected to the topological edge, and the milestone code is used by the mobile robot to determine at least one of its own topological edge in the topological map and the distance between topological points connected to the topological edge.
[0168] Optionally, in some embodiments, the topological points in the topological map are used to represent sites in the code strip, the site codes are set at the sites, and the milestone codes are set at other locations on the code strip except for the sites.
[0169] Optionally, in some embodiments, a site code is also provided on the code strip on the left side and / or the right side of the site.
[0170] Optionally, in some embodiments, a first control module is further included, which is used to determine the angular deviation and / or lateral deviation between the mobile robot and the code strip based on information contained in the site code and / or milestone code if the mobile robot moves on the code strip; and control the moving direction of the mobile robot to be along the code strip based on the angular deviation and / or lateral deviation.
[0171] Optionally, in some embodiments, a second control module is further included, which obtains an image taken by a camera device arranged at a fixed position of the mobile robot if the mobile robot moves on the color ribbon; detects whether there is a color ribbon in the image; when there is a color ribbon, determines the angular deviation and / or lateral deviation between the mobile robot and the color ribbon based on the position of the color ribbon in the image; and controls the moving direction of the mobile robot to be along the direction of the color ribbon according to the angular deviation and / or lateral deviation.
[0172] Optionally, in some embodiments, the indication information further includes a ribbon image collected by the mobile robot when it moves along the ribbon, and the position determination module is further configured to read the mileage from the odometer of the mobile robot if the ribbon image is collected; and determine the second position of the mobile robot in the topological map according to the mileage. The target braking distance is related to the moving speed of the mobile robot when the milestone code is recognized.
[0173] Optionally, in some embodiments, the position determination module is specifically used to obtain priority configuration information when the indication information collected by the mobile robot includes at least one of a site code, a milestone code and an image, the priority configuration information being used to describe the priority of the site code, the milestone code and the image; determine the highest priority information from the indication information according to the priority configuration information; and determine the second position of the mobile robot in the topological map based on the highest priority information.
[0174] The device provided in the embodiment of the present application can be used to execute the method in the above-mentioned embodiment. Its implementation principle and technical effect are similar and will not be repeated here.
[0175] It should be noted that it should be understood that the division of the various modules of the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. And these modules can all be implemented in the form of software called by processing elements; they can also be all implemented in the form of hardware; some modules can also be implemented in the form of software called by processing elements, and some modules can be implemented in the form of hardware. For example, the position information acquisition module can be a separately established processing element, or it can be integrated in a certain module of the above device. In addition, it can also be stored in the memory of the above device in the form of program code, and called and executed by a certain processing element of the above device. The function of the above position information acquisition module. The implementation of other modules is similar. In addition, all or part of these modules can be integrated together, or they can be implemented independently. The processing element here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each module above can be completed by an integrated logic circuit of hardware in the processor element or instructions in the form of software.
[0176] For example, the above modules may be one or more integrated circuits configured to implement the above methods, such as one or more application specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field programmable gate arrays (FPGAs). For another example, when a module above is implemented in the form of a processing element scheduling program code, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call program code. For another example, these modules may be integrated together and implemented in the form of a system on a chip.
[0177] Fig. 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Fig. 9 As shown, the electronic device 900 includes: at least one processor 901, a memory 902, a bus 903 and a communication interface 904. Among them: the processor 901, the communication interface 904 and the memory 902 communicate with each other through the bus 903. The communication interface is used to communicate with other devices. The communication interface includes a communication interface for data transmission and a display interface or an operation interface for human-computer interaction.
[0178] The processor is used to execute the computer-executable instructions stored in the memory, and specifically can execute the relevant steps in the method described in the above embodiment. The processor may be a central processing unit, or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention. The one or more processors included in the electronic device may be processors of the same type, such as one or more CPUs; or they may be processors of different types, such as one or more CPUs and one or more ASICs. The memory may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk memory.
[0179] The embodiment of the present application further provides a mobile robot, the mobile robot comprising a mobile robot body, a processor, a memory, a detector and a receiver, wherein the processor, the memory, the detector and the receiver are arranged in the mobile robot body;
[0180] A topological map is stored in the memory, the topological map includes at least one topological edge, the end point of the previous topological edge is connected to the starting point of the next topological edge through a topological point, each topological edge has an identifier and the length of each topological edge is fixed, the topological edge is used to represent a strip arranged on the ground, and the strip includes at least one code strip and at least one color strip connected to each other;
[0181] The receiver is used to receive the first position of the target point in the topological map sent by the platform;
[0182] The detector is used to collect the indication information on the strip;
[0183] The processor is used to determine the second position of the mobile robot body in the topological map according to the indication information, and determine the moving distance of the mobile robot body along the strip to the target point according to the first position and the second position;
[0184] The processor is also used to control the moving direction of the mobile robot body to remain on the strip according to the indication information, and control the mobile robot body to move along the strip to the target point based on the moving distance.
[0185] The detector may be the above-mentioned camera arranged at the center of the chassis of the mobile robot.
[0186] The embodiment of the present application also provides a navigation control system, comprising: a mobile robot and a platform, wherein the mobile robot and the platform are communicatively connected;
[0187] A topological map is stored in the mobile robot. The topological map includes at least one topological edge. The end point of the previous topological edge is connected to the starting point of the next topological edge through a topological point. Each topological edge has an identifier and the length of each topological edge is fixed. The topological edge is used to represent a strip arranged on the ground. The strip includes at least one code strip and at least one color strip connected to each other.
[0188] The mobile robot is used to collect the indication information on the strip, and determine the second position of the mobile robot body in the topological map according to the indication information;
[0189] The mobile robot is also used to adjust its moving direction to the strip direction according to the instruction information;
[0190] In response to the platform sending a first position of a target point in a topological map to the mobile robot, the mobile robot is used to move to the target point along the strip according to the first position and the second position.
[0191] This embodiment further provides a computer-readable storage medium, in which computer instructions are stored. When at least one processor of an electronic device executes the computer instructions, the electronic device executes the navigation control methods provided by the various embodiments described above.
[0192] This embodiment also provides a computer program product, which includes computer instructions. The computer instructions are stored in a readable storage medium. At least one processor of an electronic device can read the computer instructions from the readable storage medium, and at least one processor executes the computer instructions so that the electronic device implements the navigation control method provided by the various embodiments described above.
[0193] In the present application, "at least one" means one or more, and "plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship; in the formula, the character " / " indicates that the previous and next associated objects are in a "division" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.
[0194] It is to be understood that the various numerical numbers involved in the embodiments of the present application are only for the convenience of description and are not intended to limit the scope of the embodiments of the present application. In the embodiments of the present application, the size of the sequence number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0195] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A navigation control method, characterized in that: Applied to a mobile robot, the method comprises: The first position of the target point sent by the receiving platform in the topological map includes any one of the distance between the topological edge and the topological point connected to the topological edge, and the topological point. The end point of the previous topological edge in the topological map is connected to the starting point of the next topological edge through the topological point. Each topological edge has an identifier and the length of each topological edge is fixed. The topological edge is used to represent a strip arranged on the ground. The strip includes at least one code strip and at least one color strip connected to each other. The moving direction of the mobile robot is controlled to be along the strip direction. Determine, based on the indication information collected by the mobile robot when it moves along the strip direction, a second position of the mobile robot in the topological map, wherein the second position includes any one of a distance between a topological edge and a topological point connected to the topological edge, and a topological point; Determining a remaining distance for the mobile robot to move along the strip to the target point according to the first position and the second position in the topological map; Based on the remaining distance, the moving speed of the mobile robot when moving along the strip is controlled until it moves to the target point.
2. The method according to claim 1, characterized in that The indication information includes a site code and / or a milestone code set on the code strip, wherein the site code is used by the mobile robot to determine at least one of its own topological point in the topological map, its own topological edge, and the distance between topological points connected to the topological edge; and the milestone code is used by the mobile robot to determine at least one of its own topological edge in the topological map and the distance between topological points connected to the topological edge.
3. The method according to claim 2, characterized in that The topological points in the topological map are used to represent sites in the code band, the site codes are set at the sites, and the milestone codes are set at other locations on the code band except the sites.
4. The method according to claim 3, characterized in that The site code is also arranged on the code strip on the left side and / or the right side of the site.
5. The method according to any one of claims 2 to 4, characterized in that: Also includes: If the mobile robot moves on the code strip, determining an angular deviation and / or a lateral deviation between the mobile robot and the code strip based on information contained in the site code and / or the milestone code; According to the angular deviation and / or lateral deviation, the moving direction of the mobile robot is controlled to be along the code tape direction.
6. The method according to claim 5, characterized in that Also includes: If the mobile robot moves on the ribbon, an image captured by a camera device disposed at a fixed position of the mobile robot is acquired; Detecting whether the color band exists in the image; When the color ribbon exists, determining an angular deviation and / or a lateral deviation between the mobile robot and the color ribbon based on a position of the color ribbon in the image; According to the angular deviation and / or lateral deviation, the moving direction of the mobile robot is controlled to be along the direction of the ribbon.
7. The method according to claim 6, characterized in that The indication information also includes a ribbon image collected by the mobile robot when it moves along the ribbon, and determining the second position of the mobile robot in the topological map based on the indication information collected when the mobile robot moves along the ribbon direction includes: If the ribbon image is acquired, the mileage is read from the odometer of the mobile robot; According to the mileage, a second position of the mobile robot in the topological map is determined.
8. The method according to claim 7, characterized in that The determining the second position of the mobile robot in the topological map based on the indication information collected when the mobile robot moves along the strip direction includes: When the indication information collected by the mobile robot includes at least one of the site code, the milestone code and the image, obtaining priority configuration information, the priority configuration information being used to describe the priority of the site code, the milestone code and the image; Determining the information with the highest priority from the indication information according to the priority configuration information; Based on the information with the highest priority, a second position of the mobile robot in the topological map is determined.
9. A mobile robot, characterized in that: include: A mobile robot body, a processor, a memory, a detector and a receiver, wherein the processor, the memory, the detector and the receiver are arranged in the mobile robot body; The memory stores a topological map, the topological map includes at least one topological edge, the end point of the previous topological edge is connected to the starting point of the next topological edge through a topological point, each topological edge has an identifier and the length of each topological edge is fixed, the topological edge is used to represent a strip arranged on the ground, and the strip includes at least one code strip and at least one color strip connected to each other; The receiver is used to receive a first position of a target point in the topological map sent by the platform; The detector is used to collect indication information on the strip; The processor is used to determine the second position of the mobile robot body in the topological map according to the indication information, and determine the moving distance of the mobile robot body along the strip to the target point according to the first position and the second position; The processor is further configured to control the moving direction of the mobile robot body to remain on the strip according to the indication information, and control the mobile robot body to move along the strip to the target point based on the moving distance.
10. A navigation control system, characterized in that: include: A mobile robot and a platform, wherein the mobile robot is communicatively connected with the platform; The mobile robot stores a topological map, wherein the topological map includes at least one topological edge, wherein the end point of a previous topological edge is connected to the starting point of a next topological edge through a topological point, each topological edge has an identifier and the length of each topological edge is fixed, and the topological edge is used to represent a strip arranged on the ground, wherein the strip includes at least one code strip and at least one color strip connected to each other; The mobile robot is used to collect the indication information on the strip, and determine the second position of the mobile robot body in the topological map according to the indication information; The mobile robot is also used to adjust its moving direction to the strip direction according to the instruction information; In response to the platform sending a first position of a target point in a topological map to the mobile robot, the mobile robot is configured to move to the target point along the strip according to the first position and the second position.