[go: up one dir, main page]

WO2024121565A1 - System and method for control of robot manipulators - Google Patents

System and method for control of robot manipulators Download PDF

Info

Publication number
WO2024121565A1
WO2024121565A1 PCT/GB2023/053157 GB2023053157W WO2024121565A1 WO 2024121565 A1 WO2024121565 A1 WO 2024121565A1 GB 2023053157 W GB2023053157 W GB 2023053157W WO 2024121565 A1 WO2024121565 A1 WO 2024121565A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
virtual
robot
controller
damper
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/GB2023/053157
Other languages
French (fr)
Inventor
Daniel LARBY
Fulvio Forni
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cambridge Enterprise Ltd
Original Assignee
Cambridge Enterprise Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cambridge Enterprise Ltd filed Critical Cambridge Enterprise Ltd
Publication of WO2024121565A1 publication Critical patent/WO2024121565A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • A61B2034/302Surgical robots specifically adapted for manipulations within body cavities, e.g. within abdominal or thoracic cavities
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39229Linear parameterization of robot dynamics
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39231Parameterization of inertia, coriolis and centrifugal matrix
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40527Modeling, identification of link parameters

Definitions

  • This invention relates generally to a robotics system, and more particularly to control systems for robotic manipulators and the design of such systems.
  • Background [0002] There are many considerations when designing a controller for a robotic manipulator or articulated arm, covering a wide range of tasks such as pick-and-place operations, cooperative robotics, teleoperated robots and robotic surgery.
  • a successful control approach may typically provide stability and remain stable when interacting with the environment.
  • a good approach may also shape the robot's performance. However, doing so analytically is made difficult by the nonlinear nature of the dynamics of robot manipulators.
  • Passivity-based control PBC is a powerful technique widely used in control design for robotics.
  • PBC provides strong stability guarantees, via straightforward energy considerations.
  • the most widely used controller in robotics the joint-space proportional-derivative (PD) control with gravity compensation, is a simple and robust passivity-based controller. Its energy shaping and damping injection features guarantee passivity of the controlled robot.
  • Passivity-based control design techniques have also been adopted for parameter estimation, remote-teleoperation, and trajectory tracking via passive-aware adaptive estimation of the parameters of the system.
  • Conventional impedance control schemes typically implement passive impedance defined by a desired stiffness, damping, and inertia, implemented by torque/force controlled joints.
  • An impedance controller implementing a desired stiffness and damping without modifying the inertia (which is practically difficult), is a form of PBC energy-shaping and damping injection. Thus, it shares the same stability properties.
  • impedance control opens the way to the characterization and control of the robot performances, via loop shaping and similar considerations. [0005]
  • selection of desired impedances and determining optimal control parameters is a challenging task.
  • a method to synthesise a controller of a robotic manipulator system comprising: providing a model of the robotic manipulator system including a plurality of control parameters associated with one or more virtual control mechanisms attached to respective locations of the robotic manipulator system, wherein output control actions of the model are defined based on said plurality of control parameters of the one or more virtual control mechanisms; determining linear matrix inequality, LMI, constraints for synthesis of control parameters that achieve a predefined performance, for example as measured local ⁇ gain between selected force/displacement variables, wherein the LMI constraints define a gain matrix, K comprising a plurality of diagonal matrices that correspond to the plurality of control parameters; deriving a solution to the LMI constraints, wherein the solution identifies control parameter values in the plurality of diagonal matrices; and determining output control actions for one or more actuators of the robotic manipulator system based on the identified control parameter values.
  • LMI linear matrix inequality
  • the identified control parameter values may be optimal values.
  • the virtual control mechanisms may comprise one or more of virtual springs and dampers attached to respective points of the robotic manipulator system.
  • the gain matrix may have the form where K defines virtual stiffness control parameters and defines virtual damping control parameters of the virtual spring- damper control mechanisms.
  • Generalised plants may map input exogenous forces ( and control actions to output respective exogenous displacements (z d ) and measured observation outputs ⁇ of the manipulator system.
  • a feedback control loop may optimize performances on a performance pair defined by The predefined performance metric may be an control criterion.
  • the controller is configured to preserve passivity of the robot and to maintain stability of the end-effector by deriving a solution that forces the values of the control parameters matrices to be diagonal and positive.
  • the model may be linearized in operation-space in the process of optimizing the control parameters.
  • the number of virtual control stiffness/damping parameters may be less than or equal to the degrees of freedom of the robotic manipulator system. Actuators of the robotic manipulator system may be excited based on the output control actions.
  • the virtual control mechanisms may further comprise a virtual dynamic extension mechanism having a prismatic joint component to provide extension control along a defined axis of the robotic manipulator system.
  • the defined axis may be a common axis of an instrument attached to the robotic manipulator system.
  • a first pair of virtual spring-damper control mechanisms may be attached to an end-effector of the instrument, and a second pair of virtual spring-damper control mechanisms are attached to the virtual dynamic extension mechanism.
  • the second pair of virtual spring-damper control mechanisms may be rotated about the prismatic joint component of the virtual dynamic extension mechanism to align the extension control with a defined direction.
  • the virtual control mechanism may further comprise a dynamic extension mechanism having a virtual instrument attached to a physical instrument by a plurality of virtual spring-damper control mechanisms.
  • a further pair of virtual spring- damper control mechanisms are attached to an end-effector of the physical instrument.
  • Each virtual spring-damper control mechanism may comprise a co-located spring and damper component.
  • Figure 1 is a block diagram showing the main components of a robot control system according to an embodiment of the invention.
  • Figure 2 schematically illustrates an exemplary robotic manipulator system in the control system of Figure 1.
  • Figure 3 is a flow diagram illustrating the main processing steps performed by the control system of Figure 1 to synthesise a controller of the robotic manipulator system according to an embodiment.
  • Figure 4 which comprises Figures 4A and 4B, schematically illustrates an example of a robot system under PD control in joint-space compared to operation-space.
  • Figure 5 is a block diagram schematically illustrating the overall structure of an exemplary implementation of the controller of Figure 1 according to an embodiment.
  • Figure 6 schematically illustrates a sectional view of an exemplary robot for robotic minimally invasive laparoscopy.
  • Figure 7 schematically illustrates a robotic manipulator system with a virtual prismatic extension mechanism according to a further embodiment.
  • Figure 8 which comprises Figures 8A and 8B, schematically illustrate a modification to the prismatic extension of Figure 7.
  • Figure 9 schematically illustrates a robotic manipulator system with a virtual instrument mechanism according to another embodiment.
  • Figure 10 is a block diagram schematically illustrating the overall structure of a virtual mechanism controller based on the systems shown in Figures 7 and 9.
  • Figure 11 graphically illustrates the control performance of a first simulated example.
  • Figure 12 shows a redundant arm of a second simulated example.
  • Figure 13 graphically illustrates the control performance of the second simulated example.
  • Figure 14 which comprises Figures 14A and 14B, shows a robot arm of a third simulated example.
  • Figure 15 which comprises Figures 15A to 15C, graphically illustrates the control performance of the third simulated example.
  • Figure 16 is a diagram of an example of a computer system on which one or more of the functions of the embodiment may be implemented. Description of Embodiments [0032]
  • the present invention provides a method and system for torque/force control of robotic actuators, such as linear or rotary hydraulic actuators of a rigid robot.
  • the impedance selection/optimization problem is re-cast into a robust control problem, taking advantage of the robot linearization in operation space.
  • the control system may implement potential and/or kinetic energy shaping and damping injection with optimized performance, by synthesizing the interconnection of the robot with a system of virtual control mechanisms.
  • FIG. 1 is a block flow diagram schematically illustrating a robot control system 101 according to an embodiment, including a controller 103 to control a robotic manipulator system 105 via control actions 107 determined by a dynamic model 111 of the manipulator.
  • Figure 2 schematically illustrating an exemplary implementation of a robotic manipulator system 105a according to the present embodiment.
  • the controller 103 for the robotic manipulator system 105 is configured to act on the generalised force of the robot, u, via feedback from generalised coordinates .
  • the control actions 107 are generated by emulating a plurality of virtual control mechanisms 109 attached to respective points of the robotic manipulator system 105.
  • Each virtual control mechanism 109 includes one or more virtual control elements 209 that may be combined to enable straightforward tuning of the energy landscape for a particular implementation context while preserving passivity of the robot, for stable interactions with the environment.
  • the virtual control elements 209 may include energy storage elements such as springs 209a, inerters 209c, masses or inertias, energy dissipation elements such as dampers 209b, and energy routing elements such as rigid-body joints, levers, and mechanical transmissions.
  • the virtual control mechanisms 109 embody classical passivity properties at co-located force/velocity or torque/angular velocity ports.
  • the robotic manipulator system 105 includes an end-effector 201 such as a tool to handle a payload or perform a task.
  • the end-effector 201 is provided at the distal end of a sequence of rigid limbs (also referred to as links or segments of an articulated arm) 202, with respective force/torque actuators 203 provided at the joints between limbs 202, that are operable to move the end-effector 201.
  • the placement of each virtual control mechanism 109 may be dictated by the features of the task and by considerations on the robotic manipulator's dynamics.
  • the exemplary robotic manipulator system 105a of Figure 2 includes two virtual Cartesian spring-damper control mechanisms 109a-1,109a-2 attached to a predefined location at the end-effector 201.
  • the virtual spring-damper control mechanisms 109a effectively provide Cartesian impedance control as a mechanism of Cartesian springs 209a and dampers 309b attached between the end-effector 201 and a reference position .
  • the respective location of the, or each, virtual control mechanism 109 (and/or components of each mechanism) may be stored as robot dynamic model data 111, for example by a constructor module 113 of the system 101.
  • the constructor module 113 implements functionality to construct the controller 103 to achieve a defined task, such as moving the end-effector 201 to the desired position/orientation ( )
  • the robot control system 101 may be defined in terms of a general control problem formulation, where the generalised plant models ( ) 115 map input exogenous forces ( 117 and control actions 107 to output exogenous displacements/positions ( ) 119 and measured observation outputs 121, by linearising in the controller operation-space at a set of respective poses (q i ).
  • the observation outputs ⁇ ⁇ ⁇ 117 are inputs to the constructed controller ( 103, while the control actions 107 are output by the controller 103.
  • the robotic manipulator system 105 may be excited based on the control actions 107.
  • the measured observation outputs 117 such as positions and velocities may be measured by appropriate sensors (not shown) and/or calculated by the controller 103.
  • the dynamic model 111 may be a software-based model created with simulation modelling tools such as MATLAB. [0036]
  • the robot dynamic model 111 is configured to model the dynamical behaviour of the robot manipulator system, based upon its kinematic structure and physical properties, as well as its interconnection with virtual control mechanisms 109 and exogenous inputs and outputs.
  • Each virtual control mechanism 109 may be associated with one or more respective types of control parameters 123 corresponding to the virtual elements 309, such as a stiffness (k) control parameter 123-1 of a virtual spring element 309a, a damping (b) 123-2 control parameter of a virtual damping element 309b, and an inertance (m) control parameter 123-m of a virtual inerter 309c.
  • the controller 103 determines control actions 107 based on the respective control parameters 123 of the virtual control mechanisms 109.
  • the constructed controller 103 may be defined by values of a gain matrix (K).
  • the gain matrix values may represent the respective stiffness (k) 123-1 and damping (b) 123-2 control parameters of each virtual spring-damper control mechanism 109a as shown in Figure 2.
  • the gain matrix may consist of a plurality of block diagonal matrices corresponding to the plurality of types of control parameters 123.
  • the virtual control mechanisms 109 implement operation-space coordinates to facilitate simple definition of where the components are attached about the robotic manipulator system 105. As will be described in greater detail below, the interconnection of the virtual control mechanisms 109 with the robotic manipulator system 105 is achieved by a transformation from the joint-space coordinates of the robot 105 to various ‘operation-space’ coordinates, for example by a Jacobian transformer module 125 of the controller 103 converting efforts and flows between operation-space and joint-space.
  • An operation-space coordinate may be defined as the velocity of a point which is fixed relative to a link of the robot, such as the velocity of the end-effector 201.
  • the corresponding port for this operation-space coordinate may be defined as the flow/effort pair of where ⁇ is the velocity 127 of the end-effector 201 in the world-frame, and is a force vector 129 in the same (world) frame as the velocity, such that is the power flow into the system 101.
  • the operation space variables may be defined according to other suitable interpretations, such the link-frame velocity of a fixed point in the world, or the relative velocity of two different points on the robot 105.
  • the virtual control mechanisms 109 may be defined to be aligned with link-axes rather the world’s xyz axes, and/or attached between two points.
  • the system 101 implements a potential and/or kinetic energy shaping and damping injection controller 103, defined by the robot dynamic model 111 and corresponding control law.
  • Energy shaping and damping injection methods are generally known in robotics and the control of electromechanical systems. The core idea is that a passive system may store energy, route it between ports or dissipate it, but it may not produce energy. When two passive systems are connected together by compatible ports, then the resulting combined system is passive.
  • the shaping of the energy function changes the equilibria of the system, a feature that can be used to control the robot to a desired position.
  • the damping removes energy, affecting the speed of convergence.
  • the constructor 113 is configured to determine optimal values of the control parameters 123 that will directly affect the performance of the system 101 based on the predefined placement of the corresponding virtual control mechanisms 109.
  • the controller design method implemented by the constructor 113 is based on Linear Matrix Inequality (LMI) constraints to automatically synthesize optimal control parameters 123 of the controller 103where the synthesis is driven by gain criteria from exogenous input ( ⁇ ⁇ ) to exogenous outputs ( [0040]
  • LMI Linear Matrix Inequality
  • an LMI determiner 131 of the constructor 113 is configured to determine an LMI problem formulation, i.e. a convex optimization problem with linear matrix inequality constraints, based on the virtual control mechanisms 109 and the robot dynamic model 111.
  • the LMI determiner module 131 may convert the set of generalised plants ( 115 into LMI constraints which may determine optimal values of the corresponding control parameters 123.
  • the LMI solver 133 could be of a type that is generally known in the art (e.g. MATLAB packages such as CVX). In this way, a static-state feedback synthesis can be performed to systematically select stiffness and damping control parameters 123-k and 123-b.
  • the system 101 is configured to force the output feedback gains of each type of control parameter 123-1,123-2 to be diagonal and positive.
  • the constructor 113 may determine an LMI problem formulation of the robot 105a in Figure 2 that produces a solution having stiffness (k) and damping (b) parameter matrices 123-1,123-2 that are diagonal and positive.
  • this provides improved simplicity and effectiveness, and enables a systematic approach to selecting impedance parameters for a common class of impedance controllers, based on criteria of optimality with respect to metrics.
  • the structure of the virtual control mechanisms 109 provide a set of basis-functions/primitives that can be used to design an Euler-Lagrange sub-system that, when connected in feedback with the robot 105, achieves closed-loop passivity.
  • the closed loop is passive at any port, whereby local minima of its potential energy are all stable (and asymptotically stable when damping is present).
  • FIG. 3 is a flow diagram of a computer-implemented method to synthesise a controller 103 of a robotic manipulator system 105, according to an embodiment.
  • the constructor module 113 defines a controller 103 of the system 105 based on the robot structure 111.
  • each virtual spring-damper control mechanism 109a includes a spring element 209a and a damper element 209b.
  • Virtual springs 209a are used to drive the robot to the desired position, determining the equilibria of the system 105.
  • the characteristic of a linear spring where z refers to the spring’s extension and the spring stiffness, shapes the potential energy of the system 105 with a quadratic potential 2 .
  • nonlinear springs 209a with more complex characteristic functions are equally simple to implement.
  • Damper elements 209b are another vital component of a passive robot controller 103. Without damping, the system 105 may only be marginally stable, and simply oscillate, exchanging potential/kinetic energy like a swinging pendulum.
  • the exemplary robot system 405 includes two virtual spring-damper control mechanisms 109a-3,109a-4, with corresponding desired joint angles ⁇ .
  • the robot system 405 may be represented by the robot model: where ⁇ represents Coriolis and centrifugal forces, represents gravity forces, and ⁇ is an n x n joint-space kinetic energy matrix, based on the observation outputs of the robot system.
  • u are the control outputs to the joint actuators 203 based on the dynamic model 111, with total energy: where is the generalised inertia matrix and the gravitational potential energy.
  • the gravity force/torque vector may be obtained by taking the partial derivative of the gravitational potential energy: [0047]
  • the energy function may be shaped by selecting: where the elements of the vector k define the virtual stiffness parameters 123-1 and are all strictly positive. This can be achieved with a controller having the form: where the vector defines the virtual damping parameters 123-2 and are also strictly positive elements.
  • the term ensures dissipation and guarantees that the system trajectories converge asymptotically to the minimum of this energy function at [0048] Moving away from joint space allows for advanced design of the robot’s response to external perturbations and avoids the computation of ⁇ via inverse kinematics. In this way, the energy of the robot can be shaped in a space that is closer to the control objective.
  • the robot model can be defined with the pair of virtual spring-damper control mechanisms 109a-1,109a-2 on respective Cartesian axes between the end-effector 201 position, z c , and the reference position, r.
  • Figure 4B schematically illustrates the exemplary robot system 105a of Figure 2 under PD control in operation-space, instead of joint-space as shown in the example of Figure 4A.
  • the present embodiment implements the operation-space configuration, and using the forward kinematics the corresponding desired energy function may be defined as: This can be achieved with a controller model having the form: and a control law of the form: where [0050]
  • the control action u emulates the effect of the force F at the end-effector 201, realizing a proportional and derivative control action in the coordinates of the end- effector 201.
  • This approach offers several advantages.
  • the potential energy is a function of end-effector displacement 119. This implies that the response of the robot to external perturbations is independent of the robot’s configuration.
  • the controller 103 is operable to control the end-effector 201 position without forcing high-stiffness on each joint as in the case of a joint-space model.
  • Parameter Tuning and Impedance Control [0051]
  • the control parameters 123 of the controller 103 such as the stiffness and damping ( parameters of the respective virtual control mechanisms 109, shape the relationship between following the approach of impedance control.
  • the controller constructor 121 implements a predefined metric to measure the performance of the robot and the criteria to optimize such performance, in order to establish a systematic framework for the selection of the control parameters 123.
  • performance of the robot system 105 is based on the performance pair measured via the metric.
  • the performance pair captures the effect that a perturbing exogenous force has on the displacement High performance position control, for example, may be provided by insensitivity of the displacement to the perturbing force This corresponds to enforcing a low gain between
  • a compliant robot would allow for large displacements for small perturbations F
  • the selection of the parameters k and b can be guided by optimization.
  • the system 101 implements a feedback control loop to optimise performances on The loop is closed, by the controller 103, on a control pair based on the observation outputs ⁇ 121 and the control inputs 107, with the goal of shaping the behaviour captured by the performance pair
  • This setting finds contacts with impedance control and classical robust control synthesis. Indeed, impedance control recognizes that positions and forces cannot be controlled independently and accordingly, the controller 103 is designed to shape the relationship between these quantities.
  • the constructor 113 implements robust control to synthesise a controller 103 that minimize the gain between .
  • FIG. 5 is a block diagram schematically illustrating the overall structure of an exemplary nonlinear controller 103a according to the present embodiment.
  • the controller 103a implements conditions based on linear matrix inequalities that lead to control parameters 123, such as the stiffness (k) and damping (b) parameters, that preserve the passivity of the robot manipulator 105.
  • the robot dynamic model 111 discussed above with reference to Figure 4B is further adapted with auxiliary input/output variables, as follows: where is the Jacobian corresponding to the directions of applied disturbance force As discussed above, ⁇ ⁇ represents Coriolis and centrifugal forces, ) represents gravity forces, and joint-space kinetic energy matrix, based on observation outputs ⁇ of the robot system.
  • a control pair defined by is used to design the controller 103a having the form set out by equations (2) and (3) above in equations (2), (3) is based on the locations of the virtual control mechanisms 109 as predefined by the robot structure. This corresponds to the particular shaping of the desired energy given by equation (1).
  • h c is a differentiable invertible function within the region of interest. This will allow the system 101 to derive an equivalent representation of the robotic manipulator 105 in the coordinates z c , which suits linearization methods for state-feedback design.
  • Optimization of weighted performances may be represented by where W are constant, diagonal matrices whose role is to scale, non-uniformly, the output exogenous displacement components of and its derivative ⁇ , respectively.
  • this implementation connects the energy shaping and damping injection approach with impedance control synthesis of stiffness and damping controller parameters 123-1,123-2 to optimise performance of the robot manipulator 105.
  • the controller 103a of the present embodiment is adapted to implement a state-feedback gain matrix where K 1 is a first block diagonal matrix (diag(k)) defining values of the virtual stiffness control parameters 123-1, and K 2 is a second block diagonal matrix defining values of the virtual damping control parameters 123-2. Additionally, all the elements of and must be strictly positive, to guarantee that the control action 107 defined by equations (2) and (3) leads to a passive controlled robot manipulator 105.
  • the constructor 113 first derives the robot linearization in operation-space, then determines the state feedback gain matrix K values via LMIs, which will lead to the control law based on equation (3) having the form: where F c represents an operational force vector resulting from the optimised control parameters in combination with the dynamics of the plant 111.
  • the LMI determiner 131 derives a state-feedback controller 103 by converting the robot model from step S3-1 into a linearised form in operative space.
  • the exemplary controller 103a of Figure 5 implements the energy shaping and damping injection structure of the dynamic model 111 as discussed above, whereby state-feedback gains can be synthesised with guaranteed performances.
  • the operation-space dynamics are defined by a dimension N, the number of degrees of freedom of the robot manipulator 105.
  • N the number of degrees of freedom of the robot manipulator 105.
  • the exemplary implementation therefore draws an equivalence between the terms of the joint-space dynamics, M(q), ⁇ ⁇ ⁇ and g(q), and their operation-space equivalents.
  • the controller 103 solves the determined LMI problem formulation, for example using the LMI solver 133, to determine a solution defining synthesised state-feedback gains with guaranteed performances, the gains represented by values of the control parameters 123 corresponding to the virtual spring-damper control mechanisms 109 that optimise the predefined performance metrics on In the present exemplary embodiment, synthesis of the virtual stiffness control parameters 123-1 and the virtual damping control
  • the controller 103a determines and locally optimises the performances captured by the performance pair measured via the metric.
  • the determination of the control parameters 123 to optimize local performances is derived via LMI constraints.
  • the system 101 implements LMI to solve the below problem formulation for sparse synthesis and passivity, with additional constraints to ensure that are positive definite diagonal matrices.
  • the LMI problem formulation is defined to: find such that [0067] This is a modified LMI formulation based on the established LMI formulation as discussed, for example, in Section 7 of Linear Matrix Inequalities in System and Control Theory, Boyd et al., Society for Industrial and Applied Mathematics, January 1994, which implements the repeated use of matrix (8) for each linearization .
  • Any solution to the modified LMI problem returns a uniform state-feedback controller (7c) given by 1 that guarantee passivity and local performances in terms of gain less than ⁇ > 0 from the input F d to the output y, for each linearization .
  • the LMI problem may be efficiently solved by convex optimization, for example using the LMI solver 133.
  • the controller 103a determines the output control actions (u,u c ) 107 based on the optimal control parameters 123 of the dynamic model 111 of the constructed controller 103a, for example as solved by the LMI solver 133 according to the performance criterion.
  • control action ( ) 107 obtained from any solution to the modified LMI problem guarantees passivity of the controlled robot at any port where is a vector of forces (or torques) and ⁇ is the corresponding vector of co-located velocities (or angular velocities). This is crucial for stable interaction.
  • the controller 103a guarantees local performances, as long as the perturbing force is small enough to not invalidate the linear approximation set out by equation (7). This is clarified by the following Theorem and Proof.
  • Lemma For any solution to the modified LMI problem of the present embodiment, take Then, are diagonal positive definite matrices.
  • the robot may enter a patient's body through a trocar, a surgical device used to create and maintain a portal through the skin for the insertion of a physical, e.g.
  • FIG. 6 schematically illustrates a sectional view of an exemplary surgical robot 105 for robotic minimally invasive laparoscopy, where the end-effector 201 of a surgical instrument 601 enters a patient's body 603 through a trocar 605.
  • the robot’s end-effector 201 may follow a surgeon’s motion, for example as captured by the surgeon's inputs via a console.
  • the surgeon may orchestrate a plurality of surgical instruments and an endoscope (a minimally invasive camera) simultaneously.
  • Different types of robotic minimally invasive surgery pose different technical challenges. For example, in thoracic surgery, which takes place in the chest, the trocar 605 may intrude upon the ribcage.
  • the workspace is typically extremely limited by the anatomy of the joints, and the trocar 605 may be located much closer to the site of the operation compared to abdominal laparoscopy, for example.
  • the surgeon may designate a desired position and/or attitude of the end- effector 201 using a user interface of the console.
  • the system 101 may sample that position and/or attitude from time to time and use the sampled position/attitude as an input to the algorithm described herein.
  • the surgeon exclusively controls the motion of the end-effector 201 and the robot’s controller 103 ensures that the instrument 601 passes through a portal site, for example through the trocar 605 or through an incision not protected by a trocar.
  • the position of the trocar 605 and an associated Remote Center of Motion (RCM) 607 is typically recorded at the beginning of the procedure, denoted and used to constrain the motion of the instrument 601 such that the RCM 607 passes through the trocar 605.
  • RCM Remote Center of Motion
  • the chest wall may restrict movement, which can result in trauma at the incision site or nerve damage if the robot and controller can not or does not account for the restrictions, resulting in undesired forces applied to the port site.
  • it can be beneficial to relax the RCM constraint to improve mobility of the end-effector through the port site e.g.
  • FIG. 7 schematically illustrates a robotic manipulator system 105b with an exemplary implementation of a virtual dynamic extension mechanism according to a further embodiment.
  • the robot 105b may be a surgical robot comprising an articulated arm with a distal segment 202-3 having an attachment for a surgical instrument 601.
  • the robot 105b is adapted to provide improved control of the instrument 601 through a port site defined by a trocar 605 for example, by further allowing sliding motion of the end-effector 201 along the longitudinal axis of the instrument 601.
  • the system 105b includes a virtual prismatic extension control mechanism 109b-1, having a virtual prismatic joint 209c that can slide along the longitudinal axis of the instrument 601, and a virtual inerter element 209d placed across the joint to provide synthesisable control of the extension (q p ) along the common axis.
  • the virtual prismatic extension control mechanism 109b-1 is an exemplary implementation of a virtual dynamic extension mechanism.
  • the virtual inerter element 209d may be affixed at one end to the base of the instrument 601 (e.g. at the attachment point between the instrument 601 and the distal segment 202-3 of the articulated arm 105b), and at a distal end to the virtual prismatic joint 209c. Sliding motion of the virtual prismatic joint 209c may be restricted relative to the remote centre of motion (RCM) 607 using a further pair of spring-damper control mechanisms 109a- 3,109a-4 attached to the virtual prismatic joint 209c along respective Cartesian axes.
  • RCM remote centre of motion
  • the robot 105b is also configured with virtual spring-damper control mechanisms 109a-1,109a-2 attached to the end-effector 201 along respective Cartesian axes and associated with a reference location (r), similar to the spring-damper embodiment discussed above.
  • the corresponding synthesised controller 103 allows the end-effector 201 to follow a surgeon’s input commands, for example to navigate the instrument 601 to pass through the trocar 605.
  • the damper elements 209b which provide stability and remove oscillations, are advantageously co-located with the spring elements 209a for efficient algorithmic parameter tuning/selection.
  • the structure of the overall virtual instrument control mechanism 109b-2 may be constructed by progressively assembling individual components with individual functions.
  • an ideal virtual linear inerter element 209d may be defined as producing a force proportional to an acceleration: ⁇ is the acceleration between the two ends of the inerter 209c, and m is a synthesizable inertance control parameter 123-m (e.g. based in units of kg).
  • a geared-up, low-friction flywheel is a real world mechanism that approximates an inerter: it resists acceleration at its input (or between two different input shafts), but has minimal friction, and minimal mass.
  • inerters are rarely used in passivity-based control of robots, instead opting for a Proportional/Derivative approach (Proportion/Derivative from position, i.e. Proportional/Integral from velocity). This may be due to difficulty in sensing acceleration, or difficulty in actuation as acceleration has more high frequency content than position or velocity signals, so a wider bandwidth is required.
  • An inerter 209c generalises the concept of mass. For example, the dynamics of a point-mass m can be recreated by three ideal inerters 209c, with inertance m, along Cartesian axes with one of their terminals grounded. A constant bias force mg may be included to emulate gravity.
  • Inerters 209c are useful when paired with additional dynamic extension elements, such as revolute/prismatic joints 209c, that form part of the virtual dynamic extension control mechanism 109b.
  • a virtual joint followed by a massless virtual link would experience infinite acceleration.
  • One possibility may be to grant the virtual inerter link some virtual mass.
  • the acceleration of the virtual mass depends not just upon the acceleration of the virtual joint, but also the robot’s joint accelerations, then these accelerations must be measured in order to implement the inertial forces that the virtual mass would present to the system 105b.
  • the controller 103 can limit acceleration of the virtual joint 209c (no longer infinite), under the experience of inertia, and the system 101 does not have to measure joint acceleration/ implementing inertial forces.
  • the virtual inerter element 209d may be defined by where F p defines the acceleration-force characteristic of the virtual prismatic joint 209c. ⁇ ⁇ may depend only on the force across the virtual joint 209c as the acceleration-force characteristic is not affected by any other joints of the robot 105b. The result is an extended system (robot + dynamic extension) with extended inertia matrix which is block diagonal.
  • the robot’s inertia is unaffected by the inertia of the virtual dynamic extension control mechanism.
  • the apparent inertia of the physical robot is not modified by the control action, which would could be achieved through joint- acceleration measurements and higher-bandwidth control.
  • the virtual prismatic extension control mechanism 109b-1 can be modified to allow a relaxation of the RCM constraint discussed above.
  • These piecewise linear springs may have a low/zero stiffness region, e.g.
  • the deadzone 801 may be defined by any other suitable geometry and associated coordinates (e.g. a disk constraint rather than a rectangle).
  • Synthesis of the piecewise springs may be implemented by modifying the linear-matrix-inequality problem formulation to include further variables (L,Q) corresponding to multiple regions. Each pose may belong to a respective region, and each region may feature differing weighting W 1 , W 2 . Additional equality constraints may be used between (L,Q) from different regions to keep constant parameters which do not vary between particular pairs of regions.
  • the RCM constraint can be relaxed to allow the RCM 607 to move across/along a surface or within a volume (instead of a point) in response to forces acting on the virtual spring-damper control mechanisms 109a-3,109a-4 attached at the RCM 607.
  • the placement of the spring-dampers 109a-3,109a-4 attached to the sliding joint 209c may cause a loss in performance as the end-effector 201 approaches the port of the trocar 605.
  • An effective ‘lever arm’ between the end effector 201 and RCM 607 decreases in length, and as such the rotational stiffness imparted by the virtual dynamic extension mechanism 109b to the surgical instrument 601 decreases.
  • FIG. 9 schematically illustrates a robotic manipulator system 105c with another exemplary implementation of a virtual dynamic extension mechanism according to a further embodiment.
  • the robotic manipulator system 105c of the present embodiment includes a virtual instrument control mechanism 109b-2, which is another exemplary implementation of a dynamic extension, consisting of a revolute joint fixed in the world at the RCM 607, followed by a prismatic joint 209c, with the longitudinal axis passing through the RCM 607.
  • the virtual instrument 109b-2 may be attached to the surgical instrument 601 by three virtual spring-damper control mechanisms 109a- 6,109a-7,109a-8, and configured so that the longitudinal axis of the virtual instrument 109b-2 always passes through the RCM 607.
  • the robot 105c also includes virtual spring-damper control mechanisms 109-1,109-2 attached to the end-effector 201 along respective Cartesian axes and associated with a reference location (r), to constrain the end-effector 201 to the surgeon reference (r) similar to the embodiments discussed above.
  • the virtual link is endowed with mass and inertia matrix I i , so that the dynamic extensions inertia matrix M c (q c ) is never singular.
  • the virtual instrument 109b- 2 may be constrained to lie exactly on top of the surgical instrument 601 in a first position, by configuring the springs 209a with a resting length of zero, as shown in the centre of Figure 9.
  • the extended-system inertia has a block diagonal structure where M c (q c ) is the inertia matrix of the virtual instrument control mechanism 109b-2.
  • virtual mass/inertia is used rather than inerter 209c, so that the behaviour of the virtual instrument control mechanism 109b-2 is more similar to a real instrument acting as a constrained rigid body.
  • FIG. 9 A further view of the virtual instrument control mechanism 109b-2 in a second, extended, position, is illustrated on the right hand side of Figure 9.
  • the spring-dampers 109a of the virtual instrument control mechanism 109b-2 provide a more complex operation space than the standard Cartesian operation-space of the simpler spring-damper embodiments described above.
  • the corresponding operation space coordinate component may be represented by the distance between the base of the surgical instrument 601 and the base of the virtual instrument 109b-2 in the x direction of the virtual instrument’s coordinate frame.
  • the corresponding control parameters of the virtual instrument control mechanism 109b-2 may be synthesised based on the parameter tuning technique described above with reference to Figure 5, as the number of spring-dampers is equal to the degrees of freedom of the robot 105c.
  • the virtual instrument 109b-2 addresses the potential issues identified above, by placing the spring-dampers 109a of the sliding mechanism 209c in the reference frame of the virtual instrument 109b-2, such that rotational stiffness of the surgical instrument 601 does not vary with the robot’s pose.
  • the reference point (r) may be defined as connected or relative to the virtual instrument 109b-2, rather than to the surgical instrument 601 or the robot 105 itself.
  • FIG. 10 is a block diagram illustrating the overall structure of an exemplary virtual mechanism controller 103b according to the present embodiment.
  • the controller 103b of the present embodiment is based on the controller 103a described above with reference to Figure 5, adapted to implement conditions based on linear matrix inequalities that lead to control parameters 123 of the virtual spring-damper control mechanisms 109a and the virtual dynamic extension mechanisms 109b that preserve the passivity of the robot manipulator 105c.
  • the virtual mechanism controller 103b is configured to determine the corresponding joint-torques to implement the effect of the virtual dynamic extension mechanisms 109b, which are calculated using the operation-space Jacobian transformer 125.
  • F d are exogenous input forces/positions
  • z d are exogenous output forces/positions of the robot manipulator 105c.
  • the dynamic extension block 109b may be implemented as an Euler-Lagrange system modelling virtual joints 209c and inerter links 209d, for example of the prismatic extension control mechanism 109b-1 and the virtual instrument control mechanism 109b-2, using the generalised coordinate q c .
  • the extended state is the concatenation of q c onto the robot state with, as represented by the multiplex (Mux) block 1003.
  • the input u may be split between the robot’s actuators 203 and actuators of the virtual dynamic extension mechanism 109b by de-multiplexing, as represented by the DeMux block 1005.
  • the actuator commands u are sent to the robot 105c, and the virtual dynamic extension mechanism 109b state is updated in the virtual mechanism controller 103b, according to the dynamic equation in generalised coordinates q c inertia matrix and C c is the inertia matrix of the virtual mechanism controller 103b.
  • the block-diagonal structure of the extended inertia matrix, with off diagonal blocks being zero, is described above with reference to the respective exemplary implementations of the virtual dynamic extension mechanism.
  • Virtual dynamic extension mechanisms may be configured without the separation of inertia, if additional inputs for the extra inertial forces are provided to both the robot and dynamic extension.
  • components to synthesise control parameters 123 of the springs 209a and dampers 209b of the virtual mechanism similar to the embodiments described above with reference to Figure 5.
  • a transform (H c ) function block 1007 may be defined as: where is a defined forward kinematics function which returns the extension z c of the virtual mechanism’s springs 209a, and its partial derivative gives the Jacobian [0094]
  • J c represents the interconnecting Jacobian transformer 125 shown in Figure 1, with extra columns to relate motion/forces from/to the generalised coordinates of the dynamic extension.
  • the controller force F c is the combined force of all springs 209a and dampers 209b in the operation space of the controller 103b.
  • the general formulation can be replaced with where k is the vector of spring-stiffness control parameters 123-k, and c is the vector of damping coefficient control parameters 123-b.
  • K represents a linear state-feedback matrix in operation space z c .
  • the kinematics as a hybrid, seven dimensional operation-space comprised of three elements.
  • the first element is the end-effector 201d Cartesian position, z ee (t).
  • the second element is the elbow height, represented by the z coordinates of the elbow (fourth) link 202d-4, z el (t).
  • the third element is the vector of joint angles, z q (t), related to the final three joints 203d-5, 203d-6 and 203d-7 of the arm 105d. These angles can be used to set the orientation of the end-effector 201d.
  • a virtual spring and damper controller is located at the end effector 201d, elbow 202d-4, and final three joints 203d-5, 203d-6 and 203d-7 of the robot 105d, but the dynamic model 109 of the present embodiment advantageously allows for free placement of the virtual spring-damper control mechanisms 109 at any location about the robot manipulator 105d.
  • the arm is subject to force That is, the force acts only on the end-effector in direction [111], with magnitude 10N.
  • the control performance according to these simulated results is illustrated in Figure 13.
  • the virtual instrument control mechanism 109b-2 is not shown in Figure 14 for clarity.
  • DOF degrees of freedom
  • the Franka-Emika robot 105e has seven degrees of freedom.
  • the virtual prismatic extension control mechanism 109b-1 adds one further joint/DOF and four virtual spring-damper control mechanisms 109a.
  • the virtual instrument control mechanism 109b-2 adds three further joints/DOF and five further virtual spring-damper control mechanisms 109a.
  • the set of joint poses q i about which the robot's dynamics will be linearised and performance optimized are chosen as shown in Figure 14B: nine poses passing through an RCM at (0.4, 0, 0.35) to place the end-effector 201e on an evenly spaced 3 ⁇ ⁇ J2 and J4 equal to ⁇ /6 and 4 ⁇ /6 respectively.
  • the poses should be chosen to avoid singularities. If the controller Jacobian is near singular, then the gains required to achieve a particular performance at that pose will be large.
  • the operation space variables (i.e. representing spring-damper placement) for each mechanism in the simulated example robot 105e shown in Figure 14A are summarised in Tables 1 and 2.
  • Table 1 shows a summary of controller operation variables for the placement of virtual spring-damper control mechanisms 109a of the virtual prismatic extension control mechanism 109b-1.
  • Table 1 Prismatic extension spring-damper placement
  • Table 2 shows a summary of controller operation variables for the placement of virtual spring-damper control mechanisms 109a of the virtual instrument control mechanism 109b-2.
  • Table 2 Virtual instrument spring-damper placement
  • Table 3 shows the results of the synthesis of respective stiffness (k) and damping (b) control parameters 123 for the virtual prismatic extension control mechanism 109b-1.
  • Table 3 Synthesized stiffness (k) and damping (b) parameters of prismatic extension [00113]
  • Table 4 shows the results of the synthesis of respective stiffness (k) and damping (b) control parameters 123 for the virtual instrument control mechanism 109b- 2, across two choices of W 1 .
  • FIG. 15A shows the results of the simulation, where the absolute error between the end-effector 201e tip is plotted alongside the minimum distance between the axis of the instrument 601 shaft and the remote centre of motion. Joint torques are shown without gravity compensation, which would otherwise dominate the plot.
  • the virtual prismatic extension control mechanism 109b-1 and virtual instrument control mechanism 109b-2 perform similarly, when using gains synthesized with the same weighting and exogenous inputs/outputs.
  • Figure 16 illustrates an example computer system 1600 in which the present invention, or portions thereof, can be implemented as computer-readable code to program processing components of the computer system 1600.
  • Various embodiments of the invention are described in terms of this example computer system 1600.
  • the robot control system architecture 101 of Figure 1 can be implemented in system 1600.
  • the method illustrated by the flowchart of Figure 3 can also be implemented in system 1600. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures.
  • Computer system 1600 includes one or more processors, such as processor 1604.
  • Processor 1604 can be a special purpose or a general-purpose processor.
  • Computer system 1600 also includes a user input interface 1603 connected to one or more input device(s) 1605 and a display interface 1607 connected to one or more display(s) 1609, which may be integrated input and display components.
  • Input devices 1605 may include, for example, a joystick, a pointing device such as a mouse or touchpad, a keyboard, a touchscreen such as a resistive or capacitive touchscreen, etc.
  • computer display 1630 in conjunction with display interface 1602, can be used to display a user interface to an operator of the system.
  • Computer system 1600 also includes a main memory 1608, preferably random access memory (RAM), and may also include a secondary memory 1610.
  • Secondary memory 1610 may include, for example, a hard disk drive 1612, a removable storage drive 1614, flash memory, a memory stick, and/or any similar non-volatile storage mechanism.
  • Removable storage drive 1614 may comprise a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, or the like.
  • the removable storage drive 1614 reads from and/or writes to a removable storage unit 1618 in a well- known manner.
  • Removable storage unit 1618 may comprise a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 1614.
  • Removable storage unit 1618 includes a non-transitory computer usable storage medium having stored therein computer software and/or data.
  • secondary memory 1610 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 1600.
  • Such means may include, for example, a removable storage unit 1622 and an interface 1620. Examples of such means may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 1622 and interfaces 1620 which allow software and data to be transferred from the removable storage unit 1622 to computer system 1600.
  • Computer system 1600 may also include a communications interface 1624 implemented for example at the operating system level to allow data to be transferred between computer system 1600 and external devices, for example as signals 1628 over a communication channel 1626.
  • Communications interface 1624 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, or the like.
  • Various aspects of the present invention can be implemented by software and/or firmware (also called computer programs, instructions or computer control logic) to program programmable hardware, or hardware including special-purpose hardwired circuits such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), etc. of the computer system 1600, or a combination thereof.
  • ASICs application-specific integrated circuits
  • PLDs programmable logic devices
  • FPGAs field-programmable gate arrays
  • Computer programs for use in implementing the techniques introduced here may be stored on a machine-readable storage medium and may be executed by one or more general-purpose or special-purpose programmable microprocessors.
  • the terms “computer program medium”, “non-transitory computer readable medium” and “computer usable medium” introduced herein can generally refer to media such as removable storage unit 1618, removable storage unit 1622, and a hard disk installed in hard disk drive 1612.
  • Computer program medium, computer readable storage medium, and computer usable medium can also refer to memories, such as main memory 1608 and secondary memory 1610, which can be memory semiconductors (e.g. DRAMs, etc.). These computer program products are means for providing software to computer system 1600. [00124] Computer programs are stored in main memory 1608 and/or secondary memory 1610.
  • Computer programs may also be received via communications interface 1624. Such computer programs, when executed, enable computer system 1600 to implement the present invention as described herein. In particular, the computer programs, when executed, enable processor 1604 to implement the processes of embodiments of the present invention as described above. Accordingly, such computer programs represent controllers of the computer system 1600. Where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 1600 using removable storage drive 1614, interface 1620, hard drive 1612, or communications interface 1624. [00125] Embodiments of the invention employ any computer useable or readable medium, known now or in the future.
  • Examples of computer useable mediums include, but are not limited to, primary storage devices (e.g., any type of random access memory), secondary storage devices (e.g., hard drives, floppy disks, CD ROMS, ZIP disks, tapes, magnetic storage devices, optical storage devices, MEMS, nano- technological storage device, etc.), and communication mediums (e.g., wired and wireless communications networks, local area networks, wide area networks, intranets, etc.).
  • primary storage devices e.g., any type of random access memory
  • secondary storage devices e.g., hard drives, floppy disks, CD ROMS, ZIP disks, tapes, magnetic storage devices, optical storage devices, MEMS, nano- technological storage device, etc.
  • communication mediums e.g., wired and wireless communications networks, local area networks, wide area networks, intranets, etc.
  • the LMI-based synthesis implements a diagonal structure of the coefficient solution matrices, which may limit the degrees of freedom of the constructed controller. It is possible to generalise the sparsity patterns to allow for more degrees of freedom while preserving closed-loop passivity.
  • the structural assumption of diagonal matrices allows for a controller that preserves passivity, as long as the constraint Q 12 ⁇ 0 is applied in the modified LMI problem. This assumption could be generalised to leave more freedom on the structure of Q and L in the modified LMI problem.
  • the weighting matrices set out in (5) can be extended to weighting transfer matrices, which would apply a nonuniform weighting to the frequency content of ⁇ ⁇ and ⁇ ⁇ .
  • the linearization defined in model (7) would need to be further modified to include additional dynamics corresponding to a minimal realization of and W 2 (s).
  • the model would also need to be modified to enforce zero sub-blocks constraints in the matrices Q and L of the modified LMI problem, to obtain a state feedback of the right dimension.
  • the controller design implements N virtual stiffness and N virtual damping parameters, where N are the degrees of freedom of the robot manipulator.
  • the precise numbers of virtual control mechanisms described in the exemplary embodiments above are merely illustrative and the number and complexity of virtual control mechanisms are configurable depending on the specific implementation context, for example to modify the resulting robot control flexibility and/or performance.
  • the virtual control mechanism approach of the present embodiments allows an arbitrarily greater number of springs and dampers, lending greater flexibility and better performance.
  • the dynamic model may be adapted such that the number of control parameters is larger than the degrees of freedom of the robot.
  • synthesis of control parameters for a number of virtual spring- damper control mechanisms greater than n may be further modified for improved computational efficiency by updating n parameters at a time (using the linear matrix inequality synthesis technique described above) while keeping fixed the other parameters.
  • a different set of n spring-damper control parameters may be fixed, until the whole set of parameters converges to a stable solution.
  • Another alternative approach to virtual control mechanism parameter tuning is by implementing a gradient-based approach, for example using an automatic differentiation tool, to minimize a chosen cost function over a trajectory or set of trajectories.
  • Such gradient based approaches are typically less restrictive than the linear matrix inequality approach, thereby advantageously allowing more flexible optimization over any number of parameters, types of controller parameter (e.g. inertances, masses, geometries), and non-linear components.
  • passivity from the virtual control mechanisms is ensured so long as the determined virtual control mechanism structure is maintained and a corresponding appropriate cost function is defined.
  • controller and constructor modules and respective sub-modules may be provided as one or more distributed computing modules or processing services on a remote server that is in communication with the robot control system via a data network.
  • the constructor module functionality may be provided as one or more application programming interface (API) accessible by an application program executing on the robot control system, or as a plug-in module, extension, embedded code, etc., configured to communicate with an application program.
  • API application programming interface
  • Reference in this specification to “one embodiment” are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. In particular, it will be appreciated that aspects of the above described embodiments can be combined to form further embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Surgery (AREA)
  • Automation & Control Theory (AREA)
  • Biomedical Technology (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Manipulator (AREA)

Abstract

Systems and methods for synthesising a controller of a robotic manipulator system are described, whereby a model of the robotic manipulator system is provided, the model including a plurality of control parameters associated with one or more virtual control mechanisms attached to respective locations of the robotic manipulator system, wherein output control actions of the model are defined based on said plurality of control parameters of the one or more virtual control mechanisms. Linear matrix inequality, LMI, constraints are determined for synthesis of control parameters that achieve a defined performance, wherein the LMI constraints define a gain matrix, K, consisting a plurality of diagonal matrices that correspond to the plurality of control parameters. A solution to the LMI constraints is derived, wherein the solution identifies control parameter values in the plurality of diagonal matrices. Output control actions are determined for one or more actuators of the robotic manipulator system based on the identified control parameter values.

Description

1 System and Method for Control of Robot Manipulators Field of the Invention [0001] This invention relates generally to a robotics system, and more particularly to control systems for robotic manipulators and the design of such systems. Background [0002] There are many considerations when designing a controller for a robotic manipulator or articulated arm, covering a wide range of tasks such as pick-and-place operations, cooperative robotics, teleoperated robots and robotic surgery. A successful control approach may typically provide stability and remain stable when interacting with the environment. A good approach may also shape the robot's performance. However, doing so analytically is made difficult by the nonlinear nature of the dynamics of robot manipulators. [0003] Passivity-based control (PBC) is a powerful technique widely used in control design for robotics. PBC provides strong stability guarantees, via straightforward energy considerations. The most widely used controller in robotics, the joint-space proportional-derivative (PD) control with gravity compensation, is a simple and robust passivity-based controller. Its energy shaping and damping injection features guarantee passivity of the controlled robot. Passivity-based control design techniques have also been adopted for parameter estimation, remote-teleoperation, and trajectory tracking via passive-aware adaptive estimation of the parameters of the system. [0004] Conventional impedance control schemes typically implement passive impedance defined by a desired stiffness, damping, and inertia, implemented by torque/force controlled joints. An impedance controller implementing a desired stiffness and damping without modifying the inertia (which is practically difficult), is a form of PBC energy-shaping and damping injection. Thus, it shares the same stability properties. At the same time, impedance control opens the way to the characterization and control of the robot performances, via loop shaping and similar considerations. [0005] However, in practice, selection of desired impedances and determining optimal control parameters is a challenging task. Some existing approaches for selecting impedances involve machine learning for variable impedance control by varying the stiffness, but passivity of the controller is lost. Methods to preserve passivity exist, such as tank-based variable impedance control, but using this approach requires a careful consideration to ensure that “energy-tanks” do not deplete, hindering performance. [0006] There is a need to establish and implement improved methods and systems for systematic specification and optimisation of impedance control parameters in a robust control system. Summary of the Invention [0007] Aspects of the present invention are set out in the accompanying claims. [0008] According to one aspect, there is described a method to synthesise a controller of a robotic manipulator system, the method comprising: providing a model of the robotic manipulator system including a plurality of control parameters associated with one or more virtual control mechanisms attached to respective locations of the robotic manipulator system, wherein output control actions of the model are defined based on said plurality of control parameters of the one or more virtual control mechanisms; determining linear matrix inequality, LMI, constraints for synthesis of control parameters that achieve a predefined performance, for example as measured local ^gain between selected force/displacement variables, wherein the LMI constraints define a gain matrix, K comprising a plurality of diagonal matrices that correspond to
Figure imgf000004_0001
the plurality of control parameters; deriving a solution to the LMI constraints, wherein the solution identifies control parameter values in the plurality of diagonal matrices; and determining output control actions for one or more actuators of the robotic manipulator system based on the identified control parameter values. Typically, the identified control parameter values may be optimal values. [0009] The virtual control mechanisms may comprise one or more of virtual springs and dampers attached to respective points of the robotic manipulator system. The gain matrix may have the form where K defines virtual stiffness control
Figure imgf000005_0003
Figure imgf000005_0004
parameters and defines virtual damping control parameters of the virtual spring-
Figure imgf000005_0002
damper control mechanisms. Generalised plants may map input exogenous forces (
Figure imgf000005_0007
and control actions
Figure imgf000005_0008
to output respective exogenous displacements (zd) and measured observation outputs ǡ of the manipulator system. A feedback control loop may
Figure imgf000005_0001
optimize performances on a performance pair defined by The predefined
Figure imgf000005_0005
performance metric may be an
Figure imgf000005_0006
control criterion. [0010] Advantageously, the controller is configured to preserve passivity of the robot and to maintain stability of the end-effector by deriving a solution that forces the values of the control parameters matrices to be diagonal and positive. The model may be linearized in operation-space in the process of optimizing the control parameters. [0011] The number of virtual control stiffness/damping parameters may be less than or equal to the degrees of freedom of the robotic manipulator system. Actuators of the robotic manipulator system may be excited based on the output control actions. [0012] The virtual control mechanisms may further comprise a virtual dynamic extension mechanism having a prismatic joint component to provide extension control along a defined axis of the robotic manipulator system. The defined axis may be a common axis of an instrument attached to the robotic manipulator system. A first pair of virtual spring-damper control mechanisms may be attached to an end-effector of the instrument, and a second pair of virtual spring-damper control mechanisms are attached to the virtual dynamic extension mechanism. The second pair of virtual spring-damper control mechanisms may be rotated about the prismatic joint component of the virtual dynamic extension mechanism to align the extension control with a defined direction. [0013] Alternatively, the virtual control mechanism may further comprise a dynamic extension mechanism having a virtual instrument attached to a physical instrument by a plurality of virtual spring-damper control mechanisms. A further pair of virtual spring- damper control mechanisms are attached to an end-effector of the physical instrument. Each virtual spring-damper control mechanism may comprise a co-located spring and damper component. [0014] In other aspects, there are described systems configured to perform the methods as described above. In a further aspect, a computer program is described, comprising machine readable instructions arranged to cause a programmable device to carry out the described methods. The instructions may be stored in non-transient form. Brief Description of the Drawings [0015] There now follows, by way of example only, a detailed description of embodiments of the present invention, with references to the figures identified below. [0016] Figure 1 is a block diagram showing the main components of a robot control system according to an embodiment of the invention. [0017] Figure 2 schematically illustrates an exemplary robotic manipulator system in the control system of Figure 1. [0018] Figure 3 is a flow diagram illustrating the main processing steps performed by the control system of Figure 1 to synthesise a controller of the robotic manipulator system according to an embodiment. [0019] Figure 4, which comprises Figures 4A and 4B, schematically illustrates an example of a robot system under PD control in joint-space compared to operation-space. [0020] Figure 5 is a block diagram schematically illustrating the overall structure of an exemplary implementation of the controller of Figure 1 according to an embodiment. [0021] Figure 6 schematically illustrates a sectional view of an exemplary robot for robotic minimally invasive laparoscopy. [0022] Figure 7 schematically illustrates a robotic manipulator system with a virtual prismatic extension mechanism according to a further embodiment. [0023] Figure 8, which comprises Figures 8A and 8B, schematically illustrate a modification to the prismatic extension of Figure 7. [0024] Figure 9 schematically illustrates a robotic manipulator system with a virtual instrument mechanism according to another embodiment. [0025] Figure 10 is a block diagram schematically illustrating the overall structure of a virtual mechanism controller based on the systems shown in Figures 7 and 9. [0026] Figure 11 graphically illustrates the control performance of a first simulated example. [0027] Figure 12 shows a redundant arm of a second simulated example. [0028] Figure 13 graphically illustrates the control performance of the second simulated example. [0029] Figure 14, which comprises Figures 14A and 14B, shows a robot arm of a third simulated example. [0030] Figure 15, which comprises Figures 15A to 15C, graphically illustrates the control performance of the third simulated example. [0031] Figure 16 is a diagram of an example of a computer system on which one or more of the functions of the embodiment may be implemented. Description of Embodiments [0032] Generally, the present invention provides a method and system for torque/force control of robotic actuators, such as linear or rotary hydraulic actuators of a rigid robot. The impedance selection/optimization problem is re-cast into a robust control problem, taking advantage of the robot linearization in operation space. The control system may implement potential and/or kinetic energy shaping and damping injection with optimized performance, by synthesizing the interconnection of the robot with a system of virtual control mechanisms. Working in operation space, the controller enables intuitive considerations on the shaping of the robot potential energy. [0033] Figure 1 is a block flow diagram schematically illustrating a robot control system 101 according to an embodiment, including a controller 103 to control a robotic manipulator system 105 via control actions 107 determined by a dynamic model 111 of the manipulator. Reference is also made to Figure 2 schematically illustrating an exemplary implementation of a robotic manipulator system 105a according to the present embodiment. The controller 103 for the robotic manipulator system 105 is configured to act on the generalised force of the robot, u, via feedback from generalised coordinates
Figure imgf000007_0001
. The control actions
Figure imgf000007_0002
107 are generated by emulating a plurality of virtual control mechanisms 109 attached to respective points of the robotic manipulator system 105. Each virtual control mechanism 109 includes one or more virtual control elements 209 that may be combined to enable straightforward tuning of the energy landscape for a particular implementation context while preserving passivity of the robot, for stable interactions with the environment. The virtual control elements 209 may include energy storage elements such as springs 209a, inerters 209c, masses or inertias, energy dissipation elements such as dampers 209b, and energy routing elements such as rigid-body joints, levers, and mechanical transmissions. Advantageously, the virtual control mechanisms 109 embody classical passivity properties at co-located force/velocity or torque/angular velocity ports. [0034] As shown in the example of Figure 2, the robotic manipulator system 105 includes an end-effector 201 such as a tool to handle a payload or perform a task. The end-effector 201 is provided at the distal end of a sequence of rigid limbs (also referred to as links or segments of an articulated arm) 202, with respective force/torque actuators 203 provided at the joints between limbs 202, that are operable to move the end-effector 201. The placement of each virtual control mechanism 109 may be dictated by the features of the task and by considerations on the robotic manipulator's dynamics. The exemplary robotic manipulator system 105a of Figure 2 includes two virtual Cartesian spring-damper control mechanisms 109a-1,109a-2 attached to a predefined location at the end-effector 201. The virtual spring-damper control mechanisms 109a effectively provide Cartesian impedance control as a mechanism of Cartesian springs 209a and dampers 309b attached between the end-effector 201 and a reference position
Figure imgf000008_0011
. The respective location of the, or each, virtual control mechanism 109 (and/or components of each mechanism) may be stored as robot dynamic model data 111, for example by a constructor module 113 of the system 101. [0035] The constructor module 113 implements functionality to construct the controller 103 to achieve a defined task, such as moving the end-effector 201 to the desired position/orientation
Figure imgf000008_0005
( ) In general, the robot control system 101 may be defined in terms of a general control problem formulation, where the generalised plant models ( ) 115 map input exogenous forces (
Figure imgf000008_0004
117 and control actions 107 to output
Figure imgf000008_0007
exogenous displacements/positions (
Figure imgf000008_0003
) 119 and measured observation outputs
Figure imgf000008_0006
121, by linearising in the controller operation-space at a set of respective poses (qi). The observation outputs ^ ^ ^ 117 are inputs to the constructed controller ( 103, while the
Figure imgf000008_0001
Figure imgf000008_0008
control actions 107 are output by the controller 103. Force/torque actuators 203 of
Figure imgf000008_0002
the robotic manipulator system 105 may be excited based on the control actions 107. The measured observation outputs 117, such as positions and velocities may be
Figure imgf000008_0009
Figure imgf000008_0010
measured by appropriate sensors (not shown) and/or calculated by the controller 103. The dynamic model 111 may be a software-based model created with simulation modelling tools such as MATLAB. [0036] The robot dynamic model 111 is configured to model the dynamical behaviour of the robot manipulator system, based upon its kinematic structure and physical properties, as well as its interconnection with virtual control mechanisms 109 and exogenous inputs and outputs. Each virtual control mechanism 109 may be associated with one or more respective types of control parameters 123 corresponding to the virtual elements 309, such as a stiffness (k) control parameter 123-1 of a virtual spring element 309a, a damping (b) 123-2 control parameter of a virtual damping element 309b, and an inertance (m) control parameter 123-m of a virtual inerter 309c. The controller 103 determines control actions 107 based on the respective control parameters 123 of the virtual control mechanisms 109. The constructed controller 103 may be defined by values of a gain matrix (K). For example, the gain matrix values may represent the respective stiffness (k) 123-1 and damping (b) 123-2 control parameters of each virtual spring-damper control mechanism 109a as shown in Figure 2. The gain matrix may consist of a plurality of block diagonal matrices corresponding to the plurality of types of control parameters 123. [0037] The virtual control mechanisms 109 implement operation-space coordinates to facilitate simple definition of where the components are attached about the robotic manipulator system 105. As will be described in greater detail below, the interconnection of the virtual control mechanisms 109 with the robotic manipulator system 105 is achieved by a transformation from the joint-space coordinates of the robot 105 to various ‘operation-space’ coordinates, for example by a Jacobian transformer module 125 of the controller 103 converting efforts and flows between operation-space and joint-space. An operation-space coordinate may be defined as the velocity of a point which is fixed relative to a link of the robot, such as the velocity of the end-effector 201. The corresponding port for this operation-space coordinate may be defined as the flow/effort pair of
Figure imgf000009_0004
Figure imgf000009_0002
where ^ is the velocity 127 of the end-effector 201 in the
Figure imgf000009_0005
world-frame, and
Figure imgf000009_0003
is a force vector 129 in the same (world) frame as the velocity, such that
Figure imgf000009_0001
is the power flow into the system 101. The operation space variables may be defined according to other suitable interpretations, such the link-frame velocity of a fixed point in the world, or the relative velocity of two different points on the robot 105. In such a case, the virtual control mechanisms 109 may be defined to be aligned with link-axes rather the world’s xyz axes, and/or attached between two points. [0038] In the present embodiment, the system 101 implements a potential and/or kinetic energy shaping and damping injection controller 103, defined by the robot dynamic model 111 and corresponding control law. Energy shaping and damping injection methods are generally known in robotics and the control of electromechanical systems. The core idea is that a passive system may store energy, route it between ports or dissipate it, but it may not produce energy. When two passive systems are connected together by compatible ports, then the resulting combined system is passive. The shaping of the energy function changes the equilibria of the system, a feature that can be used to control the robot to a desired position. The damping removes energy, affecting the speed of convergence. In general, the design of an energy shaping and damping injection controller to stabilize a nonlinear system at a particular equilibrium involves solving a partial differential equation. [0039] Accordingly, the constructor 113 is configured to determine optimal values of the control parameters 123 that will directly affect the performance of the system 101 based on the predefined placement of the corresponding virtual control mechanisms 109. The controller design method implemented by the constructor 113 is based on Linear Matrix Inequality (LMI) constraints to automatically synthesize optimal control parameters 123 of the controller 103where the synthesis is driven by gain criteria
Figure imgf000010_0002
from exogenous input (^) to exogenous outputs (
Figure imgf000010_0001
[0040] As will be described in greater detail below, an LMI determiner 131 of the constructor 113 is configured to determine an LMI problem formulation, i.e. a convex optimization problem with linear matrix inequality constraints, based on the virtual control mechanisms 109 and the robot dynamic model 111. For example, the LMI determiner module 131 may convert the set of generalised plants ( 115 into LMI
Figure imgf000010_0003
constraints which may determine optimal values of the corresponding control parameters 123. The LMI solver 133 could be of a type that is generally known in the art (e.g. MATLAB packages such as CVX). In this way, a static-state feedback synthesis can be performed to systematically select stiffness and damping control parameters 123-k and 123-b. [0041] In the present embodiment, the system 101 is configured to force the output feedback gains of each type of control parameter 123-1,123-2 to be diagonal and positive. For example, the constructor 113 may determine an LMI problem formulation of the robot 105a in Figure 2 that produces a solution having stiffness (k) and damping (b) parameter matrices 123-1,123-2 that are diagonal and positive. Advantageously, this provides improved simplicity and effectiveness, and enables a systematic approach to selecting impedance parameters for a common class of impedance controllers, based on criteria of optimality with respect to
Figure imgf000011_0001
metrics. [0042] In this way, the structure of the virtual control mechanisms 109 provide a set of basis-functions/primitives that can be used to design an Euler-Lagrange sub-system that, when connected in feedback with the robot 105, achieves closed-loop passivity. The closed loop is passive at any port, whereby local minima of its potential energy are all stable (and asymptotically stable when damping is present). These features are preserved even under interaction with the environment, so long as the environment is passive. Furthermore, the controller implementation is simple as no inverse kinematics required, while providing design flexibility to handle multiple simultaneous objectives, such as end-effector and/or Remote Centre of Motion (RCM) control. Finally, the virtual control mechanisms are an excellent tool to facilitate production of controllers that are inherently more interpretable by users, thereby facilitating better communication between practitioners and more effective debugging by control engineers. Energy Shaping and Damping Injection Controller [0043] Figure 3 is a flow diagram of a computer-implemented method to synthesise a controller 103 of a robotic manipulator system 105, according to an embodiment. At step S3-1, the constructor module 113 defines a controller 103 of the system 105 based on the robot structure 111. As discussed above, the locations of the virtual control mechanisms 109 may be predefined in the robot structure 111 based on the features of the task and by considerations on the robot’s dynamics. [0044] Referring to the example shown in Figure 2, each virtual spring-damper control mechanism 109a includes a spring element 209a and a damper element 209b. Virtual springs 209a are used to drive the robot to the desired position, determining the equilibria of the system 105. The characteristic of a linear spring
Figure imgf000012_0003
, where z refers to the spring’s extension and
Figure imgf000012_0007
the spring stiffness, shapes the potential energy of the system 105 with a quadratic potential 2
Figure imgf000012_0001
. Likewise, nonlinear springs 209a with more complex characteristic functions
Figure imgf000012_0002
are equally simple to implement. Different effects such as deadzones or saturations can thus be achieved. The energy stored in the spring should be bounded below, for example by defining a potential function for the nonlinear spring and a finite constant C such that
Figure imgf000012_0006
( ) for all z,
Figure imgf000012_0005
where is the energy stored in the nonlinear spring, such that
Figure imgf000012_0004
Otherwise, an infinite amount of energy could be extracted from the spring 209a. [0045] Damper elements 209b are another vital component of a passive robot controller 103. Without damping, the system 105 may only be marginally stable, and simply oscillate, exchanging potential/kinetic energy like a swinging pendulum. Although robots, as mechanical systems, generally have some inherent damping from friction, the injection of additional damping by damper elements 209b advantageously provides for improved performance shaping, as damping affects how the system 105 approaches equilibrium. An ideal linear damper produces a force
Figure imgf000012_0008
^ where c is the damping coefficient of the damper and must be positive, and
Figure imgf000012_0014
^ is the velocity across the damper 209b. A linear damper 209b is passive so long as Nonlinear dampers F =
Figure imgf000012_0013
Figure imgf000012_0012
damper can only remove energy from the system. A nonlinear damper may be parametrised as a linear damper with a varying but always positive damping coefficient
Figure imgf000012_0009
[0046] Figure 4A schematically illustrates an example of a robot system 105a under PD control in joint-space. As shown, the exemplary robot system 405 includes two virtual spring-damper control mechanisms 109a-3,109a-4, with corresponding desired joint angles ^. The robot system 405 may be represented by the robot model:
Figure imgf000012_0010
Figure imgf000012_0011
where
Figure imgf000013_0001
^ represents Coriolis and centrifugal forces,
Figure imgf000013_0002
represents gravity forces, and խ
Figure imgf000013_0003
is an n x n joint-space kinetic energy matrix, based on the observation outputs of the robot system. u are the control outputs to the joint actuators 203 based on the dynamic model 111, with total energy:
Figure imgf000013_0004
where is the generalised inertia matrix and
Figure imgf000013_0007
the gravitational
Figure imgf000013_0005
potential energy. The gravity force/torque vector may be obtained by taking the partial derivative of the gravitational potential energy:
Figure imgf000013_0006
[0047] The energy function may be shaped by selecting:
Figure imgf000013_0008
where the elements of the vector k define the virtual stiffness parameters 123-1 and are all strictly positive. This can be achieved with a controller having the form:
Figure imgf000013_0009
where the vector
Figure imgf000013_0010
defines the virtual damping parameters 123-2 and are also strictly positive elements. The term ensures dissipation and guarantees that the
Figure imgf000013_0013
system trajectories converge asymptotically to the minimum of this energy function at
Figure imgf000013_0011
Figure imgf000013_0012
[0048] Moving away from joint space allows for advanced design of the robot’s response to external perturbations and avoids the computation of թ via inverse
Figure imgf000013_0014
kinematics. In this way, the energy of the robot can be shaped in a space that is closer to the control objective. For position control of the end-effector 201 of a planar manipulator 105, for example, the robot model can be defined with the pair of virtual spring-damper control mechanisms 109a-1,109a-2 on respective Cartesian axes between the end-effector 201 position, zc, and the reference position, r.This is shown in Figure 4B, which schematically illustrates the exemplary robot system 105a of Figure 2 under PD control in operation-space, instead of joint-space as shown in the example of Figure 4A. [0049] The present embodiment implements the operation-space configuration, and using the forward kinematics the corresponding desired energy function may
Figure imgf000014_0001
be defined as:
Figure imgf000014_0002
This can be achieved with a controller model having the form:
Figure imgf000014_0003
and a control law of the form:
Figure imgf000014_0004
where
Figure imgf000014_0005
[0050] The control action u emulates the effect of the force F
Figure imgf000014_0006
at the end-effector 201, realizing a proportional and derivative control action in the coordinates of the end- effector 201. This approach offers several advantages. The potential energy is a function of end-effector displacement 119. This implies that the response of the robot to external perturbations is independent of the robot’s configuration. Furthermore, there is no need to implement an inverse kinematics to drive the robot to a desired position This is
Figure imgf000014_0007
particularly important for redundant robots, where several configurations can attain the same end-effector position. In fact, for redundant robots, the controller 103 is operable to control the end-effector 201 position without forcing high-stiffness on each joint as in the case of a joint-space model. Parameter Tuning and Impedance Control [0051] The control parameters 123 of the controller 103, such as the stiffness and
Figure imgf000014_0008
damping (
Figure imgf000014_0009
parameters of the respective virtual control mechanisms 109, shape the relationship between
Figure imgf000014_0010
following the approach of impedance control. The controller constructor 121 implements a predefined metric to measure the performance of the robot and the criteria to optimize such performance, in order to establish a systematic framework for the selection of the control parameters 123. [0052] In the present exemplary implementation, performance of the robot system 105 is based on the performance pair
Figure imgf000015_0001
measured via the metric. The performance
Figure imgf000015_0002
pair
Figure imgf000015_0003
captures the effect that a perturbing exogenous force
Figure imgf000015_0004
has on the displacement
Figure imgf000015_0005
High performance position control, for example, may be provided by insensitivity of the displacement
Figure imgf000015_0006
to the perturbing force
Figure imgf000015_0008
This corresponds to enforcing a low gain between
Figure imgf000015_0007
In contrast, a compliant robot would allow for large displacements
Figure imgf000015_0010
for small perturbations F
Figure imgf000015_0009
In this setting, the selection of the parameters k and b can be guided by optimization. [0053] As schematically illustrated in Figure 1, the system 101 implements a feedback control loop to optimise performances on
Figure imgf000015_0011
The loop is closed, by the controller 103, on a control pair based on the observation outputs ^ 121 and the control inputs
Figure imgf000015_0013
Figure imgf000015_0012
107, with the goal of shaping the behaviour captured by the performance pair
Figure imgf000015_0014
This setting finds contacts with impedance control and classical robust control synthesis. Indeed, impedance control recognizes that positions and forces cannot be controlled independently and accordingly, the controller 103 is designed to shape the relationship between these quantities. Likewise, in the linear setting, the constructor 113 implements robust control to synthesise a controller 103 that minimize the gain between . In this way, the controller 103 of the present embodiment interconnects the
Figure imgf000015_0015
robotic manipulator 105 and virtual control mechanisms 109 by implementing operation-space impedance control and building a connection between closed-loop impedance shaping and robust control synthesis, and also implements a systematic framework for the determination of control parameters taking into account defined performance considerations. [0054] Figure 5 is a block diagram schematically illustrating the overall structure of an exemplary nonlinear controller 103a according to the present embodiment. The controller 103a implements conditions based on linear matrix inequalities that lead to control parameters 123, such as the stiffness (k) and damping (b) parameters, that preserve the passivity of the robot manipulator 105. As shown, the robot dynamic model 111 discussed above with reference to Figure 4B is further adapted with auxiliary input/output variables, as follows:
Figure imgf000016_0001
where is the Jacobian corresponding to the directions of applied disturbance force
Figure imgf000016_0003
As discussed above, ^ ^ represents Coriolis and centrifugal forces,
Figure imgf000016_0004
) represents
Figure imgf000016_0002
gravity forces, and
Figure imgf000016_0005
joint-space kinetic energy matrix, based on observation outputs
Figure imgf000016_0006
^ of the robot system. [0055] In the present exemplary implementation, a control pair defined by
Figure imgf000016_0007
is used to design the controller 103a having the form set out by equations (2) and (3) above in equations (2), (3) is based on the locations of the virtual control
Figure imgf000016_0008
mechanisms 109 as predefined by the robot structure. This corresponds to the particular shaping of the desired energy given by equation (1). It is also assumed that hc is a differentiable invertible function within the region of interest. This will allow the system 101 to derive an equivalent representation of the robotic manipulator 105 in the coordinates zc, which suits linearization methods for state-feedback design. [0056] Optimization of weighted performances may be represented by
Figure imgf000016_0009
where W are constant, diagonal matrices whose role is to scale, non-uniformly,
Figure imgf000016_0010
the output exogenous displacement components of
Figure imgf000016_0011
and its derivative Ī , respectively.
Figure imgf000016_0012
[0057] Advantageously, this implementation connects the energy shaping and damping injection approach with impedance control
Figure imgf000016_0013
synthesis of stiffness and damping controller parameters 123-1,123-2 to optimise performance of the robot manipulator 105. Robot Linearization in Operation Space [0058] For the systematic synthesis of stiffness and damping parameters vectors k and b 123-1,123-2 to optimise local performances, the controller 103a of the present embodiment is adapted to implement a state-feedback gain matrix where K1 is a first block diagonal matrix (diag(k)) defining values of the virtual stiffness control parameters 123-1, and K2 is a second block diagonal matrix
Figure imgf000017_0004
defining values of the virtual damping control parameters 123-2. Additionally, all the elements of and
Figure imgf000017_0005
must be strictly positive, to guarantee that the control action 107 defined by equations (2) and (3) leads to a passive controlled robot manipulator 105. [0059] To achieve this, the constructor 113 first derives the robot linearization in operation-space, then determines the state feedback gain matrix K values via LMIs, which will lead to the control law based on equation (3) having the form:
Figure imgf000017_0001
where Fc represents an operational force vector resulting from the optimised control parameters in combination with the dynamics of the plant 111. [0060] Accordingly, returning to Figure 3, at step S3-3, the LMI determiner 131 derives a state-feedback controller 103 by converting the robot model from step S3-1 into a linearised form in operative space. For example, the exemplary controller 103a of Figure 5 implements the energy shaping and damping injection structure of the dynamic model 111 as discussed above, whereby state-feedback gains can be synthesised with guaranteed performances. Representing the dynamics in operation-space corresponds to making a different choice of general coordinates when deriving the robot dynamics. As a result, the operation-space dynamics are defined by a dimension N, the number of degrees of freedom of the robot manipulator 105. In practice, it is difficult to derive these dynamics directly from Lagrangian methods for arbitrary operation-space variables. The exemplary implementation therefore draws an equivalence between the terms of the joint-space dynamics, M(q), ^^^ǡ ^^ ^ and g(q), and their operation-space equivalents. Differentiating Īc gives the acceleration
Figure imgf000017_0002
[0061] Combining this with the control law set out in equation (2) and the dynamics set out in equation (4), assuming a non-singular and therefore invertible Jacobian gives the operation-space dynamics:
Figure imgf000017_0003
Figure imgf000018_0001
[0062] For completeness, arguments q and qլ can be written as functions of
Figure imgf000018_0002
, by the inverse kinematics
Figure imgf000018_0003
and operate in the region of invertibility of
Figure imgf000018_0004
However, in practice it may be preferable to keep the arguments in joint variables. The inverse kinematics are non-unique, so characterising and finding inverse kinematics functions is in general hard. In the present exemplary implementation, this is avoided by computing ¨ directly from a pose , without explicitly defining an inverse kinematics
Figure imgf000018_0005
Figure imgf000018_0007
so long as the forward kinematic is satisfied and z h ( )
Figure imgf000018_0006
[0063] By implicitly linearizing at a predefined equilibrium defined at
Figure imgf000018_0008
Ī
Figure imgf000018_0009
and using
Figure imgf000018_0010
^to denote small displacement variables, the following linearized operation-space dynamics is obtained:
Figure imgf000018_0011
[0064] Using the state variable Ȃ Ă and the output variable [^
Figure imgf000018_0012
Figure imgf000018_0013
from equations (5) and (6) leads to the linearized state-space system
Figure imgf000018_0014
Figure imgf000018_0015
with matrices
Figure imgf000018_0016
Synthesis For Energy Shaping And Damping Injection [0065] At step S3-5, the controller 103 solves the determined LMI problem formulation, for example using the LMI solver 133, to determine a solution defining synthesised state-feedback gains with guaranteed performances, the gains represented by values of the control parameters 123 corresponding to the virtual spring-damper control mechanisms 109 that optimise the predefined performance metrics on In
Figure imgf000019_0003
the present exemplary embodiment, synthesis of the virtual stiffness control parameters 123-1 and the virtual damping control parameters 123-2 is performed based on
Figure imgf000019_0002
synthesis. Specifically, the controller 103a determines and locally optimises the performances captured by the performance pair
Figure imgf000019_0001
measured via the metric. [0066] The determination of the control parameters 123 to
Figure imgf000019_0013
optimize local performances is derived via LMI constraints. The system 101 implements LMI to solve the below problem formulation for sparse synthesis and passivity, with additional
Figure imgf000019_0012
constraints to ensure that are positive definite diagonal matrices. Consider a
Figure imgf000019_0004
selection of poses the associated linearization given by equation (7), and the
Figure imgf000019_0011
Figure imgf000019_0005
matrix
Figure imgf000019_0007
where the subscript
Figure imgf000019_0006
is used to denote the matrices associated with the linearization
Figure imgf000019_0014
are matrices of opportune dimensions, and Ȗ is a scalar representing the
Figure imgf000019_0009
Figure imgf000019_0008
level of performance, with smaller Ȗ corresponding to tighter position control (higher stiffness of the robot). In the present embodiment, the LMI problem formulation is defined to: find such that
Figure imgf000019_0010
[0067] This is a modified LMI formulation based on the established LMI formulation as discussed, for example, in Section 7 of Linear Matrix Inequalities in System and Control Theory, Boyd et al., Society for Industrial and Applied Mathematics, January 1994, which implements the repeated use of matrix (8) for each linearization
Figure imgf000020_0006
. Any solution to the modified LMI problem returns a uniform state-feedback controller (7c) given by 1
Figure imgf000020_0007
that guarantee passivity and local performances in terms of
Figure imgf000020_0008
gain less than Ȗ > 0 from the input Fd to the output y, for each linearization . The LMI
Figure imgf000020_0009
problem may be efficiently solved by convex optimization, for example using the LMI solver 133. Feasibility of this LMI problem for small Ȗ guarantees that exogenous
Figure imgf000020_0010
perturbing forces
Figure imgf000020_0011
induce small perturbations (in the
Figure imgf000020_0012
^sense) on positions and velocities of the robot, locally around each equilibrium
Figure imgf000020_0013
. A small Ȗ can provide good
Figure imgf000020_0014
performance on the controlled position locally near each equilibrium. [0068] At step S3-7, the controller 103a determines the output control actions (u,uc) 107 based on the optimal control parameters 123 of the dynamic model 111 of the constructed controller 103a, for example as solved by the LMI solver 133 according to the performance criterion. The inventors have proven that the control action ( ) 107
Figure imgf000020_0015
obtained from any solution to the modified LMI problem guarantees passivity of the controlled robot at any port where is a vector of forces (or torques) and ^ is
Figure imgf000020_0005
Figure imgf000020_0016
Figure imgf000020_0018
the corresponding vector of co-located velocities (or angular velocities). This is crucial for stable interaction. At the same time, the controller 103a guarantees local performances, as long as the perturbing force is small enough to not invalidate the
Figure imgf000020_0017
linear approximation set out by equation (7). This is clarified by the following Theorem and Proof. [0069] Lemma: For any solution to the modified LMI problem of the present embodiment, take
Figure imgf000020_0001
Then, are diagonal positive definite matrices.
Figure imgf000020_0002
Theorem: Let
Figure imgf000020_0019
be the selection of poses with associated linearization in the
Figure imgf000020_0020
modified LMI problem. For any solution to the modified LMI problem, take k and b in equation (3) such that [diag( í^
Figure imgf000020_0003
Then, the controlled robot defined by equations (2), (3) and (4) is passive at any port and satisfies the local gain:
Figure imgf000020_0004
Figure imgf000021_0001
for the initial condition and reference for any sufficiently
Figure imgf000021_0002
small
Figure imgf000021_0003
Proofs [0070] Proof of Lemma: Define
Figure imgf000021_0004
Then,
Figure imgf000021_0005
(10) Note also that, by block inversion,
Figure imgf000021_0006
where
Figure imgf000021_0007
[0071] With these definitions we can now prove that
Figure imgf000021_0008
are diagonal matrices. Recall that if a matrix is diagonal, it remains so after inversion and transposition. Furthermore, product and sum of diagonal matrices lead to diagonal matrices. Since P = this implies that are diagonal matrices. Thus, from (10),
Figure imgf000021_0015
Figure imgf000021_0009
Figure imgf000021_0010
are also diagonal matrices. [0072] We can also prove that
Figure imgf000021_0013
are positive definite. For instance, recall that therefore Furthermore,
Figure imgf000021_0014
Figure imgf000021_0016
recall that inversion preserve positivity, and that the product and the sum of two positive diagonal matrices are positive and diagonal. Thus, using again P
Figure imgf000021_0011
, we have
Figure imgf000021_0012
where we have used the assumption
Figure imgf000022_0015
in the modified LMI problem set out above. Finally, using (
Figure imgf000022_0001
from the modified LMI problem, we can conclude that
Figure imgf000022_0002
are positive definite. [0073] Proof of Theorem: We first prove passivity. Consider the controller defined by equations (2) and (3). By the above Lemma, diag(k) and diag(b) are positive definite matrices. For the robot equation extended with a generic additional port
Figure imgf000022_0003
where consider the energy function as stated in (1). This is a well
Figure imgf000022_0004
defined energy function since diag(
Figure imgf000022_0005
Then,
Figure imgf000022_0006
where the inequality follows from diag(b) ظ 0. This proves passivity. [0074] We now show the local gain inequality. Recall that
Figure imgf000022_0008
and consider the local storage function
Figure imgf000022_0007
Figure imgf000022_0009
where P is defined in (9). Then, (8) implies that there exists some (small) İ > 0 such that as long as
Figure imgf000022_0010
this implies that
Figure imgf000022_0011
[0075] Thus, if the perturbation
Figure imgf000022_0013
d is small enough to keep
Figure imgf000022_0012
for all , we can extend the interval of integration to
Figure imgf000022_0016
ĺ , arriving at
Figure imgf000022_0014
Virtual Dynamic Extension Mechanisms [0076] In the field of robotic minimally invasive surgery, the robot may enter a patient's body through a trocar, a surgical device used to create and maintain a portal through the skin for the insertion of a physical, e.g. surgical, instrument. Figure 6 schematically illustrates a sectional view of an exemplary surgical robot 105 for robotic minimally invasive laparoscopy, where the end-effector 201 of a surgical instrument 601 enters a patient's body 603 through a trocar 605. The robot’s end-effector 201 may follow a surgeon’s motion, for example as captured by the surgeon's inputs via a console. The surgeon may orchestrate a plurality of surgical instruments and an endoscope (a minimally invasive camera) simultaneously. Different types of robotic minimally invasive surgery pose different technical challenges. For example, in thoracic surgery, which takes place in the chest, the trocar 605 may intrude upon the ribcage. In arthroscopy (keyhole surgery of a joint such as a hip or knee), the workspace is typically extremely limited by the anatomy of the joints, and the trocar 605 may be located much closer to the site of the operation compared to abdominal laparoscopy, for example. [0077] The surgeon may designate a desired position and/or attitude of the end- effector 201 using a user interface of the console. The system 101 may sample that position and/or attitude from time to time and use the sampled position/attitude as an input to the algorithm described herein. Typically, the surgeon exclusively controls the motion of the end-effector 201 and the robot’s controller 103 ensures that the instrument 601 passes through a portal site, for example through the trocar 605 or through an incision not protected by a trocar. The position of the trocar 605 and an associated Remote Center of Motion (RCM) 607, is typically recorded at the beginning of the procedure, denoted and used to constrain the motion of the instrument 601 such that the RCM 607 passes through the trocar 605. However, in some procedures it may be advantageous to represent the trocar task in a less simple way. For example in thoracoscopic surgery, the chest wall may restrict movement, which can result in trauma at the incision site or nerve damage if the robot and controller can not or does not account for the restrictions, resulting in undesired forces applied to the port site. Conversely, it can be beneficial to relax the RCM constraint to improve mobility of the end-effector through the port site (e.g. by expanding the RCM constraint from a point to a hoop), for example in trans-oral surgery, arthroscopy, small volume-laparoscopy. [0078] Accordingly, further embodiments will now be described of a robot controller that emulates virtual control mechanisms to enable highly flexible, efficient and accurate control of an end-effector through a port site. Corresponding reference numerals to those of preceding figures are used where appropriate for corresponding elements in the further embodiments. Prismatic Extension [0079] Figure 7 schematically illustrates a robotic manipulator system 105b with an exemplary implementation of a virtual dynamic extension mechanism according to a further embodiment. As shown, the robot 105b may be a surgical robot comprising an articulated arm with a distal segment 202-3 having an attachment for a surgical instrument 601. The robot 105b is adapted to provide improved control of the instrument 601 through a port site defined by a trocar 605 for example, by further allowing sliding motion of the end-effector 201 along the longitudinal axis of the instrument 601. [0080] To enable the sliding motion, the system 105b includes a virtual prismatic extension control mechanism 109b-1, having a virtual prismatic joint 209c that can slide along the longitudinal axis of the instrument 601, and a virtual inerter element 209d placed across the joint to provide synthesisable control of the extension (qp) along the common axis. The virtual prismatic extension control mechanism 109b-1 is an exemplary implementation of a virtual dynamic extension mechanism. As shown, the virtual inerter element 209d may be affixed at one end to the base of the instrument 601 (e.g. at the attachment point between the instrument 601 and the distal segment 202-3 of the articulated arm 105b), and at a distal end to the virtual prismatic joint 209c. Sliding motion of the virtual prismatic joint 209c may be restricted relative to the remote centre of motion (RCM) 607 using a further pair of spring-damper control mechanisms 109a- 3,109a-4 attached to the virtual prismatic joint 209c along respective Cartesian axes. [0081] The robot 105b is also configured with virtual spring-damper control mechanisms 109a-1,109a-2 attached to the end-effector 201 along respective Cartesian axes and associated with a reference location (r), similar to the spring-damper embodiment discussed above. In this way, the corresponding synthesised controller 103 allows the end-effector 201 to follow a surgeon’s input commands, for example to navigate the instrument 601 to pass through the trocar 605. The damper elements 209b, which provide stability and remove oscillations, are advantageously co-located with the spring elements 209a for efficient algorithmic parameter tuning/selection. The structure of the overall virtual instrument control mechanism 109b-2 may be constructed by progressively assembling individual components with individual functions. [0082] Referring to the exemplary virtual prismatic extension control mechanism 109b-1, an ideal virtual linear inerter element 209d may be defined as producing a force proportional to an acceleration:
Figure imgf000025_0001
^ is the acceleration between the two ends of the inerter 209c, and m is a synthesizable inertance control parameter 123-m (e.g. based in units of kg). A geared-up, low-friction flywheel is a real world mechanism that approximates an inerter: it resists acceleration at its input (or between two different input shafts), but has minimal friction, and minimal mass. Conventionally, inerters are rarely used in passivity-based control of robots, instead opting for a Proportional/Derivative approach (Proportion/Derivative from position, i.e. Proportional/Integral from velocity). This may be due to difficulty in sensing acceleration, or difficulty in actuation as acceleration has more high frequency content than position or velocity signals, so a wider bandwidth is required. An inerter 209c generalises the concept of mass. For example, the dynamics of a point-mass m can be recreated by three ideal inerters 209c, with inertance m, along Cartesian axes with one of their terminals grounded. A constant bias force mg may be included to emulate gravity. [0083] Inerters 209c are useful when paired with additional dynamic extension elements, such as revolute/prismatic joints 209c, that form part of the virtual dynamic extension control mechanism 109b. A virtual joint followed by a massless virtual link would experience infinite acceleration. One possibility may be to grant the virtual inerter link some virtual mass. However, if the acceleration of the virtual mass depends not just upon the acceleration of the virtual joint, but also the robot’s joint accelerations, then these accelerations must be measured in order to implement the inertial forces that the virtual mass would present to the system 105b. Instead, by placing a virtual inerter 209c directly across the virtual joint 209c as shown in Figure 7, the controller 103 can limit acceleration of the virtual joint 209c (no longer infinite), under the experience of inertia, and the system 101 does not have to measure joint acceleration/ implementing inertial forces. [0084] Accordingly, the virtual inerter element 209d may be defined by
Figure imgf000026_0001
where Fp defines the acceleration-force characteristic of the virtual prismatic joint 209c. ^^^ may depend only on the force across the virtual joint 209c as the acceleration-force characteristic is not affected by any other joints of the robot 105b. The result is an extended system (robot + dynamic extension) with extended inertia matrix
Figure imgf000026_0002
which is block diagonal. Thus, the robot’s inertia is unaffected by the inertia of the virtual dynamic extension control mechanism. The apparent inertia of the physical robot is not modified by the control action, which would could be achieved through joint- acceleration measurements and higher-bandwidth control. [0085] The virtual prismatic extension control mechanism 109b-1 can be modified to allow a relaxation of the RCM constraint discussed above. For example, as schematically illustrated in Figures 8A and 8B, this can be achieved with a 3D generalization of the prismatic extension, by rotating the virtual spring-damper control mechanisms 109a-3,109a-4 on the sliding joint 209c to provide extension control along a defined axis of the surgical instrument 601, such as an axis of the surgical instrument that is normal to the instrument 601 (and the patient’s body 603), and replacing in-plane springs with a pair of piecewise-linear springs. These piecewise linear springs may have a low/zero stiffness region, e.g. defining a deadzone 801, with the effect of relaxing the point constraint of the RCM 607 to a rectangular constraint (ax,ay) in the specified plane of the deadzone 801. The deadzone 801 may be defined by any other suitable geometry and associated coordinates (e.g. a disk constraint rather than a rectangle). Synthesis of the piecewise springs may be implemented by modifying the linear-matrix-inequality problem formulation to include further variables (L,Q) corresponding to multiple regions. Each pose
Figure imgf000026_0003
may belong to a respective region, and each region may feature differing weighting W1, W2. Additional equality constraints may be used between (L,Q) from different regions to keep constant parameters which do not vary between particular pairs of regions. Alternatively, the RCM constraint can be relaxed to allow the RCM 607 to move across/along a surface or within a volume (instead of a point) in response to forces acting on the virtual spring-damper control mechanisms 109a-3,109a-4 attached at the RCM 607. Virtual Instrument [0086] In the prismatic extension mechanism of the above embodiment, the placement of the spring-dampers 109a-3,109a-4 attached to the sliding joint 209c may cause a loss in performance as the end-effector 201 approaches the port of the trocar 605. An effective ‘lever arm’ between the end effector 201 and RCM 607 decreases in length, and as such the rotational stiffness imparted by the virtual dynamic extension mechanism 109b to the surgical instrument 601 decreases. Conversely, as the surgical instrument 601 moves far away from the trocar 605 (for example, when retracted from the patient), the lever arm and apparent rotational stiffness may increase. These changes may result in a demanding torque signal for the actuator motors 203, with higher bandwidth requirements. [0087] Figure 9 schematically illustrates a robotic manipulator system 105c with another exemplary implementation of a virtual dynamic extension mechanism according to a further embodiment. As shown, the robotic manipulator system 105c of the present embodiment includes a virtual instrument control mechanism 109b-2, which is another exemplary implementation of a dynamic extension, consisting of a revolute joint fixed in the world at the RCM 607, followed by a prismatic joint 209c, with the longitudinal axis passing through the RCM 607. The virtual instrument 109b-2 may be attached to the surgical instrument 601 by three virtual spring-damper control mechanisms 109a- 6,109a-7,109a-8, and configured so that the longitudinal axis of the virtual instrument 109b-2 always passes through the RCM 607. The robot 105c also includes virtual spring-damper control mechanisms 109-1,109-2 attached to the end-effector 201 along respective Cartesian axes and associated with a reference location (r), to constrain the end-effector 201 to the surgeon reference (r) similar to the embodiments discussed above. [0088] The virtual link is endowed with mass
Figure imgf000028_0001
and inertia matrix Ii, so that the dynamic extensions inertia matrix Mc(qc) is never singular. The virtual instrument 109b- 2 may be constrained to lie exactly on top of the surgical instrument 601 in a first position, by configuring the springs 209a with a resting length of zero, as shown in the centre of Figure 9. With the non-rigid coupling provided by the spring-dampers 109a of the virtual instrument control mechanism 109b-2, the extended-system inertia has a block diagonal structure
Figure imgf000028_0002
where Mc(qc) is the inertia matrix of the virtual instrument control mechanism 109b-2. In the present exemplary implementation, virtual mass/inertia is used rather than inerter 209c, so that the behaviour of the virtual instrument control mechanism 109b-2 is more similar to a real instrument acting as a constrained rigid body. [0089] A further view of the virtual instrument control mechanism 109b-2 in a second, extended, position, is illustrated on the right hand side of Figure 9. As shown, the spring-dampers 109a of the virtual instrument control mechanism 109b-2 provide a more complex operation space than the standard Cartesian operation-space of the simpler spring-damper embodiments described above. For example, considering the topmost virtual spring-damper control mechanism 109a-8, the corresponding operation space coordinate component may be represented by the distance between the base of the surgical instrument 601 and the base of the virtual instrument 109b-2 in the x direction of the virtual instrument’s coordinate frame. Advantageously, the corresponding control parameters of the virtual instrument control mechanism 109b-2 may be synthesised based on the parameter tuning technique described above with reference to Figure 5, as the number of spring-dampers is equal to the degrees of freedom of the robot 105c. [0090] In this way, the virtual instrument 109b-2 addresses the potential issues identified above, by placing the spring-dampers 109a of the sliding mechanism 209c in the reference frame of the virtual instrument 109b-2, such that rotational stiffness of the surgical instrument 601 does not vary with the robot’s pose. As an alternative implementation, the reference point (r) may be defined as connected or relative to the virtual instrument 109b-2, rather than to the surgical instrument 601 or the robot 105 itself. Additionally, similar to the prismatic embodiment, the virtual instrument control mechanism 109b-2 can be modified to allow a relaxation of the port constraint, and to provide a less aggressive use of the motor torques at the joints, reducing bandwidth requirements. Virtual Dynamic Extension Controller [0091] Figure 10 is a block diagram illustrating the overall structure of an exemplary virtual mechanism controller 103b according to the present embodiment. The controller 103b of the present embodiment is based on the controller 103a described above with reference to Figure 5, adapted to implement conditions based on linear matrix inequalities that lead to control parameters 123 of the virtual spring-damper control mechanisms 109a and the virtual dynamic extension mechanisms 109b that preserve the passivity of the robot manipulator 105c. As shown, the virtual mechanism controller 103b is configured to determine the corresponding joint-torques to implement the effect of the virtual dynamic extension mechanisms 109b, which are calculated using the operation-space Jacobian transformer 125. Fd are exogenous input forces/positions and zd are exogenous output forces/positions of the robot manipulator 105c. [0092] The dynamic extension block 109b may be implemented as an Euler-Lagrange system modelling virtual joints 209c and inerter links 209d, for example of the prismatic extension control mechanism 109b-1 and the virtual instrument control mechanism 109b-2, using the generalised coordinate qc. The extended state
Figure imgf000029_0003
Figure imgf000029_0002
is the concatenation of qc onto the robot state with, as represented by the multiplex (Mux) block 1003. The input u may be split between the robot’s actuators 203 and actuators of the virtual dynamic extension mechanism 109b by de-multiplexing, as represented by the DeMux block 1005. The actuator commands u are sent to the robot 105c, and the virtual dynamic extension mechanism 109b state is updated in the virtual mechanism controller 103b, according to the dynamic equation in generalised coordinates qc
Figure imgf000029_0001
inertia matrix and Cc is the inertia matrix of the virtual mechanism controller 103b. The block-diagonal structure of the extended inertia matrix, with off diagonal blocks being zero, is described above with reference to the respective exemplary implementations of the virtual dynamic extension mechanism. Virtual dynamic extension mechanisms may be configured without the separation of inertia, if additional inputs for the extra inertial forces are provided to both the robot and dynamic extension. [0093] Also shown are components to synthesise control parameters 123 of the springs 209a and dampers 209b of the virtual mechanism, similar to the embodiments described above with reference to Figure 5. In the present exemplary implementation, a transform (Hc) function block 1007 may be defined as:
Figure imgf000030_0001
where is a defined forward kinematics function which returns the extension zc of the virtual mechanism’s springs 209a, and its partial derivative gives the Jacobian
Figure imgf000030_0002
[0094] Jc represents the interconnecting Jacobian transformer 125 shown in Figure 1, with extra columns to relate motion/forces from/to the generalised coordinates of the dynamic extension. The controller force Fc is the combined force of all springs 209a and dampers 209b in the operation space of the controller 103b. If the springs and dampers are linear, then the general formulation
Figure imgf000030_0004
can be replaced with
Figure imgf000030_0003
where k is the vector of spring-stiffness control parameters 123-k, and c is the vector of damping coefficient control parameters 123-b. K represents a linear state-feedback matrix in operation space zc. The operation space coordinates may be designed such that zc = 0 is the desired equilibrium, by including the appropriate constant offset in the transform Hc. [0095] Having established the robot model of the controller 103b in operation space, the constructed controller 103b may proceed to determine selection of the corresponding controller parameters/gains as discussed above with reference to steps S3-5 to S3-7 of Figure 3. Experimental Simulation Examples [0096] As a first example, we illustrate our energy shaping and damping injection design experimentally on a two link manipulator 105a as shown in Figures 2 and 4B, with links of length 1m, each weighing 3Kg, and virtual spring-damper control mechanisms 109a-1,109a-2 aligned to respective Cartesian axes, pulling the end- effector 201 position zc towards a desired reference r = [1.0; 1.0]. The corresponding controller model is stated by equations (2) and (3) above. [0097] For simplicity, we assume that the disturbing force acts on the end-effector 201 as well, that is, zd = zc. We choose the following weighting matrices, which add a larger weight to vertical displacement/velocity errors. In a pick and place task, this choice could be motivated by the desire of reaching a tighter control of the vertical position of the robot, to compensate for uncertainties on the load.
Figure imgf000031_0002
[0098] We also consider three poses, each requiring the end-effector to be in the upper right quadrant.
Figure imgf000031_0001
corresponds to the reference point r.
Figure imgf000031_0003
[0099] We construct the modified LMI problem for two different gains: Ȗ = 10.0, and Ȗ = 0.1. As discussed above, the choice of Ȗ determines the level of performance, with smaller Ȗ corresponding to tighter position control (higher stiffness of the robot). Solving the LMIs with CVX leads to the following controller gains:
Figure imgf000031_0005
Figure imgf000031_0004
[00100] The stiffness coefficients of the virtual vertical spring-damper control mechanisms 109a-2 is always larger than the stiffness coefficients of the virtual horizontal spring-damper control mechanisms 109a-1, in agreement with the weighting functions W1, and both stiffness coefficients become larger for Ȗ = 0.1, as expected. The virtual damping coefficients are larger in the x direction. This can be explained by the greater inertia of the manipulator arm 105a in that direction, considering the poses specified in the synthesis. Moving the end-effector 201 in the y direction requires accelerating predominantly the second link, whereas moving the end-effector 201 in the x direction requires accelerating both links, with a higher combined inertia. [00101] The control performance is illustrated in Figure 11. According to the simulated results, the step disturbance force (Fd) acts first in the x direction, then in the y direction. Larger displacement errors y correspond to the case Ȗ = 10, as
Figure imgf000032_0006
expected. In both cases, įy is smaller than į
Figure imgf000032_0001
, in agreement with the weights W1 and W2. [00102] As another example, we show that the controller 103 is scalable to control a robotic manipulator 105 with a greater number of degrees of freedom. Figure 12 shows an example of a redundant arm 105d, the KUKA LBR iiwa 14 R820 seven-axis (rotational joints) robot, as included in the MATLAB Robotics System Toolbox. We define the kinematics as a hybrid, seven dimensional operation-space comprised of three elements. The first element is the end-effector 201d Cartesian position, zee(t). The second element is the elbow height, represented by the z coordinates of the elbow (fourth) link 202d-4, zel(t). The third element is the vector of joint angles, zq(t), related to the final three joints 203d-5, 203d-6 and 203d-7 of the arm 105d. These angles can be used to set the orientation of the end-effector 201d. Stacking all three vectors together forms
Figure imgf000032_0002
[00103] For the disturbing force Fd we consider zd = [zee zq], and we choose weighting matrices
Figure imgf000032_0003
which removes the displacement of the elbow 202d-4 from our performance criterion. The controller 103 is synthesised around pose qכ, shown in Figure 12. qכ is not near any extrema of the workspace or singularities. The reference position r satisfies ^ ൌ ^^ כ ൌ that is
Figure imgf000032_0005
Figure imgf000032_0004
[00104] Using the modified LMI problem set out above, we derive the controller gains below. In this simulated example, a virtual spring and damper controller is located at the end effector 201d, elbow 202d-4, and final three joints 203d-5, 203d-6 and 203d-7 of the robot 105d, but the dynamic model 109 of the present embodiment advantageously allows for free placement of the virtual spring-damper control mechanisms 109 at any location about the robot manipulator 105d. The corresponding control parameter coefficients are obtained near qכ for Ȗ = 10 and Ȗ = 1. Indeed, larger gains corresponds to Ȗ = 1, as expected.
Figure imgf000033_0001
[00105] The arm is subject to force That is, the
Figure imgf000033_0002
force acts only on the end-effector in direction [111], with magnitude 10N. The control performance according to these simulated results is illustrated in Figure 13. As shown, the norm of the position error at the end-effector 201d,
Figure imgf000033_0003
and the norm of the error in joint angles į T There is a transient error
Figure imgf000033_0004
in orientation both at the onset and removal of the disturbance, and a step error in position. Decreasing Ȗ increases the synthesised gains and reduces the magnitude of the errors. [00106] In a third example, we use a Unified Robot Description Format (URDF) model of the Franka-Emika robot arm 105e, modified to include a surgical instrument 601 as shown in Figure 14A. The simulated robot 105e also includes a virtual prismatic extension control mechanism 109b-1 (as discussed above with reference to Figure 7), with inertance mc = 0.1 kg, and a virtual instrument control mechanism 109b-2 (as discussed above with reference to Figure 9) with mass mi = 0.1 kg and inertia Ii = . These values are chosen so as to be small enough to not add
Figure imgf000033_0005
lots of extra inertia, but not so small as to greatly increase the number of required simulation timesteps. The virtual instrument control mechanism 109b-2 is not shown in Figure 14 for clarity. [00107] For the relevant exogenous inputs/outputs (shown as arrows at respective ends of the instrument 601), we will first consider the input given by a disturbance force acting on the end-effector 201e, taking as output its position/velocity. We will also consider an input force applied at the base of the instrument 601 (i.e. the end attached to the end effector 201e) and the associated position/velocity output. The inputs and outputs are combined into 6 × 1 vectors of forces and displacements, and velocities, Fd, zd and ^^. The inputs/outputs capture the requirements that there should be high impedance from force to motion at the end effector 201e, and small motion at the trocar 605. We will take Ȗ = 1, W2 = 0, and vary W1. [00108] As discussed above, the controller parameter synthesis technique is implemented based on the number of virtual spring-damper control mechanisms 109a being the same as the degrees of freedom (DOF) of the closed-loop system (i.e. DOF of robot + DOF of virtual mechanism = number of spring-dampers). The Franka-Emika robot 105e has seven degrees of freedom. The virtual prismatic extension control mechanism 109b-1 adds one further joint/DOF and four virtual spring-damper control mechanisms 109a. The virtual instrument control mechanism 109b-2 adds three further joints/DOF and five further virtual spring-damper control mechanisms 109a. Therefore, the combination of virtual control mechanisms 109 in this simulated example requires two additional virtual spring-damper control mechanisms 109a, for the above-described parameter synthesis technique to be applied. We choose to use joint-space spring- dampers on the second and fourth joints (J2 and J4, relative to the base), with a resting position at ʋ/6 and -4ʋ/6 respectively. These particular choices of J2/J4 angles are to keep the arm upright and with J4 folded, but away from singularities. [00109] The set of joint poses qi about which the robot's dynamics will be linearised and performance optimized, are chosen as shown in Figure 14B: nine poses passing through an RCM at (0.4, 0, 0.35) to place the end-effector 201e on an evenly spaced 3 × ^
Figure imgf000034_0001
Figure imgf000034_0002
J2 and J4 equal to ʌ/6 and 4ʌ/6 respectively. The poses should be chosen to avoid singularities. If the controller Jacobian is near singular, then the gains required to achieve a particular performance at that pose will be large. The operation space variables (i.e. representing spring-damper placement) for each mechanism in the simulated example robot 105e shown in Figure 14A are summarised in Tables 1 and 2. [00110] Table 1 shows a summary of controller operation variables for the placement of virtual spring-damper control mechanisms 109a of the virtual prismatic extension control mechanism 109b-1.
Figure imgf000035_0001
Table 1: Prismatic extension spring-damper placement [00111] Table 2 shows a summary of controller operation variables for the placement of virtual spring-damper control mechanisms 109a of the virtual instrument control mechanism 109b-2.
Figure imgf000035_0002
Figure imgf000036_0003
Table 2: Virtual instrument spring-damper placement [00112] Table 3 shows the results of the synthesis of respective stiffness (k) and damping (b) control parameters 123 for the virtual prismatic extension control mechanism 109b-1.
Figure imgf000036_0001
Table 3: Synthesized stiffness (k) and damping (b) parameters of prismatic extension [00113] Table 4 shows the results of the synthesis of respective stiffness (k) and damping (b) control parameters 123 for the virtual instrument control mechanism 109b- 2, across two choices of W1.
Figure imgf000036_0002
2 1780 349 9930 779 3 1150 172 7230 432 4 0.152 0.782 0.149 0.809 5 0.156 1.25 0.157 1.41 6 428 45.9 3000 119 7 1470 306 10500 817 8 0.0515 0.0913 0.0513 0.0871 9 884 89.8 5060 197 10 2860 727 15200 1570 Table 4: Synthesized stiffness (k) and damping (b) parameters of virtual instrument [00114] Note that the stiffness/damping parameters for J2, J4 and the instrument- aligned spring-damper for the virtual instrument mechanism are small. The synthesis ensures that they are greater than zero such that the linearisation is stable, but they are not necessary for minimising the gain between the chosen Fd and zd. Increasing W1 has the desired effect of increasing the overall gains. [00115] We performed simulations on each set of gains, using the URDF model of the robot 105e following the desired end-effector trajectory:
Figure imgf000037_0001
as shown in Figure 15A. [00116] Figure 15B shows the results of the simulation, where the absolute error between the end-effector 201e tip is plotted alongside the minimum distance between the axis of the instrument 601 shaft and the remote centre of motion. Joint torques are shown without gravity compensation, which would otherwise dominate the plot. The virtual prismatic extension control mechanism 109b-1 and virtual instrument control mechanism 109b-2 perform similarly, when using gains synthesized with the same weighting and exogenous inputs/outputs. The increased gains as a result of setting W1 to 100 reduce the error further, at the cost of a higher bandwidth controller. [00117] We also present results from a simulation using the rectangular constraint of Figure 8. The X and Y Cartesian springs of the prismatic extension (i.e. on the 6th and 7th coordinates of zc) are replaced with piecewise springs, having zero stiffness regions of width/depth ax = ay = 30mm, with the outer stiffness taken from Table 1. The corresponding dampers have their damping coefficients reduced to 5% of the values in Table 1. All other spring-dampers are unchanged. Figure 15C shows an improvement in the end-effector performance, as compared with the first column of Figure 15B, due to the relaxation of the RCM constraint. Example Computer System Implementation [00118] Figure 16 illustrates an example computer system 1600 in which the present invention, or portions thereof, can be implemented as computer-readable code to program processing components of the computer system 1600. Various embodiments of the invention are described in terms of this example computer system 1600. For example, the robot control system architecture 101 of Figure 1 can be implemented in system 1600. The method illustrated by the flowchart of Figure 3 can also be implemented in system 1600. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures. [00119] Computer system 1600 includes one or more processors, such as processor 1604. Processor 1604 can be a special purpose or a general-purpose processor. Processor 1604 is connected to a communication infrastructure 1606 (for example, a bus, or network). Computer system 1600 also includes a user input interface 1603 connected to one or more input device(s) 1605 and a display interface 1607 connected to one or more display(s) 1609, which may be integrated input and display components. Input devices 1605 may include, for example, a joystick, a pointing device such as a mouse or touchpad, a keyboard, a touchscreen such as a resistive or capacitive touchscreen, etc. According to an embodiment, computer display 1630, in conjunction with display interface 1602, can be used to display a user interface to an operator of the system. [00120] Computer system 1600 also includes a main memory 1608, preferably random access memory (RAM), and may also include a secondary memory 1610. Secondary memory 1610 may include, for example, a hard disk drive 1612, a removable storage drive 1614, flash memory, a memory stick, and/or any similar non-volatile storage mechanism. Removable storage drive 1614 may comprise a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, or the like. The removable storage drive 1614 reads from and/or writes to a removable storage unit 1618 in a well- known manner. Removable storage unit 1618 may comprise a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 1614. Removable storage unit 1618 includes a non-transitory computer usable storage medium having stored therein computer software and/or data. [00121] In alternative implementations, secondary memory 1610 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 1600. Such means may include, for example, a removable storage unit 1622 and an interface 1620. Examples of such means may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 1622 and interfaces 1620 which allow software and data to be transferred from the removable storage unit 1622 to computer system 1600. [00122] Computer system 1600 may also include a communications interface 1624 implemented for example at the operating system level to allow data to be transferred between computer system 1600 and external devices, for example as signals 1628 over a communication channel 1626. Communications interface 1624 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, or the like. [00123] Various aspects of the present invention can be implemented by software and/or firmware (also called computer programs, instructions or computer control logic) to program programmable hardware, or hardware including special-purpose hardwired circuits such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), etc. of the computer system 1600, or a combination thereof. Computer programs for use in implementing the techniques introduced here may be stored on a machine-readable storage medium and may be executed by one or more general-purpose or special-purpose programmable microprocessors. The terms “computer program medium”, “non-transitory computer readable medium” and “computer usable medium” introduced herein can generally refer to media such as removable storage unit 1618, removable storage unit 1622, and a hard disk installed in hard disk drive 1612. Computer program medium, computer readable storage medium, and computer usable medium can also refer to memories, such as main memory 1608 and secondary memory 1610, which can be memory semiconductors (e.g. DRAMs, etc.). These computer program products are means for providing software to computer system 1600. [00124] Computer programs are stored in main memory 1608 and/or secondary memory 1610. Computer programs may also be received via communications interface 1624. Such computer programs, when executed, enable computer system 1600 to implement the present invention as described herein. In particular, the computer programs, when executed, enable processor 1604 to implement the processes of embodiments of the present invention as described above. Accordingly, such computer programs represent controllers of the computer system 1600. Where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 1600 using removable storage drive 1614, interface 1620, hard drive 1612, or communications interface 1624. [00125] Embodiments of the invention employ any computer useable or readable medium, known now or in the future. Examples of computer useable mediums include, but are not limited to, primary storage devices (e.g., any type of random access memory), secondary storage devices (e.g., hard drives, floppy disks, CD ROMS, ZIP disks, tapes, magnetic storage devices, optical storage devices, MEMS, nano- technological storage device, etc.), and communication mediums (e.g., wired and wireless communications networks, local area networks, wide area networks, intranets, etc.). Alternative Embodiments [00126] It will be understood that embodiments of the present invention are described herein by way of example only, and that various changes and modifications may be made without departing from the scope of the invention. [00127] For example, in the embodiments described above, the LMI-based synthesis implements a diagonal structure of the coefficient solution matrices, which may limit the degrees of freedom of the constructed controller. It is possible to generalise the sparsity patterns to allow for more degrees of freedom while preserving closed-loop passivity. For example, the structural assumption of diagonal matrices allows for a controller that preserves passivity, as long as the constraint Q12 ط 0 is applied in the modified LMI problem. This assumption could be generalised to leave more freedom on the structure of Q and L in the modified LMI problem. [00128] The weighting matrices set out in (5) can be extended to weighting transfer matrices, which would apply a nonuniform weighting to the frequency content of ^ and ^^. The linearization defined in model (7) would need to be further modified to include additional dynamics corresponding to a minimal realization of
Figure imgf000041_0001
and W2(s). The model would also need to be modified to enforce zero sub-blocks constraints in the matrices Q and L of the modified LMI problem, to obtain a state feedback of the right dimension. [00129] In the embodiments and exemplary implementations described above, the controller design implements N virtual stiffness and N virtual damping parameters, where N are the degrees of freedom of the robot manipulator. As those skilled in the art will appreciate, the precise numbers of virtual control mechanisms described in the exemplary embodiments above are merely illustrative and the number and complexity of virtual control mechanisms are configurable depending on the specific implementation context, for example to modify the resulting robot control flexibility and/or performance. The virtual control mechanism approach of the present embodiments allows an arbitrarily greater number of springs and dampers, lending greater flexibility and better performance. For example, the dynamic model may be adapted such that the number of control parameters is larger than the degrees of freedom of the robot. [00130] Additionally, synthesis of control parameters for a number of virtual spring- damper control mechanisms greater than n may be further modified for improved computational efficiency by updating n parameters at a time (using the linear matrix inequality synthesis technique described above) while keeping fixed the other parameters. At each iteration, a different set of n spring-damper control parameters may be fixed, until the whole set of parameters converges to a stable solution., Another alternative approach to virtual control mechanism parameter tuning is by implementing a gradient-based approach, for example using an automatic differentiation tool, to minimize a chosen cost function over a trajectory or set of trajectories. Such gradient based approaches are typically less restrictive than the linear matrix inequality approach, thereby advantageously allowing more flexible optimization over any number of parameters, types of controller parameter (e.g. inertances, masses, geometries), and non-linear components. As those skilled in the art will appreciate, passivity from the virtual control mechanisms is ensured so long as the determined virtual control mechanism structure is maintained and a corresponding appropriate cost function is defined. [00131] As yet another alternative, the controller and constructor modules and respective sub-modules may be provided as one or more distributed computing modules or processing services on a remote server that is in communication with the robot control system via a data network. The constructor module functionality may be provided as one or more application programming interface (API) accessible by an application program executing on the robot control system, or as a plug-in module, extension, embedded code, etc., configured to communicate with an application program. [00132] Reference in this specification to “one embodiment” are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. In particular, it will be appreciated that aspects of the above described embodiments can be combined to form further embodiments. Similarly, various features are described which may be exhibited by some embodiments and not by others. Yet further alternative embodiments may be envisaged, which nevertheless fall within the scope of the following claims. [00133] In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims

CLAIMS 1. A method to synthesise a controller of a robotic manipulator system using a model defining a plurality of control parameters associated with one or more virtual control mechanisms attached to respective locations of the robotic manipulator system, wherein output control actions of the model are defined based on said plurality of control parameters of the one or more virtual control mechanisms, the method comprising: determining linear matrix inequality, LMI, constraints for synthesis of control parameters that achieve a defined performance, wherein the LMI constraints define a gain matrix, K, comprising a plurality of diagonal matrices that correspond to the plurality of control parameters; deriving a solution to the LMI constraints, wherein the solution identifies control parameter values in the plurality of diagonal matrices; and determining output control actions for one or more actuators of the robotic manipulator system based on the identified control parameter values. 2. The method of claim 1, wherein the virtual control mechanisms comprise a plurality of virtual spring-damper control mechanisms, and wherein the gain matrix has the form K [K K ], where defines virtual stiffness control parameters and K
Figure imgf000044_0002
2
Figure imgf000044_0001
defines virtual damping control parameters of the virtual spring-damper control mechanisms. 3. The method of claim 1 or 2, further comprising a feedback control loop to optimize performances on a performance pair defined by input exogenous forces,
Figure imgf000044_0003
and output exogenous displacements,
Figure imgf000044_0004
4. The method of claim 3, wherein the LMI constraints are determined for synthesis of control parameters that achieve a performance metric based on an or
Figure imgf000044_0005
control criterion. 5. The method of any preceding claim, wherein deriving a solution to the LMI constraints comprises linearization of the model in operation space. 6. The method of claim 5, wherein the robot model is obtained based on a control law for the one or more actuators having the form:
Figure imgf000045_0001
where represents an operational force vector resulting from the optimal control parameter values in combination with the dynamics of a generalised plant,
Figure imgf000045_0002
represents the placement of the virtual control mechanisms, r represents a desired reference position, and represents a Jacobian transform.
Figure imgf000045_0003
7. The method of claim 6, wherein the linearization is defined by the linearized state-space system:
Figure imgf000045_0004
where:
Figure imgf000045_0005
8. The method of claim 7, wherein the LMI constraints further comprise matrices:
Figure imgf000045_0006
where i denotes the matrices associated with the linearization , and Ȗ is an
Figure imgf000045_0007
Figure imgf000045_0008
input parameter ^ defining a level of performance to be achieved, and wherein convex optimisation is performed to find
Figure imgf000046_0002
Figure imgf000046_0003
such that: ǡ ǡ ǡ ǡ ll di l i
Figure imgf000046_0001
9. The method of any preceding claim, wherein the number of virtual control parameters is less than or equal to the degrees of freedom of the robotic manipulator system. 10. The method of any preceding claim, wherein the virtual control mechanisms further comprise a virtual dynamic extension mechanism having a prismatic joint component to provide extension control along a defined axis of the robotic manipulator system. 11. The method of claim 10, wherein the defined axis is a common axis of an instrument attached to the robotic manipulator system. 12. The method of claim 11, wherein a first pair of virtual spring-damper control mechanisms are attached to an end-effector of the instrument, and a second pair of virtual spring-damper control mechanisms are attached to the virtual dynamic extension mechanism. 13. The method of claim 12, wherein the second pair of virtual spring-damper control mechanisms are rotated about the prismatic joint component of the virtual dynamic extension mechanism to align the extension control with a defined direction. 14. The method of any one of claims 10 to 13, wherein the defined axis is an axis of a virtual instrument attached to a physical instrument by a plurality of virtual spring- damper control mechanisms. 15. The method of claim 14, wherein a further pair of virtual spring-damper control mechanisms are attached to an end-effector of the physical instrument. 16. The method of claim 2 or any claim dependent thereon, wherein each virtual spring-damper control mechanism comprises a co-located spring and damper component. 17. A controller for a surgical robot having a surgical instrument supported by an articulated robot arm, the controller being configured to: synthesise control of one or more virtual control mechanisms attached to respective locations of the surgical robot, to effect movement of the surgical instrument through a port location; and determine control actions of the articulated robot arm based on the synthesised control of the one or more virtual control mechanisms. 18. The controller of claim 17, wherein the virtual control mechanisms comprise a virtual dynamic extension mechanism having a prismatic joint component to provide extension control along a defined axis of the surgical instrument. 19. A system comprising one or more processors configured to perform the method of any one of claims 1 to 16. 20. A storage medium comprising machine readable instructions stored thereon for causing a computer system to perform a method in accordance with any one of claims 1 to 16.
PCT/GB2023/053157 2022-12-09 2023-12-07 System and method for control of robot manipulators Ceased WO2024121565A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2218546.6 2022-12-09
GB2218546.6A GB2625151A (en) 2022-12-09 2022-12-09 System and method for control of robot manipulators

Publications (1)

Publication Number Publication Date
WO2024121565A1 true WO2024121565A1 (en) 2024-06-13

Family

ID=84974738

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2023/053157 Ceased WO2024121565A1 (en) 2022-12-09 2023-12-07 System and method for control of robot manipulators

Country Status (2)

Country Link
GB (1) GB2625151A (en)
WO (1) WO2024121565A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119910691A (en) * 2025-03-31 2025-05-02 亿川科技(成都)有限责任公司 Nonlinear displacement compensation device and method for furnace front robot
CN120134327A (en) * 2025-05-14 2025-06-13 杭州谱育科技发展有限公司 A handling system and method based on rocker-controlled cable-tightly coupled multi-robot collaboration

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018081136A2 (en) * 2016-10-25 2018-05-03 Eugene Gregerson Methods and systems for robot-assisted surgery

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3643867B2 (en) * 2001-07-23 2005-04-27 独立行政法人情報通信研究機構 Manipulator control method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018081136A2 (en) * 2016-10-25 2018-05-03 Eugene Gregerson Methods and systems for robot-assisted surgery

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BOYD ET AL.: "Linear Matrix Inequalities in System and Control Theory", SOCIETY FOR INDUSTRIAL AND APPLIED MATHEMATICS, January 1994 (1994-01-01)
LARBY DANIEL ET AL: "A Passivity Preserving H-infinity Synthesis Technique for Robot Control", 2022 IEEE 61ST CONFERENCE ON DECISION AND CONTROL (CDC), IEEE, 6 December 2022 (2022-12-06), pages 1416 - 1422, XP034270905, DOI: 10.1109/CDC51059.2022.9993347 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119910691A (en) * 2025-03-31 2025-05-02 亿川科技(成都)有限责任公司 Nonlinear displacement compensation device and method for furnace front robot
CN120134327A (en) * 2025-05-14 2025-06-13 杭州谱育科技发展有限公司 A handling system and method based on rocker-controlled cable-tightly coupled multi-robot collaboration

Also Published As

Publication number Publication date
GB2625151A (en) 2024-06-12
GB202218546D0 (en) 2023-01-25

Similar Documents

Publication Publication Date Title
WO2024121565A1 (en) System and method for control of robot manipulators
CN108883533B (en) Robot control
Mohamed et al. Command shaping techniques for vibration control of a flexible robot manipulator
US8428781B2 (en) Systems and methods of coordination control for robot manipulation
Lee et al. A critical review of modelling methods for flexible and rigid link manipulators
Duriez et al. Framework for online simulation of soft robots with optimization-based inverse model
Alessandro et al. Elastodynamic optimization of a 3T1R parallel manipulator
Merlet et al. Parallel mechanisms
WO2007127723A2 (en) Control of robots from human motion descriptors
Tsai et al. Inverse dynamics analysis for a 3-PRS parallel mechanism based on a special decomposition of the reaction forces
CN108326844A (en) The motion planning method and device of the operable degree optimization of redundancy mechanical arm
CN116079735B (en) One-step predictive whole-body control method and device for legged robot and legged robot
Bencsik et al. Stabilization of internal dynamics of underactuated systems by periodic servo-constraints
Liu et al. A modified constraint force algorithm for flexible multibody dynamics with loop constraints
Mishra et al. Dynamic modelling and control of flexible link manipulators: Methods and scope-Part-1
Raouf et al. Workspace trajectory tracking control for two-flexible-link manipulator through output redefinition
Larby et al. A passivity preserving h-infinity synthesis technique for robot control
Larby et al. A generalized approach to impedance control design for robotic minimally invasive surgery
Kameduła et al. A compliant actuation dynamics gazebo-ros plugin for effective simulation of soft robotics systems: Application to centauro robot
Yun et al. Active vibration control based on a 3-DOF dual compliant parallel robot using LQR algorithm
Wang et al. Modal dynamic modelling and experimental validation of a curved extensible continuum manipulator
Kovács et al. Stability case study of the ACROBOTER underactuated service robot
Larby et al. Optimal Virtual Model Control for Robotics: Design and Tuning of Passivity-Based Controllers
McPhee Unified modelling theories for the dynamics of multidisciplinary multibody systems
Liu et al. Tip-contact force control of a single-link flexible arm using feedback and parallel compensation approach

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23825084

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23825084

Country of ref document: EP

Kind code of ref document: A1