Method and apparatus for data collection for system identification process of dynamic system

By receiving and processing the motion constraints of the dynamic system, determining and outputting the motion curve to collect response data, it solves the safety issues of traditional system identification technology, and realizes safe and rich data collection and system performance improvement.

CN120677445APending Publication Date: 2025-09-19SONY GROUP CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480012318.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-02-20
Filing Date
2024-02-20
Publication Date
2025-09-19

AI Technical Summary

Technical Problem

Traditional system identification techniques have safety flaws, and the hardware of dynamic systems may cause danger and irreversible damage when operating under kinematic and dynamic constraints.

Method used

The system receives a set of motion constraints of a dynamic system, determines a motion curve and outputs the motion curve, receives response data, ensures that the highest-order derivative value in the motion curve is set to a maximum value, a minimum value or zero, and collects the response data of the dynamic system to build a computational model.

Benefits of technology

The security of the system identification process of the dynamic system is improved, while ensuring the richness and accuracy of the data and improving the system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120677445A_ABST
    Figure CN120677445A_ABST
Patent Text Reader

Abstract

An apparatus and method for data collection for a system identification process of a dynamic system are provided. The method includes receiving a set of motion constraints of the dynamic system. The method further includes determining at least one motion profile of the dynamic system based on the set of motion constraints, where determining the motion profile includes setting a value of a highest order derivative in motion to a maximum value, a minimum value, or zero according to an indication of the set of motion constraints. Further, the method includes outputting the motion profile to the dynamic system. Further, the method includes receiving response data indicative of a response of the dynamic system to the motion profile. A system identification for a dynamic system is also provided, where the method includes collecting data and determining a computational model of the dynamic system for operating the dynamic system based on the collected data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to system identification of dynamic systems. Specifically, examples of the present disclosure relate to a method for collecting data for a system identification process of a dynamic system, a method, an apparatus, a system, a non-transitory machine-readable medium, and a program for system identification of a dynamic system. Background Art

[0002] System identification is a technique for building a mathematical model of a dynamic system using measurements of the system's input and output signals or data. Thus, the model of a dynamic system indicates the mathematical relationship between the system's input and output variables. System identification therefore includes a data collection step or process, in which input and output data are collected, and a system modeling step or process, in which the relationship between the input and output data is captured using a suitable computational or mathematical model. During the data collection step or process, the dynamic system (e.g., its hardware (e.g., actuators)) is stimulated by providing random or pseudo-random actuation signals to the dynamic system and measuring the system's response across different motion spectra. However, dynamic system hardware (e.g., actuators) faces kinematic and dynamic limitations, making operating the dynamic system hardware (e.g., actuators) beyond these limitations dangerous and / or causing irreversible damage to the actuator (i.e., the dynamic system) and its environment. In other words, traditional system identification techniques suffer from safety deficiencies.

[0003] Therefore, there may be a need to improve system identification of dynamic systems. Summary of the Invention

[0004] This need is met by a method for data collection during system identification of a dynamic system, a method for system identification of a dynamic system, an apparatus, a system, a non-transitory machine-readable medium and a program according to the independent claims. Advantageous embodiments are defined in the dependent claims.

[0005] According to a first aspect, the present disclosure provides a method for collecting data for a system identification process of a dynamic system. The method includes receiving a set of motion constraints for the dynamic system. Furthermore, the method includes determining at least one motion profile for the dynamic system based on the set of motion constraints, wherein determining the motion profile includes setting the value of a highest-order derivative in the motion to a maximum value, a minimum value, or zero. Furthermore, the method includes outputting the motion profile to the dynamic system. Furthermore, the method includes receiving response data indicating a response of the dynamic system to the motion profile.

[0006] According to a second aspect, the present disclosure provides a method for system identification of a dynamic system. The method includes collecting data according to the method of the first aspect. Furthermore, the method includes determining a computational model of the dynamic system based on the collected data for operating the dynamic system.

[0007] According to a third aspect, the present disclosure provides an apparatus comprising an interface circuit configured to receive a set of motion constraints for a dynamic system. Furthermore, the apparatus comprises a processing circuit configured to: determine at least one motion profile for the dynamic system based on the set of motion constraints, wherein determining the motion profile comprises: setting a value of a highest-order derivative in the motion to a maximum value, a minimum value, or zero as indicated by the set of motion constraints; and outputting the motion profile to the dynamic system. Furthermore, the interface circuit is configured to receive response data indicating a response of the dynamic system to the motion profile.

[0008] According to a fourth aspect, the present disclosure provides a system. The system includes the apparatus according to the third aspect. Furthermore, the system includes a dynamic system, wherein a control circuit of the dynamic system is operatively coupled to the apparatus, and the control circuit is configured to operate the dynamic system based on a motion profile output by the apparatus.

[0009] According to a fifth aspect, the present disclosure provides a non-transitory machine-readable medium having a program having program code stored thereon for executing the method according to the first aspect and / or the second aspect when the program is run on a processor or programmable hardware.

[0010] According to a sixth aspect, the present disclosure provides a program having a program code for executing the method according to the first aspect and / or the second aspect when the program is run on a processor or programmable hardware. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Some examples of apparatus and / or methods will now be described, by way of example only, with reference to the accompanying drawings, in which:

[0012] Figure 1 An apparatus for collecting data for a system identification process of a dynamic system is shown;

[0013] Figure 2 shows a graph of exemplary signal variations over time that will be used to collect a data set to be used in a system identification process;

[0014] Figure 3 An exemplary system including an apparatus for data collection for a system identification process of a dynamic system and a dynamic system is shown;

[0015] Figure 4A flow chart illustrating an exemplary method of data collection for a system identification process of a dynamic system; and

[0016] Figure 5 A flow chart illustrating an exemplary method for system identification of a dynamic system is shown. DETAILED DESCRIPTION

[0017] Some examples are now described in more detail with reference to the disclosed drawings. However, other possible examples are not limited to the features of these embodiments described in detail. Other examples may include modifications of features as well as equivalent features and alternative features of features. In addition, the terms used herein to describe specific examples should not limit other possible examples.

[0018] Throughout the description of the drawings, the same or similar reference numerals represent the same or similar elements and / or features, which may be identical or provide the same or similar functions while being implemented in a modified form. For clarity, the thickness of lines, layers, and / or regions in the drawings may also be exaggerated.

[0019] When two elements A and B are combined using "or", this should be understood to disclose all possible combinations, i.e., only A, only B, and A and B, unless otherwise explicitly defined in individual cases. As alternative expressions for the same combination, "at least one of A and B" or "A and / or B" can be used. The same applies to combinations of more than two elements.

[0020] If singular forms such as "a," "an," and "the" are used, and there is no explicit or implicit definition that the use of only a single element is mandatory, alternative examples may use several elements to achieve the same functionality. If a function is described below as being implemented using multiple elements, alternative examples may use a single element or a single processing entity to achieve the same functionality. It should also be understood that the terms "comprise," "contain," "include," and / or "comprising" when used describe the presence of a particular feature, integer, step, operation, process, element, component, and / or combination thereof, but do not preclude the presence or addition of one or more other features, integers, steps, operations, processes, elements, components, and / or combinations thereof.

[0021] Figure 1An exemplary apparatus 100 for collecting data for a system identification process of a dynamic system 10 is shown. The dynamic system 10 can be any type of system that is not static but rather evolves its state with respect to time. The system can be any controllable device, system, actuator, etc. that can be controlled for motion and / or corresponding tasks, such as in industrial applications. For example, the dynamic system 10 can be a single actuator, an industrial robot, etc. In at least some examples, the dynamic system 10 can be any robot with n degrees of freedom, where n is an integer equal to or greater than 1. Thus, the dynamic system 10 can be applied in industrial environments such as production and logistics. The dynamic system 10 and / or its actuators can be configurable, manipulable, and / or controllable to provide or achieve motion, posture, etc. For example, the dynamic system 10 can include one or more links, joints, actuators, manipulators, etc. that can be controlled individually or simultaneously, such as via at least one actuator. Furthermore, the dynamic system 10 can be configured to be controllable, such as via suitable control circuitry (e.g., a controller such as an underlying controller). For example, the control circuitry can be configured to control the dynamic system 10 at least one of a position level, a velocity level, an acceleration level, and a jerk level of the dynamic system 10. Furthermore, the control circuitry can be configured to track signals, such as input signals or data, output signals or data, and the like. However, it should be noted that the dynamic system 10 is not limited to the aforementioned examples. Generally, the apparatus 100 is configured to collect data for a system identification process of the dynamic system 10.

[0022] As used herein, a system identification process can be understood as a technique, method, or the like for determining a mathematical or computational model of a dynamic system (e.g., dynamic system 10) using measurements of the system's input and output signals. The system identification process can include a data collection step or process, in which input signals or data and output signals or data of the dynamic system 10 are collected; and a system modeling step or process, in which the relationship between the input and output signals or data is captured using a suitable computational or mathematical model (e.g., a parametric or non-parametric model, etc.). Thus, a computational (or mathematical) model can be understood as a mathematical relationship between input and output parameters, variables, etc. of the dynamic system 10. Such a model can be described, for example, by differential or difference equations, transfer functions, state-space equations, zero-pole-gain models, etc. For example, the model can be represented in continuous-time or discrete-time form, although other representations of the model are also possible. The input and output signals or data can be provided and measured in the time domain or the frequency domain. The system identification process aims to determine a corresponding model of the dynamic system 10, such as its parameters, variables, etc., wherein the determined (e.g., identified) model can be used to improve the performance of the dynamic system 10, such as in terms of cycle time, energy efficiency, etc., by applying the determined model to the control circuit of the dynamic system 10 to perform model-based control and / or operation thereof. Therefore, in at least some examples, the apparatus 100 can be configured to determine a corresponding computational model of the dynamic system 10 based on the collected data for use in operating the dynamic system 10. In this case, the apparatus 100 can also be expanded and / or referred to as a system identification apparatus.

[0023] The apparatus 100 comprises at least an interface circuit 110 and a processing circuit 120. The processing circuit 120 is operatively connected to the interface circuit 110. The apparatus 100 is operatively connected to the dynamic system 10. Figure 1 1 is shown by dashed lines because the apparatus 100 can be applied to any suitable dynamic system.

[0024] The interface circuit 110 is configured to receive a set 111 of motion constraints of the dynamic system 10. For example, the set 111 of motion constraints can be a data set. The set of motion constraints can include one or more kinematic constraints, and the one or more kinematic constraints include a minimum joint position, a maximum joint position, a maximum velocity, a maximum acceleration, and a maximum jerk. Therefore, for the device 100, it can be assumed that the velocity and acceleration constraints are symmetrical, that is, the minimum value is equal to the maximum value with a negative sign. In addition, the set 111 of motion constraints can include: one or more state constraints associated with the state of the dynamic system 10, and the one or more state constraints can include kinematic constraints (for example, minimum and / or maximum values ​​of joint position, velocity, acceleration, jerk, etc.); environmental constraints associated with the environment of the dynamic system 10, etc. In addition, constraints can be defined or specified at the level of position, velocity, acceleration and / or jerk, where the motion of other derivatives can also be envisioned. By way of example only, the constraints associated with the dynamic system 10 can include one or more of the following or can be referred to as: upper state constraints Down state constraint c x , upper input constraint Lower input constraint c u , upper environmental constraints and environmental constraints c e , where these are merely examples and there may be different or more specific constraints, such as the above-mentioned minimum and / or maximum constraints on joint positions, velocities, accelerations, jerks, etc. The corresponding reference signal to be input into the dynamic system 10 within the system identification process and / or data collection step or process may be denoted or referred to as u. Note that if the reference position signal and its derivatives remain within these same state constraints, then the state of the dynamic system 10 (i.e., its position and its higher-order derivatives) remains within its constraints. The same applies to environmental constraints. Therefore, the task of satisfying the above-mentioned constraints can be simplified to configuring (e.g., constructing) the reference signal u in such a way that the reference position and all of its derivatives satisfy the most stringent of these constraints on the corresponding state of the dynamic system 10. As an example, the highest value of the lower constraint may be lower than the lowest value of the upper constraint, which may be represented by the following mathematical expression:

[0025] and

[0026]

[0027] This may be explained for higher order derivatives of u(t) representing the reference signal. The apparatus 100 may be configured to determine the strictest constraint of the set 111 of constraints to be complied with.

[0028] The processing circuit 120 is configured to determine at least one motion profile 121 of the dynamic system 10 based on the set of motion constraints 111, wherein determining the motion profile 121 includes setting the value of the highest order derivative in the motion to a maximum value, a minimum value or zero according to the indication of the set of motion constraints. For example, the above-mentioned reference signal u can be part of at least one motion profile 121, can be included in the at least one motion profile or can form the at least one motion profile. Thereby, the processing circuit 120 can be configured to set the value of the highest order derivative in the motion value to meet the above-mentioned most stringent constraint of the set of constraints 111. For example, setting the value of the highest order derivative in the motion includes determining active and / or inactive kinematic constraints indicated by the set of constraints 111. In addition, as described above, the dynamic system 10 can be configured to be controlled at the acceleration level, for example by including corresponding control circuitry, wherein the jerk can be represented by j and is expressed in m / s 3 or rad / s 3 denoted. Note that operating the dynamic system 10 at its jerk limit covers a wide band domain or range of velocity and acceleration of the dynamic system 10, such that a rich data set can be collected for system identification. In this case, the processing circuit 120 can be configured to set the jerk j to a maximum value, a minimum value, or zero, for example, as indicated by the set 111 of motion constraints. Note that the foregoing principles can also be applied to other higher-order or highest-order derivatives. In addition, the processing circuit 120 is configured to output a motion profile 121 to the dynamic system 10. The motion profile 121 can form an input signal or data of the dynamic system 10 to be collected in or during the data collection step or process of the above-mentioned system identification process. The motion profile 121 can be configured to excite the dynamic system 10 accordingly, such that the motion profile 121, which can include the reference signal u, can also be referred to as an excitation signal, an actuation signal, or the like.

[0029] In addition, the interface circuit 110 is further configured to receive response data 122 indicating a response of the dynamic system 10 to the motion profile 121. The response data 122 may indicate motion tracking of the dynamic system 10 resulting from operating the dynamic system 10 based on the motion profile 121. The response data 122 may form an output signal or data of the dynamic system 10 to be collected during or in the data collection step or process of the system identification process described above. The response data 122 may be provided by the apparatus 100, the control circuitry of the dynamic system 10, or a combination thereof.

[0030] The apparatus, methods, and systems described herein allow for the generation of an actuation signal (i.e., motion profile 121) that complies with all constraints associated with the dynamic system 10, such that data (e.g., a data set) for system identification can be safely collected by sending the generated actuation signal (i.e., motion profile 121) to the dynamic system 10. This improves the safety of the system identification process and / or operation of the dynamic system 10 while ensuring the richness of the collected data.

[0031] Based on the above, the apparatus 100 may be modified in a variety of ways.

[0032] For example, to determine the motion profile 121, the processing circuit 120 can be configured to construct the reference signal u so that the entire band or range of allowable positions of the dynamic system 10 can be covered, wherein the same processing can be performed on the velocity, acceleration, and one or more higher-order derivatives under consideration. For example, the processing circuit 120 can be configured to construct the reference signal u so that a discretization grid with N steps is defined, wherein the processing circuit 120 can be configured to allow each grid point to be reached or visited from every other grid point, i.e., every possible starting point or position can be matched with every possible ending point or position. Therefore, for a discretization grid with N steps, the total number of start-end pairs can thus be N. 2 size.

[0033] Furthermore, processing circuit 120 can be configured to generate a trajectory, e.g., a position trajectory, from a starting position to an ending position within motion profile 121. Furthermore, to determine motion profile 121, processing circuit 120 can be configured to set the starting and ending states of dynamic system 10 within motion profile 121 to be stationary, i.e., with zero velocity and acceleration. Furthermore, to determine motion profile 121, processing circuit 120 can be configured to set a duration of motion from the starting position to the ending position. Thus, the duration allowed for performing the motion from the starting position to the ending position determines the velocity and acceleration values ​​that will be achieved during the motion and can be used as a tuning parameter to achieve high coverage of a velocity and acceleration band or range. In at least some examples, a sequence of multiple motion profiles can be determined, which can be aggregated, combined, etc. to form motion profile 121, thereby covering the allowable position space of the dynamic system, wherein each motion profile in the sequence includes a segment of a trajectory from a starting position to an ending position, and the starting position of the trajectory of the corresponding subsequent segment is the ending position of the trajectory of the previous segment.

[0034] Furthermore, as described above, the processing circuit 120 is configured to set the value of the highest order derivative (e.g., jerk j) to a minimum value, a maximum value, or zero. In at least some examples, if the set of motion constraints 111 indicates inactive speed and acceleration constraints, the processing circuit 120 can be configured to set the value of the highest order derivative in the motion values ​​to one of the maximum and minimum values ​​for a first motion duration, and to the other of the maximum and minimum values, or zero for a second motion duration (e.g., if the dynamic system 10 is moving at zero acceleration at its speed limit, etc.). For example, in the case of inactive speed and acceleration constraints, the motion profile 121 can be determined such that the motion profile 121 can be determined by using the sign of the p in the first half of the motion duration to represent the motion profile 121. end -p start The end state is reached using an extreme jerk value of the same sign as t[s], and a jerk value of the opposite sign is used in the second half of the motion duration. This ensures that the velocity and acceleration are zero at the target or end state. In addition, as an example, in the event that a velocity limit is reached, the processing circuit 120 can be configured to set the jerk so that the limit is reached with zero acceleration. The acceleration phase may be followed by a constant velocity phase lasting 0≤t[s]. This may be followed by a deceleration phase symmetrical to the acceleration phase, returning the velocity and acceleration to zero when the target is reached. In the event that an acceleration or higher order limit is reached, the processing circuit 120 may be configured to extend the aforementioned process.

[0035] Furthermore, the functionality of the processing circuit 120 can be implemented, for example, by means of the open source package Ruckig, which can be accessed, for example, on Github via the Internet (see URL: https: / / github.com / pantor / ruckig). However, it should be noted that this is merely an exemplary embodiment, and other methods of constructing feasible, highly dynamic motion profiles between previously defined start-end pairs are also conceivable.

[0036] Figure 2 An exemplary signal 200 is shown, which may be the reference signal u described above, which may be part of or form the motion profile 121. As described above, the signal 200 (eg, the reference signal u) may be used to collect a data set to be used in the system identification process described above.

[0037] Figure 2 Four diagrams are shown, one of which shows the reference signal u of the dynamic system 10 in [ ° ] (see the upper left corner of the diagram), at the position level of [° / s] (see the upper right corner of the diagram), at the speed level of [° / s 2 ] (see the lower left corner of the diagram), and at [° / s 3The change of the acceleration level of [s] (see the lower right corner of the figure) with time [s]. For example, according to Figure 2 For example, the speed constraint indicated by constraint set 111 is active at approximately 2.5 seconds and 6 seconds. Additionally, the acceleration and jerk constraints are reached multiple times within the exemplary time range shown.

[0038] Figure 3 A system 300 is shown which includes the apparatus 100 and the dynamic system 10. The system can be used in the system identification process described above, including a data collection step or process and a system modeling step or process.

[0039] The dynamic system 10 includes a control circuit 11 coupled to or operatively connected to the apparatus 100. The control circuit 11 can be configured to operate the dynamic system 10 based on the motion profile 121 output by the apparatus 100. Furthermore, the dynamic system 10 includes at least one actuator 12 coupled to the control circuit 11 and controlled for operation. The control circuit 11 can be configured to control the dynamic system 10 at least one of a position level, a velocity level, an acceleration level, and a jerk level of the dynamic system 10. In at least some examples, the control circuit 11 can also be referred to as a low-level controller, which can be integrated into the dynamic system 10. The control circuit 11 can be configured to track the reference signal u.

[0040] Furthermore, as described above, the dynamic system 10 may include one or more links, joints, actuators, manipulators, etc., which may be controlled individually or simultaneously, for example, via at least one actuator 12. At least one of the apparatus 100 and the control circuit 11 may be configured to provide the aforementioned response data 122, which indicates a response of the dynamic system 10 to the motion profile 121.

[0041] Apparatus 100 may be configured to determine a computational model including comparing motion profile 121 and response data 122 indicating a response of dynamic system 10 to motion profile 121 .

[0042] As described above, the device 100 can be configured to determine (e.g., generate) at least one motion profile 121, which can include a set of reference signals u and / or reference trajectories. The motion profile 121 is then provided (e.g., sent) to the dynamic system 10. As a result, identification can be performed synchronously or asynchronously with an internal clock of the dynamic system (e.g., the control circuit 11). In other words, in the former case, the motion profile 121 can provide a single reference to the dynamic system 10 to collect the dynamic system's response to the input. In the latter case, the motion profile 121 can provide the dynamic system 10 with a trajectory at one time, and once the entire trajectory is received, the dynamic system can be controlled to follow the trajectory.

[0043] The apparatus 100 and / or system 300 described herein can identify the dynamic characteristics of a dynamic system 10, for example, by determining (e.g., identifying) the aforementioned computational model at the position level or any derivative thereof. The identified computational model can be used to improve the performance of the dynamic system 10, for example, in terms of cycle time, energy efficiency, etc.

[0044] To further highlight the data collection for the system identification process of the above dynamic system, Figure 4 The flowchart of the method 400 for collecting data during the system identification process of a dynamic system is shown. For example, the method 400 can be executed by the apparatus 100 and / or the system 300 described above.

[0045] The method includes receiving 410 a set of motion constraints for a dynamic system. Furthermore, the method includes determining 420 at least one motion profile for the dynamic system based on the set of motion constraints, wherein determining the motion profile includes setting a value of a highest-order derivative in the motion to a maximum value, a minimum value, or zero as indicated by the set of motion constraints. Furthermore, the method includes outputting 430 the motion profile to the dynamic system. Furthermore, the method includes receiving 440 response data indicating a response of the dynamic system to the motion profile.

[0046] The method 400 may allow for improved safety of the system identification process and / or operation of the dynamic system 10 while ensuring the richness of the collected data.

[0047] In combination with the proposed technology or one or more of the above examples (e.g., Figures 1 to 3 ) to explain more details and aspects of the method 400. The method 400 may include one or more additional optional features corresponding to one or more aspects of the proposed technology or one or more examples described above.

[0048] To further highlight the system identification process for the above dynamic system, Figure 5 1 is a flow chart of a method 500 for system identification of a dynamic system. For example, the method 500 may be executed by the apparatus 100 and / or the system 300 described above.

[0049] The method 500 includes collecting 510 data according to the above-described method 400. Furthermore, the method includes determining 520 a computational model of the dynamic system based on the collected data for use in operating the dynamic system.

[0050] The following examples relate to further implementations:

[0051] (1) A data collection method for a system identification process of a dynamic system, the method comprising:

[0052] receiving a set of motion constraints for a dynamic system;

[0053] determining at least one motion profile of the dynamic system based on the set of motion constraints, wherein determining the motion profile comprises: setting a value of a highest order derivative in the motion to a maximum value, a minimum value, or zero as indicated by the set of motion constraints;

[0054] outputting motion profiles to the dynamic system; and

[0055] Response data is received, the response data indicating a response of the dynamic system to the motion profile.

[0056] (2) The method of (1), wherein determining the motion profile includes setting a starting state and an ending state of the dynamic system within the motion profile to be stationary.

[0057] (3) The method of (1) or (2), wherein determining the motion profile includes generating a trajectory from a starting position to an ending position within the motion profile.

[0058] (4) The method according to (3), wherein determining the motion profile includes setting a motion duration from a start position to an end position.

[0059] (5) The method of any one of (1) to (4), wherein determining the motion curve includes determining a strictest constraint in a set of constraints and setting the value of the highest order derivative in the motion value to satisfy the strictest constraint.

[0060] (6) A method according to any one of (1) to (5), wherein a sequence of multiple motion curves is determined to cover the allowable position space of the dynamic system, each motion curve in the sequence includes a trajectory from a starting position to an ending position, and the starting position of the trajectory of the corresponding subsequent segment is the ending position of the trajectory of the previous segment.

[0061] (7) The method of any one of (1) to (6), wherein setting the value of the highest order derivative in the motion includes determining active and / or inactive kinematic constraints indicated by a set of constraints.

[0062] (8) A method according to (7), wherein if the set of motion constraints indicates inactive velocity and acceleration constraints, the value of the highest order derivative in the motion value is set to one of a maximum value and a minimum value for the first motion duration and is set to the other of the maximum value and the minimum value for the second motion duration.

[0063] (9) A method according to (8), wherein the value of the highest-order derivative in the motion value is set to have the same sign as the sign of the difference between the end position and the start position within the motion curve for the first motion duration, and is set to have the opposite sign to the sign of the difference between the end position and the start position for the second motion duration.

[0064] (10) A method according to any one of (1) to (9), wherein the set of motion constraints includes one or more kinematic constraints, the one or more kinematic constraints including minimum joint position, maximum joint position, maximum velocity, maximum acceleration, and maximum jerk.

[0065] (11) A method according to any one of (1) to (10), wherein the highest order derivative is the jerk of the dynamic system.

[0066] (12) The method of any one of (1) to (11), wherein the response data indicates motion tracking of the dynamic system caused by operating the dynamic system based on the motion profile.

[0067] (13) A method for system identification of a dynamic system, the method comprising:

[0068] Collecting data according to any one of (1) to (12); and

[0069] A computational model of the dynamic system is determined based on the collected data for use in operating the dynamic system.

[0070] (14) The method of (13), wherein determining the computational model includes parameterizing the computational model based on the collected data.

[0071] (15) The method of (13) or (14), wherein determining the computational model includes comparing the motion curve and response data indicating a response of the dynamic system to the motion curve.

[0072] (16) A device comprising:

[0073] an interface circuit configured to receive a set of motion constraints for the dynamic system; and

[0074] A processing circuit configured to:

[0075] Determining at least one motion profile of the dynamic system based on the set of motion constraints, wherein determining the motion profile comprises: setting a value of a highest order derivative in the motion to a maximum value, a minimum value, or zero as indicated by the set of motion constraints; and

[0076] Output motion curves to the dynamic system;

[0077] The interface circuit is further configured to receive response data, where the response data indicates a response of the dynamic system to the motion curve.

[0078] (17) The apparatus of (16), wherein the apparatus is configured to identify a computational model of the dynamic system based on the collected data.

[0079] (18) A system comprising:

[0080] The apparatus according to (16) or (17); and

[0081] A dynamic system wherein control circuitry of the dynamic system is operatively coupled to the device, and the control circuitry is configured to operate the dynamic system based on a motion profile output by the device.

[0082] (19) The system of (18), wherein the dynamic system includes at least one actuator operatively coupled to the control circuit.

[0083] (20) A system according to (18) or (19), wherein at least one of the device and the control circuit is configured to provide response data indicating a response of the dynamic system to the motion profile.

[0084] (21) A system according to any one of (18) to (20), wherein the control circuit is configured to control the dynamic system at at least one of a position level, a velocity level, an acceleration level, and a jerk level of the dynamic system.

[0085] (22) A non-transitory machine-readable medium having a program having program code stored thereon for executing the method according to any one of (1) to (12) and / or the method according to any one of (13) to (15) when the program is run on a processor or programmable hardware.

[0086] (23) A program having a program code for executing the method according to any one of (1) to (12) and / or the method according to any one of (13) to (15) when the program is run on a processor or programmable hardware.

[0087] The aspects and features described with respect to a specific one of the previous examples may also be combined with one or more other examples to replace the same or similar features of the other examples, or to additionally introduce these features into the other examples.

[0088] The example can also be or relate to a (computer) program including a program code to execute one or more of the above methods when the program is executed on a computer, a processor or other programmable hardware component. Therefore, the steps, operations or processes of the above different methods can also be performed by a programmed computer, a processor or other programmable hardware component. The example can also cover program storage devices, such as digital data storage media, which are machine-readable, processor-readable or computer-readable, and encode and / or contain machine-executable, processor-executable or computer-executable programs and instructions. For example, the program storage device can include or be a digital storage device, a magnetic storage medium (e.g., a disk and tape), a hard drive or an optically readable digital data storage medium. Other examples can also include a computer, a processor, a control unit, a (field) programmable logic array ((F)PLA), a (F)PGA), a graphics processor unit (GPU), an ASIC, an integrated circuit (IC) or a system on a chip (SoC) that is programmed to perform the steps of the above methods.

[0089] It should also be understood that the disclosure of several steps, processes, operations or functions disclosed in the specification or claims should not be interpreted as implying that these operations must rely on the order described, unless explicitly stated in individual cases or necessary for technical reasons. Therefore, the above description does not limit the performance of several steps or functions to a specific order. In addition, in other examples, a single step, function, process or operation may include and / or be decomposed into several sub-steps, functions, processes or operations.

[0090] If aspects related to a device or system are described, these aspects should also be understood as descriptions of the corresponding method. For example, functional aspects of a block, device, or device or system may correspond to features of a corresponding method, such as method steps. Therefore, aspects described in relation to a method should also be understood as descriptions of properties or functional features of the corresponding block, element, device, or system.

[0091] The following claims are hereby incorporated into the detailed description, where each claim can stand on its own as a separate example. It should also be noted that although dependent claims are referred to in the claims as specific combinations with one or more other claims, other examples may include combinations of dependent claims with the subject matter of any other dependent or independent claims. Such combinations are expressly set forth herein, unless a specific combination is not intended in a particular case. Furthermore, features of a claim should also be included in any other independent claim, even if that claim is not directly qualified as dependent upon that other independent claim.

Claims

1. A method for collecting data for a system identification process of a dynamic system, the method comprising: receiving a set of motion constraints for the dynamic system; determining at least one motion profile of the dynamic system based on the set of motion constraints, wherein determining the motion profile comprises: setting a value of a highest-order derivative in motion to a maximum value, a minimum value, or zero as indicated by the set of motion constraints; outputting the motion profile to the dynamic system; and Response data is received, the response data indicating a response of the dynamic system to the motion profile.

2. The method according to claim 1, wherein Determining the motion profile includes setting a starting state and an ending state of the dynamic system within the motion profile to be stationary.

3. The method according to claim 1, wherein Determining the motion profile includes generating a trajectory from a starting position to an ending position within the motion profile.

4. The method according to claim 3, wherein: Determining the motion profile includes setting a motion duration from the start position to the end position.

5. The method according to claim 1, wherein Determining the motion curve includes determining a strictest constraint in the set of constraints and setting a value of the highest order derivative in motion values ​​to satisfy the strictest constraint.

6. The method according to claim 1, wherein A sequence of multiple motion curves is determined to cover the allowable position space of the dynamic system, each motion curve in the sequence includes a trajectory from a starting position to an ending position, and the starting position of the trajectory of the corresponding subsequent segment is the ending position of the trajectory of the previous segment.

7. The method according to claim 1, wherein Setting the value of the highest order derivative in motion includes determining active and / or inactive kinematic constraints indicated by the set of constraints.

8. The method according to claim 7, wherein: If the set of motion constraints indicates inactive velocity and acceleration constraints, the value of the highest order derivative in the motion value is set to one of a maximum value and a minimum value for a first motion duration and to the other of a maximum value and a minimum value for a second motion duration.

9. The method according to claim 8, wherein The value of the highest order derivative in the motion value is set to have the same sign as the sign of the difference between the end position and the start position within the motion curve during the first motion duration, and is set to have the opposite sign to the difference between the end position and the start position during the second motion duration.

10. The method according to claim 1, wherein The set of motion constraints includes one or more kinematic constraints, including a minimum joint position, a maximum joint position, a maximum velocity, a maximum acceleration, and a maximum jerk.

11. The method according to claim 1, wherein The highest order derivative is the jerk of the dynamic system.

12. The method according to claim 1, wherein The response data indicates motion tracking of the dynamic system resulting from operating the dynamic system based on the motion profile.

13. A method for system identification of a dynamic system, the method comprising: Collecting data according to the method of claim 1; as well as A computational model of the dynamic system is determined based on the collected data for operating the dynamic system.

14. The method according to claim 13, wherein Determining the computational model includes comparing the motion profile to response data, the response data indicating a response of the dynamic system to the motion profile.

15. An apparatus comprising: an interface circuit configured to receive a set of motion constraints for a dynamic system; as well as a processing circuit, the processing circuit being configured to: Determining at least one motion profile of the dynamic system based on the set of motion constraints, wherein determining the motion profile comprises: setting a value of a highest-order derivative in motion to a maximum value, a minimum value, or zero as indicated by the set of motion constraints; and outputting the motion curve to the dynamic system; The interface circuit is further configured to receive response data, wherein the response data indicates a response of the dynamic system to the motion profile.

16. The device according to claim 15, wherein The apparatus is configured to identify a computational model of the dynamic system based on the collected data.

17. A system comprising: The device according to claim 15; as well as A dynamic system, wherein a control circuit of the dynamic system is operatively coupled to the device, and the control circuit is configured to operate the dynamic system based on the motion profile output by the device.

18. The system according to claim 17, wherein: At least one of the device and the control circuit is configured to provide response data indicative of a response of the dynamic system to the motion profile.

19. The system according to claim 17, wherein: The control circuit is configured to control the dynamic system at at least one of a position level, a velocity level, an acceleration level, and a jerk level of the dynamic system. 20 . A non-transitory machine-readable medium having a program having program code stored thereon, for executing the method according to claim 1 and / or the method according to claim 13 when the program is run on a processor or programmable hardware.