A robot vision positioning and navigation method

By retrieving road information in the database and analyzing obstacle movement trajectory using infrared sensors and cameras, dynamically adjusting the route to avoid obstacles, solving the problems of high computing power and low navigation efficiency in the prior art, and achieving efficient route planning and obstacle avoidance.

CN118857326BActive Publication Date: 2025-04-25SUZHOU XINHE TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411053909.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-02
Publication Date
2025-04-25
Estimated Expiration
2044-08-02

AI Technical Summary

Technical Problem

The existing robot visual positioning and navigation technology has problems with high computing power and low navigation efficiency in route planning and obstacle avoidance, especially in applications on limited computing platforms.

Method used

By retrieving road information in the database, marking and removing unmovable road sections, formulating overall routes, and scanning local road sections with infrared sensors and cameras, analyzing obstacle movement trajectories, and dynamically adjusting the routes to avoid obstacles.

Benefits of technology

It realizes efficient planning of routes and avoiding obstacles on a limited computing platform, improves robot navigation efficiency, reduces computing needs, and reduces the probability of accidents caused by changes in driving direction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118857326B_ABST
    Figure CN118857326B_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of robot visual positioning and navigation, and discloses a robot visual positioning and navigation method, comprising: determining the location of a robot and the location of a destination, collecting road information between the two locations of the robot, formulating an overall route according to the collected road information, dividing the overall route into a plurality of local sections according to road nodes, scanning the local sections using infrared sensors and cameras equipped with the robot, establishing a two-dimensional plane coordinate system in an electronic map, marking the coordinates of obstacles in the two-dimensional plane coordinate system and obtaining their moving trajectories, finally obtaining the obstacle area, controlling the robot to travel in a non-obstruction area, performing temporary route adjustment when encountering road blockage, until the robot travels to the destination; the robot visual positioning and navigation method improves the robot's autonomous navigation capability in a dynamic and complex environment, reduces the risk of collision, and enhances the flexibility and accuracy of route planning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot vision positioning and navigation, and in particular to a robot vision positioning and navigation method. Background Art

[0002] With the growing demand for automation and intelligence, robot visual positioning and navigation technology has found wide applications in manufacturing, logistics, home services, healthcare, agriculture, and military. For example, autonomous delivery robots, unmanned warehouses, and intelligent guide robots all place higher demands on precise visual positioning and navigation.

[0003] The development background of robot visual positioning and navigation technology is rooted in the intersection of multiple key fields and technological advances, including computer vision, sensor technology, artificial intelligence, pattern recognition, machine learning and big data processing. Therefore, for some robots with limited computing power, how to use a limited platform to achieve all of the above functions is a key issue.

[0004] During the robot navigation process, route planning has high requirements on the robot's computing power. Therefore, a simple route planning method can not only quickly and effectively obtain a route that meets actual needs, but also improve the robot's navigation efficiency and reduce the demand for the robot's computing power during the actual driving process of the robot.

[0005] Apart from route planning, the key to avoiding obstacles during the actual driving of the robot lies in predicting the movement trajectory of the obstacles. Therefore, a fast and effective method is needed to determine the movement trajectory of the obstacles, and this method can provide continuous and real-time movement trajectory prediction. Summary of the invention

[0006] The present invention provides a robot vision positioning and navigation method for facilitating solving the problems mentioned in the above background technology.

[0007] The present invention provides the following technical solution: a robot visual positioning and navigation method,

[0008] An optional robot visual positioning and navigation method is characterized by comprising:

[0009] Input the robot's current location information and destination location information.

[0010] Retrieve and collect in real time the road information between the robot's location and the destination in the database. All roads are straight lines, and un-drivable sections are marked and removed.

[0011] The non-drivable road section refers to a road section that is closed due to construction or accidents and is therefore not drivable.

[0012] The overall route is formulated based on the drivable road sections, the number of road nodes included in the overall route is determined based on the road information stored in the database, and the overall route is divided into several local sections based on the road nodes.

[0013] Use the robot's infrared sensors and cameras to scan and photograph local road sections, mark obstacles and obtain obstacle information.

[0014] The obstacle is specifically a physical object existing on a local road section.

[0015] Analyze the movement trajectory of obstacles in the local road section, and obtain the obstacle movement area based on the obstacle movement trajectory.

[0016] Remove the obstacle area, control the robot to travel in the non-obstacle area and avoid obstacles.

[0017] If a section of the road ahead of the robot is blocked while the robot is driving, a temporary route adjustment will be performed until the robot reaches the destination.

[0018] Optional: The road information between the robot's location and the destination location is retrieved and collected in real time from the database, all roads are straight lines, and un-drivable sections are marked and removed, specifically:

[0019] S1, collect the road information between the robot's location and the destination location,

[0020] The road information is road infrastructure information and dynamic information related to real-time traffic operation.

[0021] Road infrastructure information mainly includes road geometry, traffic signs and markings, roadside facilities and environmental conditions along the way. Dynamic information mainly includes traffic flow, road congestion, traffic incidents, and meteorological environment information.

[0022] S2. If there is an un-drivable section between the robot's location and the destination location, delete the information of the un-drivable section from the collected road information.

[0023] Optionally, the overall route is formulated according to the drivable road sections, the number of road nodes included in the overall route is determined according to the road information stored in the database, and the overall route is divided into a number of local sections according to the road nodes, specifically:

[0024] S3, generate an electronic map, input the drivable road section information collected in steps S1-S2 into the electronic map,

[0025] S4: The robot's location is the starting point, and the destination's location is the ending point.

[0026] S5. Mark the road where the starting point is located, and mark the road where the ending point is located.

[0027] S6. If the road where the starting point is located and the road where the end point is located have an intersection, the intersection of the road where the starting point is located and the road where the end point is located is recorded as the road intersection.

[0028] S7, the road between the starting point and the road intersection, and the road between the end point and the road intersection, the two sections of road constitute the overall route;

[0029] S8. If there is no intersection between the road where the starting point is located and the road where the end point is located, determine whether there is an auxiliary road, specifically:

[0030] S9. Connect the starting point and the ending point. If there is a road, and the line segment where the road is located has an intersection with the line segment between the starting point and the ending point, and the road has an intersection with the road where the starting point is located and the road where the ending point is located, then record this road as an auxiliary road, record the intersection of the road where the starting point is located and the auxiliary road as the first auxiliary intersection, and record the intersection of the road where the ending point is located and the auxiliary road as the second auxiliary intersection.

[0031] S10: The road between the starting point and the first auxiliary intersection, the road between the first auxiliary intersection and the second auxiliary intersection, and the road between the second auxiliary intersection and the end point constitute the overall route.

[0032] S11. If the number of auxiliary roads is greater than 1, obtain the distance of the overall route formed by each auxiliary road, and select the auxiliary road corresponding to the minimum distance.

[0033] S12. If there is no auxiliary road, mark the roads that intersect both the road where the starting point is located and the road where the end point is located, obtain the distances between all marked roads and the starting point respectively, and compare them one by one, select the marked road with the smallest distance from the starting point, record the intersection point of the road where the starting point is located and the marked road as the first road node, record the intersection point of the road where the end point is located and the marked road as the second road node,

[0034] The road node is specifically the intersection of two or more roads.

[0035] S13: The road between the starting point and the first road node, the road between the first road node and the second road node, and the road between the second road node and the end point constitute an overall route, and this overall route is recorded as the first route.

[0036] S14, respectively obtain the distances between all marked roads and the end point, compare them one by one, select the marked road with the smallest distance to the end point, record the intersection of the road where the end point is located and the marked road as the third road node, record the intersection of the road where the end point is located and the marked road as the fourth road node,

[0037] S15, the road between the end point and the third road node, the road between the third road node and the fourth road node, and the road between the fourth road node and the start point, the three sections of road constitute an overall route, and this overall route is recorded as the second route.

[0038] S16. Compare the distances of the first route and the second route. If the distance of the first route is less than or equal to the distance of the second route, select the first route; if the distance of the first route is greater than the distance of the second route, select the second route; and divide the overall route into sections according to the road nodes, specifically, the road between two adjacent road nodes is a local section.

[0039] Optionally, the infrared sensor and camera equipped by the robot are used to scan and photograph a local road section, mark obstacles and obtain obstacle information, specifically:

[0040] S17. Use the infrared sensor and camera equipped by the robot to scan the local road section to obtain the length, width and obstacle information of the local road section, wherein the obstacle information specifically includes the obstacle position, the straight-line distance of the obstacle from the robot and the moving speed of the obstacle. Based on the collected local road section information and obstacle information, a two-dimensional plane coordinate system is constructed with the plane where the ground of the local road section is located as the coordinate plane, and only the coordinates of the obstacle projected on the coordinate system are retained in the coordinate system.

[0041] Optional: The analyzing the obstacle movement trajectory in the local road section and obtaining the obstacle movement area according to the obstacle movement trajectory are specifically as follows:

[0042] S18, using the infrared sensor and camera equipped by the robot to capture the video of the local road section,

[0043] S19, in chronological order, according to step S17, the coordinates of the same obstacle at different frame numbers are obtained in the two-dimensional plane coordinate system. For the same obstacle, the first coordinate and the last coordinate obtained are connected, and a ray is drawn in the direction from the first coordinate to the last coordinate. The trajectory of the ray is the moving trajectory of the obstacle.

[0044] S20. Draw a circle with the coordinates on the ray as the center. This circle is called the trajectory circle. The area formed by all trajectory circles drawn according to the coordinates on the ray is the moving area of ​​the obstacle. The radius of the trajectory circle is determined by the moving speed of the obstacle, specifically:

[0045] S21, obtain the distance that the obstacle moves in a certain period of time, and calculate the instantaneous speed of the obstacle based on the moving distance and moving time,

[0046] S22, repeat step S21 to obtain multiple instantaneous speeds of the obstacle, calculate the average value of all instantaneous speeds, and use the average value as the moving speed of the obstacle. The value of the moving speed of the obstacle is recorded as V, and the unit is m / s.

[0047] S23. If V≤50, the radius of the obstacle trajectory circle is (V / 100) m.

[0048] S24, if V>50, the radius of the obstacle trajectory circle is 0.5m,

[0049] S25. Execute steps S18-S24 for all obstacles in the local road section to generate a moving area of ​​all obstacles in the local road section, namely, an obstacle area.

[0050] Optional: removing the obstacle area, formulating a local route in the non-obstacle area, controlling the robot to avoid obstacles, and completing navigation and driving in this local section according to the local route, specifically:

[0051] S26, remove the obstacle area and control the robot to travel in the non-obstacle area.

[0052] S27. During driving, when there is an obstacle in front of the robot, obtain the moving direction of the obstacle.

[0053] S28. If the angle between the moving direction of the obstacle and the moving direction of the robot is less than 90°:

[0054] S29, obtaining the mapping speed of the obstacle in the moving direction of the robot. If the mapping speed of the obstacle in the moving direction of the robot is lower than the moving speed of the robot, the moving speed of the robot is reduced until the moving speed of the robot is equal to the mapping speed of the obstacle in the moving direction of the robot.

[0055] S30, if the mapping speed of the obstacle in the moving direction of the robot is higher than or equal to the moving speed of the robot, then maintaining the current moving direction and moving speed of the robot;

[0056] S31. If the angle between the moving direction of the obstacle and the moving direction of the robot is greater than or equal to 90°:

[0057] S32, obtain the ray made according to the coordinates of the obstacle, draw a straight line parallel to the ray on the side close to the robot, and the distance between the ray and the straight line is the radius of the obstacle trajectory circle,

[0058] S33, if the straight line where the robot moves in the direction of movement has an intersection with the drawn straight line, change the robot's moving direction until the straight line where the robot moves in the direction of movement has no intersection with the drawn straight line,

[0059] S34. If there is no intersection between the straight line where the robot's moving direction is located and the drawn straight line, the robot's moving direction and moving speed continue to be maintained.

[0060] Optional: If a partial road section ahead of the robot is blocked during the robot's driving process, a temporary route adjustment is performed until the robot reaches the destination, specifically:

[0061] If the road ahead of the robot is partially blocked during its driving, a temporary route adjustment will be performed.

[0062] The temporary route adjustments are as follows:

[0063] The robot stops driving and executes steps S1-S34 until it reaches the destination position.

[0064] The present invention has the following beneficial effects:

[0065] 1. When formulating the overall route, the robot visual positioning and navigation method selects a road that intersects with the road where the starting point and the road where the end point are located as part of the overall route. This overall route planning method ensures that the robot does not make too many changes in driving direction during driving, reducing the probability of accidents caused by changes in driving direction.

[0066] 2. The robot visual positioning and navigation method provides a fast and intuitive way to determine the movement trajectory of obstacles. It is suitable for scenarios where the robot is driving on a local road section. When an obstacle starts to move, even if only a small number of coordinate points are obtained, its movement trajectory can be immediately determined, allowing the robot to respond quickly and avoid potential collisions.

[0067] 3. When predicting the moving trajectory of obstacles, the robot visual positioning and navigation method uses trajectory circles of different radii to represent the moving area of ​​obstacles with different driving speeds. For high-speed moving obstacles, increasing the radius of the trajectory circle can provide the robot with a larger safety buffer zone and reduce the risk of collision. Conversely, for slow-moving obstacles, reducing the radius can avoid unnecessary excessive avoidance, thereby optimizing the route.

[0068] 4. The robot visual positioning and navigation method has a higher priority for changing the robot's moving speed than changing the robot's moving direction when avoiding obstacles. This method can reduce the probability of accidents caused by changes in the robot's moving direction. If the moving direction changes, it is necessary to readjust the moving direction when avoiding obstacles, which increases the robot's calculation work and reduces the robot's navigation efficiency.

[0069] 5. The robot visual positioning and navigation method selects the overall route with the shortest distance when choosing from multiple overall route plans. The shortest route often means that the robot can reach the destination in the shortest time. BRIEF DESCRIPTION OF THE DRAWINGS

[0070] Figure 1 Schematic diagram of road intersection.

[0071] Figure 2 A schematic diagram of the auxiliary road.

[0072] Figure 3 This is a schematic diagram of a non-auxiliary road. DETAILED DESCRIPTION

[0073] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0074] Embodiment 1, a robot visual positioning and navigation method, characterized by comprising:

[0075] Input the robot's current location information and destination location information.

[0076] Retrieve and collect in real time the road information between the robot's location and the destination in the database. All roads are straight lines, and non-drivable sections are marked and removed. Removing non-drivable sections can prevent the robot from entering dangerous areas, avoid collisions between the robot and obstacles or construction equipment, and reduce the occurrence of safety accidents. Removing non-drivable sections helps the robot choose the shortest, fastest or most economical route.

[0077] The non-drivable road section refers to a road section that is closed due to construction or accidents and is therefore not drivable.

[0078] The overall route is formulated according to the drivable road sections, and the number of road nodes contained in the overall route is determined according to the road information stored in the database. The overall route is divided into several local sections according to the road nodes. Dividing the overall route into several local sections can decompose the complex overall route planning problem into a series of smaller and easier to handle sub-problems. Each local section can be planned independently, which reduces the difficulty and calculation amount of the overall route planning.

[0079] Use the robot's infrared sensors and cameras to scan and photograph local sections of the road, mark obstacles and obtain obstacle information. The infrared sensor can detect obstacles ahead, and the camera can provide detailed visual information to help the robot identify specific landmarks or features, help the robot adjust its navigation strategy in real time, adapt to dynamic environments, and avoid unnecessary stops or detours.

[0080] The obstacle is specifically a physical object existing on a local road section.

[0081] Analyze the movement trajectory of obstacles in the local road section, and obtain the obstacle movement area based on the obstacle movement trajectory.

[0082] Remove the obstacle area, control the robot to travel in the non-obstacle area and avoid obstacles.

[0083] If a section of the road ahead of the robot is blocked while the robot is driving, a temporary route adjustment will be performed until the robot reaches the destination.

[0084] The road information between the robot's location and the destination location is retrieved and collected in real time in the database. All roads are straight lines, and untravelable sections are marked and removed. Specifically:

[0085] S1, collect the road information between the robot's location and the destination location,

[0086] The road information is road infrastructure information and dynamic information related to real-time traffic operation.

[0087] Road infrastructure information mainly includes road geometry, traffic signs and markings, roadside facilities and environmental conditions along the way. Dynamic information mainly includes traffic flow, road congestion, traffic incidents, and meteorological environment information.

[0088] S2. If there is an un-drivable section between the robot's location and the destination location, delete the information of the un-drivable section from the collected road information.

[0089] The overall route is formulated according to the drivable road sections, the number of road nodes included in the overall route is determined according to the road information stored in the database, and the overall route is divided into a number of local sections according to the road nodes, specifically:

[0090] S3, generate an electronic map, input the drivable road section information collected in steps S1-S2 into the electronic map,

[0091] S4: The robot's location is the starting point, and the destination's location is the ending point.

[0092] S5. Mark the road where the starting point is located, and mark the road where the ending point is located.

[0093] S6. Reference Figure 1 , if there is an intersection between the road where the starting point is and the road where the ending point is, the intersection of the road where the starting point is and the road where the ending point is is recorded as the road intersection.

[0094] S7, the road between the starting point and the road intersection, and the road between the end point and the road intersection, the two sections of road constitute the overall route, and the specific driving is driving from the location of the starting point to the location of the road intersection, and then driving from the location of the road node to the location of the end point;

[0095] S8. If there is no intersection between the road where the starting point is located and the road where the end point is located, determine whether there is an auxiliary road, specifically:

[0096] S9, reference Figure 2 , connect the starting point and the ending point. If there is a road, and the line segment where this road is located has an intersection with the line segment between the starting point and the ending point, it means that there is a road between the location of the starting point and the location of the ending point, and this road has an intersection with the road where the starting point is located and the road where the ending point is located. Then this road is recorded as an auxiliary road, and the intersection of the road where the starting point is located and the auxiliary road is recorded as the first auxiliary intersection, and the intersection of the road where the ending point is located and the auxiliary road is recorded as the second auxiliary intersection.

[0097] S10, the road between the starting point and the first auxiliary intersection, the road between the first auxiliary intersection and the second auxiliary intersection, and the road between the second auxiliary intersection and the end point, the three sections of road constitute the overall route, the specific driving is driving from the location of the starting point to the location of the first auxiliary intersection, then driving from the location of the first auxiliary intersection to the location of the second auxiliary intersection, and finally driving from the location of the second auxiliary intersection to the location of the end point,

[0098] S11. If the number of auxiliary roads is greater than 1, obtain the distance of the overall route formed by each auxiliary road, and select the auxiliary road corresponding to the minimum distance.

[0099] S12. Reference Figure 3If there is no auxiliary road, that is, there is no road between the starting point and the end point, then mark the road that intersects both the road where the starting point is and the road where the end point is, obtain the distance between all marked roads and the starting point, and compare them one by one, select the marked road with the smallest distance from the starting point, record the intersection of the road where the starting point is and the marked road as the first road node, and record the intersection of the road where the end point is and the marked road as the second road node.

[0100] The road node is specifically the intersection of two or more roads.

[0101] S13, the road between the starting point and the first road node, the road between the first road node and the second road node, and the road between the second road node and the end point, the three sections of road constitute the overall route, the specific driving is driving from the location of the starting point to the location of the first road node, then driving from the location of the first road node to the location of the second road node, and finally driving from the location of the second road node to the location of the end point, and this overall route is recorded as the first route,

[0102] S14, respectively obtain the distances between all marked roads and the end point, compare them one by one, select the marked road with the smallest distance to the end point, record the intersection of the road where the end point is located and the marked road as the third road node, record the intersection of the road where the end point is located and the marked road as the fourth road node,

[0103] S15, the road between the end point and the third road node, the road between the third road node and the fourth road node, and the road between the fourth road node and the starting point, the three sections of road constitute the overall route, the specific driving is driving from the location of the end point to the location of the third road node, then driving from the location of the third road node to the location of the fourth road node, and finally driving from the location of the fourth road node to the location of the starting point, and this overall route is recorded as the second route,

[0104] S16. Compare the distances of the first route and the second route. If the distance of the first route is less than or equal to the distance of the second route, select the first route. If the distance of the first route is greater than the distance of the second route, select the second route. The route with the shortest distance often means that the robot can reach the destination in the shortest time, which is crucial for time-sensitive applications such as emergency rescue, express delivery or industrial automation production. The overall route is segmented according to the road nodes. Specifically, the road between two adjacent road nodes is a local section.

[0105] The infrared sensor and camera equipped by the robot are used to scan and photograph the local road section, mark obstacles and obtain obstacle information, specifically:

[0106] S17, using the infrared sensor and camera equipped by the robot to scan the local section, obtain the length, width and obstacle information of the local section, the obstacle information specifically includes the position of the obstacle, the straight-line distance of the obstacle from the robot and the moving speed of the obstacle, and construct a two-dimensional plane coordinate system based on the plane of the ground of the local section as the coordinate plane according to the collected local section information and obstacle information, and only retain the coordinates of the obstacle projected on the coordinate system in the coordinate system. Establishing a unified coordinate system can ensure that all obstacles are in the same reference frame, which is convenient for data integration and processing. Marking the obstacle position in the coordinate system can provide the robot with accurate obstacle coordinate information, and help the robot accurately obtain obstacle information, so as to carry out effective obstacle avoidance planning.

[0107] The analysis of the obstacle movement trajectory in the local road section and the acquisition of the obstacle movement area according to the obstacle movement trajectory are specifically as follows:

[0108] S18, using the infrared sensor and camera equipped by the robot to capture the video of the local road section,

[0109] S19, in chronological order, according to step S17, the coordinates of the same obstacle at different frame numbers are obtained in the two-dimensional plane coordinate system. For the same obstacle, the first coordinate and the last coordinate obtained are connected, and a ray is drawn in the direction from the first coordinate to the last coordinate. The trajectory of the ray is the moving trajectory of the obstacle. This method provides a fast and intuitive way to determine the moving trajectory of the obstacle, which is suitable for the scene where the robot is driving on a local road section. When the obstacle starts to move, even if only a small number of coordinate points are obtained, its moving trajectory can be immediately determined, allowing the robot to respond quickly to avoid potential collisions.

[0110] S20. Draw a circle with the coordinates on the ray as the center, and record this circle as the trajectory circle. The area formed by all trajectory circles drawn according to the coordinates on the ray is the moving area of ​​the obstacle. The radius of the trajectory circle is determined by the moving speed of the obstacle. For high-speed moving obstacles, increasing the radius of the trajectory circle can provide a larger safety buffer for the robot and reduce the risk of collision. Conversely, for slow-moving obstacles, reducing the radius can avoid unnecessary excessive avoidance, thereby optimizing the route. Specifically:

[0111] S21, obtain the distance that the obstacle moves in a certain period of time, and calculate the instantaneous speed of the obstacle based on the moving distance and moving time,

[0112] S22, repeat step S21 to obtain multiple instantaneous speeds of the obstacle, calculate the average value of all instantaneous speeds, and use the average value as the moving speed of the obstacle. The value of the moving speed of the obstacle is recorded as V, and the unit is m / s.

[0113] S23. If V≤50, the radius of the obstacle trajectory circle is (V / 100) m.

[0114] S24, if V>50, the radius of the obstacle trajectory circle is 0.5m,

[0115] S25. Execute steps S18-S24 for all obstacles in the local road section to generate a moving area of ​​all obstacles in the local road section, namely, an obstacle area.

[0116] The obstacle area is removed, a local route is formulated in the non-obstacle area, the robot is controlled to avoid obstacles, and navigation and driving in the local section are completed according to the local route. Specifically,

[0117] S26, remove the obstacle area and control the robot to travel in the non-obstacle area.

[0118] S27. During driving, when there is an obstacle in front of the robot, obtain the moving direction of the obstacle.

[0119] S28. If the angle between the moving direction of the obstacle and the moving direction of the robot is less than 90°, it means that the robot and the obstacle are moving in the same direction:

[0120] S29, obtaining the mapping speed of the obstacle in the moving direction of the robot. If the mapping speed of the obstacle in the moving direction of the robot is lower than the moving speed of the robot, the moving speed of the robot is reduced until the moving speed of the robot is equal to the mapping speed of the obstacle in the moving direction of the robot.

[0121] S30, if the mapping speed of the obstacle in the moving direction of the robot is higher than or equal to the moving speed of the robot, then maintaining the current moving direction and moving speed of the robot;

[0122] S31. If the angle between the moving direction of the obstacle and the moving direction of the robot is greater than or equal to 90°, it means that the robot and the obstacle are moving towards each other:

[0123] S32, obtain the ray made according to the coordinates of the obstacle, draw a straight line parallel to the ray on the side close to the robot, and the distance between the ray and the straight line is the radius of the obstacle trajectory circle,

[0124] S33. If the straight line in the robot's moving direction intersects the drawn straight line, that is, the robot will collide with the obstacle during the driving process, the robot's moving direction is changed until the straight line in the robot's moving direction intersects the drawn straight line.

[0125] S34. If there is no intersection between the straight line where the robot's moving direction is located and the drawn straight line, the robot's moving direction and moving speed continue to be maintained.

[0126] If the robot is traveling and a partial road section in front of the robot is blocked, a temporary route adjustment is performed until the robot reaches the destination, specifically:

[0127] If the road ahead of the robot is partially blocked during its driving, a temporary route adjustment will be performed.

[0128] The temporary route adjustments are as follows:

[0129] The robot stops driving and executes steps S1-S34 until it reaches the destination position.

[0130] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device.

[0131] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the technical principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A robot visual positioning and navigation method, characterized in that: include: Input the robot's current location information and destination location information. Retrieve and collect in real time the road information between the robot's location and the destination in the database. All roads are straight lines, and un-drivable sections are marked and removed. The overall route is formulated based on the drivable road sections, the number of road nodes included in the overall route is determined based on the road information stored in the database, and the overall route is divided into several local sections based on the road nodes. The robot's location is the starting point, and the destination's location is the ending point. If the road where the starting point is located and the road where the end point is located have an intersection, the intersection of the road where the starting point is located and the road where the end point is located is recorded as the road intersection. The road between the starting point and the road intersection, and the road between the ending point and the road intersection constitute the overall route; If the road where the starting point is located does not have an intersection with the road where the end point is located, determine whether there is an auxiliary road: Connect the starting point and the ending point. If there is a road, and the line segment where this road is located has an intersection with the line segment between the starting point and the ending point, and this road has an intersection with the road where the starting point is located and the road where the ending point is located, then this road is recorded as an auxiliary road. The intersections of the roads where the starting point and the ending point are located with the auxiliary roads are recorded as the first auxiliary intersection and the second auxiliary intersection respectively. The road between the starting point and the first auxiliary intersection, the road between the first auxiliary intersection and the second auxiliary intersection, and the road between the second auxiliary intersection and the end point constitute the overall route. If the number of auxiliary roads is greater than 1, compare the distance of each auxiliary road to the overall route, and select the one with the smallest distance as the overall route. If there is no auxiliary road, then mark the roads that intersect with both the road where the starting point and the road where the end point are located, obtain the distances between all marked roads and the starting point and the end point respectively, and compare them one by one, select the marked road with the smallest distance from the starting point, record the intersection points of the roads where the starting point and the end point are located with this marked road as the first road node and the second road node respectively, select the marked road with the smallest distance from the end point, record the intersection points of the roads where the end point and the starting point are located with this marked road as the third road node and the fourth road node respectively, The road between the starting point and the first road node, the road between the first road node and the second road node, and the road between the second road node and the end point constitute a first route. The road between the end point and the third road node, the road between the third road node and the fourth road node, and the road between the fourth road node and the start point constitute the second route. Compare the distance between the first route and the second route, and select the route with the smaller distance between the first route and the second route as the overall route; Use the robot's infrared sensors and cameras to scan and photograph local road sections, mark obstacles and obtain obstacle information. The obstacle is specifically a physical object existing on a local road section. Analyze the movement trajectory of obstacles in the local road section, and obtain the obstacle movement area based on the obstacle movement trajectory. Remove obstacle areas and control the robot to travel in non-obstacle areas and avoid obstacles.

2. A robot visual positioning and navigation method according to claim 1, characterized in that: The infrared sensor and camera equipped by the robot are used to scan and photograph the local road section, mark obstacles and obtain obstacle information, specifically: The infrared sensor and camera equipped by the robot are used to scan this local road section to obtain the length, width and obstacle information of this local road section. The obstacle information specifically includes the obstacle position, the straight-line distance of the obstacle from the robot and the moving speed of the obstacle. Based on the collected local road section information and obstacle information, a two-dimensional plane coordinate system is constructed with the plane where the ground of the local road section is located as the coordinate plane, and only the coordinates of the obstacle projected on the coordinate system are retained in the coordinate system.

3. A robot visual positioning and navigation method according to claim 1, characterized in that: The analysis of the obstacle movement trajectory in the local road section and the acquisition of the obstacle movement area according to the obstacle movement trajectory are specifically as follows: The robot is equipped with infrared sensors and cameras to capture videos of local road sections. In chronological order, the coordinates of the same obstacle at different frame numbers are obtained in the two-dimensional plane coordinate system. For the same obstacle, the first coordinate and the last coordinate obtained are connected, and a ray is drawn from the first coordinate to the last coordinate. The trajectory of the ray is the movement trajectory of the obstacle. Draw a circle with the coordinates on the ray as the center, and record this circle as the trajectory circle. The area formed by all trajectory circles drawn according to the coordinates on the ray is the moving area of ​​the obstacle. The radius of the trajectory circle is determined by the moving speed of the obstacle, specifically: Obtain the distance that the obstacle moves in a certain period of time, and calculate the instantaneous speed of the obstacle based on the moving distance and moving time. Obtain multiple instantaneous speeds of the obstacle, calculate the average of all instantaneous speeds, and use the average as the moving speed of the obstacle. The obstacle moving speed value is V, and the unit is m / s. If V≤50, the radius of the obstacle trajectory circle is (V / 100) m. If V>50, the radius of the obstacle trajectory circle is 0.5m. Generate the moving area of ​​all obstacles in this local road section, which is the obstacle area.

4. A robot visual positioning and navigation method according to claim 1, characterized in that: The obstacle removal area is to control the robot to travel and avoid obstacles in the non-obstacle area, specifically: Remove the obstacle area and control the robot to drive in the non-obstacle area. During driving, when there is an obstacle in front of the robot, obtain the moving direction of the obstacle. If the angle between the obstacle's moving direction and the robot's moving direction is less than 90°: Get the mapping speed of this obstacle in the direction of robot movement. If the mapping speed of this obstacle in the direction of robot movement is lower than the robot movement speed, reduce the robot movement speed until the robot movement speed is equal to the mapping speed of this obstacle in the direction of robot movement. If the mapping speed of the obstacle in the robot's moving direction is higher than or equal to the robot's moving speed, the robot's current moving direction and moving speed are maintained; If the angle between the obstacle's moving direction and the robot's moving direction is greater than or equal to 90°: Get the ray made according to the coordinates of the obstacle, draw a straight line parallel to the ray on the side close to the robot, and the distance between the ray and the straight line is the radius of the obstacle trajectory circle. If the straight line where the robot moves in the direction of movement intersects with the drawn straight line, the robot's moving direction is changed until the straight line where the robot moves in the direction of movement intersects with the drawn straight line. If there is no intersection between the straight line where the robot moves in the direction of movement and the drawn straight line, the robot's moving direction and speed will continue to be maintained.

Citation Information

Patent Citations

  • Mobile robot multi-behavior syncretizing automatic navigation method under unknown environment

    CN101354587A

  • Mobile robot navigation and positioning system based on multi-sensor data

    CN118089694A