A desktop mobile robot obstacle avoidance control method and system
By combining a desktop camera and infrared sensors to identify and analyze obstacles, the robot's path and speed are dynamically adjusted, solving the global and real-time problems of path planning in desktop environments and achieving efficient obstacle avoidance and safety.
Patent Information
- Application Number
- CN202510655077.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2025-01-21
- Filing Date
- 2025-05-21
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2045-05-21
AI Technical Summary
Existing technologies struggle to achieve global and real-time adjustments to robot paths in desktop environments, especially when dynamic obstacles appear. It is difficult to balance path planning efficiency and safety, and there is a lack of intelligent speed adjustment mechanisms.
The robot identifies static and dynamic obstacles using a desktop camera, selects the optimal path by combining obstacle identification information with historical navigation path information, and uses infrared sensors to acquire information on dynamic obstacles, analyze their movement trends, and dynamically adjust the robot's movement speed.
It achieves global and real-time robot path selection in a desktop environment, ensuring obstacle avoidance while taking into account operational efficiency and safety. The movement trend prediction of dynamic obstacles adjusts the speed in real time, improving the safety and efficiency of robot task completion.
Smart Images

Figure CN120469426B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robot obstacle avoidance control, and in particular relates to a tabletop mobile robot obstacle avoidance control method and system. BACKGROUND
[0002] In a tabletop environment, due to limited space and the presence of various static and dynamic obstacles, how to achieve efficient obstacle avoidance has become an important research direction. Tabletop mobile robots are usually small in size and flexible in movement, making them suitable for performing tasks in small spaces, such as teaching experiments, material transportation, or intelligent entertainment.
[0003] In a tabletop environment, there are various types of obstacles, including static obstacles (such as cups, books) and dynamic obstacles (such as hand interference, other mobile devices). The robot must be able to quickly and accurately identify obstacles and plan a path to avoid collisions, ensuring the safety of the system and the effective completion of tasks.
[0004] The prior art has the following defects:
[0005] 1. Most path planning algorithms rely on a single preset path or local environmental information based on robot sensors for planning, which cannot fully grasp the global environment. When the environment changes (such as the appearance of dynamic obstacles or target position adjustment), the robot path is difficult to adjust in time, which may lead to invalid paths or reduced efficiency.
[0006] 2. For dynamic obstacle avoidance, existing technologies mainly respond through simple speed reduction or stopping, lacking a more intelligent speed adjustment mechanism, and not fully considering the movement trend of the obstacle, which can easily lead to excessive speed reduction or frequent start-stop of the robot, making it difficult to achieve optimal balance in moving speed. Overly conservative strategies can significantly reduce robot efficiency, while overly aggressive strategies can increase the risk of collision.
[0007] Therefore, the present application proposes a tabletop mobile robot obstacle avoidance control method and system, which performs dynamic optimization based on static planning, making path selection both global and real-time. Based on the prediction of the movement trend of dynamic obstacles, the moving speed of the robot is adjusted in real time to ensure that both obstacle avoidance and running efficiency and safety are considered. SUMMARY
[0008] The purpose of the present application is to provide a tabletop mobile robot obstacle avoidance control method and system to solve the problems in the background art.
[0009] To achieve the above purpose, the present application provides the following technical solution: a tabletop mobile robot obstacle avoidance control method, the control method comprising the following steps:
[0010] acquire current task information of the mobile robot, a plurality of cruise paths matched with the current task information, and desktop image data;
[0011] identify static obstacles and dynamic obstacles of the desktop, automatically select an optimal cruise path in combination with the identification information of the obstacles and the historical information of the cruise paths, and control the mobile robot to move through the optimal cruise path;
[0012] In the moving process, dynamic obstacle information in the moving direction is acquired, and the moving trend of the dynamic obstacles is analyzed in combination with the dynamic obstacle information acquired by the desktop camera;
[0013] The moving speed of the mobile robot is dynamically adjusted based on the analysis result.
[0014] In a preferred embodiment, the automatic selection of the optimal cruise path in combination with the identification information of the obstacles and the historical information of the cruise paths comprises the following steps:
[0015] The optimal coefficient of the cruise path is calculated by comprehensively calculating the path performance index, the number of static obstacles occupying the path, the number of dynamic obstacles occupying the path, and the moving speed of the dynamic obstacles;
[0016] The cruise path with the largest optimal coefficient is selected as the optimal cruise path for the mobile robot to execute the current task, and the mobile robot is controlled to move through the optimal cruise path.
[0017] In a preferred embodiment, in the moving process, the dynamic obstacle information in the moving direction is acquired, and the moving trend of the dynamic obstacles is analyzed in combination with the dynamic obstacle information acquired by the desktop camera, comprising the following steps:
[0018] The amplitude error is calculated according to the first dynamic obstacle influence amplitude and the second dynamic obstacle influence amplitude, if the amplitude error is less than or equal to the error threshold, it is judged that the dynamic obstacle data acquired by the infrared sensor is usable, if the amplitude error is greater than the error threshold, it is judged that the dynamic obstacle data acquired by the infrared sensor is unusable;
[0019] When it is judged that the dynamic obstacle data acquired by the infrared sensor is usable, the first dynamic obstacle influence amplitude is used, and when it is judged that the dynamic obstacle data acquired by the infrared sensor is unusable, the second dynamic obstacle influence amplitude is used;
[0020] The first dynamic obstacle influence amplitude or the second dynamic obstacle influence amplitude is compared with the influence threshold value. If the first dynamic obstacle influence amplitude is greater than or equal to the influence threshold value or the second dynamic obstacle influence amplitude is greater than or equal to the influence threshold value, it is analyzed that the dynamic obstacle moves towards the cruise path direction and the moving speed is fast. If the first dynamic obstacle influence amplitude is less than the influence threshold value or the second dynamic obstacle influence amplitude is less than the influence threshold value, it is analyzed that the dynamic obstacle moves towards the opposite direction of the cruise path.
[0021] In a preferred embodiment, the moving speed of the mobile robot is dynamically adjusted based on the analysis result, including the following steps:
[0022] When the dynamic obstacle moves towards the cruise path direction and the moving speed is fast, the moving speed of the mobile robot needs to be dynamically adjusted, and the expression is:
[0023] , wherein, is the moving speed after dynamic adjustment, is the moving speed before dynamic adjustment, is the dynamic obstacle influence amplitude, and the control system controls the mobile robot to move according to the moving speed after dynamic adjustment.
[0024] In a preferred embodiment, the acquisition logic of the first dynamic obstacle influence amplitude is as follows: the dynamic obstacle data acquired by the infrared sensor is acquired, including the first dynamic obstacle moving direction assignment, the first dynamic obstacle moving speed, and the first dynamic obstacle volume. The first dynamic obstacle moving speed and the first dynamic obstacle volume are normalized and summed to obtain the first dynamic obstacle influence factor. The first dynamic obstacle influence amplitude is obtained by multiplying the first dynamic obstacle influence factor by the first dynamic obstacle moving direction assignment.
[0025] The acquisition logic of the second dynamic obstacle influence amplitude is as follows: the dynamic obstacle data acquired by the desktop camera is acquired, including the second dynamic obstacle moving direction assignment, the second dynamic obstacle moving speed, and the second dynamic obstacle volume. The second dynamic obstacle moving speed and the second dynamic obstacle volume are normalized and summed to obtain the second dynamic obstacle influence factor. The second dynamic obstacle influence amplitude is obtained by multiplying the second dynamic obstacle influence factor by the second dynamic obstacle moving direction assignment.
[0026] In a preferred embodiment, the first dynamic obstacle moving direction assignment acquisition logic is: after detecting the positions of the dynamic object at multiple moments through the infrared sensor, analyzing the first dynamic obstacle moving direction, if the dynamic obstacle moves towards the cruise path direction, indicating that the dynamic obstacle will enter the cruise path and will affect the movement of the mobile robot, the first dynamic obstacle moving direction assignment is 1, if the dynamic obstacle moves away from the cruise path, indicating that the dynamic obstacle is away from the cruise path and will not affect the movement of the mobile robot, the first dynamic obstacle moving direction assignment is 0.
[0027] In a preferred embodiment, the path performance index calculation logic is: subtracting the passing time normalized value from the passing success rate normalized value to obtain the path performance index.
[0028] In a preferred embodiment, the calculation logic of the passing success rate normalized value and the passing time normalized value is: obtaining the historical data of the cruise path, the historical data including the passing time and the passing success rate, normalizing the passing success rate and the passing time to map the value range of the passing success rate and the passing time to [0, 1], obtaining the passing success rate normalized value and the passing time normalized value.
[0029] In a preferred embodiment, identifying the static obstacles and dynamic obstacles on the table includes the following steps:
[0030] The control system calls the table camera to obtain continuous image data, uses a filtering algorithm to remove noise in the image, highlights the edge features of the obstacles by adjusting the contrast, brightness or performing edge enhancement, and converts the image from the RGB color space to the HSV color space;
[0031] An object detection algorithm is used to identify static objects, an image segmentation technique is used to extract static obstacle regions, shape features are used to match with a known static obstacle library to confirm the type and position of the obstacles;
[0032] Frame difference method or optical flow method is used to detect moving objects on the table, continuous video frames are analyzed to extract dynamic change regions corresponding to dynamic obstacles, and a target tracking algorithm is used to continuously track the position, speed and trajectory of the dynamic objects;
[0033] All identified obstacle information is stored in an obstacle map, including the position, type, size, motion trajectory information of the obstacles, and the state and position of the obstacles are updated in real time, and the identification results of the obstacles are fed back to the mobile robot.
[0034] A table mobile robot obstacle avoidance control system includes a cruise path acquisition module, an optimal path selection module, and a dynamic control module.
[0035] The cruise path acquisition module acquires the current task information of the mobile robot and acquires a plurality of cruise paths matching the current task information based on a database;
[0036] The optimal path selection module acquires the desktop image data through the desktop camera, processes the desktop image data, recognizes the static obstacles and dynamic obstacles on the desktop, combines the recognition information of the obstacles and the historical information of the cruise paths to automatically select an optimal cruise path;
[0037] The dynamic regulation module controls the mobile robot to move through the optimal cruise path, acquires the dynamic obstacle information in the moving direction through the infrared sensor configured on the mobile robot in the moving process, combines the dynamic obstacle information acquired by the infrared sensor with the dynamic obstacle information acquired by the desktop camera, analyzes the moving trend of the dynamic obstacles, and dynamically adjusts the moving speed of the mobile robot based on the analysis result.
[0038] In the above technical solution, the present application provides the technical effects and advantages:
[0039] The present application acquires the desktop image data through the desktop camera, processes the desktop image data, recognizes the static obstacles and dynamic obstacles on the desktop, combines the recognition information of the obstacles and the historical information of the cruise paths to automatically select an optimal cruise path, acquires the dynamic obstacle information in the moving direction through the infrared sensor configured on the mobile robot, combines the dynamic obstacle information acquired by the infrared sensor with the dynamic obstacle information acquired by the desktop camera, analyzes the moving trend of the dynamic obstacles, and dynamically adjusts the moving speed of the mobile robot based on the analysis result. The control system dynamically optimizes on the basis of the static planning, so that the path selection is both global and real-time, the moving speed of the robot is adjusted in real time based on the motion trend prediction of the dynamic obstacles, and the running efficiency and safety are ensured while avoiding obstacles. BRIEF DESCRIPTION OF DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed in the embodiments will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments described in the present application, and other drawings can also be obtained by those skilled in the art based on these drawings.
[0041] Figure 1 The method flowchart of the present application.
[0042] Figure 2 The method timing chart of the present application.
[0043] Figure 3 The system architecture diagram of the present application. DETAILED DESCRIPTION
[0044] In order to make the purposes, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are some but not all of the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present application.
[0045] Embodiment 1: Please refer to Figure 1 and Figure 2 The desktop mobile robot obstacle avoidance control method described in the embodiment includes the following steps:
[0046] The control system obtains the current task information of the mobile robot, and obtains multiple cruise paths matched with the current task information based on a database. The desktop image data is obtained through a desktop camera, and after the desktop image data is processed, the static obstacles and dynamic obstacles on the desktop are identified. The optimal cruise path is automatically selected in combination with the identification information of the obstacles and the historical information of the cruise paths, and the mobile robot is controlled to move through the optimal cruise path. In the moving process, the control system obtains the dynamic obstacle information in the moving direction through the infrared sensor configured on the mobile robot, and combines the dynamic obstacle information obtained by the infrared sensor with the dynamic obstacle information obtained by the desktop camera, analyzes the moving trend of the dynamic obstacles, and analyzes the moving speed of the mobile robot based on the analysis result.
[0047] The desktop image data is obtained through the desktop camera, and after the desktop image data is processed, the static obstacles and dynamic obstacles on the desktop are identified. The optimal cruise path is automatically selected in combination with the identification information of the obstacles and the historical information of the cruise paths. The dynamic obstacle information in the moving direction is obtained through the infrared sensor configured on the mobile robot, and the dynamic obstacle information obtained by the infrared sensor is combined with the dynamic obstacle information obtained by the desktop camera. The moving trend of the dynamic obstacles is analyzed, and the moving speed of the mobile robot is dynamically adjusted based on the analysis result. The control system dynamically optimizes on the basis of static planning, so that the path selection is both global and real-time. Based on the motion trend prediction of the dynamic obstacles, the moving speed of the robot is adjusted in real time to ensure that the running efficiency and safety are considered while avoiding obstacles.
[0048] Embodiment 2: The control system obtains the current task information of the mobile robot, and obtains multiple cruise paths matched with the current task information based on a database, including the following steps:
[0049] The control system receives task request information (e.g., task type, target location, priority, etc.) from a user or other systems.
[0050] The control system parses the task information and extracts key parameters (e.g., target location, task nature, expected completion time, etc.). Based on the task requirements, it determines whether a specific path planning strategy is needed, such as whether to avoid obstacles in a desktop environment, whether the path needs to prioritize shortest distance or least obstacles, etc.
[0051] The control system retrieves historical cruise paths from the database based on the task information. It accesses the database and retrieves historical cruise paths that match the current task based on the task information (e.g., target location, task type). Based on the data in the database, it filters out multiple possible cruise paths.
[0052] Example 1: Task type is a desktop cleaning task
[0053] Task information parsing:
[0054] Target location: A designated area in the upper right corner of the desktop.
[0055] Task nature: Clean dust or debris on the desktop.
[0056] Expected completion time: Complete the cleaning task within 15 minutes.
[0057] Path planning strategy determination:
[0058] Obstacle avoidance requirement: The robot needs to avoid static obstacles on the desktop (such as books, pen holders, etc.).
[0059] Path requirements: Shortest distance path, avoiding static obstacles.
[0060] Database retrieval and path selection:
[0061] Pre-set path 1: Starting from the robot's starting point, passing through the left side of the desktop, avoiding known obstacles (such as large books, pen holders) to reach the upper right corner cleaning area. This path is suitable for cases where there are fewer obstacles on the desktop, and it is direct and efficient.
[0062] Pre-set path 2: If there are many obstacles on the desktop, path 2 will avoid the more densely populated areas (e.g., the center of the desktop), and will take a detour to ensure that the robot can reach the cleaning area smoothly.
[0063] Pre-set path 3: If the desktop environment is complex and contains many dynamic obstacles (such as human hands, movement of other objects), choose path 3, which avoids dynamic obstacle dense areas and ensures that the robot cleaning area is not disturbed.
[0064] Path Selection: The control system selects the appropriate path from the preset paths based on the task environment (e.g., desktop obstacle layout, dynamic obstacles, etc.). If there are fewer obstacles, Path 1 is preferred; if there are many obstacles and many dynamic obstacles, Path 2 or Path 3 is chosen.
[0065] Example 2: Task Type is an Item Transport Task
[0066] Task Information Analysis:
[0067] Target Position: Transport from the item's position at the lower left corner of the desktop to the upper right corner.
[0068] Task Nature: Transporting items, requiring the robot to avoid collisions and maintain the stability of the items.
[0069] Expected Completion Time: Complete the transport within 10 minutes.
[0070] Path Planning Strategy Judgment:
[0071] Obstacle Avoidance Requirement: Must avoid static obstacles on the desktop (such as other items) and ensure no collisions occur during transport.
[0072] Path Requirements: Choose a relatively smooth path to avoid sharp turns and high obstacle areas, ensuring that items do not fall.
[0073] Database Retrieval and Path Selection:
[0074] Preset Path 1: A straight-line path from the starting point to the target area without obstacles. Suitable for situations where the desktop environment is empty and there are no moving items.
[0075] Preset Path 2: To avoid some larger static objects on the desktop (such as coffee cups, folders, etc.), Path 2 slightly detours, but the path is longer to avoid dangerous areas.
[0076] Preset Path 3: In the case of many dynamic obstacles on the desktop (such as the movement of other items), Path 3 avoids these areas and moves at a slower speed to ensure a stable transport process.
[0077] Path Selection: The control system selects the most appropriate path based on real-time feedback from the desktop environment. If there are fewer obstacles on the desktop, choose Path 1; if there are many obstacles and dynamic objects need to be avoided, choose Path 3.
[0078] Example 3: Task Type is a Desktop Patrol Task
[0079] Task Information Analysis:
[0080] Target Position: Not fixed, the robot needs to periodically check multiple points on the desktop.
[0081] Task Nature: Regular patrol, check if there are any items missing or changes on the table.
[0082] Expected Completion Time: Complete the patrol task within 30 minutes.
[0083] Path Planning Strategy Judgment:
[0084] Obstacle Avoidance Requirement: Need to avoid static and dynamic obstacles on the table.
[0085] Path Requirements: Multiple paths combined for patrol to ensure efficient task completion.
[0086] Database Retrieval and Path Selection:
[0087] Pre-set Path 1: Suitable for situations with fewer obstacles on the table, the robot follows Path 1 for fast patrol, covering the main areas of the table.
[0088] Pre-set Path 2: When encountering dynamic obstacles (such as hands or other robots), Path 2 will avoid these areas, detouring the table to ensure the robot is not disturbed during the patrol.
[0089] Pre-set Path 3: If the table area has complex obstacles, Path 3 will take a longer path to ensure the robot avoids areas that may block the patrol, while responding to dynamic obstacles.
[0090] Path Selection: The control system selects the appropriate path based on the specific requirements of the task (specific sequence of patrol paths, table environment, etc.). For example, if it's a fast patrol, the system selects Path 1; if it needs to avoid dynamic obstacles, select Path 2 or Path 3.
[0091] Example 4: Task type is an emergency response task
[0092] Task Information Analysis:
[0093] Target Location: An emergency situation occurs at the upper right corner of the table, requiring the robot to respond immediately and reach.
[0094] Task Nature: Emergency response task, ensuring the robot quickly reaches and handles the emergency.
[0095] Expected Completion Time: Reach the target area within 5 minutes.
[0096] Path Planning Strategy Judgment:
[0097] Obstacle Avoidance Requirement: In an emergency, path planning needs to ensure quick arrival at the target location, avoiding any static or dynamic obstacles.
[0098] Path Requirements: Reach the target as quickly as possible, avoiding any obstacles.
[0099] Database retrieval and path selection:
[0100] Pre-set path 1: Shortest path, suitable for scenarios with few obstacles on the table, allowing for quick and direct access to the target area.
[0101] Pre-set path 2: If there are many obstacles on the table, path 2 will moderately detour to ensure avoidance of these obstacles, but will slightly increase the time.
[0102] Pre-set path 3: If the table environment is complex and there are multiple dynamic obstacles, path 3 will avoid all potential collision risks through more complex detours, ensuring the robot reaches the target area quickly.
[0103] Path selection: The control system prioritizes the shortest path (path 1) based on the requirements of the emergency task and the complexity of the table environment. If obstacles are found to affect passage, a detour path (path 2 or path 3) is selected.
[0104] In these scenarios, all patrol paths are pre-set by humans. This application only provides simple scenario examples. In complex scenario examples, the patrol path includes more than ten paths, and is usually set during the system design phase based on the characteristics of the table environment and task requirements. The control system selects the most suitable path for the current task from these pre-set paths based on real-time environmental feedback (such as the location of obstacles, changes in dynamic obstacles, etc.) during task execution. According to the task type (such as cleaning, carrying, patrol, etc.) and environmental conditions (such as the distribution of obstacles, the presence of dynamic obstacles, etc.), the most suitable path is selected to perform the task.
[0105] Obtain table image data through the table camera, process the table image data, and identify the static and dynamic obstacles on the table, including the following steps:
[0106] The control system calls the table camera to obtain continuous image data (pictures or video frames).
[0107] The image data must have sufficient resolution and clarity to facilitate subsequent image processing and obstacle identification. Adjust the camera's angle, focal length, lighting, and other parameters as needed to ensure good visualization of the table area.
[0108] Use filtering algorithms (such as Gaussian filtering, median filtering) to remove noise in the image, improve image quality, and avoid noise affecting obstacle identification. Adjust the contrast, brightness, or perform edge enhancement (such as Canny edge detection) to highlight the edge features of obstacles and improve the accuracy of subsequent identification. Convert the image from the RGB color space to other suitable color spaces for processing (such as grayscale or HSV color space), reducing computational complexity.
[0109] Static objects are identified using object detection algorithms (e.g., contour-based detection, morphological operations). These algorithms recognize immobile objects on the table (e.g., books, coffee cups, pen holders, etc.) based on features such as shape, size, edges, etc. These algorithms are known in the art and will not be described in detail.
[0110] Static objects in the image are separated from the background, and image segmentation techniques (e.g., thresholding, color or texture-based segmentation) are used to extract static obstacle regions. Shape features (e.g., contours, area) are used to match with a known static obstacle library to further confirm the type and location of the obstacle.
[0111] Moving objects on the table are detected using inter-frame difference methods (by comparing the differences between consecutive frames of images to identify dynamic regions) or optical flow methods (estimating the movement of objects in images). Consecutive video frames are analyzed to extract dynamic change regions, which correspond to dynamic obstacles.
[0112] The identified dynamic obstacles are tracked using target tracking algorithms (e.g., Kalman filtering, Meanshift, Camshift, or deep learning-based YOLO, SSD, etc.) to continuously track the position, speed, and trajectory of dynamic objects. These techniques are known in the art and will not be described in detail. The future possible movement path and speed of the dynamic obstacle are analyzed based on its motion trajectory.
[0113] False positives caused by changes in lighting or camera shaking, etc. are eliminated by comparing motion estimation and background models. It is determined whether the dynamic obstacle will affect the robot's path, and further analysis is performed (e.g., speed, direction, etc.). If there are multiple dynamic obstacles on the table, multi-target tracking algorithms (e.g., SORT, DeepSORT, etc.) are used to track multiple moving targets simultaneously to ensure the identification and location update of all dynamic obstacles. The dynamic obstacles are tracked, and their speed, direction, and other motion characteristics are recorded, and their future possible movement paths are predicted.
[0114] All identified obstacle information (static and dynamic) is stored in the obstacle map, including the location, type, size, motion trajectory, etc. of the obstacle. The state and location of the obstacle are updated in real time to ensure that the robot can make dynamic obstacle avoidance decisions in real-time environments.
[0115] The control system feeds the identification results of the obstacles to the mobile robot for path planning and obstacle avoidance decisions.
[0116] Through the above steps, the control system can use the desktop camera to obtain real-time image data, and through image processing, object detection, target tracking and other technologies, accurately identify static and dynamic obstacles in the desktop environment. These information can provide important support for subsequent path planning and obstacle avoidance control, ensuring that the robot can intelligently adapt to changes in the desktop environment, avoid obstacles and complete tasks.
[0117] Automatically select the optimal cruise path in combination with the identification information of the obstacles and the historical information of the cruise path, and control the mobile robot to move through the optimal cruise path, including the following steps:
[0118] Obtain historical data of the cruise path, the historical data including the passing time length and the passing success rate, normalize the passing success rate and the passing time length, so that the value range of the passing success rate and the passing time length is mapped to [0, 1], obtain the normalized value of the passing success rate and the normalized value of the passing time length, and obtain the path performance index by subtracting the normalized value of the passing time length from the normalized value of the passing success rate;
[0119] For a certain path, record the number of times the robot attempts to pass through the path and the number of times it successfully passes through, and then calculate the passing success rate. The calculation method is: passing success rate=(number of successful passes) / (total number of attempts). This method is widely used in robot path planning and path optimization research to measure the reliability and feasibility of different paths. For example, in a complex environment, if a path has many obstacles or unpredictable factors, the robot may not be able to pass smoothly in some cases, resulting in a lower success rate; while for a relatively smooth and unobstructed path, the success rate is higher.
[0120] "Passing time length" refers to the time required for the robot to pass from the starting point to the end point of the path, which can be directly recorded by sensors or the control system. For any path, the robot can measure multiple sets of passing time in multiple cruise processes, and take the average value as the passing time length of the path.
[0121] In this application, the calculation method of the path performance index adopts the normalization method, so that the value range of the passing success rate and the passing time length is mapped to the interval [0, 1]. After normalization, the calculation method of the path performance index is as follows: path performance index=normalized passing success rate-normalized passing time length. The significance of this calculation method is: if the success rate of the path is high and the passing time length is short, the performance index value is large, indicating that the path is optimal. If the success rate of the path is low or the passing time length is long, the performance index value is small, indicating that the path is not ideal. This calculation method can consider the feasibility and efficiency of the path, so that the path optimization can preferentially select the path with high success rate and short passing time. Therefore, the larger the performance index, the better the cruise path.
[0122] For the table mobile robot, the static object on the table may not appear in the history running process of the mobile robot (i.e. the static object is a recent appearance), and the recent appearance of the static object may occupy several cruise paths, and when the cruise path is occupied, it is also necessary to analyze whether the mobile robot can bypass the static object occupying the cruise path (if it cannot bypass, it indicates that the mobile robot cannot pass through the cruise path), so we have the following scheme:
[0123] The preferred coefficient of the cruise path is obtained by comprehensively calculating the path performance index, the number of static obstacles occupying the path, the number of dynamic obstacles occupying the path, and the moving speed of the dynamic obstacle, and the expression is:
[0124] In the formula, is the preferred coefficient, is the moving speed of the dynamic obstacle, is the path performance index, is the number of static obstacles occupying the path, is the number of dynamic obstacles occupying the path, , , is the adjustment coefficient, and , , are all greater than 0;
[0125] The greater the preferred coefficient of the cruise path, the more beneficial the overall cruise path is to the passage, and the cruise path with the largest preferred coefficient is selected as the optimal cruise path for the mobile robot to execute the current task, and the mobile robot is controlled to move through the optimal cruise path.
[0126] The preferred coefficient of the cruise path proposed in the present application is a comprehensive evaluation based on multiple influencing factors, which specifically considers the path performance index, the number of static obstacles, the number of dynamic obstacles, and the moving speed of the dynamic obstacle. The basis for using this formula is as follows:
[0127] The reason for taking the path performance index as an exponential is that the path performance index measures the overall feasibility of the path. The purpose of taking the exponential is to make the influence of the performance index on the preferred coefficient show a non-linear enhancement effect, that is, when the path performance index is higher, its influence is greater, which can make the preferred coefficient more obviously distinguish the advantages and disadvantages of different paths.
[0128] Reason for taking the logarithm of the dynamic obstacle moving speed: The moving speed of dynamic obstacles has a greater impact on path evaluation. Obstacles with high speed may quickly leave the path, so their impact is not linearly increasing. Using a logarithmic function can make the impact of speed more moderate, avoiding the rapid fluctuation of path optimization coefficients caused by high-speed dynamic obstacles, and thus more reasonably evaluating the pros and cons of the path. Adding 1 to the speed is to ensure that the logarithmic calculation is still valid when the speed is 0.
[0129] Reason for taking the square root of the number of dynamic obstacles: The number of obstacles has an increasing impact on the path, but its influence does not grow linearly. For example, the impact of increasing from 1 obstacle to 2 is greater than that of increasing from 10 to 11, so the square root is used to make the impact of the number of obstacles more moderate as the number increases.
[0130] Since all variables have been properly transformed and adjusted coefficients α, β, γ are introduced for normalization and weighting, the final calculated optimization coefficient can reasonably reflect the pros and cons of the path.
[0131] Adjustment coefficients α, β, γ are used to control the influence of each factor on the optimization coefficient, ensuring that different factors can reasonably contribute to the final calculation result:
[0132] α: controls the degree of influence of path performance index on optimization coefficient. When α is larger, the contribution of path performance index to optimization coefficient is more obvious.
[0133] β: used to adjust the influence of static obstacles on optimization coefficient. When β is larger, the influence of static obstacles on path selection is more obvious.
[0134] γ: adjusts the degree of influence of dynamic obstacles. When γ is larger, the influence of dynamic obstacles on path selection is greater.
[0135] During movement, the control system obtains dynamic obstacle information in the moving direction through the infrared sensor configured by the mobile robot, including the following steps:
[0136] Reflective infrared sensors (such as most simple infrared distance sensors) usually use fan scanning. The infrared sensor emits an infrared beam, which is reflected back within a certain angle range (e.g. 30°, 45°, 60° or more). The sensor calculates the distance and position of the obstacle based on the intensity or time difference of the reflected light.
[0137] Fan-shaped scanning is commonly used to cover a wider area in front of the robot, providing a larger detection range. The angle range of the fan can be adjusted according to the design of the sensor to meet the needs of different application scenarios. Fan-shaped scanning is usually suitable for simple obstacle avoidance tasks, such as detecting obstacles in front, and can effectively avoid static and dynamic obstacles.
[0138] Before the robot moves, the control system initializes the configured infrared sensors (such as front infrared sensors, side infrared sensors, etc.) and starts continuous acquisition of infrared data. The infrared sensor detects the distance and position of the obstacle in front by emitting an infrared light beam and receiving the reflected light. The system calibrates the data to ensure that the output data of the infrared sensor is accurate and not affected by environmental interference (such as light reflection, temperature change, etc.).
[0139] The infrared sensor measures the distance to the obstacle by calculating the time difference between the emitted light and the reflected light. A typical sensor such as a reflective infrared sensor will provide a distance value representing the distance from the sensor to the obstacle. If the obstacle is too close to the sensor or beyond the effective measurement range, the sensor's output will give a corresponding warning or error signal.
[0140] The control system processes the distance data fed back by the infrared sensor and converts it into actual obstacle information. For example, a short distance value indicates the presence of an obstacle, while a larger value indicates a clear path. Based on the installation position and angle of the sensor, combined with the distance information, the relative position of the obstacle is calculated. If the robot is equipped with multiple infrared sensors, the spatial distribution of the obstacle can be obtained in multiple dimensions.
[0141] The control system analyzes whether the obstacle is moving through continuous infrared data acquisition. If the distance of the obstacle detected by the sensor changes over time, it indicates that it is a dynamic obstacle (such as a person, other robots, moving objects, etc.). By comparing the continuous measurement data, the control system can detect the movement trend of the obstacle (such as speed, direction, acceleration, etc.). For example, if the obstacle gradually approaches the robot in several consecutive frames, it indicates that the obstacle is in an approaching state, and the robot needs to take corresponding obstacle avoidance actions.
[0142] Combining the dynamic obstacle information obtained by the infrared sensor with the dynamic obstacle information obtained by the desktop camera, the movement trend of the dynamic obstacle is analyzed, including the following steps:
[0143] The dynamic obstacle data acquired by the infrared sensor includes a first dynamic obstacle moving direction assignment, a first dynamic obstacle moving speed, and a first dynamic obstacle volume. The first dynamic obstacle moving speed and the first dynamic obstacle volume are normalized and summed to obtain a first dynamic obstacle influence factor. The first dynamic obstacle influence factor is multiplied by the first dynamic obstacle moving direction assignment to obtain a first dynamic obstacle influence amplitude.
[0144] The dynamic obstacle data acquired by the desktop camera includes a second dynamic obstacle moving direction assignment, a second dynamic obstacle moving speed, and a second dynamic obstacle volume. The second dynamic obstacle moving speed and the second dynamic obstacle volume are normalized and summed to obtain a second dynamic obstacle influence factor. The second dynamic obstacle influence factor is multiplied by the second dynamic obstacle moving direction assignment to obtain a second dynamic obstacle influence amplitude.
[0145] The amplitude error is calculated according to the first dynamic obstacle influence amplitude and the second dynamic obstacle influence amplitude, and the expression is: , wherein, is the amplitude error, is the first dynamic obstacle influence amplitude, is the second dynamic obstacle influence amplitude. If the amplitude error is less than or equal to the error threshold, it is determined that the dynamic obstacle data acquired by the infrared sensor can be used. If the amplitude error is greater than the error threshold, it is determined that the dynamic obstacle data acquired by the infrared sensor cannot be used.
[0146] When it is determined that the dynamic obstacle data acquired by the infrared sensor can be used, the first dynamic obstacle influence amplitude is used. When it is determined that the dynamic obstacle data acquired by the infrared sensor cannot be used, the second dynamic obstacle influence amplitude is used.
[0147] The first dynamic obstacle influence amplitude or the second dynamic obstacle influence amplitude is compared with the influence threshold. If the first dynamic obstacle influence amplitude is greater than or equal to the influence threshold or the second dynamic obstacle influence amplitude is greater than or equal to the influence threshold, it is analyzed that the dynamic obstacle moves in the direction of the cruise path and at a high speed (i.e., has a large influence on the cruise path). If the first dynamic obstacle influence amplitude is less than the influence threshold or the second dynamic obstacle influence amplitude is less than the influence threshold, it is analyzed that the dynamic obstacle moves in the opposite direction of the cruise path.
[0148] In actual application, due to the influence of the surrounding environment or the health state of the sensor itself, the data collected by the infrared sensor of the mobile robot may have a large error. In the present application, the dynamic obstacle data collected by the infrared sensor of the mobile robot is compared with the dynamic obstacle data acquired by the desktop camera (the desktop camera is two or more), so as to avoid errors in the infrared sensor data, which may cause the mobile robot to collide with the dynamic obstacle.
[0149] In the present application, the acquisition logic of the first dynamic obstacle moving direction assignment is as follows: after detecting the positions of the dynamic object at multiple moments through the infrared sensor, the moving direction of the first dynamic obstacle is analyzed. If the dynamic obstacle moves towards the cruise path direction, it indicates that the dynamic obstacle will enter the cruise path and will affect the movement of the mobile robot. The first dynamic obstacle moving direction assignment is 1. If the dynamic obstacle moves away from the cruise path, it indicates that the dynamic obstacle is away from the cruise path and will not affect the movement of the mobile robot. The first dynamic obstacle moving direction assignment is 0. The acquisition logic of the second dynamic obstacle moving direction assignment is the same as that of the first dynamic obstacle moving direction assignment, which will not be described herein.
[0150] Based on the analysis result, the moving speed of the mobile robot is dynamically adjusted, including the following steps:
[0151] When the dynamic obstacle moves towards the cruise path direction and the moving speed is fast, the moving speed of the mobile robot needs to be dynamically adjusted, and the expression is as follows:
[0152] , wherein, is the moving speed after dynamic adjustment, is the moving speed before dynamic adjustment, is the dynamic obstacle influence amplitude (is the first dynamic obstacle influence amplitude or the second dynamic obstacle influence amplitude, according to the selection adopted);
[0153] The control system controls the movement of the mobile robot according to the moving speed after dynamic adjustment.
[0154] Since the dynamic obstacle influence amplitude FZY is in the denominator position, according to the theorem that the denominator cannot be 0, in order to make the formula hold, 1 is added (which is common knowledge). Secondly, the cubic root is taken to reduce the influence of the dynamic obstacle influence amplitude (to avoid excessive adjustment of the moving speed due to excessive influence). The specification states that the larger the dynamic obstacle influence amplitude, the greater the interference of the cruise path to the movement of the robot. Therefore, the significance of correcting the moving speed through the dynamic obstacle influence amplitude is clear.
[0155] Embodiment 3: As shown in the following table, the tabletop mobile robot obstacle avoidance control system described in this embodiment includes a cruise path acquisition module, an optimal path selection module, and a dynamic regulation module. Figure 3
[0156] The cruise path acquisition module: acquires the current task information of the mobile robot, and acquires multiple cruise paths matched with the current task information based on the database. The matched cruise path information is sent to the optimal path selection module.
[0157] The optimal path selection module: through the desktop camera to obtain the desktop image data, after processing the desktop image data, the static obstacles and dynamic obstacles on the desktop are recognized, the optimal cruise path is automatically selected by combining the recognition information of the obstacles and the historical information of the cruise path, and the optimal path is sent to the dynamic control module;
[0158] The dynamic control module: control the mobile robot to move through the optimal cruise path, in the moving process, the dynamic obstacle information in the moving direction is obtained through the infrared sensor configured on the mobile robot, the dynamic obstacle information obtained by the infrared sensor is combined with the dynamic obstacle information obtained by the desktop camera, the moving trend of the dynamic obstacle is analyzed, and the moving speed of the mobile robot is dynamically adjusted based on the analysis result.
[0159] In the description of the present specification, the description of the terms "one embodiment", "example", "specific example" and the like means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are contained in at least one embodiment or example of the present application. In the present specification, the illustrative description of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.
[0160] The preferred embodiments of the application disclosed above are only used to help explain the application. The preferred embodiments do not describe all the details, nor limit the application to the specific embodiments. Obviously, according to the content of the present specification, many modifications and changes can be made. The present specification selects and specifically describes these embodiments in order to better explain the principles and practical application of the application, so that those skilled in the art can well understand and utilize the application. The application is limited only by the claims and their full scope and equivalents.
Claims
1. A method for obstacle avoidance control of a desktop mobile robot, characterized in that: The control method comprises the following steps: Obtain the current task information of the mobile robot, a plurality of cruise paths matched with the current task information, and a desktop image data; Identify the static obstacles and dynamic obstacles on the desktop, automatically select an optimal cruise path based on the identification information of the obstacles and the historical information of the cruise paths, and control the mobile robot to move through the optimal cruise path; In the moving process, obtain the dynamic obstacle information in the moving direction, and analyze the moving trend of the dynamic obstacles based on the dynamic obstacle information obtained by the desktop camera; Based on the analysis result, dynamically adjust the moving speed of the mobile robot; In the moving process, obtain the dynamic obstacle information in the moving direction, and analyze the moving trend of the dynamic obstacles based on the dynamic obstacle information obtained by the desktop camera, comprising the following steps: According to the first dynamic obstacle influence amplitude and the second dynamic obstacle influence amplitude, calculate the amplitude error, if the amplitude error is less than or equal to the error threshold, it is judged that the dynamic obstacle data obtained by the infrared sensor can be used, if the amplitude error is greater than the error threshold, it is judged that the dynamic obstacle data obtained by the infrared sensor cannot be used; When it is judged that the dynamic obstacle data obtained by the infrared sensor can be used, the first dynamic obstacle influence amplitude is used, and when it is judged that the dynamic obstacle data obtained by the infrared sensor cannot be used, the second dynamic obstacle influence amplitude is used; Compare the first dynamic obstacle influence amplitude or the second dynamic obstacle influence amplitude with the influence threshold, if the first dynamic obstacle influence amplitude is greater than or equal to the influence threshold or the second dynamic obstacle influence amplitude is greater than or equal to the influence threshold, it is analyzed that the dynamic obstacle moves in the direction of the cruise path and the moving speed is fast, if the first dynamic obstacle influence amplitude is less than the influence threshold or the second dynamic obstacle influence amplitude is less than the influence threshold, it is analyzed that the dynamic obstacle moves in the opposite direction of the cruise path. 2.The desktop mobile robot obstacle avoidance control method of claim 1, wherein: Automatically select the optimal cruise path based on the identification information of the obstacles and the historical information of the cruise paths, comprising the following steps: Calculate the optimal coefficient of the cruise path by comprehensively calculating the path performance index, the number of static obstacles occupying the path, the number of dynamic obstacles occupying the path, and the moving speed of the dynamic obstacles; Select the cruise path with the largest optimal coefficient as the optimal cruise path for the mobile robot to execute the current task, and control the mobile robot to move through the optimal cruise path.
3. The method according to claim 2, wherein: Based on the analysis result, dynamically adjust the moving speed of the mobile robot, comprising the following steps: When it is analyzed that the dynamic obstacle moves in the direction of the cruise path and the moving speed is fast, the moving speed of the mobile robot needs to be dynamically adjusted, and the expression is: , wherein, is the moving speed after dynamic adjustment, is the moving speed before dynamic adjustment, is the dynamic obstacle influence amplitude, and the control system controls the mobile robot to move according to the moving speed after dynamic adjustment.
4. The obstacle avoidance control method for a tabletop mobile robot according to claim 3, characterized in that: The acquisition logic of the first dynamic obstacle influence amplitude is: obtaining the dynamic obstacle data obtained by the infrared sensor, including the first dynamic obstacle moving direction assignment, the first dynamic obstacle moving speed and the first dynamic obstacle volume, summing the first dynamic obstacle moving speed and the first dynamic obstacle volume after normalization to obtain the first dynamic obstacle influence factor, and obtaining the first dynamic obstacle influence amplitude by multiplying the first dynamic obstacle influence factor by the first dynamic obstacle moving direction assignment; The second dynamic obstacle influence amplitude acquisition logic is: acquiring dynamic obstacle data acquired by the desktop camera, including second dynamic obstacle movement direction assignment, second dynamic obstacle movement speed and second dynamic obstacle volume, summing up the second dynamic obstacle movement speed and the second dynamic obstacle volume after normalization processing to acquire a second dynamic obstacle influence factor, and multiplying the second dynamic obstacle influence factor by the second dynamic obstacle movement direction assignment to obtain the second dynamic obstacle influence amplitude.
5. The method of claim 4, wherein: The first dynamic obstacle movement direction assignment acquisition logic is: detecting the positions of the dynamic object at multiple moments through the infrared sensor, analyzing the first dynamic obstacle movement direction, if the dynamic obstacle moves towards the cruise path direction, it indicates that the dynamic obstacle will enter the cruise path and will affect the movement of the mobile robot, the first dynamic obstacle movement direction assignment is 1, if the dynamic obstacle moves away from the cruise path, it indicates that the dynamic obstacle is far away from the cruise path and will not affect the movement of the mobile robot, the first dynamic obstacle movement direction assignment is 0.
6. The method of claim 5, wherein: The path performance index calculation logic is: subtracting the passing time normalization value from the success rate normalization value to obtain the path performance index.
7. The method according to claim 6, wherein: The success rate normalization value and the passing time normalization value calculation logic is: acquiring historical data of the cruise path, the historical data including passing time and passing success rate, normalizing the passing success rate and the passing time to map the value range of the passing success rate and the passing time to [0, 1], and acquiring the passing success rate normalization value and the passing time normalization value.
8. The method according to claim 7, wherein: The steps of identifying the static and dynamic obstacles on the table include: The control system calls the desktop camera to acquire continuous image data, uses a filtering algorithm to remove noise in the image, highlights the edge features of the obstacles by adjusting the contrast, brightness or performing edge enhancement, and converts the image from the RGB color space to the HSV color space; An object detection algorithm is used to identify static objects, an image segmentation technique is used to extract static obstacle regions, shape features are used to match the known static obstacle library to confirm the type and position of the obstacles; Frame difference method or optical flow method is used to detect moving objects on the table, continuous video frames are analyzed to extract dynamic change regions, and target tracking algorithm is used to continuously track the position, speed and trajectory of the dynamic objects; All identified obstacle information is stored in the obstacle map, including the position, type, size, motion trajectory information of the obstacles, and the state and position of the obstacles are updated in real time, and the identification results of the obstacles are fed back to the mobile robot.
9. A desktop mobile robot obstacle avoidance control system for implementing the control method of any one of claims 1-8, characterized in that: The system includes a cruise path acquisition module, an optimal path selection module and a dynamic control module. The cruise path acquisition module acquires the current task information of the mobile robot and acquires multiple cruise paths matched with the current task information based on the database. The optimal path selection module: through the desktop camera, desktop image data is obtained, and after processing the desktop image data, the static obstacles and dynamic obstacles on the desktop are recognized, and the optimal cruise path is automatically selected in combination with the recognition information of the obstacles and the historical information of the cruise path; The dynamic control module: the mobile robot moves through the optimal cruise path, in the moving process, the dynamic obstacle information in the moving direction is obtained through the infrared sensor configured on the mobile robot, and the dynamic obstacle information obtained by the infrared sensor is combined with the dynamic obstacle information obtained by the desktop camera, the moving trend of the dynamic obstacle is analyzed, and the moving speed of the mobile robot is dynamically adjusted based on the analysis result.
Citation Information
Patent Citations
Robot obstacle avoiding method and device, storage medium and robot
CN107544514A
Control method and control device for intelligent equipment and air purifier
CN111459152A