SE544631C2 - Method, system and computer program for controlling dynamic manipulations by a robot - Google Patents
Method, system and computer program for controlling dynamic manipulations by a robotInfo
- Publication number
- SE544631C2 SE544631C2 SE1850676A SE1850676A SE544631C2 SE 544631 C2 SE544631 C2 SE 544631C2 SE 1850676 A SE1850676 A SE 1850676A SE 1850676 A SE1850676 A SE 1850676A SE 544631 C2 SE544631 C2 SE 544631C2
- Authority
- SE
- Sweden
- Prior art keywords
- motion
- dynamics
- nominal
- robot
- coordinates
- Prior art date
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1648—Programme controls characterised by the control loop non-linear control combined or not with linear control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/19—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40025—Dynamic manipulation, throwing
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
The present disclosure relates to a method for controlling a dynamic manipulation of a passive object and/or an interaction with an external environment by a robotic system. The method comprises regulating (S2000) a part of the dynamics of the robotic system subject to kinematic and dynamic constraints, which is transverse to a nominal movement of the robotic system by a feedback controller. The present disclosure also relates to associated methods for motion planning for a robotic system to perform a dynamic manipulation of a passive object and/or an interaction with an external environment and for reconstructing different state or output signals, unavailable in the robotic system from direct measurements such as some coordinates, velocities, constraints, reaction and friction forces and torques in a vicinity of the nominal movement and for analyzing the dynamics of the closed-loop system in a vicinity of the nominal movement. The present disclosure also relates to corresponding computer program products and robotic systems.
Description
METHOD, SYSTEM AND COMPUTER PROGRAM FOR CONTROLLINGDYNAMIC MANIPULATIONS BY A ROBOT I. TECHNICAL FIELD The present disclosure relates to methods, systems, and computer programs for controlling dynamicmanipulations by robots.
It describes a model-based search procedure for feasible motions to perform a desired dynamic manip-ulation and a control system design method to implement it by a robot.
II. BACKGROUND There is a great strive to extend abilities of present day robots to include better rnimic and advancemotions of humans enabling various complex contact operations of robots with extemal objects or externalenvironments and surfaces. Demands in such technologies and scalable solutions are affirrned by variousexamples and applications where human skills, intervened with learning and cognitive abilities, largelyoutperform any of available robotic solutions.
For instance, most of bipedal robots, designed for walking, typically operate by moving from one staticand stable position to another one, while keeping their centers of mass above their feet, that is projectedinside a convex hull formed by all the points of contacts with the ground. This severely limits the speed, atwhich bipedal robots can move, and makes robots susceptible to perturbations of the system parameters,when, for instance, the robot starts Walking on sand or rough terrain instead of a flat ground. Humans,on the other hand, walk by shifting the center of mass in the direction of movement and catching thefall by putting one leg in front of the other in a pendulum-like movement rnimicking a natural swingof the leg if it would be driven just by the gravity. Neither do humans grip the ground, on which theywalk, exhibiting often behaviors that can readily serve as illustrative examples of successfully controlledand coordinated movements performed despite of a variety of kinematic, dynamic, and non-prehensileconstraints present in the dynamics. As well-known, this dynamic walking technique improves efficiencyand maneuverability at the cost of harder to design control actions: Four-leg animals can typically walkright after their birth while a human newbom needs around half a year to start walking on two legs.
Another class of illustrative examples are robots aimed to move or lift bulky objects, which theycannot grasp within the range of motion of their available object manipulation tools, such as hands.Humans routinely manipulate objects by pushing or pulling on them without the need for a grip. Humans,furthennore, often carry objects by supporting them from the sides and from undemeath rather thanpinching the objects between the arms or hands.
Yet another motivating example for a new technology is robotic polishing or a fine removal operationin industrial settings, where either a surface to treat (such as knife or turbine blades) or a robotic tool(such as a sand belt) or both are flexible and experience non-negligible deformations. Humans can learnand adapt tools” movements concurrently adjusting an orientation and a position of an external object or asurface to work out. There are further instances of non-prehensile and dynamic manipulations in medical l and service robotics applications that are very demanding for today's commercially available robots to beable to perform them effectively, if at all.
The state of the art in enabling non-prehensile and contact robotic operations faces several challenges,Which prevent the Wide spread use and deployrnent of available robots for solving even basic dynamicmanipulation tasks such as dynamic objects” grasping and surface treatment readily done by humans.Non-prehensile is a standard term that means Without a firm grip.
Some of challenges are loosely linked to instrumentation platforms and tasks per se, but primarily arisefrom the necessity to examine and to overcome structural properties and features associated With dynamicmanipulation assignments: The first challenge: Presence of non-negligible passive dynamics a) of an object and of an external environment to be manipulated or processed and/or b) of a robot or its tool due to flexibility of links or elasticity of transmissions and end-effectors,required and achieved for expected scenarios of Work of a robotic system by its mechanicaldesign (e.g. via serial spring-loaded connections, With a use of variable stiffness actuatorsetc.); see, for instance, descriptions of conceptual devices introduced by - Patent US 2005/0234433 Al: “Apparatus for performing Surgical procedures With passively flexing roboticassemblyj” Intuitive Surgical, Inc.- Patent US 8,973,958 B22 “Gripper having a two degree of freedom underactuated mechanical finger forencompassing and pinch grasping,” Robotiq Inc.The second challenge:Lack of phenomenological or physics-based and, at the same time, parametric models for repre-senting different contact conditions for prehensile and non-prehensile manipulations incorporatedin corresponding strategies for developing and implementing model-based trajectory planning,identification, learning, and controlling assignments.
A conceptual abstraction of both challenges in various case studies leads to new settings that precluderecovering a rich set of functionalities of robotic systems under dynamic interaction patterns. The relevantmodels describing combined dynamics of a robot and of a manipulated object or an external environmentare underactuated mechanical systems, i.e. controlled mechanical systems With one or more passive degreesof freedom that are strongly nonlinear. Unfortunately, such mechanical systems cannot be approachedWith the static, linear or other classical-assumptions-based frameworks for motion planning, control, andanalysis through, e.g., Jacobian linearization or feedback linearization techniques and their adaptationsWithout substantial simplification of critical features in modeling of the original systems dynamics.
Furthermore, simplifying or even neglecting contact dynamics for interacting bodies can be detrimentalin many applications. Particularly this can lead to an unresolvable failure in such applications as searchingfor agile movements for a robotic hand handling a grasped object or for a robotic tool in contactWith a tissue/environment, Which might be intrinsically compliant and/or experience relative sliding orrolling movements during the interaction and/or rnight have a distributed patch(es) of contact during theinteraction.
III. SUMMARY An objective of the present disclosure is to provide methods, systems and computer program products thatseek to mitigate, alleviate, or eliminate one or more of the above-identified deficiencies in the state-of-the-art and disadvantages singly or in any combination and to provide methods, computer program productsand systems for performing dynamic manipulations by a robot. Furthermore, the present disclosure isaimed at advancing capabilities of robots in handling external objects and operating in contact withcompliant environments by robotic hands and end-effectors.
The disclosed method for planning and controlling dynamic manipulations by a robot in a system comprising the robot and an object and/or an environment is based on 1) new formats of specific nested parametric representations of motion candidates for the system; and2) new computational tools a) for checking feasibility of every candidate motion, that is checking consistency of motioncandidates with kinematic, dynamic, and non-prehensile constraints as well as verifying variousadditional requirements b) as well as for organizing an iterative numerical search for a feasible realization of a desiredbehavior, complaint with all the constraints and requirements; 3) and new motion-dependent coordinates for rewriting the dynamics of the system in a vicinity ofthe corresponding norninal behavior to be used for concurrent control designs and for consequentmodel-based analysis of the closed-loop systems.
Above a closed-loop system is refereed to combining the system describing dynamics as a controlledmechanical system and another system defining a feedback control law as a nonlinear function and,possibly, another set of equations to be solved on-line in real time dependent on the variables definingsignals available for feedback by a set of sensors and signal processing algorithms.
All of the components of the invention are derived based on kinematic and dynamic models, developedfor the system, and are based on formalizations of an intuitive description of the scenario and heuristics,introduced as soft constraints, for finding a feasible behavior to be performed by a robot.
One part of the present disclosure is a procedure for computing creating libraries of induced motionsof underactuated mechanical systems exposed to kinematic and dynamic constraints associatedwith dynamic manipulation assignments.
Another part of the present disclosure describes the method for rendering each of the found behaviorsstable in such a way that the movement is repeatable in experiments and insensitive to modeling errors and perturbations.
Stability in the closed-loop system is achieved by regulating transverse coordinates, introduced forcharacterizing the system dynamics in a vicinity of a targeted motion, and by contracting these quantitiesor stabilizing them to zero. One of sets of transverse coordinates is presented explicitly. Transversecoordinates for the given behavior are new variables defined as functions of generalized positions andgeneralized velocities of the system, which are zeros along the nominal trajectory and different fromzero in a neighborhood of the trajectory away from it. They are determined based on deviations from geometric relations introduced by the method for the nested representation of a nominal motion, and of wdeviations of time derivatives of these motion specific geometrical relations and of a deviation of the valueof a conserved quantity of the dynamics of a motion generator, computed directly by the method for anominal motion (and defined below). However, altemative sets of transverse coordinates derived fromthe presented ones through non-singular transformations can be similarly re-used in the method. Havingintegrated both parts of the invention, the present disclosure proposes critical elements for realizing a recipefor finding a representation of a dynamic manipulation by a robot in the system comprising dynamicalmodels of a robot and an object and/or an environment and defining a stabilizing feedback controllerfor implementation of the manipulation, where it is assumed that the robot is equipped by one or moreactuators, to induce and to regulate behaviors of the augmented system, as well as by several sensors.
In short, the recipe consists of the following step-by-step procedure, where At first,the recipe comprises determining a set of scalar variables (known as either generalized orexcessive coordinates) arranged to describe a configuration or a posture of the robot and ofthe object and/or of the environment.
At second,the recipe comprises deterrnining a set of equations and constraints present physically (hard, or,so-called natural constraints) or requested from a searched behavior (soft, some of which arecalled artificial constraints), which the chosen set of augmented system coordinates must obeyas functions of time, according . to the laws of mechanics and physics of contact as well as. to the desired properties and heuristics of a searched behavior, extracted and forrnalizedfrom a scenario to be worked out by the system.
At third,the recipe comprises choosing a scalar variable, known as a motion generator, that can serveas one of the system coordinates and simultaneously can be used to parametrize a status of thesystem (defined by its continuum sequence of postures) along a searched nominal behavior. Thetemporal behavior of this scalar variable for a searched manipulation will be found on the latersteps of the procedure.
At forth,the recipe comprises choosing a set of functions for describing possible geometric pairwiserelations (synchronization pattems) between each of the system coordinates in the detennined setand the chosen scalar variable, representing the motion generator along a searched manipulation.As proposed, these synchronization patterns are given in a finite parametric form, that is definedby a finite set of parameters, which will be used in process of searching for feasible behaviorsas variables to tune and to adjust.
At fifth,the recipe comprises the computational step, which for the determined parametric set of synchro-nization patterns and for the given dynamics of a passive degree of freedom of the augmented system allows defining a scalar second order differential equation, defining dynamics of themotion generator, possessing the following property: Solutions of this second order differentialequation can be used as candidates for temporal behaviors of the motion generator along asearched manipulation that are consistent with the most demanding constraint due to underactu-ation.
Underactuation literally means an access of generalized coordinates required for describing thestatus of the system over independent control inputs. The property is inherently present indynamic manipulation assignments due to passive dynamics of an external object or environmentor due to contact conditions.
The analysis of subsets (regions) of the phase plane of this scalar second order differentialequation plays the principle role in searching system°s behaviors consistent with the listedconstraints. A phase plane is used for defining a phase portrait, which is a graphical visualizationof solutions of second order differential equations.
At sixth, the recipe comprises the computational step, which for the hard or/and soft constraints, introducedabove at second part of the recipe, and originally written in terms of a large set of the augmentedsystem coordinates, introduced at first part, and their time derivatives, allows converting theminto equivalent constraints, but imposed only on constant parameters of the synchronizationpatterns, introduced above at forth part, and two scalar time dependent variables: the coordinate,chosen as the motion generator at third part, and its time derivative.
Transforming accordingly the constraints introduced at second part of the recipe into constraintsdependent only on these two variables can be efficiently done via symbolic computations, whichemploy and which are based on the chosen parametric formats of synchronization patterns introduced at forth part, relating the motion generator and system's coordinates.
At Seventh, the recipe further comprises the computational step, which allows determining regions on thephase plane for the dynamics of the motion generator derived at fifth part of the recipe andspanned by the motion generator and its time derivative, where all the constraints derived atSixth part are satisfied. These regions of the phase plane (denoted as Q) are computed as anintersection of the regions defined by each individual constraint.
At eighth, the recipe finally comprises the nested representation of some of feasible behaviors of the system: . Choose a point of the phase plane that belongs to the precomputed set Q.
. Consider the solution of the precomputed dynamics of the motion generator initiated at thispoint for an interval of time (forward and backward) during which it stays inside Q.
. Substitute this solution, which is a scalar function of time, into the synchronization pattems,defined for each of the augmented system coordinates at fifth part, to reproduce a feasiblebehavior of the system, which is consistent with all constraints listed at second part of therecipe.
Changing iteratively . choices of the variable for representing a motion generator, and/or. heuristics of a searched behavior, and/or. parameters of the synchronization patterns and/or. initial conditions for the dynamics of the motion generator within the correspondingly re- computed set Q will allow recovering a library of feasible movements of the system for the given scenario ofrobot work.At ninth, the recipe additionally comprises the procedure for reconstructing a new set of other variables,known as transverse coordinates, that vanish along the nominal dynamic manipulation, and canserve together with the motion generator as components of a new state vector for representingthe system dynamics. In the invention, these variables are explicitly defined based on . deviations from synchronization patterns for the nominal behavior,. deviations of their time derivatives, and. a deviation of a value of a general integral of motion of the dynamics of the motion generator from its value along the nominal behavior.
At tenth, The recipe further comprises computing a system of differential equations defining the dynamicsof the variations of a set of transverse coordinates. Variations of states of a system of nonlineardifferential equations are commonly defined as first-order in smallness approximations for thedeviations of the state variables from a norninal behavior. However, the novelty of the disclosureis linked to exploítation of the dynamics of the variations of transverse coordinates, which can bealso described by a system of linear differential equations, known as a transverse linearization.A constructive procedure for forcing the closed-loop solutions towards the orbit definingthe norninal behavior or for stabilizing orbitally the behavior of the robotic system are thenderived based on contracting to or stabilizing the origin of the transverse linearization. Orbital(asymptotic) stability means that the distance between a solution of a perturbed in certain wayclosed-loop system and an orbit of the solution, defining the nominal behavior of a non-perturbedsystem, are appropriately uniformly bounded as functions of time (and vanish with time). For thelast purpose, the disclose provides the detailed description of new robust and nonlinear controlmethods to solve the task.
The recipe yet further comprises determining or estimating and reconstructing, by means of sensorsavailable in the system and by signal processing algorithms, a state of the robot and of the object and/orof the environment dynamics and consequently important Characteristics such as contact and reactionforces and torques relating them to the nominal dynamic manipulation and its nested representation. Thelatter is based either on a direct measurement or on a reconstruction from measurements of a temporalstatus of the scalar variable (motion generator) arranged to parametrize a continuum sequence of thesystem postures along the nominal behavior. The recipe allows realizing the method under full or limitedsensing conditions and allows transmitting a control signal to the robot arranged to adjust the state of the augmented system relating to the chosen dynamic manipulation by regulating transverse coordinates tozero based on the determined or reconstructed state of the augmented system.
In summary, the present disclosure relates to a method for motion planning for a robotic system toperform a dynamic manipulation of a passive object and/or an interaction With an external environment.The method comprises finding feasible behaviors, i.e, motions With induced interaction forces, of therobotic system subject to kinematic and dynamic constraints. Searching for feasible behaviors is based on . a nested representation of motion candidates, Which assumes a choice of a scalar Variable as a motiongenerator and a choice of a nested representation and a parametric set defining synchronizationpatterns for computing generalized and/or excessive coordinates of the robotic system as functionsof a motion generator for embodiment of a searched movement, . re-writing in an equivalent form the kinematic and dynamic constraints and expected properties of asearched movement based on the chosen nested representation in terms of the motion generator, itstime derivative, and the parameters defining the synchronization patterns, and . a computation procedure for and an analysis of a subset of a phase plane of the motion generator°sdynamics, derived for the chosen nested representation of motion candidates, Wherein said constraintsand expected properties are met and allow reconstructing one or several feasible behaviors.
According to some aspects, searching for feasible behaviors of the robotic system subject to kinematicand dynamic constraints further comprises reconstructing a temporal behavior of a motion generator as asolution of its dynamics With initial conditions chosen Within the subset of the phase plane, Wherein saidconstraints and expected properties are met.
According to some aspects, searching for feasible behaviors of the robotic system subject to kinematicand dynamic constraints further comprises reconstructing a feasible behavior of the robotic system by sub-stituting the temporal behavior of the motion generator into the description of the chosen synchronizationpattems for defining temporal behaviors of the robotic system”s coordinates for the time interval, Wherethe motion generator stays Within the subset of the phase plane, Wherein said constraints are satisfied andexpected properties are met.
According to one aspect, the disclosure relates to a method for a robot to perform a dynamic manipu-lation of a passive object and a contact interaction With an extemal environment represented by a nominalmotion of a robotic system With k: independent control inputs, by configuring a feedback controller, Wherein the robotic system includes: - the robot, - the passive object, and - the extemal environment,Wherein the nominal motion is described as a time-evolution of variables, called system states, being asolution of a set of differential equations, algebraic equations and inequalities, representing kinematic anddynamic constraints imposed on and extracted from the nominal motion of the robotic system, Wherein the method comprises: 1) 2) 3) 4) determining, for and based on the nominal motion description, a set of functions of the systemstates, called transverse coordinates, such that their time-evolutions describe a part of dynamics ofthe robotic system, Which is transverse to the nominal motion and is called its transverse dynamics,by deriving the set of transverse coordinates based on - deviations of the system coordinates from quantities defining synchronization patterns obtainedfor a nested representation of the nominal motion, Wherein synchronization patterns are defininggeometric pairwise relations between each of the robotic system coordinates and a scalarVariable, called motion generator, Wherein its time-evolution together With synchronizationpattems gives an equivalent altemative representation of the nominal motion, called a nestedrepresentation, - deviations of velocities of the robotic system, the velocities being time derivatives of the systemcoordinates, from values necessary to keep zero time derivatives of the synchronization pattems,obtained for the nested representation of the nominal motion, and - a deviation from zero of a value of a general integral of motion of the dynamics of the motiongenerator obtained for the nested representation of the nominal motion; determining a description of dynamics for the transverse coordinates and their linearization along thenominal motion, Which can be used for design and analysis of performance of feedback controllersfor regulation of the transverse dynamics of the norninal motion; defining a nonlinear closed-loop system for controlling the nominal motion With regulated transversedynamics, by determining a preliminary feedback controller as a sum of a feedforward operator andan additional controller part, Wherein the additional controller part is vanishing along the nominalmotion; determining a collection of k nonlinear scalar functions of states of the nonlinear closed-loop systemthat are continuous With a required number of continuous derivatives and equal to zeros on thenominal motion; modifying the preliminary feedback controller by complementing the additional controller part Witha sliding-mode or high- gain feedback controller configured for finite-time or rapid exponential con-traction of the modified nonlinear closed-loop system solutions to zero level sets of the deterrnined collection of k: nonlinear scalar functions in order to achieve a regulation of the transverse dynamics.
According to some embodiments, the determining a collection of k: nonlinear functions comprises: 1)2) computing a linearization of the transverse dynamics for the system along the nominal motion,designing a linear feedback controller for regulating the linear control system defined by the computed linearization of the transverse dynamics, to ensure- contraction of a state vector of the linear closed-loop system to a prescribed neighborhoodof an origin of the linearization of the transverse dynamics or asymptotic stabilization of thelinearization of the transverse dynamics; or - contraction to the prescribed neighborhood of the origin or asymptotic convergence of a linear subset of solutions of the linear closed-loop system of co-dimension k, 3) determining a linear invariant subset of co-dimension k: of solutions of the linear closed-loop systemand finding time-dependent normal vectors to k independent solutions in this subset, 4) designing a projection operator for reconstructing a nonlinear feedback controller for regulating thetransverse dynamics of the nominal motion of the robotic system from the linear feedback controllerdesigned for regulation of the linearization of the transverse dynamics, ) determining a collection of k: nonlinear scalar functions of the projection operator and of the statesof the nonlinear closed-loop system, Which are linear functions of the transverse coordinates, definedfor the explicit realization of the transverse dynamics of the nominal motion, with state-dependentcoefficients, such that When these coefficients are evaluated on the norninal motion, they coincidewith the k: normal vectors, derived for characterizing the linear subset of solutions of the linearclosed-loop system representing the linearization of the transverse dynamics.
According to some embodiments, the method comprises computing the linearization of the transversedynamics by computing a linearization of the transverse dynamics of the set of transverse coordinatesalong the nominal motion. According to some embodiments, the method further comprising providingrequired information for an implementation of the designed feedback controller for use by a robot toperform the dynamic manipulation of the passive object and/or the contact interaction With the externalenvironment, Which is represented by the nominal motion of the robotic system With k: independent controlinputs.
According to a second aspect, the disclosure relates to a method for motion planning for a robot toperform a dynamic manipulation of a passive object and a contact interaction With an external environmentin a robotic system including the robot, the pas sive object and the external environment subject to kinematicand dynamic constraints, the method comprising: - providing a nested representation of motion candidates for a nominal motion representing the dynamicmanipulation and/or contact interaction, Wherein the nested representation includes - a scalar variable as a chosen motion generator and - a parametric set of synchronization patterns/functions for computing generalized and/or excessivecoordinates of the robotic system as a function of the motion generator; - re-Writing the kinematic and dynamic constraints and specifications of the nominal motion in anequivalent form based on the chosen nested representation in terms of the motion generator, its timederivative, and a finite set of parameters defining the synchronization pattems; - computing and analyzing a subset of a phase plane of the dynamics of the motion generator, derivedfor the nested representation of the motion candidates, Wherein the imposed constraints are satisfied and expected properties are met and allow reconstructing one or several feasible behaviors;- reconstructing a temporal behavior of the motion generator as a solution of its derived dynamics Withinitial conditions chosen Within the subset of the phase plane, Wherein the imposed constraints aresatisfied and the expected properties are met; - reconstructing a feasible behavior of the robotic system by substituting the temporal behavior of themotion generator into the description of the chosen synchronization patterns for defining temporalbehaviors of the coordinates of the robotic system for the time interval, Where the motion generatorstays Within the subset of the phase plane, Wherein the imposed constraints are satisfied and the ex-pected properties are met, the method further comprises an iterative searching procedure implementedas running two main loops, Wherein the levels of iterations comprise - modifying and/or updating Within Outer loop of >k a current choice of a scalar variable to define a motion generator for representing a searchedmanipulation, »f a current list of expected properties of a searched manipulation to be taken into account duringthe current iteration of the search, >k a current choice of a parametrized description for the synchronization patterns used in the nestedrepresentation of the motion candidates, and - modifying and/or updating Within an Inner loop of >|< values of parameters for the synchronization functions and >k choices of initial conditions for the dynamics of the motion generator, taken Within the subsetof the phase plane, Wherein the imposed dynamic and kinematic constraints are satisfied andexpected properties are met, Wherein these initial conditions are used for defining a feasibletemporal behavior of the motion generator for searched manipulation as a solution of the derivedmotion generators dynamics for the time interval Within Which it stays in the subset.
According to a third aspect, the disclosure relates to a computer program product, comprising a computerprogram, Which when executed by a processor in the robot, causes the robot to execute the steps of themethod according to any of the first and second aspects.
According to a fourth aspect, the disclosure relates to a robot for performing a dynamic manipulationof a passive object and a contact interaction With an extemal environment represented by a nominalmotion in a robotic system, the robot comprising - a robotic arm equipped With sensors and actuators, - amemory With a computer program product according to the third aspect, - a processor, other electronicsand circuitry required to execute the computer program on the robot.
The disclosure largely extends the methods for motion planning and motion control developed forseveral examples of underactuated mechanical systems reported in u Ruggiero F., V. Lippiello, and B. Siciliano. “Nonprehensile dynamic manipulation: A survey] IEEE Robotics andAutomation Letters, 3(3):l71l-l718,u Donaire A., F. Ruggiero, L. Buonocore, V. Lippiello, B. Siciliano. “Passivity-Based Control for a Rolling-BalancingSystem: The Non-prehensile Disk-on-Diskf IEEE Transactíons on Control Systems Technology, 25(6): 2135-2142,o Pchelkin S.S., A.S. Shiriaev, U. Mettin, L.B. Freidovich, L.V. Paramonov, S.V. Gusev. “Algorithms for finding gaits oflocomotive mechanisms: case studies for Gorilla robot brachiationf Aatonomous Robots, 40: 849-865,o Pchelkin S., A. Shiriaev, L. Freidovich, U. Mettin, S. Gusev, Woong Kwon, and L. Paramonov. “A Dynamic HumanMotion: Coordination Analysis] Journal of Biological Cybernetics, 109( 1): 47-62,ø Surov M., A.S. Shiriaev, L.B. Freidovich, S.V. Gusev and L.V. Paramonov. “Case study in non-prehensile manipulation:Planning and orbital stabilization of one-directional rolling for the “Butterfly robot”,” in the Proceedings of the IEEEInternational Conference on Robotics and Automation (ICRA), pp. 1484-1489,. Ryu J .-Ch., F. Ruggiero, K.M. Lynch. “Control of Non-prehensile Rolling Manipulation: Balancing a Disk on a Disk,”IEEE Transactions on Robotics, 29(5): 1152 - 1161,The novel and distinctive features of the ínvention are emphasized in new abilities to solve dynamicmanipulation assignments and to cope with associated kinematic, dynamic, and non-prehensile constraintsunavoidably appearing due to different formats of contact between a robot tool or a hand and an externalobject or an environment taking into account deforrning, rolling and/or sliding phenomena at the contact.Such new physical interaction formats are incorporated both into the disclosed motion planning and motion control procedures. Namely, they are explicitly taken into account . in formalizing the assignment, . in representing associated unilateral constraints, . in representing the system dynamics, . in computing and monitoring associated reaction and constraint forces, . in searching for feasible induced time-varying behaviors of the coordinates, which are consistent withall the listed constraints through the nested parametric representation and, finally, . in implementing the found feasible system's movements by regulating the system dynamics througha novel feedback control algorithm.
IV. BRIEF DESCRIPTION OF THE DRAWINGS The foregoing will be apparent from the following more particular description of the example embodi-ments, as illustrated in the accompanying drawings, in which all the like reference characters refer to thesame parts throughout the different views. The drawings are not necessarily to scale; the emphasis insteadis placed upon illustrating the example embodiments.
. Figure l is a flowchart illustrating the interdependence of the main components, required for imple-menting the disclosed method; . Figure 2 is a flowchart for visualizing the iterative procedure of the disclosure for finding feasiblebehaviors of the system for a given scenario to be worked out by a robot; . Figure 3 is a flowchart for step-wise visualizing the components and the method of the feedbackcontroller design for regulating a given dynamic manipulation, designed either according to the firstpart of the disclosure or in any other systematic or ad hoc way; . Figure 4 illustrates method steps of a method for motion planning for a robotic system to perform adynamic manipulation of a passive object and/or an interaction with an extemal environment; . Figure 5 illustrates steps of the disclosed method for controlling a dynamic manipulation of a passive object and/or an interaction with an external environment by a robotic system; ll . Figure 6 illustrates the worked out in the disclosure example of a model of a robotic systemperforming a dynamic manipulation of a passive object; . Figure 7 illustrates an example of a robotic system, called the “Butterfly robot” (a curved robotichand with required electronics), performing a dynamic manipulation of a passive object (rolling of an object along the robotic hand) that is - designed following the disclosed approach for planning and regulating a feasible motion withcertain desired Characteristics and - implemented as a mechatronic benchmark system; . Figure 8 illustrates a sequence of snap shots of a hand of the robotic system manipulating a passiveobject, illustrated on Figure 7; and. Figure 9 is a box diagram of a robotic system for controlling a dynamic manipulation of a passive object and/or an interaction with an extemal environment.
V. DETAILED TECHNICAL DESCRIPTION Aspects of the present disclosure will be described more fully hereinafter with references to the accompa-nying drawings and using particular mathematical notations. The devices and the method disclosed hereincan, however, be realized in many different forms and should not be construed as being limited to theaspects set forth herein. All the like numbers in the drawings refer to the like elements throughout.
The terrninology used herein is for the purpose of describing particular aspects of the disclosure only, 64 99and is not intended to limit the invention. As used herein and above, the singular forms a , an”, and“the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
One of the key points of the disclosed methods and systems is a nested representation of forcedtrajectories (representing motíons or behaviors) of the controlled mechanical (or mechatronic) systemused for modeling the robotic system in question, where explicit time-evolution of each configurationVariable, introduced for describing the searched or regulated feasible behavior, is written as a functionof a scalar geometrical Variable, which, in turn, is defined as a function of time. In applications, thisVariable, herein also referred to as a motion generator, can be chosen with some freedom. It can oftenbe taken as one of the original coordinates of the mechanical system, which is physically meaningful forthe task, or the weighted sum of them or as the path-length along the motion in the configuration spaceof the system.
A temporal behavior of a motion generator can be set-up and reproduced in various ways. On a computer,it can be stored as a look-up table and reproduced by an interpolation algorithm. Or it can be writtenas a known parametrized function of time (e.g. a polynomial with precomputed coefficients). However,the most compact and convenient format is to represent this scalar function of time as a solution of anordinary differential equation (ODE) with a known right-hand side for a given set of initial conditions. Inthis case, one of standard or specific numerical solvers for ODEs will provide an approximation of thetemporal behavior of the motion generator with adjustable to needs absolute accuracy.
An important feature of the nested representation of a given system movement is the following: Atemporal behavior of a single degree of freedom of the system, combined with established geometrical relations with other configuration variables, written as functions of this scalar Variable, can readilyreproduce the movement in all degrees of freedom without solving high-order nonlinear differentialequations of the system dynamics disregarding, in this way, uncertainties in parameters and possiblyunknown formats of external inputs (control signals) shaping the behavior.
If there is a dynamic constraint due to the presence of a passive degree of freedom, which is the casefor any dynamic manipulation assignment, then the dynamics of the motion generator, as known, shouldcomply with a specific structure. Namely, the dynamics of the motion generator becomes by necessitya scalar second order ordinary differential equation with coefficients that are uniquely determined bythe geometric relations chosen for the nested representation of the nominal trajectory. Then, a finiteset of parameters for synchronization functions (also referred to herein and in the literature equally as'synclironization patternsfl 'geometrical relations ', 'servo constraints', or 'virtual holonomic constraints)as well as initial conditions for the dynamics of the motion generator become variables that can be adjustedand tuned within an iterative process of searching for feasible trajectories.
The invention assumes several components, which in combination enable both the model-based searchfor feasible behaviors and the model-based synthesis of feedback controllers for orbital stabilization orachieving contraction to newly created forced movements of the system. They include: 1) Descriptions of system kinematics, of system dynamics, and of known constraints imposed onsearched behaviors; 2) 3) Tools for constraints” and heuristics” representations; 4) Tools for a motion”s representation; Tools for an altemative representation of dynamics of the system in a vicinity of a nominal behavior,enabling computing transverse dynamics, its stabilization, and the analysis of various properties ofthe closed-loop system.
Each of these components, as well as their use and role, are explicitly described next.
A. Essential Components for Planning Dynamic Manipulations 1) Description of system kinematics, of system dynamics, and of known constraints imposed onsearched behaviors comprises the mathematical and symbolic portrayal of the system properties and theformalized Characterization of a searched behavior combined with a realization of models in a computerprogram code. The description includes 1.1) Robot kinematics is unit/block S11 for representing kinematic models of a robot comprisingone or several sets of scalar quantities represented by a column (here and below - F” denotesmatrix transposition) (f) (e) (f) T90": [(11 .C(1) that fully and uniquely characterize the status of the robot and its tool or its hand in space. Akinematic model is an equation defining locations of all the points of interest of a mechanicalsystem as well as postures (positions and orientations) of all rigid components as functions ofchosen variables.1.2) 1.3) In other Words, the deterrnined set of coordinates qW is the list of scalar variables arranged todescribe uniquely a configuration or a posture of the robot. These coordinates can be generalized,i.e. the set With the minimal number of variables to characterize the robot configuration, or the coordinates can be excessive, i.e. the set is not minimal but complemented by additional relations fráqw) = 0 (2) that are imposed among the coordinates; here the sub-index ”c” means constraints. A set ofindependent scalar variables that is necessary and sufficient to define locations of all the points ofa mechanical system is called a set of generalized coordinates. Under some standard assumptions,the number of generalized coordinates is called the number of degrees of freedom. A set ofcoordinates that are not independent but sufficient to define locations of all the points is calleda set of excessive coordinates. A set of excessive coordinates can be complimented by a set ofalgebraic relations among them, number of Which is typically equal to the difference between thenumber of excessive coordinates and the number of degrees of freedom. The set of coordinates isfurther used for representing various system”s constraints, contact conditions, motion heuristicsand for deriving the equations of motion of the robot characterizing its dynamics; External object kínematícs is unit/block S12 for representing kinematic models of an externalobject to be manipulated comprising one or several sets of scalar quantities fr” : [KÅÛÜ ef), - - - that fully and uniquely characterize the status of the object in space. , qåíljT <ß> In other Words, the deterrnined set of coordinates q(°) is the list of scalar variables arrangedto describe a configuration or a posture of the object. These coordinates can be generalized,i.e. the set With the minimal number of variables to characterize the object configuration, orthe coordinates can be excessive, i.e. the set is not minimal but complemented by additionalrelations fo.(q<”>> : 0 <4) that are imposed among the coordinates; here the sub-index 'c' means constraints. The set ofcoordinates is further used for representing various system°s constraints, contact conditions,motion heuristics and for deriving the equations of motion of the object characterizing itsdynamics; External environment kinematics is unit/block S13 for representing kinematic models of anextemal environment to be in contact With a robot hand or its tool comprising one or severalsets of scalar quantities Tqßf) I íqífà? qåek ___, qííq (5) that fully and uniquely characterize the status of the environment in space.In other Words, the determined set of coordinates (fe) is a list of scalar variables arranged todescribe a configuration or posture of the environment. These coordinates can be generalized,1.4) 1.5) 1.6) i.e. the set with the minimal number of variables to characterize the environment configuration,or the coordinates can be eXcessive, i.e. the set is not minimal but complemented by additional relations feáqfd) = 0 (6) that are imposed between coordinates; here the sub-index ”c” means constraints. The set ofcoordinates is further used for representing various system°s constraints, contact conditions,motion heuristics and for deriving the equations of motion of the environment characterizing itsdynamics; To sum up the components 1.1)-1.3), the method comprises deterrnining a set of scalar variables MT), qåf), C122), qfj), å), qïfj Of MT), få), 92:), af), qåe), qåïj or their combination, arranged to describe a configuration or a posture of the robot (includingits hand or its tool) and the object or/and the environment. With the determined set of scalarvariables arranged to describe a configuration or posture of the robot and the object or theenvironment, further kinematic or dynamic constraints are to be introduced and formalized forcharacterizing properties of a searched manipulation, as described further below.
Kínematics of a boundary points needed to detect a contact is unit/block S14 for representinggeometrical shapes of a robot hand/tool as a set Sxqw) <7)and of an external object as a set S.,> <8>or/and of an extemal environment as a set Seufa) <9> in non-deformable states that is prior to the contact.
Physical constraints due to design of the system and due to formalized contact conditions:unit/block S15 is for representing known physical kinematic and dynamic constraints, which arepresent in the system due to design of the system and due to formalized contact conditions, that can be reformulated as a set of equalities .fpc (qoqv åqÛn q wherein the sub-index 'p* stands for physical.Formalízed features of a searched manipulation: unit/block S16 is for describing desired temporal or spatial features and heuristics of a searched behavior for the augmented system that 1.7) 1.8) can be reforrnulated as a set of equalities fhc ((1007 åqw? q(0)7 åqfifl) : Q of fhc (qíflv ditqw? q(@)7 åqkö : 0 (12)and/or a set of inequalitiesfhc (qf), åqf), q(°), åq(°)) 2 0 Or fhc (qf), åqf), qf), åffå) 2 0, (13) wherein the sub-index “h' stands for heuristics.Dynamics of the system: a unit/block S17 is for determining a set of differential equations,algebraic equations and inequalities, which the set of coordinates blir), frå), 11,22), qf), (å), qåi)} Of här), få), qíï), qf), qåc), qiifj or their combination must obey as functions of time according to the laws of mechanics and allthe listed physical constraints present in the system. The description includes state-dependentrules for characterizing switching in between sets of active equations, which are defined by statusof contact conditions along a system”s behavior.
Expressions for contact and reaction forces due to physical constraints and a model ofcontact appearing in the system: unit/block S18 is comprising state dependent representationsfor computing contact and reaction forces and torques, appearing between the robot hand andthe object (and/or the environment or the worked-out surface), when they are in contact as wellas all other generalized forces corresponding to physical constraints present in the descriptionof the system. It is assumed that any of them can be explicitly written as functions (of the introduced above quantities) F (qf), åqf), q(°), åffæ) (14)for a manipulation assignment with an external object, or as functionsF (qf), åqf), qf), åW) (15) for a contact operation with an external environment. 2) Tools for Motion”s Representation play the primary role in the formalization and in the preparation of task settings for implementing various search algorithms. The related components of the disclosure are presented next. 2.1) Motion generator for an individual trajectory is defined within unit/block S21, comprisingan intrinsic Characterization of a searched motion. Given an implicit description of a behavior (adynamic manipulation) that should be performed by the augmented system (the robot and the external object or the environment), status of which is characterized by one or several sets of coordinates MT), qåi), fi), qf), qåij), qïfj Of MT), qåi), qíf), qie), qåe), qåi)} or their combination, following the recipe one has to suggest a candidate for a motion generator,2.2) to be denoted hereafter 9 (9(t) Will denote either its time evolution or the value at the particularmoment of time t). It is a scalar Variable, which is appropriate for parametrization of a set ofconsecutive postures of the augmented system along a searched but implicitly described behavior.For instance, for one-directional rolling of an object on a robot hand, this Variable can be chosenas a distance that certain fixed point on the object”s boundary should go in the direction of therolling. As an alternative, this Variable can be chosen equal to an angle at which the objectrotates along the searched behavior, written in the frame attached to the robot hand; or as one ofcoordinates of the object”s center of mass; or any other Variable that would presumably changemonotonically along a searched motion. Similar choices can be made if an object is expected toslide on a robot hand. The motion generator might not be uniquely defined and several alternativesfor this scalar Variable can be tested upon searching for a feasible nominal behavior.
In other words, the method comprises unit/block S21 with one or several choices for a scalarVariable å, each herein also called a motion generator, which can be used as one of system°scoordinates and, at the same time, arranged to parametrize a status of the system along a searched(and yet unknown) behavior.
Motion generator and nested representation of system”s behaviors are specified withinunit/block S22 comprising nested representations of an augmented system”s behavior (for in-stance, of a robot and of an extemal object).
From now on, we will skip an almost identical derivations that can be done in the case wheninteraction with an environment is of interest instead of manipulating an object as well as in thecase when a manipulated object is in contact with a deformable environment.
Let us change the format for the searched time evolutions of all the coordinates qt°<1f>.qåt>.---. täkt» qí°>.q§°><1f>.~-. .Sw relating them with the time evolution of the motion generator 9 : 9(t) by introducing the få lÛvTl. (16) following identities qflf) : <1>1.<@>. qåtltw I <1>2.<@<:>>. q§í> : fltwwu m)qí°> : <1>10<@>. qå°l : <1>2.<ø>. q§ï> : qttowuValid for the same time interval t G [O,T]. Here Q, j,,(-), t : 1,...,n,, j : l,...,n0, are appropriately defined scalar functions. In a broad sense, the nested representation (17) of themotion (16) allows altematively re-defining the behavior of the system, where the scalar Variable9 can be loosely interpreted as a new “time” for the given motion (16), which might not increasewith the constant pace or might not be even monotonic. It is worth noting that while the choiceÛ E t is formally correct, it is useless for the search procedure to be specified since it wouldlead to trivialization of the forthcoming equation (22) to åt : O. The functions tf C150 can be combined into columns in a similar way as the coordinates above: : iqölr vqQQT 1 ' ' ' vcpnfl* v (šo(6) : icplo :(1 ' ' ' v Cpnoß - They define then the pairwise synchronization patterns (geometrical relations) exhibited along2.3) the chosen behavior between each pair of quantities taken as a component of qW or qfo) and thevariableThe invention proposes to consider several different sets of synchronization functions <5, fi, For a given motion generator 9, they can be defined explicitly as linear combinations of known basis functions N, NO,,(e) : :I weae), ,,(e) : :I @O,G,(e). (19)kïi iïiOr they can be defined implicitly as solutions of systems of algebraic equationsF < or defined implicitly as solutions of systems of ordinary differential equations of the first order d;-§, or of a higher order, which can be independent from each other or interconnected and writtenwith respect to the components of the vector functions å), T(Û) and iÛ(Ö) is used for describing possiblesynchronization patterns (geometrical relations) among the determined set of coordinates of thesystem along a desired dynamic manipulation (16) and the scalar variable 9(-), which is usedto define the temporal behavior. The key feature of the representation is the altematives for thesynchronization patterns given by relations (19)-(21) parametrized by a finite set of constantsßykflçvll, LSOZHVÅI and initial conditions for ODEs in (21), if used.
Dynamics of motion generator is unit/block S23, comprisíng the procedure for definingtemporal behavior of a scalar variable 9 chosen as a motion generator for a searched manipulation.A distinctive feature of any of dynamic manipulation assignments is the presence of passivedynamics. The feature imposes severe limitations on a temporal behavior of a motion generatorchosen for the nested representation (17) of a feasible system°s movement (16). In particular,for the underactuated system comprisíng a robot and a manipulated object (the same argumentsapplied for the augmented system comprisíng a robot and an extemal environment), a temporalbehavior of a motion generator 9 : 0(t) and associated synchronization functions i,,(9) and(Tíow) in the nested representation (17) of the movement cannot be chosen independently. Therelations among them is determined as follows. For a given choice of a motion generator 9 andfor given synchronization functions i,,(9) and With some initial conditionsmo) : eo and lem) :Here, the coefficients of the ODE (22) - scalar functions a(-), ß(-), - are explicitly dependenton the synchronization functions and their first and second derivatives _» -r _» ao : a(e,,<ß>,,a<ß>,f,<ß>)7 ßo : ß (e,<ï<@>,qëß<ß>,ë:fi<ß>,êg<ß>,<fif<ß>,we), <24>w : ~f(ß,f<ß>,<ï>o<ß>). <2» More precisely, these functions (23)-(25) are uniquely defined up to a common factor and canbe symbolically computed from the dynamics of the augmented system introduced in block S17With and being the abbreviations for the first and second derivatives 7 :tatto (o)[jfjzqa <ß> , - - _ , w] For computing the coefficients o¿(-), ß of second order ODE (22) listed in Eqns. (23)- (25), one needs to consider the dynamics of a passive degree of freedom of the augmented system. fm : [,%<1>1T<@>,---,§-@<1>nfl»<ß>l , <1ï<ß> : [aim <ß> , _ _. qšçfw) 2 låg, (e) , _ _ _ , jïiqsw, (9)) , (26) Then, substituting into this scalar nonlinear equation of the system°s dynamics the expressionsfor the coordinates qÜ) q<°) and their first and the second time derivatives by the expressionsaccordingly defined by the nested representation (17) and by the corresponding derivatives ofthe synchronization functions ÖAG) and >O(0) and of 0(t), the recipe results into the ODEresolved with respect to only one scalar Variable Collecting the terms in this equation Willresult in Eqn. (22) and in explicit formulas for the coefficients o¿(-), ß An illustrativeexample of the pronounced computational steps is given below.
In summing up, the method comprises a computational procedure S23 for determining thedynamics of the motion generator 6 : 905). It is derived by transforming the dynamics of apassive degree of freedom of the augmented system into the equation (22) or equivalent. Thecoefficients of this scalar differential equation in the form of (22) are obtained based on the systemdynamics, and on the components of the (parametrized) synchronization functions T(G), ,,(9)and their first and second derivatives. 3) Tools for Representation of Constraínts, Heuristics, and Reaction Forces, Utilizing the NestedRepresentation (17) complement the formalization of the settings for implementing search algorithms. Thenested representation of a motion introduced by relations (17) is specifically convenient in searching forfeasible behaviors, Which are subject to various kinematic and dynamic constraints, present in dynamic manipulation assignments. The components of the computational procedure, Which allow taking intoaccount these structural properties or imposed heuristics of a searched motion and which allow providing associated representations of contact and reaction forces, are given next. 3.1) Representation of kinematic and dynamic constraints and motion heuristics is unit/blockS31 that for any constraint such as given in blocks S11-S16 written as an equality f (W, W W fW) : 0 <2v> or as an inequality f (LW, W W W) 2 0 <28> and imposed on behaviors of the augmented system, computes an equivalent equality or anequivalent inequality correspondingly written in terms of the chosen motion generator 9(t), itså9(t) and the synchronization functions ÖT(9) and ÖÛ(9) as follows:Given the motion generator and the synchronization functions, chosen on the previous steps of time derivative 9(t) E the recipe, following the method, the temporal behavior of the configuration variables along thebehavior are written as in Eqn. (17) and, therefore, by taking into account the chain rule the time derivatives of configuration variables should obey the relations åq<fi> : ëi<ß<fi>>åß, åW <1» : êgwøfwåßof» Hence, the equivalent formats of any equality and inequalíty constraints (27), (28) take the next (29) form for the equality constraint fnew (av 61 q)r(â)v (po(9)v i: f (qoflv qøqv q(o)v q(o)) i qßfiïzfšrw) : Oqwïåšogg)qW:@wWq@:äwß (30) and the next one for the inequalíty constraint fnew <9: älv (švlåx (šo(9)> i: .f (qüfiv q-(Û: q(o)v i q(f“):ir:<1">0(g) qW:&wW q@=äwWaccordingly. The difference between original constraints (27)-(28) and newly introduced rela-tions (30)-(3l) is in the arguments of the functions representing the augmented system constraintsand motion heuristics: In the latter case, the arguments are just two scalar variables 9 and thatare functions of time and a finite set of constant parameters associated with the synchronization functions i,.(9) and iO(9). That is, for instance, in the case of (19) we have fnew : fnew <âyâagrlu - - - ufïrNrufïoh - - - ugoNr) In other words, unit S31 comprises determining a set of constraints and heuristics that areequivalent to the listed ones in blocks S11-S16 of the procedure, but written in terms of thechosen motion generator 9, its velocity and the synchronization functions (549) and )0(9) chosen for the nested representation (17) of a manipulation candidate.
O 3.2) Representation of contact and reaction forces or other important functions of the systemstate is unit/block S32 that provides an alternative format for computing the forces (14) or(15) or any other Characteristics of a searched motion introduced in block S18 parametrizedby the chosen motion generator 9, its velocity and the synchronization functions (1349) and(TÉÛW) chosen for the nested representation (17) of a manipulation candidate. Taking advantageof relations (29), unit S32 converts any function of the system°s state variables, listed in blockS18, written in the original formats, defined in (14) or (15), into a new representation with anew set of the arguments. Namely, any function written originally as f (go), är), q(0)7 q(0)) Or f (qü), go), q(@)7 q-(å) becomes, in new format, expressed as fm, (e, ä, öra), äga), <ï>1,(ø),<1>¿(ø>) :: f (qw, (p), go? qo) go) gym) (32) qwgišowyá(”=<¶>ff(0)0_d(°)=<ï>'0(0)OI' fm, (9,9,<1>,(ø),<1>;(ø),<1>6(9),<1>;(ø)) =: f (go), q-nouqa gen) qwflïšäø) (33)q(e):(ï>ie(ø)q=<ïší:<ï>';<0)ê with the arguments defined by the choice of the nested representation of motions.
B. The Method for Planning a Dynamic Manipalation The consecutive arrangement in implementing and the interdependence of units and blocks S11-S18, S21-S23, S31-S32, described above, are illustrated in Fig. 1. Altogether, they form the background for realizingthe motion planning part of the disclosed novel procedure as the effective iterative method for planningand reconstructing some of motions of the augmented system consistent with all the listed kinematic anddynamic constraints and specifications. This part of the disclosure comprises running two main loops (levels of iterations), shaped by descriptive stepwise sub-procedures elaborated next: Outer Loop. Step A Initial choices for motion generator, synchronization functions, motion heuristics:Given the description of the kinematics and dynamics of the augmented system and given alist of constraints, all embodied in blocks S11-S15, S17-S18, the method requires . to choose an initial list of heuristics, characterizing a targeted motion, formalized as soft constraints to be embodied in block S16;. to choose a motion generator 9 to be introduced in block S21;. to choose one of parametric classes of synchronization functions to be used for the nested representation appropriate for searching a targeted motion and to be embodied in block SOuter Loop. Step B Conditional construction to exit Outer Loop comprises the next step of the iterative procedurefor checking its terminal conditions for the current settings. Namely,lfthe quantity of generated feasible motions for the given choices of motion generators,the synchronization patterns, Which are consistent With the lists of heuristics and all theother imposed constraints, has reached a certain satisfactory levelThenthe computational procedure eXits from Outer Loop and terrninates the search.Otherwisethe procedure enters Inner Loop on the next step. for identifying values of parameters of the synchronization functions and specificareas Q (sets of points) of the phase plane W, Ö] of the dynamics of the motiongenerator (22) accordingly embodied in block S23 of the procedure, Where all theequalities and inequalities listed in block S31 are met, and. for subsequent representation of new sub-library of feasible motions of the augmented system.End Inner Loop. Step 1Initialization of parameters for synchronization functions: The inner loop of theiterative procedure starts With the step of initialization of the parameters of the syn-chronization functions chosen for searching of a feasible motion Within the settings,fonnalized in Outer Loop of the procedure; Inner Loop. Step 2Conditional construction to exit Inner Loop comprises the next step of the iterativeprocedure for checking its exit conditions for the current settings. Namely, lf the quantity of generated feasible motions for the considered sets of parameters of the synchronization patterns has reached a certain satisfactory level Thenthe computational procedure exits from Inner Loop and proceeds to Step C ofOuter Loop.Otherwisethe procedure goes to Step 3 of Inner Loop.EndInner Loop. Step 3Processing of individual constraints and heuristics: Given current values of theparameters of the synchronization function, this step of the iterative procedure comprisesconsidering each of the listed constraints in block S31 and defining for each of the listedconstraints the subset of the phase plain [å d] for the dynamics of the motion generator,Where this constraint holds. For instance, the relation labeled in block S31 With index i, results in subset Q, of points of the phase plain [Q Where this constraint holds.
Inner Loop. StepProcessing of constraints and heuristics as a Whole: Having processed of all therelations listed in block S31 and having obtained the corresponding subsets of thephase plain [Q Öl, where each individual constraint holds, this step of the iterativeprocedure comprises computing the intersection of these sets o : f] o, (34) and proceeds to Step 5 of Inner Loop.
Inner Loop. StepConditional construction in the search comprises the next step of the iterative pro-cedure for testing existence of a non-trivial solution for the given set of parameters.Namely IfQçÉfl % the set Q in Eqn. (34) is non-empty Thenthe computational procedure proceeds to Step 6 of Inner Loop.Otherwise the procedure proceeds to Step 7 of Inner Loop for an update.End Inner Loop. StepReconstruction and compact representation of feasible movements: For the non-empty set Q of the phase plane [Q for dynamics of the motion generator (22), thefollowing computational steps are feasible and allow reconstructing some of motion of the augmented system that are consistent With the listed constraints and heuristics: 6.1 Choose a point [QMQ] of the phase plane that belongs to the precomputed set Q,i.e. [eb 9,] e o, with o defined in (34). 6.2 Consider the solution 6(t) : 9(t, 91,, Qb) of the precomputed dynamics of the motiongenerator (22) initiated at this point for an interval of time [-t_,t+], With t_ >O, t+ > O, it stays in Q, i.e. [9(t),9'(t)] E Q, Vt E [-t_,t+], and [9(0),Ö(0)] : [QHÖbl 6.3 Substitute this scalar function 9(t) : Qfißbßib) of time into the synchronizationfunctions defined through the nested representation of motion candidates for all ofthe augmented system coordinates; then, the derived in such a Way motion Will beone of feasible behaviors of the augmented system, by construction consistent Withall listed constraints and heuristics. 6.4 Repeat steps 6.l-6.3 for another initial condition point [Q,, 911,] G Q unless a sufficientnumber of trajectories is collected.Different realizations of Step 6 of Inner Loop, such as stochastic random walks ordeterministic methods, such as grid-based ones, for selecting sets of points [åh Öb] G Qare possible. In any of these realizations, changing iteratively initial conditions for thedynamics of the motion generator Within the correspondingly re-computed set Q Willallow representing a sub-library of feasible movements of the systems for the givenscenario of the robot performance. When completed, proceed to Step 7.Inner Loop. Step 7Update of the parameters of synchronízation functions used for the nested represen-tation of motion candidates and return to Step 2 of Inner Loop on the next iteration.Outer Loop. Step CUpdates for motion generator, synchronízation functions, motion heuristics: On this stepthe procedure enforces an update. either in the list of the heuristics of a targeted motion. or/and in the choice of a motion generator 9 for a targeted motion. or/and in the choice of a parametric class of synchronízation functions and then returns on the next iteration to Step B of Outer Loop.
The flowchart diagram for illustrating the iterative procedure of the method for reconstructing feasiblebehaviors of the augmented system is depicted on Fig.C. Essential Components for Controlling Dynamic Manipnlations 4) Tools for an alternative representation of dynamics of the system in a vicinity of a nominalbehavior enable the second part of the disclosure, Which describes the novel control system architecture,developed for stabilizing a nominal dynamic manipulation and for analyzing the closed-loop systemcorrespondingly. The novelty and its embodiment primary rely on the tools for nested representations ofmotions introduced in the first part of the disclosure.
Meanwhile, it is Worth mentioning that the norninal behavior to be stabilized should not be necessarilyfound through the iterative searching procedure described in Subsection V-B. So that the second part ofthe disclosure can be applied independently and for Wider settings in applications if altemative feedbackcontroller designs to achieve new levels of robustness and adaptivity in stabilizing somehoW differentlyfound feasible behaviors are expected.
For example, in medical applications such as robotic surgery, a doctor or an experienced operator,Which is in charge of moving and actuating a tool of a robotic device for robotized (either teleoperatedor directly controlled) stitching, cutting, moving or handling a tissue, can provide on-line or off-linegeneration of such trajectories, While the disclosure can be then used for analysis, adaptation, and controllerenhancing/improving or tuning in parallel to performing the task.
HoWever, the disclosure assumes further data and steps for Characterization of the nornínal motion andfor Characterization of the model of the dynamics of the augmented system (comprising a robot and anexternal object or an external environment) it has been found for. In particular, the procedure for a model-base control design and analysis relies on several new components, which for the sake of the brevity areexemplified only for the case of a movement of the system comprising a robot and an external object tomanipulate. The part of the disclosure for controlling and analyzing dynamic manipulations for a robot in contact with external environment can be elaborated similarly.
The notation ; refers to a concatenation of two columns of coordinates “-” and “--° into a singlecolumn: E Given the nominal behaviorfr” ï q(“*)(1f): [q('”*)(t);q(°*)(t)] 7 iê l0,T l (35) of the augmented system written in one of sets of coordinates provided by units S11-S12, the methodassumes that this vector function of time can be well approximated and reconstructed in the process ofnumerical integration of the dynamical model of the augmented system embodied in units S14, S15, S17for the given estimates of physical parameters of the system, for the given initial conditions of the system state and for the given input function ut” : wave), t e [0, Tj. (36) Here and in (35) the superscript “a' in (M) means that the corresponding vector function is related tothe augmented system, while “>|<' identifies that this function is related to the given nominal motion. Inexamples, the input function (36) often represents a vector of generalized forces (feedforward controlsignal) that shapes the nominal behavior (35).
The settings are automatically in place if the nominal motion is found following the iterative proceduredescribed in the first part of the disclosure. In this view, the norninal behavior of the system and the feedforward signal become naturally associated and can be considered as a pair {q(“*)(f), U(“*)(1f)}, The ability of the system model to reproduce the motion (35) in response of the input signal (36) reflects 1: e [0,T]. (37) the qualitative and quantitative results in modeling of the robot and the object dynamics, in modeling ofthe contact conditions as well as in estimating system parameters all embodied in blocks S14, S15, andS17 for each of the case studies. For instance, sets of coordinates and dynamic models can be differentrepresenting dynamics of the same robot or the same object or the environment in a vicinity of differentnominal behaviors. The settings assume also the consistency of the nominal pair (37) with all the (hard)physical constraints, present in the system description and embodied in block SOne of convenient formats for describing the dynamics of the controlled mechanical system subject tophysical constraints is given by the so-called Lagrange (or Euler-Lagrange) equations of the first kind.
These are ordinary differential equations of second order in the form i Ûß(q<“),q(“)) _Ûß(f1<“),q(“))dt aq aq : B(q(a)7q(ß))u(a) JF ZŶ,(q(a)7q(a)) E(C)(q(@))q(a))7 (38) where . is the Lagrangian of the augmented system, defined typically as the difference between thekinetic energy and the potential energy of the systems; . is the coupling matrix used for defining the format and scales that external control signals affectthe dynamics; . uW) is the vector of external generalized forces (control inputs defined as torques and forces generatedby the motors or equivalent) that can be applied to the system; . F,(°)(-) and in products shape reaction forces associated with each of physical constraints,where are scalar functions, known as Lagrangian multipliers, and F,.(°)(-) are vector functionscomprising often just instantaneous directions of such reaction forces. The number of the termsunder summation in (38) is often equal to the number of scalar algebraic relations among the notindependent coordinates qÛI) defined in (2) and (4) and hard constraints (10) and (ll) present in thesystem description.
The above reasoning on the ability of the dynamic model to reproduce by simulations the nominal motionfor the given initial conditions and with the given control signal input, is applied to the model (38): Anaccurate integration of the nonlinear system of algebraic-differential equations (38), (2), (4), (10) and(ll) initiated at the starting point for the nominal motion should recover an accurate approximation ofqw) : q(“*) provided that the control input Ma) is chosen equal to u(“*) Furthermore, some level ofinsensitivity to mismatches in parameters estimates is expected so that the accuracy of the approximationis appropriate for the investigation of the given case study or even can be improved upon improving anumerical integration procedure by varying step size or other numerical solvers” Characteristics. However,the control input Ma) : u(“*) (t), if applied in experiment, can lead to a failure due to lack of stability: Smalldeviations in the values of parameters, small delays in computing control signal, and small inaccuracies ofthe model, known as disturbances or/and unmodelled dynamics, can lead to significant and unpredictabledeviations of behaviors of the augmented system from the planned nominal behavior. The following partof the disclosure describes how to deal with this issue by introducing the tools for analysis of stability,for design of a feedback controller enforcing stability or/and for improving an already designed controller with possible deficiencies in the properties of the corresponding closed-loop system.
The following components will be necessary in part for describing and implementing controller designmethods and in part for describing and implementing analysis procedures of derived closed-loop systems and are both proposed by the disclosure: 4.1) Transverse coordinates for system dynamics in a vicínity of the nominal motion: block S41 comprises introducing a set of candidates for component-wise description of thestate vector of the dynamics of the augmented system such as (38) or its equivalent. They aregiven as alternatives for some of elements of the generic choices of a state vector comprisingthe configuration variables qÛl) of the augmented system and the generalized velocities ma) (orthe conjugated momenta) well defined at least in a vicinity of the orbit of the nominal motionq<“*)(t), t E [0, T]. The procedure for deriving new components for the state vector of the systemdynamics relies on the abilities . to introduce one or several choices for a scalar variable 9 that can serve as a motion generator9 : 9*(t) for the given norninal behavior qw) : q<“*)(t), and. to define, correspondingly, smooth synchronization functions : that in combination enable reconstructing the given nominal behavior through the nested repre-sentation (17) as done in blocks S21-S22. Such a condition is not restrictive. For instance, it isåq(f)l2 > 0, for an t e [dT]except, possibly, a finite number of time instances, where the system can change direction of readily met if the nominal behavior has a non-zero Velocity, motion simultaneously in all coordinates. Indeed, in this case the time interval of the nominalmotion q(“*)(t) can be split on a finite number of sub-intervals, where for each sub-interval atleast one of original coordinates of the augmented system behaves monotonically and can serveas a motion generator for this part of the nominal behavior. Then, the nested representation ofthe the nominal motion will follow and will be defined on each of sub-intervals with new setsof state vectors determined accordingly.
The above arguments provide one of many constructive methods for introducing both the motiongenerator and the synchronization functions resulting in the nested representation of the nominalbehavior of the augmented system written in components as q§a*>(f):1,,(øa(f)), q§;a*>(f):<1>N,(ø*(t>), fqoçry (39) Here N : n, +no is the total number of the augmented system coordinates, see Eqns. (16)-(17).Consequently, any of nested representations such as (39) for the nominal behavior q(“*) allowsintroducing at least one altemative set of some components for the state vector for the augmentedsystem dynamics, consisting of the following two groups of quantities: l) the first group comprises a vector y with N -elements defined as 1/1 =: qi” ~ <1>1,<@>,I (40)yN == a? - <ï>1va(9);2) the second group comprises also a vector z with N -elements defined as21 ;: a1(qa,<@>>a ha (aßawméarnfl +clara» [ara ~ aaawwa] +dlußa» [éa - ha (ßßawx éaa<0>)] ,(41) zN ;: aflqfia» lg?_gva(e)h<ø,øa(o),àa(o))l +bmqaa» MW ~ sva>a ha (a, ßa<@>,ß'a<0>)l +Wera» lqšë) ~ svawwl +dN(q)- [Ga _ ha <ø,øa(o),9*(o))] .Here smooth scalar functions a,v(-), b,(-), and d,«(-), z' : l, . . . ,N, are any but such thatthe rank of the Jacobian of the transformation to z-variables given by the N >< N matrix function_ G1 + 2b1qša) Û . . . Û(a)Jz _ o . ._ o aN + 2b2q§$> C1 Û . . . Û _ do 02 o s 39 (12 aà/aqga)E - ' 9 i 42. . _ N “( )âq<“> + . ® z ( ) Û Û CN _ dN is equal to N along the nominal behavior, i.e.rank { Jz (qwæ q-(aæq( With EN being the identity matrix and the Kronecker product 17®ü of two vector functions and is defined as 1/1 101 U1'LU1 'U1'LU2 . . . 'U17cUN112 ”LUQ UQ'LU1 'Ugwg . . . 'UQIUN ® t: ,UN UJN UNIU1 'UNUJQ . . . 'UNUJN the function in Eqn. (41) comes from the different formats of the representation of theinvariant m, o) : o' _ h (e, mo), 910)) of m, à) : à? _ f? (o, mo), à*(o)) (44) of the dynamics of the motion generator (22), computed for an altemative representation ofthe temporal behavior of Q-variable in (39) and based on the system dynamics such as givenby (38) and on the synchronization functions, found and used for the nested representationof the nominal motion in (39). As known, both functions I in (44) are zeros along thenominal behavior 1(ø,ø')l,:,,(,) E o, vi e [o,T]. (45) é:ø'*(f) Examples and equivalent explicit forms of the invariant I of the differential equation (22),Which is one of the specific formats of the so-called Bernoulli equation, are Well-known inthe literature, see for instance u Surov M., A.S. Shiriaev, L.B. Freidovich, S.V. Gusev and L.V. Paramonov. “Case study in non-prehensilemanipulation: Planning and orbital stabilization of one-directional rolling for the “Butterfly robot”,” in theProceedings of tl1e IEEE International Conference on Robotics and Automation (ICRA), pp. 1484-1489,2015.. Freidovich L.B., and A.S. Shiriaev, “Transverse linearization for mechanical systems with passive links,impulse effects, and friction forces] in the Proceedings of the 48th IEEE Conference on Decision andControl (CDC), pp. 6490-6495, 2009.. Peiram J., A.S. Shiriaev, C. Canudas-de-Wit and F. Grognard. “Explicit formula for a general integralof motion for a class of mechanical systems subject to holonomic constraintf in the Proceedings of the2nd IFAC Workshop on Lagrangian and Hamiltonian Methods for Nonlinear Control, Seville, pp. 99-104,2003.In order to complete defining new components for the state vector provided by the quantities(40)-(41) and to validate the rank condition (43), they should be complemented by a rule fordefining values of variable 9 and as functions of the components of the original state vector[q<“); qfw] of the augmented system dynamics (38) or its equivalent, for instance, such ase' ÛQWOÛ) .(a)_ : i 4ägg) q (6) <9 : 6208)),Here and below “a smooth function” means a continuous (without jumps) function with a requirednumber of continuous derivatives. Within the presented procedure any of the choices for thefunction is appropriate, provided it is smooth and obeys the following interpolation condition Q(q<“>> _ mi). <47> q(“)=q(“*)(f) _ Literally, it means that the function is tuned to reproduce the temporal profile of the motiongenerator at least for the nominal behavior.Given the rule (46)-(47) for defining 9, the quantities (40)-(41) collected into a vector M1: (m), yN(->, zlç), zNQlT, (48) define 2N variables as functions of qía) and (fa), which, by construction, satisfy at least thefollowing two properties: 1) They vanish along the norninal behavior (a) 01)?q(a):q(a*)(,g) qfil) O» )lq(a)=q(a*)(t) E O; : 17 ' ' ' u q(<1):q(<1*)(t) 2) The collection of these 2N functions have always (2N - 1) ones, which are independentin a vicinity of the nominal motion. This set of (2N - 1) independent functions is varyingand can be different for different time instances t G [0, T].
With these two properties, the components of m defined in (48), represent the part ofthe new coordinates for the system dynamics (38) or its equivalent, defining the part of thebehavior, which is locally transverse to the orbit of the nominal motion. By this reason, xare commonly referred to as transverse coordinates.
In short, block S41 comprises the procedure for introducing one or several sets of transversecoordinates developed for characterizing transverse dynamics of the system in a vicinity of thenominal motion. The control design method elaborated below for regulating the nominal motion4.2) will describe one of possible control architectures aimed at enforcing either convergence orcontraction of the transverse variables to zero values.Linearization of the dynamics of transverse coordinates in a vicinity of the nominal motion:block S42 comprises the computational procedure for deriving a linear control system, statevariables of which approximate the time evolution of transverse coordinates of the augmentedsystem introduced in block S41 in a vicinity of the nominal pair (37). For computing alinearization of the dynamics of the augmented system, such as (38), in a vicinity of the nominalpair (37), one needs to complement the time-dependent format of representation of the nominalfeedforward control signal (a pre-defined function of time) uW) : u(”*)(t) by an alternativestate-dependent form uül) : Uff(q(q)7 qüfl), (49) where Uff is any smooth vector function that satisfies the interpolation condition uwou) : Uff(q(a)7 q'(a))(q(a):q(a*)(t) _ (50)q(q):q(q*)(t) Block S42 provides one or several variants for such a feedforward operator Uff and performsan associated feedback transformation for the augmented system dynamics (38) from the controlVariable Ma) to a new Variable vw) by the following rule uül) : Uff(q(q)7 qüfl) JF U(q)_ (51) As a result, the dynamics of the augmented system (38) becomes d Öß(-) Ûß(-) . . C_ _ _ B ff : B .FO 2dtiâqçül Ma) (q )U (q ,q ) (q ,q )q +:Åq , (5) and the nominal pair (37) in new variables becomes{q(t), U(1e)} : {q<fl*>(t), 0}, 1: e [0,T]. (53) For convenience and further referencing, the nonlinear differential equation (52) or similar canbe re-written in the format resolved with respect to the generalized accelerations, i.e. the secondtime derivatives of the configuration coordinates q(“), of the augmented system as at* : Fot), q> + Got), at) W with appropriately defined vector functions F and G Computing the full state linearizationåöæ : A(t) ÖSL* + B(t) 611 (55) of the nonlinear dynamics (54) or equivalent around its solution (53) can be implemented follow-ing the well-known and standard procedure used for local analysis and control of autonomousnonlinear systems. For instance, if the state vector öm and 611 of the linear control system (55) are defined as incremental variations of the nominal pair (53) Written as q<fl> _ qq<fl> 5 (farao ...' denote higher-order of smallness terms, then the matrix coefficients of (55) are + 6:13(t) + . . ., 11(“)(t) I U(“*)(t) + öv(t) + . . .,QV-z ED i Where computed by the following rule 0 E 0Au) :: N N , Ba) 1: N (56)A21(t) A22(t) Bg With ON, E N being the N >< N zero and identity matrices and With componentsÛF(<1<“),á('N)AW) W qtflzqtsty (57)q(<1):q(<1*)(t)ÛFQÄN, QÛN)AW) f ¶ qttïqttttty (58)¿(<1):q'(<1*)(t)BÅÛ I: GWW), ÛÛÛ) q<@>:q<«1*>(f) (59)q(a):q(a*)(t) However, computing linearization of its subsystem defined by transverse coordinates such as(48) in a vicinity of the solution (53) is non-standard and requires additional steps. It results ina linear control system of the form similar to (55) but With the different meaning of the statevector and the different procedure for computing matrix coefficients åÖíUL I ÄJÃÉ) (SSUJ_ + BJlÉ) Here öæ1 is the state vector 51131 I[63/1,...,ÖyN,Öz1,...,ÖzN]Tof this linear control system With elements defined based on incremental variation of the trans-verse coordinates a: introduced in (48) from their zero values on the nominal behavior (48);and 611 being a control variable defined as deviation of control input 1181) from its norr1inal zerovalue on the nominal process (53). Being specific, the linear control system (60), derived basedon the designated set of transverse coordinates (48), is equivalent to any other linearization oftransverse dynamics. So that the constructive steps embodied in block S42 and presented next become generic: The matrix coefficients of (60) have a block structure A11 (t) A11 (t)A21 (t) A22 (t) ON , BJ_ I: A1(t) z: í (61)4.3) With components defined as Alla) E gig! Fa)_qi/(Qflfawâía)Q(q<@>)qJ qwíquwxt) (62)q(ß):q(<1*)(¿)Å12(É) 2: íqw)_QKQWOÜDÖâa)Q(q(a))q(a¶} qüflíqüwwt) (63)q(f1):q(<1*)(t)A .f Û o) o)nu) .f â-yhïq ,q >~ <64>å (a)(<1>">>h>> + <1>'>>h'>>) %)q<fl>l } Mqwaa,q(a):q(a*)(t)c Û o) -<«»>A220» 14 åka ,q >- <6s>3 ">>h>> + <1>f>>h/>>) %)q<“>] } q<,,:q(,,q'(<1):q(<1*)(,5)Bzfi) i: GWQÜJÉQÛ)q:q Here h(Q(q(“))) is the abbreviation for h>> =: h<ßß*<0>,@*<@>> haga) With the functions and being taken from Eqns. (44) and (46), respectively.
The formulae (61)-(66) illustrate one of alternative procedures for a symbolic computationof coefficients of the transverse linearization (60) Without any simplifications or additionalassumptions. The formulae (61)-(66) also designate the difference of the newly introduced linearcontrol system (60), Which Will be utilized in the disclosure for design of a feedback controllerand for analysis, and the commonly used linearized dynamics given by Eqn. (55) or equivalent.In short block S42 comprises the computational procedure for deriving one or several equivalentrepresentations of linear control system, states of Which approximate the time evolutions of thedefined above transverse coordinates of the augmented system dynamics introduced in blockS41 in a vicinity of the norninal pair (37).
Linear feedback designs for transverse línearization: block S43 comprises linear feedbackcontrollers developed for the linear control system, such as (60) or equivalent, representing thelinearization of the transverse dynamics of the augmented system in a vicinity of the nominal pair(37) developed in block S42. The variety of a family of linear feedback controllers for regulatingthe same linear control system (60) is motivated by the necessity to meet different specificationson robustness or adaptivity of the original augmented system reformulated accordingly forthe linear closed-loop system. Such linear feedback controllers can be time independent ortime-varying. They can depend on the state-vector åæl or on an output, associated With anapproximation of the signals available for feedback due to present sensors,Ön 2 C(t) 631 : Ûy(t) dy -I- Cz(t) Öz (67) of the linear control system (60) or equivalent. Furthermore, such linear feedback controllers can be static, i.e. Without internal states611 : Kk,(t) öv] (68)or they can be dynamic, i.e. With internal states611 : Cd(t) w + Kd(t) 617, ti] : Ad(t) w + Bd(t) 617, w G Rd. (69) Such linear feedback controllers can ensure the contraction of the linear closed-loop system statevector or some of its components to a prescribed neighborhood of the origin of the transverselinearization, if the norninal motion is defined on a finite time interval. Otherwise, such controllerscan ensure an asymptotic (exponential or quadratic) stabilization of the transverse linearization.Alternatively, such linear feedback controllers can provide the validity of a Weaker propertyrequested by the disclosure: Such a linear feedback controller is to ensure that restrictionssuch as a level of contraction, robustness or an asymptotic convergence to the origin imposedon solutions of the linear closed-loop system, comprising the transverse linearization (60)combined with the linear feedback controller, are requested just for a linear sub-set of theclosed-loop system solutions of the co-dimension k, which is defined as the dimension of thevector of control inputs ÖUQ) in Eqn. (60).More precisely, if a linear controller for regulating the transverse linearization (60) or equivalentis static, such as given by Eqn. (68), then,At first,A linear feedback controller (68) is requested to ensure the presence of a set of inde-pendent smooth vector functions n1(t) G RW, ..., nk(t) G RQN and an associated set of linear sub-spacesS(t) 1: {Öa3¿ G RQN: n1(t)TÖ:c¿ : O, ..., n;í,(t)Tå:1:¿ 2 0}, (70) of the co-dimension k: defined for any t G [O,T] such that solutions öæl : öm ¿ (t) ofthe closed-loop system satisfy the following forward invariance property if åæ¿(0) G S(O), then åscflt) G S(t) for any t G [O,T]. (71) At second,A linear feedback controller (68) is requested to ensure the validity of specificationsimposed on terminal properties of the closed-loop system solutions for the case ofcontraction or/and to ensure the validity of specifications imposed on transition androbustness for the case of asymptotic stabilization, which are applied only for the part of the closed-loop system solutions 6:1: l : 6:1: ¿(t) With initial conditions at t : O4.4) belonging to the linear subspace åm¿(0) G $(O).
For the case of a dynamic linear controller (67), (69) designed for regulating the transverse linearization (60), the demands from the linear closed-loop system properties are sirr1ilar: At first,A linear feedback controller (67), (69) is requested to ensure the presence of a set ofindependent smooth vector functions nl (t) G RQ” >< Rd, ..., nk(t) G RQN >< Rd and an associated set of linear sub-spacesso) ;: {§ : [öæbw] e RQ” >< nd: nlafg : o, ...,nk(t)Tg : o} (72) of the co-dimension h defined for any t G [0, T ] such that solutions 5 (t) : [öa:¿(t); w(t)]of the closed-loop system satisfy the following forward invariance property if §(0) G S(O), then §(t) G S(t) for any t G [0,T]. (73) At second, A linear feedback controller (67), (69) is requested to ensure the validity of specificationsimposed on terminal properties of the closed-loop system solutions for the case ofcontraction or/and to ensure the validity of specifications imposed on transition androbustness for the case of asymptotic stabilization, which are applied only for the partof the closed-loop system solutions S : i (t) with initial conditions at t : O belongingto the linear subspace §(0) G S In short, block S43 comprises static or dynamic linear feedback controllers for regulating thetransverse linearization developed in block S42 in such a way that the closed-loop systempossesses one or several invariant linear sub-sets of solutions of co-dimension h defined byappropriate sets of independent and smooth vector functions n1(t), . . . , nk(t) such as in (70) or in(72). And all the solutions of the linear closed-loop system belonging to the corresponding linearsub-set should satisfy the specifications on level of contraction to the origin for assignments givenfor finite time interval; or that solutions should converge to the origin and meet specificationson robustness, transient response, disturbance rejection etc. for finite, periodic or infinite timeassignments. Such linear sub-sets of the closed loop system solutions of co-dimension k: can bedifferent for different linear feedback controllers.
Defining a projection operator onto the orbít of the nominal behavior: block S44 comprisesone or several smooth operators defining r : T(q(“), QVÛ) by transforming linear feedback con-trollers of block S43 into nonlinear feedback controllers to regulate solutions of the augmentednonlinear system dynamics (52) or equivalent in a vicinity of the nominal pair (37).
Any of such operators must be well-defined in a vicinity of the nominal motion. Fur-thermore, operators can be different for transforming different linear feedback controllers.By design, any of such operators should provide the following property: the linearizationof the transverse dynamics of the nonlinear system augmented with the nonlinear feedbackcontroller computed in a vicinity of the nominal pair coincides with the correspondingly computedtransverse linearízatíon augmented with the linear feedback controller derived in block S43.Depending on the format (static versus dynamic) of the linear controller this property is achievede.g. if a smooth operator obeys one of the following properties:l) If the linear feedback controller of block S43 is static and given by Eqns. (67), (68), thenthe operator v' : T(q(“), qÛÛ) developed for devising the static nonlinear feedback controller as an extension of (67), (68) with :12 defined as in Eqn. (48) or equivalent Ja) : Ks (7-(q(a)7 q(a))) C (7-(q(a)7 q(a))) ml (q(f1)7 q'(a)) (74) should provide the validity of the ínterpolation condition for Vi G [0, T]G(q(a)7 q(a))K5 ('l'(q(a)7q'(a))) C (7"(q(a)7 q'(a))) yquflïqptga) E B2(É)K5(É)C(É), (75)q(<1):q(<1*)(t) which is written for convenience in terms of the coefficients of the nonlinear dynamics(54), resolved with respect to the accelerations. 2) If the linear feedback controller of block S43 is dynamic and given by Eqns. (67), (69),then the operator v' : T(q(“), (fw) developed for devising the dynamic nonlinear feedback controller as an extension of (67), (69) with a: defined as in Eqn. (48) or equivalent to) I Cd(T(q<«»>7q))w+;(d(T(q<«»>,¿))(;(,(q,q))æl(qowvqoø)tw : Ad (f,q>)w+ßd (f,q<”>>) C(f,q>)wi (q<“>,q<“>) should provide the validity of the ínterpolation condition for Vt E [0, T] G(q(a), q(a))Kd (7-(q(a)7 q(a))) C (T(q(fl)7 q(a))) (76) quøïqult) (t) E BÄÛKÄÛCÜ), (77)q(fl):q(a*) (t) q(a):q(a*)(t) E B2(t)Cd(t)v (78)qüüïqüw) (t) q<«>:q (t) E Ådfi), (79)qüüïqüw) (t) q:q (t) E BÄÛÛÜÛ) (SÛ)q(a):q(a*) (t) G(q(<1), q(«1))Cd (T(q(«1)7 q(a))) Ad (wa q~>> Bd (T(q(a)7 q(a))) C (7.(q(a)7 q(a))) which are written, for convenience, in terms of the coefficients of the nonlinear dynamics (54).In short, block S44 comprises the variety of nonlinear projection operators that allow devisingthe nonlinear static or dynamic feedback controllers based on the linear feedback controllersdeveloped within block S43. The transformation and the correspondence in between the linearfeedback controller designed for the linear control system (60) or equivalent and the nonlinearfeedback controller aimed at regulating the nominal behavior (37) of the augmented systemdynamics (38) or equivalent is achieved through computing and comparing the linear closed-loop system with the linearization of the transverse dynamics of nonlinear closed-loop system ina vicinity of the nominal behavior. Such two linear closed-loop systems derived in two differentways should coincide or be equivalent. Block S44 provides a constructive procedure for validating this property.
D. Method for Controlling Dynamic Manipulatíons Given the nominal pair (37) representing the desired forced solution (35) of the augmented system (38)or equivalent in response to the input signal (36), blocks S41, S42, S43, S44 lay out complementarydescriptions of the system dynamics and components for designing the nonlinear controller comprisingconsequently 1) a choice of transverse coordinates :Q : æflqw), qÛÛ), see Eqns. (40), (41), (48) used for charac-terizing the dynamics of the augmented system (38) transverse to the nominal motion; 2) a choice of a feedforWard operator U f f (qülflqfili) and the corresponding feedback transformationdefined by Eqns. (49)-(51) as Well as the linearization (60) of the transverse dynamics With com-ponents defined by Eqns. (6l)-(66); 3) a choice of a linear feedback controller, designed for regulating the linear control system representingthe linearization of transverse dynamics that ensures the presence of a linear sub-set of solutions ofthe linear closed-loop system of co-dimension k: equal to a number of independent control inputs ofthe original nonlinear augmented system (38) and given for a static feedback controller by Eqns. (70)-(7l) and for a dynamic feedback controller by Eqns. (72)-(73), for Which all the specifications suchas levels of contraction, robustness or rate of convergence etc. imposed on solutions of the linearclosed-loop system are met; 4) a choice of a projection operator T : T(q<“),q<“)) ensuring the equivalence of the linear closed-loop system achieved by the linear feedback controller, developed on the previous step and of thelinearization of the nonlinear system, comprising the transverse dynamics of the augmented system(38) or equivalent and the static nonlinear controller (74), if the linear feedback controller is static(67), (68) or the dynamic nonlinear controller (76), if the linear feedback controller is dynamic (67),(69).
The disclosure comprises the description of the robust nonlinear controller design procedure aimed atregulating the dynamics of the augmented system (38) in a vicinity of the nominal motion (35) in theform uül) : Uff(q(a),q(f1)) + uqía), q(f1))_ (81) Here the controller part is devised based on variants and modifications of the sliding mode controllermethodology aimed at local finite-time stabilization of the specific sub-manifold S : S(q<“), qÛÛ) of theco-dimension k of the state space of the nonlinear closed-loop system.
One of many alternative realizations of such controller design method for deriving a controller is basedon the formulagl . Sign {S1(q(a)7 q(a))} ü : U(a) + Vnew? Vnew :ek -s1gn{sk,q<@>>} Where el, ..., ek are constant parameters; 11(“)(-) is the nonlinear feedback controller of the form (74) or (76), derived from the transformation of the corresponding linear feedback controller, based on thechosen projection operator T(-); sign{-} is the scalar signum function; and the scalar smooth functionsS1(q<“), cjÛÛ), . . . , S;,(q<“), qÛÛ) are chosen to meet the following interpolation condition with the right-handsides used for defining the linear sub-set of the closed-loop system solutions of co-dimension k: . For the case of the static nonlinear feedback controller (74) each of the scalar function S,-(-), i : l, . . . ,/<:, is defined as the following matrix product of the row and the column:S,,> = [s,1, finn, - . . , S,<2N,, q>>l finn), q> <8» with the vector of transverse coordinates a: defined as in Eqn. (48) or equivalent and with thefactor in the product satisfying the interpolation property [elverk in» ._ _, S,<2N,, raw] i,,íq<,,,,,, E nio), v: e w, Ti. <84>¿(<1):¿(<1*)(t)Here the vector functions n,-(t), i : l, . . . , k, are from the definition of the linear sub-set of solutions of the linear closed-loop system given by Eqns. (70)-(7l); . For the case of the dynamic nonlinear feedback controller (76), each of the scalar functions S,-(-), i : l, . . . , k, is defined as the following matrix product of the row and the column:(a) '(11)Si(q(a)v q-(Mvw) i: |:5i1(7-(q(a)> qv 114)? ' ' ' a Si(2N+d) (7-(q(a)v q-(awv 7q wwith the factor in the product satisfying the interpolation propertyisil (7-(q(a)v qi(a))>w)a ~ ' ~ v 5i(2N+d)(7-(q(a)v qfanvwfl q(fl):q(a*)(t) E nïüñv Vt E iOv q(a):q(a*)(t)w:0Here the vector functions i : l, . . . , k, are from the definition of the linear sub-set of solutions of the linear closed-loop system Eqn. (72)-(73); the vector a: of the transverse coordinates is defined in Eqn. (48), and w(t) is the vector representing the intemal state of the dynamic controller (76).Altemative higher-order sliding mode or high-gain controllers for the finite-time or rapid exponentialstabilization or contraction to the sub-manifold S of co-dimension k: complementing (81)-(82) can bedefined by the equations Sluta, Ww) : 0, St,q<“>,w> : 0, (Sv) and can equally be applied to provide different realizations of the disclosure embodiment. The dependenceon the variable w should be absent in Eqn. (87) if the controller is static. The schematic flowchart of thenovel control design method for regulating the given nominal forced behavior of controlled mechanicalsystem is given on Fig.E. Method for Analyzing Control Architecture Developed for Performing Dynamic Manipnlations Taking advantage of the tools provided in blocks S41, S42, the present disclosure also describes a method that can be used for a quantitative analysis of parainetric sensitivity and levels of robustness of feedbackcontrol architectures developed for performing dynamic manipulations. Given the norninal behavior (35)and the control input (36), inducing this motion, given the dynamic model of the augmented systemsuch as (38) or equivalent, enabling to reproduce the nominal pair (37), given the feedback controller,developed for regulating the norr1inal behavior, if appropriate, the method comprises the following steps realized consequently: l) Choose a scalar variable as a motion generator and define synchronization functions for reconstruct-ing the nominal behavior through a nested representation; 2) Compute coefficients of the dynamics to define a time-evolution of the motion generator along thenominal behavior; 3) Introduce transverse coordinates ml : :c¿(q(“), qVÛ), see Eqns. (40), (41), (48), which can be usedfor characterizing the dynamics of the augmented system (38) transverse to the nominal motion; 4) Compute a linearization of the transverse dynamics of the nonlinear closed-loop system, comprisingof the system (38) and the feedback controller, developed and used for regulating the nominalbehavior in a vicinity of this motion as done in Eqns. (60)-(65) for the case with B2(-) : O.
Following the steps above, the derived linear closed-loop system becomes computed symbolically and turnsinto the main object for analysis of parameters sensitivity and robustness of the closed-loop system formedwith the given nonlinear controller, developed for performing a dynamic manipulation. The properties ofthis linear control system can be explored based on numerical simulations in searching critical values ofvarious parameters of the initial dynamic model, for which the stability is lost or the desired performance isnot achieved. In addition, and what is important in analyzing a controlled dynamic manipulation, numericalstudies can be complemented through analytical arguments applied individually or in combination suchas changing of coordinates for simplification of the linear closed-loop system, searching and exploitingof parametric sets of Lyapunov functions, analyzing different responses of the the linear closed-loopsystem to specific perturbations and uncertainties and even in planning new experiments for identifyingor improving estimates of critical system parameters etc. all available and well-known for linear systems.
Since the derived linear system represents in a vicinity of the nominal pair the dynamics of thetransverse variables combined with the nonlinear controller states, then any local analysis result andthe corresponding conclusion on parametric sensitivity and robustness derived for the linear system willbe valid for characterizing corresponding property of the nonlinear closed-loop system. The constructiveformat of computing such linear system becomes then the part of the disclosure for the analysis ofinduced motions of highly nonlinear closed-loop dynamics representing parametric sensitivity, robustness and limitations of the nonlinear feedback controller for performing the individual dynamic manipulation.
The disclosed methods will be summarized in relation to Figures 4-5, below. In essence, three related methods have been described above, and will be further illustrated below: . the first method, illustrated in relation to Pig. 4, allows model-based planning of a feasible motionfor a robotic system to perform a desired manipulation, provided the motion is stabilized; . the second method, illustrated in relation to Fig. 5, allows a model-based design for controlling afeasible motion for a robotic system, e.g. using the planned motion candidates found by the method illustrated in relation to Fig. 4, and. the third method, based on aspects of the two mentioned methods, enables determination of important variables e.g. forces that cannot be directly measured.
F A method for motion planning for a robotic system to perform a dynamic manipulation of a passive object and/or an interaction with an external environment Figure 4 illustrates the proposed method for motion planning for a robotic system to perform a dynamicmanipulation of a passive object and/or an interaction With an external environment. The method comprisessearching for Sl000 feasible, i.e. satisfying physical constraints and possessing desired Characteristics,behaviors, i.e. motions With induced interaction forces, of the robotic system subject to kinematic anddynamic constraints. Searching for Sl000 feasible behaviors is based on . a nested representation of motion candidates, Which assumes a choice of a scalar variable as a motiongenerator and a choice of a nested representation and a parametric set defining synchronizationpatterns for computing generalized and/or excessive coordinates of the robotic system as functionsof a motion generator for embodiment of a searched movement, . re-Writing in an equivalent form the kinematic and dynamic constraints and expected properties of asearched movement based on the chosen nested representation in terms of the motion generator, itstime derivative, and the parameters defining the synchronization patterns, and . a procedure for computing and for an analysis of a subset of a phase plane of the motion generator'sdynamics, derived for the chosen nested representation of motion candidates, Wherein said constraintsand expected properties are met and allow reconstructing one or several feasible behaviours.
According to some aspects, searching Sl000 feasible behaviors of the robotic system subject to kine-matic and dynamic constraints further comprises reconstructing S1100 a temporal behavior of a motiongenerator as a solution of its dynamics With initial conditions chosen Within the subset of the phaseplane, Wherein said constraints and expected properties are met. According to some aspects, searchingfor Sl000 feasible behaviors of the robotic system subject to kinematic and dynamic constraints furthercomprises reconstructing S1200 a feasible behavior of the robotic system by substituting the temporalbehaviour of the motion generator into the description of the chosen synchronization patterns for definingtemporal behaviors of the robotic system”s coordinates for the time interval, Where the motion generatorstays Within the subset of the phase plane, Wherein said constraints are satisfied and expected propertiesare met. According to some aspects, searching Sl000 feasible behaviors of the robotic system subject tokinematic and dynamic constraints further the above mentioned steps for organizing an iterative searchingprocedure based on modifications and/or updates for . a current choice of a scalar variable as a motion generator for representing a searched manipulation, . a current list of expected properties of a searched manipulation to be taken into account during thecurrent iteration of the search, . a current choice of a description for the synchronization patterns used in the nested representationof the motion candidates and/or of their parameters, and . a current choice of initial conditions for the dynamics of the motion generator taken Within the subsetof the phase plane, Wherein said constraints are satisfied and expected properties are met, and usedwO for defining a feasible temporal behavior of the motion generator for a searched manipulation as a solution of the motion generator”s dynamics for the time interval Within Which it stays in the subset.
The present disclosure also relates to a corresponding computer program products implementing thedisclosed method for motion planning for a robotic system to perform a dynamic manipulation of a passive object and/or an interaction With an extemal environment.
G. A method for controlling a dynamic manipulation of a passive object and/or an interaction with an external environment by a robotic system Figure 5 illustrates a method for controlling a dynamic manipulation of a passive object and/or aninteraction With an external environment by a robotic system. The method comprising regulating 82000a part of the dynamics of the robotic system subject to kinematic and dynamic constraints, Which istransverse to a nominal movement of the robotic system by a feedback controller. According to someaspects, the feedback controller comprises representing the part of dynamics of the robotic system subjectto kinematic and dynamic constraints, Which is transverse to the nominal movement of the robotic system,by defining 82100 transverse coordinates for describing this part of the dynamics or equivalent derived . based on deviations of the robotic system coordinates from quantities defining the synchronizationpatterns, obtained for the nested representation of the nominal movement, . based on deviations of the velocities of the robotic system, Which are the time derivatives of theconfiguration coordinates, from the values necessary to keep zero derivatives of the quantities, definingthe synchronization patterns, obtained for the nested representation of the nominal movement, and . based on deviation from zero of a value of a general integral of motion of the dynamics of the motion generator obtained for the nested representation of the nominal movement.According to some aspects, the feedback controller comprises . computing 82200 a linearization of dynamics of the transverse coordinates in a vicinity of thenominal movement, . designing 82300 an auxiliary linear feedback controller for regulating this auxiliary linear controlsystem, and . designing 82400 a projection operator for reconstructing a nonlinear feedback controller for regulatingthe dynamics transverse to the nominal movement of the robotic system from the auxiliary linear feedback controller constructed for the linearization.
According to some aspects, the feedback controller comprises designing a robust nonlinear feedbackcontroller for regulating the dynamics transverse to the nominal movement of the robotic system by . computing 82500 a linear subset of solutions of the auxiliary linear closed-loop system consistingof the linearization for dynamics of transverse coordinates in a vicinity of the nominal movementand an auxiliary linear feedback controller, as described above and below, for regulating this linearauxiliary control system, Which is invariant for the auxiliary linear closed-loop system and Which isof a co-dimension equal to a number of independent control inputs of the robotic system, . selecting S2600 a collection of nonlinear functions depending on the robotic system coordinates andtheir velocities and of the projection operator, for Which the subset of solutions of the nonlinearclosed-loop system belonging to zero level set of these functions, coincides in first approximationWith the computed invariant subset of solutions of the auxiliary linear closed-loop system of co-dimension equal to a number of independent control inputs of the robotic system, and . modifying S270O the nonlinear feedback controller for regulating the nominal motion of the roboticsystem by complimenting this feedback controller With a sliding mode or high-gain controller aimedat finite-time or rapid exponential contraction to the zero level set of the selected nonlinear functions.
The present disclosure also relates to a corresponding computer program products, implementing thedisclosed method for controlling a dynamic manipulation of a passive object and/or an interaction withan external environment by a robotic system.
The present disclosure also relates to a method for reconstructing different state or output signalsunavailable in the robotic system from direct measurements such as some coordinates, velocities, con-straints, reaction and friction forces and torques in a vicinity of the nominal movement and for analysingthe dynamics of the closed-loop system in a vicinity of the nominal movement. The method comprises . alternative format of expression of a state or an output of the closed-loop system in a vicinity ofthe norninal motion re-defined based on the nested representation of the nominal motion combinedWith the projection operator for determining a status of the said state or the output as a function ofthe motion generator, its velocity and parameters defining the synchronization patterns used in thenested representation, and . approximate representation of the part of the nonlinear closed-loop system dynamics, Which istransverse to the norninal motion, based on linearization of the dynamics of the transverse coordinates,Which is computed in a vicinity of the nominal movement and for Which standard analysis andidentification methods of linear control theory are applied.
According to some aspects, When applied for planning and realizing, via a feedback control, a non-prehensile manipulation of a passive object on a robot hand of the robotic system, the method comprisesa choice of a motion generator defined in the body frame of the robot hand as a location of one ofcoordinates of the centre of symmetry of the external object, if the object is symmetric, or one ofcoordinates representing a contact patch between the object and robot hand or one of angles representinga rotation of the external object relative to the robot hand or their functions, When the object rolls and/orslides on the robot hand.
The present disclosure also relates to a computer program product for reconstructing different stateor output signals unavailable in the robotic system from direct measurements such as some coordinates,velocities, constraints, reaction and friction forces and torques in a vicinity of the nominal movementand for analysing the dynamics of the closed-loop system in a vicinity of the nominal movement. Thecomputer program product comprises computer program code Which, When executed by a control circuitryof a robotic system, causes the robotic system to carry out the disclosed method.
The three computer program products, each implementing the respective methods as described in relationto Figs 4-5, can be combined freely into a single computer program product implementing any pair or allthree of the disclosed methods.2D H. Example I: A disc-On-a-flat-hand robot To illustrate the methods of the disclosure, consider a task of planning a manipulation assignment in avertical plane consisting of a rolling motion of a solid disc on a flat and rigid robot hand Without slippingand exposed to the gravity, see the schematic view on Fig.Following the provided description of block S11, one needs to introduce coordinates representing theposture of the robot in the World frame, i.e. the scalar variables that are sufficient to describe location ofeach point of the robotic hand. For the sake of brevity, assume that the robot posture is fully defined justby the angle d” : a.. <88> Which represents the inclination of the flat hand from the horizontal and Which can be modified by externalcontrol signal representing a torque provided by a motor attached to the hand. Hence, the robot arm rotatesaround a fixed axis in space that is orthogonal to the vertical plane.
Following the provided description of block S12, one needs to introduce coordinates representingthe posture of an external object (the disc) to be manipulated. For this purpose it is convenient tointroduce variables relating them to the frame (æmyh), firmly attached to the robot hand. They arecoordinates [ag ycjh of the center of symmetry of the disc and the angle zßd of rotation of the disc countedcounterclockwise from some initial position again in the frame (mh, yh) of the robot hand. Therefore, the posture of the disc in the World frame is uniquely represented by four variables 98) I Wmßd; ßßcwcl- (89) Clearly such coordinates are excessive for the description of the status of the disc: This is the consequenceof using relative coordinates With respect to the robot hand and, indeed, the absolute angle of rotation ofthe disc in the World frame is defined by a sum of the angles 6,, and ißd. However, since the coordinateof the robot hand (88) is included in (89), then the coordinates qÛl) of the augmented system for the casestudy are Well described by the four variables given by the set (89), that is (fa) I lßh; wa; fßcwcl- (90) Following the provided description of block S14, one needs to introduce the geometrical shapes of therobot hand and of the external object. For the case study and for the chosen set of the coordinates (89),the requested Characterization is reduced to the relations conveniently Written for the frame (azmyh) of the robot handThe surface of the hand: S, z: {(az;,,yh) G RQ : l_ í mh í lir, yh : Oj So j: {(æh>yh) G R2: (æh _ æc)2 + (yh ø yc)2 : Rz2í>} (91)The surface of the disc: (92) Where Rd is the radius of the disc, and l_, l+ are the distances to the ends of the flat robot hand from theorigin chosen to coincide With the abscissa coordinate of the point about Which the hand rotates. When both the hand and the disc are in contact but have no deformations, the surfaces have a common point.The coordinates of this point are defined by Eqns. (9l)-(92) and, therefore, given by l_§íc;,:æcíl+, yh:O, ycïRd.
Following the provided description of block S15, one needs to introduce the characterization of thecontact conditions between the robot hand and the external object. For the case study, When both the handand the external object are rigid, the contact conditions are given in the form of a gemetric unilateralconstraint yc(t) - Rd 2 0. (93) Here the equality yc(t) : Rd means that the hand and the disc are in a point contact, While the strictinequality yc(t) > Rd means that the contact between the robot hand and the disc is lost. Furthermore, ifthe rolling of the disc occurs Without a slip, then the distances, Which contact points on the boundaries of the robot hand and of the disc pass over equal time intervals, are identical:SUCÜ) _ ïUÄÛ) : _ (Ra (MW) _ Rd fßdw» 7 VÜ- (94) The minus sign in the right hand side of the formula (94) appears due to different choices of positive directions for increasing atc(t) and zßdfl), see Fig. 6. The contact model can be then re-Written as fpßl (qw) i:fpß2(q(a)) 3: Both the physical constraints (93) and (94) implie the corresponding constraints imposed on the velocities (95)(96) ycfif) _ Rd 2 Û,ßcfi) _ HTÅÛ) JF (Ra I/Jcdf) _ Ra IPÄÜ» : Û- and accelerations of the coordinates (89): (97) y (i)" 7 (93) C 0,Mi) 0, Where “( i )” denotes derivative With respect to time.They Will be also used in deriving the equation of motion of the augmented system and in planning anominal dynamic manipulation pursuing the method of the disclosure.FolloWing the provided description of block S17, one needs to derive the dynamics of the augmented system comprising the robot and the disc. One of equivalent forms of the dynamics is given by Eqn. (38).For the case study, it corresponds to four differential equations Written for the coordinates (89). Namely, d 'Ûß(q<“),fi<“))' ÛC(<1<“ÄQ<“))_ . - : +Å- 0 +Å- 0 99dt - âøh - ååh u 1 6%) 2 6:91) ( )šåfi, ššf,ínâß(q<“),q<'”>' _Ûß(q<“),q<“)> , Å 0 H R (100)W šfïd '3¿(q(a) qwy gqqfiz) qw)- ' - ' : Å - 0 Å - 1 101dt - âæc - âæc 1 ßf\f JF 2 ßf\/ ( )pcl' pc2'W wd "Ûß(q(“>, ayc Ûyc Where is the Lagrangian of the augmented system defined as the difference between the kinetic andpotential energies of the augmented system: ß> ~ H>; <10ß> is the external control torque to rotate the robot hand; Å1(-) and Å2(-) are the Lagrangian multipliers used in defining constrained generalized forces Ffc) : ÖæF? : _ Ûfpc; Ûfpc; Ûfpc; 312,62Ûwc ” 3% ” Ûfßd ” Ûyc associated With the physical constraints (95), (96) valid on a searched nominal manipulation. The com- bination of the equations (99)-(102) and (104)-(106) helps to illustrate one of general procedures aimedat computing explicit forms of the reaction forces along motions of the augmented system embodied in lCll } I ,\F(C). F01) Qqpdß 21:e ; I Åz- [ik Rd; 1; O] block S18. For instance, the unilateral constraint (93) assumes that the component of the reaction forceFfC)(-) Written in Eqn. (104) along the direction of yh-axis of the body frame of the robot hand andcorresponding to the force applied by the hand to the disc cannot be negative. Indeed, if it is negative,then the hand Would drag the disc. While in the augmented system the hand can only push the disc alongits motion. This condition together With the fonnula (104) are equivalent to the fact that the Lagrangianmultiplier Å1(-) is non-negative. Resolving the six equations (98) and (99)-(lO2) With respect to the sixvariables Å1(-), Å2(-), 1Äd(-), àÉC(-), Will provide the explicit format for defining these variablesas functions of the coordinates of the augmented system and their time derivatives. In particular, thevalidity of the unilateral constraint (93) or its equivalent condition Å1(-) 2 0 for the case study is thenWritten as Ålïmd- [g-Cosøhwßc-äh+2-@C-à,,-Rd-9âl 20, (107) Where md is the mass of the disc, g is the acceleration due to gravity and the other variables have beenÅ Içâfpch âfpch 1. i i introduced earlier with Ö), kept for the brevity and the illustrative purpose to be used below. In a similarway one can deduce the Lagrangian multiplier Å2(-) and the reaction force Fšdß) appearing in-betweenthe robot hand and the disc at the contact point due to the assumption on absence of a slip along thesearched nominal behavior.
Following the description of block S16, one can introduce specifications expected from a nominalbehavior of the augmented system listed as soft constraints to be used in the search following the method.For instance, one of such soft constraint can be introduced as a bound on a maximal ti1ne-derivative ofthe 936 coordinate of the disc to avoid a slipping of the disc for high velocities; or it can be a bound ona magnitude of the velocity vector of the center of symmetry of the disc written in the World frame toensure a feasibility of accurate reconstructing this vector by a visual sensor such as a camera allocatedin the World frame. Other soft constraint can be introduced by strengthening the inequality (107) such asÅl 2 e > 0 to compensate for unavoidable parametric errors due to an uncertainty in system parametersand in flatness/roughness of the surface of the robot hand. Yet, another soft constraint can be introducedon a maximal torque or its time derivative or the mechanical power requested from a motor on anominal trajectory to accommodate for limitations of the particular motor.
Following the provided description of block S21, one needs to choose a scalar variable that can be usedas a motion generator for a searched nominal behavior. For different motions, obviously, this variable canbe different. In order to exemplify the method and for the brevity, consider the case when the variable å),from the list (89) is chosen as the motion generator: 9:âh Following the provided description of block S22, one needs to choose parametric sets of synchronizationfunctions in the fonn of (17), which for the case study should be compatible with the physical constraints(93) and (94). With the choice of the motion generator such as å), and with two physical constraints imposedamong the coordinates (90), following the method one can introduce only one nontrivial function relatingthe behavior of the chosen motion generator åh and one of the coordinates (90) that is expected to varyalong a searched motion. Then, for a rolling motion without sliding it can be a relation between åh and:cc such as wait) : (bogüxglv ' ~ ' v5N0)v where the function is defined by one of the mentioned formulas (l9)-(21). While behaviors of the other three coordinates along a searched manipulation are obtained from the relations 11605) ï Rdv 1240: SUJÛ) _ Rdüßdfifi) _ WUU), M0 : 900- Following the provided description of block S23, one needs to determine the dynamics of the motiongenerator to be written in the form of (22) that will be used for detemiining feasible behaviors of themotion generator consistent with the constraint due to underactuation. For the case study, the passivedynamics of the augmented system (99)-(102) can be determined in many different Ways, but possibly the easiest one is to observe that the right-hand side of the linear combination of the equations (100) and (101) (Passive Dynamics) z: Rd - [Eqn. (101)] - [Eqn. (100)] : Rd - A2 - Rd - Åg I 0 (109) is independent of the control input u and of both reactions forces Ffc), Fšc). The dynamics of the motiongenerator (22) can be then obtained from Eqn. (109) if one substitutes all the relations imposed amongthe coordinates and their velocities ycoffiRd :I 0491091» + ßWhWiâ + Vwh) (110) _y~_C(f):o yc flecggï-Rdudçs) äcüffi-Rdwtflf) @C(f):<1>(ø,,(f),@1,...,@N,) 'IÄZCOÛIÖ/(Ûhof),81,...,6NO)Ö)7_(É) nàšc(t):”(t9h (t) ,e1 ,...,eNO Wâ (t)+<ï>'((9h (t),e1 ,...,eNO )6;, (t) 0 : (Passive Dynamics) The format of the right-hand side of Eqn. (110) is justified by the general structure of the Euler-Lagrangeequation of dynamics of the first kind. For the case study, the coefficients of Eqn. (110) become equal to 049,) I [Jd +md . 32,] (1+ RLd<1>'(ø,,,@1,...,@N,)) (111) : md~Rd'(ï)(Ûh,81,...,ENO)+R¿d (ï)”(Ûh,61,...,8NO) fy(9;,) : -md - Rd - g - sinwh) (113) Following the provided description of blocks S31 and S32, one needs to express the soft and hardconstraints imposed on a nominal behavior in terms of the motion generator and its derivative. For thebrevity, consider an equivalent representation (107) of the unilateral constraint (93) and derive its newformat. This can be achieved by the substitution of the relations requested from a nominal behavior andthe expression for Ö), defined by the dynamics of the motion generator on a nominal behavior into theinequality (107) as md- [9 - QOS åh + :vc - Öh + 2111-911 - 1119131iIcooqcw)-Rd(w1-w1<0>>rcafi-Rdqpda)æcufi-Rdwdu).TC(É):@(Û}7_(É),61,...,8N0):èC(t):'(0h(t),81,...,-9N0)Öh(t) ë=-%§f>â-% ßwh) _ vwhqOÅÛh) O¿(Ûh>+ 2<1>'(9,,(t),@1,. . . ßNo) - 92, _ Rd - 92,Ål I: - 920) I md-|g-cos9h+<1>(9h,e1,...,s;v0)-{ (114) Here the functions o¿(-), and are defined by Eqns. (111)-(113). So that the original inequality (107) becomes equivalently redefined as Ä, (e,,(t),ø',,(t),gl,...,gNo) 2 o (115) and depends for every time moment along a nominal motion only on the values of the motion generator,of its time derivative, and of parameters of the synchronization function The last expression coupled With (104) provides new but equivalent expression of the constraint forceFfc) on a nominal motion and the algorithm for approximating such force in its vicinity. Indeed, if thevariables Ûh(-) and are available from measurements, then the value of the constraint force Ffc) in some vicinity of a norninal manipulation be approximated byFfc) æ Ãl- TO; 0; 0; ll with taken from (114). Otherwise, if the variables 9;,(-) or are not directly available, thenagain the formula (114) can be used for approXimating FfC)(-) provided that estimates of 9h(-) or are substituted in Eqn. (114) instead.
The similar steps will allow redefining any other soft or hard constraints or a constraint force imposedon a searched norninal behavior as a corresponding equality or an inequality or a function dependent forany time moment along a nominal motion only on the status of the motion generator, its time derivativeand parameters of the synchronization function introduced by Eqn. (108).
With the performed preparations, the method suggests to enter the two-loop iteration procedure and tore-use the blocks following the steps of the iteration described in the disclosure for finding feasible motions.In particular, the important part of the method forrnulated in the outer loop of the procedure requires achoice of the motion generator and of the synchronization function (108), while the important parts of.ßNO of (108),computing the dynamics of the motion generator, transforrning the list of soft or/and hard constraints to be the inner loop require sequentially initiating the values of the constant parameters 51, . . re-written only with respect to the two variables, such as the motion generator and its time derivative, andfinally computing the subset Q of the phase plane of the motion generator dynamics, where all the listed constraints hold for the given set of the parameters 51,. . . ßN of (108). Updating the set of parameters and initial conditions for the dynamics of the motion generator (110) allows reconstructing one or severalfeasible motions until the procedure exits the inner loop. Then, the procedure suggests to modify thesettings by adding new heuristics characterizing a nominal behavior and/or by updating the choice of themotion generator and/or the choice of the synchronization function all used in the inner loop unless a sufficiently rich set of feasible motions is derived.
I. Example 2: The “Buttelfly robot” Figure 7 illustrates an example of a robotic system for controlling a dynamic manipulation of a passiveobject and/or an interaction with an external environment.
This example allows illustrating the applicability of the disclosed methods in planning and performingdynamic manipulation assignments. The “Butterfly robot” is an educational robotic set-up developed byRobotikUm AB for organizing non-prehensile manipulation experiments. By design, besides cabling andauxiliary interfaces and electronics, the robotic system 700 (herein also denoted robot) comprises . a motor 720, . an encoder 770, . a robot hand 710, firmly attached to the motor shaft and consisting of two frames with identicalshapes of varying curvature fixed on a constant distance between each other so that a passive object,such as a ball of a reasonable radius, can roll on the hand as on rails, . a camera 760, used as a visual sensor, and. a computing device 730, i.e. control circuitry, used for controlling the robot.
The computing device 730 may comprise a processor 740 and a memory 750. The memory 750 can storeany of the disclosed computer program products. The processor 740 is configured to execute computerprograms stored on the memoryThe disclosed methods can be used for an implementation of planning and controlling rolling behaviors of the ball such as a one-directional rolling, depicted as a sequence of snap shots on Fig.As an alternative to the disc-on-flat-hand robot example, planning and reconstructing one directionalrolling of a disc on a Butterfly robot hand, such as depicted on Fig. 7, advocate for proposing new (scenariodependent) candidates for a motion generator other than the angle of inclination of the robot hand from thehorizontal used in the previous example. Indeed, since a searched rolling of the disc exhibits a monotonicchange of the contact point on a robot hand, then a scalar coordinate of instantaneous location of a contactbetween the robot and the disc on the shape of the robot hand or equivalently on the shape (circumference)of the disc along a rolling can be chosen as a motion generator for representing yet unknown nominalbehavior. As illustrated in u Surov M., A.S. Shiriaev, L.B. Freidovich, S.V. Gusev and L.V. Paramonov. “Case study in non-prehensile manipulation:Planning and orbital stabilization of one-directional rolling for the “Butterfly robot”,” in the Proceedings of the IEEEInternational Conference on Robotics and Automation (ICRA), pp. 1484-1489,indeed, the choice of a geometric variable, Which is equivalent to the contact position on the robot hand,as a motion generator, combined With a specific parametric set of synchronization functions representingthe angle of rotation of the hand as a function of the contact point position can lead to a family of feasibletrajectories for the dynamical model of the augmented system provided that the unilateral constraint -similar to (93) and present in the system description - is disregarded in the search. The found nominalbehavior in the paper Was post-factum checked to meet the condition and appeared to be consistent withthe present unilateral constraint. The required step for a posteríori validating motion candidates in frontof various hard and soft dynamic constraints, present in the system°s description, is of common practicein applications and the paper can serve as one of many illustrative examples for the challenge and foran illustration of the current state of the art in planning feasible behaviors for underactuated mechanicalsystems subject to dynamic constraints.
The novelty of the disclosure for the Butterfly robot is in systematic handling and embedding hard andand soft constraints in organizing the search of a nominal dynamic manipulation behavior, Which resultslargely outperform the previous trial-and-error routines done in an ad hoc manner. Another difference forthe case study is literally in the choices of transverse coordinates for the given nominal rolling and in thevariety of robust controller designs provided by the disclosure. Again, the proposed sliding-mode-basednonlinear controllers for orbital stabilization of the nominal perpetual rolling outperform the reportedpreviously feedback design.
A general robotic system configured to implement the disclosed methods is illustrated in relation toPig. 9.Fig. 9 is a box diagram illustrating a robotic system 900 for controlling a dynamic manipulation of a passive object and/or an interaction With an extemal environment. The robotic system 900 comprises . a single or multi-axis robot hand 910,. an actuator or a set of several actuators 920, configured to move and to re-configure the robot hand910 on command from. a control circuitry 930, configured to carry out the method for controlling a dynamic manipulation ofa passive object and/or an interaction with an external environment by a robotic system, as describedabove and below.As illustrated in relation to Figs. 6-8 above, the concept of a robot hand is not lirnited to an actual hand,but intended to indicate a moving part of the robotic system that may be used to dynamically manipulatea passive object and/or interact with an external environment. The control system may be extended tobe able to carry out any of the methods disclosed herein. For instance, according to some aspects, thecontrol circuitry is further configured to carry out the method for motion planning for a robotic system toperform a dynamic manipulation of a passive object and/or an interaction with an external environment, asdescribed above and below. According to some aspects, the control circuitry is further configured to carryout the method for reconstructing different state or output signals, unavailable in the robotic system fromdirect measurements such as some coordinates, velocities, constraints, reaction and friction forces andtorques in a vicinity of the nominal movement and for analysing the dynamics of the closed-loop systemin a vicinity of the nominal movement, as described above and below. According to some aspects, thecontrol circuitry 930 comprises a processor 940 and a memory 950, wherein the memory is configured tostore any of the disclosed computer programs. According to some aspects, the robotic system 900 furthercomprises a camera 960 or a set of any other sensors, providing, in particular, information on the statusand configuration of the robot hand and/or of the objects and obstacles around it and/or the configurationof the external environment to be contacted or processed. 49
Claims (7)
1. A method for a robot to perform a dynamic manipulation of a passive object and a contact interaction with an external environment represented by a nominal motionof a robotic system with k independent control inputs, by configuring a feedbackcontroller, wherein the robotic system includes: - the robot, - the passive object, and - the external environment, wherein the nominal motion is described as a time-evolution of variables, calledsystem states, being a solution of a set of differential equations, algebraic equationsand inequalities, representing kinematic and dynamic constraints imposed on andextracted from the nominal motion of the robotic system, wherein the method comprises: a) deterrnining, for and based on the nominal motion description, a set offunctions of the system states, called transverse coordinates, such that their time-evolutions describe a part of dynamics of the robotic system, which is transverseto the nominal motion and is called its transverse dynamics, by deriving the set oftransverse coordinates based on - deviations of the system coordinates from quantities definingsynchronization patterns obtained for a nested representation of thenominal motion, wherein synchronization patterns are defining geometricpairwise relations between each of the robotic system coordinates and ascalar Variable, called motion generator, wherein its time-evolutiontogether With synchronization patterns gives an equivalent alternativerepresentation of the nominal motion, called a nested representation; - deviations of velocities of the robotic system, the velocities being timederivatives of the system coordinates, from values necessary to keep zerotime derivatives of the synchronization patterns, obtained for the nestedrepresentation ofthe nominal motion, and - a deviation from zero of a value of a general integral of motion of the dynamics of the motion generator obtained for the nested representation of the nominal motion, b) determining a description of dynamics for the transverse coordinates and theirlinearization along the nominal motion, which can be used for design and analysisof performance of feedback controllers for regulation of the transverse dynamics of the nominal motion; c) defining a nonlinear closed-loop system for controlling the nominal motion withregulated transverse dynamics, by determining a preliminary feedback controlleras a sum of a feedforward operator and an additional controller part, wherein the additional controller part is vanishing along the nominal motion; d) determining a collection of k nonlinear scalar functions of states of the nonlinear closed-loop system that are ctoiitirnirius with a rcciuirctl riurnbcr* of continuous derivatives and equal to zeros on the nominal motion, e) modifying the preliminary feedback controller by complementing the additionalcontroller part with a sliding-mode or high-gain feedback controller configured forfmite-time or rapid exponential contraction of the modified nonlinear closed-loopsystem solutions to zero level sets of the deterrnined collection of k nonlinear scalar functions in order to achieve a regulation of the transverse dynamics.
2. . The method according to claim 1, wherein the determining a collection of k nonlinear functions comprises: a) computing a linearization of the transverse dynamics for the system alongthe nominal motion, b) designing a linear feedback controller for regulating the linear controlsystem defined by the computed linearization of the transverse dynamics, toensure- contraction of a state vector of the linear closed-loop system to a prescribed neighborhood of an origin ofthe linearization ofthe transversedynamics or asymptotic stabilization of the linearization of the transversedynamics; or - contraction to the prescribed neighborhood of the origin or asymptoticlconvergence of a linear subset of solutions of the linear closed-loopsystem of co-dimension k, c) determining a linear invariant subset of co-dimension k of solutions of thelinear closed-loop system and finding time-dependent normal vectors to kindependent solutions in this subset d) designing a projection operator for reconstructing a nonlinear feedbackcontroller for regulating the transverse dynamics of the nominal motion of therobotic system from the linear feedback controller designed for regulation ofthe linearization of the transverse dynamics, e) deterrnining a collection of k nonlinear scalar functions of the projectionoperator and of the states of the nonlinear closed-loop system, which arelinear functions of the transverse coordinates, defined for the explicitrealization of the transverse dynamics of the nominal motion, with state-dependent coefficients, such that when these coefficients are evaluated on thenominal motion, they coincide With the k normal vectors, derived forcharacterizing the linear subset of solutions of the linear closed-loop system representing the linearization ofthe transverse dynamics.
3. The method according to claim 2, further comprising computing the linearization of the transverse dynamics by computing a linearization of the transverse dynamics of the set of transverse coordinates along the nominal motion. . The method according to any one of the preceding claims further comprising providing required information for an implementation of the designed feedbackcontroller for use by a robot to perform the dynamic manipulation of the passiveobject and/or the contact interaction with the external environment, which isrepresented by the nominal motion of the robotic system With k independent control inputs. . A method for motion planning for a robot to perform a dynamic manipulation of a passive object and a contact interaction With an external environment in arobotic system including the robot, the passive object and the external environmentsubject to kinematic and dynamic constraints, the method comprising: - providing a nested representation of motion candidates for a nominallO motion representing the dynamic manipulation and/or contact interaction,wherein the nested representation includeso a scalar variable as a chosen motion generator ando a parametric set of synchronization patterns/functions forcomputing generalized and/or excessive coordinates ofthe roboticsystem as a function of the motion generator;re-writing the kinematic and dynamic constraints and specifications ofthe nominal motion in an equivalent form based on the chosen nestedrepresentation in terms of the motion generator, its time derivative, and afmite set of parameters defining the synchronization patterns;computing and analyzing a subset ofa phase plane ofthe dynamics ofthemotion generator, derived for the nested representation of the motioncandidates, wherein the imposed constraints are satisfied and expectedproperties are met and allow reconstructing one or several feasiblebehaviors;reconstructing a temporal behavior of the motion generator as a solutionof its derived dynamics with initial conditions chosen within the subsetof the phase plane, wherein the imposed constraints are satisfied andthe expected properties are met;reconstructing a feasible behavior of the robotic system by substitutingthe temporal behavior of the motion generator into the description of thechosen synchronization pattems for defining temporal behaviors of thecoordinates of the robotic system for the time interval, where the motiongenerator stays within the subset of the phase plane, wherein the imposed constraints are satisfied and the expected properties are met, the method further comprises an iterative searching procedure implemented asrunning two main loops, wherein the levels of iterations comprise- modifying and/or updating within Outer loop ofo a current choice of a scalar variable to define a motion generator forrepresenting a searched manipulation, o a current list of expected properties of a searched manipulation to be taken into account during the current iteration of the search, o a current choice of a parametrized description for thesynchronization patterns used in the nested representation of the motion candidates, and- modifying and/or updating within an Inner loop ofo values of parameters for the synchronization functions and o choices of initial conditions for the dynamics of the motiongenerator, taken within the subset of the phase plane, wherein theimposed dynamic and kinematic constraints are satisfied andexpected properties are met, wherein these initial conditions areused for defining a feasible temporal behavior of the motiongenerator for searched manipulation as a solution of the derivedmotion generators dynamics for the time interval within which it stays in the subset. . A computer program product, comprising a computer program, which when executed by a processor in the robot, causes the robot to execute the steps of the method according to any of the preceding claims. . A robot for performing a dynamic manipulation of a passive object and a contact interaction with an external environment represented by a nominal motion in a robotic system, the robot comprising- a robotic arm equipped with Sensors and actuators,- a memory with a computer program product according to claim 6, - a processor, other electronics and circuitry required to execute the computer program on the robot.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE1850676A SE544631C2 (en) | 2018-06-04 | 2018-06-04 | Method, system and computer program for controlling dynamic manipulations by a robot |
PCT/SE2019/050515 WO2019235995A1 (en) | 2018-06-04 | 2019-06-04 | Method, system and computer program for controlling dynamic manipulations by a robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE1850676A SE544631C2 (en) | 2018-06-04 | 2018-06-04 | Method, system and computer program for controlling dynamic manipulations by a robot |
Publications (2)
Publication Number | Publication Date |
---|---|
SE1850676A1 SE1850676A1 (en) | 2019-12-05 |
SE544631C2 true SE544631C2 (en) | 2022-09-27 |
Family
ID=67137998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE1850676A SE544631C2 (en) | 2018-06-04 | 2018-06-04 | Method, system and computer program for controlling dynamic manipulations by a robot |
Country Status (2)
Country | Link |
---|---|
SE (1) | SE544631C2 (en) |
WO (1) | WO2019235995A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112180719A (en) * | 2020-09-01 | 2021-01-05 | 上海大学 | Novel robust finite time trajectory control method based on man-machine cooperation system |
CN112491314B (en) * | 2020-12-28 | 2022-09-20 | 南京理工大学 | Discrete adaptive robust sliding mode control method of servo system based on characteristic model |
CN113759711B (en) * | 2021-07-09 | 2024-03-29 | 广东华中科技大学工业技术研究院 | Independent distributed inclusion controller design method for multi-Euler-Lagrange system |
CN113835338B (en) * | 2021-09-08 | 2024-03-01 | 哈尔滨工程大学 | Finite time tracking control method and device for under-actuated unmanned ship with integral sliding mode |
WO2023211371A2 (en) * | 2022-04-25 | 2023-11-02 | Nanyang Technological University | Method and system for controlling a robot manipulator for operating in a shared workspace with human(s) |
CN116383574B (en) * | 2023-03-23 | 2024-06-11 | 哈尔滨工业大学 | Humanoid upper limb robot inverse kinematics solving method based on high-order differentiator |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243307A1 (en) * | 2007-03-26 | 2008-10-02 | Honda Research Institute Europe Gmbh | Apparatus and Method for Generating and Controlling the Motion of a Robot |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5762458A (en) | 1996-02-20 | 1998-06-09 | Computer Motion, Inc. | Method and apparatus for performing minimally invasive cardiac procedures |
CA2856622C (en) | 2011-11-25 | 2017-01-10 | Robotiq Inc. | A gripper having a two degree of freedom underactuated mechanical finger for encompassing and pinch grasping |
-
2018
- 2018-06-04 SE SE1850676A patent/SE544631C2/en unknown
-
2019
- 2019-06-04 WO PCT/SE2019/050515 patent/WO2019235995A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243307A1 (en) * | 2007-03-26 | 2008-10-02 | Honda Research Institute Europe Gmbh | Apparatus and Method for Generating and Controlling the Motion of a Robot |
Non-Patent Citations (6)
Title |
---|
Canudas-de-Wit C; Perram J W; Shiriaev A , "Constructive Tool for Orbital Stabilization of Underactuated Nonlinear Systems: Virtual Constraints Approach" ,IEEE TRANSACTIONS ON AUTOMATIC CONTROL, 2005-08-01, volume 50, pages 1164-1176,ISSN 0018-9286 * |
Liangjun Zhang; Jia Pan; Manocha D, "Motion planning of human-like robots using constrained coordination",Humanoid Robots, 2009. Humanoids 2009. 9th IEEE-RAS International Conference on, pages 188-195, 2009-12-07, ISBN 978-1-4244-4597-4 ; ISBN 1-4244-4597-3 * |
Shiriaev A; Robertsson A; Perram J; Sandberg A,"Periodic motion planning for virtually constrained Euler-Lagrange systems"SYSTEMS AND CONTROL LETTERS, volume 55, pages 900-907, 2006-11-01, ISSN 0167-6911 * |
Somani Nikhil; Rickert Markus; Gaschler Andre; Cai Caixia; Perzylo Alexander; Knoll Alois "Task level robot programming using prioritized non-linear inequality constraints" 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Pages 430-437, 2016-10-09 * |
Stepan Pchelkin, Leonid B. Freidovich, Sergei V. Gusev "A dynamic human motion: coordination analysis", Journal of Biological Cybernetics, 109(1): pages 47-62, 2014-08-27. * |
Surov M., A.S. Shiriaev, L.B. Freidovich, S.V. Gusev and L.V. Paramonov. ''Case study in non-prehensile manipulation: Planning and orbital stabilization of one-directional roiling for the Butterfly robot,' in the Proceedings of the IEEE International Conference on Robotics and Automation (ICRA). pp. 1484-1489, 2015-05-30 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019235995A1 (en) | 2019-12-12 |
SE1850676A1 (en) | 2019-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SE544631C2 (en) | Method, system and computer program for controlling dynamic manipulations by a robot | |
US11491649B2 (en) | Axis-invariant based multi-axis robot kinematics modeling method | |
Li et al. | Model-free control for continuum robots based on an adaptive Kalman filter | |
JP5210884B2 (en) | Computer-based method for controlling the posture of a physical articulated system and system for positioning an articulated system | |
JP5210883B2 (en) | A method of using a computer to control the movement of a part of a physical multi-joint system, a system for controlling the movement of a part of a physical multi-joint system, A computer-based method for tracking motion, a system for tracking the motion of a human by a physical articulated system separate from a human, and a movement of a part of a physical articulated system separate from a source system Using a computer to control | |
Kulakov et al. | Robot master slave and supervisory control with large time delays of control signals and feedback | |
Kulakov et al. | Methods of remote control over space robots | |
Scherzinger et al. | Contact skill imitation learning for robot-independent assembly programming | |
Graule et al. | Somo: Fast and accurate simulations of continuum robots in complex environments | |
US20200055182A1 (en) | Axis-Invariant based Multi-axis robot system modeling and solving method | |
Li et al. | A Q-learning control method for a soft robotic arm utilizing training data from a rough simulator | |
Hroncová et al. | Forward and inverse robot model kinematics and trajectory planning | |
Jin et al. | Task-driven hybrid model reduction for dexterous manipulation | |
Savin | Neural network-based reaction estimator for walking robots | |
CN113119102B (en) | Humanoid robot modeling method and device based on floating-base flywheel inverted pendulum | |
Kim et al. | Robust dynamic locomotion via reinforcement learning and novel whole body controller | |
EP2359989B1 (en) | Robot control with bootstrapping inverse kinematics | |
Bonnet et al. | Self-generation of optimal exciting motions for identification of a humanoid robot | |
Bodily | Design optimization and motion planning for pneumatically-actuated manipulators | |
Chen et al. | Robust Zhang neural network for tracking control of parallel robot manipulators with unknown parameters | |
Ferguene et al. | Dynamic external force feedback loop control of a robot manipulator using a neural compensator—Application to the trajectory following in an unknown environment | |
Boujnah et al. | Motion simulation of a manipulator robot modeled by a CAD software | |
Khalil et al. | Robotic interaction with deformable objects under vision and tactile guidance-a review | |
Parsa et al. | Estimation of the flexural states of a macro-micro manipulator using point-acceleration data | |
Dastangoo et al. | Non-linear Parameter Identification for Humanoid Robot Components |