Methods, apparatus, equipment and storage media for generating workspace for robotic arms

By adaptively adjusting the sampling density and standard deviation to optimize the point cloud in the robotic arm's workspace, the problem of poor point cloud quality in the Monte Carlo method is solved, achieving more efficient and accurate point cloud generation.

CN122299644APending Publication Date: 2026-06-30ZOOMLION HEAVY INDUSTRY SCIENCE AND TECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZOOMLION HEAVY INDUSTRY SCIENCE AND TECHNOLOGY CO LTD
Filing Date
2026-04-10
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

When generating the workspace of a robotic arm, the Monte Carlo method suffers from poor point cloud quality due to its random sampling strategy, and the fixed encryption parameters result in insufficient flexibility.

Method used

By dividing the initial point cloud into multiple grids, an adaptive sampling density is determined based on the local point cloud density of each grid, and the standard deviation is adjusted in the normal and tangent directions to generate sampling points, thus optimizing the point cloud distribution.

Benefits of technology

It improves the rationality and quality of point cloud distribution in the workspace, enhances sampling efficiency and accuracy, addresses the shortcomings of the Monte Carlo method, and achieves more reasonable point cloud generation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122299644A_ABST
    Figure CN122299644A_ABST
Patent Text Reader

Abstract

This application discloses a method, apparatus, device, and storage medium for generating a robotic arm workspace, relating to the field of robot kinematics analysis and control technology. The method includes: acquiring an initial point cloud of the robotic arm under multiple combinations of first joint angles, where each initial point cloud point corresponds to the position reached by the end effector of the robotic arm under at least one combination of first joint angles; dividing the initial point cloud into multiple grids and acquiring a first local point cloud density corresponding to each grid; determining a sampling density corresponding to each grid based on the first local point cloud density, wherein the sampling density is negatively correlated with the first local point cloud density; generating first sampling points for each grid based on the sampling density; and updating the initial point cloud based on the first sampling points to determine the workspace of the robotic arm.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of kinematic analysis and control technology for robotic arms, specifically to a method, apparatus, device, and storage medium for generating a robotic arm workspace. Background Technology

[0002] Robotic arm workspace generation refers to determining the set of all positions that the robotic arm end effector can reach in three-dimensional space through mathematical modeling and numerical calculation.

[0003] Due to its random sampling characteristics and good adaptability to complex systems, the Monte Carlo method has been widely used in generating the workspace of robotic arms and has become an important tool for robot kinematics analysis. This method constructs the reachable workspace of the robotic arm in the form of a point cloud by randomly generating joint angle combinations and calculating the position of the end effector. Its core steps include: ① Random sampling: generating a large number of random values ​​within the range of joint angle combinations; ② Forward kinematics solution: calculating the end effector coordinates using a DH parameter model; ③ Point cloud visualization: collecting all valid coordinate points and plotting their three-dimensional spatial distribution.

[0004] Because the Monte Carlo method uses a random sampling strategy, the resulting point cloud quality is often poor. To address this issue, existing solutions encrypt the initial point cloud using encryption parameters. However, these solutions use fixed encryption parameters, resulting in a lack of flexibility. Summary of the Invention

[0005] The purpose of this application is to provide a method, apparatus, device, and storage medium for generating a robotic arm workspace.

[0006] To achieve the above objectives, the first aspect of this application provides a method for generating a robotic arm workspace, the method comprising: Obtain the initial point cloud of the robotic arm under multiple combinations of first joint angles, where each initial point cloud point corresponds to the position reached by the end of the robotic arm under at least one combination of first joint angles. The initial point cloud is divided into multiple grids, and the first local point cloud density corresponding to each grid is obtained; The sampling density of each grid is determined based on the first local point cloud density corresponding to each grid, and the sampling density is negatively correlated with the first local point cloud density. Based on the sampling density corresponding to each grid, a first sampling point is generated for each grid. The initial point cloud is updated based on the first sampling point to determine the workspace of the robotic arm.

[0007] In this embodiment of the application, the sampling density is characterized by a first standard deviation.

[0008] In this embodiment, the sampling density corresponding to each grid is determined based on the first local point cloud density corresponding to each grid, including: obtaining the basic standard deviation and the global point cloud density of the initial point cloud; weighting the basic standard deviation based on a first adjustment factor to obtain the first standard deviation of the first grid, and weighting the basic standard deviation based on a second adjustment factor to obtain the first standard deviation of the second grid; the multiple grids include the first grid and the second grid, the first local point cloud density corresponding to the first grid is greater than the global point cloud density, the first local point cloud density corresponding to the second grid is less than the global point cloud density, the first adjustment factor is greater than 0 and less than 1, and the second adjustment factor is greater than 1.

[0009] In this embodiment of the application, a first sampling point is generated for each grid based on the sampling density corresponding to each grid, including: obtaining a first joint angle combination corresponding to the initial point cloud points in the target grid, and a first standard deviation corresponding to the target grid, wherein the target grid is any grid; using the first joint angle combination as the mean, combined with the first standard deviation, to generate a plurality of second joint angle combinations that conform to a normal distribution; and determining the first sampling point based on each second joint angle combination.

[0010] In this embodiment of the application, updating the initial point cloud based on the first sampling point to determine the workspace of the robotic arm includes: updating the initial point cloud based on the first sampling point to obtain a first encrypted point cloud; obtaining the boundary of the first encrypted point cloud, determining a second standard deviation in the normal direction of the boundary, and determining a third standard deviation in the tangent direction of the boundary; generating a second sampling point based on the second standard deviation and the third standard deviation; updating the first encrypted point cloud based on the second sampling point to obtain a second encrypted point cloud; and determining the workspace of the robotic arm based on the second encrypted point cloud.

[0011] In this embodiment of the application, the method further includes: dividing the first encrypted point cloud into multiple grids and obtaining the second local point cloud density corresponding to each grid; determining the density change rate corresponding to each grid based on the first local point cloud density and the second local point cloud density; and repeatedly generating the first sampling point and updating the point cloud when the density change rate corresponding to all grids is greater than or equal to the stopping iteration threshold, until the density change rate corresponding to all grids is less than the stopping iteration threshold.

[0012] To achieve the above objectives, a second aspect of this application provides a method for generating a robotic arm workspace, the method comprising: Obtain the initial point cloud of the robotic arm under multiple combinations of first joint angles, where each initial point cloud point corresponds to the position reached by the end of the robotic arm under at least one combination of first joint angles. Obtain the boundary of the initial point cloud, determine the second standard deviation in the normal direction of the boundary, and determine the third standard deviation in the tangent direction of the boundary; The second sampling point is generated based on the second and third standard deviations; The initial point cloud is updated based on the second sampling point to determine the workspace of the robotic arm.

[0013] In this embodiment of the application, obtaining the boundary of the initial point cloud includes: dividing the initial point cloud into multiple voxels, obtaining the total number of primes in the neighborhood of each voxel, and the number of non-empty voxels in the neighborhood; determining the gradient of the voxel based on the ratio of the number of non-empty voxels to the total number of primes; determining the voxel as a boundary voxel if the gradient of the voxel is less than the gradient threshold; and obtaining the boundary of the initial point cloud based on all boundary voxels.

[0014] In the embodiments of this application, the second standard deviation is less than the third standard deviation.

[0015] In this embodiment of the application, generating a second sampling point based on a second standard deviation and a third standard deviation includes: obtaining a first joint angle combination corresponding to an initial point cloud point in a target voxel, wherein the target voxel is an arbitrary boundary voxel; using the first joint angle combination as the mean, and combining it with the second standard deviation and the third standard deviation, generating a preset number of third joint angle combinations that conform to a normal distribution; and determining the second sampling point based on each third joint angle combination.

[0016] A third aspect of this application provides a robotic arm workspace generation apparatus, comprising: a memory configured to store instructions; and a processor configured to retrieve instructions from the memory and, when executing the instructions, to implement a robotic arm workspace generation method.

[0017] The fourth aspect of this application provides a robotic arm workspace generation device, including: a robotic arm workspace generation apparatus.

[0018] The fifth aspect of this application provides a machine-readable storage medium storing instructions for causing a machine to perform a method for generating a robotic arm workspace.

[0019] The above technical solution divides the initial point cloud into multiple grids and obtains the first local point cloud density for each grid, thereby analyzing the local distribution of the initial point cloud points. Then, the sampling density is determined based on the first local point cloud density of each grid. Since the two are negatively correlated, a higher sampling density is used in sparse areas of the initial point cloud to generate more sampling points, while a lower sampling density is used in dense areas to reduce the number of sampling points. This adaptive density adjustment effectively compensates for the shortcomings of random sampling in the Monte Carlo method, making the point cloud distribution in the workspace more reasonable, thus improving the overall quality of the point cloud.

[0020] Other features and advantages of the embodiments of this application will be described in detail in the following detailed description section. Attached Figure Description

[0021] The accompanying drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the following detailed description to explain the embodiments of this application, but do not constitute a limitation on the embodiments of this application. In the drawings: Figure 1 The schematic diagram illustrates a flowchart of a method for generating a robotic arm workspace according to an embodiment of this application; Figure 2 This illustration schematically shows another process diagram of a robotic arm workspace generation method according to an embodiment of this application; Figure 3 A schematic diagram of a robotic arm workspace generation apparatus according to an embodiment of this application is shown. Figure 4 This schematically illustrates another structural block diagram of a robotic arm workspace generation apparatus according to an embodiment of this application; Figure 5 The diagram illustrates the internal structure of a computer device according to an embodiment of this application. Detailed Implementation

[0022] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for illustration and explanation of the embodiments of this application and are not intended to limit the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.

[0023] Figure 1 The illustration schematically shows a flowchart of a method for generating a robotic arm workspace according to an embodiment of this application. Figure 1 As shown in the figure, this application provides a method for generating a robotic arm workspace, which may include the following steps: Step 101: Obtain the initial point cloud of the robotic arm under multiple combinations of first joint angles. Each initial point cloud point corresponds to the position reached by the end of the robotic arm under at least one combination of first joint angles.

[0024] Understandably, robotic arms typically consist of multiple joints, each with a certain range of angle variation. Different combinations of joint angles give the robotic arm different shapes, allowing its end effector to reach different spatial positions.

[0025] The first joint angle combination is a combination of specific initial values ​​for each joint angle. The initial point cloud is a collection of positions reached by the end effector of the robotic arm under multiple different first joint angle combinations. An initial point cloud point refers to a single point in the initial point cloud, representing the specific position reached by the end effector of the robotic arm under a certain first joint angle combination.

[0026] First, obtain the set parameters, such as the robotic arm DH parameters and joint limit range. Initial number of sampling points Wait. Then, within the joint limit range [ Uniform random sampling is performed within the range, angle values ​​are randomly generated and combined into the first joint angle combination, resulting in... Group 1 joint angle combination ,satisfy Next, and finally, the distal positions corresponding to each joint angle are calculated using forward kinematics. To form the initial point cloud .

[0027] Step 102: Divide the initial point cloud into multiple grids and obtain the first local point cloud density corresponding to each grid.

[0028] In this context, a grid refers to a series of small cubes that divide the initial workspace of the robotic arm (i.e., the spatial area where the initial point cloud is distributed) according to certain rules. The size and division method of the grid can be set according to actual needs.

[0029] Optionally, the point cloud is computed in Extreme values ​​on the axis Construct an initial cubic envelope, and then divide it into uniform grids. .

[0030] Furthermore, for each grid cell, the first local point cloud density is determined based on the ratio of the number of initial point cloud points within the grid cell to the grid cell volume. The first local point cloud density reflects the density of the initial point cloud points within that grid cell; a higher first local point cloud density indicates a denser distribution of initial point cloud points within that grid cell, and vice versa. The specific formula is as follows:

[0031] in, The first local point cloud density of the raster. This represents the initial number of point cloud points within the grid. This represents the raster volume.

[0032] Step 103: Determine the sampling density corresponding to each grid cell based on the first local point cloud density corresponding to each grid cell. The sampling density is negatively correlated with the first local point cloud density.

[0033] Understandably, to achieve adaptive sampling, this scheme requires a lower sampling density in areas with dense initial point cloud distribution and a higher sampling density in sparsely distributed areas. Since the first local point cloud density corresponding to a grid can characterize the density of the initial point cloud points within the grid, it can be used as a reference to determine the required sampling density for each grid.

[0034] Optionally, a suitable negative correlation model can be set according to actual needs and experience, including but not limited to inverse proportional functions, exponential functions, or specific functions constructed based on specific parameters (such as standard deviation).

[0035] Furthermore, the first local point cloud density of each grid is substituted into the negative correlation model to calculate the sampling density corresponding to each grid.

[0036] Step 104: Generate the first sampling point for each grid based on the sampling density corresponding to each grid.

[0037] The first sampling point refers to a new sampling point generated in each grid according to certain rules when sampling each grid based on the sampling density.

[0038] Optionally, a suitable sampling method can be determined based on actual needs and experience, including but not limited to uniform random sampling, Gaussian perturbation sampling, etc., and the first sampling point can be generated for each grid by combining the sampling density corresponding to each grid.

[0039] Taking uniform random sampling as an example, firstly, the number of sampling points to be generated within a grid is calculated based on the sampling density and grid volume. Then, for each grid, its coordinate range in three-dimensional space is determined, and a random number generator is used to generate a corresponding number of three-dimensional coordinates within this range, with each set of coordinates corresponding to one sampling point.

[0040] Step 105: Update the initial point cloud based on the first sampling point to determine the workspace of the robotic arm.

[0041] After determining the first sampling point corresponding to each grid, the initial point cloud is updated based on the first sampling point. The updated point cloud can more accurately represent the workspace of the robotic arm.

[0042] In this embodiment, the initial point cloud is divided into multiple grids, and the first local point cloud density corresponding to each grid is obtained to analyze the local distribution of the initial point cloud points. Then, the sampling density is determined based on the first local point cloud density of each grid. Since the two are negatively correlated, a higher sampling density is used in sparse areas of the initial point cloud to generate more sampling points, while a lower sampling density is used in dense areas to reduce the number of sampling points. This adaptive density adjustment effectively compensates for the shortcomings of random sampling in the Monte Carlo method, making the point cloud distribution in the workspace more reasonable, thereby improving the overall quality of the point cloud.

[0043] In one feasible implementation, the sampling density is characterized by a first standard deviation.

[0044] The first standard deviation is obtained by calculating the deviation of each initial point cloud point within the grid from the mean position. Since the first standard deviation reflects the dispersion of the initial point cloud points within the grid, it can be used to characterize the sampling density of the current grid. Specifically, a larger first standard deviation indicates a sparser initial point cloud point within the grid, requiring a higher sampling density to increase the number of sampling points. A smaller first standard deviation indicates a denser initial point cloud point within the grid, requiring a lower sampling density to reduce the number of sampling points. Compared to other methods of characterizing sampling density, such as density functions, the first standard deviation used in this scheme not only effectively quantifies the dispersion of the data but also can be calculated solely based on the statistical characteristics of the samples themselves, offering advantages such as ease of calculation and strong robustness.

[0045] In one feasible implementation, the sampling density corresponding to each grid is determined based on the first local point cloud density corresponding to each grid, including: obtaining the base standard deviation and the global point cloud density of the initial point cloud; weighting the base standard deviation based on a first adjustment factor to obtain the first standard deviation of the first grid, and weighting the base standard deviation based on a second adjustment factor to obtain the first standard deviation of the second grid; the multiple grids include the first grid and the second grid, the first local point cloud density corresponding to the first grid is greater than the global point cloud density, the first local point cloud density corresponding to the second grid is less than the global point cloud density, the first adjustment factor is greater than 0 and less than 1, and the second adjustment factor is greater than 1.

[0046] The baseline standard deviation reflects the overall dispersion of the initial point cloud, and is obtained by calculating the deviation of each initial point cloud point from the mean position. The global point cloud density reflects the overall density of the initial point cloud, and is calculated by calculating the ratio of the total number of all initial point cloud points to the total volume.

[0047] For each grid cell, if the corresponding first local point cloud density is greater than the global point cloud density, it is determined as the first grid cell; if the corresponding first local point cloud density is less than the global point cloud density, it is determined as the second grid cell.

[0048] For any first grid cell, a first adjustment factor greater than 0 and less than 1 is used to weight the base standard deviation to obtain the corresponding first standard deviation. For any second grid cell, a second adjustment factor greater than 1 is used to weight the base standard deviation to obtain the corresponding first standard deviation. The specific formula is as follows:

[0049] in, The first standard deviation, As a regulating factor, Based on the standard deviation.

[0050] like When the density of the first local point cloud is greater than the density of the global point cloud, the first grid cell is set to 0 < That is, the first adjustment factor is used to reduce the standard deviation of the high-density raster.

[0051] like When the density of the first local point cloud is less than that of the global point cloud in the second grid cell, set... That is, a second adjustment factor is used to improve the standard deviation of low-density rasters.

[0052] The above scheme divides the grid into a first grid and a second grid based on the first local point cloud density, and then uses a first adjustment factor and a second adjustment factor to correct the base standard deviation, thereby obtaining the first standard deviation for each grid. Since the first standard deviation can characterize the sampling density, subsequent adaptive sampling of each grid can be performed based on it. Compared with other negative correlation models, this method of dividing based on the base standard deviation and adaptively calculating the first standard deviation can independently adjust the adjustment factor of each grid, providing greater flexibility.

[0053] In one feasible implementation, a first sampling point is generated for each grid based on the sampling density corresponding to each grid, including: obtaining a first joint angle combination corresponding to the initial point cloud points in the target grid, and a first standard deviation corresponding to the target grid, wherein the target grid is any grid; using the first joint angle combination as the mean and combining it with the first standard deviation, generating multiple second joint angle combinations that conform to a normal distribution; and determining the first sampling point based on each second joint angle combination.

[0054] The target grid is any grid that needs to be processed.

[0055] For the target raster, firstly, obtain the first joint angle combination corresponding to the initial point cloud points, and the corresponding first standard deviation. Using the first joint angle combination as the mean, and combining it with the first standard deviation, generate multiple second joint angle combinations that conform to a normal distribution. As for the number of generated combinations... The number can be set according to actual needs, such as 50. The specific formula is as follows:

[0056] in, For the second joint angle combination, For the first joint angle combination, The first standard deviation, This represents the normal distribution function.

[0057] like If so, resample and generate until it is valid.

[0058] Finally, the first sampling point is determined based on the combination of each second joint angle.

[0059] Compared to other sampling methods, this scheme uses the first joint angle combination as the center for local directional exploration, which significantly improves sampling efficiency. At the same time, the generated second joint angle combination will naturally cluster near the first joint angle combination, simulating small perturbations in kinematics, making the distribution of sampling points in the workspace more continuous and stable, and avoiding the introduction of abrupt noise.

[0060] In one feasible implementation, updating the initial point cloud based on the first sampling points to determine the workspace of the robotic arm includes: updating the initial point cloud based on the first sampling points to obtain a first encrypted point cloud; obtaining the boundary of the first encrypted point cloud, determining a second standard deviation in the normal direction of the boundary, and determining a third standard deviation in the tangent direction of the boundary; generating a second sampling point based on the second standard deviation and the third standard deviation; updating the first encrypted point cloud based on the second sampling points to obtain a second encrypted point cloud; and determining the workspace of the robotic arm based on the second encrypted point cloud.

[0061] First, based on the first sampling point For the initial point cloud The update was performed, resulting in the first encrypted point cloud. , This allows for local optimization of density.

[0062] Next, the local curvature or gradient of the first encrypted point cloud is calculated, and regions with abrupt changes in curvature or abrupt drops in gradient are marked as boundaries. If a uniform first standard deviation is used for these boundary regions, it may lead to undersampling or blurred boundaries; therefore, resampling at the boundaries is necessary. Specifically, the boundary normal direction (boundary extension direction) and tangent direction (boundary parallel direction) are determined. Based on this, a second standard deviation is set along the normal direction, and a third standard deviation is set along the tangent direction.

[0063] For example, the second standard deviation is less than the third standard deviation. The specific formula is as follows:

[0064] in, The second standard deviation in the direction of the normal. The third regulatory factor ( ), This is the first standard deviation.

[0065]

[0066] in, The third standard deviation in the tangent direction. The fourth regulatory factor , This is the first standard deviation.

[0067] Furthermore, second sampling points are generated based on the second and third standard deviations. The specific sampling method can be determined according to actual needs and experience. This yields the second sampling points for the boundary region. Then, based on these points, the first encrypted point cloud is... The update was performed, resulting in a second encrypted point cloud. , Ultimately based on the second encrypted point cloud Determine the workspace of the robotic arm.

[0068] The above implementation method determines the second standard deviation corresponding to the normal direction and the third standard deviation corresponding to the tangent direction for the boundary region of the first encrypted point cloud, and performs adaptive sampling on the boundary region accordingly. By separating the normal and tangent directions, this scheme achieves anisotropic adaptive sampling, which can flexibly adjust the sampling strategy according to the local geometric features of the boundary, thereby effectively solving the problem of insufficient sampling or boundary ambiguity caused by a uniform standard deviation at the boundary.

[0069] Understandably, this scheme first adaptively adjusts local areas based on a comparison of local and global densities. Specifically, in low-density areas... Increase standard deviation ( This expands the sampling range, covering sparse areas, thereby improving boundary detection capabilities and reducing the "hole" phenomenon. In high-density areas... Reduce standard deviation ( This suppresses redundant sampling, avoids resource waste, and thus optimizes computational efficiency and reduces memory usage. After completing the local adjustments, further adjustments are made to the boundary region. Specifically, in the normal direction (boundary extension direction), the standard deviation is reduced ( , Dense sampling, used to capture fine boundaries, can improve boundary resolution and reduce jagged edges. In the tangential direction (parallel to the boundary), increasing the standard deviation (…) This expands the coverage area and avoids sampling blind spots caused by local curvature changes.

[0070] The above scheme effectively solves the problem of low sampling efficiency through density feedback mechanism, which can shorten the calculation time and further improve the sampling accuracy; the anisotropic sampling method solves the problem of low boundary resolution through directional optimization, and improves the modeling ability of complex boundaries.

[0071] Additionally, post-processing and workspace modeling workflows can be configured. First, based on a KD-Tree search, outliers (those with fewer than [number] points in their neighborhood) are removed. (points). Then, using point clouds. As input, a continuous triangular mesh surface is generated using the Poisson equation. .

[0072] In one feasible implementation, the first encrypted point cloud is divided into multiple grids, and the second local point cloud density corresponding to each grid is obtained; based on the first local point cloud density and the second local point cloud density, the density change rate corresponding to each grid is determined; if the density change rate corresponding to all grids is greater than or equal to the stopping iteration threshold, the first sampling point is repeatedly generated and the point cloud is updated until the density change rate corresponding to all grids is less than the stopping iteration threshold.

[0073] Optionally, the first encrypted point cloud is divided into multiple grids, and the second local point cloud density corresponding to each grid is obtained. The specific principle is the same as step 102, and will not be repeated here.

[0074] For each grid cell, since the first local point cloud density characterizes the density of point clouds within the grid cell before the local point cloud update, while the second local point cloud density characterizes the density of point clouds within the grid cell after the local point cloud update, the density change rate of each grid cell can be determined based on the first and second local point cloud densities. For example, the following formula is used for calculation:

[0075] in, The rate of change of density, This represents the density of the second local point cloud. This represents the density of the first local point cloud.

[0076] If the density change rate corresponding to all grid cells is greater than or equal to the stopping iteration threshold Repeat the process of generating the first sampling point and updating the point cloud until the density change rate of all grid cells is less than the stopping iteration threshold. .

[0077] The above scheme improves adjustment efficiency by setting reasonable iterative convergence conditions, ensuring that local areas of the point cloud are fully adjusted while avoiding ineffective iterations.

[0078] Figure 2 This illustration schematically shows another process diagram of a method for generating a robotic arm workspace according to an embodiment of this application. For example... Figure 2 As shown in the figure, this application provides a method for generating a robotic arm workspace, which may include the following steps: Step 201: Obtain the initial point cloud of the robotic arm under multiple combinations of first joint angles. Each initial point cloud point corresponds to the position reached by the end of the robotic arm under at least one combination of first joint angles.

[0079] Step 202: Obtain the boundary of the initial point cloud, determine the second standard deviation in the normal direction of the boundary, and determine the third standard deviation in the tangent direction of the boundary.

[0080] Step 203: Generate the second sampling point based on the second standard deviation and the third standard deviation.

[0081] Step 204: Update the initial point cloud based on the second sampling point to determine the workspace of the robotic arm.

[0082] First, the initial point cloud of the robotic arm under multiple combinations of first joint angles is obtained. Each initial point cloud point corresponds to the position reached by the end of the robotic arm under at least one combination of first joint angles. The specific principle is the same as step 101, and will not be repeated here.

[0083] Optionally, the local curvature or gradient of the initial point cloud is calculated, and regions with abrupt changes in curvature or abrupt drops in gradient are marked as boundaries. If a uniform base standard deviation is used for these boundary regions, it may lead to problems such as undersampling or blurred boundaries. Therefore, it is necessary to resample at the boundaries.

[0084] Specifically, the direction of the boundary normal (perpendicular to the boundary) and the direction of the tangent (parallel to the boundary) are determined. Based on this, a second standard deviation is set along the normal direction and a third standard deviation is set along the tangent direction.

[0085] For example, the second standard deviation is less than the third standard deviation. The specific formula is as follows:

[0086] in, The second standard deviation in the direction of the normal. The third regulatory factor ( ), Based on the standard deviation.

[0087]

[0088] in, The third standard deviation in the tangent direction. The fourth regulatory factor , Based on the standard deviation.

[0089] The above scheme uses a smaller standard deviation in the normal direction and denser sampling to capture fine boundaries, thereby improving boundary resolution and reducing jagged edges. Conversely, it uses a larger standard deviation in the tangential direction to expand coverage and avoid sampling blind spots caused by local curvature variations.

[0090] Furthermore, second sampling points are generated based on the second and third standard deviations. The specific sampling method can be determined according to actual needs and experience. This yields the second sampling points for the boundary region. Then, the initial point cloud is updated based on these points to determine the workspace of the robotic arm.

[0091] The above implementation determines the second standard deviation corresponding to the normal direction and the third standard deviation corresponding to the tangent direction for the boundary region of the initial point cloud, and performs adaptive sampling on the boundary region accordingly. By separating the normal and tangent directions, this scheme achieves anisotropic adaptive sampling, which can flexibly adjust the sampling strategy according to the local geometric features of the boundary, thereby effectively solving the problem of insufficient sampling or boundary ambiguity caused by a uniform standard deviation at the boundary.

[0092] In one feasible implementation, obtaining the boundary of the initial point cloud includes: dividing the initial point cloud into multiple voxels, obtaining the total number of primes in the neighborhood of each voxel, and the number of non-empty voxels in the neighborhood; determining the gradient of the voxel based on the ratio of the number of non-empty voxels to the total number of primes; determining the voxel as a boundary voxel if the gradient of the voxel is less than a gradient threshold; and obtaining the boundary of the initial point cloud based on all boundary voxels.

[0093] Divide the initial point cloud into multiple voxels, and the voxel side length can be set according to actual needs (e.g., 1 mm). Count the number of points contained in each voxel, and mark voxels containing at least one point as non-empty voxels.

[0094] For each voxel, determine the total number of primes in its neighborhood (denoted as ). ), and count the number of non-empty voxels in the neighborhood (denoted as ). Then, based on the ratio of non-empty voxels to the total number of primes, the gradient of the voxels is determined. The specific formula is as follows:

[0095] in, For the gradient of voxels, For non-empty primes in the neighborhood, It represents the total number of primes in the neighborhood.

[0096] If the gradient of the voxel is less than the gradient threshold, i.e. If it is, then it is marked as a boundary voxel.

[0097] Finally, collect all boundary voxels to form the boundary of the initial point cloud.

[0098] The above scheme achieves higher computational efficiency by using voxel partitioning, gradient calculation, and boundary determination, eliminating the need for complex computations. Moreover, unlike the local curvature method, which is highly sensitive to point location, in this scheme, a single noise point is unlikely to significantly alter the non-empty proportion within the voxel's neighborhood, thus reducing the likelihood of false boundaries caused by noise.

[0099] In one feasible implementation, generating a second sampling point based on a second standard deviation and a third standard deviation includes: obtaining a first joint angle combination corresponding to an initial point cloud point in a target voxel, wherein the target voxel is an arbitrary boundary voxel; using the first joint angle combination as the mean, and combining it with the second standard deviation and the third standard deviation, generating a preset number of third joint angle combinations that conform to a normal distribution; and determining the second sampling point based on each third joint angle combination.

[0100] The target voxel is any boundary voxel that needs to be processed.

[0101] For a target voxel, obtain the first joint angle combination corresponding to the initial point cloud points in the target voxel. Then, using the first joint angle combination as the mean, and combining it with the second and third standard deviations, generate a preset number ( The system generates (number of) normally distributed combinations of third joint angles. Finally, based on these combinations, the second sampling point is determined. The specific principle is the same as described above and will not be repeated here. This method of generating the second sampling point using a normal distribution function is not only efficient but also avoids the introduction of abrupt noise.

[0102] Figure 1 This is a flowchart illustrating a method for generating the workspace of a robotic arm in one embodiment. It should be understood that, although... Figure 1The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise explicitly stated herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.

[0103] In one embodiment, such as Figure 3 As shown, a robotic arm workspace generation device 300 is provided, including a first initial point cloud acquisition module 301, a grid analysis module 302, a sampling density determination module 303, a first sampling point generation module 304, and a first sampling point update module 305, wherein: The first initial point cloud acquisition module 301 is used to acquire the initial point cloud of the robotic arm under multiple combinations of first joint angles, wherein each initial point cloud point corresponds to the position reached by the end of the robotic arm under at least one combination of first joint angles.

[0104] The raster analysis module 302 is used to divide the initial point cloud into multiple raster cells and obtain the first local point cloud density corresponding to each raster cell.

[0105] The sampling density determination module 303 is used to determine the sampling density corresponding to each grid cell based on the first local point cloud density corresponding to each grid cell. The sampling density is negatively correlated with the first local point cloud density.

[0106] The first sampling point generation module 304 is used to generate a first sampling point for each grid based on the sampling density corresponding to each grid.

[0107] The first sampling point update module 305 is used to update the initial point cloud based on the first sampling point in order to determine the workspace of the robotic arm.

[0108] In one embodiment, such as Figure 4 As shown, another robotic arm workspace generation device 400 is provided, including a second initial point cloud acquisition module 401, a boundary analysis module 402, a second sampling point generation module 403, and a second sampling point update module 404, wherein: The second initial point cloud acquisition module 401 is used to acquire the initial point cloud of the robotic arm under multiple combinations of first joint angles, wherein each initial point cloud point in the initial point cloud corresponds to the position reached by the end of the robotic arm under at least one combination of first joint angles. Boundary analysis module 402 is used to obtain the boundary of the initial point cloud, determine the second standard deviation in the normal direction of the boundary, and determine the third standard deviation in the tangent direction of the boundary. The second sampling point generation module 403 is used to generate a second sampling point based on the second standard deviation and the third standard deviation; The second sampling point update module 404 is used to update the initial point cloud based on the second sampling point to determine the workspace of the robotic arm.

[0109] The robotic arm workspace generation device includes a processor and a memory. The aforementioned modules are all stored in the memory as program units, and the processor executes the aforementioned program modules stored in the memory to realize the corresponding functions.

[0110] The processor contains a kernel, which retrieves the corresponding program units from memory. One or more kernels can be configured, and the method for generating the robotic arm's workspace can be implemented by adjusting the kernel parameters.

[0111] The memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0112] This application provides a storage medium storing a program that, when executed by a processor, implements the above-described method for generating the workspace of a robotic arm.

[0113] This application provides a processor for running a program, wherein the program executes the above-described method for generating the workspace of a robotic arm.

[0114] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 5 As shown, the computer device includes a processor A01, a network interface A02, a memory (not shown), and a database (not shown) connected via a system bus. The processor A01 provides computing and control capabilities. The memory includes internal memory A03 and a non-volatile storage medium A04. The non-volatile storage medium A04 stores an operating system B01, a computer program B02, and a database (not shown). The internal memory A03 provides an environment for the operation of the operating system B01 and the computer program B02 stored in the non-volatile storage medium A04. The database stores initial point clouds, etc. The network interface A02 is used for communication with external terminals via a network connection. When executed by the processor A01, the computer program B02 implements a method for generating a robotic arm workspace.

[0115] Those skilled in the art will understand that Figure 5 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0116] This application provides a computer (electronic) device, which includes a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it implements the steps of any of the above-mentioned robotic arm workspace generation methods.

[0117] This application also provides a computer program product that, when executed on a data processing device, is suitable for executing a program that initializes a method for generating a workspace for a robotic arm.

[0118] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0119] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0120] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0121] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

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

[0123] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0124] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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 technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0125] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0126] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for generating a workspace for a robotic arm, characterized in that, The method includes: Obtain an initial point cloud of the robotic arm under multiple combinations of first joint angles, wherein each initial point cloud point corresponds to the position reached by the end of the robotic arm under at least one combination of first joint angles. The initial point cloud is divided into multiple grids, and the first local point cloud density corresponding to each grid is obtained; The sampling density corresponding to each of the grids is determined based on the first local point cloud density corresponding to each grid, wherein the sampling density is negatively correlated with the first local point cloud density. Based on the sampling density corresponding to each of the grids, a first sampling point is generated for each of the grids; The initial point cloud is updated based on the first sampling point to determine the workspace of the robotic arm.

2. The method for generating the workspace of a robotic arm according to claim 1, characterized in that, The sampling density is characterized by the first standard deviation.

3. The method for generating the workspace of a robotic arm according to claim 2, characterized in that, Based on the first local point cloud density corresponding to each of the aforementioned grids, the sampling density corresponding to each of the aforementioned grids is determined, including: Obtain the base standard deviation and the global point cloud density of the initial point cloud; The first standard deviation of the first grid is obtained by weighting the base standard deviation based on the first adjustment factor, and the first standard deviation of the second grid is obtained by weighting the base standard deviation based on the second adjustment factor. The plurality of grids includes the first grid and the second grid, wherein the first local point cloud density corresponding to the first grid is greater than the global point cloud density, the first local point cloud density corresponding to the second grid is less than the global point cloud density, the first adjustment factor is greater than 0 and less than 1, and the second adjustment factor is greater than 1.

4. The method for generating the workspace of a robotic arm according to claim 2, characterized in that, Based on the sampling density corresponding to each of the grids, a first sampling point is generated for each of the grids, including: Obtain the first joint angle combination corresponding to the initial point cloud points in the target grid, and the first standard deviation corresponding to the target grid, wherein the target grid is any grid. Using the first joint angle combination as the mean and combining it with the first standard deviation, multiple second joint angle combinations that conform to a normal distribution are generated. The first sampling point is determined based on each combination of the second joint angles.

5. The method for generating the workspace of a robotic arm according to claim 1, characterized in that, Updating the initial point cloud based on the first sampling point to determine the workspace of the robotic arm includes: The initial point cloud is updated based on the first sampling point to obtain the first encrypted point cloud; Obtain the boundary of the first encrypted point cloud, determine the second standard deviation in the normal direction of the boundary, and determine the third standard deviation in the tangent direction of the boundary; A second sampling point is generated based on the second standard deviation and the third standard deviation; The first encrypted point cloud is updated based on the second sampling point to obtain the second encrypted point cloud; The working space of the robotic arm is determined based on the second encrypted point cloud.

6. The method for generating the workspace of a robotic arm according to claim 5, characterized in that, The method further includes: The first encrypted point cloud is divided into multiple grids, and the second local point cloud density corresponding to each grid is obtained; Based on the first local point cloud density and the second local point cloud density, determine the density change rate corresponding to each of the grid cells; If the density change rate corresponding to all the gratings is greater than or equal to the stopping iteration threshold, the first sampling point is repeatedly generated and the point cloud is updated until the density change rate corresponding to all the gratings is less than the stopping iteration threshold.

7. A method for generating a workspace for a robotic arm, characterized in that, The method includes: Obtain an initial point cloud of the robotic arm under multiple combinations of first joint angles, wherein each initial point cloud point corresponds to the position reached by the end of the robotic arm under at least one combination of first joint angles. Obtain the boundary of the initial point cloud, determine the second standard deviation in the normal direction of the boundary, and determine the third standard deviation in the tangent direction of the boundary; A second sampling point is generated based on the second standard deviation and the third standard deviation; The initial point cloud is updated based on the second sampling point to determine the workspace of the robotic arm.

8. The method for generating a robotic arm workspace according to claim 7, characterized in that, Obtain the boundaries of the initial point cloud, including: The initial point cloud is divided into multiple voxels, and the total number of primes in the neighborhood of each voxel and the number of non-empty voxels in the neighborhood are obtained. The gradient of the voxels is determined based on the ratio of the number of non-empty voxels to the total number of primes. If the gradient of the voxel is less than the gradient threshold, the voxel is determined to be a boundary voxel. The boundaries of the initial point cloud are obtained based on all the boundary voxels.

9. The method for generating a robotic arm workspace according to claim 7, characterized in that, The second standard deviation is less than the third standard deviation.

10. The method for generating a robotic arm workspace according to claim 7, characterized in that, Based on the second and third standard deviations, a second sampling point is generated, including: Obtain the first joint angle combination corresponding to the initial point cloud points in the target voxel, where the target voxel is an arbitrary boundary voxel; Using the first joint angle combination as the mean, and combining it with the second standard deviation and the third standard deviation, a preset number of third joint angle combinations conforming to a normal distribution are generated; The second sampling point is determined based on each of the aforementioned third joint angle combinations.

11. A robotic arm workspace generation device, characterized in that, include: The memory is configured to store instructions; The processor is configured to retrieve the instructions from the memory and, when executing the instructions, to implement the robotic arm workspace generation method according to any one of claims 1 to 10.

12. A robotic arm workspace generation device, characterized in that, include: The robotic arm workspace generation device according to claim 11.

13. A machine-readable storage medium storing instructions thereon, characterized in that, When executed by a processor, the instruction causes the processor to be configured to perform the robotic arm workspace generation method according to any one of claims 1 to 10.