System, device, and method for constructing a robotic device
A single-level nonlinear program with a regularization function optimizes actuator selection and configuration for robotic devices, addressing inefficiencies in existing methods by reducing the number of actuators and enhancing computational efficiency.
Patent Information
- Application Number
- PCT/US2025/025061
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-18
- Filing Date
- 2025-04-17
- Publication Date
- 2025-10-23
AI Technical Summary
Existing robotic design methods face challenges in efficiently selecting and configuring actuators to perform specific tasks due to the complexity of actuator type and placement, leading to inefficient use of hardware resources and computational power.
A method involving a single-level nonlinear program with a regularization function is used to determine a constraint-satisfying selection and configuration of actuators, optimizing actuator placement and control trajectories in a single optimization loop, thereby reducing the number of actuators required and minimizing control effort.
This approach enables efficient actuator selection and configuration, reducing the number of actuators needed and optimizing control algorithms, resulting in a more efficient use of hardware resources and computational power.
Smart Images

Figure US2025025061_23102025_PF_FP_ABST
Abstract
Description
Attorney Docket No.08993-2500864 SYSTEM, DEVICE, AND METHOD FOR CONSTRUCTING A ROBOTIC DEVICE CROSS REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of United States Provisional Patent Application No. 63 / 635,959 filed on April 18, 2024, the disclosure of which is hereby incorporated by reference in its entirety. GOVERNMENT RIGHTS NOTICE
[0002] This invention was made with government support under 80NSSC21K0446 awarded by National Aeronautics and Space Administration (NASA). The government has certain rights in the invention. BACKGROUND 1. Field
[0003] This disclosure relates generally to robotics and, in non-limiting embodiments, to systems, devices, and methods for constructing a robotic device with actuator selection and configuration. 2. Technical Considerations
[0004] Nature provides many examples of physical structures adapted to perform a behavior efficiently. For instance, humans can swim long distances, but are much slower than dolphins. Similarly, the design of a robotic system significantly influences its ability to complete tasks. From a designer’s perspective, creating a robot to perform a specific task requires significant effort and many iterations to select, configure, and place actuators. From the control engineer’s perspective, significant effort is applied to enable the robot to achieve a task (e.g., a backflip, picking up an object, jumping, etc.) while operating within the constraints of the selected actuators. Within the robotics community, the type and placement of actuators are essential factors in robot design across various applications and tasks, from soft robot locomotion to maneuvering continuum robots and resource-constrained robot control. SUMMARY
[0005] According to non-limiting embodiments or aspects, provided is a method comprising: executing a single-level nonlinear program configured to determine a constraint- satisfying selection and configuration of actuators on at least one robotic device for at least one task associated with state trajectories over a plurality of timesteps, the at least one robotic device associated with robot design data comprising a plurality of actuators; and applying a regularization function within the single-level nonlinear program to the robot design data to 63G2136.DOCX Page 1 of 23Attorney Docket No.08993-2500864 select a subset of actuators from the plurality of actuators that satisfy constraints of the at least one task, the regularization function configured to exclude actuators of the plurality of actuators over the plurality of time steps.
[0006] In non-limiting embodiments or aspects, the method further includes constructing the at least one robotic device by arranging the plurality of actuators based on the constraint- satisfying selection and configuration of actuators. In non-limiting embodiments or aspects, the method further includes: generating an actuator-selection vector representing the plurality of actuators, the vector identifying the subset of actuators from the plurality of actuators. In non-limiting embodiments or aspects, applying the regularization function comprises assigning binary values to the actuator-selection vector, wherein a first binary value represents an actuator of the subset of actuators and a second binary value represents an actuator that is not part of the subset. In non-limiting embodiments or aspects, the regularization function is configured to exclude the actuators by nullifying the actuators at all time steps of the plurality of timesteps associated with the corresponding state trajectories, and the subset of actuators are represented by a non-null value in the actuator-selection vector. In non-limiting embodiments or aspects, determining the constraint-satisfying configuration of the subset of actuators on the at least one robotic device is based on projecting continuous values for each actuator of the subset of actuators onto a binary vector. In non-limiting embodiments or aspects, the robot design data comprises an arrangement of actuators and a type of actuator for each actuator in the arrangement. In non-limiting embodiments or aspects, the robot design data further comprises a power or force parameter for each actuator in the arrangement. In non-limiting embodiments or aspects, the at least one robotic device comprises a plurality of robotic devices, and the selection and configuration of the actuators on the plurality of robotic devices comprises a selection and configuration of actuators on the plurality of robotic devices to jointly perform the task. In non-limiting embodiments or aspects, the single-level nonlinear program comprises a control variable, a binary actuator selection variable, an actuator position variable, and a state variable, and the binary actuator selection variable comprises a continuous relaxation of an integer value.
[0007] According to non-limiting embodiments or aspects, provided is a system comprising at least one computing device configured to: execute a single-level nonlinear program configured to determine a constraint-satisfying selection and configuration of actuators on at least one robotic device for at least one task associated with state trajectories over a plurality of timesteps, the at least one robotic device associated with robot design data 63G2136.DOCX Page 2 of 23Attorney Docket No.08993-2500864 comprising a plurality of actuators; and apply a regularization function within the single-level nonlinear program to the robot design data to select a subset of actuators from the plurality of actuators that satisfy constraints of the at least one task, the regularization function configured to exclude actuators of the plurality of actuators over the plurality of time steps.
[0008] In non-limiting embodiments or aspects, the at least one computing device is further configured to construct the at least one robotic device by arranging the plurality of actuators based on the constraint-satisfying selection and configuration of actuators. In non- limiting embodiments or aspects, the at least one computing device is further configured to: generating an actuator-selection vector representing the plurality of actuators, the vector identifying the subset of actuators from the plurality of actuators. In non-limiting embodiments or aspects, wherein applying the regularization function comprises assigning binary values to the actuator-selection vector, wherein a first binary value represents an actuator of the subset of actuators and a second binary value represents an actuator that is not part of the subset. In non-limiting embodiments or aspects, the regularization function is configured to exclude the actuators by nullifying the actuators at all time steps of the plurality of timesteps associated with the corresponding state trajectories, and the subset of actuators are represented by a non-null value in the actuator-selection vector. In non-limiting embodiments or aspects, wherein determining the constraint-satisfying configuration of the subset of actuators on the at least one robotic device is based on projecting continuous values for each actuator of the subset of actuators onto a binary vector. In non-limiting embodiments or aspects, the robot design data comprises an arrangement of actuators and a type of actuator for each actuator in the arrangement. In non-limiting embodiments or aspects, the robot design data further comprises a power or force parameter for each actuator in the arrangement. In non-limiting embodiments or aspects, the at least one robotic device comprises a plurality of robotic devices, and the selection and configuration of the actuators on the plurality of robotic devices comprises a selection and configuration of actuators on the plurality of robotic devices to jointly perform the task.
[0009] According to non-limiting embodiments or aspects, provided is a computer program product comprising a non-transitory computer-readable medium including program instructions that, when executed by at least one computing device, cause the computing device to: execute a single-level nonlinear program configured to determine a constraint- satisfying selection and configuration of actuators on at least one robotic device for at least one task associated with state trajectories over a plurality of timesteps, the at least one robotic device associated with robot design data comprising a plurality of actuators; and apply a 63G2136.DOCX Page 3 of 23Attorney Docket No.08993-2500864 regularization function within the single-level nonlinear program to the robot design data to select a subset of actuators from the plurality of actuators that satisfy constraints of the at least one task, the regularization function configured to exclude actuators of the plurality of actuators over the plurality of time steps.
[0010] Other preferred and non-limiting embodiments or aspects of the present invention will be set forth in the following numbered clauses:
[0011] Clause 1: A method comprising: executing a single-level nonlinear program configured to determine a constraint-satisfying selection and configuration of actuators on at least one robotic device for at least one task associated with state trajectories over a plurality of timesteps, the at least one robotic device associated with robot design data comprising a plurality of actuators; and applying a regularization function within the single-level nonlinear program to the robot design data to select a subset of actuators from the plurality of actuators that satisfy constraints of the at least one task, the regularization function configured to exclude actuators of the plurality of actuators over the plurality of time steps.
[0012] Clause 2: The method of clause 1, further comprising constructing the at least one robotic device by arranging the plurality of actuators based on the constraint-satisfying selection and configuration of actuators.
[0013] Clause 3: The method of any of clauses 1-2, further comprising: generating an actuator-selection vector representing the plurality of actuators, the vector identifying the subset of actuators from the plurality of actuators.
[0014] Clause 4: The method of any of clauses 1-3, wherein applying the regularization function comprises assigning binary values to the actuator-selection vector, wherein a first binary value represents an actuator of the subset of actuators and a second binary value represents an actuator that is not part of the subset.
[0015] Clause 5: The method of any of clauses 1-4, wherein the regularization function is configured to exclude the actuators by nullifying the actuators at all time steps of the plurality of timesteps associated with the corresponding state trajectories, and wherein the subset of actuators are represented by a non-null value in the actuator-selection vector.
[0016] Clause 6: The method of any of clauses 1-5, wherein determining the constraint- satisfying configuration of the subset of actuators on the at least one robotic device is based on projecting continuous values for each actuator of the subset of actuators onto a binary vector. 63G2136.DOCX Page 4 of 23Attorney Docket No.08993-2500864
[0017] Clause 7: The method of any of clauses 1-6, wherein the robot design data comprises an arrangement of actuators and a type of actuator for each actuator in the arrangement.
[0018] Clause 8: The method of any of clauses 1-7, wherein the robot design data further comprises a power or force parameter for each actuator in the arrangement.
[0019] Clause 9: The method of any of clauses 1-8, wherein the at least one robotic device comprises a plurality of robotic devices, and wherein the selection and configuration of the actuators on the plurality of robotic devices comprises a selection and configuration of actuators on the plurality of robotic devices to jointly perform the task.
[0020] Clause 10: The method of any of clauses 1-9, wherein the single-level nonlinear program comprises a control variable, a binary actuator selection variable, an actuator position variable, and a state variable, and wherein the binary actuator selection variable comprises a continuous relaxation of an integer value.
[0021] Clause 11: A system comprising at least one computing device configured to: execute a single-level nonlinear program configured to determine a constraint-satisfying selection and configuration of actuators on at least one robotic device for at least one task associated with state trajectories over a plurality of timesteps, the at least one robotic device associated with robot design data comprising a plurality of actuators; and apply a regularization function within the single-level nonlinear program to the robot design data to select a subset of actuators from the plurality of actuators that satisfy constraints of the at least one task, the regularization function configured to exclude actuators of the plurality of actuators over the plurality of time steps.
[0022] Clause 12: The system of clause 11, wherein the at least one computing device is further configured to construct the at least one robotic device by arranging the plurality of actuators based on the constraint-satisfying selection and configuration of actuators.
[0023] Clause 13: The system of any of clauses 11-12, wherein the at least one computing device is further configured to: generating an actuator-selection vector representing the plurality of actuators, the vector identifying the subset of actuators from the plurality of actuators.
[0024] Clause 14: The system of any of clauses 11-13, wherein applying the regularization function comprises assigning binary values to the actuator-selection vector, wherein a first binary value represents an actuator of the subset of actuators and a second binary value represents an actuator that is not part of the subset. 63G2136.DOCX Page 5 of 23Attorney Docket No.08993-2500864
[0025] Clause 15: The system of any of clauses 11-14, wherein the regularization function is configured to exclude the actuators by nullifying the actuators at all time steps of the plurality of timesteps associated with the corresponding state trajectories, and wherein the subset of actuators are represented by a non-null value in the actuator-selection vector.
[0026] Clause 16: The system of any of clauses 11-15, wherein determining the constraint-satisfying configuration of the subset of actuators on the at least one robotic device is based on projecting continuous values for each actuator of the subset of actuators onto a binary vector.
[0027] Clause 17: The system of any of clauses 11-16, wherein the robot design data comprises an arrangement of actuators and a type of actuator for each actuator in the arrangement.
[0028] Clause 18: The system of any of clauses 11-17, wherein the robot design data further comprises a power or force parameter for each actuator in the arrangement.
[0029] Clause 19: The system of any of clauses 11-18, wherein the at least one robotic device comprises a plurality of robotic devices, and wherein the selection and configuration of the actuators on the plurality of robotic devices comprises a selection and configuration of actuators on the plurality of robotic devices to jointly perform the task.
[0030] Clause 20: A computer program product comprising a non-transitory computer- readable medium including program instructions that, when executed by at least one computing device, cause the computing device to: execute a single-level nonlinear program configured to determine a constraint-satisfying selection and configuration of actuators on at least one robotic device for at least one task associated with state trajectories over a plurality of timesteps, the at least one robotic device associated with robot design data comprising a plurality of actuators; and apply a regularization function within the single-level nonlinear program to the robot design data to select a subset of actuators from the plurality of actuators that satisfy constraints of the at least one task, the regularization function configured to exclude actuators of the plurality of actuators over the plurality of time steps.
[0031] These and other features and characteristics of the present disclosure, as well as the methods of operation and functions of the related elements of structures and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly 63G2136.DOCX Page 6 of 23Attorney Docket No.08993-2500864 understood, however, that the drawings are for the purpose of illustration and description only and are not intended as a definition of the limits of the invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Additional advantages and details are explained in greater detail below with reference to the non-limiting, exemplary embodiments that are illustrated in the accompanying figures shown in the separate attachment, in which:
[0033] FIG. 1 illustrates a schematic diagram of a system for constructing a robotic device according to non-limiting embodiments or aspects;
[0034] FIG. 2 illustrates a flow diagram of a method for constructing a robotic device according to non-limiting embodiments or aspects; and
[0035] FIG. 3 illustrates a schematic diagram of components used in non-limiting embodiments or aspects. DETAILED DESCRIPTION
[0036] It is to be understood that the embodiments may assume various alternative variations and step sequences, except where expressly specified to the contrary. It is also to be understood that the specific devices and processes described in the following specification are simply exemplary embodiments or aspects of the disclosure. Hence, specific dimensions and other physical characteristics related to the embodiments or aspects disclosed herein are not to be considered as limiting. No aspect, component, element, structure, act, step, function, instruction, and / or the like used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more” and “at least one.” Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based at least partially on” unless explicitly stated otherwise.
[0037] As used herein, the terms “communication” and “communicate” refer to the receipt or transfer of one or more signals, messages, commands, or other type of data. For one unit (e.g., any device, system, or component thereof) to be in communication with another unit means that the one unit is able to directly or indirectly receive data from and / or transmit data to the other unit. This may refer to a direct or indirect connection that is wired and / or wireless in nature. Additionally, two units may be in communication with each other even though the data transmitted may be modified, processed, relayed, and / or routed between the first and second unit. For example, a first unit may be in communication with a second 63G2136.DOCX Page 7 of 23Attorney Docket No.08993-2500864 unit even though the first unit passively receives data and does not actively transmit data to the second unit. As another example, a first unit may be in communication with a second unit if an intermediary unit processes data from one unit and transmits processed data to the second unit. It will be appreciated that numerous other arrangements are possible.
[0038] As used herein, the terms “processor” or “computing device” may refer to one or more electronic devices configured to process data. A processor and / or computing device may include, for example, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), a microprocessor, a controller, and / or any other computational device capable of executing logic. A “computer readable medium” may refer to one or more memory devices or other non-transitory storage mechanisms capable of storing compiled or non-compiled program instructions for execution by one or more processors. Reference to “a processor” or “a computing device” as used herein, may refer to a previously-recited computing device and / or processor that is recited as performing a previous step or function, a different server and / or processor, and / or a combination of computing devices and / or processors. For example, as used in the specification and the claims, a first computing device and / or a first processor that is recited as performing a first step or function may refer to the same or different computing device and / or a processor recited as performing a second step or function.
[0039] This disclosure relates generally to linear, nonlinear, and mixed-integer programming, along with the branch-and-bound method of solving programs. Smooth nonlinear programs (NLPs) can be expressed in the following standard form, min^i,m^ ize ℓ^^, ^^ ^1^^subject to ^ ^^, ^^ = ^, ^1^^^^^, ^^ ≥ ^, ^1^^
[0040] where, ^ ∈ ℝ^ and ^ ∈ ℝ are decision variables, ℓ^·^ is a scalar-valuedobjective function, and ^^·^and ^^·^are equality and inequality constraints, respectively. Functions may be assumed to be at least twice continuously differentiable. In problemsknown as linear programs (LP), ℓ^·^, ^ ^·^, and ^^·^ are linear functions. If ℓ^·^is quadraticand both ^^·^and ^^·^are linear, the problem is called a quadratic program (QP). In both linear and quadratic programs, locally optimal solutions satisfy the Karush-Kuhn-Tucker (KKT) conditions (first-order necessary conditions). 63G2136.DOCX Page 8 of 23Attorney Docket No.08993-2500864
[0041] A mixed-integer nonlinear program (MINLP) adds the constraint, ^∈ $0,1& ^2^
[0042] where the y variables are constrained to take on integer values. Without loss ofgenerality, binary constraints ^ ∈ $0,1& are considered. Similar to the continuous variablecase, if ℓ^·^, ^ ^·^and ^^·^, are all linear functions, the problem is known as a mixed-integerlinear program (MILP), with mixed-integer quadratic programs (MIQP) defined similarly.
[0043] Mixed-integer programs are NP-hard in general, and their computational complexity grows combinatorically in the problem size. The branch-and-bound method is a prevalent technique for solving mixed-integer programs. In its basic form, branch and bound first relaxes the binary constraints, known as a continuous relaxation, then solves the relaxedproblem to optimality. The solution to this subproblem returns (^^)^, ^^)^* where + is thesubproblem index. If all values of ,happen to take on values of 0 or 1, then the solution isalso an optimal solution to the original MIP. If this is not the case, the problem is branchedinto two new problems for each element ,^)^- ∉ $0,1&; one with the additional constraint ,- =0 and the other with the additional constraint ,- = 1. The new subproblems are solved andthe branching continues until all values in the solution satisfy the original problem constraints. If a feasible solution is found, its objective value is used to prune branches that have relaxed solutions with higher objective values, as these branches cannot yield a better solution than the one already found.
[0044] In non-limiting embodiments, a system and method for constructing at least one robotic device includes selecting actuators, including the arrangement and configuration of such actuators, and a control algorithm for optimizing (e.g., identifying a constraint-satisfying arrangement) a task associated with a trajectory performed by at least one robotic device. Non-limiting embodiments provide for a computationally efficient process for determining a constraint-satisfying arrangement and configuration of actuators and control trajectories and algorithms. By using a regularization function within a single level nonlinear program, a sparse set of actuators can be used across multiple timesteps associated with a task having one or more trajectories of the one or more robotic devices. Non-limiting embodiments permit an operator to minimize the number of actuators used during construction of a physical robotic device and the complexity of the control algorithm, thereby resulting in an efficient use of hardware resources and computational power.
[0045] Non-limiting embodiments may provide actuator selections from a set of options as discrete choices that expand the design space combinatorically as the number of actuators 63G2136.DOCX Page 9 of 23Attorney Docket No.08993-2500864 considered grows. This improves upon existing approaches in which design and control optimization are performed in separate sequential loops, resulting in inefficient evaluation of intermediate designs. The use of direct collocation (DIRCOL) as an optimal and / or constraint-satisfying control method to determine open-loop control trajectories minimize a cost function while adhering to dynamics and actuator constraints. DIRCOL may optimize state and control variables simultaneously, making it well-suited for handling complex nonlinear dynamics. A unique feature of DIRCOL is that intermediate iterations in the optimization loop do not need to be dynamically feasible; only the final result is required to satisfy all constraints. Including parameters like actuator type and position as decision variables in DIRCOL can mitigate the costly evaluation of intermediate designs. Applying these parameters in a DIRCOL formulation and solving the joint problem of actuator selection and control optimization leads to an MINLP, which is NP-hard. This makes it computationally impractical to find globally optimal solutions in most cases. Thus, designing efficient algorithms that can quickly find feasible sub-optimal solutions while scaling to large problems is a crucial area of research in robotics.
[0046] In non-limiting embodiments, a nonlinear programming-based optimization algorithm is provided to improve the results and efficiency of existing approaches or robotic design. Non-limiting embodiments jointly optimizes the number, type, and placement of actuators on one or more robotic devices, along with corresponding control trajectories. By optimizing over all control and design parameters in a single computationally tractable nonlinear program, non-limiting embodiments may be scaled to complex, high-dimensional, and large systems that existing methods cannot solve efficiently.
[0047] Non-limiting embodiments described herein solve a relaxed version of the joint actuator placement and control problem by framing actuator placement and control trajectory optimization in a single optimization loop using direct collocation. Non-limiting embodiments involve parameterizing the actuator placement variables as continuous variables, allowing for tractable optimization. The solution may then be projected onto the actuator design space to recover a feasible actuator placement, type, and configuration. Non- limiting embodiments determine the optimal type, location, and number of actuators a robotic device needs to track a specified trajectory while minimizing control effort. In test experiments, non-limiting embodiments achieved actuator configurations that reduce the total number of actuators on a robotic device compared to other methods.
[0048] Referring to FIG. 1, shown is a system 1000 for constructing a robotic device according to non-limiting embodiments or aspects. An actuator optimization engine 100 may 63G2136.DOCX Page 10 of 23Attorney Docket No.08993-2500864 include one or more computing devices. The actuator optimization engine 100 may be in communication with one or more databases including robot design data 102. The databases may be local or remote to the actuator optimization engine 100. In some examples, the robot design data 102 is specified by a user through a client computing device 101. In some examples, the actuator optimization engine 100 may be executed by the client computing device 101. In some examples, the actuator optimization engine 100 may be executed by one or more server computers as a service.
[0049] In some non-limiting embodiments, the robot design data 102 may include a dense set of actuators identified by actuator type (e.g., thrusters, reaction wheels, propellors, and / or the like) within specified control volumes (to prevent overlapping actuators) for a particular task. Each task may be viewed as a problem with several constraints including, for example, a trajectory 104 of the task, a dynamics model 106 of the robotic device that defines how the actuators interact with the device and thrust constraints 108 (and / or other actuator-based constraint parameters) of each thruster. The parameters shown in FIG. 1 are for example purposes only. It will be appreciated that various other parameters and / or constraints may be provided in the robot design data 102.
[0050] With continued reference to FIG. 1, the actuator optimization engine 100 generates output data 110 including a selection and configuration of actuators for a specified task. The output 110 data is provided for all actuators in the design of the robot, projected from a sparse set of actuators used for determining the optimal and / or constraint-satisfying arrangement and configuration. A configuration of an actuator may indicate an actuator type, a force or power, and / or other like actuator parameters. The output data 110 is then used by an operator to construct the robotic device by, for example, arranging actuators and / or adjusting actuators on a robotic device and configuring such actuators.
[0051] The number and arrangement of systems and devices shown in FIG. 1 are provided as an example. There may be additional systems and / or devices, fewer systems and / or devices, different systems and / or devices, and / or differently arranged systems and / or devices than those shown in FIG. 1.
[0052] Referring now to FIG. 2, shown is a flow diagram for a method for constructing a robotic device according to some non-limiting embodiments or aspects. The steps shown in FIG. 2 are for example purposes only. It will be appreciated that additional, fewer, different, and / or a different order of steps may be used in some non-limiting embodiments or aspects. In some non-limiting embodiments or aspects, a step may be automatically performed in response to performance and / or completion of a prior step. 63G2136.DOCX Page 11 of 23Attorney Docket No.08993-2500864
[0053] At a first step 200, robot design data 102 is generated by, for example, being specified by a user through a client computing device, being retrieved from one or more databases, being derived from one or more specifications, and / or the like. The robot design data may be a dense set of actuator types (e.g., thrusters, reaction wheels, propellors, and / or the like) within specified control volumes (to prevent overlapping actuators) for a particular robotic device and associated task.
[0054] At step 202, a single-level nonlinear program is executed to select the type and configuration of actuators for a task having a trajectory associated with multiple timesteps. For example, a robotic arm picking up an object may have a trajectory associated with an elbow joint, a wrist joint, and / or a hand / gripper, as an example, where each is associated with one or more actuators. At step 204, a regularization function is applied to an actuator selection parameter within the non-linear program. It will be appreciated that step 204 may be performed with step 202, such that the regularization function is applied within the nonlinear program. The result of steps 202 and 204 is an output including a selection, position, and configuration of actuators that are used by an operator to construct one or more robotic devices at step 206. For example, a human operator may physically arrange and configure the actuators on a robotic device in accordance with the output. In some examples, a robotic operator may arrange and / or configure the actuators.
[0055] In non-limiting embodiments, the DIRCOL formulation may be modified according to the following equations: m^ inimize ℓ^^6, 36^ ^4a^0:2,30:245subject to ^ ^^685, ^6, 36^ = ^ ∀:, ^4b^^^^6, 36^ ≥ ^ ∀: ^4c^
[0056] where xkis the discrete-time device state, including the position, orientation, and velocity of the device, and ukis the discrete-time control input describing the external force or moment being applied to the device. The DIRCOL formulation may be extended from the above equations to include additional actuator design parameters, including time-invariant actuator selection vector β and a time-invariant continuous actuator position variable r as follows:
[0057] In this equation, β is a binary actuator-selection vector where the index value describes the existence of an actuator, and r specifies the position of the actuators on the robotic device. For 63G2136.DOCX Page 12 of 23Attorney Docket No.08993-2500864 example, β may include a set of thrusters and reaction wheels of various specifications to be considered for a spacecraft design where β [1] is an ion thruster and r[1] = (x1, y1, z1)β is the position of the thruster in the body frame. In this example, if β [1] = 1, there is an ion thruster at r[1] = (x, y, z)β, and if β [1] = 0, the ion thruster is not added to the robotic device.
[0058] Non-limiting embodiments seek to determine an actuator configuration that enables the robot to best track a user-specified reference motion (e.g., a task-specific trajectory) in the presence of disturbances. This problem can be formulated as the following MINLP: ^minimize ℓ^^ , ^ ^ ^:2, 6 36, ;, @6a0 30:245,;.Fsubject
[0059] In the above equations, xkis the discrete-time system state,is the control input vector, N is the total number of knot points (which is task dependent), β is the binary vector of variables that specifies active actuator configuration, and r is the vector of actuator positions. As used herein, a “knot point” refers to a sample of a trajectory having a state, control, and time from a plurality of time steps. In this program ℓ(·) is the objective function related to trajectory tracking, control minimization, and actuator reduction, f (·) is the nonlinear discrete- time dynamics function, and g(·) are additional task-specific inequality constraints, such as thrust limits and actuator position limitations. The operator ⊙ seen in Equation (6b) denotes an element-wise multiplication (Hadamard product) coupling the actuator selector vector, β , and the control input, uk. To avoid overfitting the robot actuator configuration, β, to a specific initial condition x1, the set of all possible initial conditions, X1, is included in Equation (6).
[0060] In non-limiting embodiments, the complete problem identified in Equation (6) may be transformed into a formulation that scales well for large-scale problems.
[0061] In non-limiting embodiments, the algorithm provides a single-level optimization formulation that finds feasible solutions to the MINLP shown in Equation (6). Non-limiting embodiments are designed to support high-dimensional robot-design problems when the size of β increases, thus considering a large number of potential actuators. This may be achieved by relaxing the binary actuator-selection vector, β, including an L1 regularization on β, and sampling and solving over a finite number of trajectories from the set of initial conditions X1to ensure solutions are valid over a wide range of the state space. 63G2136.DOCX Page 13 of 23Attorney Docket No.08993-2500864
[0062] In non-limiting embodiments, a continuous relaxation is performed to transform the constraint (6d) into an inequality, such that: 0 ≤ β ≤ 1 (7) which transforms Equation (6) into a continuous NLP that can be solved efficiently for very high dimensional problems. This allows for the optimization of all actuator weights in a continuous space.
[0063] However, having a β vector with many non-zero values (due to the continuous nature of the values) does not support a parsimonious actuator configuration. Therefore, in non-limiting embodiments, to determine a subset of actuators (e.g., a sparse set of actuators) an L1 regularization function may be applied to β. The regularization function identifies the most useful actuators (e.g., the actuators that materially contribute and / or contribute to a level satisfying a threshold to reduce trajectory error or control effort) as the sparse set of actuators and nullifies the others to zero (0).
[0064] Applying regularization, the objective function in Equation (6a) may be modified as follows: ℓ(x, u, β , r) + α|β |1 (8)
[0065] Because β is time-invariant, the regularization function nullifies an actuator at all time steps across an entire trajectory, as opposed to applying regularization directly to the control inputs which would only nullify the control of such an actuator at specific time instances. The inclusion of additional decision variables β effectively decouples the actuator selection from the control optimization problem. The parameter α may be determined by tuning between multiple trials for each problem to find a balanced regularization term.
[0066] Non-limiting embodiments optimize over a set of sampled initial conditions and resulting state trajectories to provide a robust actuator configuration. Samples may be drawn from a normal distribution:
[0067] This approach provides robustness against disturbances, such as wind and other environmental conditions. The covariance Σ may be selected based on the expected or desired amount of disturbance the robot should recover from. While sampling introduces more decision variables, the problem structure remains sparse, thereby facilitating efficient solutions. Further, since multiple control trajectory samples are being solved for, a feedback 63G2136.DOCX Page 14 of 23Attorney Docket No.08993-2500864 control policy u = πθ (x) may be recovered from these samples using, for example, regression techniques and / or supervised learning with a neural network function approximator.
[0068] In non-limiting embodiments, the NLP may be a sparse and computationally tractable relaxed single-level NLP as follows:
[0069] where x(1:I)2:Nis I instances of the robot state trajectory consisting of N knot points and u(1:I)2:N-1 is I instances of the robot control trajectory consisting of N knot points. In this example there is only one instance of β and r as they are invariant across all trajectories and time instances.
[0070] In non-limiting embodiments, after finding a solution to the NLP in Equation (10), the solution may be projected onto the feasible set of the original MINLP from Equation (6). The solution to β, due to the L1 regularization, may include values that are either zero or non- zero. Since the β and u terms are coupled in the constraints, the control trajectories u may be updated as follows:
[0071] where u˜ denotes the final, projected control values. For the terms where β is zero, the u terms will be zero for all time steps and instances. The projection always makes u˜ ≤ u; however, zero is included in the feasible control range. After projecting the control values, the β terms may be projected onto the binary constraint through the following operation: ∀1:h ^12^
[0072] where β˜ denotes the final binary actuator-selector vector. Due to floating point numerics, a small threshold (e.g., 1e-8) may be used to apply the final β projection. In non- limiting embodiments the value of β may always be rounded up.
[0073] In non-limiting embodiments, domain randomization may be used to make the selection and configuration of actuators more robust and capable of withstanding disturbances. This may involve initializing the robotic device (e.g., as a dynamic model) in a variety of different conditions and ensure that the different systems converge to the target 63G2136.DOCX Page 15 of 23Attorney Docket No.08993-2500864 condition. The sparsity of the actuators permit such domain randomization efforts while still efficiently using computing resources.
[0074] The systems and methods described herein may be used on a variety of different robotic devices. In some examples, the methods may be applied to multiple separate robotic devices that work jointly to complete a task, such as robotic arms, such that actuators are selected, positioned, and configured across the multiple devices. In some examples, non- limiting embodiments may be applied to flexible devices used in spacecraft, such as but not limited to those described in PCT App. No. PCT / US2024 / 047458 entitled Extension Devices, including thrusters and reaction wheels for stabilizing the same. For example, a flexible structure rotating in space may experience structural vibration, from springs and dampers for example, resulting in a multi- Degree of Freedom (DoF) system that is difficult to stabilize. The placement of thrusters and reaction wheels on such devices, for example on the center of mass (COM) for each component, may be optimized to stabilize the moving structure in space.
[0075] In some examples, non-limiting embodiments may be applied to grippers, full bodied robots, robotic legs, robotic arms, and / or the like. The choice of actuator type and location in design problems may vary by application. Fror example, 1-DoF vertical propellers may be actuators used for a multirotor robot. 1-DoF thrusters and reaction wheels may be used at the COM for space structures. 1-DoF forces and torques at COM may be used for cloth and soft robots. It will be appreciated that the disclosed systems and methods may be used with any type of robotic device design and any type of actuator(s).
[0076] It will be appreciated that the systems and methods described herein may be implemented in various different ways. In some non-limiting examples, the method may be implemented in Julia using the IPOPT solver, which is an interior-point method that can efficiently solve nonlinear programs with a large number of decision variables and constraints.
[0077] Referring now to FIG. 3, shown is a diagram of example components of a device 400 according to non-limiting embodiments or aspects. Device 400 may correspond to at least one of the computing devices referenced herein. In non-limiting embodiments or aspects, such systems or devices may include at least one device 400 and / or at least one component of device 400. The number and arrangement of components shown in FIG. 3 are provided as an example. In non-limiting embodiments or aspects, device 400 may include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 3. Additionally, or alternatively, a set of components 63G2136.DOCX Page 16 of 23Attorney Docket No.08993-2500864 (e.g., one or more components) of device 400 may perform one or more functions described as being performed by another set of components of device 400.
[0078] As shown in FIG. 3, device 400 may include bus 402, processor 404, memory 406, storage component 408, input component 410, output component 412, and communication interface 414. Bus 402 may include a component that permits communication among the components of device 400. In non-limiting embodiments or aspects, processor 404 may be implemented in hardware, firmware, or a combination of hardware and software. For example, processor 404 may include a processor (e.g., a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), etc.), a microprocessor, a digital signal processor (DSP), and / or any processing component (e.g., a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), etc.) that can be programmed to perform a function. Memory 406 may include random access memory (RAM), read only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, optical memory, etc.) that stores information and / or instructions for use by processor 404.
[0079] With continued reference to FIG. 3, storage component 408 may store information and / or software related to the operation and use of device 400. For example, storage component 408 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto- optic disk, a solid state disk, etc.) and / or another type of computer-readable medium. Input component 410 may include a component that permits device 400 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, a microphone, etc.). Additionally, or alternatively, input component 410 may include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, an actuator, etc.). Output component 412 may include a component that provides output information from device 400 (e.g., a display, a speaker, one or more light-emitting diodes (LEDs), etc.). Communication interface 414 may include a transceiver-like component (e.g., a transceiver, a separate receiver and transmitter, etc.) that enables device 400 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 414 may permit device 400 to receive information from another device and / or provide information to another device. For example, communication interface 414 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi® interface, a cellular network interface, and / or the like. 63G2136.DOCX Page 17 of 23Attorney Docket No.08993-2500864
[0080] Device 400 may perform one or more processes described herein. Device 400 may perform these processes based on processor 404 executing software instructions stored by a computer-readable medium, such as memory 406 and / or storage component 408. A computer-readable medium may include any non-transitory memory device. A memory device includes memory space located inside of a single physical storage device or memory space spread across multiple physical storage devices. Software instructions may be read into memory 406 and / or storage component 408 from another computer-readable medium or from another device via communication interface 414. When executed, software instructions stored in memory 406 and / or storage component 408 may cause processor 404 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, embodiments described herein are not limited to any specific combination of hardware circuitry and software. The term “programmed or configured,” as used herein, refers to an arrangement of software, hardware circuitry, or any combination thereof on one or more devices.
[0081] Although embodiments have been described in detail for the purpose of illustration, it is to be understood that such detail is solely for that purpose and that the disclosure is not limited to the disclosed embodiments, but, on the contrary, is intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims. For example, it is to be understood that the present disclosure contemplates that, to the extent possible, one or more features of any embodiment can be combined with one or more features of any other embodiment. 63G2136.DOCX Page 18 of 23
Claims
Attorney Docket No.08993-2500864 WHAT IS CLAIMED IS 1. A method comprising: executing a single-level nonlinear program configured to determine a constraint- satisfying selection and configuration of actuators on at least one robotic device for at least one task associated with state trajectories over a plurality of timesteps, the at least one robotic device associated with robot design data comprising a plurality of actuators; and applying a regularization function within the single-level nonlinear program to the robot design data to select a subset of actuators from the plurality of actuators that satisfy constraints of the at least one task, the regularization function configured to exclude actuators of the plurality of actuators over the plurality of time steps.
2. The method of claim 1, further comprising constructing the at least one robotic device by arranging the plurality of actuators based on the constraint-satisfying selection and configuration of actuators.
3. The method of claim 1, further comprising: generating an actuator-selection vector representing the plurality of actuators, the vector identifying the subset of actuators from the plurality of actuators.
4. The method of claim 3, wherein applying the regularization function comprises assigning binary values to the actuator-selection vector, wherein a first binary value represents an actuator of the subset of actuators and a second binary value represents an actuator that is not part of the subset.
5. The method of claim 3, wherein the regularization function is configured to exclude the actuators by nullifying the actuators at all time steps of the plurality of timesteps associated with the corresponding state trajectories, and wherein the subset of actuators are represented by a non-null value in the actuator-selection vector.
6. The method of claim 1, wherein determining the constraint-satisfying configuration of the subset of actuators on the at least one robotic device is based on projecting continuous values for each actuator of the subset of actuators onto a binary vector. 63G2136.DOCX Page 19 of 23Attorney Docket No.08993-2500864 7. The method of claim 1, wherein the robot design data comprises an arrangement of actuators and a type of actuator for each actuator in the arrangement.
8. The method of claim 7, wherein the robot design data further comprises a power or force parameter for each actuator in the arrangement.
9. The method of claim 1, wherein the at least one robotic device comprises a plurality of robotic devices, and wherein the selection and configuration of the actuators on the plurality of robotic devices comprises a selection and configuration of actuators on the plurality of robotic devices to jointly perform the task.
10. The method of claim 1, wherein the single-level nonlinear program comprises a control variable, a binary actuator selection variable, an actuator position variable, and a state variable, and wherein the binary actuator selection variable comprises a continuous relaxation of an integer value.
11. A system comprising at least one computing device configured to: execute a single-level nonlinear program configured to determine a constraint- satisfying selection and configuration of actuators on at least one robotic device for at least one task associated with state trajectories over a plurality of timesteps, the at least one robotic device associated with robot design data comprising a plurality of actuators; and apply a regularization function within the single-level nonlinear program to the robot design data to select a subset of actuators from the plurality of actuators that satisfy constraints of the at least one task, the regularization function configured to exclude actuators of the plurality of actuators over the plurality of time steps.
12. The system of claim 11, wherein the at least one computing device is further configured to construct the at least one robotic device by arranging the plurality of actuators based on the constraint-satisfying selection and configuration of actuators.
13. The system of claim 11, wherein the at least one computing device is further configured to: generating an actuator-selection vector representing the plurality of actuators, the vector identifying the subset of actuators from the plurality of actuators. 63G2136.DOCX Page 20 of 23Attorney Docket No.08993-2500864 14. The system of claim 13, wherein applying the regularization function comprises assigning binary values to the actuator-selection vector, wherein a first binary value represents an actuator of the subset of actuators and a second binary value represents an actuator that is not part of the subset.
15. The system of claim 13, wherein the regularization function is configured to exclude the actuators by nullifying the actuators at all time steps of the plurality of timesteps associated with the corresponding state trajectories, and wherein the subset of actuators are represented by a non-null value in the actuator-selection vector.
16. The system of claim 11, wherein determining the constraint-satisfying configuration of the subset of actuators on the at least one robotic device is based on projecting continuous values for each actuator of the subset of actuators onto a binary vector.
17. The system of claim 11, wherein the robot design data comprises an arrangement of actuators and a type of actuator for each actuator in the arrangement.
18. The system of claim 17, wherein the robot design data further comprises a power or force parameter for each actuator in the arrangement.
19. The system of claim 11, wherein the at least one robotic device comprises a plurality of robotic devices, and wherein the selection and configuration of the actuators on the plurality of robotic devices comprises a selection and configuration of actuators on the plurality of robotic devices to jointly perform the task.
20. A computer program product comprising a non-transitory computer-readable medium including program instructions that, when executed by at least one computing device, cause the computing device to: execute a single-level nonlinear program configured to determine a constraint- satisfying selection and configuration of actuators on at least one robotic device for at least one task associated with state trajectories over a plurality of timesteps, the at least one robotic device associated with robot design data comprising a plurality of actuators; and 63G2136.DOCX Page 21 of 23Attorney Docket No.08993-2500864 apply a regularization function within the single-level nonlinear program to the robot design data to select a subset of actuators from the plurality of actuators that satisfy constraints of the at least one task, the regularization function configured to exclude actuators of the plurality of actuators over the plurality of time steps. 63G2136.DOCX Page 22 of 23
Citation Information
Patent Citations
An adaptive motion control device and method for an underwater robot
CN108170151B
Multi-propeller coupling control method and system for underwater robot
CN111913489A
Control method of non-linear system, control device of bipedal robot, control method of bipedal robot and program of the same
JP2018185747A
Method for training a machine learning model to classify sensor data
US20250036967A1
Robotic arm systems
US4964062A