Obstacle recognition method and obstacle recognition system
By calculating the correlation coefficient between optical flow vectors and robot posture parameters, obstacles are identified, solving the problem of false obstacle identification in existing technologies and improving the efficiency and safety of robot task execution.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-04
- Publication Date
- 2026-04-03
AI Technical Summary
Existing robots, based on 2D image recognition technology, have difficulty distinguishing between real 3D physical obstacles and 2D planar obstacles, leading to frequent 'phantom braking' and reduced task execution efficiency.
By acquiring continuous frame images of obstacles, the correlation coefficient between optical flow vectors and robot posture parameters is calculated to identify whether obstacles are real obstacles and avoid misidentification of false obstacles.
It improves the efficiency of robot task execution, reduces the occurrence of 'ghost braking', and enhances the accuracy and safety of recognizing real obstacles.
Smart Images

Figure CN121777152A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of robotics technology, and in particular relates to an obstacle recognition method and an obstacle recognition system. Background Technology
[0002] Existing robots (such as logistics robots and cleaning robots) mainly rely on visual sensors for obstacle detection.
[0003] However, current technologies based on 2D image recognition have a fundamental flaw: they struggle to distinguish between real 3D physical obstacles with similar textures and 2D planar obstacle images (such as billboards and ground spray paint). This leads to frequent "ghost braking" of the robot, reducing its task execution efficiency. Summary of the Invention
[0004] In view of this, embodiments of this application provide an obstacle recognition method and an obstacle recognition system to improve the task execution efficiency of robots.
[0005] In a first aspect, embodiments of this application provide an obstacle recognition method, including: When an obstacle is detected in the robot's direction of travel, a series of obstacle images are acquired. Calculate the corresponding optical flow vector based on the consecutive frames of obstacle images; Calculate the correlation coefficient between the optical flow vector and the robot's posture parameters. The correlation coefficient is used to characterize the consistency between optical flow changes and posture changes during the robot's movement. Based on the correlation coefficient, the obstacle is identified as a real obstacle, and an identification result is obtained. The identification result includes a first identification result for characterizing the obstacle as a real obstacle, or a second identification result for characterizing the obstacle as a false obstacle.
[0006] The solution provided in this application enables the robot to perform virtual-real obstacle recognition based on the optical flow vector of the obstacle image and the robot's posture parameters during task execution. This avoids the robot frequently experiencing "ghost braking" when false obstacles are identified as real obstacles, thereby improving the robot's task execution efficiency.
[0007] In some optional embodiments, the obstacle recognition method further includes: When the recognition result is the first recognition result, the obstacle disparity angle of the real obstacle is calculated based on two adjacent obstacle images in the continuous frame obstacle images; The robot's movement is controlled based on the parallax angle of the obstacle to determine whether the actual obstacle is a raised obstacle.
[0008] The solution provided in this embodiment, when an obstacle is identified as a real obstacle, determines the concave-convex shape of the real obstacle based on the obstacle parallax angle corresponding to the obstacle image, so as to control the robot's movement according to the determination result, which can reduce the occurrence of collisions between the robot and real obstacles and improve the safety of the robot in the process of performing tasks.
[0009] In some optional embodiments, determining whether the real obstacle is a raised obstacle based on the obstacle parallax angle includes: When the parallax angle of the obstacle increases with the displacement of the robot, the real obstacle is determined to be the protruding obstacle; When the parallax angle of the obstacle decreases as the robot's displacement increases, the real obstacle is determined to be a recessed obstacle.
[0010] The solution provided in this embodiment judges the concave and convex shape of real obstacles based on the change of the parallax angle of the obstacle, thereby improving the accuracy of judging the concave and convex shape of real obstacles.
[0011] In some optional embodiments, before calculating the obstacle disparity angle of the real obstacle based on two adjacent obstacle images in the consecutive obstacle images, the obstacle recognition method further includes: Obtain the robot's displacement; Determine whether the conditions for recognizing uneven or protruding obstacles are met based on the driving displacement. The step of calculating the obstacle disparity angle of the real obstacle based on two adjacent obstacle images in the consecutive obstacle images includes: When the obstacle recognition condition is met based on the driving displacement, the obstacle disparity angle is calculated based on the two adjacent obstacle images.
[0012] The solution provided in this embodiment calculates the parallax angle of obstacles when the robot's displacement meets the conditions for recognizing protruding and concave obstacles. This can suppress the increase in system computation caused by frequent calculation of the parallax angle when the conditions for recognizing protruding and concave obstacles are not met, thereby reducing the system's computational load.
[0013] In some optional embodiments, the obstacle recognition method further includes: When the real obstacle is determined to be the protruding obstacle based on the obstacle disparity angle, the disparity angle amplitude is calculated based on the optical flow vector; The distance between the robot and the raised obstacle is calculated based on the focal length of the image sensor, the driving displacement, and the parallax angle amplitude. The image sensor is used to acquire the continuous frame obstacle images.
[0014] The solution provided in this embodiment calculates the obstacle distance between the robot and the raised obstacle based on the optical flow vector, the focal length of the image sensor, and the driving displacement, thereby improving the accuracy of obstacle distance calculation.
[0015] In some optional embodiments, calculating the obstacle disparity angle of the real obstacle based on two adjacent obstacle images in the consecutive obstacle image frames includes: The feature change amplitude of the real obstacle is obtained based on the two adjacent obstacle images, and the center pixel coordinates of the two adjacent obstacle images are the same; The obstacle disparity angle is calculated based on the image center pixel coordinates and the feature change amplitude.
[0016] The solution provided in this embodiment calculates the obstacle disparity angle based on two adjacent obstacle images, thereby improving the accuracy of obstacle disparity angle calculation.
[0017] In some optional embodiments, calculating the corresponding optical flow vector based on the consecutive frame obstacle images includes: Calculate the first directional gradient of the pixel's horizontal coordinate, the second directional gradient of the pixel's vertical coordinate, and the temporal gradient based on the continuous frame obstacle images; The optical flow vector is calculated based on the first directional gradient, the second directional gradient, and the time gradient.
[0018] The solution provided in this embodiment calculates the optical flow vector based on the directional gradient and temporal gradient of the pixel coordinates corresponding to the obstacle image, thereby improving the accuracy of optical flow vector calculation.
[0019] In some optional embodiments, calculating the correlation coefficient between the optical flow vector and the robot's posture parameters includes: Calculate the ratio of the attitude parameter to the magnitude of the optical flow vector; The ratio is identified as the correlation coefficient.
[0020] The solution provided in this embodiment calculates the correlation coefficient based on the robot's posture parameters and optical flow vector, thereby improving the accuracy of the correlation coefficient calculation.
[0021] In some optional embodiments, the step of identifying whether the obstacle is a real obstacle based on the correlation coefficient and obtaining the identification result includes: When the correlation coefficient is greater than or equal to the coefficient threshold, the obstacle is identified as the real obstacle, and the first identification result is obtained; When the correlation coefficient is less than the coefficient threshold, the obstacle is identified as a false obstacle, and the second identification result is obtained.
[0022] The solution provided in this embodiment uses a correlation coefficient to characterize the consistency between optical flow changes and posture changes during robot movement. Based on the degree of consistency between optical flow changes and posture changes, virtual and real obstacles are identified, thus improving the accuracy of virtual and real obstacle identification.
[0023] Secondly, embodiments of this application provide an obstacle recognition device, comprising: The first acquisition module is used to acquire continuous frame images of the obstacle when an obstacle is detected in the robot's travel direction; The first calculation module is used to calculate the corresponding optical flow vector based on the continuous frame obstacle images; The second calculation module is used to calculate the correlation coefficient between the optical flow vector and the robot's posture parameters. The correlation coefficient is used to characterize the consistency between the optical flow changes and posture changes during the robot's movement. The identification module is used to identify whether the obstacle is a real obstacle based on the correlation coefficient, and obtain an identification result. The identification result includes a first identification result for characterizing the obstacle as a real obstacle, or a second identification result for characterizing the obstacle as a false obstacle.
[0024] Thirdly, embodiments of this application provide an obstacle recognition system, including a controller, the controller being configured to: When an obstacle is detected in the robot's direction of travel, a series of obstacle images are acquired. Calculate the corresponding optical flow vector based on the consecutive frames of obstacle images; Calculate the correlation coefficient between the optical flow vector and the robot's posture parameters. The correlation coefficient is used to characterize the consistency between optical flow changes and posture changes during the robot's movement. Based on the correlation coefficient, the obstacle is identified as a real obstacle, and an identification result is obtained. The identification result includes a first identification result for characterizing the obstacle as a real obstacle, or a second identification result for characterizing the obstacle as a false obstacle.
[0025] Fourthly, embodiments of this application provide a computer-readable storage medium storing program code, which can be invoked by a processor to execute the obstacle recognition method provided in the first aspect above.
[0026] Fifthly, embodiments of this application provide a computer program product that, when run on a computer device, causes the computer device to perform the obstacle recognition method as described in the first aspect above.
[0027] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0028] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0029] Figure 1 This illustration shows a scenario diagram of the obstacle recognition system provided in an embodiment of this application.
[0030] Figure 2 A flowchart illustrating an obstacle recognition method provided in an embodiment of this application is shown.
[0031] Figure 3 This illustration shows another flowchart of the obstacle recognition method provided in an embodiment of this application.
[0032] Figure 4 This illustration shows a scenario flow diagram of the obstacle recognition method provided in an embodiment of this application.
[0033] Figure 5 A structural block diagram of an obstacle recognition device provided in an embodiment of this application is shown.
[0034] Figure 6 This application illustrates a computer-readable storage medium for storing or carrying program code that implements the obstacle recognition method provided in this application.
[0035] Figure 7 This application illustrates a computer program product for storing or carrying program code that implements the obstacle recognition method provided in the embodiments of this application. Detailed Implementation
[0036] To make the inventive objectives, features, and advantages of this application more apparent and understandable, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the embodiments described below are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0037] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.
[0038] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of the application. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.
[0039] It should also be further understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0040] Furthermore, in the description of this application, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0041] Some robots (such as logistics robots and cleaning robots) mainly rely on visual sensors for obstacle detection.
[0042] However, current technologies based on 2D image recognition have a fundamental flaw: they struggle to distinguish between real 3D physical obstacles with similar textures and 2D planar obstacle images (such as billboards and ground spray paint). This leads to frequent "ghost braking" of the robot, reducing its task execution efficiency.
[0043] To address the aforementioned issues, the obstacle recognition method and system provided in this application acquire consecutive frame images of the obstacle when an obstacle is detected in the robot's driving direction. The system calculates the corresponding optical flow vector based on these consecutive frame images and the correlation coefficient between the optical flow vector and the robot's posture parameters. This correlation coefficient characterizes the consistency between optical flow changes and posture changes during robot movement. Furthermore, the system identifies whether the obstacle is a real obstacle based on the correlation coefficient, obtaining a recognition result. This result includes a first recognition result characterizing the obstacle as a real obstacle, or a second recognition result characterizing the obstacle as a false obstacle. This enables the robot to perform real-object obstacle recognition based on the optical flow vector of the obstacle image and the robot's posture parameters during task execution. This avoids the frequent occurrence of "ghost braking" caused by misidentifying false obstacles as real obstacles, thus improving the robot's task execution efficiency.
[0044] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0045] Please see Figure 1 The diagram illustrates an application scenario of the obstacle recognition system provided in this application embodiment. The obstacle recognition system may include a robot 101 and a controller 102. The robot 101 can be communicatively connected to the controller 102 and interact with the controller 102 for data exchange.
[0046] Robot 101 can be any of the following: logistics robot, cleaning robot, warehousing robot, delivery robot, assisted walking robot, companion robot, intelligent mobility robot, or guide robot. The type of robot 101 is not limited here and can be set according to actual needs.
[0047] The controller 102 can be any of the following: server or terminal device. No specific limitation is made here. The specific configuration can be determined according to actual needs.
[0048] The server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), big data and artificial intelligence platforms, etc. There are no restrictions here.
[0049] The terminal device can be a mobile terminal device (e.g., mobile phone, vehicle terminal, PDA, tablet PC, laptop computer, etc.) or a fixed terminal device (desktop computer, smart panel, etc.), etc., without limitation.
[0050] In some implementations, robot 101 and controller 102 can be set up independently. Robot 101 and controller 102 can also be integrated into one unit. For example, controller 102 can be embedded in robot 101 and form an integrated structure with robot 101.
[0051] In some implementations, the obstacle recognition system may also include an image sensor 103, which may be communicatively connected to the controller 102 and interact with the controller 102 for data exchange.
[0052] The image sensor 103 can be integrated with the robot 101, for example, it can be embedded in the robot 101 to form an integrated structure. Alternatively, the image sensor 103 can be installed independently of the robot 101, for example, it can be installed in the environment where the robot 101 is located. The installation method of the image sensor 103 is not limited here; it can be configured according to actual needs.
[0053] The image sensor 103 can be any of the following: wide-angle camera, macro camera, ultra-wide-angle camera, or panoramic camera. The type of image sensor 103 is not limited here, and can be set according to actual needs.
[0054] In some implementations, the obstacle recognition system may also include an inertial measurement unit (IMU) 104, which can be communicatively connected to the controller 102 and interact with the controller 102 for data exchange.
[0055] The IMU 104 can be installed on robot 101 and used to collect the robot's attitude parameters. Attitude parameters may include angular velocity and linear velocity, etc., which are not limited here.
[0056] In some implementations, the obstacle recognition system may also include a client 105, which can be connected to the controller 102 via a network and interact with the controller 102 via the network.
[0057] The client can be a mobile client (e.g., mobile phone client, vehicle terminal client, PDA client, Tablet PC client, laptop client, etc.) or a fixed client (desktop computer client, smart panel client, etc.), etc., without limitation.
[0058] Please see Figure 2 The diagram illustrates a flowchart of an obstacle recognition method provided in one embodiment of this application. In a specific embodiment, the obstacle recognition method can be applied to, for example... Figure 1 The obstacle recognition system shown below uses controller 102 as an example to illustrate the following discussion. Figure 2 The process shown is described in detail. The obstacle recognition method may include the following steps 201 to 204.
[0059] Step 201: When an obstacle is detected in the robot's direction of travel, acquire consecutive frame images of the obstacle.
[0060] In this embodiment of the application, the controller can detect the robot's robot state, and when the robot's robot state is detected to be in motion, it can acquire an environmental image of the robot's driving direction, and detect whether there are obstacles in the robot's driving direction based on the environmental image. When an obstacle is detected in the robot's driving direction based on the environmental image, it can acquire a continuous frame image of the obstacle.
[0061] The robot's state can include a moving state or a stationary state, etc. The type of robot state is not limited here, and can be set according to actual needs.
[0062] A continuous frame obstacle image can be a set of obstacle images acquired in a continuous time. The acquisition interval between any two adjacent obstacle images in the continuous frame obstacle image can be a preset time.
[0063] The preset duration can be a duration set by the user, for example, the preset duration can be 33ms, the preset duration can also be 40ms, etc., there is no limitation here.
[0064] The consecutive frame obstacle images can be any number of obstacle images. As an example, the consecutive frame obstacle images can be 3 consecutive obstacle images, but there is no limitation here.
[0065] Regarding the process by which the controller detects the robot's state, in some implementations, the controller can acquire the robot's robot signal, match the robot signal with a preset signal to obtain the signal matching degree, and determine the robot's state based on the signal matching degree.
[0066] When the signal matching degree is greater than or equal to the signal matching degree threshold, the robot's state is determined to be in motion; when the signal matching degree is less than the signal matching degree threshold, the robot's state is determined to be in a stationary state.
[0067] The robot signal may include at least one of voltage signal, current signal, and speed signal, etc., without limitation.
[0068] The preset signal can be a signal used to indicate when the robot is in motion, and the signal matching degree threshold can be the minimum signal matching degree used to characterize the robot's state as being in motion.
[0069] Regarding the process by which the controller acquires environmental images in the robot's driving direction, in some embodiments, the controller can send a first acquisition command to the image sensor. After receiving the first acquisition command, the image sensor acquires images of the environment in the driving direction, obtains environmental images, and sends the environmental images to the controller. The controller then receives the environmental images returned by the image sensor.
[0070] Regarding the process by which the controller detects whether there are obstacles in the robot's direction of travel based on the environmental image, in some embodiments, the controller can perform image differential processing on the environmental image to obtain a differential image, and detect whether there are obstacles in the robot's direction of travel based on the differential image.
[0071] The differential image may include a first differential image representing the presence of obstacles in the robot's direction of travel, or a second differential image representing the absence of obstacles in the robot's direction of travel.
[0072] When the differential image is the first differential image, it is determined that an obstacle is detected in the robot's direction of travel; when the differential image is the second differential image, it is determined that no obstacle is detected in the robot's direction of travel.
[0073] Regarding the process by which the controller detects whether there are obstacles in the robot's direction of travel based on the environmental image, in some implementations, the controller can input the environmental image to the obstacle detection model. After receiving the environmental image, the obstacle detection model can output the obstacle detection result and detect whether there are obstacles in the robot's direction of travel based on the obstacle detection result.
[0074] The obstacle detection results may include a first detection result indicating the presence of an obstacle in the robot's direction of travel, or a second detection result indicating the absence of an obstacle in the robot's direction of travel.
[0075] When the obstacle detection result is the first detection result, it is determined that an obstacle is detected in the direction of robot travel; when the obstacle detection result is the second detection result, it is determined that no obstacle is detected in the direction of robot travel.
[0076] The obstacle detection model can be obtained by training a deep learning neural network model based on environmental image samples labeled with obstacle tags. The deep learning neural network model can be any of the following: Convolutional Neural Networks (CNN), Deep Belief Networks (DBN), Stacked Auto Encoder Networks (SAE), Recurrent Neural Networks (RNN), Deep Neural Networks (DNN), Long Short-Term Memory (LSTM), or Gated Recurring Units (GRU). The type of deep learning neural network model is not limited here and can be set according to actual needs.
[0077] Regarding the process of the controller acquiring continuous frame obstacle images, in some embodiments, the controller can send a second acquisition command to the image sensor. After receiving the second acquisition command, the image sensor can acquire continuous frame images of the obstacle, obtain continuous frame obstacle images, and send the continuous frame obstacle images to the controller. The controller receives the continuous frame obstacle images returned by the image sensor.
[0078] Step 202: Calculate the corresponding optical flow vector based on the consecutive frames of obstacle images.
[0079] In this embodiment, when the controller detects an obstacle in the robot's direction of travel, it acquires consecutive frames of obstacle images and then calculates the corresponding optical flow vector based on these consecutive frames.
[0080] Among them, the optical flow vector can be used to characterize the pixel position changes of obstacle images in consecutive frame obstacle images.
[0081] Specifically, when the controller detects an obstacle in the robot's direction of travel, after acquiring consecutive frames of obstacle images, it can calculate the first directional gradient of the pixel's horizontal coordinate, the second directional gradient of the pixel's vertical coordinate, and the temporal gradient based on these consecutive frames. Then, it calculates the optical flow vector based on these gradients. Calculating the optical flow vector based on the directional and temporal gradients of the pixel coordinates corresponding to the obstacle image improves the accuracy of the optical flow vector calculation.
[0082] The controller can extract features from each frame of obstacle images in a series of obstacle images to obtain a set of corresponding feature data. It can then crop the set of feature data corresponding to each frame of obstacle images according to a preset window to obtain a set of cropped feature data. Based on the x-coordinate of the pixel in each set of cropped feature data, the controller can calculate the first gradient of the x-coordinate of the pixel and the second gradient of the y-coordinate of the pixel in each set of cropped feature data. Based on the pixel coordinates of each set of cropped feature data, the controller can calculate the corresponding temporal gradient. Finally, based on the first gradient, the second gradient, and the temporal gradient of each set of cropped feature data, the controller can calculate the optical flow vector.
[0083] The first directional gradient can be used to characterize the change in the horizontal coordinate of the pixels of the obstacle image in consecutive frames of obstacle images, the second directional gradient can be used to characterize the change in the vertical coordinate of the pixels of the obstacle image in consecutive frames of obstacle images, and the temporal gradient can be used to characterize the change in the coordinate of the pixels of the obstacle image in consecutive frames of obstacle images.
[0084] The controller can crop each frame of obstacle image in the continuous frame obstacle image according to the first rule to obtain a cropped image, and extract ORB (Oriented Fast and Rotated Brief) feature points from each cropped image to obtain a set of first feature points.
[0085] The controller can extract a set of feature data from each set of first feature points according to the second rule.
[0086] The first rule can be a rule that extracts each frame of obstacle image with the size of the first pixel window and the center of the obstacle image as the center of the first pixel window.
[0087] The second rule can be a rule that uses the second pixel window as the size and the center of the captured image in each frame as the window center of the second pixel window, and then performs the cropping of the image.
[0088] As an example, the first pixel window can be a 150-pixel × 150-pixel window, and the second pixel window can be a 7-pixel × 7-pixel window; there are no restrictions here.
[0089] Each set of feature data may include n feature points, and each set of feature data can be denoted as P = {p1(x1, y1), p2(x2, y2), ..., p...} n (x n y n )}, n≤500.
[0090] The first-direction gradient of each pixel coordinate in each set of feature data is l.x (x i y i The second-direction gradient of each pixel coordinate in each set of feature data is l. y (x i y i The temporal gradient of each pixel coordinate in each set of feature data is l. t (x i y i ).
[0091] Among them, l x (x i y i )=l t (x i +1, y i )-l t (x i -1, y i ), l y (x i y i )=l t (x i y i +1)-l t (x i y i -1).
[0092] The offset of the x-coordinate of each pixel in two adjacent obstacle image frames is u, and the offset of the y-coordinate of each pixel in two adjacent obstacle image frames is v. Since the brightness of the obstacle image frames remains basically unchanged, then l t (x i +u,y i +v)=l t+1 (x i y i ).
[0093] For l t (x i +u,y i +v)=l t+1 (x i y i Performing a first-order Taylor expansion of the bivariate function, we obtain the equation: l x ·u+l y ·v=-l t .
[0094] Equation l x ·u+l y ·v=-l t Converting to matrix relations yields: A T A·(u, v)T =-A T b.
[0095] Since each set of feature data contains 7×7=49 pixels, A is a 49×2 matrix, and each row of A is [l x (x i y i ), l y (x i y i b is a 49×1 matrix.
[0096] For relation A T A·(u, v) T =-A T b. Using Gaussian elimination to solve for u and v, the optical flow vector is obtained as (u, v).
[0097] Step 203: Calculate the correlation coefficient between the optical flow vector and the robot's attitude parameters.
[0098] In this embodiment of the application, after the controller calculates the corresponding optical flow vector based on the obstacle images in consecutive frames, it can obtain the robot's posture parameters and calculate the correlation coefficient between the optical flow vector and the posture parameters.
[0099] The correlation coefficient can be used to characterize the consistency between changes in optical flow and attitude during robot movement. Attitude parameters can include angular velocity and linear velocity, which can be obtained based on IMU measurements.
[0100] The controller can calculate the ratio of the magnitude of the attitude parameters to the magnitude of the optical flow vector, and identify this ratio as a correlation coefficient. Calculating the correlation coefficient based on the robot's attitude parameters and the optical flow vector improves the accuracy of the correlation coefficient calculation.
[0101] The controller can send a third acquisition command to the IMU. After receiving the third acquisition command, the IMU can acquire the robot's attitude parameters and send the attitude parameters back to the controller. The controller receives the attitude parameters returned by the IMU.
[0102] The magnitude of the optical flow vector is the same as its modulus. For example, if the optical flow vector is (u, v), the modulus of the optical flow vector can be calculated using the following formula to obtain the magnitude of the optical flow vector ‖(u, v)‖.
[0103] in, .
[0104] In some implementations, the attitude parameter can be angular velocity. After the controller calculates the corresponding optical flow vector based on the consecutive frames of obstacle images, it can determine the robot's driving state. When the robot's driving state is determined to be a turning driving state, the ratio of the angular velocity to the amplitude of the optical flow vector can be calculated to obtain the correlation coefficient.
[0105] The driving state can include turning driving state or straight driving state. The controller can determine the driving state of the robot based on the robot's angular velocity.
[0106] When the angular velocity is greater than or equal to the angular velocity threshold, the robot's driving state is determined to be turning; when the angular velocity is less than the angular velocity threshold, the robot's driving state is determined to be straight-line driving.
[0107] Angular velocity thresholds can be used to characterize the minimum angular velocity of a robot when it is in a turning motion.
[0108] In some implementations, the attitude parameter can be linear velocity. After the controller calculates the corresponding optical flow vector based on the consecutive frames of obstacle images, it can determine the robot's driving state. When the robot's driving state is determined to be a straight-line driving state, the ratio of the linear velocity to the amplitude of the optical flow vector can be calculated to obtain the correlation coefficient.
[0109] In some implementations, the optical flow vector may include multiple sub-optical flow vectors, each corresponding to a feature point in the obstacle image. After the controller calculates the corresponding optical flow vector based on consecutive frames of obstacle images, it can calculate the amplitude of each sub-optical flow vector and filter the multiple sub-optical flow vectors based on the amplitude of each sub-optical flow vector to obtain multiple filtered sub-optical flow vectors. The controller can also calculate the ratio of the attitude parameter to the amplitude of each filtered sub-optical flow vector to obtain a correlation coefficient, thereby obtaining multiple correlation coefficients.
[0110] The controller can select sub-optical flow vectors from multiple sub-optical flow vectors whose amplitude is greater than or equal to a first amplitude threshold and less than or equal to a second amplitude threshold, thus obtaining multiple filtered sub-optical flow vectors. Data cleaning of the optical flow vectors based on their amplitudes can eliminate abnormal optical flow vectors from the multiple sub-optical flow vectors, reducing the system's computational load.
[0111] The first amplitude threshold is less than the second amplitude threshold. For example, the first amplitude threshold can be 0.1 and the second amplitude threshold can be 5. There is no limitation here.
[0112] Step 204: Identify whether the obstacle is a real obstacle based on the correlation coefficient, and obtain the identification result.
[0113] In this embodiment, after the controller calculates the correlation coefficient between the optical flow vector and the robot's posture parameters, it can identify whether the obstacle is a real obstacle based on the correlation coefficient and obtain the identification result. This enables the robot to perform virtual and real obstacle identification based on the optical flow vector of the obstacle image and the robot's posture parameters during task execution. This avoids the robot frequently experiencing "ghost braking" when false obstacles are identified as real obstacles, which is beneficial to improving the robot's task execution efficiency.
[0114] The identification results may include a first identification result used to characterize the obstacle as a real obstacle, or a second identification result used to characterize the obstacle as a false obstacle.
[0115] When the correlation coefficient is greater than or equal to the coefficient threshold, the obstacle is identified as a real obstacle, resulting in the first identification result; when the correlation coefficient is less than the coefficient threshold, the obstacle is identified as a false obstacle, resulting in the second identification result. The coefficient threshold can be used to characterize the minimum correlation coefficient when the obstacle is a real obstacle. The correlation coefficient can characterize the consistency between optical flow changes and attitude changes during robot movement. Based on the degree of consistency between optical flow changes and attitude changes, the robot can perform obstacle real / false identification, thus improving the accuracy of obstacle real / false identification.
[0116] In some implementations, the controller calculates the ratio of the attitude parameter to the amplitude of the optical flow vector of each filter sub-vector to obtain a correlation coefficient. After obtaining multiple correlation coefficients, the controller can identify whether an obstacle is a real obstacle based on the multiple correlation coefficients and obtain the identification result.
[0117] When there is a correlation coefficient greater than or equal to the coefficient threshold among multiple correlation coefficients, the obstacle is identified as a real obstacle, and the first identification result is obtained; when there is no correlation coefficient greater than or equal to the coefficient threshold among multiple correlation coefficients, the obstacle is identified as a false obstacle, and the second identification result is obtained.
[0118] The solution provided in this application acquires continuous frame images of the obstacle when an obstacle is detected in the robot's driving direction. It then calculates the corresponding optical flow vector based on these images and the correlation coefficient between the optical flow vector and the robot's posture parameters. This correlation coefficient characterizes the consistency between optical flow changes and posture changes during robot movement. Furthermore, it identifies whether the obstacle is a real obstacle based on the correlation coefficient, obtaining a recognition result. This result includes a first recognition result indicating that the obstacle is a real obstacle, or a second recognition result indicating that the obstacle is a false obstacle. This enables the robot to perform real-object obstacle recognition based on the optical flow vector of the obstacle image and the robot's posture parameters during task execution. This avoids the frequent occurrence of "ghost braking" caused by misidentifying false obstacles as real obstacles, thus improving the robot's task execution efficiency.
[0119] Please see Figure 3 This illustrates a flowchart of an obstacle recognition method provided in another embodiment of this application. In a specific embodiment, the obstacle recognition method can be applied to, for example... Figure 1 The obstacle recognition system shown below uses controller 102 as an example to illustrate the following discussion. Figure 3 The process shown is described in detail. The obstacle recognition method may include the following steps 301 to 306.
[0120] Step 301: When an obstacle is detected in the robot's direction of travel, acquire consecutive frame images of the obstacle.
[0121] Step 302: Calculate the corresponding optical flow vector based on the consecutive frames of obstacle images.
[0122] Step 303: Calculate the correlation coefficient between the optical flow vector and the robot's attitude parameters.
[0123] Step 304: Identify whether the obstacle is a real obstacle based on the correlation coefficient, and obtain the identification result.
[0124] In this embodiment, steps 301, 302, 303 and 304 can be referred to the corresponding steps in the foregoing embodiments, and will not be repeated here.
[0125] Step 305: When the recognition result is the first recognition result, calculate the obstacle disparity angle of the real obstacle based on the two adjacent obstacle images in the continuous frame obstacle images.
[0126] In this embodiment, when the recognition result is the first recognition result, the controller can calculate the obstacle disparity angle of the real obstacle based on two adjacent obstacle images in the continuous frame obstacle images.
[0127] Among them, the obstacle parallax angle can be used to characterize the actual concave and convex shape of the obstacle.
[0128] Specifically, when the recognition result is the first recognition result, the controller can obtain the feature change amplitude of the real obstacle based on two adjacent obstacle images in a series of obstacle images. The center pixel coordinates of the two adjacent obstacle images are the same, and the obstacle disparity angle is calculated based on the image center pixel coordinates and the feature change amplitude. Calculating the obstacle disparity angle based on two adjacent obstacle images improves the accuracy of the obstacle disparity angle calculation.
[0129] As an example, the magnitude of feature change can include the magnitude of feature change in the horizontal direction. The magnitude of changes in characteristics in the x and vertical directions The center pixel coordinates of two adjacent obstacle images can be (Cx, Cy), and the obstacle field of view angle θ can be calculated according to the following formula.
[0130] θ=arctan2(Δy-Cy,Δx-Cx).
[0131] Here, arctan2 is a bivariate function, arctan2(y, x), which directly inputs the two components of the planar coordinates, using the signs of x and y to jointly determine the quadrant, and the result is in ( [π, π] can give the polar angle of the correct quadrant.
[0132] If x > 0, then arctan2(y, x) = arctan2 / x; If x < 0 and y ≥ 0, then arctan2(y, x) = arctany / x + π; If x < 0 and y < 0, then arctan2(y, x) = arctan2 / x π; If x=0 and y>0, then arctan2(y, x)=+π / 2; If x = 0 and y < 0, then arctan2(y, x) = π / 2; If x=0 and y=0, it is usually undefined (some implementations return 0).
[0133] In some implementations, when the recognition result is the first recognition result, the controller can acquire the robot's driving displacement and determine whether the obstacle recognition conditions are met based on the driving displacement. If the driving displacement determines that the obstacle recognition conditions are met, the controller calculates the obstacle disparity angle based on two adjacent obstacle image frames. Calculating the obstacle disparity angle only when the robot's driving displacement meets the obstacle recognition conditions can suppress the increased system computation caused by frequent calculations of the obstacle disparity angle when the obstacle recognition conditions are not met, thus reducing the system's computational load.
[0134] The controller can send a fourth acquisition command to the IMU. After receiving the fourth acquisition command, the IMU can send the recorded robot displacement to the controller, and the controller receives the displacement returned by the IMU.
[0135] When the driving displacement is greater than or equal to the displacement threshold, the condition for recognizing protruding or concave obstacles is determined to be met; when the driving displacement is less than the displacement threshold, the condition for recognizing protruding or concave obstacles is determined not to be met.
[0136] Step 306: Determine whether the actual obstacle is a raised obstacle based on the obstacle parallax angle, and control the robot's movement based on the determination result.
[0137] In this embodiment, when the recognition result is the first recognition result, the controller calculates the obstacle disparity angle of the real obstacle based on the obstacle images of two adjacent frames in the continuous obstacle image. Then, it can determine whether the real obstacle is a protruding obstacle based on the obstacle disparity angle, so as to control the robot to move according to the determination result. When the obstacle is identified as a real obstacle, the concave and convex shapes of the real obstacle are judged based on the obstacle disparity angle corresponding to the obstacle image, so as to control the robot to move according to the determination result. This can reduce the occurrence of collisions between the robot and real obstacles and help improve the safety of the robot in the process of performing tasks.
[0138] The determination result may include a first determination result for characterizing the real obstacle as a raised obstacle, or a second determination result for characterizing the real obstacle as a recessed obstacle.
[0139] When the parallax angle of an obstacle increases with the robot's displacement, the real obstacle is determined to be a raised obstacle, resulting in the first determination. When the parallax angle of an obstacle decreases with the robot's displacement, the real obstacle is determined to be a recessed obstacle. Judging the convexity or concavity of a real obstacle based on changes in its parallax angle improves the accuracy of this judgment.
[0140] It should be noted that in the process of determining whether a real obstacle is a raised obstacle or an uneven obstacle based on the change in the field of view as the robot moves, the robot's posture does not show significant pitch changes.
[0141] When the robot's posture does not change significantly in pitch, the change in the robot's pitch angle is less than a preset angle; for example, the change in the robot's pitch angle is less than 3°.
[0142] In some implementations, when the controller determines that a real obstacle is a raised obstacle based on the obstacle parallax angle, it can calculate the parallax angle amplitude based on the optical flow vector, and then calculate the obstacle distance between the robot and the raised obstacle based on the focal length of the image sensor, the travel displacement, and the parallax angle amplitude. Calculating the obstacle distance between the robot and the raised obstacle based on the optical flow vector, the focal length of the image sensor, and the travel displacement improves the accuracy of obstacle distance calculation.
[0143] The parallax angle magnitude can be calculated based on a weighted average of the magnitudes of the optical flow vectors.
[0144] As an example, the focal length of the image sensor can be f, the robot's displacement can be Δs, and the parallax angle amplitude can be Δp. The obstacle distance d can be calculated according to the following formula based on the focal length f, the displacement Δs, and the parallax angle amplitude Δp.
[0145] d=(f×Δs) / Δp.
[0146] In one application scenario, such as Figure 4 As shown, the obstacle recognition method may include the following steps 401 to 408.
[0147] Step 401: When an obstacle is detected in the robot's direction of travel, acquire consecutive frame images of the obstacle and the robot's posture parameters.
[0148] Step 402: Calculate the corresponding optical flow vector based on the consecutive frames of obstacle images.
[0149] Step 403: Calculate the correlation coefficient between the optical flow vector and the robot's attitude parameters.
[0150] Step 404: Determine whether the obstacle is a real obstacle based on the correlation coefficient.
[0151] When the obstacle is determined to be a real obstacle, proceed to step 405; If the obstacle is determined to be a false obstacle, return to step 401.
[0152] Step 405: Obtain the robot's displacement.
[0153] Step 406: Determine whether the conditions for identifying uneven obstacles are met based on the driving displacement.
[0154] When it is determined that the conditions for recognizing protruding or concave obstacles are met, step 407 is executed; If the conditions for recognizing protruding or concave obstacles are not met, return to step 405.
[0155] Step 407: Calculate the obstacle disparity angle based on two adjacent obstacle images.
[0156] Step 408: Determine whether the actual obstacle is a raised obstacle based on the obstacle parallax angle.
[0157] When the actual obstacle is determined to be a raised obstacle, return to step 401; When the actual obstacle is determined to be a recessed obstacle, return to step 401.
[0158] The solution provided in this embodiment acquires consecutive frame images of the obstacle when an obstacle is detected in the robot's driving direction. It then calculates the corresponding optical flow vector based on these consecutive frame images, calculates the correlation coefficient between the optical flow vector and the robot's posture parameters, and identifies whether the obstacle is a real obstacle based on the correlation coefficient. If the identification result is the first identification result, it calculates the obstacle disparity angle of the real obstacle based on two adjacent frames in the consecutive frame images, and determines whether the real obstacle is a protruding obstacle based on the obstacle disparity angle. The robot's movement is then controlled according to the determination result. This achieves obstacle real-object recognition based on the optical flow vector of the obstacle image and the robot's posture parameters during task execution, avoiding frequent "ghost braking" caused by misidentifying false obstacles as real obstacles, thus improving the robot's task execution efficiency.
[0159] Furthermore, when an obstacle is identified as a real obstacle, the robot can determine the shape of the real obstacle based on the parallax angle corresponding to the obstacle image. This allows the robot to be controlled based on the determination result, reducing the occurrence of collisions between the robot and real obstacles and improving the safety of the robot during task execution.
[0160] Please see Figure 5 This illustrates an embodiment of an obstacle recognition device 500 provided in this application, which can be applied to, for example... Figure 1 The obstacle recognition system shown below uses controller 102 as an example to illustrate the following discussion. Figure 5 The obstacle recognition device 500 shown will be described in detail. The obstacle recognition device 500 may include a first acquisition module 501, a first calculation module 502, a second calculation module 503, and a recognition module 504.
[0161] The first acquisition module 501 can be used to acquire continuous frame images of the obstacle when an obstacle is detected in the robot's driving direction; the first calculation module 502 can be used to calculate the corresponding optical flow vector based on the continuous frame images of the obstacle; the second calculation module 503 can be used to calculate the correlation coefficient between the optical flow vector and the robot's posture parameters. The correlation coefficient can be used to characterize the consistency between the optical flow change and the posture change during the robot's driving process; the recognition module 504 can be used to identify whether the obstacle is a real obstacle based on the correlation coefficient and obtain the recognition result. The recognition result can include a first recognition result to characterize the obstacle as a real obstacle, or a second recognition result to characterize the obstacle as a false obstacle.
[0162] In some embodiments, the obstacle recognition device 500 may further include a third calculation module and a first judgment module.
[0163] The third calculation module can be used to calculate the obstacle disparity angle of the real obstacle based on two adjacent obstacle images in a series of obstacle images when the recognition result is the first recognition result; the first judgment module can be used to determine whether the real obstacle is a protruding obstacle based on the obstacle disparity angle, so as to control the robot to move according to the judgment result.
[0164] In some implementations, the first determination module may include a first determination unit and a second determination unit.
[0165] The first determination unit can be used to determine that the real obstacle is a raised obstacle when the parallax angle of the obstacle increases with the displacement of the robot; the second determination unit can be used to determine that the real obstacle is a recessed obstacle when the parallax angle of the obstacle decreases with the displacement of the robot.
[0166] In some embodiments, the obstacle recognition device 500 may further include a second acquisition module and a second judgment module.
[0167] The second acquisition module can be used to acquire the robot's driving displacement before the third calculation module calculates the obstacle disparity angle of the real obstacle based on two adjacent obstacle images in the continuous frame obstacle image when the recognition result is the first recognition result; the second judgment module can be used to determine whether the concave and convex obstacle recognition conditions are met based on the driving displacement.
[0168] In some implementations, the third computing module may include the first computing unit.
[0169] The first calculation unit can be used to calculate the obstacle disparity angle based on two adjacent obstacle images when the obstacle recognition conditions are met according to the driving displacement.
[0170] In some embodiments, the obstacle recognition device 500 may also include a fourth calculation module and a fifth calculation module.
[0171] The fourth calculation module can be used to calculate the disparity angle amplitude based on the optical flow vector when the real obstacle is determined to be a raised obstacle based on the obstacle disparity angle. The fifth calculation module can be used to calculate the obstacle distance between the robot and the raised obstacle based on the focal length of the image sensor, the driving displacement, and the disparity angle amplitude. The image sensor can be used to acquire continuous frame obstacle images.
[0172] In some implementations, the third calculation module may further include an acquisition unit and a second calculation unit.
[0173] The acquisition unit can be used to obtain the feature change amplitude of the real obstacle based on two adjacent obstacle images, and the image center pixel coordinates of the two adjacent obstacle images can be the same; the second calculation unit can be used to calculate the obstacle disparity angle based on the image center pixel coordinates and feature change amplitude.
[0174] In some implementations, the first computing module 502 may include a third computing unit and a fourth computing unit.
[0175] The third calculation unit can be used to calculate the first directional gradient of the horizontal coordinate of a pixel, the second directional gradient of the vertical coordinate of a pixel, and the temporal gradient based on the obstacle image of consecutive frames; the fourth calculation unit can be used to calculate the optical flow vector based on the first directional gradient, the second directional gradient, and the temporal gradient.
[0176] In some implementations, the second computing module 503 may include a fifth computing unit and a first identification unit.
[0177] The fifth calculation unit can be used to calculate the ratio of the attitude parameter to the magnitude of the optical flow vector; the first identification unit can be used to identify the ratio as a correlation coefficient.
[0178] In some implementations, the identification module 504 may include a second identification unit and a third identification unit.
[0179] The second identification unit can be used to identify the obstacle as a real obstacle when the correlation coefficient is greater than or equal to the coefficient threshold, and obtain the first identification result; the third identification unit can be used to identify the obstacle as a false obstacle when the correlation coefficient is less than the coefficient threshold, and obtain the second identification result.
[0180] The solution provided in this embodiment acquires continuous frame images of the obstacle when an obstacle is detected in the robot's driving direction. It then calculates the corresponding optical flow vector based on these images and the correlation coefficient between the optical flow vector and the robot's posture parameters. This correlation coefficient characterizes the consistency between optical flow changes and posture changes during robot movement. Furthermore, it identifies whether the obstacle is a real obstacle based on the correlation coefficient, obtaining an identification result. This result includes a first identification result characterizing the obstacle as a real obstacle, or a second identification result characterizing the obstacle as a false obstacle. This enables the robot to perform real-object obstacle identification based on the optical flow vector of the obstacle image and the robot's posture parameters during task execution. This avoids the frequent occurrence of "ghost braking" caused by misidentifying false obstacles as real obstacles, thus improving the robot's task execution efficiency.
[0181] It should be noted that the various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For device embodiments, since they are basically similar to method embodiments, the description is relatively simple; relevant parts can be referred to in the descriptions of the method embodiments. Any processing method described in the method embodiments can be implemented in the device embodiments through corresponding processing modules, and will not be elaborated upon further in the device embodiments.
[0182] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0183] Please refer to Figure 6 This diagram illustrates a structural block diagram of a computer-readable storage medium provided in an embodiment of this application. The computer-readable storage medium 600 stores program code 601, which can be called by a processor to execute the methods described in the above method embodiments.
[0184] The computer-readable storage medium 600 may be an electronic memory such as flash memory, EEPROM (Electrically Erasable Programmable Read-Only Memory), EPROM, hard disk, or ROM. Optionally, the computer-readable storage medium 600 includes a non-transitory computer-readable storage medium. The computer-readable storage medium 600 has storage space for program code 601 that performs any of the method steps described above. This program code can be read from or written to one or more computer program products. The program code 601 may be compressed, for example, in a suitable form.
[0185] Please refer to Figure 7 This diagram illustrates a structural block diagram of a computer program product 700 provided in an embodiment of this application. The computer program product 700 includes a computer program / instructions 701, which is stored in a computer-readable storage medium of a computer device. When the computer program product 700 runs on the computer device, the processor of the computer device reads the computer program / instructions 701 from the computer-readable storage medium, and executes the computer program / instructions 701, causing the computer device to perform the methods described in the above method embodiments.
[0186] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. An obstacle recognition method, characterized in that, include: When an obstacle is detected in the robot's direction of travel, a series of obstacle images are acquired. Calculate the corresponding optical flow vector based on the consecutive frames of obstacle images; Calculate the correlation coefficient between the optical flow vector and the robot's posture parameters. The correlation coefficient is used to characterize the consistency between optical flow changes and posture changes during the robot's movement. Based on the correlation coefficient, the obstacle is identified as a real obstacle, and an identification result is obtained. The identification result includes a first identification result for characterizing the obstacle as a real obstacle, or a second identification result for characterizing the obstacle as a false obstacle.
2. The obstacle recognition method according to claim 1, characterized in that, Also includes: When the recognition result is the first recognition result, the obstacle disparity angle of the real obstacle is calculated based on two adjacent obstacle images in the continuous frame obstacle images; The robot's movement is controlled based on the parallax angle of the obstacle to determine whether the actual obstacle is a raised obstacle.
3. The obstacle recognition method according to claim 2, characterized in that, The step of determining whether the real obstacle is a raised obstacle based on the obstacle parallax angle includes: When the parallax angle of the obstacle increases with the displacement of the robot, the real obstacle is determined to be the protruding obstacle; When the parallax angle of the obstacle decreases as the robot's displacement increases, the real obstacle is determined to be a recessed obstacle.
4. The obstacle recognition method according to claim 2, characterized in that, Before calculating the obstacle disparity angle of the real obstacle based on two adjacent obstacle images in the consecutive obstacle images, the obstacle recognition method further includes: Obtain the robot's displacement; Determine whether the conditions for recognizing uneven or protruding obstacles are met based on the driving displacement. The step of calculating the obstacle disparity angle of the real obstacle based on two adjacent obstacle images in the consecutive obstacle images includes: When the obstacle recognition condition is met based on the driving displacement, the obstacle disparity angle is calculated based on the two adjacent obstacle images.
5. The obstacle recognition method according to claim 4, characterized in that, Also includes: When the real obstacle is determined to be the protruding obstacle based on the obstacle disparity angle, the disparity angle amplitude is calculated based on the optical flow vector; The distance between the robot and the raised obstacle is calculated based on the focal length of the image sensor, the driving displacement, and the parallax angle amplitude. The image sensor is used to acquire the continuous frame obstacle images.
6. The obstacle recognition method according to claim 2, characterized in that, The step of calculating the obstacle disparity angle of the real obstacle based on two adjacent obstacle images in the consecutive obstacle images includes: The feature change amplitude of the real obstacle is obtained based on the two adjacent obstacle images, and the center pixel coordinates of the two adjacent obstacle images are the same; The obstacle disparity angle is calculated based on the image center pixel coordinates and the feature change amplitude.
7. The obstacle recognition method according to any one of claims 1 to 6, characterized in that, The step of calculating the corresponding optical flow vector based on the consecutive frames of obstacle images includes: Calculate the first directional gradient of the pixel's horizontal coordinate, the second directional gradient of the pixel's vertical coordinate, and the temporal gradient based on the continuous frame obstacle images; The optical flow vector is calculated based on the first directional gradient, the second directional gradient, and the time gradient.
8. The obstacle recognition method according to any one of claims 1 to 6, characterized in that, The calculation of the correlation coefficient between the optical flow vector and the robot's attitude parameters includes: Calculate the ratio of the attitude parameter to the magnitude of the optical flow vector; The ratio is identified as the correlation coefficient.
9. The obstacle recognition method according to any one of claims 1 to 6, characterized in that, The step of identifying whether the obstacle is a real obstacle based on the correlation coefficient and obtaining the identification result includes: When the correlation coefficient is greater than or equal to the coefficient threshold, the obstacle is identified as the real obstacle, and the first identification result is obtained; When the correlation coefficient is less than the coefficient threshold, the obstacle is identified as a false obstacle, and the second identification result is obtained.
10. An obstacle recognition system, characterized in that, Includes a controller, which is configured to: When an obstacle is detected in the robot's direction of travel, a series of obstacle images are acquired. Calculate the corresponding optical flow vector based on the consecutive frames of obstacle images; Calculate the correlation coefficient between the optical flow vector and the robot's posture parameters. The correlation coefficient is used to characterize the consistency between optical flow changes and posture changes during the robot's movement. Based on the correlation coefficient, the obstacle is identified as a real obstacle, and an identification result is obtained. The identification result includes a first identification result for characterizing the obstacle as a real obstacle, or a second identification result for characterizing the obstacle as a false obstacle.