Reduction of inverse kinematic calculation time

By employing an analysis solver to generate analytical solutions for robotic arm joint parameters and using these as seed values for numerical solvers, the method addresses the slow computational issue in existing inverse kinematics solutions, achieving faster and more accurate motion planning for robotic arms.

JP2025076985APending Publication Date: 2025-05-16THE BOEING CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024119595
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-02
Filing Date
2024-07-25
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

Existing inverse kinematics solutions for robotic arms are computationally slow, especially when using parameters calibrated with manufacturing values, which hinders real-time motion planning.

Method used

A method that uses an analysis solver based on robot type design values to generate an analytical solution for joint parameters, which is then used as seed values for a numerical solver to quickly determine the joint parameters needed to position the tool center point of the robotic arm at a desired location.

Benefits of technology

This approach significantly reduces the computational time for inverse kinematics calculations while maintaining accuracy, enabling fast and precise motion planning for robotic arms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025076985000001_ABST
    Figure 2025076985000001_ABST
Patent Text Reader

Abstract

To provide inverse kinematic solving with a reduced time but a desired accuracy.SOLUTION: An analytical solver is used based on design values for a robot type in order to generate an analytical solution of joint parameters to achieve a desired location of a tool center point of the robot type, where a robotic arm has the robot type. The analytical solution of joint parameters is provided as a seed value to a numerical solver for the robotic arm of the robot type. A numerical solution is determined using the numerical solver and the seed value, the numerical solution comprising joint parameters for the robotic arm to achieve the desired location of a tool center point of the robotic arm.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates generally to inverse kinematics, and more particularly to reducing computation time for inverse kinematics of a robotic arm. [Background technology]

[0002] Motion planning for robotic arms uses inverse kinematics calculations. For meaningful use, the calculations must be fast enough to allow real-time planning. However, each robot arm has its own set of as-manufactured length values ​​for each component of each robot arm, which affects the accuracy of the calculations. Inverse kinematic solutions using parameters calibrated with as-manufactured values ​​can be orders of magnitude slower than available analytical solvers. Summary of the Invention [Problem to be solved by the invention]

[0003] It would therefore be desirable to have a method and apparatus that takes into account at least some of the above-mentioned problems, as well as other possible problems, For example, it would be desirable to provide an inverse kinematic solution with a desired degree of accuracy while still reducing the time. [Means for solving the problem]

[0004] One embodiment of the present disclosure provides a method for reducing inverse kinematics computation time for a robot arm. An analytical solver is used based on a design value for a robot type to generate an analytical solution for joint parameters to achieve a desired location of a tool center point for the robot type. The robot arm has a robot type. The analytical solution for the joint parameters is provided as a seed value to a numerical solver for the robot arm of the robot type. A numerical solution is determined using the numerical solver and the seed value, the numerical solution including joint parameters for the robot arm to achieve a desired location of the tool center point for the robot arm.

[0005] Another embodiment of the present disclosure provides a method for reducing inverse kinematics calculation time for a robotic arm. Design values ​​for robot type components are received. An analytical solver is developed using the design values. Analytical solutions for the robot type's joint parameters are generated to achieve a desired location of the tool center point for the robot type. As-manufactured values ​​for the robot arm components of the robot type are determined. The as-manufactured values ​​and the analytical solution are provided as inputs to a numerical solver. A numerical solution including the robot arm's joint parameters is generated to achieve a desired location of the tool center point.

[0006] Yet another embodiment of the present disclosure provides a method for reducing inverse kinematics calculation time for a robot arm. An analytical solution for joint parameters of a robot type is generated using an analytical model formed using designed lengths of components of the robot type to achieve a desired location of a tool center point of the robot type. As-manufactured values ​​of the components of the robot arm of the robot type are determined. The as-manufactured values ​​and the analytical solution are provided as inputs to a numerical solver. A numerical solution including joint parameters of the robot arm is generated to achieve the desired location of the tool center point. The robot arm is moved according to the numerical solution to place the tool center point of the robot arm at the desired location.

[0007] The features and functions may be achieved independently in various embodiments of the present disclosure or may be combined in yet other embodiments, further details of which can be seen with reference to the following description and drawings.

[0008] The novel features believed characteristic of the illustrative embodiments are set forth in the appended claims, however, the illustrative embodiments, as well as their preferred modes of use, further objects and features, will best be understood by reference to the following detailed description of the illustrative embodiments of the present disclosure when read in conjunction with the accompanying drawings. [Brief description of the drawings]

[0009] [Figure 1] 1 is an illustration of an aircraft in accordance with an illustrative embodiment; [Diagram 2] FIG. 1 is a block diagram of a manufacturing environment in accordance with an illustrative embodiment. [Diagram 3] FIG. 1 is an illustration of a robotic arm in a manufacturing environment in accordance with an illustrative embodiment. [Figure 4] 1 is a flowchart of a method for reducing inverse kinematics computation time for a robotic arm in accordance with an illustrative embodiment. [Diagram 5] 1 is a flowchart of a method for reducing inverse kinematics computation time for a robotic arm in accordance with an illustrative embodiment. [Figure 6] 1 is a flowchart of a method for reducing inverse kinematics computation time for a robotic arm in accordance with an illustrative embodiment. [Figure 7] 1 is an illustration of an aircraft manufacturing and service method in the form of a block diagram in accordance with an illustrative embodiment; FIG. [Figure 8] FIG. 1 is an illustration of an aircraft in the form of a block diagram in which an illustrative embodiment may be implemented; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] The illustrative examples recognize and take into account that inverse kinematics in robotics is the process of calculating the joint angles necessary to reach a desired end point. A robot arm has as-manufactured or "actual" parameters and robot variables including angles and joint lengths.

[0011] The illustrative examples provide a solver that produces calibrated inverse kinematic solutions faster than traditional numerical-only solvers while still providing a complete solution set for analytical solvers. The illustrative methods provided reduce the calibrated inverse kinematics calculation time. The implementation of the algorithms in the illustrative examples enables accurate robot motion calculations without large motion planning calculation times for scenarios such as offline planning where thousands of such calculations need to be performed.

[0012] 1 , a diagram of an aircraft is depicted in accordance with an illustrative embodiment. Aircraft 100 has wing 102 and wing 104 attached to body 106. Aircraft 100 includes engine 108 attached to wing 102 and engine 110 attached to wing 104.

[0013] The body 106 has an aft section 112. A horizontal stabilizer 114, a horizontal stabilizer 116, and a vertical stabilizer 118 are attached to the aft section 112 of the body 106.

[0014] Aircraft 100 is an example of an aircraft that may have components manufactured using robots controlled with inverse kinematics determined using the method of the illustrative example. The inverse kinematics of the illustrative example may be used to perform manufacturing operations for aircraft 100.

[0015] 2, a block diagram of a manufacturing environment is shown in accordance with an illustrative embodiment. Manufacturing environment 200 has a robotic arm 202. Robotic arm 202 is a robot type 204. Robot type 204 is a design for a robot. Robot type 204 has design values ​​205 of components 208. Robot arm 202 is a particular instance of robot type 204.

[0016] The robotic arm 202 has a tool center point 206. The tool center point 206 is the location of the robotic arm 202 for performing a manufacturing operation. The tool center point 206 may be referred to as a work location. To perform a manufacturing operation using the robotic arm 202, the tool center point 206 must be positioned at a desired location 226 within the manufacturing environment 200.

[0017] The robot arm 202 is formed by components 208. The components 208 of the robot arm 202 include parts 210 connected by joints 220. In some illustrative examples, the parts 210 may be referred to as arm segments 212. The parts 210 have designed lengths 214. The designed lengths 214 are the same as the design values ​​205 of the robot type 204. The parts 210 have manufactured lengths 216.

[0018] The as-manufactured values ​​218 of the robotic arm 202 include several manufactured lengths 216. The as-manufactured values ​​218 may also include angles of the robotic arm 202. In some illustrative examples, the as-manufactured values ​​218 may be described using Denavit-Hartenberg parameters.

[0019] The difference between some of the manufactured lengths 216 and some of the designed lengths 214 occurs due to manufacturing tolerances. Manufacturing variations cause a difference between some of the designed lengths 214 of the components 208 and some of the manufactured lengths 216 of the components 208.

[0020] In this illustrative example, the number of parts 210 includes a first part 230 and a second part 232. The first part 230 is joined to the second part 232 by a joint 234. The second part 232 is joined to the base 246 by a joint 236. The joint 234 may take the form of any desired type of joint. In some illustrative examples, the joint 234 may take the form of a linear joint, a revolute joint, or a spherical joint. The joint 236 may take the form of any desired type of joint. In some illustrative examples, the joint 236 may take the form of a linear joint, a revolute joint, or a spherical joint.

[0021] The first part 230 has a design length 238. The design length 238 is one of several designed lengths 214. The first part 230 has a manufactured length 242. The manufactured length 242 is one of several manufactured lengths 216. The difference between the design length 238 and the manufactured length 242 is the result of manufacturing variability. The difference between the design length 238 and the manufactured length 242 makes it difficult to perform inverse kinematics 248 for the robot arm 202.

[0022] The second part 232 has a design length 240. The design length 240 is one of several designed lengths 214. The second part 232 has a manufactured length 244. The manufactured length 244 is one of several manufactured lengths 216. The difference between the design length 240 and the manufactured length 244 is the result of manufacturing variability. The difference between the design length 240 and the manufactured length 244 makes it difficult to perform inverse kinematics 248 for the robot arm 202.

[0023] The robotic arm 202 may be used to perform a manufacturing operation, such as manufacturing operation 224, on a part, such as part 228. The robotic arm 202 has a tool 222 attached to a first part 230. The tool 222 is coupled to the robotic arm 202 to perform the manufacturing operation 224. The tool 222 is configured to perform the manufacturing operation 224. The tool center point 206 is a motion point generated by the tool 222. In some illustrative examples, the tool 222 is a permanent part of the robotic arm 202. In some illustrative examples, the tool 222 is removable and replaceable with another tool. Changing the tool 222 may also change the location of the tool center point 206.

[0024] An analytical solver 250 and a numerical solver 252 are used in turn to reduce the time to perform inverse kinematics 248 for the robotic arm 202. The analytical solver 250 and the numerical solver 252 are used in turn to reduce the time to determine joint parameters 268 of the robotic arm 202. The analytical solver 250 is used to reduce the time of calculations to determine seed values ​​260 to determine a numerical solution 262 in the numerical solver 252.

[0025] The analytical solver 250 may be used to form an analytical solution 254 for the joint parameters. The analytical solver 250 performs the inverse kinematics 248 for the robot arm 202 in a set amount of time. The analytical solver 250 generates the analytical solution 254 for the joint parameters of the robot arm 202 in a set amount of time. A fixed calculation time for the analytical model 256 may be advantageous. However, the analytical solution 254 for the joint parameters may be at an undesirable level of accuracy. The analytical solver 250 is a deterministic formula or algorithm. In some illustrative examples, the analytical solver 250 includes an algorithm that utilizes the kinematic model 258 as designed to generate the kinematic results.

[0026] The numerical solver 252 is more accurate than the analytical solver 250. However, the numerical solver 252 is much slower than the analytical solver 250. The numerical solver 252 includes algorithms that utilize a numerical model 266. The numerical model 266 is an as-manufactured kinematic model 264 that generates kinematic results.

[0027] To determine the joint parameters of the robot arm 202 according to an illustrative example, an analytical solver 250 determines an analytical solution 254 for the joint parameters using design values ​​205 of the robot type 204. The analytical solution 254 for the joint parameters can achieve a desired location 226 of the tool center point 206 of the robot type 204. The desired location 226 may also be referred to as a target coordinate. The target coordinate is typically specified in a global coordinate system. The coordinates may be transformed from the global coordinate system to joint coordinates during inverse kinematics 248.

[0028] The analytical solution 254 for the joint parameters is provided to the numerical solver 252 as a seed value 260. A numerical solution 262 is determined using the numerical solver 252 and the seed value 260. The numerical solution 262 includes joint parameters 268 for the robot arm 202 to achieve the desired location 226 of the tool center point 206 of the robot arm 202.

[0029] The numerical solver 252 includes an algorithm that utilizes an as-manufactured kinematic model 264. The as-manufactured kinematic model 264 is created using the as-manufactured values ​​218. The analytical solution 254 for the joint parameters provides a seed value 260 that reduces the computation time of the numerical solver 252. The seed value 260 allows the numerical solution 262 to be determined in a desired amount of time.

[0030] After determining the numerical solution 262, the robot arm 202 is moved according to the numerical solution 262 to position the tool center point 206 of the robot arm 202 at the desired location 226. A manufacturing operation 224 is then performed using a tool 222 at the tool center point 206 of the robot arm 202 after moving the robot arm 202 according to the numerical solution 262.

[0031] The illustration of manufacturing environment 200 in FIG. 2 is not meant to imply physical or architectural limitations to the manner in which an example embodiment may be implemented. Other components in addition to or in place of the illustrated components may be used. Some components may be unnecessary. Also, the blocks are presented to illustrate some functional components. One or more of these blocks may be combined, divided, or combined and divided into different blocks when implemented in an example embodiment.

[0032] For example, in some illustrative examples, some parts 210 may include more than two parts. In some illustrative examples, some parts 210 include three arm segments. In other illustrative examples, joint parameters 268 may be determined using analytical solver 250 and numerical solver 252 for a different robot type other than a robot arm.

[0033] Additionally, although analytical solver 250 has been described as generating analytical solutions 254 for the joint parameters, analytical solver 250 may generate multiple analytical solutions, which in these illustrative examples are provided to numerical solver 252 as seeds for the numerical solver 252.

[0034] The analytical solver 250 generates all possible solutions, which in this example are all different configurations of the robot arm 202 that can achieve positioning of the tool center point 206 to the desired location 226. In contrast, the numerical solver 252 generates one or fewer solutions each time the numerical solver 252 runs.

[0035] 3, an illustration of a robotic arm in a manufacturing environment is shown in accordance with an illustrative embodiment. Robotic arm 300 is a physical implementation of robotic arm 202 in FIG.

[0036] The robotic arm 300 comprises a tool center point 302. To perform a manufacturing operation on a part 320 using a tool 318, the tool center point 302 is moved to a desired location using inverse kinematics. In some illustrative examples, the desired location may be referred to as a target coordinate. Design and as-manufactured values ​​of the components of the robotic arm 300 are determined and used to determine the joint parameters of the robotic arm 300 using inverse kinematics.

[0037] The robotic arm 300 comprises a first part 304 and a second part 306. The first part 304 and the second part 306 are arm segments of the robotic arm 300. The first part 304 is joined to the second part 306 by a joint 308. The second part 306 is joined to a base 312 by a joint 310.

[0038] Robot arm 300 is a particular instance of a robot type. The robot type has design values ​​for arm segment lengths, but variations occur during manufacturing. As a result of the manufacturing variations, a first part 304 of robot arm 300 has an as-manufactured length 314. As a result of the manufacturing variations, a second part 306 of robot arm 300 has an as-manufactured length 316.

[0039] To shorten the inverse kinematics calculations for the robot arm 300, an analytical solution using the as-designed lengths of the first part 304 and the second part 306 can be provided to a numerical solver. The numerical solver uses the as-manufactured length 314, the as-manufactured length 316, and the analytical solution to determine a numerical solution in a significantly reduced amount of time.

[0040] After determining the numerical solution using the numerical solver, the numerical solution is used to move robotic arm 300 to place tool center point 302 at a desired location. After moving robotic arm 300, a manufacturing operation is performed on part 320 using tool 318. In this illustrative example, part 320 is mounted on supports 322. However, in other illustrative examples, the manufacturing operation may be performed on a larger structure, such as aircraft 100 in FIG. 1 .

[0041] Turning now to Figure 4, a flowchart of a method for reducing inverse kinematics computation time for a robotic arm is depicted in accordance with an illustrative embodiment. Method 400 may be performed to determine joint parameters of a robotic arm to perform a manufacturing operation on a portion of aircraft 100 of Figure 1. Method 400 may be performed using analytical solver 250 and numerical solver 252 of Figure 2. Method 400 may be performed to determine joint parameters using inverse kinematics for robotic arm 300 of Figure 3.

[0042] The method 400 uses an analytical solver based on design values ​​for a robot type to generate an analytical solution for joint parameters to achieve a desired location of the tool center point of the robot type, and the robot arm has a robot type (operation 402). The desired location may be referred to as a target coordinate. The method 400 provides the analytical solution for the joint parameters as a seed value to a numerical solver for the robot arm of the robot type (operation 404). The method 400 determines a numerical solution using the numerical solver and the seed value, the numerical solution including the joint parameters of the robot arm to achieve a desired location of the tool center point of the robot arm (operation 406). The method 400 then ends.

[0043] The analytical model is based on a design value of the robot type. In some illustrative examples, the method 400 generates an as-designed kinematic model using the design value of the robot type, and the analytical solver includes an algorithm that utilizes the as-designed kinematic model (operation 408).

[0044] In some illustrative examples, method 400 determines as-manufactured values ​​for components of the robotic arm (ACT 410). In some illustrative examples, the as-manufactured values ​​include several manufactured lengths of several arm segments of the robotic arm (ACT 412). In some illustrative examples, method 400 generates an as-manufactured kinematic model of the robotic arm using the as-manufactured values, and the numerical solver includes an algorithm that utilizes the as-manufactured kinematic model (ACT 414).

[0045] In some illustrative examples, the method 400 moves the robot arm according to the numerical solution to place a tool center point of the robot arm at a desired location (Operation 416). In some illustrative examples, the method 400 performs a manufacturing operation using a tool at the tool center point of the robot arm after moving the robot arm according to the numerical solution (Operation 418). In some illustrative examples, the method 400 converts the target coordinates between a global coordinate system and joint coordinates (Operation 420).

[0046] Turning now to Figure 5, a flowchart of a method for reducing inverse kinematics computation time for a robotic arm is depicted in accordance with an illustrative embodiment. Method 500 may be performed to determine joint parameters of a robotic arm to perform a manufacturing operation on a portion of aircraft 100 of Figure 1. Method 500 may be performed using analytical solver 250 and numerical solver 252 of Figure 2. Method 500 may be performed to determine joint parameters using inverse kinematics of robotic arm 300 of Figure 3.

[0047] The method 500 receives design values ​​for the robot type components (operation 502). The method 500 develops an analytical solver using the design values ​​(operation 504). The method 500 generates analytical solutions for the robot type joint parameters using the analytical solver to achieve a desired location for the tool center point for the robot type (operation 506). The method 500 determines as-manufactured values ​​for the robot arm components of the robot type (operation 508). The method 500 provides the as-manufactured values ​​and the analytical solution as inputs to a numerical solver (operation 510). The method 500 generates a numerical solution including the robot arm joint parameters to achieve a desired location for the tool center point (operation 512). The method 500 then ends.

[0048] In some illustrative examples, the as-manufactured values ​​include several manufactured lengths of several arm segments of the robot arm (operation 514). In other illustrative examples, if the robot is a type of robot other than a robotic arm, the several manufactured lengths may be of components other than the arm segments. In some illustrative examples, method 500 generates a kinematic model of the robot arm using the as-manufactured values, and the numerical solver includes an algorithm that utilizes the kinematic model (operation 516).

[0049] In some illustrative examples, method 500 moves the robot arm according to the numerical solution to place a tool center point of the robot arm at a desired location (Operation 518). In some illustrative examples, method 500 performs a manufacturing operation using a tool at the tool center point of the robot arm after moving the robot arm according to the numerical solution (Operation 520). In some illustrative examples, method 500 transforms the target coordinates between a global coordinate system and joint coordinates (Operation 522).

[0050] Turning now to Figure 6, a flowchart of a method for reducing inverse kinematics computation time for a robotic arm is shown in accordance with an illustrative embodiment. Method 600 may be performed to determine joint parameters of a robotic arm to perform a manufacturing operation on a portion of aircraft 100 of Figure 1. Method 600 may be performed using analytical solver 250 and numerical solver 252 of Figure 2. Method 600 may be performed to determine joint parameters using inverse kinematics for robotic arm 300 of Figure 3.

[0051] The method 600 generates analytical solutions for the robot type joint parameters using an analytical model formed using designed lengths of the robot type components to achieve a desired location of the tool center point of the robot type (operation 602). The method 600 determines as-manufactured values ​​of the robot arm components of the robot type (operation 604). The method 600 provides the as-manufactured values ​​and the analytical solution as inputs to a numerical solver (operation 606). The method 600 generates a numerical solution including the robot arm joint parameters to achieve the desired location of the tool center point (operation 608). The method 600 moves the robot arm according to the numerical solution to position the tool center point of the robot arm at the desired location (operation 610). The method 600 then ends.

[0052] In some illustrative examples, method 600 generates an analytical model based on design values ​​of the robot-type components, where generating an analytical solution includes generating the analytical solution with an analytical solver utilizing the analytical model (ACT 612). In some illustrative examples, the as-manufactured values ​​include several manufactured lengths of several arm segments of the robot arm (ACT 614). In some illustrative examples, method 600 generates an as-manufactured kinematic model of the robot arm using the as-manufactured values, where the numerical solver includes an algorithm utilizing the as-manufactured kinematic model (ACT 616).

[0053] In some illustrative examples, after moving the robot arm according to the numerical solution, method 600 performs a manufacturing operation using the tool at the tool center point of the robot arm (Operation 618). In some illustrative examples, method 600 transforms target coordinates between a global coordinate system and joint coordinates (Operation 620).

[0054] As used herein, the phrase "at least one of," when used in conjunction with a list of items, means that different combinations of one or more of the listed items may be used, and that only one of each item in the list may be required. For example, "at least one of item A, item B, or item C" may include, but is not limited to, item A, item A and item B, or item B. This example may also include item A, item B, and item C, or item B and item C. Of course, any combination of these items may be present. In other examples, "at least one of" may be, for example, but is not limited to, two items A, one item B, ten items C, four items B, and seven items C, or other suitable combinations, or other suitable combinations. An item may be a particular object, thing, or category. In other words, at least one of means that any combination of items and some items may be used from the list, but not all of the items in the list are required.

[0055] As used herein, "some" when used in reference to an item means one or more of the item.

[0056] The flowcharts and block diagrams in the different depicted embodiments illustrate the architecture, functionality, and operation of some possible implementations of apparatuses and methods in the illustrative embodiments. In this regard, each block in the flowcharts or block diagrams may represent at least one of a module, a segment, a function, or a portion of an operation or step.

[0057] In some alternative implementations of the exemplary embodiments, the function or functions noted in the blocks may occur out of the order noted in the figures. For example, in some cases, two blocks shown in succession may be executed substantially concurrently or may be executed in the reverse order, depending on the functionality involved. Also, other blocks may be added in addition to the blocks shown in the flowchart or block diagram. Some blocks may be optional. For example, operations 408-420 may be optional. For example, operations 514-522 may be optional. As another example, operations 612-620 may be optional.

[0058] An example embodiment of the disclosure may be described in the context of an aircraft manufacturing and service method 700 as shown in Figure 7 and an aircraft 800 as shown in Figure 8. Turning initially to Figure 7, an illustration of an aircraft manufacturing and service method in block diagram form is shown in accordance with an example embodiment. During pre-production, aircraft manufacturing and service method 700 may include specification and design 702 and material procurement 704 of aircraft 800 in Figure 8.

[0059] During production, component and subassembly manufacturing 706 and systems integration 708 of the aircraft 800 takes place. The aircraft 800 may then undergo certification and delivery 710 to be placed in service 712. While in service 712 by a customer, the aircraft 800 is scheduled for routine maintenance and service 714, which may include modification, reconfiguration, alterations, or other maintenance and service.

[0060] Each of the processes of aircraft manufacturing and service method 700 may be performed or carried out by a system integrator, a third party, and / or an operator. In these examples, the operator may be a customer. For purposes of this description, a system integrator may include, but is not limited to, any number of aircraft manufacturers and subcontractors of major systems, a third party may include, but is not limited to, any number of vendors, subcontractors, and suppliers, and an operator may be an airline, a leasing company, a military organization, a service provider, etc.

[0061] With reference now to Figure 8, an illustration of an aircraft in the form of a block diagram is shown in which an illustrative embodiment may be implemented. In this example, aircraft 800 is produced by aircraft manufacturing and service method 700 from Figure 7 and may include an airframe 802 with a number of systems 804 and an interior 806. Example systems 804 include one or more of a propulsion system 808, an electrical system 810, a hydraulic system 812, and an environmental system 814. Any number of other systems may also be included.

[0062] Apparatus and methods embodied herein may be employed during at least one stage of aircraft manufacturing and service method 700. One or more illustrative embodiments may be manufactured or used during at least one of component and subassembly manufacturing 706, system integration 708, in-service 712, or maintenance and service 714 of FIG.

[0063] The illustrative examples reduce calibrated inverse kinematics calculation times. Implementations of the illustrative examples enable accurate robot movement calculations without large motion planning calculation times for scenarios such as offline planning where thousands of such calculations need to be performed.

[0064] An illustrative example is a hybrid of analytical and numerical solvers instead of either analytical or numerical solvers. An illustrative example is faster than a numerical solver and provides all possible solutions with calibrated kinematics (allowing the motion planner to optimize for different criteria, singularities, velocities). An illustrative example commands the robot following an iterative approach to refine the endpoint location until a desired accuracy is achieved.

[0065] The result is a solver that generates calibrated inverse kinematic solutions faster than traditional numerical-only solvers while still providing a complete solution set for analytical solvers. Illustrative examples reduce calibrated inverse kinematics calculation times. Implementations of this algorithm enable accurate robot motion calculations without large motion planning calculation times for scenarios such as offline planning where thousands of such calculations need to be performed.

[0066] The description of the various exemplary embodiments is presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments in the disclosed form. Many modifications and variations will be apparent to those skilled in the art. Furthermore, different exemplary embodiments may provide different forms compared to other exemplary embodiments. The selected embodiment or embodiments have been selected and described in order to best explain the principles, practical applications of the embodiments, and to enable others skilled in the art to understand the disclosure of the various embodiments with various modifications suitable for the particular use contemplated. [Explanation of symbols]

[0067] 100 aircraft, 102 wing, 104 wing, 106 body, 108 engine, 110 engine, 112 tail section, 114 horizontal stabilizer, 116 horizontal stabilizer, 118 vertical stabilizer, 200 manufacturing environment, 202 robot arm, 204 robot type, 205 design value, 206 tool center point, 208 component, 210 parts, 212 arm segments, 214 designed lengths, 216 manufactured lengths, 218 manufactured values, 220 joints, 222 tool, 224 manufacturing operation, 226 desired location, 228 part, 230 first part, 232 second part, 234 joint, 236 joint, 238 design length, 240 design length, 242 manufactured length, 244 manufactured length, 246 base, 248 inverse kinematics, 250 analytical solver, 252 numerical solver, 254 analytical solution of joint parameters, 256 analytical model, 258 as-designed kinematic model, 260 seed value, 262 numerical solution, 264 as-manufactured kinematic model, 266 numerical model, 268 joint parameters, 300 robot arm, 302 tool center point, 304 first part, 306 second part, 308 joint, 310 joint, 312 base, 314 as-manufactured length, 316 as-manufactured length, 318 tool, 320 part, 322 support, 400 method, 402 action, 404 action, 406 action, 408 action, 410 action, 412 action, 414 action, 416 action, 418 action, 420 action, 500 method, 502 operations, 504 operations, 506 operations, 508 operations, 510 operations, 512 operations, 514 operations, 516 operations, 518 operations, 520 operations, 522 operations, 600 methods, 602 operations, 604 operations, 606 operations, 608 operations, 610 operations, 612 operations, 614 operations, 616 operations, 618 operations, 620 operations, 700 aircraft manufacturing and maintenance methods, 702 specifications and design, 704 materials procurement, 706 component and subassembly manufacturing, 708 systems integration, 710 certification and delivery, 712 in-service, 714 maintenance and overhaul, 800 aircraft, 802 airframe, 804 systems, 806 interior, 808 propulsion system, 810 electrical system, 812 Hydraulic systems, 814Environmental Systems

Claims

1. A method (400) for reducing computation time of inverse kinematics (248) for a robotic arm (202), comprising: using an analytical solver (250) based on design values ​​(205) of a robot type (204) to generate an analytical solution (254) of joint parameters to achieve a desired location (226) of a tool center point (206) of the robot type (204), the robot arm (202) having the robot type (204); providing (404) the analytical solutions (254) of the joint parameters as seed values ​​(260) to a numerical solver (252) of the robot arm (202) of the robot type (204); determining (406) a numerical solution (262) using the numerical solver (252) and the seed value (260), the numerical solution (262) including joint parameters (268) of the robot arm (202) for achieving the desired location (226) of a tool center point (206) of the robot arm (202); The method (400).

2. The method (400) of claim 1, further comprising determining (410) as-manufactured values ​​(218) of components (208) of the robotic arm (202).

3. The method (400) of claim 2, wherein the as-manufactured values ​​(218) include (412) a plurality of manufactured lengths (216) of a plurality of arm segments (212) of the robotic arm (202).

4. 3. The method (400) of claim 2, further comprising generating (414) an as-manufactured kinematic model (264) of the robotic arm (202) using the as-manufactured values ​​(218), and wherein the numerical solver (252) includes an algorithm that utilizes the as-manufactured kinematic model (264).

5. 2. The method (400) of claim 1, further comprising the step of moving (416) the robot arm (202) according to the numerical solution (262) to position the tool center point (206) of the robot arm (202) at the desired location (226).

6. 6. The method (400) of claim 5, further comprising performing (418) a manufacturing operation (224) using a tool (222) at the tool center point (206) of the robotic arm (202) after moving the robotic arm (202) according to the numerical solution (262).

7. 2. The method (400) of claim 1, further comprising generating (408) an as-designed kinematic model (258) using the design values ​​(205) of the robot type (204), and wherein the analysis solver (250) includes an algorithm that utilizes the as-designed kinematic model (258).

8. The method (400) of claim 1, wherein determining the numerical solution (262) comprises transforming (420) target coordinates between a global coordinate system and joint coordinates.

9. A method (500) for reducing computation time of inverse kinematics (248) for a robotic arm (202), comprising: receiving (502) design values ​​(205) of components (208) of a robot type (204); developing (504) an analysis solver (250) using the design values ​​(205); generating (506) an analytical solution (254) for joint parameters of the robot type (204) using the analytical solver (250) to achieve a desired location (226) of a tool center point (206) of the robot type (204); determining (508) as-manufactured values ​​(218) of the components (208) of the robot arm (202) of the robot type (204); providing (510) the as-manufactured values ​​(218) and the analytical solution (254) as inputs to a numerical solver (252); generating (512) a numerical solution (262) including joint parameters (268) of the robot arm (202) to achieve the desired location (226) of the tool center point (206); The method (500).

10. moving (518) the robot arm (202) according to the numerical solution (262) to position the tool center point (206) of the robot arm (202) at the desired location (226); 10. The method (500) of claim 9.

11. performing (520) a manufacturing operation (224) using a tool (222) at the tool center point (206) of the robot arm (202) after moving the robot arm (202) according to the numerical solution (262); 11. The method (500) of claim 10.

12. (514) The method (500) of claim 9, wherein the as-manufactured values ​​(218) include a plurality of manufactured lengths (216) of a plurality of arm segments (212) of the robotic arm (202).

13. (522) The method (500) of claim 9, wherein determining the numerical solution (262) includes converting target coordinates between a global coordinate system and joint coordinates.

14. 10. The method (500) of claim 9, further comprising generating (516) a kinematic model of the robot arm (202) using the as-manufactured values ​​(218), wherein the numerical solver (252) includes an algorithm that utilizes the kinematic model.

15. A method (600) for reducing computation time of inverse kinematics (248) for a robotic arm (202), comprising: generating (602) analytical solutions (254) for joint parameters of a robot type (204) using an analytical model formed using designed lengths of components (208) of the robot type (204) to achieve a desired location (226) of a tool center point (206) of the robot type (204); determining (604) as-manufactured values ​​(218) of the components (208) of the robot arm (202) of the robot type (204); providing (606) the as-manufactured values ​​(218) and the analytical solution (254) as inputs to a numerical solver (252); generating (608) a numerical solution (262) including joint parameters (268) of the robot arm (202) using the numerical solver (252) to achieve the desired location (226) of the tool center point (206); moving (610) the robot arm (202) according to the numerical solution (262) to position the tool center point (206) of the robot arm (202) at the desired location (226); The method (600).

16. 20. The method (600) of claim 15, further comprising performing (618) a manufacturing operation (224) using a tool (222) at the tool center point (206) of the robotic arm (202) after moving the robotic arm (202) according to the numerical solution (262).

17. 16. The method (600) of claim 15, wherein the as-manufactured values ​​(218) include (614) a plurality of manufactured lengths (216) of a plurality of arm segments (212) of the robotic arm (202).

18. 16. The method (600) of claim 15, further comprising generating (616) an as-manufactured kinematic model (264) of the robotic arm (202) using the as-manufactured values ​​(218), wherein the numerical solver (252) includes an algorithm that utilizes the as-manufactured kinematic model (264).

19. 20. The method (600) of claim 15, further comprising: generating (612) an analytical model based on design values ​​(205) of the components (208) of the robot type (204), and wherein generating the analytical solution (254) comprises generating the analytical solution (254) by an analytical solver (250) utilizing the analytical model.

20. (620) The method (600) of claim 15, wherein generating the numerical solution (262) comprises converting target coordinates between a global coordinate system and joint coordinates.