Robot obstacle avoidance method and device based on blind area obstacles, equipment and medium
By acquiring obstacle speed information through sensors and adopting different obstacle avoidance strategies based on the characteristics of their motion continuity, the problem of obstacle avoidance in blind spots for robots is solved, improving obstacle avoidance accuracy and safety.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-25
- Publication Date
- 2026-04-07
AI Technical Summary
When robots perform tasks, due to the visual blind spots of their sensors, they have difficulty accurately acquiring and processing changes in the state of moving obstacles, leading to incorrect obstacle avoidance strategies and affecting the safety of task execution.
By configuring sensors to acquire environmental point cloud information, the speed information of moving obstacles is determined, and different obstacle avoidance strategies are adopted according to whether the obstacle has continuous motion characteristics: for obstacles with continuous motion characteristics, their motion trajectory is predicted and moving obstacle avoidance is performed; for obstacles without continuous motion characteristics, stationary obstacle avoidance is performed.
This improves the robot's obstacle avoidance accuracy and safety in blind spots, ensuring the stability and safety of task execution.
Smart Images

Figure CN116560373B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and in particular to a method, apparatus, device, and medium for robot obstacle avoidance based on blind spot obstacles. Background Technology
[0002] Robots are currently widely used in express delivery, smart warehousing, and industrial fields to perform various tasks such as navigation, obstacle avoidance, picking up and placing goods. When performing tasks, robots need to obtain information about their surrounding environment in real time and accurately.
[0003] Currently, robots typically use LiDAR or 3D cameras to acquire environmental point cloud information. However, since the sensors installed on robots have visual blind spots, in order to achieve safe obstacle avoidance, robots must not only accurately acquire obstacles within the sensor's detection range, but also maintain the state of obstacles that enter the sensor's blind spot, that is, remember them, so as to better perform tasks.
[0004] However, the motion state of moving obstacles changes over time, and these changes are difficult to control. This makes it easy for the robot to make mistakes in remembering the state, which affects the robot's task execution. Summary of the Invention
[0005] This invention provides a robot obstacle avoidance method, device, equipment, and medium based on blind zone obstacles to solve the problem of safe driving caused by the uncertainty of moving obstacles entering the blind zone.
[0006] According to one aspect of the present invention, a robot obstacle avoidance method based on blind zone obstacles is provided, characterized in that the robot is equipped with at least one sensor for acquiring environmental point cloud information, including:
[0007] Based on the current frame point cloud information and historical frame point cloud information obtained by the sensor, the speed information of moving obstacles within the robot's operating range is determined;
[0008] Determine whether the moving obstacle has a continuous motion characteristic based on the speed information of the moving obstacle;
[0009] If so, the robot is controlled to perform obstacle avoidance based on the overlap between the predicted trajectory of the moving obstacle and the blind zone; wherein the blind zone is determined based on the detection range of the sensor and the operating range of the robot;
[0010] Otherwise, control the robot to perform obstacle avoidance while stationary.
[0011] According to another aspect of the present invention, a robot obstacle avoidance device based on blind spot obstacles is provided, characterized in that at least one sensor for acquiring environmental point cloud information is configured on the robot, including:
[0012] The obstacle velocity determination module is used to determine the velocity information of moving obstacles within the robot's operating range based on the current frame point cloud information and historical frame point cloud information obtained by the sensor.
[0013] An obstacle motion characteristic determination module is used to determine whether the moving obstacle has a motion continuity characteristic based on the speed information of the moving obstacle;
[0014] The obstacle avoidance module is used to control the robot to avoid obstacles based on the overlap between the predicted trajectory of the obstacle and the blind zone if the obstacle has continuous motion characteristics; wherein the blind zone is determined based on the detection range of the sensor and the operating range of the robot.
[0015] A stationary obstacle avoidance module is used to control the robot to perform stationary obstacle avoidance if the moving obstacle does not have the characteristic of continuous motion.
[0016] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0017] At least one processor; and
[0018] A memory communicatively connected to the at least one processor; wherein,
[0019] The memory stores a computer program that can be executed by the at least one processor, which enables the at least one processor to perform the robot obstacle avoidance method based on blind spot obstacles according to any embodiment of the present invention.
[0020] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the robot obstacle avoidance method based on blind zone obstacles according to any embodiment of the present invention.
[0021] The technical solution of this invention determines the motion persistence characteristics of moving obstacles by using their speed information, and controls the robot to execute different obstacle avoidance strategies according to the movement of the moving obstacles, thus ensuring the safe operation of the robot when performing tasks.
[0022] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 This is a flowchart of a robot obstacle avoidance method based on blind zone obstacles according to Embodiment 1 of the present invention;
[0025] Figure 2 This is a flowchart of another robot obstacle avoidance method based on blind zone obstacles provided in Embodiment 2 of the present invention;
[0026] Figure 3 This is a schematic diagram of a robot obstacle avoidance device based on blind spot obstacles according to Embodiment 3 of the present invention;
[0027] Figure 4 This is a schematic diagram of the structure of an electronic device that implements the robot obstacle avoidance method based on blind zone obstacles according to the embodiments of the present invention. Detailed Implementation
[0028] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0029] It should be noted that the terms "candidate," "target," etc., used in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0030] Example 1
[0031] Figure 1This is a flowchart illustrating a robot obstacle avoidance method based on blind spot obstacles, as provided in Embodiment 1 of the present invention. This embodiment is applicable to situations where a robot is guided to avoid blind spot obstacles while performing a task. The method can be executed by a robot obstacle avoidance device based on blind spot obstacles. This device can be implemented in hardware and / or software and can be configured in a robot or server, or other device with communication and computing capabilities, to control the robot's operation. Figure 1 As shown, the method includes:
[0032] S110. Based on the current frame point cloud information and historical frame point cloud information obtained by the sensor, determine the speed information of moving obstacles within the robot's operating range.
[0033] The sensors can be devices such as LiDAR or 3D cameras mounted on the robot, used to acquire point cloud information of the robot's surrounding environment. Current frame point cloud information refers to the environmental information acquired by the robot at the current moment, such as point cloud information scanned by a LiDAR scanner or a 3D image of the current frame captured by a 3D camera. Historical frame point cloud information refers to multiple frames of point cloud information acquired by the robot before the current moment. The number of frames included in the historical frame can be determined according to the actual situation and is not limited here. To fully reflect the motion characteristics of moving obstacles, the historical frame includes at least two frames. The robot's operating range refers to the area within which the robot will operate, pre-defined by the robot's task information. For example, if the robot is performing a forking task, the area for placing goods is the robot's operating range.
[0034] Specifically, the robot acquires multi-frame point cloud information currently obtained by the sensors on the robot, extracts obstacle information from the multi-frame point cloud information, distinguishes between static and moving obstacles based on the moving speed of the obstacles, and determines the speed information of moving obstacles in the multi-frame point cloud information, including speed magnitude and speed direction information.
[0035] For example, after acquiring point cloud data, the point cloud data is transformed to a global coordinate system using the robot's pose information. The transformed point cloud data is then processed to obtain obstacle information. For instance, downsampling voxel filtering is performed on the transformed point cloud data to reduce the amount of data processed, improving the robot's obstacle avoidance efficiency. Then, filtering operations are used to remove noise and ground point cloud data. Filtering operations include radius filtering, etc. Finally, a clustering algorithm is used to cluster the point cloud data to obtain obstacle information. Specifically, the movement speed of obstacles is determined based on obstacle information in the current and previous frames, including speed direction and speed magnitude. If the speed magnitude determined in multiple consecutive frames is less than a preset speed threshold, the obstacle is considered a static obstacle; otherwise, it is considered a moving obstacle. The preset speed threshold can be determined according to actual conditions; for example, to avoid measurement errors, the preset speed threshold is set to 0.2 m / s.
[0036] S120. Determine whether the moving obstacle has continuous motion characteristics based on its speed information. If it does, proceed to step S130; otherwise, proceed to step S140.
[0037] The motion persistence feature characterizes whether the obstacle's movement speed exhibits intermittent stops. For example, whether the obstacle's movement is characterized by stopping and starting. If the obstacle's movement speed does not exhibit intermittent stops, then the obstacle possesses the motion persistence feature; otherwise, it does not. In other words, an obstacle that moves and stops intermittently does not possess the motion persistence feature. The motion persistence feature can also be described as characterizing the certainty of the obstacle's trajectory. If the obstacle possesses the motion persistence feature, then its trajectory is predictable; otherwise, because the obstacle's movement is irregular due to stopping and starting, its trajectory is uncertain, meaning the prediction result may be inaccurate.
[0038] Specifically, the velocity changes of moving obstacles exhibiting continuous motion characteristics remain within a certain deviation range, meaning there are no sudden drops or increases in velocity. Therefore, based on the velocity information of moving obstacles in multiple consecutive frames, the velocity deviation values of multiple adjacent frames are determined. If the velocity deviation value of at least one adjacent frame is greater than a preset velocity deviation threshold, the moving obstacle is determined not to have continuous motion characteristics; if the velocity deviation values of moving obstacles in all adjacent frames in multiple consecutive frames are less than the preset velocity deviation threshold, the moving obstacle is determined to have continuous motion characteristics. Implementing different obstacle avoidance strategies for the robot based on the motion characteristics of obstacles in the robot's operating environment helps improve the robot's obstacle avoidance accuracy and safety.
[0039] In one feasible embodiment, the velocity information includes velocity direction and velocity magnitude;
[0040] Accordingly, determining whether a moving obstacle possesses sustained motion characteristics based on its speed information includes:
[0041] Based on the velocity direction of the moving obstacle in the current frame point cloud information and the historical frame point cloud information, determine the direction change information of the moving obstacle in the multi-frame point cloud information; and based on the velocity magnitude of the moving obstacle in the current frame point cloud information and the historical frame point cloud information, determine the velocity change information of the moving obstacle in the multi-frame point cloud information.
[0042] Whether a moving obstacle has a continuous motion characteristic is determined based on the direction and velocity change information of the moving obstacle in multi-frame point cloud information.
[0043] To ensure the accuracy of determining the motion persistence characteristics of moving obstacles, both the magnitude and direction of velocity changes of the moving obstacle are considered simultaneously.
[0044] Based on the velocity information of moving obstacles in multiple consecutive frames, determine the magnitude and direction deviations of velocity in multiple adjacent frames. Then, determine the overall magnitude deviation as rate change information, for example, by averaging the magnitude and direction deviations of velocity in multiple adjacent frames. Similarly, determine the overall direction deviation as direction change information, for example, by averaging the direction and direction deviations of velocity in multiple adjacent frames.
[0045] If the direction change information is greater than a preset direction threshold, or the speed change information is greater than a preset speed threshold, then the moving obstacle is determined not to have a continuous movement characteristic; if the direction change information is less than or equal to a preset direction threshold, or the speed change information is less than or equal to a preset speed threshold, then the moving obstacle is determined to have a continuous movement characteristic.
[0046] In one feasible embodiment, the direction change information of the moving obstacle is determined according to the following formula:
[0047] CLth i =100-100*|vth i+1 -vth i | / π;
[0048] Among them, CLth i This represents the orientation change information of moving obstacles in the point cloud information of the i-th frame, vth i This indicates the velocity direction of the moving obstacle in the i-th frame of point cloud information;
[0049] The velocity change information of a moving obstacle is determined using the following formula:
[0050] CLx i =100-100*|vx i+1 -vx i | / vx i ;
[0051] Among them, CLx i vx represents the velocity change information of moving obstacles in the point cloud information of the i-th frame. i This represents the speed of the moving obstacle in the point cloud information of the i-th frame.
[0052] Specifically, the direction change information and rate change information of the moving obstacle are determined based on the velocity magnitude and velocity direction of the moving obstacle in the current multiple frames. For example, if the velocity information of the obstacle in the most recent 10 frames is used, then i = 1, 2...9. Based on the velocity magnitude and velocity direction in the 10 frames of point cloud information, the direction change information and rate change information of the moving obstacle in each frame of point cloud information are determined respectively.
[0053] In one feasible embodiment, determining whether a moving obstacle has a continuous motion characteristic based on the orientation change information and rate change information of the moving obstacle in multi-frame point cloud information includes:
[0054] Based on the direction change information and velocity change information of the moving obstacle in the target frame point cloud information, determine the motion state parameters of the moving obstacle in the target frame point cloud information;
[0055] The motion persistence parameters of the moving obstacle are determined based on the motion state parameters of the moving obstacle in multi-frame point cloud information.
[0056] If the motion persistence parameter is greater than the preset persistence threshold, then the moving obstacle is determined to have motion persistence characteristics.
[0057] The direction change information and velocity change information of the moving obstacle in each frame of the current frame and historical frames are determined respectively. Based on the direction change information and velocity change information of each frame, the motion state parameters of the frame are determined. The target frame point cloud information refers to the point cloud information of any frame in the current frame point cloud information and the point cloud information of historical frames. The motion state parameters of the moving obstacle in the target frame point cloud information characterize the velocity change between the target frame and its adjacent frames.
[0058] The overall motion persistence parameter of a moving obstacle is determined based on its motion state parameters in each frame of the current frame and historical frames. This avoids misjudging the motion characteristics of the obstacle due to sensor measurement errors or other errors, thereby improving the robot's obstacle avoidance accuracy and safety. If the motion persistence parameter is greater than a preset persistence threshold, it indicates that the obstacle's motion speed does not change abruptly, meaning its motion speed remains within a certain deviation range, and the obstacle exhibits motion persistence characteristics.
[0059] The motion state parameters are determined according to the following formula:
[0060] CL i =k*CLth i +(1-k)*CLx i ;
[0061] Among them, CL i Let CLth represent the motion state parameters of the moving obstacle in the point cloud information of the i-th frame, where k represents the weight of the velocity direction. i CLx represents the orientation change information of moving obstacles in the point cloud information of the i-th frame. i This represents the velocity change information of moving obstacles in the point cloud information of the i-th frame;
[0062] The motion duration parameter is determined using the following formula:
[0063]
[0064] Wherein, CL represents the motion persistence parameter of the moving obstacle, and n is the total number of point cloud information frames that determine the motion state parameters.
[0065] Since changes in direction and speed have different degrees of influence on the determination of the motion characteristics of moving obstacles, weights are assigned to the direction change information and speed change information when determining the motion state parameters of moving obstacles in each frame of point cloud information. The weights k∈[0,1], and the specific values of the weights can be determined based on the degree of influence of obstacle speed and direction on robot driving safety in the actual task execution scenario; no restrictions are imposed here. Finally, the motion persistence parameter of the moving obstacle is determined based on the average value of the motion state parameters of multiple frames of point cloud information in the current frame and historical frames. For example, when determining the motion state parameters based on 10 consecutive frames of point cloud information, the total number of frames of point cloud information for the motion state parameters can be determined to be 9 frames. When the motion state parameter is greater than 75, the moving obstacle is determined to have the characteristic of continuous motion.
[0066] S130: Control the robot to avoid obstacles by moving according to the overlap between the predicted trajectory of the obstacle and the blind spot.
[0067] The blind zone is determined based on the sensor's detection range and the robot's operating range. The area not covered by the sensor's detection range within the robot's operating range is the blind zone. Since the robot is constantly moving, the extent of the blind zone is constantly changing.
[0068] If all moving obstacles within the sensor's detection range exhibit continuous motion, the robot is controlled to execute an obstacle avoidance strategy. This strategy involves avoiding obstacles based on their predicted trajectories. Since moving obstacles exhibit continuous motion, their trajectories follow certain patterns. The predicted trajectory is determined based on these patterns, and the robot is then controlled to avoid obstacles based on the overlap between the predicted trajectory and the blind spot, thereby improving the robot's obstacle avoidance efficiency and safety.
[0069] Specifically, if a moving obstacle is detected entering the blind zone, the overlapping range with the blind zone is determined based on the predicted trajectory of the obstacle, and this overlapping range is set as a prohibited driving area for the robot. The robot determines its driving path based on the current sensor detection results and the prohibited driving area to achieve safe driving in the presence of a detection blind zone.
[0070] For example, for a moving obstacle with continuous motion characteristics, the obstacle's trajectory is predicted based on information from the current frame and the previous two frames (i.e., the most recent three frames). Assume the trajectory of the moving obstacle is a quadratic curve, y = a*x. 2 +b*x+c; The coordinates of the obstacle in the global coordinate system in the last three frames are (x1,y1), (x2,y2), and (x3,y3). Substituting these coordinates into the quadratic curve equation, we can obtain a system of three linear equations and solve for the values of a, b, and c to obtain the predicted trajectory of the moving obstacle.
[0071] S140, Control the robot to perform obstacle avoidance while stationary.
[0072] If at least one moving obstacle within the sensor's detection range does not have a continuous motion characteristic, then that at least one moving obstacle without a continuous motion characteristic is identified as a reference moving obstacle, and the robot is controlled to execute a stationary obstacle avoidance strategy. The robot stops moving under the stationary obstacle avoidance strategy, and the timing for lifting the stop state is determined based on the running state of the reference moving obstacle.
[0073] Specifically, if there is a reference obstacle with uncertain motion within the robot's detection range, the robot will stop and wait, and determine the subsequent obstacle avoidance strategy based on the updated motion state of the reference obstacle.
[0074] In one feasible embodiment, after controlling the robot to perform obstacle avoidance while stationary, the method further includes:
[0075] Monitoring the speed information of moving obstacles that do not exhibit sustained motion characteristics;
[0076] If a moving obstacle is determined to meet at least one of the following conditions: stationary, exhibiting continuous motion characteristics, moving out of the robot's operating range, or entering a blind zone, then the robot is controlled to perform obstacle avoidance maneuvers.
[0077] After the robot stops and waits, it continues to monitor reference moving obstacles that do not exhibit continuous motion characteristics. If the robot detects that a reference moving obstacle is stationary, exhibits continuous motion characteristics, leaves the robot's operating range, or enters a blind zone, it continues to execute the obstacle avoidance strategy. For example, if the reference moving obstacle is stationary, it is identified as a static obstacle, and its position information is memorized to avoid obstacle avoidance errors caused by the static obstacle entering the blind zone as the robot moves. If the reference moving obstacle exhibits continuous motion characteristics, the robot is controlled to avoid obstacles according to the obstacle avoidance strategy in step 130. If the reference moving obstacle leaves the robot's operating range, the robot is controlled to avoid obstacles based on the motion characteristics of other moving obstacles. If the reference moving obstacle enters a blind zone, the robot is controlled to designate the current blind zone as a prohibited operating area and determines the estimated time to leave the blind zone based on the historical operating data of the reference moving obstacle. After the estimated time to leave the blind zone is reached, the restriction on the stationary operating area of the current blind zone is lifted.
[0078] Since the trajectories of moving obstacles that do not exhibit continuous motion characteristics are not fixed, in order to avoid the impact of moving obstacles without continuous motion characteristics on the robot's operational safety, the robot executes a stationary obstacle avoidance strategy when such obstacles exist within its operating range. This is to prevent robot safety issues caused by moving obstacles suddenly entering the blind spot.
[0079] The technical solution of this invention determines the motion persistence characteristics of moving obstacles by using their speed information, and controls the robot to execute different obstacle avoidance strategies according to the movement of the moving obstacles, thus ensuring the safe operation of the robot when performing tasks.
[0080] Example 2
[0081] Figure 2 This is a flowchart of a robot obstacle avoidance method based on blind zone obstacles provided in Embodiment 2 of the present invention. This embodiment further describes the "controlling the robot to perform obstacle avoidance based on the overlap between the predicted motion trajectory of the moving obstacle and the blind zone" in the above embodiment. Figure 2 As shown, the method includes:
[0082] S210. Divide the robot's operating range to obtain multiple candidate regions.
[0083] The robot's operating range refers to the area within which the robot will operate, as pre-defined. For example, the robot's operating range is determined based on the task information. If the robot is performing a task of picking up goods, then the area for placing the goods is the robot's operating range.
[0084] Specifically, the robot's operating range is obtained, and an occupancy grid map of that area is generated. For example, assuming the width of the delivery area is W meters and the length is L meters, and each candidate area is a 0.01-meter square, each candidate area is called a cell. Then, the occupancy grid map of the delivery area consists of W*L*10000 cells. When generating the occupancy grid map, each cell is set with an initial occupancy parameter, which represents the probability that the area is occupied by an obstacle; the initial occupancy parameter is 0.
[0085] S220. Determine the target region from the candidate regions based on the overlap between the predicted trajectory of the moving obstacle and the blind zone, and determine the occupancy parameter of the target region as the first value.
[0086] The position of the moving obstacle at a future time is determined based on the predicted movement trajectory of the moving obstacle, and the candidate area corresponding to the position is determined as the target area. The occupancy parameter of the target area is determined as a first value, which is greater than 1, to indicate the probability that the area is occupied by the obstacle.
[0087] For example, for moving obstacles entering the blind spot of a 3D camera's field of view, the obstacle's position is estimated based on the predicted obstacle's trajectory. The obstacle corresponding to this position is called a virtual obstacle. The virtual obstacle is transformed to the map coordinate system through coordinate transformation, and a large occupancy parameter is assigned to the candidate area occupied by the virtual obstacle to characterize the obstacle occupancy status in that area within the blind spot.
[0088] S230. Determine the obstacle avoidance area of the robot based on the comparison result between the occupancy parameters of the candidate area and the preset parameter threshold, and control the robot to move and avoid obstacles according to the obstacle avoidance area.
[0089] The first value is greater than or equal to a preset parameter threshold. The occupancy parameter of the candidate area occupied by virtual obstacles within the blind zone is set to a larger value than the preset parameter threshold, allowing the robot to avoid areas within the blind zone that may be occupied by moving obstacles, thereby improving the safety of robot movement within the blind zone.
[0090] Specifically, if the occupancy parameter of the candidate area within the blind zone is greater than the preset parameter threshold, the area is set as a prohibited driving area for the robot. The robot determines its driving path based on the current sensor detection results and the prohibited driving area to achieve safe driving in the presence of a detection blind zone.
[0091] Since the robot cannot detect specific situations within blind spots, if the future driving path is determined directly based on the point cloud information detected by the current sensors, there will be situations where the future driving path passes through blind spots. Because the situation of obstacles within blind spots is unclear, it will affect the robot's driving safety. In this embodiment of the invention, the occupied area within the blind spot is predicted based on the driving path of the obstacles, and the robot is controlled to move and avoid obstacles based on the occupied area, thereby improving the robot's driving safety.
[0092] For example, if the time it takes for a moving obstacle to leave the robot's operating area or enter the blind zone is longer than the expected time to leave the blind zone, the occupancy parameter of the target area is set to the initial value. The expected time to leave the blind zone is determined based on the historical operating data of the moving obstacle.
[0093] In one feasible embodiment, before the sensor acquires the current frame point cloud data, the method further includes:
[0094] Determine the obstacle location information of moving obstacles based on historical frame point cloud information;
[0095] Based on the obstacle location information, a reference region is determined from the candidate region, and the occupancy parameter of the reference region is determined as a second value; wherein the second value is less than the first value;
[0096] Accordingly, after the sensor acquires the point cloud data of the current frame, the method also includes:
[0097] Determine the updated obstacle position information based on the current frame point cloud information;
[0098] The occupancy parameters of the reference area are updated based on the updated obstacle location information, so that the robot can determine the obstacle avoidance area based on the occupancy parameters of the reference area.
[0099] After the sensor acquires historical frame point cloud data, a reference area is determined based on the location information of the moving obstacles detected in the historical frame point cloud data. The occupancy parameter of the reference area is set to a second value, for example, 1. The second value is less than the first value. Since the first value represents the predicted result of the obstacle in the blind zone, and in order to ensure the safety of the robot driving in the blind zone, the first value is greater than the preset parameter threshold. The reference area represents the area that was once occupied by an obstacle, so the second value is less than the preset parameter threshold.
[0100] After the sensor acquires the current frame point cloud data, an updated reference region is determined based on the location information of moving obstacles detected in the current frame point cloud data. If a reference region that appeared in the historical frame point cloud data does not appear in the updated reference region, the occupancy parameter of that reference region is subtracted by a third value, where the third value is less than or equal to the second value. If a reference region appears repeatedly in the updated reference region, the occupancy parameter of that reference region is added to the third value. If a reference region that did not appear in the historical reference region appears in the updated reference region, the occupancy parameter of that reference region is set to the second value. The occupancy parameters of candidate regions are continuously updated based on new current frame point cloud information acquired by the sensor, so that the occupancy parameters of candidate regions represent the probability of being occupied by obstacles. When a candidate region enters the blind zone as the robot moves, the occupancy parameters in the candidate region can indicate to the robot the probability that the area may be occupied by an obstacle. If the occupancy parameter of a candidate region within the blind zone is greater than a preset threshold, it indicates that the region is likely to be occupied by an obstacle in historical frames, and may also be occupied by an obstacle within the blind zone. Therefore, the region is designated as a prohibited area for the robot. Furthermore, since the occupancy parameter of the candidate region is updated based on the new point cloud information continuously acquired by the robot, the accuracy and safety of the robot's movement based on the blind zone occupancy parameter are improved.
[0101] Optionally, the location information of static obstacles is determined based on the acquired point cloud information of the current frame and historical frame. A static region is then determined from the candidate regions based on the static obstacle location information, and the occupancy parameter of the static region is set as a first value. The occupancy parameter of the static region is not updated. For example, the occupancy parameter of the static region within a preset distance range of the robot is not updated. Since blind spots are mostly located within the close range of the sensor, obstacles cannot be accurately perceived at close range. Therefore, the occupancy parameter of the static region within the preset distance range is not updated to avoid robot driving safety issues caused by untimely updates. The preset distance range is determined based on the sensor's detection range and is typically set to 0.1-0.5 meters.
[0102] This invention, by determining the occupancy parameters of candidate areas within the blind zone, enables the robot to navigate within the blind zone while avoiding the risk of collisions with obstacles. This ensures robot safety while improving the utilization of the robot's operating space, avoiding the need to designate the entire blind zone as a prohibited area. Furthermore, by updating the occupancy parameters of candidate areas within the operating area, the overall safety of robot operation is improved.
[0103] Example 3
[0104] Figure 3This is a schematic diagram of a robot obstacle avoidance device based on blind spot obstacles provided in Embodiment 3 of the present invention. The robot is equipped with at least one sensor for acquiring environmental point cloud information. Figure 3 As shown, the device includes:
[0105] The obstacle speed determination module 310 is used to determine the speed information of moving obstacles within the robot's operating range based on the current frame point cloud information and historical frame point cloud information obtained by the sensor.
[0106] The obstacle motion characteristic determination module 320 is used to determine whether the moving obstacle has a continuous motion characteristic based on the speed information of the moving obstacle; if so, the moving obstacle avoidance module 330 is executed; otherwise, the stationary obstacle avoidance module 340 is executed.
[0107] The motion obstacle avoidance module 330 is used to control the robot to perform motion obstacle avoidance based on the overlap between the predicted motion trajectory of the obstacle and the blind zone if the moving obstacle has continuous motion characteristics; wherein, the blind zone is determined based on the detection range of the sensor and the operating range of the robot;
[0108] The stationary obstacle avoidance module 340 is used to control the robot to perform stationary obstacle avoidance if the moving obstacle does not have the characteristic of continuous motion.
[0109] Optionally, the robot obstacle avoidance module based on blind spot obstacles includes:
[0110] Optionally, the speed information includes speed direction and speed magnitude;
[0111] Correspondingly, the obstacle motion characteristic determination module includes:
[0112] The change information determination unit is used to determine the direction change information of the moving obstacle in multi-frame point cloud information based on the velocity direction of the moving obstacle in the current frame point cloud information and the historical frame point cloud information, and to determine the speed change information of the moving obstacle in multi-frame point cloud information based on the velocity magnitude of the moving obstacle in the current frame point cloud information and the historical frame point cloud information.
[0113] The motion persistence feature determination unit is used to determine whether the moving obstacle has motion persistence features based on the direction change information and rate change information of the moving obstacle in multi-frame point cloud information.
[0114] Optionally, the direction change information of the moving obstacle can be determined according to the following formula:
[0115] CLth i =100-100*|vth i+1 -vthi | / π;
[0116] Among them, CLth i This represents the orientation change information of the moving obstacle in the point cloud information of the i-th frame, vth i This indicates the velocity direction of the moving obstacle in the point cloud information of the i-th frame;
[0117] The velocity change information of the moving obstacle is determined according to the following formula:
[0118] CLx i =100-100*|vx i+1 -vx i | / vx i ;
[0119] Among them, CLx i This represents the rate change information of the moving obstacle in the point cloud information of the i-th frame, vx i This represents the speed of the moving obstacle described in the point cloud information of the i-th frame.
[0120] Optional, motion persistence feature determination unit, specifically used for:
[0121] Based on the direction change information and velocity change information of the moving obstacle in the target frame point cloud information, the motion state parameters of the moving obstacle in the target frame point cloud information are determined;
[0122] The motion persistence parameters of the moving obstacle are determined based on the motion state parameters of the moving obstacle in multi-frame point cloud information.
[0123] If the motion persistence parameter is greater than a preset persistence threshold, then the moving obstacle is determined to have motion persistence characteristics.
[0124] The motion state parameters are determined according to the following formula:
[0125] CL i =k*CLth i +(1-k)*CLx i ;
[0126] Among them, CL i This represents the motion state parameters of the moving obstacle in the i-th frame of the point cloud information, where k represents the weight of the velocity direction, and CLth i CLx represents the orientation change information of the moving obstacle in the point cloud information of the i-th frame. i This represents the rate change information of the moving obstacle in the point cloud information of the i-th frame;
[0127] The motion duration parameter is determined using the following formula:
[0128]
[0129] Wherein, CL represents the motion persistence parameter of the moving obstacle, and n is the total number of point cloud information frames that determine the motion state parameters.
[0130] Optionally, the device further includes a static obstacle avoidance contact module, used to monitor the speed information of moving obstacles that do not have continuous motion characteristics after controlling the robot to perform static obstacle avoidance;
[0131] If the obstacle is determined to meet at least one of the following conditions: stationary, having continuous motion characteristics, leaving the robot's operating range, or entering the blind zone, then the robot is controlled to perform obstacle avoidance.
[0132] Optionally, the device further includes a region division module, used for:
[0133] Before controlling the robot to avoid obstacles based on the overlap between the predicted trajectory of the moving obstacle and the blind zone, the robot's operating range is divided to obtain multiple candidate regions.
[0134] Correspondingly, the motion obstacle avoidance module is specifically used for:
[0135] The target region is determined from the candidate region based on the overlapping range, and the occupancy parameter of the target region is determined to be a first value;
[0136] The obstacle avoidance area of the robot is determined based on the comparison result between the occupancy parameter of the candidate area and the preset parameter threshold, and the robot is controlled to move and avoid obstacles according to the obstacle avoidance area; wherein, the first value is greater than or equal to the preset parameter threshold.
[0137] Optionally, the device further includes a region occupancy parameter determination module, used to determine the obstacle position information of the moving obstacle based on the historical frame point cloud information before the sensor acquires the current frame point cloud data;
[0138] Based on the obstacle location information, a reference region is determined from the candidate region, and the occupancy parameter of the reference region is determined to be a second value; wherein the second value is less than the first value;
[0139] Accordingly, the device also includes a region occupancy parameter update module, used for
[0140] After the sensor acquires the current frame point cloud data, the updated obstacle position information of the moving obstacle is determined based on the current frame point cloud information;
[0141] The occupancy parameters of the reference area are updated based on the updated obstacle location information, so that the robot can determine the obstacle avoidance area based on the occupancy parameters of the reference area.
[0142] The robot obstacle avoidance device based on blind spot obstacles provided in the embodiments of the present invention can execute the robot obstacle avoidance method based on blind spot obstacles provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0143] The acquisition, storage, use, and processing of data in this application comply with relevant national laws and regulations and do not violate public order and good morals.
[0144] Example 4
[0145] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0146] Figure 4 A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0147] like Figure 4 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0148] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0149] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as methods for robot obstacle avoidance based on blind-spot obstacles.
[0150] In some embodiments, the blind-spot obstacle avoidance method for robots can be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the blind-spot obstacle avoidance method described above can be performed. Alternatively, in other embodiments, processor 11 can be configured to perform the blind-spot obstacle avoidance method for robots by any other suitable means (e.g., by means of firmware).
[0151] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific reference products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transferring data and instructions to the storage system, the at least one input device, and the at least one output device.
[0152] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0153] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0154] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0155] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0156] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0157] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0158] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A robot obstacle avoidance method based on blind zone obstacles, characterized in that, The robot is equipped with at least one sensor to acquire environmental point cloud information, including: Based on the current frame point cloud information and historical frame point cloud information obtained by the sensor, the speed information of moving obstacles within the robot's operating range is determined; Based on the speed information of the moving obstacle, it is determined whether the moving obstacle has a continuous motion characteristic; wherein, the continuous motion characteristic is used to characterize whether the moving speed of the moving obstacle has an intermittent stopping phenomenon. If the moving speed of the moving obstacle does not have an intermittent stopping phenomenon, then the moving obstacle has a continuous motion characteristic; otherwise, the moving obstacle does not have a continuous motion characteristic. If so, the robot is controlled to perform obstacle avoidance based on the overlap between the predicted trajectory of the moving obstacle and the blind zone; wherein, the blind zone is determined based on the detection range of the sensor and the operating range of the robot; obstacle avoidance is performed based on the predicted trajectory of the moving obstacle. Otherwise, the robot is controlled to perform stationary obstacle avoidance; wherein, stationary obstacle avoidance means that the robot stops moving and determines the timing of releasing the stop state based on the running state of a reference moving obstacle, and the reference moving obstacle refers to a moving obstacle that does not have the characteristic of continuous movement.
2. The method according to claim 1, characterized in that, The speed information includes the speed direction and speed magnitude; Accordingly, determining whether the moving obstacle has a continuous motion characteristic based on the speed information of the moving obstacle includes: Based on the velocity direction of the moving obstacle in the current frame point cloud information and the historical frame point cloud information, determine the direction change information of the moving obstacle in the multi-frame point cloud information; and based on the velocity magnitude of the moving obstacle in the current frame point cloud information and the historical frame point cloud information, determine the velocity change information of the moving obstacle in the multi-frame point cloud information. Based on the direction change information and rate change information of the moving obstacle in multi-frame point cloud information, it is determined whether the moving obstacle has the characteristic of continuous motion.
3. The method according to claim 2, characterized in that, The direction change information of the moving obstacle is determined according to the following formula: ; in, This represents the orientation change information of the moving obstacle in the point cloud information of the i-th frame. This indicates the velocity direction of the moving obstacle in the point cloud information of the i-th frame; The velocity change information of the moving obstacle is determined according to the following formula: ; in, This represents the rate change information of the moving obstacle in the point cloud information of the i-th frame. This represents the speed of the moving obstacle described in the point cloud information of the i-th frame.
4. The method according to claim 3, characterized in that, Determining whether the moving obstacle has continuous motion characteristics based on the direction change information and velocity change information of the moving obstacle in multi-frame point cloud information includes: Based on the direction change information and velocity change information of the moving obstacle in the target frame point cloud information, the motion state parameters of the moving obstacle in the target frame point cloud information are determined; The motion persistence parameters of the moving obstacle are determined based on the motion state parameters of the moving obstacle in multi-frame point cloud information. If the motion persistence parameter is greater than a preset persistence threshold, then the moving obstacle is determined to have motion persistence characteristics. The motion state parameters are determined according to the following formula: in, The parameter represents the motion state of the moving obstacle in the i-th frame of the point cloud information, where k represents the weight of the velocity direction. This represents the orientation change information of the moving obstacle in the point cloud information of the i-th frame. This represents the rate change information of the moving obstacle in the point cloud information of the i-th frame; The motion duration parameter is determined using the following formula: in, The parameter represents the motion persistence of the moving obstacle, and n is the total number of point cloud information frames that determine the motion state parameters.
5. The method according to claim 1, characterized in that, After controlling the robot to perform obstacle avoidance while stationary, the method further includes: Monitoring the speed information of moving obstacles that do not exhibit sustained motion characteristics; If the obstacle is determined to meet at least one of the following conditions: stationary, having continuous motion characteristics, leaving the robot's operating range, or entering the blind zone, then the robot is controlled to perform obstacle avoidance.
6. The method according to claim 1, characterized in that, Before controlling the robot to perform obstacle avoidance based on the overlap between the predicted trajectory of the moving obstacle and the blind spot, the method further includes: The robot's operating range is divided into multiple candidate regions; Accordingly, controlling the robot to perform obstacle avoidance based on the overlap between the predicted trajectory of the moving obstacle and the blind spot includes: The target region is determined from the candidate region based on the overlapping range, and the occupancy parameter of the target region is determined to be a first value; The obstacle avoidance area of the robot is determined based on the comparison result between the occupancy parameter of the candidate area and the preset parameter threshold, and the robot is controlled to move and avoid obstacles according to the obstacle avoidance area; wherein, the first value is greater than or equal to the preset parameter threshold.
7. The method according to claim 6, characterized in that, Before the sensor acquires the current frame point cloud data, the method further includes: The obstacle location information of the moving obstacle is determined based on the historical frame point cloud information; Based on the obstacle location information, a reference region is determined from the candidate region, and the occupancy parameter of the reference region is determined to be a second value; wherein the second value is less than the first value; Accordingly, after the sensor acquires the point cloud data of the current frame, the method further includes: Based on the current frame point cloud information, determine the updated obstacle position information of the moving obstacle; The occupancy parameters of the reference area are updated based on the updated obstacle location information, so that the robot can determine the obstacle avoidance area based on the occupancy parameters of the reference area.
8. A robot obstacle avoidance device based on blind spot obstacles, characterized in that, The robot is equipped with at least one sensor to acquire environmental point cloud information, including: The obstacle velocity determination module is used to determine the velocity information of moving obstacles within the robot's operating range based on the current frame point cloud information and historical frame point cloud information obtained by the sensor. The obstacle motion characteristic determination module is used to determine whether the moving obstacle has a motion continuity characteristic based on the speed information of the moving obstacle; wherein, the motion continuity characteristic is used to characterize whether the motion speed of the moving obstacle has an intermittent stopping phenomenon. If the motion speed of the moving obstacle does not have an intermittent stopping phenomenon, then the moving obstacle has a motion continuity characteristic; otherwise, the moving obstacle does not have a motion continuity characteristic. The obstacle avoidance module is used to control the robot to avoid obstacles based on the overlap between the predicted trajectory of the obstacle and the blind zone if the obstacle has continuous motion characteristics; wherein, the blind zone is determined based on the detection range of the sensor and the operating range of the robot; obstacle avoidance is based on the predicted trajectory of the obstacle. A stationary obstacle avoidance module is used to control the robot to perform stationary obstacle avoidance if the moving obstacle does not have a continuous motion characteristic; wherein, stationary obstacle avoidance means that the robot stops moving and determines the timing of releasing the stop state based on the running state of a reference moving obstacle, which refers to a moving obstacle that does not have a continuous motion characteristic.
9. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the robot obstacle avoidance method based on blind spot obstacles according to any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the robot obstacle avoidance method based on blind zone obstacles as described in any one of claims 1-7.
Citation Information
Patent Citations
Mobile robot path planning method in dynamic environment
CN109782763A
Dynamic obstacle anti-collision method
CN111650945A