Systems and methods for flexible robotic manipulation with fast online load estimation

A supervised learning-based method for robotic manipulators generates optimal trajectories offline to address computational challenges in payload estimation, enabling fast and accurate control in dynamic environments.

JP7785204B2Active Publication Date: 2025-12-12MITSUBISHI ELECTRIC CORP
View PDF 10 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing robotic manipulators face challenges in dynamically estimating payload parameters in real-time due to computationally intensive trajectory generation and optimization problems, which hinder efficient and accurate control in flexible manipulation scenarios.

Method used

A supervised learning-based approach is employed to generate optimal trajectories for robotic load estimation, reducing computational time by pre-solving optimization problems offline and using function approximation to predict trajectories based on initial joint configurations, ensuring compliance with motion constraints.

Benefits of technology

This method enables fast and accurate online load estimation, enhancing the precision and speed of robotic manipulator control, particularly in scenarios with varying payloads, by leveraging supervised learning to efficiently generate discriminative trajectories.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007785204000020
    Figure 0007785204000020
  • Figure 0007785204000021
    Figure 0007785204000021
  • Figure 0007785204000022
    Figure 0007785204000022
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 particularly to a supervised learning-based approach for online trajectory generation in robotic load estimation tasks. [Background technology]

[0002] Robots are being deployed for 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 a robot can interact with serve as the robot's payload. In most cases, the interaction between the robot and its corresponding load involves performing robotic manipulations on the payload using a manipulator. Controlling the behavior of such robotic manipulators requires accurate physical models of the payload and environment that generate desired motions (trajectories) for the manipulator to accomplish a specified task. Furthermore, as part of the manipulator model, for example, in the context of flexible manipulation, the payload may sometimes vary from task to task. Therefore, dynamically identifying / estimating the payload is crucial, enabling the design and implementation of informed control.

[0003] To perform dynamic load estimation, the manipulator must follow a specially designed trajectory along which the necessary kinematic data is collected. Generating trajectories in a time-efficient manner is important because fast trajectory generation for load estimation reduces estimation time and enables online implementation. Payload estimation also requires solving a nonlinear optimization problem. Considering that manipulators may need to operate in environments where the payload and its configuration may dynamically change 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 computationally intensive and time-consuming, so performing 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 for a time-efficient method for performing accurate payload estimation for dynamically changing scenarios. Summary of the Invention

[0004] Some illustrative embodiments recognize that accurate payload estimation is an important step toward 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 illustrative embodiments recognize that the payload estimation process may consist of 1) building an identifiable model of the manipulator using 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 motion data along the trajectory (e.g., sample triplets of joint position, velocity, and acceleration); and 4) solving a (weighted) least-squares problem to extract the load parameters.

[0005] Some illustrative embodiments are also based on the recognition that the identification model can be reduced to a linear model with the load parameters as unknowns, so that the task of accurately estimating the load parameters can be reduced to designing a coefficient matrix that is directly related to the trajectory being undertaken. Some solutions are based on the recognition that the identification trajectory is typically parameterized by a combination of basis functions, such as sinusoidal functions with various frequencies, and the goal is to determine optimal parameters within the trajectory such that the coefficient matrix is ​​well-tuned to the underlying metric. Some illustrative embodiments are based on the recognition that due to the highly complex relationship between the trajectory parameters and the metric quantifying the quality of the coefficient matrix, optimal trajectory design requires solving difficult and time-consuming nonlinear programming problems involving 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 manipulation, which requires real-time identification; the initial configuration of the manipulator is fixed and cannot be freely selected. 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, which may require solving many instances of the optimization problem even for the same load, depending on the initial configuration of the manipulator.

[0007] Thus, it is an object of some illustrative embodiments to provide a trajectory generation method that enables online trajectory generation for accurate robotic manipulator control. Some illustrative embodiments are also directed toward the object of providing a trajectory generation approach that enables online trajectory generation for manipulator load identification systems and methods. Some illustrative embodiments are also directed toward providing a method that reduces the computational time for trajectory generation caused by the highly nonlinear nature of the optimization problems involved. Furthermore, some illustrative embodiments are directed toward 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 load identifiers to achieve better motion execution and control performance based on available accurate models. However, some illustrative embodiments also recognize that a challenge for such systems is to construct load identifiers in a computationally efficient manner that is suitable for online load estimation, and that in flexible manipulation settings, manipulators need to handle a large number of loads with different parameters.

[0009] Some embodiments are based on the understanding that generating a discriminative trajectory can be achieved by solving a nonlinear programming problem. However, applying any direct optimization method to the trajectory generation problem can result in long computational times, significantly reducing the feasibility of this task being performed online. Specifically, 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 for the trajectory design task is highly nonlinear and nonconvex. Therefore, solving a complex optimization problem is necessary to find an optimal trajectory. As a result, applying any direct optimization algorithm directly can take an undesirable amount of time, resulting in an impractical solution for online load estimation applications and a lack of flexible operation.

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

[0011] Some embodiments recognize that trajectories generated offline can also be used online as long as the corresponding joint configurations match. However, the number of joint configurations is countable, making it impossible to build a lookup table for online use. Therefore, an objective of some embodiments is to provide a solution that can compactly and efficiently represent and approximate the trajectory generation case solved offline.

[0012] Some embodiments are based on the recognition 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 to be 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 understanding that a supervised learning-based method can be used to find a well-excited trajectory parameterized by a number of basis functions. The parameterization reduces the search space of the mapping between the initial configuration and the discriminative trajectory. Specifically, 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 with this approach lies in selecting an appropriate 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 the basis functions that constitute the optimal excitation trajectory (also called the 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 motion constraints and provide a certain level of performance, e.g., a certain level of estimation accuracy. To this end, some embodiments use a performance metric to measure the quality of the predicted trajectory, thereby relaxing the requirement for accurate 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 recognize that a predicted optimal trajectory may not satisfy physical constraints on joint movement, including joint velocities and accelerations of the manipulator. To address feasibility constraints, some embodiments process the parameters of the predicted trajectory by rescaling and projection. Such embodiments not only consider dynamic constraints by restricting the predicted trajectory within a feasible set, but also enable 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 understanding 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 when the manipulator estimation task starts around a neighborhood of some fixed initial positions. 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 computational load and speed up processing, 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 predetermined threshold. In addition, the trade-off between the granularity of the division and the overall predictive performance can be flexibly adjusted according to specific use case requirements. In some embodiments, the predictive performance across a particular target space to which the initial configuration belongs is measured as a discriminability score f(Y L The predictive performance is measured by the percentage of times that the true or approximated value function values ​​are below a certain threshold. For example, for N characteristic initial configurations q0 over a particular target 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 predictive model, and an identifiability score of the predicted trajectories from the predictive model is evaluated. Furthermore, the percentage of times that the identifiability score is below a certain threshold (indicating good estimation accuracy) is calculated. In another embodiment, the predictive performance over a particular target space is the predictive performance for which the root mean square error between the true value function values ​​and the approximated value function values ​​for the N cases is below a certain threshold.

[0019] To achieve the above objects and advantages, some 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 more joints configured to move a load according to a task. The manipulator also comprises a plurality 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 that maps an 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 implement different modules of the manipulator. In this regard, the manipulator includes a load estimator configured to use the mapping function to derive a discriminative trajectory corresponding to the initial pose of the load and to control the plurality of actuators to move the load according to the 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 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 configured to obtain a model of the manipulator having the load together with the estimated parameters of the load; and determine a performance trajectory for moving the load according to the task based on the model of the manipulator having 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 for controlling a manipulator, the method including receiving an initial pose of a load and a task for moving the load, and deriving a discriminative 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 discriminative trajectory. The method further includes controlling a plurality of actuators of the manipulator to move the load according to the discriminative trajectory, and obtaining measured motion data corresponding to the movement of the load according to the discriminative trajectory and estimated motion data of the load corresponding to the movement of the load according to the discriminative trajectory, the estimated motion data being 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. For example, a robust differentiator can estimate joint velocities and accelerations from measured joint angles. 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 are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the presently disclosed embodiments. [Brief explanation of the drawings]

[0024] [Figure 1A] 1 illustrates a block diagram of the overall architecture of a system for load estimation, according to some demonstrative embodiments. [Figure 1B] 1 illustrates a configuration of a robotic manipulator, according to some exemplary embodiments. [Figure 1C]FIG. 1 illustrates an exemplary pick-and-place task performed by a robotic manipulator, according to some exemplary embodiments. [Figure 1D] FIG. 10 illustrates a flowchart 100D of an exemplary load estimation task performed by a robotic manipulator, according to some exemplary embodiments. [Figure 1E] FIG. 1 is a block diagram illustrating some components of a flexible robotic manipulation system for a physical implementation of a method for performing pick-and-place tasks, according to some illustrative embodiments. [Figure 2] 1A-1D illustrate steps of a flexible robot manipulation method, according to some exemplary embodiments. [Figure 3A] FIG. 1 illustrates a flowchart illustrating offline training 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 learning model framework for predicting optimal discrimination trajectories, according to some exemplary embodiments. [Figure 3C] FIG. 1 illustrates a detailed flowchart of online load estimation, according to some exemplary embodiments. [Figure 4] FIG. 10 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] 1A-1C illustrate two examples of an identifiability scoring module, according to some exemplary embodiments. [Figure 6B] FIG. 2 illustrates an exemplary method for obtaining a discriminability scoring function, according to some exemplary embodiments. [Figure 7] FIG. 10 illustrates a flowchart of a predicted discrimination trajectory generator according to some exemplary embodiments. [Figure 8] FIG. 1 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 INVENTION

[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 understand that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements of 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. Furthermore, like reference numbers and names in the various drawings indicate like elements.

[0027] Also, particular embodiments 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. While 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 specifically described process 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 termination of the function may correspond to a return of the function to the calling function or 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 a robotic manipulator. When performed offline, payload estimation 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; very often, a specific task requires operating in scenarios where the payload or workpiece state and time are variable. With manipulators becoming increasingly versatile, load estimation must be fast and online to better accommodate payload variations and, at the same time, maintain satisfactory control performance.

[0029] Dynamic load estimation can be effectively performed when the manipulator follows a good trajectory, and the quality of the trajectory is measured by some underlying metric. Some illustrative embodiments provide a supervised learning-based approach that achieves fast online trajectory generation, thereby accelerating the load estimation process. The dynamic response of trajectory parameters to an initial joint configuration 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 significant time compared to constantly solving the initial trajectory design problem. In this manner, some illustrative embodiments provide a computationally efficient and fast approach for the load estimation task. A significant 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 a robotic manipulator, as well as a method and program 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 illustrative 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 manner suitable for sensing information about the robot arm 20 and / or the environment 10. A task / path / motion planner 105 receives the sensed information 102 from the sensing system 101, receives load parameter estimates 116 from the load estimator 115, and provides one or more outputs related to a predicted identification trajectory 106 to one or more controllers 120 of the robot manipulator.

[0031] The sensing system 101 can be implemented 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 the sensed information 102 for further processing. In some embodiments, the sensing system 101 processes the measurement data and generates sensed signals representative of the geometric 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, a manipulator obstacle, or part of a robotic manipulator. In some embodiments, the geometric characteristics of an object are characterized as an occupancy map defined over three-dimensional space. In one 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-containing 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 position, current sensors to indirectly infer torque or force generated by an actuator, or force / torque sensors to directly measure torque or force.

[0033] FIG. 1B illustrates a configuration 100B of a robotic manipulator according to some embodiments. The robotic manipulator includes a robotic arm 20 for performing a pick-and-place operation. The robotic arm 20 includes at least one link 151, one or more joints 152, and a wrist 153 for 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 task, such as an assembly task. The end effector 155 may be, for example, a gripper. Hereinafter, the terms "end effector" and "gripper" may be used interchangeably. The object 154 may be a workpiece, a payload, or an obstacle.

[0034] The robotic manipulator can 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 can 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 actions by the robotic manipulator. In this regard, some of the primary 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 sensed data provided by the sensing system 130. For example, in some exemplary embodiments, the angular orientation of the joints relative to the links 151 may be calculated based on the sensed data. Similarly, torque measurements about the joints may be measured using the sensed data by the module 142. The path and motion planner module 144 performs calculations to generate a discriminative trajectory along which the robot manipulator, or a portion thereof, moves to perform a task. More details regarding the operations performed by the path and motion planner 144 are provided 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 slippage, 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 as (x, y, z) in Euclidean space. In some exemplary embodiments, the pose of the end effector 155 includes parameters that represent the orientation of the object, for example, at least one of roll, yaw, and pitch.

[0039] A robot configuration is a complete specification of the positions of all points on 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 the robot is called the configuration space (C-space). A robot configuration is represented by a point in that C-space. In one embodiment, a configuration q∈R of the robot arm is n is parameterized by the positions of all joints 152, and q i represents the position of the ith 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 select configurations that not only give the pose of the end effector 155 but also have other desirable characteristics, such as enabling fast and accurate parameter estimation of the payload 154.

[0041] 1C and 1B, an exemplary pick-and-place task performed by a robotic manipulator will now be described. Robot 150 is configured to perform a pick-and-place operation, for example, to unload 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 p to place workpiece 154A. fis equivalent to positioning the workpiece at the target pose. Simply put, manipulating a workpiece and moving an end effector have the same meaning and are used interchangeably. Putting down 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] As used herein, a path 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 that path. In simple scenarios, a trajectory may direct movement along one direction. In other embodiments, the trajectory of the end effector 155 may include a motion profile that spans multiple spatial dimensions.

[0043] In some embodiments, the path is represented by a series 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 other embodiments, the path is represented by a series of configurations of the robot arm 20 corresponding to a series 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 (p). Given a posture p, IK in (p) can admit multiple solutions.

[0044] In one 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. Estimating the parameters of the load (workpiece) 154 for the place task is essential to achieve best system performance and ensure operational safety. Performance metrics for quantifying 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] FIG. 1D shows a flowchart 100D of an exemplary load estimation task performed by a robotic manipulator, according to some exemplary embodiments. An initial joint configuration 160, corresponding to the torques and motions of the joints of the robotic manipulator, is obtained. A check is then performed at 161 to determine whether load estimation is required or necessary. This may include, for example, checking whether a workpiece or load is available for picking or placing, or whether a sequence of operations to be performed by the robotic manipulator involves performing an operation on a workpiece. If it is determined that load estimation is not required, control passes to performing normal tasks at 162. However, if the check at 161 returns a result that load estimation is required, control passes to generating an optimal identification trajectory for the manipulator at 163.

[0046] As previously mentioned, effective robotic operation 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. Accordingly, the manipulator is controlled to follow or traverse the optimal discriminant trajectory at 165. 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 implementation 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 includes one or more modules 181-183 for storing code that implements the functionality 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 processed results 192 to drivers / actuators 193. Drivers 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. Drivers take the control commands and convert them into voltages or currents that are supplied to actuators to generate torque or force that drive the movement of the robot arm, tracking the references.

[0048] The movement of the robot arm 20 is uniquely specified by the 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 drive consists of digital and analog electrical circuitry to perform electrical energy conversion between different forms, i.e., AC to DC and DC to AC.

[0049] 1A , several operational aspects of the robot manipulator can be described. Based on the sensed information 102 and the robot arm model / geometry and motion constraints 110, the task / path / motion planner 105 determines a pick-and-place task, a pick trajectory, and a predicted discriminant trajectory, and outputs the pick trajectory to the controller 120. Based on the pick trajectory and the sensed information 102, the controller 120 generates commands for the robot arm 20 so that the movement of the end effector follows the pick trajectory. Once the pick trajectory has been passed and the end effector has grasped the payload, the task / path / motion planner module 105 outputs a predicted discriminant trajectory 106 to the controller 120, which in turn commands the robot arm 20 to track the predicted discriminant trajectory. At the same time, the load estimator 115 generates load parameter estimates 116 based on the robot arm model 110 and the sensed information 102 and provides them to the planner 105 and the controller 120. The planner 105 generates a place 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 place trajectory based on the estimated load parameters 116 and the place 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 geometric information, kinematic and dynamic models, and motion constraints of the robot arm 20.

[0051]

number

[0052]

number

[0053] 2 illustrates several steps of a flexible robot manipulation method, according to some exemplary embodiments. A task planner 205 determines an initial configuration q of the robot arm to pick a payload. Based on the initial configuration 215, sensed data 202, and 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 the initial configuration q0 to the pick trajectory Φ(q 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 so that the robot arm executes the pick trajectory at 230. Once the robot arm stops in a configuration close enough to the initial configuration for picking, the end effector grasps the payload at 240, and the predicted identification trajectory 215, denoted Φ(q0,*,t), is executed.

[0054] Meanwhile, at 250, load inertia parameters are estimated based on the sensed data 202 and the robot model 210. Upon completion of the predicted identification 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 Φ(q,q) 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 of the robot arm). f ), the robot arm is moved so that it reaches a point close enough to the target point. The second argument of the discriminant trajectory Φ(q0,*,t) is left open because, unlike the localization task, the discriminant trajectory serves a specific 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. The steps associated with executing the pick trajectory 230, executing the predicted identified trajectory 240, and executing the 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 joint velocities and accelerations, and / or actuator torques / forces, and / or currents through 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 the 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 regarding 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 using a polynomial basis. In this manner, 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 can be performed online at run time for load estimation. The predictive model obtained as part of the offline learning stage 310 can be employed to predict an optimal trajectory for online load estimation at 335. In this regard, the current joint configuration of the manipulator can be measured from sensed data, and a corresponding optimal discriminative trajectory can be predicted accordingly using the predictive model. The predicted optimal discriminative trajectory can be transmitted to the manipulator's controller at 340 for execution and further processing for load estimation.

[0061] FIG. 3B illustrates a learning model framework for predicting an optimal discriminative trajectory according to some exemplary embodiments. The learning model 350 includes a module 351 for acquiring a manipulator joint configuration (current candidate or initial configuration). A trajectory optimality criterion 353, defined against a threshold, may be accessible to the learning model 350. A module 355 generates an optimal discriminative trajectory corresponding to the manipulator joint configuration by solving a trajectory design problem dynamically formulated according to the manipulator model and joint configuration. A supervised learning method 357, such as linear regression and Gaussian regression using a polynomial basis, is then 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 discriminative trajectory is available for learning. In this way, an effective predictive model / method 359 can be trained for further use in online load estimation.

[0062] 3C shows a detailed flowchart of online load estimation according to some exemplary embodiments. A physical model of the manipulator 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 physical model of the manipulator 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 discriminative 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] Once the predictive model for predicting an optimal discriminative trajectory corresponding to the joint configuration is obtained, the load estimation process includes obtaining the current joint configuration 359 of the manipulator. The current joint configuration can be obtained from sensed data of the manipulator in the manner described above with reference to FIGS. 1A-1D. Based on the current joint configuration, the predictive model predicts an optimal discriminative trajectory 361 in 358, and control proceeds to step 360, where the motion of the manipulator (e.g., via its actuators and joints) is controlled so that the manipulator traverses the predicted optimal discriminative trajectory 361. In this regard, a dynamic model 365 of the manipulator is also utilized. Furthermore, step 360 includes monitoring sensed data 363 as the manipulator traverses the predicted optimal discriminative trajectory 361 and generating data for load estimation. The measured data in 360 and the manipulator dynamic model 365 are utilized to estimate 362 load parameters.

[0064] FIG. 4 shows a flowchart illustrating several steps of a method for a task planner to select an initial configuration q 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 predetermined 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 q and provided to module 440 to generate a predicted identification trajectory, e.g., Φ(q,t). The predicted identification trajectory is checked for collisions at 450. If the predicted identification trajectory is collision-free, the configuration candidate is selected as the initial configuration q at 460; otherwise, a new collision-free target configuration candidate is selected at 410, 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 q, 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 the finite time interval [0,T] with q(0) = q and the motion constraints such that the objective function (8) is minimized. Combining the robot model with inverse dynamics, it is understood that the optimal discriminant trajectory q(t) suggests a unique optimal control trajectory τ(t). Therefore, a trajectory design problem whose decision variables are the trajectories of all joints of a robot arm can be reformulated as an optimal control design problem 520, where the decision variables are the control trajectories of the robot arm.

[0072] In some exemplary embodiments, the optimal control problem 520 for any q can admit 525 of a piecewise continuous or continuous solution τ(q,t) in the time domain, with a corresponding discriminability score V(q)=f(Y L ) can be obtained, and Y L is constructed from the trajectory results from τ(q,t). The function V(q) is called the value function 530. Note that the solution τ(q,t) 525 and the resulting identifiability score can be obtained by solving the optimal control problem 520 through numerical optimization, 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 q, but an explicit expression of the function is very difficult to establish for many practical systems, including robotic arms. However, given the existence of the function and correct arguments, they can be approximated through training. In some embodiments, the generated predicted discriminative trajectory 440 outputs a control trajectory by approximating τ(q,t). In other embodiments, the generated predicted discriminative trajectory 440 outputs a joint position trajectory by approximating q(q,t). In one embodiment, the training process is to approximate the value function V(q) so that the approximated value function can quickly predict the identifiability score for a specific initial configuration q.

[0073]

number

[0074] In some embodiments, the generated predicted discriminative trajectory 440 approximates the optimal solution (τ(q,t) or q(q,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 q. The discriminability score module 420 approximates the value function V(q) by a parameterization over a particular function space spanned by known basis functions, where all parameters are functions of q.

[0075]

number

[0076] The formulation of the trajectory design problem reduces to finding a control trajectory τ(t) such that f(x(T)) is minimized. Because 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; to reduce training complexity, the output and input dimensions must be at least finite, and preferably low. Therefore, 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 computational load and speed up processing, some embodiments iteratively divide the configuration space until the predictive performance in each subspace is sufficiently satisfactory. Specifically, a large subspace can be divided into smaller ones using an iterative bisection method, and an individual learning model can be trained in each subspace. This process can be repeated until the predictive performance in each subspace reaches a predetermined threshold. Some exemplary embodiments further allow for flexible adjustment of the trade-off between the granularity of the division and the overall predictive performance according to specific use case requirements.

[0079] In this regard, FIG. 5B illustrates an exemplary training method for learning trajectory prediction, according to some demonstrative embodiments. A space defined by joint configurations may be selected as a target space 552. A predictive model is trained to learn trajectory prediction within the target space, and a metric quantifying predictive performance may be evaluated at 554. Based on the evaluated predictive performance, a check on the quality of the prediction may be performed at 556. If the predictive performance is determined to be sufficiently good (e.g., meeting a quality threshold) at 556, training for the target space may be terminated and designated as completed at 558. However, if the check at 556 indicates that 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 target space to which the initial configuration belongs is measured by the discriminability score f(Y L ) or the percentage of values ​​of the approximated value function that fall 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 predictive model, and a discriminability score of the predicted trajectories from the predictive model is evaluated. Furthermore, the percentage of discriminability scores that fall below a certain threshold (indicating good estimation accuracy) is calculated. In another embodiment, predictive performance over a particular object space is such that the root mean square error between the true value function values ​​and the approximated value function values ​​for the N cases is less than a certain threshold.

[0081]

number

[0082] 6B discloses an exemplary method for deriving a discriminability scoring function 610, according to some exemplary embodiments. To derive 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 discriminable trajectory. The discriminability score 641 is the value of the cost function that is evaluated and stored at the optimal discriminable 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 specific criterion.

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

[0084]

number

[0085]

number

[0086]

number

[0087]

number

[0088] Figure 7 shows a flow chart of the predicted discriminative trajectory generator 620 according to the second embodiment 420B of Figure 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, then 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 predicted discriminative trajectory generator 710 by training. Multiple 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 initial configuration 631 to discriminability scores according to a specific 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 for 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. Additionally, it is recognized that trajectories that hit motion constraints tend to be better for identification purposes than unconstrained trajectories. Therefore, in some embodiments, rescaling the output of 710 may be necessary for safety reasons or may be 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 a mapping M captures such a relationship, it is possible to generate an optimal trajectory 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. Reducing computational complexity, in other words, simplifying the load estimation process, leads to improved performance of the robotic manipulator. An immediately noticeable improvement is the time required for the robot's control system to estimate load parameters. The exemplary embodiments disclosed herein also provide flexibility in the robotic manipulator's ability to handle variable loads. Thus, robotic manipulators incorporating the disclosed scheme for load estimation will find use in applications that might not otherwise be possible. In other words, the exemplary embodiments of the present invention provide immediately tangible improvements to robotic manipulators.

[0097] The logic, software, or instructions for implementing the 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, a 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 according to 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 involve 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, 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, a processor may be implemented using circuitry in any suitable format.

[0099] Additionally, embodiments of the present 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 arranged 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, even though in the illustrated embodiment they are shown as a sequence of operations.

[0100] While the disclosure has been described with examples of preferred embodiments, it is to 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 as come within the true spirit and scope of the invention.

Claims

1. A manipulator comprising: a robotic arm comprising one or more joints configured to move a payload according to a task; a plurality of actuators configured to modify the motion of the robotic arm to follow a trajectory; a memory configured to store a model of the manipulator along with unknown load information; an input interface configured to receive an initial pose of the load and the task of moving the load; the memory is further configured to store a mapping function that maps an initial attitude of the load to a corresponding discrimination trajectory; the manipulator further comprises a processor configured to execute stored instructions that implement 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 attitude of the load; controlling the plurality of actuators to move the payload according to a discriminative trajectory based on the model of the manipulator together with the unknown load information; obtaining measured motion data corresponding to movement of the payload according to the extracted discriminated trajectory; obtaining estimated motion data of the payload corresponding to the motion of the payload following the identification trajectory, the estimated motion data being 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 with 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 It is configured as follows: 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; It is configured as follows: 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 in the subset of discrimination trajectories, a motion distance between the initial configuration and a target configuration; sorting the subset of discriminant trajectories from best to worst sum score according to the sum of the corresponding discriminability score and the corresponding movement distance of each discriminant trajectory in the subset of discriminant trajectories; Iteratively checking 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 is configured as follows.

2. A manipulator, a robotic arm comprising one or more joints configured to move a payload according to a task; a plurality of actuators configured to modify the motion of the robotic arm to follow a trajectory; a memory configured to store a model of the manipulator along with unknown load information; an input interface configured to receive an initial pose of the load and the task of moving the load; the memory is further configured to store a mapping function that maps an initial attitude of the load to a corresponding discrimination trajectory; the manipulator further comprises a processor configured to execute stored instructions that implement 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 attitude of the load; controlling the plurality of actuators to move the payload according to a discriminative trajectory based on the model of the manipulator together with the unknown load information; obtaining measured motion data corresponding to movement of the payload according to the extracted discriminated trajectory; obtaining estimated motion data of the payload corresponding to the motion of the payload following the identification trajectory, the estimated motion data being 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 with 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 It is configured as follows: 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 is configured as follows.

3. a sensing module configured to sense the initial attitude of the load; the load estimator is configured to estimate an initial configuration of the joint of the manipulator corresponding to the detected initial posture, and the mapping function receives the initial configuration of the joint as an argument and outputs the discrimination trajectory; In particular, 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 discriminative trajectories, each discriminative trajectory of the set of discriminative trajectories being optimized for a corresponding initial configuration of the joint; The manipulator of claim 1 or 2, wherein the discrimination trajectory is optionally parameterized based on coefficients of basis functions.

4. the training data is generated by sampling a space of joint configurations of the manipulator to generate sample initial joint configurations, and solving a trajectory design problem for the generated sample initial joint configurations; In particular, 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 discriminability score; Or, in particular, the space of joint configurations of the manipulator is parameterized by the positions of the joints.

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

6. the discriminability 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 discriminability score as output; Alternatively, the movement distance between the initial configuration and the target configuration for each discrimination trajectory in the subset of discrimination trajectories measures the Euclidean distance between the initial configuration and the target configuration.

7. 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 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.

3. The manipulator according to claim 1 or 2.

8. The manipulator of claim 2 , wherein the identification model represents all joint torques as a product of regressors and load parameters, the regressors depending on a model of the manipulator and the motion data.

9. The manipulator of claim 2 , wherein the motion data along the trajectory includes torque along the actual trajectory as well as triplet samples of joint position, joint velocity and joint acceleration along the actual trajectory.

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

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

12. 1. A method of controlling a manipulator, the method comprising: receiving an initial pose of a load and a task to move the load; retrieving a discriminant trajectory corresponding to the initial attitude of the load using a mapping function, the mapping function mapping the initial attitude 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 identified trajectory; obtaining measured motion data corresponding to movement of the load according to the identified trajectory; obtaining estimated motion data of the payload corresponding to the motion of the payload according to the extracted identification trajectory, the estimated motion data being estimated based on a 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 with 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 with the payload together with the estimated parameters; controlling the actuator to move the load according to the performance trajectory; 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; 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; To select the discrimination trajectory from the subset of discrimination trajectories, the method comprises: calculating a discriminability score for each discriminant trajectory in the subset of discriminant trajectories; calculating a motion distance between the initial configuration and a target configuration for each discrimination trajectory of the subset of discrimination trajectories; sorting the subset of discriminant trajectories from best to worst sum score according to the sum of the corresponding discriminability score and the corresponding movement distance of each discriminant trajectory in the subset of discriminant trajectories; and finding a first collision-free discrimination trajectory among the sorted subset of discrimination trajectories by iteratively checking the subset of discrimination trajectories sorted from the best sum score to the worst sum score.

13. A method for controlling a manipulator, said method comprising: receiving an initial pose of a load and a task to move the load; retrieving a discriminant trajectory corresponding to the initial attitude of the load using a mapping function, the mapping function mapping the initial attitude 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 identified trajectory; obtaining measured motion data corresponding to movement of the load according to the identified trajectory; obtaining estimated motion data of the payload corresponding to the motion of the payload according to the extracted identification trajectory, the estimated motion data being estimated based on a 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 with 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 with the payload together with the estimated parameters; controlling the actuator to move the load according to the performance trajectory; To estimate the parameters of the load, the method 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; and solving a weighted least squares problem to extract the parameters of the loads.

14. 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