WO2024254781A1 - Deformation for path generation - Google Patents
Deformation for path generation Download PDFInfo
- Publication number
- WO2024254781A1 WO2024254781A1 PCT/CN2023/100189 CN2023100189W WO2024254781A1 WO 2024254781 A1 WO2024254781 A1 WO 2024254781A1 CN 2023100189 W CN2023100189 W CN 2023100189W WO 2024254781 A1 WO2024254781 A1 WO 2024254781A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- dimensional model
- path
- parameters
- deformation
- point cloud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating three-dimensional [3D] models or images for computer graphics
- G06T19/20—Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1656—Program controls characterised by programming, planning systems for manipulators
- B25J9/1664—Program controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40564—Recognize shape, contour of object, extract position and orientation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Definitions
- Embodiments of the present disclosure generally relate to the field of computer, and in particular to a method, a device, a computer-readable storage medium and a computer program product for deformation for path generation.
- a three dimensional (3D) vision is widely used nowadays in various robot applications.
- One of the typical techniques is computer aided design (CAD) -model-based path generation. That is, to define paths on a CAD model and then map the paths to a point cloud taken from real parts. By a mapping operation, the paths relative to the CAD model base are transformed to the world or robot base.
- the real parts do not always have same dimensions to the CAD model, and the CAD model should be registered to the point cloud.
- embodiments of the present disclosure provide a solution for deformation for a path generation.
- an electronic device may comprise at least one processing unit; at least one memory coupled to the at least one processing unit and having instructions stored thereon, the instructions, when executed by the at least one processing unit, causing the device to perform a method according to the first aspect.
- a computer-readable storage medium stores machine-executable instructions which, when executed by a device, may cause the device to perform a method according to the first aspect.
- the computer program product comprises one or more computer instructions, when the one or more computer instructions are executed by a processor, may cause the processor to perform a method according to the first aspect.
- FIG. 1 illustrates a schematic diagram of an example environment in which some embodiments of the present disclosure can be implemented
- FIG. 2A illustrates an example object on which paths can be generated according to some embodiments of the present disclosure
- FIG. 2B illustrates example point clouds of an object from different angles according to some embodiments of the present disclosure
- FIG. 2C illustrates an example difference in shape between an object and an ideal CAD model according to some embodiments of the present disclosure
- FIG. 3 illustrates a flowchart of an example method for deformation for path generation according to some other embodiments of the present disclosure
- FIG. 4A illustrates an example of original surface according to some embodiments of the present disclosure
- FIGS. 4B-4D illustrate some examples of deformations using different deformation types according to some embodiments of the present disclosure
- FIG. 5 illustrates an example process for deformation fitting according to some embodiments of the present disclosure
- FIG. 6 illustrates an example of using a pre-defined path on a deformed CAD model as a robot path according to some embodiments of the present disclosure
- FIG. 7 illustrates an example demonstration of the process for deformation fitting according to some embodiments of the present disclosure.
- FIG. 8 illustrates a block diagram illustrating an electronic device in accordance with embodiments of the present disclosure.
- the functionality can be configured to perform an operation using, for instance, software, hardware, firmware, or the like.
- the phrase “configured to” can refer to a logic circuit structure of a hardware element that is to implement the associated functionality.
- the phrase “configured to” can also refer to a logic circuit structure of a hardware element that is to implement the coding design of associated functionality of firmware or software.
- the term “module” refers to a structural element that can be implemented using any suitable hardware (e.g., a processor, among others) , software (e.g., an application, among others) , firmware, or any combination of hardware, software, and firmware.
- firmware encompasses any functionality for performing a task.
- each operation illustrated in the flowcharts corresponds to logic for performing that operation.
- An operation can be performed using, software, hardware, firmware, or the like.
- component, ” “system, ” and the like may refer to computer-related entities, hardware, and software in execution, firmware, or combination thereof.
- a component may be a process running on a processor, an object, an executable, a program, a function, a subroutine, a computer, or a combination of software and hardware.
- processor, may refer to a hardware component, such as a processing unit of a computer system.
- Computer-readable storage media can include, but are not limited to, magnetic storage devices, e.g., hard disk, floppy disk, magnetic strips, optical disk, compact disk (CD) , digital versatile disk (DVD) , smart cards, flash memory devices, among others.
- computer-readable media i.e., not storage media, may additionally include communication media such as transmission media for wireless signals and the like.
- a problem in robot applications is that real work piece always suffers from machining error and deformation.
- the path accuracy becomes a problem.
- a very common problem in robot applications is that real work piece always suffers from machining error and deformation, etc.
- the real parts do not always have same dimensions to the CAD model.
- the path accuracy becomes a problem.
- a point cloud is a set of data points in a 3D coordinate system, which may be captured by one or more 3D cameras.
- embodiments of the present disclosure provide a solution for deformation fitting.
- the solution performs deformation when mapping a CAD model to a point cloud.
- the solution uses parametric expression to model a deformation.
- the parametric expression has a few variables to be optimized.
- the variables are optimized in an optimization process. Due to the low optimization degree of freedom (DOF) , the computational effort can be reduced to a lower level, yet the accuracy can be higher than the traditional non-rigid registration.
- DOF optimization degree of freedom
- the embodiments of the present disclosure will be described mainly by taking a robot for painting as the as an example. It should be understood that any other suitable use cases are also possible, such as dispensing, welding, machining applications.
- FIG. 1 illustrates a schematic diagram of an example environment 100 in which some embodiments of the present disclosure can be implemented.
- the environment 100 is only illustrated and is not intended to suggest any limitations as to scope of use or functionality of embodiments of the disclosure described herein.
- the computing device 130 may obtain a point cloud 120.
- the point cloud 120 may be taken from real parts (which is referred as an object thereafter) . Because the real parts do not always have same dimensions to the CAD model, the CAD-model-based path generation is very useful when the path is around small features since detecting small features by 3D vision is either hard or expensive. When the differences are not negligible, considering only the rigid translation between the CAD model and the real part point cloud is not enough.
- the computing device 130 may use deformation module 140 when mapping the CAD model to the point cloud.
- deformation module 140 may use deformation module 140 when mapping the CAD model to the point cloud.
- three typical deformation formats are defined (scale, convex and bend) .
- the deformed 3D model may be represented in a parametric expression with variables to be updated.
- the deformation of the real work piece or part may be modeled by reshaping the CAD model.
- the deformation fitting module 150 may iteratively optimize the variables to reshape the deformed 3D model so that the fitness is small enough (such as below a threshold) .
- a fitted 3D model 160 i.e. the reshaped path
- the robot may use the fitted 3D model 160 as its more accuracy path for performing jobs.
- FIG. 2A illustrates an example object 200A on which paths can be generated according to some embodiments of the present disclosure.
- Object 200A is a work piece. Overall, the Object 200A has a flat non-linear curve surface, but somewhere it has some dents or grooves in a small scale, for example, 1 or 2 millimeters, or even less than 1 millimeter. A dent 202 and a dent 204 (dotted lines) show these small scaled dents or grooves.
- the 3D cameras can capture the overall surface of the object 200A well enough, so it can be seen that a clean flat surface and these dents and grooves going downwards the surface. They there are a lot of noises when capturing the point cloud from the 3D camera’s sensors.
- the overall shape is well captured so it’s not a big issue if it requires a range of application that does not need a high accuracy.
- the noise is more visible and will affect finishing the tasks.
- a dotted line 210 represents the point cloud.
- the solid line 220 represents the object 200A.
- the dot 240 represents the path.
- the dashed line 230 represents the ideal CAD model.
- the object 200A For a high accuracy path, it has to capture exact rectangular shape of this dent. This would be a technical challenge, because it's not practical to pose the camera directly above this dent each time. Because if it is the curved surface, then it has to move the camera every time when there is a surface curve. Therefore, the line 220 may be fit to the line 230.
- deformation may be considered when mapping the line 220 to the line 230, and parametric expression can be used to model the deformation with a few variables needed in the optimization process.
- FIG. 3 illustrates a flowchart of an example method 300 for deformation for path generation according to some other embodiments of the present disclosure.
- the method 300 deforms a three dimensional model of a path for an object based on a mapping of the three dimensional model and a point cloud of the object.
- the deformed three dimensional model comprises a plurality of parameters.
- the plurality of parameters may comprise at least one of proportion variables, offset variables, rotation variables , translation variables and so on.
- the method 300 needs to deform the 3D model of the path first and then reshape the 3D model.
- the method 300 adjusts the plurality of parameters in the deformed three dimensional model based on a comparison of the three dimensional model and the point cloud of the object. For example, using the deformation processes as described with reference to FIGS. 4A-4D.
- FIG. 4A illustrates an example 400A of original surface 400A according to some embodiments of the present disclosure.
- the original surface 400A is a wavy surface as an example without limitation.
- the wavy surface has several wave troughs, such as wave trough 410.
- FIG. 4B illustrates a deformation 400B using scale deformation type according to some embodiments of the present disclosure.
- the shape of the wave is magnified to simulate the camera looking at a tilted angle.
- the lens of the camera is magnifying that view. In that case, this scaled information and the scale part are defined.
- Deformations seen in robot applications are various but can be generally grouped in three. The first one is global deformation dominant. The second one is local deformation dominant and the third one is both. A section shape of a steel cube shall be round but sometimes it could be more like an ellipse. A plastic work piece could be bent. The above two ones are examples for global deformation. If one edge or a vertex of a steel cube is abraded, then this is an example for local deformation. For soft work pieces, e.g., shoe sole made of rubber, it could suffer from both global and local deformation.
- a necessary preprocessing is to move the base to the center of gravity.
- i represents the number or counting of a point
- x, y, z represent three axis of a 3D coordinate respectively.
- the corresponding point of p i in the reshaped CAD model can be expressed, for example, by:
- g () represents the format of the deformation; represents the point i of the reshaped CAD model.
- g () can be expressed, for example, by:
- k x , k y , k z and b x , b y , b z represent the variables to be optimized.
- the CAD model may become bigger or smaller in different directions. For example, wave trough 420 becomes bigger but smoother.
- FIG. 4C illustrates a deformation 400C using convex deformation type according to some embodiments of the present disclosure.
- g () can be expressed, for example, by:
- K x [k x_0 k x_1 k x_2 ... k x_n ] ′
- H y [k y_1 k y_2 ... k x_m ] ′
- n and m represent the powers of the polynomials, which are integers equal to or greater than zero.
- n and m should be determined according to the real workpiece deformation.
- K x and K y represent the variables to be optimized.
- k x_n represents K x at power of n.
- y x_n represents y x at power of n.
- FIG. 4D illustrates an example of deformation 400D using bend deformation type according to some embodiments of the present disclosure. It is to be noted that with different variable values the reshaping will be more like bend or convex. These three deformation types are basic ones, and any deviation belongs to these three deformation types can be fitted according to the polynomial formulas, or other types of formulas without limitations.
- the comparison of the three dimensional model and the point cloud of the object may be done by using of an iterative gradient approach.
- a high level idea of the iterative gradient descent approach uses an iterative method to fit (which is also referred to as reshaping) the deformed 3D model.
- an iterative closest point (ICP) approach is used to calculate the error function (which is referred as a fitness) .
- a gradient descent approach can be used. The example iterative descent approach will be discussed in detail with reference to FIG. 5.
- FIG. 5 illustrates an example process 500 for deformation fitting according to some embodiments of the present disclosure.
- the process 500 may start.
- a pre-process may be performed. For example, move base to the center of gravity for both the CAD model and the target point cloud. Further, the process 500 may roughly align the CAD model to the target point cloud. The result is the initial condition of the following optimization.
- the process 500 may calculate gradients. Since there is no analytic expression for the error function (or the fitness) , numeric method is used to estimate the gradients. For each variable k i , a small deviation ⁇ k_i can be given, and fix other variables. By running the ICP approach to get the fitness deviation ⁇ fitness_i , and then a partial derivative as a gradient, which can be calculated, for example, by
- the process 500 may repeat the calculation for other variables and get gradients, for example, as follows:
- the process 500 may update the variables using the gradient descent approach, which can be represented, for example, by:
- the process 500 may use the updated variables to run the ICP approach for a second round, and get a new fitness.
- the process 500 may check if the fitness is small enough. If yes, the process 500 may return the last updated K. Otherwise, the process 500 may go back to 530.
- the method 300 generates an updated path for the object according to the adjusted three dimensional model. For example, the process 500 iteratively performed for 1000 times and meets the requirement for a termination.
- the method 300 uses the 1000 th updated parameters as the fitted 3D model, and the path on the fitted 3D model may be used as an updated path for the robot to work on the work piece.
- the example embodiments of FIG. 3 can solve a common practical problem in 3D robot-vision applications and improves the accuracy for CAD based path generation.
- it is suitable for 3D robot vision cases where the global deformation is dominant, and the path is around small scaled features. It can also enable new robot applications which are not possible, hard, or expensive with respect to traditional technology. Due to the low optimization degree of freedom (DOF) , the computational effort can be lower, yet the accuracy can be higher than the traditional non-rigid registration.
- DOE optimization degree of freedom
- FIG. 6 illustrates an example 600 of using a pre-defined path on a deformed CAD model as a robot path according to some embodiments of the present disclosure.
- a dotted line 610 represents the point cloud.
- the solid line 620 represents the object 200A.
- the dot 640 represents the path.
- the dashed line 630 represents the initial CAD model.
- the solid line 650 represents the reshaped CAD model.
- FIG. 7 shows mock-up envelops of on partial part of the object.
- FIG. 7 illustrates an example of demonstration 700 of the process for deformation fitting according to some embodiments of the present disclosure.
- Envelop 702 represents the fitted CAD model.
- Envelop 704 represents the point cloud of the partial part of the object.
- Envelop 706 represents the original CAD model.
- the arrows (such as arrows 708 and 710) schematically show the directions that the points moved from the original CAD model to fitted CAD model.
- the initial fitness is 2.081524, and after 114 steps of fitting it becomes 0.130347.
- the adopted defamation type is convex. It can be seen that he difference between the fitted CAD model and the point cloud is reduced compared to the difference between the original CAD model and the point cloud. Thus, the reshaped path may be read and output to the robot for a higher accuracy path.
- FIG. 8 schematically illustrates a block diagram of an electronics device 800 in accordance with embodiments of the present disclosure.
- the device 800 includes a central processing unit (CPU) 801, which can execute various appropriate actions and processing based on the computer program instructions stored in a read-only memory (ROM) 802 or the computer program instructions loaded into a random access memory (RAM) 803 from a storage unit 808.
- the RAM 803 also stores all kinds of programs and data required by operating the storage device 800.
- CPU 801, ROM 802 and RAM 803 are connected to each other via a bus 804, to which an input/output (I/O) interface 805 is also connected.
- I/O input/output
- a plurality of components in the device 800 are connected to the I/O interface 805, comprising: an input unit 806, such as a keyboard, a mouse and the like; an output unit 807, such as various types of displays, loudspeakers and the like; a storage unit 808, such as a storage disk, an optical disk and the like; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver and the like.
- the communication unit 809 allows the device 800 to exchange information/data with other devices through computer networks such as Internet and/or various telecommunication networks.
- the method 300 can be implemented as computer software programs, which are tangibly included in a machine-readable medium, such as a storage unit 808.
- the computer program can be partially or completely loaded and/or installed to the device 800 via the ROM 802 and/or the communication unit 809.
- the CPU 801 may also be configured in any proper manner to implement the above process/method.
- the present disclosure may be a method, a device, a system and/or a computer program product.
- the computer program product can include a computer-readable storage medium loaded with computer-readable program instructions thereon for executing various aspects of the present disclosure.
- the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
- the computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof.
- the computer readable storage medium would include: a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , a static random access memory (SRAM) , a portable compact disc read-only memory (CD-ROM) , a digital versatile disk (DVD) , a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination thereof.
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- SRAM static random access memory
- CD-ROM compact disc read-only memory
- DVD digital versatile disk
- memory stick a floppy disk
- a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination thereof.
- a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable) , or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium, or downloaded to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
- the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present disclosure may be assembly instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
- the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) .
- LAN local area network
- WAN wide area network
- an Internet Service Provider for example, AT&T, MCI, Sprint, MCI, or MCI.
- an electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA) , or programmable logic arrays (PLA) can be personalized to execute the computer readable program instructions, thereby implementing various aspects of the present disclosure.
- FPGA field-programmable gate arrays
- PLA programmable logic arrays
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which are executed via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which are executed on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, snippet, or portion of codes, which comprises one or more executable instructions for implementing the specified logical function (s) .
- the functions noted in the block may be implemented in an order different from those illustrated in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- a method for path generation may comprise deforming a three dimensional model of a path for an object based on a mapping of the three dimensional model and a point cloud of the object, wherein the deformed three dimensional model comprises a plurality of parameters; adjusting the plurality of parameters in the deformed three dimensional model based on a comparison of the three dimensional model and the point cloud of the object; and generating an updated path for the object according to the adjusted three dimensional model.
- These example embodiments can improve the accuracy for CAD based path generation.
- deforming the three dimensional model may comprise: moving a first centroid of the three dimensional model and a second centroid of the point cloud to a common base point; and aligning the three dimensional model to the point cloud based on one of a plurality of deformation types.
- the plurality of deformation types may comprise scale, bend and convex.
- aligning the three dimensional model to the point cloud based on the one of a plurality of deformation types may comprise: selecting a deformation type from the plurality of deformation types based on respective fitness, wherein fitness related to a deformation type indicates that an error between the point cloud and the aligned three dimensional model.
- adjusting the plurality of parameters in the deformed three dimensional model may comprise: determining a plurality of gradients associated with the deformed three dimensional model; and adjusting the plurality of parameters in the deformed three dimensional model based on the plurality of gradients.
- the method may further comprise: determining a value of an error function using the ICP approach as fitness at a current iteration based on the updated plurality of parameters; determining whether the value of the error function is above a threshold; based on a determination that the value is above the threshold, determining the gradient vector at a next iteration; and updating the plurality of parameters based on the gradient vector at the next iteration.
- updating the plurality of parameters based on the gradient vector at the next iteration may comprise: updating the plurality of parameters based on a step size for each iteration or a gradient descending rate, and based on the gradient vector at the next iteration.
- the method may be performed for the second path individually and in parallel with the method performed for the first path.
- a plurality of paths may exist on the object, and each of the plurality of paths may be determined on the three dimensional model represented by a CAD model. These example embodiments can increase the efficiency of path generation.
- an electronic device comprising at least one processing unit; at least one memory coupled to the at least one processing unit and having instructions stored thereon, the instructions, when executed by the at least one processing unit, causing the device to perform a method according to the first aspect.
- a computer-readable storage medium stores machine-executable instructions which, when executed by a device, cause the device to perform a method according to the first aspect.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
pi= (xi, yi, zi) (1)
Kx= [kx_0 kx_1 kx_2 ... kx_n] ′
Hy= [ky_1 ky_2 ... kx_m] ′
Claims (15)
- A method for path generation, comprising:deforming a three dimensional model of a path for an object based on a mapping of the three dimensional model and a point cloud of the object, wherein the deformed three dimensional model comprises a plurality of parameters;adjusting the plurality of parameters in the deformed three dimensional model based on a comparison of the three dimensional model and the point cloud of the object; andgenerating an updated path for the object according to the adjusted three dimensional model.
- The method according to claim 1, wherein deforming the three dimensional model comprises:moving a first centroid of the three dimensional model and a second centroid of the point cloud to a common base point; andaligning the three dimensional model to the point cloud based on one of a plurality of deformation types.
- The method according to claim 2, wherein the plurality of deformation types comprise scale, bend and convex, and wherein aligning the three dimensional model to the point cloud based on the one of a plurality of deformation types comprises:selecting a deformation type from the plurality of deformation types based on respective fitness, wherein fitness related to a deformation type indicates that an error between the point cloud and the aligned three dimensional model.
- The method according to any of claims 1-3, wherein adjusting the plurality of parameters in the deformed three dimensional model comprises:determining a plurality of gradients associated with the deformed three dimensional model; andadjusting the plurality of parameters in the deformed three dimensional model based on the plurality of gradients.
- The method according to any of claims 4, wherein determining the plurality of gradients associated with the deformed three dimensional model comprises:for each of the plurality of parameters:keeping the rest of the plurality of parameters fixed;determining a fitness deviation using an iterative closest point (ICP) approach; anddetermining a partial derivative based on the fitness deviation and a deviation for iteration for adjusting the plurality of parameters; anddetermining a plurality of partial derivatives corresponding to the plurality of parameters as a gradient vector.
- The method according to claim 5, further comprising:determining a value of an error function using the ICP approach as fitness at a current iteration based on the updated plurality of parameters;determining whether the value of the error function is above a threshold;based on a determination that the value is above the threshold, determining the gradient vector at a next iteration; andupdating the plurality of parameters based on the gradient vector at the next iteration.
- The method according to claim 6, wherein updating the plurality of parameters based on the gradient vector at the next iteration comprises:updating the plurality of parameters based on a step size for each iteration or a gradient descending rate, and based on the gradient vector at the next iteration.
- The method according to claim 6 or 7, further comprising:based on a determination that the error is below the threshold, determining a fitted three dimensional model using the last update of the plurality of parameters.
- The method according to claim 8, further comprising:outputting the adjusted three dimensional model as the updated path for navigating a robot.
- The method according to claim 9, wherein the path is a first path, and the method further comprises:selecting a second path on the object, wherein the second path is different than the first path;updating a plurality of parameters for the second path iteratively until a value of the error function associated with the second path is below the threshold; andgenerating an updated second path for navigating the robot using the updated plurality of parameters for the second path.
- The method according to claim 10, wherein the method is performed for the second path individually and in parallel with the method performed for the first path.
- The method according to any of claims 1-10, wherein a plurality of paths exist on the object, and each of the plurality of paths is determined on the three dimensional model represented by a computer aided design (CAD) model.
- An electronic device, comprising:at least one processing unit;at least one memory coupled to the at least one processing unit and having instructions stored thereon, the instructions, when executed by the at least one processing unit, causing the device to perform a method of any of claims 1-12.
- A computer-readable storage medium storing machine-executable instructions which, when executed by a device, cause the device to perform a method of any of claims 1-12.
- A computer program product comprising one or more computer instructions, when the one or more computer instructions are executed by a processor, cause the processor to perform a method of any of claims 1-12.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23941018.6A EP4728483A1 (en) | 2023-06-14 | 2023-06-14 | Deformation for path generation |
| CN202380099249.XA CN121336242A (en) | 2023-06-14 | 2023-06-14 | Deformation for path generation |
| PCT/CN2023/100189 WO2024254781A1 (en) | 2023-06-14 | 2023-06-14 | Deformation for path generation |
| US19/418,050 US20260099655A1 (en) | 2023-06-14 | 2025-12-12 | Deformation for path generation |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2023/100189 WO2024254781A1 (en) | 2023-06-14 | 2023-06-14 | Deformation for path generation |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/418,050 Continuation US20260099655A1 (en) | 2023-06-14 | 2025-12-12 | Deformation for path generation |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024254781A1 true WO2024254781A1 (en) | 2024-12-19 |
Family
ID=93851091
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/100189 Ceased WO2024254781A1 (en) | 2023-06-14 | 2023-06-14 | Deformation for path generation |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20260099655A1 (en) |
| EP (1) | EP4728483A1 (en) |
| CN (1) | CN121336242A (en) |
| WO (1) | WO2024254781A1 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190026938A1 (en) * | 2017-07-18 | 2019-01-24 | Fuscoe Engineering, Inc. | Three-dimensional modeling from optical capture |
| US20200134860A1 (en) * | 2018-10-30 | 2020-04-30 | Liberty Reach Inc. | Machine Vision-Based Method and System for Measuring 3D Pose of a Part or Subassembly of Parts |
| WO2022250659A1 (en) * | 2021-05-25 | 2022-12-01 | Siemens Aktiengesellschaft | Auto-generation of path constraints for grasp stability |
| US20230173676A1 (en) * | 2021-11-19 | 2023-06-08 | Path Robotics, Inc. | Machine learning logic-based adjustment techniques for robots |
-
2023
- 2023-06-14 EP EP23941018.6A patent/EP4728483A1/en active Pending
- 2023-06-14 WO PCT/CN2023/100189 patent/WO2024254781A1/en not_active Ceased
- 2023-06-14 CN CN202380099249.XA patent/CN121336242A/en active Pending
-
2025
- 2025-12-12 US US19/418,050 patent/US20260099655A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190026938A1 (en) * | 2017-07-18 | 2019-01-24 | Fuscoe Engineering, Inc. | Three-dimensional modeling from optical capture |
| US20200134860A1 (en) * | 2018-10-30 | 2020-04-30 | Liberty Reach Inc. | Machine Vision-Based Method and System for Measuring 3D Pose of a Part or Subassembly of Parts |
| WO2022250659A1 (en) * | 2021-05-25 | 2022-12-01 | Siemens Aktiengesellschaft | Auto-generation of path constraints for grasp stability |
| US20230173676A1 (en) * | 2021-11-19 | 2023-06-08 | Path Robotics, Inc. | Machine learning logic-based adjustment techniques for robots |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4728483A1 (en) | 2026-04-22 |
| CN121336242A (en) | 2026-01-13 |
| US20260099655A1 (en) | 2026-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112907620B (en) | Camera pose estimation method and device, readable storage medium and electronic equipment | |
| JP7052788B2 (en) | Camera parameter estimation device, camera parameter estimation method, and program | |
| CN108279670B (en) | Method, apparatus and computer readable medium for adjusting point cloud data acquisition trajectory | |
| CN111739005A (en) | Image detection method, device, electronic device and storage medium | |
| JP7111183B2 (en) | Camera parameter estimation device, camera parameter estimation method, and program | |
| CN113256718A (en) | Positioning method and device, equipment and storage medium | |
| CN113361365A (en) | Positioning method and device, equipment and storage medium | |
| CN114998755A (en) | Method and device for landmark matching in remote sensing images | |
| CN113689508B (en) | Point cloud labeling method and device, storage medium and electronic equipment | |
| WO2024254781A1 (en) | Deformation for path generation | |
| CN113205090A (en) | Picture rectification method and device, electronic equipment and computer readable storage medium | |
| CN114119990A (en) | Method, apparatus and computer program product for image feature point matching | |
| CN112991179B (en) | Method, apparatus, device and storage medium for outputting information | |
| KR20230076798A (en) | Monocular camera depth estimation system and the method thereof | |
| CN112348874B (en) | Method and device for determining structural parameter representation of lane line | |
| CN117475399B (en) | Lane line fitting method, electronic equipment and readable media | |
| CN116299429A (en) | Map updating method, device, robot and electronic equipment | |
| CN113129437B (en) | Method and device for determining space coordinates of markers | |
| EP4513434A1 (en) | Spatial information prediction method and apparatus, readable storage medium, and electronic device | |
| JP2017163386A (en) | Camera parameter estimation apparatus, camera parameter estimation method, and program | |
| Kanatani et al. | Ellipse fitting | |
| CN116168442B (en) | Sample image generation method, model training method, target detection method | |
| US12493987B2 (en) | Calibration-less structured light measurement | |
| US20250029311A1 (en) | Method of rendering a two-dimensional image to a designer | |
| CN112435293B (en) | Method and device for determining structural parameter representation of lane line |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23941018 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023941018 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2023941018 Country of ref document: EP Effective date: 20260114 |
|
| ENP | Entry into the national phase |
Ref document number: 2023941018 Country of ref document: EP Effective date: 20260114 |
|
| ENP | Entry into the national phase |
Ref document number: 2023941018 Country of ref document: EP Effective date: 20260114 |
|
| ENP | Entry into the national phase |
Ref document number: 2023941018 Country of ref document: EP Effective date: 20260114 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023941018 Country of ref document: EP |