System and method for flexible robotic manipulation with fast online load estimation

JP2025507218AActive Publication Date: 2025-03-13MITSUBISHI ELECTRIC CORP
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
JP2024571598
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-23
Filing Date
2023-01-20
Publication Date
2025-03-13
Estimated Expiration
2043-01-20

Smart Images

  • Figure 2025507218000001_ABST
    Figure 2025507218000001_ABST
Patent Text Reader

Abstract

A method for controlling a manipulator is provided, the method including receiving an initial pose of a load and a task for moving the load, deriving a discriminant trajectory corresponding to the initial pose of the load using a mapping function, controlling a number of actuators of the manipulator to move the load according to the discriminant trajectory, and obtaining measured motion data and estimated motion data of the load, each corresponding to a motion of the load. The method further includes estimating parameters of the load based on the measured motion data and the estimated motion data, obtaining a model of the manipulator having the load with the estimated parameters, and determining a performance trajectory for moving the load according to the task based on the obtained model of the manipulator. The method further includes controlling the actuators to move the load according to the performance trajectory.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates generally to load identification and control of robotic arms, and more specifically to a supervised learning based approach for online trajectory generation in robotic load estimation tasks. [Background technology]

[0002] Robots are deployed in a variety of tasks ranging from everyday activities to complex industrial jobs. In many situations, robots are required to interact with objects and obstacles in their vicinity. The objects and / or obstacles that the robot can interact with act as payloads for the robot. In most cases, the interaction of the robot with its corresponding load involves performing robotic manipulations on the payload by a manipulator. To control the motion of such robot manipulators, accurate physical models of the payload and the environment that generate desired motions (trajectories) for the manipulator are required to realize the specified task. Also, as part of the manipulator model, the payload may sometimes vary from task to task, e.g., in the context of flexible manipulation. Therefore, it is crucial to dynamically identify / estimate the payload, which allows the design and realization of informed control.

[0003] To perform dynamic load estimation, the manipulator has to follow a specially designed trajectory along which the necessary kinematic data are collected. It is important to generate trajectories in a time-efficient manner since fast trajectory generation for load estimation reduces the estimation time and further allows for online realization. Also, to estimate the payload, it is necessary to solve a nonlinear optimization problem. Considering that the manipulator may need to operate in an environment where the payload and its configuration may change dynamically in state and time, the payload estimation process must be able to adapt to such dynamic changes and provide accurate results. Designing a trajectory for each case and solving the underlying optimization process is processing intensive and time consuming, so doing this online remains a challenge. Any delay in accurate payload estimation is reflected in the execution of the maneuver task, which is undesirable and must be minimized as much as possible. Therefore, there is a need to perform accurate payload estimation in a time-efficient manner for dynamically changing scenarios. Summary of the Invention

[0004] Some exemplary embodiments are based on the recognition that accurate payload estimation is an important step towards obtaining an accurate manipulator dynamic model for control purposes. Relevant payload parameters include mass, center of mass, or moments of inertia of the payload, or a combination thereof. Some exemplary embodiments recognize that the payload estimation process may consist of 1) building an identification model of the manipulator with the payload parameters as unknowns, 2) designing a trajectory that sufficiently excites the manipulator so that the payload parameters are identifiable, 3) collecting and processing kinematic data along the trajectory (e.g., joint position, velocity, and acceleration triplet samples), and 4) solving a (weighted) least squares problem to extract the load parameters.

[0005] Some exemplary embodiments are also based on the recognition that the identification model can be turned into a linear model with the load parameters as unknowns, so that the task of accurately estimating the load parameters can be rephrased into the design of a coefficient matrix that is directly related to the trajectory undertaken. Some solutions are based on the recognition that the identification trajectory is usually parameterized by a combination of basis functions, such as sine functions with various frequencies, and the goal is to determine optimal parameters in the trajectory such that the coefficient matrix is ​​well tuned to the underlying metric. Some exemplary embodiments are based on the recognition that due to the very complex relationship between the parameters of the trajectory and the metric quantifying the quality of the coefficient matrix, optimal trajectory design requires solving difficult and time-consuming nonlinear programming with various constraints, such as speed and acceleration constraints. That is, some embodiments recognize that faster trajectory design is needed to speed up the estimation process in an online setting.

[0006] For offline load identification, the optimization problem includes the initial configuration (joint angles) of the manipulator as a design variable. However, this is not the case for flexible manipulations that require real-time identification, where the initial configuration of the manipulator is fixed and cannot be freely chosen. Solutions available in the state of the art for load identification solve the optimization problem for one type of load at a time. Some exemplary embodiments are directed to accurate real-time load identification, where depending on the initial configuration of the manipulator, many instances of the optimization problem may have to be solved even for the same load.

[0007] Thus, an objective of some exemplary embodiments is to provide a trajectory generation method that enables online trajectory generation for accurate robotic manipulator control. Some exemplary embodiments are also directed to the objective of providing a trajectory generation approach that enables online trajectory generation for manipulator load identification systems and methods. Some exemplary embodiments are also directed to providing a method that reduces the computation time of trajectory generation caused by the highly nonlinear nature of the optimization problems involved. Some exemplary embodiments are further directed to providing a system and method for fast trajectory generation for robotic manipulators.

[0008] To these ends, some illustrative embodiments are based on the recognition that a manipulator control system for controlling the movement of a manipulator to perform a specified task may include a load identifier configured to estimate load parameters. The manipulator control system can use such a load identifier to achieve better motion execution and control performance based on available accurate models. However, some illustrative embodiments also recognize that a challenge for such a system is to construct a load identifier in a computationally efficient manner suitable for online load estimation, and that in a flexible manipulation setting, the manipulator needs to handle a large number of loads with different parameters.

[0009] Some embodiments are based on the understanding that the generation of the discriminatory trajectory can be achieved by solving a nonlinear programming problem. However, the application of any direct optimization method to the trajectory generation problem can lead to long computation times that can significantly reduce the feasibility of this task to be performed online. In particular, due to the complex relationship between the amplitudes of the sinusoidal basis functions that make up the excitation trajectory and the coefficient matrix, the objective function of the trajectory design task is highly nonlinear and nonconvex. Therefore, a complex optimization problem needs to be solved to find the optimal trajectory. As a result, the direct application of any direct optimization algorithm can take an undesirable amount of time, resulting in an impractical solution for online load estimation applications and no flexible operation.

[0010] Some embodiments are based on the realization that during the task execution of a robotic manipulator, the initial joint positions at which dynamic load estimation starts should not be chosen arbitrarily to avoid further interruption of the normal task. To overcome such issues, some embodiments treat the initial joint positions as specific inputs and find the optimal trajectory accordingly.

[0011] Some embodiments are based on the realization that offline generated trajectories can also be used online as long as the corresponding joint configurations match. However, since the number of joint configurations is countable, it is not possible to build a look-up table for online use. Therefore, it is an objective of some embodiments to provide a solution that can compactly and efficiently represent and approximate the offline solved trajectory generation cases.

[0012] Some embodiments are based on the realization that the optimal trajectory for the purpose of identification depends on the initial joint configuration. Considering the parameterization of the optimal trajectory for load identification, the coefficients of the basis functions are considered as a function of the initial joint configuration, since they uniquely define the optimal trajectory. Therefore, it is possible to learn the coefficients as a function of the initial joint configuration.

[0013] Some embodiments are based on the realization that a supervised learning based method can be used to find a well-excited trajectory parameterized by some basis functions. The parameterization reduces the search space of the mapping between the initial configuration and the discriminative trajectory. In particular, some exemplary embodiments construct the optimal response as a function of the initial joint configuration by pre-solving many instances of the trajectory design problem offline. The challenge of this approach lies in choosing a suitable supervised learning approach that can predict the trajectory with satisfactory quality.

[0014] Some embodiments take the initial joint configuration as input and the amplitudes of basis functions that constitute the optimal excitation trajectory (also called discriminant trajectory) as output to construct the optimal response, which is approximated by a function obtained through supervised learning-based approaches such as linear regression and Gaussian regression using a polynomial basis.

[0015] Some embodiments are based on the understanding that the actual precise trajectory utilized for estimation must satisfy the motion constraints and provide a certain level of performance, e.g., a certain level of estimation accuracy. For this reason, some embodiments use a performance metric to measure the quality of the predicted trajectory, thereby relaxing the requirement of exact optimal trajectory recovery. One advantage of this relaxation is that it significantly simplifies the design of supervised learning-based methods and allows for greater flexibility.

[0016] Some embodiments are based on the recognition that the predicted optimal trajectory may not satisfy the physical constraints on the joint movements, including the joint velocities and accelerations of the manipulator. To address the feasibility constraints, some embodiments process the parameters of the predicted trajectory by rescaling and projection. Such embodiments not only take into account the dynamic constraints by restricting the predicted trajectory within a feasible set, but also allow for the generation of trajectories with better performance by rescaling the trajectory parameters to the bounds of the constraint set.

[0017] Some embodiments are also based on the realization that function approximation using supervised learning-based methods can be arbitrarily accurate when the size of the function domain is small. This corresponds to the case where the manipulator estimation task starts around the neighborhood of some fixed initial position. Some embodiments exploit this fact and divide the possibly large joint configuration space into disjoint subspaces and train multiple function approximators for each subspace. During the online prediction phase, the measured current joint configuration determines which function approximator should be applied, thereby providing flexibility to the approach.

[0018] To reduce the computational load and speed up the process, some embodiments iteratively divide the configuration space until the predictive performance in each subspace is sufficiently satisfactory. Specifically, a bisection method can be used to divide a large subspace into smaller ones, and an individual learning model can be trained in each subspace. This process is repeated until the predictive performance in each subspace reaches a predefined threshold. In addition, the trade-off between the granularity of the division and the overall predictive performance can be flexibly adjusted according to the specific use case requirements. In some embodiments, the predictive performance over a particular target space to which the initial configuration belongs is measured as a discriminability score f(Y L ) or the percentage of approximation function values ​​below a certain threshold. For example, for N characteristic initial configurations q0 over a particular object space, N optimal trajectories and associated value function values ​​are obtained by solving the resulting N optimal control problems, the optimal trajectories and value function values ​​are used to train a prediction model, and an identifiability score of the predicted trajectories from the prediction model is evaluated. Furthermore, the percentage of identifiability scores below a certain threshold (indicating good estimation accuracy) is calculated. In another embodiment, the prediction performance over a particular object space is the prediction performance where the root mean square error between the true value function values ​​and the approximation function values ​​of the N cases is below a certain threshold.

[0019] To achieve the above objects and advantages, certain illustrative embodiments provide a robotic manipulator, and a method and program for controlling the robotic manipulator.

[0020] For example, some exemplary embodiments provide a manipulator comprising at least one robotic arm having one or several joints configured to move a load according to a task. The manipulator also comprises a number of actuators configured to modify the motion of the robotic arm to follow a trajectory, a memory for storing a model of the manipulator together with unknown load information and a mapping function for mapping the initial pose of the load to a corresponding discriminative trajectory, and an input interface configured to accept an initial pose of the load and a task for moving the load. The manipulator also comprises a processor for executing instructions to realize different modules of the manipulator. In this regard, the manipulator includes a load estimator configured to use the mapping function to retrieve a discriminative trajectory corresponding to the initial pose of the load and to control the number of actuators to move the load according to the retrieved discriminative trajectory based on the model of the manipulator together with the unknown load information.

[0021] In some exemplary embodiments, the load estimator is further configured to obtain measured motion data corresponding to movement of the load according to the retrieved identification trajectory and estimated motion data of the load corresponding to movement of the load according to the identification trajectory and estimated based on a model of the manipulator, and to estimate parameters of the load based on the measured motion data of the load and the estimated motion data of the load. The processor also includes a performance controller, the performance controller is configured to obtain a model of the manipulator with the load together with the estimated parameters of the load, and to determine a performance trajectory for moving the load according to the task based on the model of the manipulator with the load together with the estimated parameters. The performance controller is further configured to control the actuators to move the load according to the performance trajectory.

[0022] Some exemplary embodiments also provide a method of controlling a manipulator, the method including receiving an initial pose of a load and a task to move the load, and retrieving a discriminant trajectory corresponding to the initial pose of the load using a mapping function, the mapping function mapping the initial pose of the load to the corresponding discriminant trajectory. The method further includes controlling a plurality of actuators of the manipulator to move the load according to the retrieved discriminant trajectory, and obtaining measured motion data corresponding to the movement of the load according to the retrieved discriminant trajectory and estimated motion data of the load corresponding to the movement of the load according to the retrieved discriminant trajectory and estimated based on a model of the manipulator. The method further includes estimating parameters of the load based on the measured motion data of the load and the estimated motion data of the load, and by way of example, joint velocities and accelerations can be estimated from measured joint angles by a robust differentiator, the method further includes obtaining a model of the manipulator with the load together with the estimated parameters of the load, and determining a performance trajectory for moving the load according to the task based on the model of the manipulator with the load together with the estimated parameters. The method further includes controlling an actuator to move the load according to the performance trajectory.

[0023] The presently disclosed embodiments will be further described with reference to the accompanying drawings, in which: The drawings shown are not necessarily to scale, with emphasis instead generally being placed upon illustrating the principles of the presently disclosed embodiments. [Brief description of the drawings]

[0024] [Figure 1A] 1 illustrates a block diagram of an overall architecture of a system for load estimation according to some demonstrative embodiments. [Figure 1B] FIG. 1 illustrates a configuration of a robotic manipulator according to some exemplary embodiments. [Figure 1C]FIG. 2 illustrates an exemplary pick-and-place task performed by a robotic manipulator in accordance with some illustrative embodiments. [Figure 1D] FIG. 10 illustrates a flowchart 100D of an exemplary load estimation task performed by a robotic manipulator in accordance with some exemplary embodiments. [Figure 1E] FIG. 1 is a block diagram illustrating some components of a flexible robotic handling system for a physical implementation of a method for performing pick-and-place tasks according to some illustrative embodiments. [Diagram 2] 1 illustrates several steps of a flexible robot manipulation method according to some illustrative embodiments. [Figure 3A] FIG. 1 illustrates a flowchart illustrating offline learning of an optimal discrimination trajectory and online calculation for predicting an optimal discrimination trajectory, according to some exemplary embodiments. [Figure 3B] FIG. 1 illustrates a framework of a learning model for predicting optimal discrimination trajectories, according to some exemplary embodiments. [Figure 3C] FIG. 2 illustrates a detailed flowchart of online load estimation according to some exemplary embodiments. [Figure 4] FIG. 2 illustrates a flowchart illustrating some steps of a method for a task planner to select an initial configuration for identification purposes, according to some exemplary embodiments. [Figure 5A] FIG. 1 illustrates a flowchart for reformulating a trajectory design problem as a function approximation problem in accordance with some illustrative embodiments. [Figure 5B] FIG. 1 illustrates an exemplary training method for learning trajectory prediction, according to some illustrative embodiments. [Figure 6A] FIG. 2 illustrates two examples of an identifiability scoring module, according to some exemplary embodiments. [Figure 6B] FIG. 2 illustrates an example method for obtaining a discriminability scoring function, according to some exemplary embodiments. [Figure 7] FIG. 4 illustrates a flowchart of a predicted discrimination trajectory generator according to some exemplary embodiments. [Figure 8] FIG. 2 illustrates a flowchart of a method for obtaining a predictive discriminative trajectory generator by training, according to some exemplary embodiments. [Figure 9] FIG. 1 illustrates a flowchart of a training phase employed by a robotic manipulator, according to some exemplary embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0025] The following description provides exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the following description of exemplary embodiments provides those skilled in the art with an enabling description for implementing one or more exemplary embodiments. Contemplated are various changes that may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosed subject matter, as set forth in the appended claims.

[0026] Specific details are provided in the following description to provide a thorough understanding of the embodiments. However, those skilled in the art will appreciate that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements in the disclosed subject matter may be shown as components in block diagram form in order to avoid obscuring the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. Additionally, like reference numbers and names in the various drawings refer to like elements.

[0027] Also, each embodiment may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe operations as a sequential process, many of the operations may be performed in parallel or simultaneously. In addition, the order of operations may be rearranged. A process may be terminated when its operations are completed, but may have other steps not discussed or included in the diagram. Moreover, not all operations in any process specifically described may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, the end of the function may correspond to a return of the function to a calling function or to the main function.

[0028] Robotic manipulation tasks require very precise inputs to perform the task in a desired manner. Accurate payload information is crucial for efficient and precise control of the robotic manipulator. Payload estimation, when performed offline, is based on the assumption that the manipulator only operates on the same workpiece. However, real-world scenarios are not limited to working only on fixed loads, and very often a particular task requires operating in scenarios where the payload or workpiece state and time are variable. With manipulators becoming more and more versatile, load estimation must be realized fast and online to better accommodate payload variations and at the same time maintain impeccable control performance.

[0029] Dynamic load estimation can be effectively performed when the manipulator follows a good trajectory, the quality of the trajectory being measured by some underlying metric. Some exemplary embodiments provide a supervised learning based approach that achieves fast online trajectory generation, thereby speeding up the load estimation process. The dynamic response of trajectory parameters to initial joint configurations is obtained by offline solving many instances of a complex constrained optimization problem for trajectory generation. The online trajectory generation task is completed by predicting the optimal response to the current joint configuration, which saves a lot of time compared to constantly solving the initial trajectory design problem. Thus, some exemplary embodiments provide a computationally efficient and fast approach for the load estimation task. An important advantage of such an approach is that the robotic manipulation control associated with the computationally efficient and fast load estimation task provided herein is much more precise and rapid than that provided by conventional solutions. To these ends, provided herein are robotic manipulators, as well as methods and programs for controlling a robotic manipulator.

[0030] 1A illustrates a block diagram of an overall architecture 100A of a system for load estimation, according to some exemplary embodiments. A sensing system 101 collects information about a robot arm 20 and its environment 10. In this regard, the sensing system 101 is coupled to the robot arm in a suitable manner to sense information about the robot arm 20 and / or the environment 10. A task / path / motion planner 105 receives sensed information 102 from the sensing system 101, receives load parameter estimates 116 from a load estimator 115, and provides one or more outputs regarding a predicted discrimination trajectory 106 to one or more controllers 120 of the robot manipulator.

[0031] The sensing system 101 can be realized through one or more sensors and associated circuitry. For example, the sensing system 101 may include position, orientation, imaging, thermal, weight and other sensors for sensing state parameters of the manipulator and / or payload. The sensing system 101 senses one or more parameters of the manipulator, its environment 10, and / or the payload and provides sensed information 102 for further processing. In some embodiments, the sensing system 101 processes the measurement data and generates sensed signals representative of the geometrical properties and pose of objects in the environment, the current configuration of the robot arm 20, the velocities / accelerations of all joints of the robot arm 20, and the torques / forces of the actuators of the robot arm 20.

[0032] The geometric characteristics may include, but are not limited to, the length, width, and height of a set of minimum bounding boxes that contain the object. The object may be a payload, an obstacle for a manipulator, or a part of a robotic manipulator. In some embodiments, the geometric characteristics of the object are characterized as an occupancy map defined over a three-dimensional space. In an embodiment, the sensing system 101 may utilize one or more imaging sensors, such as a camera, to recognize the location and geometric characteristics of objects around the robotic arm 20. In another embodiment, some objects may have devices that store information about these objects, and the sensing system 101 may retrieve and modify the stored information or add information for future processing. Such information-bearing devices may include optical elements, such as Quick Response (QR) codes or Radio Frequency Identifiers (RFIDs), as examples. The sensing system 101 may employ encoders to measure joint positions, current sensors to indirectly infer torque or force generated by actuators, or force / torque sensors to directly measure torque or force.

[0033] FIG. 1B illustrates a configuration 100B of a robot manipulator according to some embodiments. The robot manipulator includes a robot arm 20 for performing a pick-and-place operation. The robot arm 20 includes at least one link 151, one or more joints 152, and a wrist 153 for ensuring multiple degrees of freedom to reliably pick up an object 154. In some implementations, the wrist 153 includes an end effector 155 for holding the object 154 and / or for performing any other robotic operation, such as an assembly operation. The end effector 155 may be, for example, a gripper. Hereinafter, the terms "end effector" and "gripper" may be used interchangeably. Also, the object 154 may be a workpiece, a payload, or an obstacle.

[0034] The robotic manipulator may be coupled with one or more components, such as a sensing system 130 similar to sensing system 101 of FIG. 1A and one or more controllers 140. The sensing system 130 may provide sensed data regarding the state, position, orientation, etc., of the robotic manipulator, an object, or the manipulator's environment. The one or more controllers 140 perform control processing and generate control signals for the execution of one or more operations by the robotic manipulator. In this regard, some of the main processing modules of the one or more controllers 140 include a joint angle / torque measurement module 142, a path and motion planner 144 for an identified trajectory, and a controller 146 for controlling joint actuators to execute the identified trajectory.

[0035] The joint angle / torque measurement module 142 reads orientation measurements of one or more joints 152 from the sensing data provided by the sensing system 130. For example, in some exemplary embodiments, angular orientations of the joints with respect to the links 151 may be calculated based on the sensing data. Similarly, torque measurements about the joints may be measured using the data sensed by the module 142. The path and motion planner module 144 performs calculations to generate discriminative trajectories along which the robot manipulator, or a portion thereof, moves to perform a task. Details regarding the operations performed by the path and motion planner 144 are described below with reference to FIG. 2.

[0036] 1C in a manufacturing facility, or moving parts to reorganize storage locations 172 in a warehouse, or moving parts to clear a path at home. According to one embodiment, the purpose of a pick-and-place operation is to pick (lift) workpiece 154A in one orientation from among workpieces 154A-154D in a workspace and place (place) it in another specified orientation.

[0037] In one embodiment, the workspace is a specification of the configurations that the robot's end effector 155 can reach. Referring again to Figure 1B, the workpiece 154 is typically held by the end effector 155 without slipping, and therefore the pose of the workpiece 154 and the pose of the end effector 155 are the same thing. The workpiece may also be referred to as a load or payload.

[0038] In one embodiment, the pose p of the end effector 155 in the workspace can be expressed in Euclidean space as (x, y, z). In some exemplary embodiments, the pose of the end effector 155 includes parameters that represent the orientation of the object, e.g., at least one of roll, yaw, and pitch.

[0039] A configuration of a robot is a complete specification of the positions of all points of the robot. The minimum number of real-valued coordinates, n, required to represent a configuration is the number of degrees of freedom (DoF) of the robot. The n-dimensional space containing all possible configurations of a robot is called the configuration space (C-space). A configuration of a robot is represented by a point in that C-space. In one embodiment, a configuration q ∈ R of a robot arm is n is parameterized by the positions of all the joints 152, and q i represents the position of the i-th joint. Taking into account the configuration and robot kinematics, the pose of the end effector 155 is determined by a nonlinear function p = FK in It is uniquely determined by the forward kinematics shown in (q).

[0040] The dimensions of the parameters describing the pose of the end effector 155 are equal to or less than the dimensions of the parameters describing the configurations of the robot arm 20. In one embodiment, a set of configurations can give the same pose of the end effector 155. This allows for the freedom to choose configurations that not only give the pose of the end effector 155 but also have other desirable characteristics, for example allowing for fast and accurate parameter estimation of the payload 154.

[0041] An exemplary pick-and-place task performed by a robotic manipulator will now be described with reference to Figures 1C and 1B. Robot 150 is configured to perform a pick-and-place operation, such as unloading workpiece 154A from a conveyor of assembly line 171 to a destination location, such as storage location 172. Workpiece 154A is held with end effector 155, so the pick-and-place task involves moving end effector 155 to an initial pose p0 to grasp workpiece 154A, and moving end effector 155 to a target pose p0 to place workpiece 154A. fis equivalent to positioning the workpiece at the target pose. For simplicity's sake, manipulating the workpiece and moving the end effector have the same meaning and are used interchangeably. Unloading includes sensing the initial pose of the workpiece 154A, determining a target pose, planning a pick trajectory from the current pose of the end effector to the initial pose, moving the robot arm along the pick trajectory to approach the workpiece, picking (lifting) the workpiece, planning a place trajectory from the initial pose to the target pose, moving the robot arm along the place trajectory to the target pose (location), and finally releasing the workpiece.

[0042] A path, as used herein, defines the spatial position of the end effector 155. A trajectory along a particular path defines the velocity profile over time as the end effector 155 moves along this path. In a simple scenario, a trajectory may dictate motion along one direction. In another embodiment, the trajectory of the end effector 155 may include a motion profile that spans multi-dimensional space.

[0043] In some embodiments, the path is represented by a set of poses of the end effector 155. Thus, the trajectory of the end effector 155 is defined according to its initial and target poses. In another embodiment, the path is represented by a set of configurations of the robot arm 20 that correspond to a set of poses of the end effector 155. The mapping from the poses of the end effector to the configurations of the robot arm is known as inverse kinematics, and is given by q=IK in Given a pose p, IK in (p) can tolerate multiple solutions.

[0044] In an embodiment, the pick-and-place operation is non-repetitive, e.g., each operation has a different initial pose and / or target pose and / or workpiece. To achieve the best system performance and ensure the safety of the operation, it is essential to estimate the parameters of the load (workpiece) 154 for the place task. The performance metric to quantify the system performance can be the time to perform the place task, or the positioning accuracy of the place task (how close the true pose trajectory of the load is to the place trajectory), or the energy consumption to complete the place task.

[0045] 1D illustrates a flowchart 100D of an exemplary load estimation task performed by a robot manipulator, according to some exemplary embodiments. An initial joint configuration 160 corresponding to torques and motions of the joints of the robot manipulator is obtained. Then, at 161, a check is performed to see if load estimation is requested or necessary. This may include, for example, checking whether a workpiece or load is available for picking or placing, or checking whether a sequence of operations to be performed by the robot manipulator includes performing an operation on a workpiece. If it is determined that load estimation is not required, control passes to performing normal tasks 162. However, if the check at 161 returns a result that load estimation is requested, control passes to generating an optimal discriminative trajectory for the manipulator 163.

[0046] As previously mentioned, effective robotic manipulation requires the design of an optimal discriminant trajectory for the manipulator, over which data corresponding to the manipulator's movements and motions are sensed and processed to estimate loads. Thus, at 165, the manipulator is controlled to follow or traverse the optimal discriminant trajectory. As the manipulator follows the optimal discriminant trajectory, sensor data corresponding to the movements and motions of the manipulator's joints along the trajectory is acquired at 166 and sent to the controller at 167 to estimate load parameters.

[0047] FIG. 1E is a block diagram illustrating some components of a flexible robotic manipulator for a physical realization of a method for performing a pick-and-place task, according to some exemplary embodiments. For example, some components of one or more controllers 140 of FIG. 1B can be recognized in the schema shown in FIG. 1E. Memory 180 comprises one or more modules 181-183 for storing the code implementing the functions of task / path / motion planner 105, load estimator 115, and controllers 120 and 140. Processor 190 reads sensed information 102 from sensing system 101 at each sampled time point, executes code 191, and outputs processing results 192 to drives / actuators 193. Drives and actuators 193 are part of the robot arm hardware. In one embodiment, control commands 192 are torque or force references (signals) that actuators generate. Drives take the control commands and convert them into voltages or currents that are supplied to actuators for torque or force generation that drives the movement of the robot arm, tracking the references.

[0048] The movement of the robot arm 20 is uniquely specified by a trajectory q(t). In one embodiment, the actuators are direct current (DC) or alternating current (AC) electric machines for angular or linear movement or a combination thereof, and the drives consist of digital and analog electrical circuits to perform electrical energy conversion between different forms, i.e., AC to DC and DC to AC.

[0049] 1A again, some operation aspects of the robot manipulator can be described. Based on the sensed information 102 and the robot arm model / shape and motion constraints 110, the task / path / motion planner 105 determines a pick-and-place task, a pick trajectory, and a predicted identification trajectory, and outputs the pick trajectory to the controller 120. Based on the pick trajectory and the sensed information 102, the controller 120 generates a command for the robot arm 20 so that the movement of the end effector follows / passes the pick trajectory. When the passage of the pick trajectory is completed and the end effector grasps the load, the task / path / motion planner module 105 outputs a predicted identification trajectory 106 to the controller 120, which commands the robot arm 20 to track the predicted identification trajectory, and at the same time, the load estimator 115 generates and provides to the planner 105 and the controller 120 an estimate of the load parameter 116 based on the robot arm model 110 and the sensed information 102. The planner 105 generates a placing trajectory based on the estimated load parameters 116, the sensed information 102, and the robot arm model 110. The controller 120 commands the robot arm to execute the placing trajectory based on the estimated load parameters 116 and the placing trajectory, possibly retuned according to the estimated load parameters 116.

[0050] In one embodiment, the pick-and-place task specifies the current pose, the initial pose, and the target pose of the manipulator's end effector. In one embodiment, the robot arm model includes the geometric information, the kinematic and dynamic models, and the motion constraints of the robot arm 20.

[0051]

number

[0052]

number

[0053] 2 illustrates some steps of a flexible robot manipulation method, according to some example embodiments. A task planner 205 determines an initial configuration q0 of the robot arm to pick a payload. Based on the initial configuration 215, the sensed data 202, and the robot arm model 210, a path and motion planner module 220 determines a current configuration q c Determine the pick path and motion that connects q to the initial configuration q0. The pick trajectory is c ,q0,t). Given the pick trajectory, sensed signals, and robot model, one or more controllers, such as controller 120, command actuators to apply torques / forces to the joints such that the robot arm executes the pick trajectory at 230. When the robot arm comes to rest in a configuration close enough to the initial configuration for picking, the end effector grasps the payload at 240 and the predicted discrimination trajectory 215, denoted by Φ(q0,*,t), is executed.

[0054] Meanwhile, at 250, the load inertia parameters are estimated based on the sensed data 202 and the robot model 210. Upon completion of the predicted discrimination trajectory 215, the estimated load parameters are provided to the task planner 205 and the controller 120. The path and motion planner calculates the path and motion trajectory Φ(q1,q2) for the place task 260. f , t), which is then calculated in 270 as the desired pose of the end effector (alternatively, the desired configuration q f ), the second argument of the discriminant trajectory Φ(q0,*,t) is left open because, unlike the localization task, the discriminant trajectory serves a unique purpose and does not require the trajectory to stop at a specified configuration.

[0055] In one embodiment, the task planner 205, the path and motion planner for pick tasks 220, and the path / motion planner for place tasks 260 are implemented in the task planner module 205. Steps associated with executing a pick trajectory 230, executing a predicted identified trajectory 240, and executing a place trajectory 270 may be performed by the controller 120, 140 (or processor 190) and one or more drives / actuators 193.

[0056] In one embodiment, any motion generated in either step 220 or 260 is collision-free in the environment. A motion in either 220 or 260 connecting a configuration q1 to another configuration q2 implies a collision-free solution q(t) of the robot dynamic model over a finite time interval [0,T], where q(0)=q1 and q(T)=q2, where T can be selected or designed in advance. In one embodiment, the motion constraints specify upper and lower bounds on the velocity and acceleration of the joints, and / or the torque / force of the actuators, and / or the current through the actuators. In one embodiment, the path and motion planner for the pick-and-place task may be identical, but given different initial and target configurations.

[0057] In one embodiment, the second argument of Φ(q0,*,t) is the same q0 to ensure that the robot arm returns to configuration q0 after the identification trajectory.

[0058] 3A shows a flowchart illustrating offline learning of an optimal discriminant trajectory and online calculation for predicting an optimal discriminant trajectory according to some exemplary embodiments. In some exemplary embodiments, learning 310 an optimal discriminant trajectory parameterized by basis functions for an initial joint configuration may be performed offline. Specifically, some exemplary embodiments construct an optimal response as a function of the initial joint configuration by pre-solving many instances of a trajectory design problem offline. The dynamic response of trajectory parameters to the initial joint configuration is obtained by solving many instances of a complex constrained optimization problem for trajectory generation offline.

[0059] To this end, multiple initial joint configurations of the manipulator are randomly generated at 315 by the task planner 205 based on sensed data on the manipulator and physical models and the motion constraints and geometry of the robot arm. Accordingly, multiple trajectory design problems are formulated and solved at 320 to learn the best responses to the joint configurations. In this regard, a suitable supervised learning based approach can be utilized. Some examples of supervised learning based techniques include linear regression and Gaussian regression with a polynomial basis. In this way, a machine learning model is obtained that can predict the optimal discriminative trajectory for the joint configuration.

[0060] In some exemplary embodiments, the trajectory prediction task 330 may be performed online at run time for load estimation. A predictive model obtained as part of the offline learning stage 310 may be employed to predict an optimal trajectory for online load estimation at 335. In this regard, a current joint configuration of the manipulator may be measured from sensed data, and a corresponding optimal discrimination trajectory may be predicted accordingly using the predictive model. The predicted optimal discrimination trajectory may be transmitted to the manipulator's controller at 340 for execution and further processing for load estimation.

[0061] FIG. 3B illustrates a framework of a learning model for predicting an optimal discriminant trajectory according to some exemplary embodiments. The learning model 350 comprises a module 351 for obtaining a joint configuration (current candidate or initial configuration) of the manipulator. A trajectory optimality criterion 353 defined against a threshold value may be accessible to the learning model 350. The module 355 generates an optimal discriminant trajectory corresponding to the joint configuration of the manipulator by solving a trajectory design problem dynamically formulated according to the manipulator model and the joint configuration. Then, a supervised learning method 357 such as linear regression and Gaussian regression using a polynomial basis is used to learn the structure of the optimal response as a function of the initial joint configuration. To this end, several instances of the trajectory design problem can be solved for different joint configurations until a solution that meets an acceptable level is obtained and the link between the joint configuration and the optimal discriminant trajectory is available for learning. In this way, a valid prediction model / method 359 can be learned for further use in online load estimation.

[0062] 3C shows a detailed flow chart of online load estimation according to some exemplary embodiments. The manipulator physical model and motion constraints 350 can be retrieved, for example, from a memory. The learning stage includes randomly generating multiple initial joint configurations 352 using the manipulator physical model and motion constraints 350. Accordingly, multiple trajectory design problems are formulated based on the multiple initial joint configurations at 354. The thus generated trajectory design problems are solved at 354, and optimal responses from the initial joint configurations to discriminatory trajectories are constructed at 356. In this regard, a supervised learning-based method 357 can be used to learn optimal responses from the solved trajectory design problem cases 355.

[0063] Having obtained the predictive model for predicting an optimal discrimination trajectory corresponding to the joint configuration, the load estimation process includes obtaining a current joint configuration 359 of the manipulator. The current joint configuration may be obtained from sensed data of the manipulator in the manner described above with reference to Figures 1A-1D. Based on the current joint configuration, the predictive model predicts an optimal discrimination trajectory 361 in 358, and control proceeds to step 360, in which the motion of the manipulator (e.g., via its actuators and joints) is controlled such that the manipulator passes through the predicted optimal discrimination trajectory 361. In this regard, a dynamic model 365 of the manipulator is also utilized. Step 360 further includes monitoring sensed data 363 as the manipulator passes through the predicted optimal discrimination trajectory 361, and generating data for load estimation. The measured data in 360 and the dynamic model 365 of the manipulator are utilized for estimating 362 load parameters.

[0064] FIG. 4 shows a flow chart illustrating some steps of a method for a task planner to select an initial configuration q0 for identification purposes, according to some exemplary embodiments. First, at 410, a collision-free configuration candidate q is obtained from a plurality of joint configurations. The configuration candidate is provided to an identifiability scoring module 420 to evaluate its identifiability score. The identifiability scoring module 420 generates an identifiability score for the configuration candidate q. If the identifiability score does not meet a predefined criterion, the configuration candidate is discarded and control proceeds to obtain another collision-free initial configuration candidate at 410. However, if the identifiability score of the configuration candidate q meets the criterion at 430, the configuration candidate q is selected as the initial configuration q0 and provided to a module 440 to generate a predicted identification trajectory, e.g., Φ(q0,t). The predicted identification trajectory is checked for collisions at 450. If the predicted identification trajectory is collision-free, at 460, the configuration candidate is selected as the initial configuration q0; otherwise, at 410, a new collision-free target configuration candidate is selected and the process is repeated for that configuration candidate.

[0065]

number

[0066]

number

[0067]

number

[0068]

number

[0069]

number

[0070]

number

[0071] As shown in FIG. 5A, a meaningful trajectory design problem 515 is formulated based on an initial configuration q0, a finite time interval [0,T] 505, a robot model and motion constraints 210, and an objective function 510. The goal of solving the trajectory design problem is to find an optimal discriminant trajectory q(t) over a finite time interval [0,T] with q(0)=q0 and motion constraints such that the objective function (8) is minimized. Combining the robot model and inverse dynamics, it is understood that the optimal discriminant trajectory q(t) suggests a unique optimal control trajectory τ(t). Therefore, the trajectory design problem, whose decision variables are the trajectories of all the joints of the robot arm, can be reformulated as an optimal control design problem 520, whose decision variables are the control trajectories of the robot arm.

[0072] In some demonstrative embodiments, the optimal control problem 520 for any q0 may admit of a piecewise continuous or continuous solution τ(q0,t) in the time domain at 525, with a corresponding identifiability score V(q0)=f(Y L ) can be obtained, and Y L is constructed from the trajectory results from τ(q0,t). The function V(q0) is called the value function 530. Note that the solution τ(q0,t) 525 and the resulting identifiability score can be obtained by solving the optimal control problem 520 through numerical optimization, which is a time-consuming process that is not suitable for online applications. However, according to optimal control theory, the optimal solution and value function are functions of q0, but an explicit expression of the function is very difficult to establish for many real systems, including robotic arms. However, given the existence of the functions and correct arguments, they can be approximated by training. In some embodiments, the generated predicted discriminative trajectory 440 outputs a control trajectory by approximating τ(q0,t). In other embodiments, the generated predicted discriminative trajectory 440 outputs a joint position trajectory by approximating q(q0,t). In one embodiment, the training process is to approximate the value function V(q0) so that the approximation function can quickly predict the identifiability score for a particular initial configuration q0.

[0073]

number

[0074] In some embodiments, the generated predicted discriminative trajectory 440 approximates an optimal solution (τ(q0,t) or q(q0,t)) of the trajectory design problem by a parameterization over a particular function space spanned by known basis functions, where all parameters are functions of q0. The discriminability score module 420 approximates a value function V(q0) by a parameterization over a particular function space spanned by known basis functions, where all parameters are functions of q0.

[0075]

number

[0076] The formulation of the trajectory design problem is reduced to finding a control trajectory τ(t) such that f(x(T)) is minimized. Since the objective function depends on the state x at the final time T, the trajectory design problem reduces to a standard optimal control design problem. It can be assumed that there can be at least one optimal solution to the optimal control problem. Given the robot model and motion constraints, the initial configuration, and a finite final time T, the value of the objective function associated with the optimal solution is fully determined by q0. This suggests that the objective function and the optimal solution can be approximated by training.

[0077] The trajectory design problem admits of solutions defined over infinite dimensional spaces. However, this may not be suitable for training, where the output and input dimensions must be at least finite, and preferably low, to reduce training complexity. Thus, solving the trajectory design problem 354 in FIG. 3C imposes structural constraints on the class of trajectories to yield solutions over finite dimensional spaces.

[0078] To reduce the computational load and speed up the process, some embodiments repeatedly split the configuration space until the predictive performance in each subspace is sufficiently satisfactory. Specifically, a large subspace can be split into smaller ones using an iterative bisection method, and an individual learning model can be trained in each subspace. This process can be repeated in each subspace until the predictive performance reaches a predefined threshold. Some exemplary embodiments further allow for flexible adjustment of the tradeoff between the granularity of the split and the overall predictive performance according to the specific use case requirements.

[0079] In this regard, FIG. 5B illustrates an exemplary training method for learning trajectory prediction, according to some exemplary embodiments. A space defined by joint configurations may be selected as a target space 552. A predictive model is trained to learn trajectory prediction in the target space, and a metric quantifying predictive performance may be evaluated at 554. Based on the evaluated predictive performance, a check 556 on the quality of the prediction may be performed. If the predictive performance is determined to be sufficiently good at 556 (e.g., meeting a quality threshold), training for the target space may be terminated and designated as completed at 558. However, if the check at 556 indicates that the predictive performance is not good for the space, the joint configuration space is bisected at 560 to isolate the subspace with poor predictive performance. Control returns to training and evaluation of predictive performance at 554, and subsequent steps are repeated until a robust predictive model is obtained for the entire joint configuration space of interest.

[0080] In some embodiments, the predictive performance over the particular object space to which the initial configuration belongs is measured using a discriminability score f(Y L ) or the percentage of approximation function values ​​below a certain threshold. For example, for N characteristic initial configurations q0 over a particular object space, the resulting N optimal control problems are solved to obtain N optimal trajectories and associated value function values, the optimal trajectories and value function values ​​are used to train a prediction model, and a discriminability score of the predicted trajectories from the prediction model is evaluated. Furthermore, the percentage of discriminability scores below a certain threshold (indicating good estimation accuracy) is calculated. In another embodiment, the prediction performance over a particular object space is one in which the root mean square error between the true value function values ​​and the approximation function values ​​for the N cases is less than a certain threshold.

[0081]

number

[0082] 6B discloses an exemplary method for obtaining the discriminability scoring function 610, according to some exemplary embodiments. To obtain the discriminability scoring function 610, multiple initial configurations of the robot arm are generated at 630 and stored as initial configuration data 631. For each initial configuration, given the robot model and motion constraints 210 and a cost function 645, a trajectory design problem is solved at 640 to generate an optimal discriminability trajectory. The discriminability score 641 is the value of the cost function that is evaluated and stored at the optimal discriminability trajectory. At 650, the discriminability scoring function is trained to match the relationship from the initial configurations 631 to the discriminability score 641 according to a certain criterion.

[0083] In some embodiments, the initial configurations are generated by randomly sampling or deterministically decomposing the target configuration space such that they are evenly distributed across the configuration space C.

[0084]

number

[0085]

number

[0086]

number

[0087]

number

[0088] 7 shows a flow chart of the predicted discrimination trajectory generator 620 according to the second embodiment 420B of FIG. 6A. Given an initial configuration q0 705 of the robot arm, the optimal trajectory prediction 710 is k , B kand the corresponding trajectory is verified against the motion constraints 210 at 715. k , B k If the trajectory corresponding to satisfies the motion constraints, a rescaling operation is performed and the amplitude A k , B k is increased to hit the motion constraint. If this gives a better discriminability score, the rescaled trajectory is adopted in 735, otherwise the original amplitude A is used in 730. k , B k However, the trajectory associated with the amplitude A k , B k If the trajectory corresponding to does not satisfy the motion constraints, the amplitude A k , B k is reduced to ensure that the resulting trajectory complies with the motion constraints 725.

[0089] 8 illustrates one embodiment of a method for obtaining the predictive discriminative trajectory generator 710 by training. A number of initial configurations of the robot arm are generated at 630 and stored at 631. For each initial configuration, a trajectory design problem is solved at 640 to obtain an amplitude A k , B k are obtained and stored as trajectory data 836. At 850, a discriminability scoring function is trained to match the relationship from the initial configuration 631 to the discriminability score according to a certain criterion, for example, the parameters of the discriminability scoring function or approximation function are determined by minimizing the root mean square error between the true value function values ​​and the predicted values ​​of the approximation function at various initial configurations. At 850, a predicted discriminative trajectory generator is trained and the parameter values ​​of the parameterized function are determined by minimizing the error between the function output 836 and a given initial configuration 631.

[0090] In some embodiments, module 710 can predict identification trajectories that violate motion constraints. In addition, it is recognized that trajectories that hit motion constraints tend to be better for identification purposes than unconstrained trajectories. Thus, in some embodiments, rescaling the output of 710 may be necessary for safety or advantageous for better parameter estimation performance.

[0091]

number

[0092]

number

[0093]

number

[0094]

number

[0095] Linear regressor Y L Since depends on the state of the manipulator, the optimal excitation trajectory is related to the starting configuration of the joints. Therefore, if the mapping M captures such a relationship, it is possible to generate optimal trajectories without explicitly solving the optimization problem. Specifically, if the model M is given by the input (q(0)) and the output (optimal A k and B. k ), the online trajectory generation problem is rewritten as a simple function evaluation. The predicted trajectories may need to be further processed to enforce constraints (12)–(16).

[0096] Thus, the exemplary embodiments disclosed herein significantly reduce the computational complexity associated with load estimation by a robotic manipulator. The reduction in computational complexity, in other words, the simplification of the load estimation process, leads to an improvement in the performance of the robotic manipulator. An immediately noticeable improvement is the time required to estimate load parameters by the robot's control system. The exemplary embodiments disclosed herein also provide flexibility in the robotic manipulator's ability to handle variable loads. Thus, a robotic manipulator incorporating the disclosed scheme for load estimation will find use in applications that may not have been possible otherwise. In other words, the exemplary embodiments of the present invention provide an immediately tangible improvement to a robotic manipulator.

[0097] The logic, software, or instructions for implementing the above processes, methods, and / or techniques are provided on a computer readable storage medium or memory or other tangible medium, such as a cache, buffer, RAM, removable media, hard drive, other computer readable storage medium, or any other tangible medium. Tangible media includes various volatile and non-volatile storage media. The functions, acts, steps, or tasks illustrated in the figures or described herein are performed in accordance with one or more sets of logic or instructions stored in or on a computer readable storage medium. The functions, acts, or tasks are independent of a particular type of instruction set, storage medium, processor, or processing procedure, and may be performed by software, hardware, integrated circuits, firmware, microcode, etc. operating alone or in combination. Similarly, processing procedures may include multiprocessing, multitasking, parallel processing, etc. In one embodiment, the instructions are stored on a removable media device for reading by a local or remote system. In other embodiments, the logic or instructions are stored at a remote location for transfer through a computer network or over telephone lines. In yet other embodiments, the logic or instructions are stored within a particular computer, central processing unit ("CPU"), graphics processing unit ("GPU"), or system.

[0098] The above-described embodiments of the present invention may be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software, or a combination thereof. If implemented in software, the software code may be executed on any suitable processor or collection of processors, whether located on a single computer or distributed across multiple computers. Such a processor may be implemented as an integrated circuit, with one or more processors being components of the integrated circuit. However, the processor may be implemented using circuitry in any suitable format.

[0099] Also, embodiments of the invention may be implemented as a method, one or more examples of which are provided. The order of operations performed as part of the method may be determined in any suitable manner. Thus, embodiments may be configured to perform operations in an order different from that illustrated, which may include performing some operations simultaneously, although in the illustrated embodiment they are shown as a sequence of operations.

[0100] Although the disclosure has been described with examples of preferred embodiments, it will be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications which come within the true spirit and scope of the invention.

Claims

1. A manipulator comprising: a robotic arm including one or more joints configured to move a payload according to a task; a plurality of actuators configured to modify the motion of the robot arm to follow a trajectory; a memory configured to store a model of the manipulator together with unknown load information and a mapping function that maps an initial pose of the load to a corresponding discrimination trajectory; an input interface configured to accept an initial pose of the payload and the task of moving the payload; a processor configured to execute stored instructions that implement the different modules of the manipulator; The processor includes a load estimator, the load estimator comprising: using the mapping function to retrieve a discrimination trajectory corresponding to the initial pose of the payload; controlling the plurality of actuators to move the payload according to the extracted discrimination trajectory based on the model of the manipulator together with the unknown load information; obtaining measured motion data corresponding to a movement of the payload according to the extracted discriminant trajectory and estimated motion data of the payload corresponding to a movement of the payload according to the discriminant trajectory and estimated based on the model of the manipulator; Estimating parameters of the load based on the measured motion data of the load and the estimated motion data of the load. It is configured as follows: The processor further includes a performance controller, the performance controller comprising: obtaining a model of the manipulator comprising the load together with the estimated parameters of the load; determining a performance trajectory for moving the payload according to the task based on the model of the manipulator having the payload together with the estimated parameters; Controlling the actuator to move the load according to the performance trajectory The manipulator is configured as follows.

2. a sensing module configured to sense the initial position of the load; The manipulator according to claim 1 , wherein the load estimator is configured to estimate an initial configuration of the joints of the manipulator corresponding to the detected initial posture, and the mapping function receives the initial configuration of the joints as an argument and outputs the discrimination trajectory.

3. 3. The manipulator of claim 2, wherein the mapping function is trained based on training data, the training data including a set of initial configurations of the joints and a corresponding set of discriminant trajectories, each discriminant trajectory in the set of discriminant trajectories being optimized for a corresponding initial configuration of the joints.

4. 4. The manipulator of claim 3, wherein the training data is formed by sampling a space of configurations of the joints of the manipulator to generate sample initial configurations of the joints, and solving a trajectory design problem for the generated sample initial configurations of the joints.

5. The manipulator of claim 4 , wherein the trajectory design problem is based on one or more of an initial configuration of the joints, a finite time interval, a robot model and motion constraints, and an objective function that quantifies a trajectory identifiability score.

6. The manipulator of claim 4 , wherein the space of joint configurations of the manipulator is parameterized by the positions of the joints.

7. The manipulator of claim 3 , wherein the discrimination trajectory is parameterized based on coefficients of a basis function.

8. the mapping function determines an initial configuration of at least one joint based on the initial pose of the load; The processor further comprises: obtaining a subset of discrimination trajectories including at least one discrimination trajectory corresponding to each of the at least one initial configuration; selecting an initial configuration and a corresponding discriminant trajectory from the subset of discriminant trajectories based on one or a combination of a current configuration of the joints of the manipulator, a sensed signal, and the task performed by the manipulator; The manipulator according to claim 1 , configured as follows:

9. To select the discrimination trajectory from the subset of discrimination trajectories, the processor calculating a discriminability score for each discriminant trajectory in the subset of discriminant trajectories; calculating, for each discrimination trajectory of the subset of discrimination trajectories, a motion distance between the initial configuration and a target configuration; sorting the subset of discriminative trajectories from best to worst sum score according to a sum of the corresponding discriminability score and the corresponding motion distance of each discriminative trajectory in the subset of discriminative trajectories; Iteratively examining the subset of discrimination trajectories sorted from the best sum score to the worst sum score to find a first collision-free discrimination trajectory among the sorted subset of discrimination trajectories. The manipulator according to claim 8 , configured as follows:

10. 9. The manipulator of claim 8, wherein to obtain the subset of discriminant trajectories, the processor is configured to determine, from the initial pose of the load, an initial configuration of at least one joint by solving a standard inverse kinematics problem based on the manipulator model.

11. 10. The manipulator of claim 9, wherein the identifiability score is calculated by subjecting the initial configuration to an approximation function, the approximation function being obtained using training data with the initial configuration as input and the identifiability score as output.

12. The manipulator of claim 9 , wherein the movement distance between the initial configuration and the target configuration for each discrimination trajectory in the subset of discrimination trajectories measures a Euclidean distance between the initial configuration and the target configuration.

13. the parameters of the load include a mass of the load, a center of mass of the load, and a moment of inertia of the load; The manipulator of claim 1 , wherein the model of the manipulator with unknown load parameters includes geometric information of the robot arm, kinematic and dynamic models of the robot arm, and motion constraints of the robot arm.

14. To estimate the parameters of the load, the processor further comprises: constructing an identification model of the manipulator using the parameters of the load as unknown variables; selecting an initial configuration and designing a trajectory that sufficiently excites the manipulator such that the parameter of the load is identifiable; collecting and processing motion data along the designed trajectory; Solving a weighted least squares problem to extract the parameters of the loads. The manipulator according to claim 1 , configured as follows:

15. The manipulator of claim 14 , wherein the identification model represents all joint torques as a multiplication of regressors and load parameters, the regressors depending on the manipulator model and the kinematic data.

16. The manipulator of claim 14 , wherein the motion data along the trajectory includes triplet samples of joint position, joint velocity and joint acceleration along the actual trajectory in addition to torque along the actual trajectory.

17. The manipulator of claim 1 , wherein the one or more joints include one or more of a prismatic joint, a revolute joint, a screw joint, or an open chain ball joint.

18. The manipulator of claim 1 , wherein the load estimator is configured to estimate a parameter of the load based on a difference between the measured motion data of the load and the estimated motion data of the load.

19. 1. A method of controlling a manipulator, the method comprising: receiving an initial pose of a load and a task to move the load; and retrieving a discriminant trajectory corresponding to the initial pose of the load using a mapping function, the mapping function mapping an initial pose of the load to a corresponding discriminant trajectory, the method further comprising: controlling a plurality of actuators of the manipulator to move the payload according to the extracted discrimination trajectory; obtaining measured motion data corresponding to a movement of the payload according to the extracted discriminant trajectory and estimated motion data of the payload corresponding to a movement of the payload according to the extracted discriminant trajectory and estimated based on the model of the manipulator; estimating parameters of the load based on the measured motion data of the load and the estimated motion data of the load; obtaining a model of the manipulator comprising the load together with the estimated parameters of the load; determining a performance trajectory for moving the payload according to the task based on a model of the manipulator having the payload together with the estimated parameters; and controlling the actuator to move the load according to the performance trajectory.

20. the mapping function determines an initial configuration of at least one joint based on the initial pose of the load; The method further comprises: obtaining a subset of discrimination trajectories including at least one discrimination trajectory corresponding to each of the at least one initial configuration; and selecting an initial configuration and a corresponding discriminant trajectory from the subset of discriminant trajectories based on one or a combination of a current configuration of the joints of the manipulator, sensed signals, and the task performed by the manipulator.

Citation Information

Patent Citations

  • Six-axis robot tail end load identification method and module

    CN111037567A

  • Robot track planning method taking deflection due to load into consideration

    JP1995261821A

  • Load parameter estimating method

    JP1999048181A

  • Method and apparatus for generating trajectory of mobile body

    JP2010152684A

  • Load parameter setting device and load parameter setting method

    JP2016209952A