Ultrasonic data false alarm processing method, system, robot and storage medium
By confirming and shielding ultrasonic false alarm data and updating the target map when the robot's global path planning fails, the problem of ultrasonic sensors falsely reporting obstacles in robot navigation is solved, and navigation efficiency and accuracy are improved.
Patent Information
- Application Number
- CN202211174341.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-26
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2042-09-26
AI Technical Summary
Ultrasonic sensors are prone to false alarms of obstacles during robot navigation, leading to navigation failure, especially in the case of multiple reflections and interference from multiple ultrasonic sensors, making it impossible to accurately identify the direction and position of obstacles.
When the robot's global path planning fails, it determines whether the target obstacle is an ultrasonic false alarm data, records it in the ultrasonic shielding list, deletes the relevant information according to the shielding area, updates the target map for path planning, and uses the ranging values and posture transformation matrix of multiple ultrasonic sensors to confirm the false alarm data.
It improves the efficiency and accuracy of robot navigation, can quickly process ultrasonic false alarm data, avoid navigation failure, and has high practicality and robustness.
Smart Images

Figure CN115575960B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot navigation technology, and in particular to a method, system, robot and storage medium for processing false alarms of ultrasonic data. Background Art
[0002] Ultrasonic sensors detect the distance to objects by emitting ultrasonic pulses and measuring the time of flight required for the reflected waves to return. Unlike optical distance sensors, ultrasonic sensors can detect transparent objects such as glass. Due to their low price and compact size, they are widely used in navigation and obstacle avoidance modules for various robots.
[0003] As a ranging sensor, an ultrasonic sensor can measure distance within a fixed beam angle range. Its sensing area is a conical spatial region. However, it cannot obtain precise directional information and often results in various data interference and false alarms. For example, one cause of false data alarms is multiple reflections, a phenomenon common when detecting corners or similar structures. The sound waves bounce back multiple times before being received by the ultrasonic sensor, so the actual detection value is not the true distance value. In addition, when multiple ultrasonic sensors are used simultaneously, the ultrasonic waves emitted by one ultrasonic sensor may be received by other ultrasonic sensors, resulting in false obstacle detection. Incorrect obstacle marking will cause the robot to fail in navigation and fail to successfully complete the target task. Summary of the Invention
[0004] The embodiments of the present application provide a method, system, robot, and storage medium for processing ultrasonic data false alarms, which can effectively improve the navigation efficiency and accuracy of a robot with multiple ultrasonic sensors.
[0005] In a first aspect, the present application provides a method for processing ultrasonic data false alarms, which is applied to a robot having two or more ultrasonic sensors, the method comprising: when the robot fails to perform global path planning, determining whether the target obstacle belongs to ultrasonic false alarm data, the target obstacle being the last object marked as an obstacle by the ultrasonic sensor recorded in the ultrasonic obstacle mark list before the robot fails to perform global path planning; when it is determined that the target obstacle belongs to ultrasonic false alarm data, recording the position information of the target obstacle in the ultrasonic shielding list; determining the shielding area of the target obstacle based on the position information and shielding distance of the target obstacle; deleting relevant information of all obstacles in the shielding area of the target obstacle in the ultrasonic obstacle mark list; canceling the pixel points marked by the obstacles deleted from the ultrasonic obstacle mark list in the target map, and using the updated target map for global path planning.
[0006] The embodiment of the present application determines whether the target obstacle is ultrasonic false alarm data when the robot fails to perform global path planning. After determining that the target obstacle is ultrasonic false alarm data, the target obstacle and the obstacles in the target obstacle shielding area are deleted and the target map is updated accordingly. The updated target map is then used to re-perform global path planning. When ultrasonic false alarm data occurs, the ultrasonic false alarm data can be quickly processed, thereby improving the navigation efficiency and accuracy of the robot, and having high practicality and robustness.
[0007] In an optional manner provided in the first aspect, when the robot fails to perform global path planning, determining whether the target obstacle is ultrasonic false alarm data includes:
[0008] When the robot fails to perform global path planning, a first global path is obtained, where the first global path is the global path recorded when the robot last successfully planned;
[0009] Determining whether a first distance value between a path point in the first global path and the target obstacle satisfies a preset distance condition;
[0010] When a first distance value between a path point in the first global path and a target obstacle meets a preset distance condition, it is determined whether the target obstacle belongs to ultrasonic false alarm data.
[0011] In another optional manner provided in the first aspect, when the first distance value between the path point in the first global path and the target obstacle meets a preset distance condition, determining whether the target obstacle is ultrasonic false alarm data includes:
[0012] Traversing and calculating a first distance value between a path point in the first global path and the target obstacle;
[0013] When a first distance value between any path point in the first global path and the target obstacle is smaller than a radius of the robot, it is determined whether the target obstacle belongs to ultrasonic false alarm data.
[0014] In another optional manner provided in the first aspect, when the first distance value between the path point in the first global path and the target obstacle meets a preset distance condition, determining whether the target obstacle is ultrasonic false alarm data includes:
[0015] Obtaining the global pose transformation matrix and the second distance value of the target obstacle from the ultrasonic obstacle marking list, where the second distance value is the distance value measured by the ultrasonic sensor used to mark the target obstacle as an obstacle;
[0016] According to the above global posture transformation matrix, the robot posture transformation matrix is determined;
[0017] Rotating the chassis of the robot so that the real-time positioning posture of the robot matches the robot posture transformation matrix;
[0018] When the real-time positioning posture of the robot matches the robot posture transformation matrix, it is determined whether the target obstacle belongs to ultrasonic false alarm data based on the second distance value and the third distance value, and the third distance value is the distance value between the robot and the target obstacle measured in real time by the ultrasonic sensor.
[0019] In another optional manner provided in the first aspect, when the real-time positioning posture of the robot matches the robot posture transformation matrix, determining whether the target obstacle is ultrasonic false alarm data based on the second distance value and the third distance value includes:
[0020] Obtain an ultrasonic sensor distribution map, wherein the ultrasonic sensor distribution map includes a position angle of each ultrasonic sensor;
[0021] According to the position angles of the ultrasonic sensors, the chassis of the robot is rotated to obtain the third distance values measured by the ultrasonic sensors.
[0022] In another optional manner provided in the first aspect, when the real-time positioning posture of the robot matches the robot posture transformation matrix, determining whether the target obstacle is ultrasonic false alarm data based on the second distance value and the third distance value includes:
[0023] When the absolute difference between the second distance value and the third distance value is less than a first threshold, determining that the ultrasonic sensor used to measure the third distance value has detected an obstacle;
[0024] Counting the number of times the absolute difference is less than the first threshold;
[0025] Determine whether the above-mentioned target obstacles belong to ultrasonic false alarm data based on the statistical results.
[0026] In another optional manner provided in the first aspect, determining whether the target obstacle is ultrasonic false alarm data based on statistical results includes:
[0027] When the number is less than a second threshold, it is determined that the target obstacle is ultrasonic false alarm data.
[0028] In a second aspect, the present application provides an ultrasonic data false alarm processing system, which is applied to a robot having two or more ultrasonic sensors, and the system includes:
[0029] a false alarm data confirmation unit, configured to determine whether a target obstacle is ultrasonic false alarm data when the robot fails in global path planning, the target obstacle being the last object marked as an obstacle by the ultrasonic sensor in the ultrasonic obstacle marking list before the robot fails in global path planning;
[0030] a shielding recording unit, configured to record the location information of the target obstacle in an ultrasonic shielding list when determining that the target obstacle is ultrasonic false alarm data;
[0031] a shielding area determining unit, configured to determine a shielding area of the target obstacle according to the location information and shielding distance of the target obstacle;
[0032] An obstacle deletion unit is configured to delete the relevant information of all obstacles in the shielding area of the target obstacle from the ultrasonic obstacle mark list;
[0033] The path re-planning unit is used to cancel the pixel points marked by the obstacles deleted from the ultrasonic obstacle marking list in the target map, and use the updated target map to perform global path planning.
[0034] In an optional manner provided in the second aspect, the false alarm data confirmation unit is specifically configured to:
[0035] When the robot fails to perform global path planning, a first global path is obtained, where the first global path is the global path recorded when the robot last successfully planned;
[0036] Determining whether a first distance value between a path point in the first global path and the target obstacle satisfies a preset distance condition;
[0037] When a first distance value between a path point in the first global path and a target obstacle meets a preset distance condition, it is determined whether the target obstacle belongs to ultrasonic false alarm data.
[0038] In another optional manner provided in the second aspect, the false alarm data confirmation unit is specifically configured to:
[0039] Traversing and calculating a first distance value between a path point in the first global path and the target obstacle;
[0040] When a first distance value between any path point in the first global path and the target obstacle is smaller than a radius of the robot, it is determined whether the target obstacle belongs to ultrasonic false alarm data.
[0041] In another optional manner provided in the second aspect, the false alarm data confirmation unit is specifically configured to:
[0042] Obtaining the global pose transformation matrix and the second distance value of the target obstacle from the ultrasonic obstacle marking list, where the second distance value is the distance value measured by the ultrasonic sensor used to mark the target obstacle as an obstacle;
[0043] According to the above global posture transformation matrix, the robot posture transformation matrix is determined;
[0044] Rotating the chassis of the robot so that the real-time positioning posture of the robot matches the robot posture transformation matrix;
[0045] When the real-time positioning posture of the robot matches the robot posture transformation matrix, it is determined whether the target obstacle belongs to ultrasonic false alarm data based on the second distance value and the third distance value, and the third distance value is the distance value between the robot and the target obstacle measured in real time by the ultrasonic sensor.
[0046] In another optional manner provided in the second aspect, the false alarm data confirmation unit is specifically configured to:
[0047] Obtain an ultrasonic sensor distribution map, wherein the ultrasonic sensor distribution map includes a position angle of each ultrasonic sensor;
[0048] According to the position angles of the ultrasonic sensors, the chassis of the robot is rotated to obtain the third distance values measured by the ultrasonic sensors.
[0049] In another optional manner provided in the second aspect, the false alarm data confirmation unit is specifically configured to:
[0050] When the absolute difference between the second distance value and the third distance value is less than a first threshold, determining that the ultrasonic sensor used to measure the third distance value has detected an obstacle;
[0051] Counting the number of times the absolute difference is less than the first threshold;
[0052] Determine whether the above-mentioned target obstacles belong to ultrasonic false alarm data based on the statistical results.
[0053] In another optional manner provided in the second aspect, the false alarm data confirmation unit is specifically configured to:
[0054] When the number is less than a second threshold, it is determined that the target obstacle is ultrasonic false alarm data.
[0055] In a third aspect, the present application provides a robot comprising a processor, a memory, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the method described in the first aspect or any optional aspect of the first aspect is implemented.
[0056] In a fourth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the method described in the first aspect or any optional method of the first aspect.
[0057] In a fifth aspect, an embodiment of the present application provides a computer program product. When the computer program product runs on a robot, the robot executes the steps of the ultrasonic data false alarm processing method described in the first aspect.
[0058] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0060] Figure 1 This is an ultrasonic sensor distribution diagram provided by an embodiment of the present application;
[0061] Figure 2 1 is a flow chart of a method for processing false alarms of ultrasonic data provided in an embodiment of the present application;
[0062] Figure 3 1 is a flow chart of a method for determining whether a target obstacle is ultrasonic false alarm data provided by an embodiment of the present application;
[0063] Figure 4 1 is a flow chart of another method for determining whether a target obstacle is ultrasonic false alarm data provided by an embodiment of the present application;
[0064] Figure 5 This is a flowchart of another method for determining whether a target obstacle is ultrasonic false alarm data provided by an embodiment of the present application;
[0065] Figure 6 This is a structural diagram of an ultrasonic data false alarm processing system provided in an embodiment of the present application;
[0066] Figure 7 This is a schematic structural diagram of a robot provided in an embodiment of the present application. DETAILED DESCRIPTION
[0067] In the following description, specific details such as specific system structures and techniques are provided for purposes of illustration rather than limitation to facilitate a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, systems, circuits, and methods are omitted to avoid obscuring the description of the present application with unnecessary detail.
[0068] It should be understood that the term "and / or" used in this specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations. In addition, in the description of this specification and the appended claims, the terms "first," "second," "third," etc. are used only to distinguish descriptions and are not to be understood as indicating or implying relative importance.
[0069] It should also be understood that references to "one embodiment" or "some embodiments" in the present specification mean that one or more embodiments of the present application include a particular feature, structure, or characteristic described in conjunction with that embodiment. Thus, phrases such as "in one embodiment," "in some embodiments," "in other embodiments," and "in other embodiments" appearing in various places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more but not all embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0070] Before explaining the ultrasonic data false alarm processing method provided in the embodiment of the present application, an exemplary description of the robot structure, ultrasonic sensor distribution, obstacle marking, etc. involved in the embodiment of the present application is given.
[0071] The robot provided in the embodiments of the present application is a disinfection robot, such as a UV disinfection robot. During the robot's execution of a single disinfection mission, the surrounding environment can be considered completely static, meaning that there are no dynamic obstacles in the robot's environment during the disinfection process. Therefore, marking static obstacles in the robot's surrounding environment during a single disinfection mission facilitates the robot's autonomous exploration and disinfection, as well as its return to the charging station.
[0072] The robot chassis provided in the embodiments of the present application is circular to ensure that the robot is safe and collision-free when rotating in place when the robot is at a certain distance from an obstacle. Two or more conventional ultrasonic sensors are provided on the robot chassis for measuring the distance between the robot and an object, such as a static obstacle.
[0073] like Figure 1 As shown, the robot chassis provided by the embodiment of the present application is provided with 5 ultrasonic sensors distributed on it. The 5 ultrasonic sensors are evenly distributed in the front half of the robot chassis, i.e., at an evenly divided angle position within a range of 180°. With the front of the robot chassis as the X-axis, and the direction perpendicular to the X-axis pointing to the left side of the robot as the Y-axis, assuming the positive direction of the X-axis is 0° and the positive direction of the Y-axis is +90°, the position angles of the 5 ultrasonic sensors are 90°, 45°, 0°, -45°, and -90°, respectively. From left to right, the ultrasonic sensors are numbered 1 to 5, and the ultrasonic sensor numbered i is u. i The position angle is θ i , its ranging value is R i .
[0074] The robot chassis provided in the present application uses differential drive wheels to control the robot's movement. The motion control inputs are the forward X-axis velocity and the steering angular velocity. Obstacles are marked using different ranging value ranges for ultrasonic sensors at different position angles.
[0075] The ultrasonic sensor in front of the robot provided in the embodiment of the present application, namely ultrasonic sensor No. 3, has the largest range, and decreases in range towards the left and right sides. i Effective use distance D i , that is, ultrasonic sensor u i The maximum distance value can be calculated by the effective distance calculation formula. The effective distance calculation formula is as follows:
[0076] D i =R min +R max *cos(θ i )
[0077] Among them, D i Ultrasonic sensor u i The effective use distance, θ i Ultrasonic sensor u i The position angle is the number of the ultrasonic sensor i; R min is the first preset value, R max is the second preset value, and the first preset value and the second preset value are respectively the preset minimum distance value and the maximum distance value.
[0078] According to the above effective distance calculation formula, R min is the maximum distance measurement value actually used by the two ultrasonic sensors No. 1 and No. 5, that is, the effective use distance of the two ultrasonic sensors No. 1 and No. 5 is R min , that is, D1=D5=Rmin ; R min +R max The maximum distance measurement value actually used by the ultrasonic sensor in front of the robot (i.e. ultrasonic sensor No. 3), that is, the effective use distance of the ultrasonic sensor in front of the robot is D3 = R min +R max The effective operating distance of the two ultrasonic sensors No. 2 and No. 4 is
[0079] It should be noted that to facilitate calculation of the position angles of each ultrasonic sensor, the number of ultrasonic sensors is generally an odd number. The position angle of the ultrasonic sensor located directly in front of the robot chassis is set to 0°, and the position angles of the remaining ultrasonic sensors are calculated based on this. For example, the number of ultrasonic sensors distributed on the robot chassis is preferably 5.
[0080] During the process of the robot provided in the embodiment of the present application navigating from the current location to the target location for performing the disinfection task, a ranging value polling request is sent to the ultrasonic sensor. The ranging value polling request is used to sequentially request the ultrasonic sensor to feed back the ranging value measured by it to the robot within a certain period of time. When the robot obtains the ranging value fed back by each ultrasonic sensor, it determines whether the ranging value corresponding to each ultrasonic sensor is less than its effective use distance. When the ranging value of the ultrasonic sensor is less than its effective use distance, the position of the obstacle to be marked at this time in the global map coordinate system is calculated, and the number i and the ranging value R of the ultrasonic sensor are recorded in the ultrasonic obstacle marking list. i And the global pose transformation matrix T_map_to_O i The global pose transformation matrix records the position information and angle information of the marked obstacle in the global map coordinate system.
[0081] Before calculating the position of the obstacle to be marked in the global map coordinate system, it is necessary to obtain the real-time pose transformation matrix T_map_to_baselink of the baselink joint of the robot chassis in the global map coordinate system, and the ultrasonic sensor u i The pose transformation matrix of the baselink joint of the robot chassis is T_baselink_to_u i , ultrasonic sensor u i The position of the obstacle marked is O i ,but
[0082] T_map_to_O i =T_map_to_baselink*T_baselink_to_u i *T_u i _to_Oi
[0083] Among them, T_u i _to_O i It represents the obstacle O marked on the map in the i-th ultrasonic coordinate system. i The pose transformation matrix of the point is:
[0084]
[0085] It should be noted that the ultrasonic coordinate system No. i is based on the ultrasonic sensor u i The coordinate system is established with the current location as the origin.
[0086] Record the ultrasonic sensor number i and the range value R in the ultrasonic obstacle mark list i And the global pose transformation matrix T_map_to_O i Before, it is necessary to verify whether the location of the obstacle is within the ultrasonic shielding area. If so, there is no need to record the relevant information of the obstacle in the ultrasonic obstacle mark list, such as the number i of the ultrasonic sensor, the distance value R i And the global pose transformation matrix T_map_to_O i Otherwise, the relevant information of the obstacle is recorded in the ultrasonic obstacle mark list, and the pixel corresponding to the obstacle is marked as an obstacle in the target map, indicating that the location of the pixel is the location of the obstacle.
[0087] The following describes in detail the method for processing false alarms of ultrasonic data provided in the embodiment of the present application.
[0088] See Figure 2 , Figure 2 This is a flow chart of a method for processing false alarms of ultrasonic data provided by an embodiment of the present application, which is described in detail as follows:
[0089] Step S201: When the robot fails in global path planning, it is determined whether the target obstacle is ultrasonic false alarm data.
[0090] In an embodiment of the present application, the target obstacle is the last object marked as an obstacle by the ultrasonic sensor and recorded in the ultrasonic obstacle marking list before the robot fails to perform global path planning.
[0091] In an embodiment of the present application, before performing a disinfection task, the robot needs to use a target map, such as performing global path planning on the target map, to navigate to the disinfection target point, which is any point or multiple points on the target map.
[0092] The target map provided in this embodiment is a navigation map used by the robot during global planning. This target map contains information about the robot marking obstacles based on the pixels corresponding to the obstacles in the ultrasonic obstacle marking list. When the robot updates the ultrasonic obstacle marking list, it also marks newly added obstacles at the corresponding pixels in the target map.
[0093] See Figure 3 , Figure 3 FIG. 1 is a flow chart of a method for determining whether a target obstacle is ultrasonic false alarm data provided by an embodiment of the present application, which is described in detail as follows:
[0094] Step S301: When the robot fails to perform global path planning, a first global path is obtained.
[0095] In an embodiment of the present application, the first global path is the global path recorded during the last successful planning of the robot, that is, the successfully planned global path recorded by the robot before the robot fails in global path planning.
[0096] It should be noted that when the robot performs global path planning, it is planning the path from the current point to a target point. Therefore, when the robot is performing a disinfection task, if there are multiple disinfection target points, it will perform global path planning multiple times to navigate to different disinfection target points to perform the disinfection task.
[0097] Step S302 , determining whether a first distance value between a path point in the first global path and the target obstacle satisfies a preset distance condition.
[0098] Step S303 : When the first distance value between the path point in the first global path and the target obstacle meets a preset distance condition, it is determined whether the target obstacle is ultrasonic false alarm data.
[0099] The target obstacle in the embodiment of the present application is the last object marked as an obstacle recorded in the ultrasonic obstacle mark list.
[0100] In an embodiment of the present application, when global path planning fails, it is possible that the robot has passed through the position of the last target obstacle recorded in the ultrasonic obstacle mark list, that is, a path point in the global path planned by the robot has passed through the position of a target obstacle marked by an ultrasonic sensor. At this time, it is necessary to confirm whether the last target obstacle recorded in the ultrasonic obstacle mark list is ultrasonic false alarm data, which has led to the failure of global path planning.
[0101] In the embodiment of the present application, the first distance value is the distance between the target obstacle and a path point in the first global path. When determining whether the target obstacle is ultrasonic false alarm data, a determination is made as to whether the first distance value satisfies a preset distance condition. If the first distance value satisfies the preset distance condition, the target obstacle is considered to be ultrasonic false alarm data.
[0102] The preset distance condition in the embodiment of the present application is that the first distance value is less than the robot radius. When the first distance value is less than the robot radius, it is considered that the preset condition is met.
[0103] See Figure 4 , Figure 4 FIG. 1 is a flow chart of another method for determining whether a target obstacle is ultrasonic false alarm data provided by an embodiment of the present application, which is described in detail as follows:
[0104] Step S401: traverse and calculate first distance values between path points in the first global path and the target obstacle.
[0105] In an embodiment of the present application, the distance values between each path point in the first global path and the target obstacle are traversed and calculated to obtain a plurality of first distance values.
[0106] Step S402 : When a first distance value between any path point in the first global path and the target obstacle is smaller than a radius of the robot, it is determined whether the target obstacle is ultrasonic false alarm data.
[0107] In an embodiment of the present application, the first distance value is compared with the radius of the robot to determine whether the first distance value is smaller than the radius of the robot. When the first distance value is smaller than the radius of the robot, the robot determines whether the target obstacle is ultrasonic false alarm data.
[0108] For details, see Figure 5 , Figure 5 This is a flowchart of another method for determining whether a target obstacle is ultrasonic false alarm data provided by an embodiment of the present application, which is detailed as follows:
[0109] Step S501: Obtain the global pose transformation matrix and the second distance value of the target obstacle from the ultrasonic obstacle marker list.
[0110] In the embodiment of the present application, the ultrasonic obstacle marking list records information such as the global pose transformation matrix of the target obstacle, the number of the ultrasonic sensor that marks the target obstacle as an obstacle, and the ranging value.
[0111] The second distance value in the embodiment of the present application is the distance value measured by the ultrasonic sensor used to mark the above-mentioned target obstacle as an obstacle.
[0112] Step S502: Determine the robot posture transformation matrix based on the global posture transformation matrix.
[0113] In the embodiment of the present application, the robot's posture transformation matrix is calculated according to the global posture transformation matrix by the robot posture transformation matrix calculation formula when the target obstacle is recorded. The robot posture transformation matrix calculation formula is:
[0114] T_map_to_baselink=T_map_to_O i *T_u i _to_O i .inverse()*T_baselink_to_u i .inverse()
[0115] Among them, inverse() is the inverse of its posture transformation matrix.
[0116] Step S503: rotating the chassis of the robot so that the real-time positioning posture of the robot matches the robot posture transformation matrix.
[0117] In an embodiment of the present application, in order to improve the accuracy of judging ultrasonic false alarm data, after determining the robot posture transformation matrix, multiple ultrasonic sensors are used to confirm the false alarm of the target obstacle by rotating the robot chassis. For example, according to the robot posture transformation matrix, the robot chassis is rotated so that the robot reaches the posture when detecting the target obstacle.
[0118] Step S504 : When the real-time positioning posture of the robot matches the robot posture transformation matrix, it is determined whether the target obstacle is ultrasonic false alarm data according to the second distance value and the third distance value.
[0119] In an embodiment of the present application, when the posture of the robot when it reaches the detection target obstacle, that is, when the real-time positioning posture of the robot matches the robot posture transformation matrix, the counter C is initialized. The initial value of the counter C is 0, and then the ranging verification is performed on the ultrasonic sensors distributed on the robot chassis to determine whether the above-mentioned target obstacle is ultrasonic false alarm data.
[0120] The third distance value in the embodiment of the present application is the distance value between the robot and the target obstacle measured in real time by the ultrasonic sensor.
[0121] In some embodiments of the present application, an ultrasonic sensor distribution map is obtained, which includes the position angle of each ultrasonic sensor. According to the position angle of each ultrasonic sensor, the chassis of the robot is rotated to obtain the third distance value measured by each ultrasonic sensor.
[0122] In some embodiments of the present application, according to the ultrasonic sensor distribution map, after the robot's real-time positioning posture matches the robot's posture transformation matrix and the counter C is initialized, the ultrasonic sensor u j , that is, the ultrasonic sensor numbered j distributed on the robot chassis controls the robot chassis to rotate (ij)*45° for distance verification according to its position angle distributed on the robot chassis. When the position angle is positive, it rotates counterclockwise, and when the position angle is negative, it rotates clockwise. When the robot chassis rotates to the ultrasonic sensor u j After the corresponding position angle, the ultrasonic sensor u j The distance value R j That is, the distance value R corresponding to the third distance value and the target obstacle i That is, the second distance value is compared.
[0123] When the robot chassis in the embodiment of the present application rotates to the specified position, that is, when the real-time positioning posture of the robot matches the robot posture transformation matrix, the ultrasonic sensor u j The distance value R j The distance value R corresponding to the target obstacle i The absolute difference D ij Compared with the first threshold δ, when D ij <δ, that is, when the absolute difference between the second distance value and the third distance value is less than the first threshold, the ultrasonic sensor u used to measure the third distance value is determined. j When an obstacle is detected, the counter C is incremented by 1. ij =|R i -R j |.
[0124] After all ultrasonic sensors distributed on the robot chassis have verified the distance to the target obstacle, the value of counter C is obtained, that is, the number of absolute differences less than the first threshold is counted, and whether the target obstacle is an ultrasonic false alarm data is determined based on the statistical results.
[0125] In an embodiment of the present application, if the value of the counter C is greater than a second threshold, such as 2, it is determined that the target obstacle is real. Otherwise, that is, when the number of absolute differences less than the first threshold is less than the second threshold, it is determined that the target obstacle is ultrasonic false alarm data.
[0126] Step S202: When it is determined that the target obstacle is ultrasonic false alarm data, the location information of the target obstacle is recorded in an ultrasonic shielding list.
[0127] Step S203: determining a shielding area of the target obstacle according to the location information and shielding distance of the target obstacle.
[0128] In an embodiment of the present application, after determining that the target obstacle belongs to ultrasonic false alarm data, the robot adds the location information of the target obstacle to the ultrasonic shielding list, and compares the location information of any obstacle marked in the ultrasonic obstacle marking list with the location information of the target obstacle based on the location information and the shielding distance of the target obstacle. If the distance value between any obstacle marked in the ultrasonic obstacle marking list and the target obstacle is less than or equal to the shielding distance, it means that the obstacle marked in the ultrasonic obstacle marking list is in the shielding area of the target obstacle.
[0129] Step S204: Deleting the relevant information of all obstacles in the ultrasonic obstacle mark list that are within the shielding area of the target obstacle.
[0130] In an embodiment of the present application, the ultrasonic obstacle mark list is traversed to determine whether any obstacle recorded in the ultrasonic obstacle mark list is within the shielding area of the target obstacle. When it is determined that any obstacle in the ultrasonic obstacle mark list is within the shielding area of the target obstacle, the relevant information of the obstacle in the ultrasonic obstacle mark list that is within the shielding area of the target obstacle is deleted.
[0131] Step S205: cancel the pixel points marked by the obstacles deleted from the ultrasonic obstacle mark list in the target map, and use the updated target map to perform global path planning.
[0132] In an embodiment of the present application, global path planning is performed on the updated target map, which avoids navigation failure caused by ultrasonic false alarm data when the last global path planning failed, thereby enabling the robot to successfully complete the navigation task to perform the disinfection task.
[0133] In an embodiment of the present application, when the robot fails to perform global path planning, it is determined whether the target obstacle is ultrasonic false alarm data, and after determining that the target obstacle is ultrasonic false alarm data, the target obstacle and the obstacles in the target obstacle shielding area are deleted and the target map is updated accordingly, and then the updated target map is used to re-perform global path planning. When ultrasonic false alarm data occurs, the ultrasonic false alarm data can be quickly processed, thereby improving the navigation efficiency and accuracy of the robot, and having high practicality and robustness.
[0134] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0135] Based on the ultrasonic data false alarm processing method provided in the above embodiment, the embodiment of the present application further provides a system embodiment for implementing the above method embodiment.
[0136] See Figure 6, Figure 6 Schematic diagram of the ultrasonic data false alarm processing system provided in the embodiment of the present application. The units included are used to perform Figure 2 Each step in the corresponding embodiment. Please refer to Figure 2 For the convenience of explanation, only the parts related to this embodiment are shown. Figure 6 , the ultrasonic data false alarm processing system 6 includes:
[0137] a false alarm data confirmation unit 61, configured to determine whether a target obstacle is an ultrasonic false alarm data when the robot fails in global path planning, wherein the target obstacle is the last object marked as an obstacle by the ultrasonic sensor in the ultrasonic obstacle marking list before the robot fails in global path planning;
[0138] a shielding recording unit 62 for recording the position information of the target obstacle in an ultrasonic shielding list when determining that the target obstacle is ultrasonic false alarm data;
[0139] a shielding area determining unit 63, configured to determine a shielding area of the target obstacle according to the location information and shielding distance of the target obstacle;
[0140] An obstacle deletion unit 64 is configured to delete information related to all obstacles in the shielding area of the target obstacle from the ultrasonic obstacle mark list;
[0141] The path re-planning unit 65 is configured to cancel the pixel points marked by the obstacles deleted from the ultrasonic obstacle marking list in the target map, and perform global path planning using the updated target map.
[0142] In some embodiments of the present application, the false alarm data confirmation unit 61 is specifically used to:
[0143] When the robot fails to perform global path planning, a first global path is obtained, where the first global path is the global path recorded when the robot last successfully planned;
[0144] Determining whether a first distance value between a path point in the first global path and the target obstacle satisfies a preset distance condition;
[0145] When a first distance value between a path point in the first global path and a target obstacle meets a preset distance condition, it is determined whether the target obstacle belongs to ultrasonic false alarm data.
[0146] In some other embodiments of the present application, the false alarm data confirmation unit 61 is specifically used to:
[0147] Traversing and calculating a first distance value between a path point in the first global path and the target obstacle;
[0148] When a first distance value between any path point in the first global path and the target obstacle is smaller than a radius of the robot, it is determined whether the target obstacle belongs to ultrasonic false alarm data.
[0149] In some other embodiments of the present application, the false alarm data confirmation unit 61 is specifically used to:
[0150] Obtaining the global pose transformation matrix and the second distance value of the target obstacle from the ultrasonic obstacle marking list, where the second distance value is the distance value measured by the ultrasonic sensor used to mark the target obstacle as an obstacle;
[0151] According to the above global posture transformation matrix, the robot posture transformation matrix is determined;
[0152] Rotating the chassis of the robot so that the real-time positioning posture of the robot matches the robot posture transformation matrix;
[0153] When the real-time positioning posture of the robot matches the robot posture transformation matrix, it is determined whether the target obstacle belongs to ultrasonic false alarm data based on the second distance value and the third distance value, and the third distance value is the distance value between the robot and the target obstacle measured in real time by the ultrasonic sensor.
[0154] In some other embodiments of the present application, the false alarm data confirmation unit 61 is specifically used to:
[0155] Obtain an ultrasonic sensor distribution map, wherein the ultrasonic sensor distribution map includes a position angle of each ultrasonic sensor;
[0156] According to the position angles of the ultrasonic sensors, the chassis of the robot is rotated to obtain the third distance values measured by the ultrasonic sensors.
[0157] In some other embodiments of the present application, the false alarm data confirmation unit 61 is specifically used to:
[0158] When the absolute difference between the second distance value and the third distance value is less than a first threshold, determining that the ultrasonic sensor used to measure the third distance value has detected an obstacle;
[0159] Counting the number of times the absolute difference is less than the first threshold;
[0160] Determine whether the above-mentioned target obstacles belong to ultrasonic false alarm data based on the statistical results.
[0161] In some other embodiments of the present application, the false alarm data confirmation unit 61 is specifically used to:
[0162] When the number is less than a second threshold, it is determined that the target obstacle is ultrasonic false alarm data.
[0163] In an embodiment of the present application, when the robot fails to perform global path planning, it is determined whether the target obstacle is ultrasonic false alarm data, and after determining that the target obstacle is ultrasonic false alarm data, the target obstacle and the obstacles in the target obstacle shielding area are deleted and the target map is updated accordingly, and then the updated target map is used to re-perform global path planning. When ultrasonic false alarm data occurs, the ultrasonic false alarm data can be quickly processed, thereby improving the navigation efficiency and accuracy of the robot, and having high practicality and robustness.
[0164] It should be noted that the information interaction, execution process and other contents between the above modules are based on the same concept as the method embodiment of this application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.
[0165] Figure 7 Schematic diagram of the robot provided in the embodiment of the present application. Figure 7 As shown, the robot 7 of this embodiment includes: a processor 70, a memory 71, and a computer program 72 stored in the memory 71 and executable on the processor 70, such as an ultrasonic data false alarm processing program. When the processor 70 executes the computer program 72, the steps in the above-mentioned various ultrasonic data false alarm processing method embodiments are implemented, such as Figure 2 Alternatively, when the processor 70 executes the computer program 72, the functions of the modules / units in the above-mentioned system embodiments are realized, for example Figure 6 The functions of units 61-65 are shown.
[0166] Exemplarily, the computer program 72 may be divided into one or more modules / units, one or more modules / units being stored in the memory 71 and executed by the processor 70 to complete the present application. One or more modules / units may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program 72 in the robot 7. For example, the computer program 72 may be divided into a false alarm data confirmation unit 61, a shielding recording unit 62, a shielding area determination unit 63, an obstacle removal unit 64, and a path replanning unit 65. For the specific functions of each unit, please refer to Figure 2 The relevant descriptions in the corresponding embodiments are not repeated here.
[0167] The robot may include, but is not limited to, a processor 70 and a memory 71. It will be understood by those skilled in the art that Figure 7This is only an example of the robot 7 and does not constitute a limitation of the robot 7. The robot may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robot may also include an input and output robot, a network access robot, a bus, etc.
[0168] The processor 70 may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0169] Memory 71 can be an internal storage unit of robot 7, such as the robot's hard drive or memory. Memory 71 can also be an external storage device of robot 7, such as a plug-in hard drive, a SmartMedia Card (SMC), a Secure Digital (SD) card, a flash memory card, etc. Furthermore, memory 71 can include both the robot's internal storage unit and an external storage device. Memory 71 is used to store computer programs and other programs and data required by the robot. Memory 71 can also be used to temporarily store data that has been output or is about to be output.
[0170] An embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned ultrasound data false alarm processing method can be implemented.
[0171] An embodiment of the present application provides a computer program product. When the computer program product runs on a robot, the robot can implement the above-mentioned ultrasonic data false alarm processing method when executing the computer program product.
[0172] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the system can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0173] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0174] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0175] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present application, and should all be included in the scope of protection of the present application.
Claims
1. A method for processing ultrasonic data false alarms, applied to a robot with two or more ultrasonic sensors, characterized in that: The method comprises: When the robot fails to perform global path planning, determining whether the target obstacle is ultrasonic false alarm data, the target obstacle being the last object marked as an obstacle by the ultrasonic sensor and recorded in the ultrasonic obstacle mark list before the robot fails to perform global path planning; determining whether the target obstacle is ultrasonic false alarm data when the robot fails to perform global path planning includes: when the robot fails to perform global path planning, obtaining a first global path, the first global path being the global path recorded when the robot successfully planned last time; determining whether a first distance value between a path point in the first global path and the target obstacle meets a preset distance condition; determining whether the target obstacle is ultrasonic false alarm data when the first distance value between the path point in the first global path and the target obstacle meets the preset distance condition; determining whether the target obstacle is ultrasonic false alarm data when the first global path fails When a first distance value between a path point in a global path and a target obstacle meets a preset distance condition, determining whether the target obstacle is ultrasonic false alarm data includes: obtaining a global posture transformation matrix and a second distance value of the target obstacle from an ultrasonic obstacle mark list, where the second distance value is a distance value measured by an ultrasonic sensor used when marking the target obstacle as an obstacle; determining a robot posture transformation matrix based on the global posture transformation matrix; rotating the chassis of the robot so that the real-time positioning posture of the robot matches the robot posture transformation matrix; when the real-time positioning posture of the robot matches the robot posture transformation matrix, determining whether the target obstacle is ultrasonic false alarm data based on the second distance value and a third distance value, where the third distance value is a distance value between the robot and the target obstacle measured in real time by the ultrasonic sensor; When it is determined that the target obstacle belongs to ultrasonic false alarm data, recording the location information of the target obstacle in an ultrasonic shielding list; Determining a shielding area of the target obstacle according to the location information and shielding distance of the target obstacle; Deleting relevant information of all obstacles in the ultrasonic obstacle mark list that are within the shielding area of the target obstacle; The pixel points marked by the obstacles deleted from the ultrasonic obstacle mark list are cancelled in the target map, and the updated target map is used for global path planning.
2. The ultrasonic data false alarm processing method according to claim 1, wherein: When a first distance value between a path point in the first global path and a target obstacle satisfies a preset distance condition, determining whether the target obstacle is ultrasonic false alarm data includes: Traversing and calculating a first distance value between a path point in the first global path and the target obstacle; When a first distance value between any path point in the first global path and the target obstacle is smaller than a radius of the robot, it is determined that the target obstacle is ultrasonic false alarm data.
3. The ultrasonic data false alarm processing method according to claim 1, wherein: When the real-time positioning posture of the robot matches the robot posture transformation matrix, determining whether the target obstacle belongs to ultrasonic false alarm data according to the second distance value and the third distance value includes: Acquire an ultrasonic sensor distribution map, wherein the ultrasonic sensor distribution map includes a position angle of each ultrasonic sensor; According to the position angles of the respective ultrasonic sensors, the chassis of the robot is rotated to obtain the third distance values measured by the respective ultrasonic sensors.
4. The method for processing ultrasonic data false alarms according to any one of claims 1 to 3, wherein: When the real-time positioning posture of the robot matches the robot posture transformation matrix, determining whether the target obstacle belongs to ultrasonic false alarm data according to the second distance value and the third distance value includes: When an absolute difference between the second distance value and the third distance value is less than a first threshold, determining that an ultrasonic sensor used to measure the third distance value has detected an obstacle; Counting the number of times the absolute difference is less than the first threshold; Determine whether the target obstacle belongs to ultrasonic false alarm data based on the statistical results.
5. The ultrasonic data false alarm processing method according to claim 4, characterized in that: The determining, based on the statistical results, whether the target obstacle belongs to ultrasonic false alarm data includes: When the number is less than a second threshold, it is determined that the target obstacle belongs to ultrasonic false alarm data.
6. An ultrasonic data false alarm processing system, applied to a robot with two or more ultrasonic sensors, characterized in that: The system comprises: A false alarm data confirmation unit is used to determine whether a target obstacle belongs to ultrasonic false alarm data when the robot fails to perform global path planning, the target obstacle being the last object marked as an obstacle by the ultrasonic sensor and recorded in the ultrasonic obstacle mark list before the robot fails to perform global path planning; the method of determining whether a target obstacle belongs to ultrasonic false alarm data when the robot fails to perform global path planning includes: obtaining a first global path when the robot fails to perform global path planning, the first global path being the global path recorded when the robot successfully planned last time; determining whether a first distance value between a path point in the first global path and the target obstacle meets a preset distance condition; determining whether the target obstacle belongs to ultrasonic false alarm data when the first distance value between a path point in the first global path and the target obstacle meets the preset distance condition; When a first distance value between a path point in the first global path and a target obstacle meets a preset distance condition, determining whether the target obstacle is ultrasonic false alarm data includes: obtaining a global posture transformation matrix and a second distance value of the target obstacle from an ultrasonic obstacle mark list, where the second distance value is a distance value measured by an ultrasonic sensor used when marking the target obstacle as an obstacle; determining a robot posture transformation matrix based on the global posture transformation matrix; rotating the chassis of the robot so that the real-time positioning posture of the robot matches the robot posture transformation matrix; when the real-time positioning posture of the robot matches the robot posture transformation matrix, determining whether the target obstacle is ultrasonic false alarm data based on the second distance value and a third distance value, where the third distance value is a distance value between the robot and the target obstacle measured in real time by the ultrasonic sensor; a shielding recording unit, configured to record the location information of the target obstacle in an ultrasonic shielding list when it is determined that the target obstacle belongs to ultrasonic false alarm data; a shielding area determining unit, configured to determine a shielding area of the target obstacle according to the position information and shielding distance of the target obstacle; An obstacle deleting unit, configured to delete relevant information of all obstacles in the shielding area of the target obstacle from the ultrasonic obstacle mark list; The path re-planning unit is used to cancel the pixel points marked by the obstacles deleted from the ultrasonic obstacle marking list in the target map, and use the updated target map to perform global path planning.
7. A robot comprising a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the method for processing ultrasonic data false alarms according to any one of claims 1 to 5 is implemented.
8. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method for processing false alarms of ultrasonic data according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Method and device for avoiding dynamic obstacles by robot
CN108227706A
Obstacle detection method, navigation method and device based on obstacle and robot
CN114115241A