Robot Dynamic Obstacle Removal System, Method, Device and Electronic Equipment

Through the combination of the cone removal filter and the kd-tree module, the problem of false trajectories in the three-dimensional map is solved, and the robot's accurate and autonomous navigation in a dynamic environment is achieved.

CN114049548BActive Publication Date: 2025-08-05ARMY ENG UNIV OF PLA +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111355799.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-16
Publication Date
2025-08-05
Estimated Expiration
2041-11-16

AI Technical Summary

Technical Problem

In the prior art, when there are dynamic objects in the scene, the three-dimensional map still contains false trajectories, affecting the accuracy of the robot's autonomous navigation.

Method used

Through the view cone culling filter and kd-tree module, the view overlapping points are extracted and a two-way search is performed to determine and remove the false trajectory of dynamic objects.

Benefits of technology

Accurately eliminate dynamic obstacles, improve the three-dimensional reconstruction process, and ensure the accuracy of robot autonomous navigation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114049548B_ABST
    Figure CN114049548B_ABST
Patent Text Reader

Abstract

The present invention provides a robot dynamic obstacle removal system, method, device, and electronic device, comprising: S101, obtaining view overlap points using a frustum culling filter; S102, performing a bidirectional search of the overlapping point cloud views using a kd-tree based on the view overlap points to obtain search results; S103, determining false trajectories of dynamic objects based on the search results; and S104, removing the false trajectories and the dynamic obstacles that generate them. This solves the existing problem of 3D maps still containing false trajectories when dynamic objects are present in the scene.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This document relates to the technical field of robot dynamic obstacle removal, and in particular to a robot dynamic obstacle removal system, method, device and electronic equipment. Background Art

[0002] The success of simultaneous localization and mapping (SLAM) technology has significantly advanced the development of autonomous robot navigation. Currently, robots need to perceive the world through a mapped 3D environment in many scenarios, but most 3D mapping methods assume a static environment. However, in many real-world applications, robots must perform tasks in dynamic environments. The ability for robots to automatically detect dynamic obstacles and simultaneously update their 3D maps, just like humans, is crucial for autonomous robot navigation.

[0003] Therefore, many methods attempt to improve the 3D reconstruction process in dynamic scenes, and most of them focus on the accuracy of the camera pose. The main consideration is to extract moving objects from dynamic scenes and eliminate them during the reconstruction process. These methods can be divided into two categories. Some methods directly treat moving objects as outliers and remove them. The most popular technique is to implement RANSAC regression to filter out dynamic objects. These methods are robust to noise and large-scale complex scenes. At the same time, the correct transformation can be obtained in real time. However, RANSAC may not work when the environment contains more dynamic points than static background points. In addition, dynamic objects are not explicitly rejected because these methods are usually based on feature points. In other words, the side effect is that when there are dynamic objects in the scene, the 3D map still contains false trajectories.

[0004] Other methods mainly use inter-frame information to calculate additional motion information or estimate background models, thereby distinguishing between moving objects and static backgrounds. Some of them try to extract moving objects in 2D images, while others combine dense moving object segmentation with dense SLAM based on 3D point clouds, and propose to use dense optical flow to improve the dense segmentation of dynamic objects, which can further remove dynamic points from the energy function. In addition, there is a method for estimating and extracting moving objects based on background models, in which the background model is represented by a non-parametric model in the depth scene. However, due to its reliance on background modeling algorithms, estimating a robust background model from complex scenes in the real world is difficult and time-consuming. Summary of the Invention

[0005] The object of the present invention is to provide a robot dynamic obstacle removal system, method, device and electronic equipment, which can solve the problem in the prior art that when there are dynamic objects in the scene, the three-dimensional map still contains false tracks.

[0006] In order to achieve the above object, the present invention provides the following technical solutions:

[0007] A robot dynamic obstacle removal method, the method specifically comprising:

[0008] S101, obtaining view overlap points through a frustum culling filter;

[0009] S102, performing a bidirectional search on the overlapping point cloud views according to the view overlapping points using a kd-tree to obtain search results;

[0010] S103, determining a false trajectory of the dynamic object according to the search result;

[0011] S104: Remove the false trajectory and the dynamic obstacle that generates the false trajectory.

[0012] On the basis of the above technical solution, the present invention can also be improved as follows:

[0013] Furthermore, the S101 specifically includes:

[0014] S1011, estimating the transformation information T(t) of each frame between the camera coordinate system and the world coordinate system through the 3D reconstruction system;

[0015] S1012, obtain the camera pose Pt (x, y, z, roll, pitch, yaw) of F(t) in the 3D map M(t-1) coordinate system and the world coordinate system by transforming the information T(t);

[0016] S1013, calculating the camera's horizontal field of view H based on the camera's internal parameters fx, fy, image width, and image height fov and vertical field of view V fov ;

[0017] S1014, set Pt (x, y, z, roll, pitch, yaw) to the camera posture at time t, through H fov and V fov Calculate the frustum-shaped field of view in three-dimensional space and construct the frustum through six intersecting infinite planes;

[0018] S1015, calculate the plane equation of each of the six infinite planes;

[0019] S1016, substitute the coordinates of each point M(t-1) and T(t)*F(t) into the plane equation, and determine whether each point should be in the viewing cone to obtain the view overlapping areas M and F; where M represents the historical false trajectory of the dynamic object in the 3D map M(t-1), and F represents the current real dynamic object.

[0020] Furthermore, the S102 specifically includes:

[0021] S1021, pre-construct a kd-tree, set each point of M as a search point, search for the nearest neighbor point of M in F, and obtain the shortest distance between M and the nearest neighbor point.

[0022] Furthermore, the S103 specifically includes:

[0023] S1031, determine whether the closest distance of the nearest neighbor point is greater than the resolution of F. If so, the search point belongs to a false track, delete the false track in M(t-1) and obtain a new M(t-1).

[0024] A robot dynamic obstacle removal system comprising:

[0025] The frustum culling filter is used to obtain view overlap points;

[0026] A kd-tree module connected to the frustum culling filter for performing a bidirectional search on the overlapping point cloud views based on the view overlap points to determine the false trajectory of the dynamic object motion;

[0027] a control module connected to the kd-tree module and configured to determine a false trajectory of a dynamic object;

[0028] A deletion module is connected to the control module and is used to remove the false trajectory and the dynamic obstacle that generates the false trajectory.

[0029] Furthermore, the robot dynamic obstacle removal system further includes a three-dimensional reconstruction system, and the three-dimensional reconstruction system includes a processing module, and the processing module is used to:

[0030] Estimate the transformation information T(t) between the camera coordinate system and the world coordinate system for each frame;

[0031] The camera pose Pt (x, y, z, roll, pitch, yaw) of F(t) in the 3D map M(t-1) coordinate system and the world coordinate system is obtained by transforming the information T(t);

[0032] Calculate the camera's horizontal field of view H based on the camera's internal parameters fx, fy, image width and image height fov and vertical field of view V fov ;

[0033] Set the Pt (x, y, z, roll, pitch, yaw) as the camera pose at time t, and pass H fov and V fov Calculate the frustum-shaped field of view in three-dimensional space and construct the frustum through six intersecting infinite planes;

[0034] Compute the plane equation for each of the six infinite planes;

[0035] Substitute the coordinates of each point M(t-1) and T(t)*F(t) into the plane equation, and determine whether each point should be in the viewing cone to obtain the view overlap areas M and F; where M represents the historical false trajectory of the dynamic object in the 3D map M(t-1), and F represents the current real dynamic object.

[0036] Furthermore, the kd-tree module is further used to:

[0037] Set each point of M as a search point, search for the nearest neighbor point of M in F, and obtain the shortest distance between M and the nearest neighbor point.

[0038] Furthermore, the control module is further configured to:

[0039] Determine whether the closest distance of the nearest neighbor point is greater than the resolution of F. If so, the search point belongs to a pseudo track, delete the pseudo track in M(t-1) and obtain a new M(t-1).

[0040] A robot dynamic obstacle removal device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the steps of a robot dynamic obstacle removal method are implemented.

[0041] An electronic device stores an information transmission implementation program, which implements the steps of a robot dynamic obstacle removal method when executed by a processor.

[0042] The present invention has the following advantages:

[0043] The present invention's robotic dynamic obstacle removal method removes dynamic obstacles during the 3D reconstruction process by extracting overlapping point cloud views using a frustum culling filter. When a moving object is present in the scene, this method accurately eliminates dynamic obstacles that can mislead the autonomous robot's action decisions during traditional 3D reconstruction. This solves the existing problem of 3D maps still containing false trajectories when dynamic objects are present. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In order to more clearly illustrate one or more embodiments of this specification or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0045] Figure 1 Flowchart of a method for real-time transmission of audio and video according to an embodiment of the present invention;

[0046] Figure 2 This is a flow chart of S103 in an embodiment of the present invention;

[0047] Figure 3 This is a flow chart of S104 in an embodiment of the present invention;

[0048] Figure 4 Schematic diagram of the Java implementation of the WebRTC protocol in an embodiment of the present invention.

[0049] A frustum culling filter 10 , a kd-tree module 20 , a control module 30 , a deletion module 40 , and a processing module 50 . DETAILED DESCRIPTION

[0050] In order to enable those skilled in the art to better understand the technical solutions in one or more embodiments of this specification, the technical solutions in one or more embodiments of this specification will be clearly and completely described below in conjunction with the drawings in one or more embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on one or more embodiments of this specification, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of this document.

[0051] like Figure 1 As shown, a robot dynamic obstacle removal method, the method specifically includes:

[0052] S101, obtaining view overlap points;

[0053] In this step, the view overlap points are obtained by using the frustum culling filter 10;

[0054] S102, performing a bidirectional search on the overlapping point cloud views;

[0055] In this step, a bidirectional search is performed on the overlapping point cloud views using a kd-tree according to the view overlap points to obtain search results;

[0056] S103, determining a false trajectory of the dynamic object according to the search result;

[0057] In this step, the false trajectory of the dynamic object is determined;

[0058] S104, removing false trajectories and dynamic obstacles.

[0059] In this step, the false trajectory and the dynamic obstacles that generate the false trajectory are removed.

[0060] This robotic dynamic obstacle removal method is designed to improve the 3D reconstruction process in dynamic scenes. By introducing a frustum culling filter during the extraction of overlapping point cloud views, reliable view overlap points are obtained. A kd-tree is then used to perform a bidirectional search of the overlapping point cloud view points to identify the false trajectories of dynamic objects, removing both the dynamic obstacles and the false trajectories they generate.

[0061] Automatically detecting dynamic obstacles and updating 3D maps in real time are crucial for autonomous robot navigation. Therefore, it is necessary to detect dynamic obstacles and remove the false trajectories they create during the 3D reconstruction process. This paper proposes a dynamic obstacle removal method based on frustum culling. During the 3D reconstruction of dynamic scenes, a frustum culling filter is introduced to obtain reliable view overlap points. A kd-tree is then used to bidirectionally search the overlapping regions to identify and remove the false trajectories of dynamic obstacles.

[0062] On the basis of the above technical solution, the present invention can also be improved as follows:

[0063] like Figure 2 As shown, further, the S101 specifically includes:

[0064] S1011, estimating transformation information;

[0065] In this step, the transformation information T(t) between the camera coordinate system and the world coordinate system for each frame is estimated by a 3D reconstruction system (such as RTABMAP and StereoScan); assuming that the camera coordinate system of the first frame coincides with the world coordinate system, the coordinate system of the 3D map M(t-1) coincides with the world coordinate system.

[0066] S1012, obtaining the camera pose;

[0067] In this step, the camera pose Pt (x, y, z, roll, pitch, yaw) of F(t) in the 3D map M(t-1) coordinate system and the world coordinate system is obtained by transforming the information T(t);

[0068] S1013, calculating the horizontal field of view and vertical field of view of the camera;

[0069] In this step, the camera's horizontal field of view H is calculated based on the camera's internal parameters fx, fy, image width, and image height. fov and vertical field of view V fov ;

[0070] S1014, build the visual cone;

[0071] In this step, Pt (x, y, z, roll, pitch, yaw) is set as the camera posture at time t, and H fov and V fov Calculate the frustum-shaped field of view in three-dimensional space and construct the frustum through six intersecting infinite planes;

[0072] S1015, calculate the plane equation;

[0073] In this step, the plane equations of each of the six infinite planes are calculated;

[0074] S1016, obtaining view overlapping areas M and F;

[0075] In this step, the coordinates of each point M(t-1) and T(t)*F(t) are substituted into the plane equation, and by determining whether each point should be in the viewing cone, the view overlap areas M and F are obtained; where M represents the historical false trajectory of the dynamic object in the 3D map M(t-1), and F represents the current real dynamic object.

[0076] Furthermore, the S102 specifically includes:

[0077] S1021, get the shortest distance;

[0078] In this step, a kd-tree is pre-constructed, each point of M is set as a search point, and the nearest neighbor point of M is searched in F to obtain the shortest distance between M and the nearest neighbor point.

[0079] Furthermore, the S103 specifically includes:

[0080] S1031, determining whether the closest distance of the nearest neighbor point is greater than the resolution of F;

[0081] In this step, it is determined whether the closest distance of the nearest neighbor point is greater than the resolution of F. If so, the search point belongs to a pseudo trajectory, the pseudo trajectory is deleted from M(t-1) and a new M(t-1) is obtained.

[0082] The point cloud M(t) is obtained by calculating the formula M(t)=M(t-1)+T(t)*F(t).

[0083] like Figure 3As shown, a robot dynamic obstacle removal system includes:

[0084] A frustum culling filter 10 for obtaining view overlap points;

[0085] A kd-tree module 20 connected to the frustum culling filter 10 is used to perform a bidirectional search on the overlapping point cloud views according to the view overlap points to determine the false trajectory of the dynamic object;

[0086] a control module 30 connected to the kd-tree module 20 and configured to determine a false trajectory of a dynamic object;

[0087] The deletion module 40 is connected to the control module 30 and is used to remove the false trajectory and the dynamic obstacle that generates the false trajectory.

[0088] like Figure 4 As shown, the robot dynamic obstacle removal system further includes a three-dimensional reconstruction system, and the three-dimensional reconstruction system includes a processing module 50, and the processing module 50 is used to:

[0089] Estimate the transformation information T(t) between the camera coordinate system and the world coordinate system for each frame;

[0090] The camera pose Pt (x, y, z, roll, pitch, yaw) of F(t) in the 3D map M(t-1) coordinate system and the world coordinate system is obtained by transforming the information T(t);

[0091] Calculate the camera's horizontal field of view H based on the camera's internal parameters fx, fy, image width and image height fov and vertical field of view V fov ;

[0092] Set the Pt (x, y, z, roll, pitch, yaw) as the camera pose at time t, and pass H fov and V fov Calculate the frustum-shaped field of view in three-dimensional space and construct the frustum through six intersecting infinite planes;

[0093] Compute the plane equation for each of the six infinite planes;

[0094] Substitute the coordinates of each point M(t-1) and T(t)*F(t) into the plane equation, and determine whether each point should be in the viewing cone to obtain the view overlap areas M and F; where M represents the historical false trajectory of the dynamic object in the 3D map M(t-1), and F represents the current real dynamic object.

[0095] Furthermore, the kd-tree module is further used to:

[0096] Set each point of M as a search point, search for the nearest neighbor point of M in F, and obtain the shortest distance between M and the nearest neighbor point.

[0097] Furthermore, the control module 30 is further configured to:

[0098] Determine whether the closest distance of the nearest neighbor point is greater than the resolution of F. If so, the search point belongs to a pseudo track, delete the pseudo track in M(t-1) and obtain a new M(t-1).

[0099] A robot dynamic obstacle removal device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the steps of a robot dynamic obstacle removal method are implemented.

[0100] An electronic device stores an information transmission implementation program, which implements the steps of a robot dynamic obstacle removal method when executed by a processor.

[0101] The robot dynamic obstacle removal system is used as follows:

[0102] When in use, view overlap points are obtained through the frustum culling filter 10; a bidirectional search is performed on the point cloud views of the overlapping part according to the view overlap points through the kd-tree; false trajectories of dynamic object motion are determined; and the false trajectories and dynamic obstacles that generate the false trajectories are removed.

[0103] It should be noted that the embodiment of the storage medium in this specification and the embodiment of the blockchain-based service provision method in this specification are based on the same inventive concept. Therefore, the specific implementation of this embodiment can refer to the implementation of the corresponding blockchain-based service provision method mentioned above, and the repeated parts will not be repeated.

[0104] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0105] In the 1930s, technological improvements could be clearly distinguished as either hardware improvements (for example, improvements to circuit structures like diodes, transistors, and switches) or software improvements (improvements to process flows). However, with the advancement of technology, many process flow improvements today can now be considered direct improvements to hardware circuit structures. Designers almost always create the corresponding hardware circuit structure by programming the improved process flow into the hardware circuit. Therefore, it cannot be said that a process flow improvement cannot be implemented using hardware modules. For example, a programmable logic device (PLD), such as a field programmable gate array (FPGA), is an integrated circuit whose logical function is determined by user programming. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to hire a chip manufacturer to design and manufacture a dedicated integrated circuit chip. Moreover, nowadays, instead of manually fabricating integrated circuit chips, this programming is mostly done using "logic compiler" software. This is similar to the software compiler used when developing programs. Before compilation, the original code must also be written in a specific programming language, called a hardware description language (HDL). There is not just one HDL, but many, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art will also understand that by simply programming the method flow in one of these hardware description languages and then programming it into an integrated circuit, a hardware circuit that implements the logic method flow can be easily obtained.

[0106] The controller can be implemented in any suitable manner. For example, the controller can take the form of a microprocessor 202 or processor 202 and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor 202, logic gates, switches, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that in addition to implementing the controller in a purely computer-readable program code manner, it is entirely possible to implement the same functionality in the form of logic gates, switches, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller can be considered a hardware component, and the means for implementing various functions included therein can also be considered as structures within the hardware component. Or even, the means for implementing various functions can be considered as both a software module for implementing the method and a structure within the hardware component.

[0107] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0108] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing the embodiments of this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0109] Those skilled in the art will appreciate that one or more embodiments of this specification may be provided as a method, system, or computer program product. Thus, one or more embodiments of this specification may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0110] This specification is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor 202 of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor 202 of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0111] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0112] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0113] In a typical configuration, a computing device includes one or more processors 202 (CPU), input / output interfaces, network interfaces, and memory.

[0114] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0115] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0116] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0117] One or more embodiments of this specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. One or more embodiments of this specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0118] The various embodiments in this specification are described in a progressive manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiments are generally similar to the method embodiments, so the description is relatively simple. For relevant parts, refer to the description of the method embodiments.

[0119] The foregoing description is merely an example of the present invention and is not intended to limit the present invention. Persons skilled in the art will readily appreciate that various modifications and variations of the present invention are possible. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present invention are intended to be included within the scope of the claims herein.

Claims

1. A robot dynamic obstacle removal method, characterized in that: The method specifically includes: S101, obtaining view overlap points through a frustum culling filter; S1011, estimating the transformation information T(t) of each frame between the camera coordinate system and the world coordinate system through the 3D reconstruction system; S1012, obtain the camera pose Pt (x, y, z, roll, pitch, yaw) of F(t) in the 3D map M(t-1) coordinate system and the world coordinate system by transforming the information T(t); S1013, calculating the camera's horizontal field of view H based on the camera's internal parameters fx, fy, image width, and image height fov and vertical field of view V fov ; S1014, set Pt (x, y, z, roll, pitch, yaw) to the camera posture at time t, through H fov and V fov Calculate the frustum-shaped field of view in three-dimensional space and construct the frustum through six intersecting infinite planes; S1015, calculate the plane equation of each of the six infinite planes; S1016, substituting the coordinates of each point M(t-1) and T(t)*F(t) into the plane equation, and determining whether each point should be in the viewing cone to obtain the view overlap areas M and F; where M represents the historical false trajectory of the dynamic object in the 3D map M(t-1), and F represents the current real dynamic object; S102, performing a bidirectional search on the overlapping point cloud views according to the view overlapping points using a kd-tree to obtain search results; S1021, pre-constructing a kd-tree, setting each point in M as a search point, searching for the nearest neighbor of M in F, and obtaining the closest distance between M and the nearest neighbor, where M represents the historical false trajectory of the dynamic object in the 3D map M(t-1), and F represents the current real dynamic object; S103, determining a false trajectory of the dynamic object according to the search result; S1031, determining whether the closest distance of the nearest neighbor point is greater than the resolution of F. If so, the search point belongs to a false track, and the false track is deleted from M(t-1) to obtain a new M(t-1); S104: Remove the false trajectory and the dynamic obstacle that generates the false trajectory.

2. A robot dynamic obstacle removal system, characterized in that: include: The frustum culling filter is used to obtain view overlap points; Estimate the transformation information T(t) between the camera coordinate system and the world coordinate system for each frame; The camera pose Pt (x, y, z, roll, pitch, yaw) of F(t) in the 3D map M(t-1) coordinate system and the world coordinate system is obtained by transforming the information T(t); Calculate the camera's horizontal field of view H based on the camera's internal parameters fx, fy, image width and image height fov and vertical field of view V fov ; Set the Pt (x, y, z, roll, pitch, yaw) as the camera pose at time t, and pass H fov and V fov Calculate the frustum-shaped field of view in three-dimensional space and construct the frustum through six intersecting infinite planes; Compute the plane equation for each of the six infinite planes; Substitute the coordinates of each point M(t-1) and T(t)*F(t) into the plane equation and determine whether each point should be in the view cone to obtain the view overlap areas M and F; where M represents the historical false trajectory of the dynamic object in the 3D map M(t-1), and F represents the current real dynamic object; A kd-tree module connected to the frustum culling filter for performing a bidirectional search on the overlapping point cloud views based on the view overlap points to determine the false trajectory of the dynamic object motion; Set each point of M as a search point, search for the nearest neighbor of M in F, and obtain the shortest distance between M and the nearest neighbor; a control module connected to the kd-tree module and configured to determine a false trajectory of a dynamic object; Determine whether the closest distance of the nearest neighbor point is greater than the resolution of F. If so, the search point belongs to a pseudo track, delete the pseudo track in M(t-1) and obtain a new M(t-1); A deletion module is connected to the control module and is used to remove the false trajectory and the dynamic obstacle that generates the false trajectory.

3. A robot dynamic obstacle removal device, characterized in that: include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the computer program is executed by the processor, the steps of the robot dynamic obstacle removal method according to claim 1 are implemented.

4. An electronic device, characterized in that: The electronic device stores an information transmission implementation program, and when the program is executed by the processor, the steps of the robot dynamic obstacle removal method according to claim 1 are implemented.

Citation Information

Patent Citations

  • Sweeping robot and obstacle avoidance method of the sweeping robot

    CN113397437A