Scanning trajectory segmentation method, three-dimensional scanning control method, and storage medium
Patent Information
- Application Number
- CN202311832771.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-27
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2043-12-27
AI Technical Summary
[0004]在本实施例中提供了一种扫描轨迹分割方法、三维扫描的控制方法和存储介质,以解决相关技术中机械臂协同扫描装置进行扫描时,扫描流畅度较低,扫描效率较低的问题
[0037] Compared with related technologies, the scanning trajectory segmentation method, 3D scanning control method, and storage medium provided in this embodiment acquire the scanning trajectory of the scanning device; based on the 3D information of each trajectory point in the scanning trajectory and the movement range of the robotic arm, the scanning trajectory is segmented into several trajectory intervals reachable by the robotic arm; wherein, the robotic arm is used to carry the scanning device for 3D scanning. By segmenting the scanning trajectory into several trajectory intervals reachable by the robotic arm, the robotic arm can smoothly carry the scanning device in each trajectory interval to complete the scanning, thereby improving the scanning smoothness and scanning efficiency.
Smart Images

Figure CN117754577B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of 3D scanning technology, and in particular to scanning trajectory segmentation methods, 3D scanning control methods, and storage media. Background Technology
[0002] In robotic arm collaborative scanning scenarios, the process typically involves robot teaching, where each scanning pose of the robotic arm equipped with the scanning device is captured sequentially. Based on these captured poses, the robotic arm is then controlled to perform the scanning. Alternatively, a tracking device can record the scanning trajectory of the scanning device during manual scanning in real time, and the robotic arm is then controlled to scan along that trajectory. However, the scanning trajectories acquired by these methods are complete paths, with trajectory points distributed across different positions on the workpiece. These trajectories may be inaccessible to the robotic arm during automated scanning. In such cases, scanning must be interrupted, and the workpiece must be manually moved using a positioner before scanning can resume. Therefore, current robotic arm collaborative scanning devices suffer from low scanning smoothness and low scanning efficiency.
[0003] There is currently no effective solution to the problems of low scanning smoothness and low scanning efficiency in related technologies. Summary of the Invention
[0004] This embodiment provides a scanning trajectory segmentation method, a three-dimensional scanning control method, and a storage medium to solve the problems of low scanning smoothness and low scanning efficiency when a robotic arm-assisted scanning device performs scanning in related technologies.
[0005] Firstly, this embodiment provides a scanning trajectory segmentation method, including:
[0006] Acquire the scanning trajectory of the scanning device;
[0007] Based on the three-dimensional information of each trajectory point in the scanning trajectory and the range of motion of the robotic arm, the scanning trajectory is divided into several trajectory intervals reachable by the robotic arm; wherein, the robotic arm is used to carry the scanning device to perform three-dimensional scanning.
[0008] In some embodiments, dividing the scanning trajectory into several trajectory intervals reachable by the robotic arm based on the three-dimensional information of each trajectory point in the scanning trajectory and the range of motion of the robotic arm includes:
[0009] The reference direction is determined based on the reference position of the robotic arm and the fixed reference position of the scanned object, and the deviation angle threshold is set based on the range of motion of the robotic arm.
[0010] Obtain the normal vector from the three-dimensional information of each trajectory point in the scanning trajectory;
[0011] Based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold, the scanning trajectory is divided into several trajectory intervals that can be reached by the robotic arm.
[0012] In some embodiments, the trajectory points are arranged in a ring around the reference position of the scanned object;
[0013] The step of dividing the scanning trajectory into several trajectory intervals reachable by the robotic arm based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold includes:
[0014] The search area is determined based on the reference direction and the reference position of the robotic arm;
[0015] Given the current distribution of the trajectory points, candidate points are determined from the trajectory points currently within the search area based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold, thus obtaining a trajectory range that the robotic arm can reach; wherein, the trajectory range is composed of the current candidate points;
[0016] The trajectory points are rotated by a preset angle. In the next distribution state after the rotation, candidate points are determined from the trajectory points in the search area after the rotation based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold, so as to obtain the next trajectory range that the robotic arm can reach.
[0017] In some embodiments, the trajectory points are distributed in stripes along one scanning surface of the scanned object;
[0018] The step of dividing the scanning trajectory into several trajectory intervals reachable by the robotic arm based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold includes:
[0019] The search area is determined based on the reference direction and the reference position of the robotic arm;
[0020] Based on the current distribution state of each trajectory point, candidate points are determined from the trajectory points currently in the search area according to the normal vector of each trajectory point, the reference direction and the deviation angle threshold, so as to obtain a trajectory range that the robotic arm can reach by the current candidate points.
[0021] Each trajectory point is translated by a preset distance. In the next distribution state after translation, candidate points are determined from the trajectory points in the search area after translation based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold, so as to obtain the next trajectory range that the robotic arm can reach.
[0022] In some embodiments, the method further includes:
[0023] Based on the distribution density of trajectory points in each trajectory interval and the preset density conditions, density optimization is performed on each trajectory interval.
[0024] In some embodiments, the method further includes:
[0025] Based on the shortest path principle, the scanning order of trajectory points within each trajectory interval is adjusted.
[0026] Secondly, this embodiment provides a control method for three-dimensional scanning, the method comprising:
[0027] Based on the scanning trajectory segmentation method described in the first aspect above, each trajectory interval is obtained when the scanning device performs three-dimensional scanning;
[0028] The robotic arm, equipped with the scanning device, moves sequentially within different trajectory intervals based on trajectory points, enabling the scanning device to complete a three-dimensional scan.
[0029] Thirdly, this embodiment provides a scanning trajectory segmentation device, including: an acquisition module and a segmentation module; wherein:
[0030] The acquisition module is used to acquire the scanning trajectory of the scanning device;
[0031] The segmentation module is used to divide the scanning trajectory into several trajectory intervals reachable by the robotic arm based on the three-dimensional information of each trajectory point in the scanning trajectory and the range of motion of the robotic arm; wherein the robotic arm is used to carry the scanning device to perform three-dimensional scanning.
[0032] Fourthly, this embodiment provides a three-dimensional scanning system, including: a scanning device, a robotic arm, and a server device; wherein the scanning device and the robotic arm are both connected to the server device;
[0033] The scanning device is used to perform three-dimensional scanning of the object being scanned;
[0034] The robotic arm is used to carry the scanning device for movement;
[0035] The server device is used to execute the scanning trajectory segmentation method described in the first aspect above, or to execute the three-dimensional scanning control method described in the second aspect above.
[0036] Fifthly, this embodiment provides a storage medium storing a computer program that, when executed by a processor, implements the scanning trajectory segmentation method described in the first aspect above, or the three-dimensional scanning control method described in the second aspect above.
[0037] Compared with related technologies, the scanning trajectory segmentation method, 3D scanning control method, and storage medium provided in this embodiment acquire the scanning trajectory of the scanning device; based on the 3D information of each trajectory point in the scanning trajectory and the movement range of the robotic arm, the scanning trajectory is segmented into several trajectory intervals reachable by the robotic arm; wherein, the robotic arm is used to carry the scanning device for 3D scanning. By segmenting the scanning trajectory into several trajectory intervals reachable by the robotic arm, the robotic arm can smoothly carry the scanning device in each trajectory interval to complete the scanning, thereby improving the scanning smoothness and scanning efficiency.
[0038] Details of one or more embodiments of this application are set forth in the following drawings and description to make other features, objects and advantages of this application more readily apparent. Attached Figure Description
[0039] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0040] Figure 1 This is a hardware structure block diagram of the terminal of the scanning trajectory segmentation method in this embodiment;
[0041] Figure 2 This is a flowchart of the scanning trajectory segmentation method in this embodiment;
[0042] Figure 3 This is a schematic diagram of the segmentation of a scanning trajectory in this embodiment;
[0043] Figure 4 This is another schematic diagram of scanning trajectory segmentation in this embodiment;
[0044] Figure 5 This is a flowchart of the three-dimensional scanning control method in this embodiment;
[0045] Figure 6 This is a structural block diagram of the scanning trajectory segmentation device in this embodiment;
[0046] Figure 7 This is a schematic diagram of the structure of the three-dimensional scanning system in this embodiment. Detailed Implementation
[0047] To better understand the purpose, technical solution, and advantages of this application, the application is described and explained below in conjunction with the accompanying drawings and embodiments.
[0048] Unless otherwise defined, the technical or scientific terms used in this application shall have the general meaning understood by one of ordinary skill in the art to which this application pertains. Words such as “a,” “an,” “an,” “the,” “the,” and “these,” used in this application, do not indicate quantitative limitation and may be singular or plural. The terms “comprising,” “including,” “having,” and any variations thereof used in this application are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or device that comprises a series of steps or modules (units) is not limited to the listed steps or modules (units) but may include steps or modules (units) not listed, or may include other steps or modules (units) inherent to such processes, methods, products, or devices. The terms “connected,” “linked,” and “coupled,” used in this application, are not limited to physical or mechanical connections but may include electrical connections, whether direct or indirect. The term “multiple” used in this application refers to two or more. The "and / or" operator describes the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: A alone, A and B simultaneously, and B alone. Typically, the character " / " indicates that the objects before and after it are in an "or" relationship. The terms "first," "second," and "third," etc., used in this application are merely for distinguishing similar objects and do not represent a specific ordering of the objects.
[0049] The method embodiments provided in this example can be executed on a terminal, computer, or similar computing device. For example, it can run on a terminal. Figure 1 This is a hardware structure block diagram of the terminal for the scanning trajectory segmentation method in this embodiment. For example... Figure 1 As shown, a terminal may include one or more ( Figure 1 Only one is shown in the diagram. A processor 102 and a memory 104 for storing data are also included. The processor 102 may be, but is not limited to, a microprocessor (MCU) or a programmable logic device (FPGA). The terminal may also include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that… Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the terminal described above. For example, the terminal may also include components that are larger than... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown are illustrated.
[0050] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the scan trajectory segmentation method in this embodiment. The processor 102 executes various functional applications and data processing by running the computer programs stored in the memory 104, thereby implementing the above-described method. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0051] The transmission device 106 is used to receive or send data via a network. This network includes a wireless network provided by the terminal's communication provider. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 can be a Radio Frequency (RF) module used for wireless communication with the Internet.
[0052] This embodiment provides a scanning trajectory segmentation method. Figure 2 This is a flowchart of the scan trajectory segmentation method in this embodiment, as follows: Figure 2 As shown, the process includes the following steps:
[0053] Step S210: Obtain the scanning trajectory of the scanning device.
[0054] The scanning trajectory comprises several trajectory points, each representing the pose that the robotic arm carrying the scanning device needs to achieve during 3D scanning. Specifically, the object to be scanned can be pre-scanned manually, and the poses of the scanning device can be tracked and recorded during this process. The tracking results are then combined into a set of scanning trajectories to obtain a scanning trajectory capable of completing the scanning task for the object. For example, during the scanning process, the tracking device tracks the position and orientation of the scanning device in real time. A sampling time interval is set, and the position and orientation of the scanning device are periodically collected and recorded to obtain the aforementioned scanning trajectory. The trajectory points in the above scanning trajectory are distributed across various locations on the workpiece. They can be arranged in a ring around the object or in a strip along the surface of the object. Furthermore, the trajectory points can also be distributed in any other arbitrary form, which is not limited in this embodiment.
[0055] Step S220: Based on the three-dimensional information of each trajectory point in the scanning trajectory and the range of motion of the robotic arm, the scanning trajectory is divided into several trajectory intervals that the robotic arm can reach; wherein, the robotic arm is used to carry the scanning device for three-dimensional scanning.
[0056] Since the trajectory points are distributed across various locations of the scanned object, and all trajectory points form a complete scanning path, this embodiment divides the scanning trajectory based on the 3D information of each trajectory point and the movement range of the robotic arm. This allows the robotic arm to smoothly carry the scanning device and complete the 3D scan within the divided trajectory intervals. Specifically, the 3D information of each trajectory point includes its spatial 3D coordinates and normal vector. The movement range of the robotic arm can be defined as the maximum movement space corresponding to a fixed position. Based on the 3D information of each trajectory point and the movement range of the robotic arm, the relative positional relationship between each trajectory point and the robotic arm is adjusted to determine the reachable interval of the robotic arm composed of trajectory points under each adjusted relative positional relationship, thereby achieving interval division of the scanning trajectory. This can be achieved by keeping the position of the robotic arm fixed and simultaneously rotating and / or translating all trajectory points to adjust the relative positional relationship between each trajectory point and the robotic arm.
[0057] Based on this, this embodiment can divide the scanning trajectory into a series of trajectory intervals reachable by the robotic arm, allowing the robotic arm to complete automated scanning within each trajectory interval, thereby completing the automated scanning of the entire object without frequent interruptions. Therefore, compared to related technologies where the robotic arm's range of motion is limited, preventing a complete scan in one go, this embodiment improves the smoothness of scanning when the robotic arm collaborates with the scanning device, thus increasing scanning efficiency.
[0058] Furthermore, after dividing the trajectory into several reachable ranges for the robotic arms, either a single robotic arm equipped with a scanning device can sequentially complete the scanning in each trajectory range, or multiple robotic arms with the same range of motion can be set up to scan in different trajectory ranges.
[0059] Steps S210 to S220 above involve acquiring the scanning trajectory of the scanning device; based on the three-dimensional information of each trajectory point in the scanning trajectory and the movement range of the robotic arm, the scanning trajectory is divided into several trajectory intervals reachable by the robotic arm; wherein, the robotic arm is used to carry the scanning device for three-dimensional scanning. By dividing the scanning trajectory into several trajectory intervals reachable by the robotic arm, the robotic arm can smoothly carry the scanning device in each trajectory interval to complete the scanning, thereby improving the scanning smoothness and scanning efficiency.
[0060] In one embodiment, based on step S220 above, the scanning trajectory is divided into several trajectory intervals reachable by the robotic arm according to the three-dimensional information of each trajectory point in the scanning trajectory and the range of motion of the robotic arm. Specifically, this may include:
[0061] Based on the reference position of the robotic arm and the fixed reference position of the scanned object, the reference direction is determined, and the deviation angle threshold is set based on the range of motion of the robotic arm; the normal vector in the three-dimensional information of each trajectory point in the scanning trajectory is obtained; based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold, the scanning trajectory is divided into several trajectory intervals that can be reached by the robotic arm.
[0062] The reference position of the robotic arm can be the origin of the robotic arm's base coordinates, or any other fixed position that remains unchanged during the robotic arm's movement. The fixed reference position of the scanned object can be the fixed position of the scanned object relative to the robotic arm. For example, when the scanned object is placed on a turntable, its reference position can be the center point of the turntable; when the scanned object is placed on a slide rail, its reference position can be a point on the slide rail through which a straight line drawn perpendicular to the origin of the robotic arm's base coordinates passes. The reference direction can be the direction from the robotic arm's reference position to the fixed reference position of the scanned object. The deviation angle threshold is the threshold value for the angular deviation between the normal vector of the trajectory point and the reference direction. The upper limit of the deviation angle threshold can be set by the range of motion of the robotic arm, and the specific threshold value can be determined manually based on the requirements of the actual application scenario.
[0063] Specifically, given the current distribution of each trajectory point, the trajectory point whose normal vector is closest to the reference direction is first identified as a seed point. Then, points whose angular deviation from the normal vector of the seed point is within the aforementioned deviation angle threshold are searched. Next, using these searched trajectory points as seed points, other trajectory points satisfying the deviation angle threshold are searched according to the same search conditions. All the searched points are then combined into a trajectory interval, which is a reachable interval for the robotic arm in the current distribution of each trajectory point. Furthermore, when searching for trajectory points, the distance between the trajectory point and the seed point can be considered in addition to the angular deviation of the normal vector, depending on the actual application scenario. Then, by rotating all trajectory points by the same angle and / or moving them by the same distance, the next distribution state of each trajectory point is obtained, thus determining the next trajectory interval. This embodiment achieves accurate segmentation of the scanning trajectory by using the normal vector, reference direction, and deviation angle threshold of each trajectory point.
[0064] Specifically, in one embodiment, the trajectory points are arranged in a ring around the reference position of the scanned object; based on the normal vector, reference direction, and deviation angle threshold of each trajectory point, the scanning trajectory is divided into several trajectory intervals reachable by the robotic arm, which may specifically include:
[0065] Based on the reference direction and the reference position of the robotic arm, the search area is determined. Under the current distribution state of each trajectory point, candidate points are determined from the trajectory points currently in the search area based on the normal vector, reference direction, and deviation angle threshold of each trajectory point, resulting in a trajectory interval that the robotic arm can reach. The trajectory interval is composed of the current candidate points. Each trajectory point is rotated by a preset angle. Under the next distribution state after rotation, candidate points are determined from the trajectory points in the search area after rotation based on the normal vector, reference direction, and deviation angle threshold of each trajectory point, resulting in the next trajectory interval that the robotic arm can reach.
[0066] During the 3D scanning of an object by a robotic arm equipped with a scanning device, a positioner can be introduced to assist the robotic arm in completing the scanning. The object to be scanned is mounted on the positioner, which adjusts the angle or position of the object relative to the robotic arm, while the positioner itself remains fixed relative to the robotic arm. For example, the positioner can be a turntable. After the object to be scanned, such as a workpiece, is assembled onto the platform, scanning of the object in different directions is completed as the turntable rotates.
[0067] Figure 3 This is a schematic diagram of the segmentation of a scan trajectory according to this embodiment. For example... Figure 3 As shown, in the application scenario where a turntable is used, the origin of the robotic arm's base coordinates is C. Figure 3 In the diagram, solid circles represent the turntable, dashed squares represent the scanned object, and black dots with arrows represent trajectory points, where the arrows indicate the normal vectors of each trajectory point. The trajectory points in the scan trajectory are distributed in a ring shape. The reference direction corresponds to... Figure 3 The line connecting point C in the diagram and the center point O of the turntable is the direction of the horizontal dashed line.
[0068] First, based on the reference direction, determine the trajectory point whose normal vector is closest to the reference direction and use it as the seed point. The angular deviation between the normal vector of this seed point and the reference direction must be less than a deviation angle threshold. Next, determine the trajectory points whose angular deviation from the normal vector of the seed point is within the deviation angle threshold and designate them as candidate points. Then, use these candidate points as seed points again and repeat the search according to the above conditions until all candidate points are found. This yields all candidate points in the current distribution state of the trajectory points. These candidate points also include the trajectory point whose normal vector is closest to the reference direction. The search area can be the neighborhood of the search trajectory points determined based on the robot arm's reference position and the reference direction. For example, first, search for the seed point in the neighborhood of the reference direction. Then, search for other trajectory points in the neighborhood of the seed point.
[0069] The aforementioned candidate points constitute a trajectory range reachable by the robotic arm for each trajectory point in the current distribution state. Then, all trajectory points are rotated in the same direction by the same angle, for example, by a factor of 2 (the deviation angle threshold), to obtain the next distribution state. This process of determining candidate points is repeated to obtain the trajectory range in the next distribution state. This process is then used to obtain each trajectory range. Figure 3 A trajectory interval can be represented by a sector formed by two dashed lines extending from the center O and the center O. The central angle of this sector can be twice the deviation angle threshold.
[0070] This embodiment can segment the scanning trajectory in a turntable application scenario. After segmenting into several trajectory intervals, the scanning within each trajectory interval is completed by controlling the cooperation between the turntable and the robotic arm, thereby improving the scanning smoothness and efficiency in a rotating scanning scenario.
[0071] In another embodiment, the trajectory points are distributed in stripes along a scanning surface of the scanned object; based on the normal vector, reference direction, and deviation angle threshold of each trajectory point, the scanning trajectory is divided into several trajectory intervals reachable by the robotic arm, which may specifically include:
[0072] Based on the reference direction and the reference position of the robotic arm, the search area is determined. Under the current distribution state of each trajectory point, candidate points are determined from the trajectory points currently in the search area based on the normal vector, reference direction, and deviation angle threshold of each trajectory point, thus obtaining a trajectory interval that the robotic arm can reach, composed of the current candidate points. Each trajectory point is translated by a preset distance. Under the next distribution state after translation, candidate points are determined from the trajectory points in the search area after translation based on the normal vector, reference direction, and deviation angle threshold of each trajectory point, thus obtaining the next trajectory interval that the robotic arm can reach.
[0073] Figure 4 This is a schematic diagram illustrating another type of scan trajectory segmentation in this embodiment. For example... Figure 4 As shown, in the actual application scenario where the positioner uses a slide rail, the aforementioned reference direction can be the direction formed by drawing a perpendicular line from the origin C of the robot arm's base coordinates to the slide rail, that is... Figure 4 The direction of the vertical dotted line in the text. (The slide rail uses...) Figure 4 The horizontal dashed line in the image indicates that the scanned object is represented by... Figure 4 The rectangular solid-line box in the image indicates that the search area can be a region at a preset distance from the indicator line representing the reference direction. Each trajectory point is... Figure 4 The black dots with arrows indicate the normal vectors of the trajectory points, which are distributed in stripes along the surface of the scanned object.
[0074] The position of the slide rail relative to the robotic arm is fixed. Given the current distribution of trajectory points, the trajectory point whose normal vector deviates from the reference direction by less than a deviation angle threshold and is closest to the reference direction is selected as the seed point. Then, trajectory points near the seed point that are less than or equal to the aforementioned preset distance and whose normal vector deviates from the seed point by less than the deviation angle threshold are searched as candidate points. Each candidate point is then used as a seed point to search for other candidate points until the search is complete, thus obtaining a trajectory interval formed by all candidate points in the current distribution state.
[0075] Then, all trajectory points can be shifted by the same distance, for example, shifted to the left by the preset distance, to obtain the next distribution state of each trajectory point. Then, the corresponding trajectory interval can be obtained in the next distribution state. Figure 4 Each trajectory interval is represented by a rectangular dashed box.
[0076] The slide rail is suitable for scanning large-area workpieces. This embodiment can realize the segmentation of scanning trajectory in the application scenario of the slide rail. After segmenting into several trajectory intervals, the scanning in each trajectory interval is completed by controlling the cooperation between the slide rail and the robotic arm, thereby improving the scanning smoothness and scanning efficiency in large-area scanning scenarios.
[0077] Furthermore, in one embodiment, the above-described scan trajectory segmentation method may further include:
[0078] Based on the distribution density of trajectory points within each trajectory interval and a preset density condition, density optimization is performed on each trajectory interval. The distribution density can be the distance between all trajectory points, or the distance between any two trajectory points. The density condition can be a density threshold between trajectory points. A density threshold can be preset, and each trajectory point within the interval can be traversed. Neighboring points whose distance to the current trajectory point is less than the density threshold are found and deleted, thereby reducing the density of the trajectory interval and preventing excessively high density of individual trajectory points within the interval. Furthermore, if the distance between two trajectory points is too large, interpolation can be performed between them, such as averaging their positions and orientations, or using other interpolation methods, to prevent excessively low density of individual trajectory points within the interval. Therefore, by optimizing the density of trajectory intervals, the distribution of trajectory points within each interval can be made more uniform, thereby improving subsequent scanning efficiency.
[0079] In another embodiment, the above-described scan trajectory segmentation method may further include:
[0080] Based on the shortest path principle, the scanning order of trajectory points within each trajectory interval is adjusted. This can be achieved using path optimization algorithms, such as the shortest path algorithm, to plan the scanning order of trajectory points within the trajectory interval, thereby making the scanning path more efficient and improving scanning efficiency.
[0081] This embodiment also provides a method for controlling three-dimensional scanning. Figure 5 This is a flowchart of the three-dimensional scanning control method in this embodiment, such as... Figure 5 As shown, the control method for this 3D scanning includes the following steps:
[0082] Step S510: Based on the scanning trajectory segmentation method provided in any of the above embodiments, obtain each trajectory interval when the scanning device performs three-dimensional scanning;
[0083] Step S520: Control the robotic arm to carry the scanning device and move sequentially within different trajectory intervals based on trajectory points so that the scanning device can complete the three-dimensional scan.
[0084] Steps S510 to S520 above divide the scanning trajectory into several trajectory intervals reachable by the robotic arm, enabling the robotic arm to smoothly carry the scanning device in each trajectory interval to complete the scanning, thereby improving the scanning smoothness and scanning efficiency.
[0085] This embodiment also provides a scanning trajectory segmentation device for implementing the above embodiments and preferred embodiments; details already described will not be repeated. The terms "module," "unit," "subunit," etc., used below refer to combinations of software and / or hardware that perform a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0086] Figure 6 This is a structural block diagram of the scanning trajectory segmentation device 60 in this embodiment, as shown below. Figure 6 As shown, the scanning trajectory segmentation device 60 includes: an acquisition module 62 and a segmentation module 64; wherein: the acquisition module 62 is used to acquire the scanning trajectory of the scanning device; the segmentation module 64 is used to segment the scanning trajectory into several trajectory intervals reachable by the robotic arm based on the three-dimensional information of each trajectory point in the scanning trajectory and the range of motion of the robotic arm; wherein, the robotic arm is used to carry the scanning device for three-dimensional scanning.
[0087] It should be noted that the above modules can be functional modules or program modules, and can be implemented through software or hardware. For modules implemented through hardware, the above modules can reside in the same processor; or the above modules can be located in different processors in any combination.
[0088] This embodiment also provides a three-dimensional scanning system. Figure 7 This is a schematic diagram of the structure of the 3D scanning system in this embodiment. Figure 7 As shown, the 3D scanning system includes: a scanning device 72, a robotic arm 74, and a server device 76; wherein, the scanning device 72 and the robotic arm 74 are both connected to the server device 76; the scanning device 72 is used to perform 3D scanning on the object being scanned; the robotic arm 74 is used to carry the scanning device 72 for movement; the server device 76 is used to execute the scanning trajectory segmentation method provided in the above embodiments, or to execute the 3D scanning control method provided in the above embodiments.
[0089] Furthermore, in conjunction with the scanning trajectory segmentation method or the three-dimensional scanning control method provided in the above embodiments, this embodiment can also provide a storage medium for implementation. The storage medium stores a computer program; when executed by a processor, the computer program implements any of the scanning trajectory segmentation methods or the three-dimensional scanning control methods in the above embodiments.
[0090] It should be understood that the specific embodiments described herein are merely illustrative of the application and not intended to limit it. All other embodiments derived by those skilled in the art based on the embodiments provided in this application without inventive effort are within the scope of protection of this application.
[0091] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.
[0092] Obviously, the accompanying drawings are merely some examples or embodiments of this application. Those skilled in the art can apply this application to other similar situations based on these drawings without any creative effort. Furthermore, it is understood that although the work done in this development process may be complex and lengthy, for those skilled in the art, certain design, manufacturing, or production modifications made based on the technical content disclosed in this application are merely conventional technical means and should not be considered as insufficient disclosure of this application.
[0093] The term "embodiment" in this application refers to a specific feature, structure, or characteristic described in connection with an embodiment that may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily imply the same embodiment, nor does it imply that it is mutually exclusive with or independent of other embodiments. It will be clearly or implicitly understood by those skilled in the art that the embodiments described in this application may be combined with other embodiments without conflict.
[0094] The above embodiments merely illustrate several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of patent protection. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the appended claims.
Claims
1. A scanning trajectory segmentation method, characterized in that, include: Acquire the scanning trajectory of the scanning device; Based on the three-dimensional information of each trajectory point in the scanning trajectory and the range of motion of the robotic arm, the scanning trajectory is divided into several trajectory intervals reachable by the robotic arm; including: The reference direction is determined based on the reference position of the robotic arm and the fixed reference position of the scanned object, and the deviation angle threshold is set based on the range of motion of the robotic arm. Obtain the normal vector from the three-dimensional information of each trajectory point in the scanning trajectory; Based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold, the scanning trajectory is divided into several trajectory intervals reachable by the robotic arm; wherein, the deviation angle threshold is the threshold of the angular deviation between the normal vector of the trajectory point and the reference direction; the robotic arm is used to carry the scanning device for three-dimensional scanning.
2. The scanning trajectory segmentation method according to claim 1, characterized in that, The trajectory points are distributed in a ring around the reference position of the scanned object; The step of dividing the scanning trajectory into several trajectory intervals reachable by the robotic arm based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold includes: The search area is determined based on the reference direction and the reference position of the robotic arm; Given the current distribution of the trajectory points, candidate points are determined from the trajectory points currently within the search area based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold, thus obtaining a trajectory range that the robotic arm can reach; wherein, the trajectory range is composed of the current candidate points; The trajectory points are rotated by a preset angle. In the next distribution state after the rotation, candidate points are determined from the trajectory points in the search area after the rotation based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold, so as to obtain the next trajectory range that the robotic arm can reach.
3. The scanning trajectory segmentation method according to claim 1, characterized in that, The trajectory points are distributed in a strip shape along one scanning surface of the scanned object; The step of dividing the scanning trajectory into several trajectory intervals reachable by the robotic arm based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold includes: The search area is determined based on the reference direction and the reference position of the robotic arm; Based on the current distribution state of each trajectory point, candidate points are determined from the trajectory points currently in the search area according to the normal vector of each trajectory point, the reference direction and the deviation angle threshold, so as to obtain a trajectory range that the robotic arm can reach by the current candidate points. Each trajectory point is translated by a preset distance. In the next distribution state after translation, candidate points are determined from the trajectory points in the search area after translation based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold, so as to obtain the next trajectory range that the robotic arm can reach.
4. The scanning trajectory segmentation method according to any one of claims 1 to 3, characterized in that, The method further includes: Based on the distribution density of trajectory points in each trajectory interval and the preset density conditions, density optimization is performed on each trajectory interval.
5. The scanning trajectory segmentation method according to any one of claims 1 to 3, characterized in that, The method further includes: Based on the shortest path principle, the scanning order of trajectory points within each trajectory interval is adjusted.
6. A control method for three-dimensional scanning, characterized in that, The method includes: Based on the scanning trajectory segmentation method according to any one of claims 1 to 5, each trajectory interval is obtained when the scanning device performs three-dimensional scanning; The robotic arm, equipped with the scanning device, moves sequentially within different trajectory intervals based on trajectory points, enabling the scanning device to complete a three-dimensional scan.
7. A scanning trajectory segmentation device, characterized in that, include: Acquisition module and segmentation module; where: The acquisition module is used to acquire the scanning trajectory of the scanning device; The segmentation module is used to segment the scanning trajectory into several trajectory intervals reachable by the robotic arm based on the three-dimensional information of each trajectory point in the scanning trajectory and the range of motion of the robotic arm; including: Based on the reference position of the robotic arm and the fixed reference position of the scanned object, a reference direction is determined, and a deviation angle threshold is set based on the range of motion of the robotic arm; the normal vector in the three-dimensional information of each trajectory point in the scanning trajectory is obtained; based on the normal vector of each trajectory point, the reference direction, and the deviation angle threshold, the scanning trajectory is divided into several trajectory intervals reachable by the robotic arm; wherein, the deviation angle threshold is the threshold of the angle deviation between the normal vector of the trajectory point and the reference direction; the robotic arm is used to carry the scanning device for three-dimensional scanning.
8. A three-dimensional scanning system, characterized in that, include: The system includes a scanning device, a robotic arm, and a server device; wherein the scanning device and the robotic arm are both connected to the server device. The scanning device is used to perform three-dimensional scanning of the object being scanned; The robotic arm is used to carry the scanning device for movement; The server device is used to execute the scanning trajectory segmentation method according to any one of claims 1 to 5, or to execute the three-dimensional scanning control method according to claim 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the scanning trajectory segmentation method according to any one of claims 1 to 5, or the steps of the three-dimensional scanning control method according to claim 6.
Citation Information
Patent Citations
Pose detection method, three-dimensional scanning path planning method and detection system
CN112161619A
Three-dimensional scanning system and method
CN115325959A