WO2014179864A1 - Control of actuators in a robot - Google Patents

Control of actuators in a robot Download PDF

Info

Publication number
WO2014179864A1
WO2014179864A1 PCT/CA2014/000404 CA2014000404W WO2014179864A1 WO 2014179864 A1 WO2014179864 A1 WO 2014179864A1 CA 2014000404 W CA2014000404 W CA 2014000404W WO 2014179864 A1 WO2014179864 A1 WO 2014179864A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
actuator
actuators
setpoint
current state
Prior art date
Application number
PCT/CA2014/000404
Other languages
French (fr)
Inventor
Alexandre Girard
Jean-Sébastien PLANTE
Original Assignee
Socpra Sciences Et Genie S.E.C.
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 Socpra Sciences Et Genie S.E.C. filed Critical Socpra Sciences Et Genie S.E.C.
Publication of WO2014179864A1 publication Critical patent/WO2014179864A1/en

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/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/1617Cellular, reconfigurable manipulator, e.g. cebot

Definitions

  • the present invention relates to control of robots having binary or discrete actuators and, more particularly, to control of robots having binary or discrete actuators for which a model cannot be easily obtained.
  • a first aspect of the present invention is directed to a device for controlling a plurality of actuators in a robot.
  • the device comprises at least one controller that (i) receives a setpoint command for the robot comprising a setpoint for at least one end effector of the robot, (ii) obtains a current state of the robot and (iii) sends an actuator command that causes a group of at least one actuator from the plurality of actuators to be activated for reducing the distance between the current state and the setpoint.
  • the setpoint may represent a desired position of the end effector of the robot and the current state may represent an actual position of the end effector of the robot.
  • the controller after waiting a period of time for the robot to stabilize, may iteratively repeat (ii) and (iii) by adding an additional actuator from the plurality of actuators to the group at each iteration for reducing the distance between the current state and the setpoint. [0008] The controller may alternatively repeat (i) to (iii) by revising which of the plurality of actuators should be in the group for reducing the distance between the current state and the setpoint.
  • the at least one controller may comprise a first controller controlling a first subset of the group that sends a first actuator command and a second controller controlling a second subset of the group that sends a second actuator command and the current state may be distributed to the first and to the second controller before sending the first and the second actuator commands.
  • the controller prior to sending the actuator command, may further obtain a plurality of influence vectors, each of the plurality of influence vectors indicating an expected effect on the robot from activation of a corresponding actuator from the plurality of actuators.
  • the controller may then determine the group of actuator to be activated by identifying at least one corresponding influence vector from the plurality of influence vectors for which the corresponding expected effect reduces the distance between the current state and the setpoint.
  • the controller may obtain the plurality of influence vectors during a calibration phase of the robot by measuring the effect of the activation of the corresponding actuator on the end effector of the robot.
  • the controller may also update the plurality of influence vectors after sending the actuator command by analyzing an actual effect of the actuator command with regards to the group of at least one actuators having been activated.
  • the actuator command may comprise instructions to toggle the state of the actuator to be activated (i.e., the actuator command indicates which actuators are to be turned on, which are to be turned off and which ones are unaffected, which may be the result of an XOR function).
  • the actuator command may represent a plurality of voltages associated to the plurality of actuators.
  • the controller may obtain the current state of the robot by determining an actual position of the end effector using at least one camera, using at least one potentiometer and/or at least one reading from a magnetic resonance imaging system.
  • the plurality of actuators may comprise at least one binary actuator and/or at least one discrete actuator.
  • a second aspect of the present invention is directed to a method for controlling a robot comprising a plurality of actuators.
  • the method comprises (a) receiving a setpoint command for the robot comprising a setpoint for at least one end effector of the robot, (b) obtaining a current state of the robot, (c) activating a group of at least one actuator from the plurality of actuators for reducing the distance between the current state and the setpoint and (d) repeating (b) and (c) until a stopping criterion is reached.
  • a third aspect of the present invention is directed to a method for controlling a robot comprising a plurality of actuators.
  • the method comprises (a) obtaining a current state of the robot, (b) receiving a setpoint command for the robot comprising a setpoint for at least one end effector of the robot, (c) activating a group of at least one actuator from the plurality of actuators for reducing the distance between the current state and the setpoint and (d) repeating (a) to (c) until the at end effector(s) stabilizes or until a stopping criterion is reached.
  • the setpoint may represent a desired position of the end effector of the robot and the current state may represent an actual position of the at least one end effector of the robot.
  • the method in accordance with the second or third aspect of the method may further comprise obtaining a plurality of influence vectors, each of the plurality of influence vectors indicating an expected effect on the robot from activation of a corresponding actuator from the plurality of actuators.
  • Activating the actuator may then comprise identifying at least one corresponding influence vector from the plurality of influence vectors for which the corresponding expected effect reduces the distance between the current state and the setpoint.
  • the plurality of influence vectors may be obtained during a calibration phase of the robot by measuring the effect of the activation of the corresponding actuator on the at least one end effector of the robot.
  • the method may also further comprise updating the plurality of influence vectors after activating the group of actuators by analyzing an actual effect with regards to the group of actuators having been activated.
  • the plurality of actuators may comprise at least one binary actuator and/or at least one discrete actuator.
  • Figure 1 is a logical representation of an exemplary soft pneumatic robot in accordance with the teachings of the present invention
  • Figure 2 is a logical representation of an exemplary soft planar manipulator in accordance with the teachings of the present invention
  • Figure 3 is a flow chart an exemplary method in accordance with the teachings of the present invention.
  • Figure 4 is a logical representation of a resolution error vector sr and approximation error vector ea in accordance with the teachings of the present invention;
  • Figure 5 is a logical modular representation of a device in accordance with the teachings of the present invention.
  • Figure 6 is a first flow chart of a first exemplary method in accordance with the teachings of the present invention.
  • Figure 7 is a second flow chart of a second exemplary method in accordance with the teachings of the present invention.
  • the present invention allows improved control of a robot architecture with a flexible structure including several active elements (e.g., cellular-like actuators).
  • active elements e.g., cellular-like actuators
  • An example of robot architecture that would benefit from the present invention is presented in the provisional patent application number 61/373,046, the non-provisional patent applications number US 13/207,599 and US 13/816,437, and the international patent application number PCT/CA2011/000920, herein incorporated by reference.
  • the active elements could take advantage of shape memory alloys actuators, air-muscles, dielectric actuators, piezoelectric actuators and bio-artificial muscle.
  • air-muscles may present actuators with stress- strain characteristics within the human motion range.
  • Figure 1 shows a soft pneumatic robot concept which consists in a soft polymer body 1010 with a large number of cavities, or muscles, 1030, 1060 acting as pneumatic actuators.
  • the robot 1000 exemplified on Figure 1 comprises at least one controller 1020, a plurality of valve modules 1030, a compressed air alimentation bus 1040 and a communication bus 1050.
  • the compressed air alimentation bus interconnects the controller 1020 to the valve modules 1030.
  • activated muscles 1060 are depicted using a first tone while non-activated muscles are depicted in a second tone 1030.
  • FIG. 1 present exemplary advantages over traditional structures that may include increased reliability; higher impact tolerance, lower number of moving parts, greater failure tolerance, higher degree of safety for human-machine interaction and lower production costs.
  • the present invention focuses on control for robot architectures that use binary and/or discrete actuators.
  • the robot architecture presents a large number of redundant actuators that are simple, lightweight, cheap and miniaturizable.
  • a binary actuator has only two states (on/off).
  • a discrete actuator has a limited number of states (e.g., on/off and one or more intermediate states).
  • the present invention takes into consideration that an analytical model that accurately describes robot behavior is difficult to obtain for flexible body robot architectures.
  • each Degrees of Freedom (DOF) will likely be affected by more than one binary or discrete actuator.
  • DOF Degrees of Freedom
  • High-repeatability open-loop robots that can be modeled through perfectly constrained systems usually present one actuator per DOF.
  • Open-loop strategies are limited when it comes to controlling flexible architecture robots that are difficult to model accurately. Open-loop control also presets shortcomings in manufacturing errors and hysteresis. A closed- loop approach is deemed necessary to reject model uncertainties and external perturbations for the control of flexible architecture robots.
  • the present invention while it may be applicable to a single DOF, aims at being applicable to the larger context of multiple DOFs. Likewise, the present invention, while it may be used with identical binary actuators, aims at being applicable to flexible architectures comprising binary actuators of different characteristics. The present invention, could also be used with identical discrete actuators or a mix of binary and/or discrete actuators of different characteristics.
  • the present invention focuses on a closed-loop control scheme based on influence vectors.
  • the closed-loop control scheme may be used in a static scheme for point-to- point tasks (e.g., position control) and may also be used in a dynamic scheme for tracking tasks (e.g., motion control).
  • An influence vector may be defined as a vectorial quantity (e.g., a position or a force) resulting from the action of an individual binary actuator or a solidarized group of binary actuators. In the following discussion, binary actuators are discussed. Skilled persons will readily understand that the influence vectors could also be determined for discrete actuators in replacement or in addition to binary actuators.
  • the influence vectors may be identified during a calibration phase that may occur, for instance, during an initial start-up calibration or following different routine events (planned maintenance or due to detected inconsistencies).
  • the purpose of the calibration phase is to identify the resulting impact of the activation of a single binary actuator or of multiple binary actuators that are expected to be activated together in a given robot architecture.
  • activation of a binary actuator Skilled persons will readily understand that the present invention is also applicable to robot architecture presenting groups of binary actuators being activated together.
  • the calibration phase may involve sequentially activating each of the binary actuators to measure a corresponding influence vector.
  • an update phase of the influence vectors may also take place based on a comparison between the instruction and the resulting displacement.
  • the update phase of the influence vectors could be performed, for instance, on an ongoing basis (e.g., on each displacement, periodically or at given maintenance events) or may be performed upon determination of a change in the range of error.
  • the calibration phase may further be replaced with provision of a theoretical model, which will then be complemented and adjusted through the update phase.
  • a state vector x 0 describing the controlled DOF 0 is chosen .
  • FIG. 2 a planar manipulator 2000 is depicted with a static influence vector on the left and the corresponding force influence vector on the right.
  • An influence vector d k is determine from the individual steady-state effect of the binary actuator k on the state vector x 0 :
  • each influence vector consists of the corresponding force quantities f k that is best determined when the end effectors of the robot are constrained, i.e., when the robot is immobilized (see Figure 2 on the right).
  • One exemplary embodiment involves a static control scheme.
  • the static control scheme (or static control technique) focuses on reaching a setpoint or final desired position and does not specifically focus on the path taken.
  • the scheme is referred to as a static control scheme because actuator inputs u are changed when a steady state is reached.
  • a static state error x e is defined as the difference between the desired (or target, set point) state vector x d and a current state vector x.
  • Figure 3 illustrates the static control scheme where an algorithm searches an optimal combination of binary actuators to recruit in order to correct the static state error:
  • u is the actuator input vector that indicates which of the binary actuator is currently activated (or recruited) and b is the switch vector that indicates which of the binary actuators is to be recruited or affected (added or removed from the activated binary actuators).
  • Equation 8 x(n + 1) « x(n) + J b
  • the matrix J constructed with all the updated influence vectors j k , is the Jacobian matrix of the state vector x over the switch vector b.
  • the exemplary static control scheme aims at finding a switch vector b that will create a state change ⁇ equal to the static error x e .
  • b was a regular vector it would be computed from:
  • Equation 9 presents an infinite number of solution where there are more actuators then states.
  • the output b of this optimization is then used to update the actuator inputs u of the robot to correct its states. Corrections are computed using local linear approximations and are not perfect. Therefore, corrections are performed iteratively until the error becomes acceptable. Moreover, the iterative process makes the static control scheme behave like an integral action, i.e., if an error is persistent then at each iteration the controller recruits more binary actuators to fight it until all useful binary actuators have been recruited. This is expected to make the controller very robust to perturbations. Skilled person will notice that stabilization of the robot is preferred between each iterative correction to provide the best results. However, the robot is not required to be completely stabilized for the present invention to function.
  • Controller iterations will converge while the linear approximation a remains a good approximation of the system behavior.
  • the feedback linearization loop j k (u; x) might be necessary to keep the approximations pointing in the right direction to ensure convergence.
  • the controller could enter limit cycles (i.e., the mathematical system cannot be expected to continue to converge to a better solution). This may happen when the actual position gets very close to the target position. For instance, this may happen when the error x e , and thus computed corrections, gets in the range of the approximation error ⁇ 3.
  • the approximation error e a is defined as the difference between the effective state change ⁇ and the approximation a such that:
  • next state error x e (n + 1) can then be expressed as minus the sum of the resolution error ⁇ ⁇ and approximation error ⁇ 3 :
  • Figure 4 conceptually illustrates a resolution error vector sr and approximation error vector ea These vectors are illustrated for a two dimension state space in Fig 4.
  • e a is the only unknown variable. If ⁇ 3 can be bounded, a zone can be defined in the state space where x(n+1) is guaranteed to be in (see Figure 4). Then, if every points of this zone are closer to the target x d than the actual state x(n), convergence of the next iteration is guaranteed.
  • max on approximation errors can be assessed theoretically or experimentally. This bound with Equation 13 can be used as a stopping criterion for iterations and also to predict the accuracy of the controller during the design phase.
  • Defining a fixed upper bound for the error may lead to very conservative convergence criterions.
  • a probabilistic assessment of the system evolution can lead to more appropriate criterions. For example, instead of an upper bound
  • Approximation errors z a are likely going to be greater for corrections that involve many binary actuators. It is expected that the higher number of binary actuators will cause bigger system changes.
  • the approximation errors ⁇ 3 are also built by adding influence vectors without taking into account coupled effects.
  • ma x, or ⁇ ⁇ could be defined as functions of the number of binary actuators that are changing state during the iteration.
  • the search algorithm can then, not only optimize the accuracy of the correction ⁇ ⁇ , but can also optimize the precision of the correction,
  • the update phase of the influence vectors may be performed from historical data.
  • the vector c can be obtained from the vectors u and j :
  • n is the number of displacements included in the equation system for m binary actuators.
  • the displacement vectors ⁇ Ax and d) have multiple variables, which are considered by transforming these vectors in corresponding matrixes:
  • n may be set to a predetermined value or adjusted dynamically (e.g., based on determined error range).
  • An additional weight factor may further be given to the each of the n displacements so that newer displacements have a greater impact on the influence vectors than older ones.
  • binary actuators are recruited as displacement sources.
  • An exemplary dynamic control scheme can also be determined on a similar basis. In the dynamic control scheme, the binary actuators are seen as force sources.
  • a controller that does not need a search algorithm may be proposed. It is hereinafter referred to as a bang-bang implementation of a sliding mode controller.
  • a surface vector s is computed as a weighted sum of the state error vector and its derivative:
  • the exemplary bang-bang controller is interesting because it eliminates the need for search algorithms that require more resources and may be harder to implement in real-time controllers.
  • the controller determines on a continuous basis (e.g., in real-time or near real-time), for each binary actuator, if a force influence vector f k for a given binary actuator points in the direction of the surface error vector s (i.e., equation 21 ). If it is the case, then the corresponding binary actuator is recruited. Otherwise, the corresponding binary actuator is not recruited. Only the directions of the influence vectors are considered. Hence, if the system is isotropic, the displacement influence vectors j k can be use directly.
  • Figure 5 presents an exemplary device 5010 for controlling a plurality of binary actuators (not shown) in a robot 5020.
  • the device 5010 comprises at least one controller 5012 that (i) receives a setpoint command for the robot 5020 comprising a setpoint for at least one end effector of the robot 5020, (ii) obtains a current state of the robot 5020 and (iii) sends an actuator command that causes a group of at least one binary actuator from the plurality of binary actuators to be activated for reducing the distance between the current state and the setpoint.
  • the setpoint may represent a desired position of the end effector of the robot 5020 and the current state may represent an actual position of the end effector of the robot 5020.
  • the controller 5012 after waiting a period of time for the robot 5020 to stabilize, may iteratively repeat (ii) and (iii) by adding an additional binary actuator from the plurality of binary actuators to the group at each iteration for reducing the distance between the current state and the setpoint.
  • the controller 5012 may alternatively repeat (i) to (iii) by revising which of the plurality of binary actuators should be in the group for reducing the distance between the current state and the setpoint.
  • the at least one controller 5012 may comprise a first controller (not shown) controlling a first subset of the group that sends a first actuator command and a second controller (not shown) controlling a second subset of the group that sends a second actuator command and the current state may be distributed to the first and to the second controller before sending the first and the second actuator commands.
  • the controller 5012 prior to sending the actuator command, may further obtain a plurality of influence vectors, each of the plurality of influence vectors indicating an expected effect on the robot 5020 from activation of a corresponding binary actuator from the plurality of binary actuators.
  • the controller 5012 may then determine the group of binary actuator to be activated by identifying at least one corresponding influence vector from the plurality of influence vectors for which the corresponding expected effect reduces the distance between the current state and the setpoint.
  • the controller 5012 may obtain the plurality of influence vectors during a calibration phase of the robot 5020 by measuring the effect of the activation of the corresponding binary actuator on the end effector of the robot 5020.
  • the controller 5012 may also update the plurality of influence vectors after sending the actuator command by analyzing an actual effect of the actuator command with regards to the group of at least one binary actuators having been activated.
  • the actuator command may comprise instructions to toggle the state of the binary actuator to be activated (i.e., the actuator command indicates which actuators are to be turned on, which are to be turned off and which ones are unaffected, which may be the result of an XOR function).
  • the actuator command may represent a plurality of voltages associated to the plurality of binary actuators.
  • the controller 5012 may obtain the current state of the robot 5020 by determining an actual position of the end effector using at least one camera, using at least one potentiometer and/or at least one reading from a magnetic resonance imaging system.
  • Figure 6 presents a first exemplary flowchart of a method 6000 for controlling a robot comprising a plurality of binary actuators.
  • the method 6000 comprises (a) receiving a setpoint command for the robot comprising a setpoint for at least one end effector of the robot 2010, (b) obtaining a current state of the robot 2020, (c) activating a group of at least one binary actuator from the plurality of binary actuators for reducing the distance between the current state and the setpoint 2030 and (d) repeating 2020 (b) and (c) 2030 until a stopping criterion 2040 is reached.
  • Figure 7 presents a second exemplary flowchart of a method 7000 for controlling a robot comprising a plurality of binary actuators.
  • the method 7000 comprises (a) obtaining a current state of the robot 3010, (b) receiving a setpoint command for the robot comprising a setpoint for at least one end effector of the robot 3020, (c) activating a group of at least one binary actuator from the plurality of binary actuators for reducing the distance between the current state and the setpoint 3030 and (d) repeating (a) 3010 to (c) 3030 until the end effector(s) stabilizes or until a stopping criterion 3040 is reached.
  • the setpoint may represent a desired position of the end effector of the robot and the current state may represent an actual position of the at least one end effector of the robot.
  • the method may further comprise obtaining a plurality of influence vectors, each of the plurality of influence vectors indicating an expected effect on the robot from activation of a corresponding binary actuator from the plurality of binary actuators.
  • Activating the binary actuator may then comprise identifying at least one corresponding influence vector from the plurality of influence vectors for which the corresponding expected effect reduces the distance between the current state and the setpoint.
  • the plurality of influence vectors may be obtained during a calibration phase of the robot by measuring the effect of the activation of the corresponding binary actuator on the at least one end effector of the robot.
  • the method may also further comprise updating the plurality of influence vectors after activating the group of binary actuators by analyzing an actual effect with regards to the group of binary actuators having been activated.
  • a method is generally conceived to be a self-consistent sequence of steps leading to a desired result. These steps require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, parameters, items, elements, objects, symbols, characters, terms, numbers, or the like. It should be noted, however, that all of these terms and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. The description of the present invention has been presented for purposes of illustration but is not intended to be exhaustive or limited to the disclosed embodiments.

Abstract

A device and methods for controlling a robot with a plurality of binary and/or discrete actuators. A controller receives a setpoint command for an end effector of the robot, obtains a current state of the robot and sends an actuator command that causes a group of at least one actuator from the plurality of actuators to be activated for reducing the distance between the current state and the setpoint. The controller may further obtain a plurality of influence vectors, each of the influence vectors indicating an expected effect on the robot from activation of a corresponding actuator. The controller may then determine the group of actuator to be activated by identifying at least one corresponding influence vector from the plurality of influence vectors for which the corresponding expected effect reduces the distance between the current state and the setpoint.

Description

CONTROL OF ACTUATORS IN A ROBOT
Technical Field
[0001] The present invention relates to control of robots having binary or discrete actuators and, more particularly, to control of robots having binary or discrete actuators for which a model cannot be easily obtained.
Background
[0002] Traditional robotics evolved around the electric motor-gear box-joint paradigm.
Today's robots are fast and accurate for positioning tasks, such as painting and welding in automotive industry. However, modern robotic systems still display limited performances because of their higher inertia and stiffer position-controlled actuators.
[0003] New actuation technologies and robot architectures are being developed, but still lack control mechanisms. The present invention addresses this shortcoming.
Summary
[0004] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[0005] A first aspect of the present invention is directed to a device for controlling a plurality of actuators in a robot. The device comprises at least one controller that (i) receives a setpoint command for the robot comprising a setpoint for at least one end effector of the robot, (ii) obtains a current state of the robot and (iii) sends an actuator command that causes a group of at least one actuator from the plurality of actuators to be activated for reducing the distance between the current state and the setpoint.
[0006] The setpoint may represent a desired position of the end effector of the robot and the current state may represent an actual position of the end effector of the robot.
[0007] The controller, after waiting a period of time for the robot to stabilize, may iteratively repeat (ii) and (iii) by adding an additional actuator from the plurality of actuators to the group at each iteration for reducing the distance between the current state and the setpoint. [0008] The controller may alternatively repeat (i) to (iii) by revising which of the plurality of actuators should be in the group for reducing the distance between the current state and the setpoint.
[0009] The at least one controller may comprise a first controller controlling a first subset of the group that sends a first actuator command and a second controller controlling a second subset of the group that sends a second actuator command and the current state may be distributed to the first and to the second controller before sending the first and the second actuator commands.
[0010] The controller, prior to sending the actuator command, may further obtain a plurality of influence vectors, each of the plurality of influence vectors indicating an expected effect on the robot from activation of a corresponding actuator from the plurality of actuators. The controller may then determine the group of actuator to be activated by identifying at least one corresponding influence vector from the plurality of influence vectors for which the corresponding expected effect reduces the distance between the current state and the setpoint. The controller may obtain the plurality of influence vectors during a calibration phase of the robot by measuring the effect of the activation of the corresponding actuator on the end effector of the robot.
[0011] The controller may also update the plurality of influence vectors after sending the actuator command by analyzing an actual effect of the actuator command with regards to the group of at least one actuators having been activated. [0012] The actuator command may comprise instructions to toggle the state of the actuator to be activated (i.e., the actuator command indicates which actuators are to be turned on, which are to be turned off and which ones are unaffected, which may be the result of an XOR function). The actuator command may represent a plurality of voltages associated to the plurality of actuators. [0013] The controller may obtain the current state of the robot by determining an actual position of the end effector using at least one camera, using at least one potentiometer and/or at least one reading from a magnetic resonance imaging system. Optionally, the plurality of actuators may comprise at least one binary actuator and/or at least one discrete actuator.
[0014] A second aspect of the present invention is directed to a method for controlling a robot comprising a plurality of actuators. The method comprises (a) receiving a setpoint command for the robot comprising a setpoint for at least one end effector of the robot, (b) obtaining a current state of the robot, (c) activating a group of at least one actuator from the plurality of actuators for reducing the distance between the current state and the setpoint and (d) repeating (b) and (c) until a stopping criterion is reached. [0015] A third aspect of the present invention is directed to a method for controlling a robot comprising a plurality of actuators. The method comprises (a) obtaining a current state of the robot, (b) receiving a setpoint command for the robot comprising a setpoint for at least one end effector of the robot, (c) activating a group of at least one actuator from the plurality of actuators for reducing the distance between the current state and the setpoint and (d) repeating (a) to (c) until the at end effector(s) stabilizes or until a stopping criterion is reached.
[0016] In the second or third aspect of the invention, the setpoint may represent a desired position of the end effector of the robot and the current state may represent an actual position of the at least one end effector of the robot.
[0017] The method in accordance with the second or third aspect of the method may further comprise obtaining a plurality of influence vectors, each of the plurality of influence vectors indicating an expected effect on the robot from activation of a corresponding actuator from the plurality of actuators. Activating the actuator may then comprise identifying at least one corresponding influence vector from the plurality of influence vectors for which the corresponding expected effect reduces the distance between the current state and the setpoint. The plurality of influence vectors may be obtained during a calibration phase of the robot by measuring the effect of the activation of the corresponding actuator on the at least one end effector of the robot. The method may also further comprise updating the plurality of influence vectors after activating the group of actuators by analyzing an actual effect with regards to the group of actuators having been activated. Optionally, the plurality of actuators may comprise at least one binary actuator and/or at least one discrete actuator.
Brief description of the drawings
[0018] Further features and exemplary advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the appended drawings, in which: [0019] Figure 1 is a logical representation of an exemplary soft pneumatic robot in accordance with the teachings of the present invention; [0020] Figure 2 is a logical representation of an exemplary soft planar manipulator in accordance with the teachings of the present invention;
[0021] Figure 3 is a flow chart an exemplary method in accordance with the teachings of the present invention; [0022] Figure 4 is a logical representation of a resolution error vector sr and approximation error vector ea in accordance with the teachings of the present invention;
[0023] Figure 5 is a logical modular representation of a device in accordance with the teachings of the present invention;
[0024] Figure 6 is a first flow chart of a first exemplary method in accordance with the teachings of the present invention; and
[0025] Figure 7 is a second flow chart of a second exemplary method in accordance with the teachings of the present invention.
Detailed description
[0026] The present invention allows improved control of a robot architecture with a flexible structure including several active elements (e.g., cellular-like actuators). An example of robot architecture that would benefit from the present invention is presented in the provisional patent application number 61/373,046, the non-provisional patent applications number US 13/207,599 and US 13/816,437, and the international patent application number PCT/CA2011/000920, herein incorporated by reference. For instance, the active elements could take advantage of shape memory alloys actuators, air-muscles, dielectric actuators, piezoelectric actuators and bio-artificial muscle. For instance, air-muscles may present actuators with stress- strain characteristics within the human motion range.
[0027] Reference is now made to the drawings in which Figure 1 shows a soft pneumatic robot concept which consists in a soft polymer body 1010 with a large number of cavities, or muscles, 1030, 1060 acting as pneumatic actuators. The robot 1000 exemplified on Figure 1 comprises at least one controller 1020, a plurality of valve modules 1030, a compressed air alimentation bus 1040 and a communication bus 1050. The compressed air alimentation bus interconnects the controller 1020 to the valve modules 1030. In the example of Figure 1 , activated muscles 1060 are depicted using a first tone while non-activated muscles are depicted in a second tone 1030.
[0028] The architecture illustrated in Figure 1 present exemplary advantages over traditional structures that may include increased reliability; higher impact tolerance, lower number of moving parts, greater failure tolerance, higher degree of safety for human-machine interaction and lower production costs.
[0029] The present invention focuses on control for robot architectures that use binary and/or discrete actuators. In some embodiments, the robot architecture presents a large number of redundant actuators that are simple, lightweight, cheap and miniaturizable. A binary actuator has only two states (on/off). A discrete actuator has a limited number of states (e.g., on/off and one or more intermediate states). The present invention takes into consideration that an analytical model that accurately describes robot behavior is difficult to obtain for flexible body robot architectures. In addition, the present invention takes into consideration that each Degrees of Freedom (DOF) will likely be affected by more than one binary or discrete actuator. [0030] High-repeatability open-loop robots that can be modeled through perfectly constrained systems usually present one actuator per DOF. Open-loop strategies are limited when it comes to controlling flexible architecture robots that are difficult to model accurately. Open-loop control also presets shortcomings in manufacturing errors and hysteresis. A closed- loop approach is deemed necessary to reject model uncertainties and external perturbations for the control of flexible architecture robots. The present invention, while it may be applicable to a single DOF, aims at being applicable to the larger context of multiple DOFs. Likewise, the present invention, while it may be used with identical binary actuators, aims at being applicable to flexible architectures comprising binary actuators of different characteristics. The present invention, could also be used with identical discrete actuators or a mix of binary and/or discrete actuators of different characteristics.
[0031] The present invention focuses on a closed-loop control scheme based on influence vectors. The closed-loop control scheme may be used in a static scheme for point-to- point tasks (e.g., position control) and may also be used in a dynamic scheme for tracking tasks (e.g., motion control). [0032] An influence vector may be defined as a vectorial quantity (e.g., a position or a force) resulting from the action of an individual binary actuator or a solidarized group of binary actuators. In the following discussion, binary actuators are discussed. Skilled persons will readily understand that the influence vectors could also be determined for discrete actuators in replacement or in addition to binary actuators. While the mathematical system would have to consider a vector containing more expected values, the resolution of the system is expected to use the same mechanism. The influence vectors may be identified during a calibration phase that may occur, for instance, during an initial start-up calibration or following different routine events (planned maintenance or due to detected inconsistencies). The purpose of the calibration phase is to identify the resulting impact of the activation of a single binary actuator or of multiple binary actuators that are expected to be activated together in a given robot architecture. In the following description, reference will be made to activation of a binary actuator. Skilled persons will readily understand that the present invention is also applicable to robot architecture presenting groups of binary actuators being activated together. The calibration phase may involve sequentially activating each of the binary actuators to measure a corresponding influence vector. [0033] In some embodiments, an update phase of the influence vectors may also take place based on a comparison between the instruction and the resulting displacement. The update phase of the influence vectors could be performed, for instance, on an ongoing basis (e.g., on each displacement, periodically or at given maintenance events) or may be performed upon determination of a change in the range of error. In certain implementation, the calibration phase may further be replaced with provision of a theoretical model, which will then be complemented and adjusted through the update phase.
[0034] In the example of a static control scheme, a state vector x0 describing the controlled DOF 0 is chosen .
[0035] On Figure 2, a planar manipulator 2000 is depicted with a static influence vector on the left and the corresponding force influence vector on the right. An influence vector dk is determine from the individual steady-state effect of the binary actuator k on the state vector x0:
Equation 1 : dk = xk - x0
[0036] where xk is the state vector when only actuator k is activated and x0 is the state vector when all actuators are off. [0037] In the example of a dynamic control scheme, each influence vector consists of the corresponding force quantities fk that is best determined when the end effectors of the robot are constrained, i.e., when the robot is immobilized (see Figure 2 on the right).
[0038] Although possible, it is not always practical to experimentally evaluate the force vectors fk directly. In such cases, displacement influence vectors dk of a system can be related to its force vectors fk by a stiffness matrix (fk = K dk) that establishes a relation between displacement and force, assuming a linear system.
[0039] One exemplary embodiment involves a static control scheme. The static control scheme (or static control technique) focuses on reaching a setpoint or final desired position and does not specifically focus on the path taken. The scheme is referred to as a static control scheme because actuator inputs u are changed when a steady state is reached.
[0040] A static state error xe is defined as the difference between the desired (or target, set point) state vector xd and a current state vector x. Figure 3 illustrates the static control scheme where an algorithm searches an optimal combination of binary actuators to recruit in order to correct the static state error:
Equation 2: xe = xd - x
[0041] The system evolution, from one steady state to another, is described by a set of difference equations:
Equation 3: x(n + 1) = x(n) +Δχ Equation 4: u(n + 1) = b Θ u(n)
[0042] where u is the actuator input vector that indicates which of the binary actuator is currently activated (or recruited) and b is the switch vector that indicates which of the binary actuators is to be recruited or affected (added or removed from the activated binary actuators).
[0043] In the exemplary static control scheme, a superposition principle is used to compute a linear approximation of state variations Δχ for combinations of switching actuators b, adding the corresponding influence vectors. The influence vectors dk is updated first to account that, when a binary actuator is already on, the only possible action is going back to the off state. Hence, updated influence vectors jk are computed: [ + dk if ub = 0
Equation 5: jk (uk) = { k
[- dk if u, = l
[0044] If the system is linear, the effect of activating a binary actuator is the same everywhere in the state space of the system and independent of the other binary actuator inputs. However, if the system as some nonlinearities, the influence vectors could be corrected using the state vector and the actuation vector, i.e., jk = f(u, x). The correction, if required, would have a linearization effect on the system.
[0045] An approximation a of the state changes Δχ for a given switch vector b can be obtained:
Equation 6: Δχ « a(b) =∑ bkjk [0046] Using a linear algebra form, equation 6 becomes:
Equation 7: a = J b with J = [ji .. JR...jm]
[0047] Hence, the system evolution can be predicted:
Equation 8: x(n + 1) « x(n) + J b
[0048] It is interesting to note that the matrix J, constructed with all the updated influence vectors jk, is the Jacobian matrix of the state vector x over the switch vector b. The influence vectors can be interpreted as an experimental evaluation of this Jacobian matrix around x = 0 and u = 0.
[0049] The exemplary static control scheme, however, aims at finding a switch vector b that will create a state change Δχ equal to the static error xe. Hence, if b was a regular vector it would be computed from:
Equation 9: b = J1 xe
[0050] Equation 9, however, presents an infinite number of solution where there are more actuators then states. The system also has to consider that each element of b can only take a value of 0 or 1 and that the solution set is discrete and finite (2m possible b vector where m is the number of binary actuators). Hence, there is no exact solution. Instead a solution is computed by minimizing the resolution error εΓ defined as the distance to a perfect correction : Equation 10: εΓ = J b - xe
[0051] To minimize εΓ under the binary constraint for b, the forward solution space can be explored using a search algorithm. From experiments, it has been shown that an exhaustive search starts to be too long when the number of binary actuators is higher than 12. However, when the binary actuators are numerous, there will be many good enough solutions and an optimization algorithm would be expected to find one quickly. Examples of search and optimization algorithms include genetic algorithms or other evolutionary algorithms.
[0052] The output b of this optimization is then used to update the actuator inputs u of the robot to correct its states. Corrections are computed using local linear approximations and are not perfect. Therefore, corrections are performed iteratively until the error becomes acceptable. Moreover, the iterative process makes the static control scheme behave like an integral action, i.e., if an error is persistent then at each iteration the controller recruits more binary actuators to fight it until all useful binary actuators have been recruited. This is expected to make the controller very robust to perturbations. Skilled person will notice that stabilization of the robot is preferred between each iterative correction to provide the best results. However, the robot is not required to be completely stabilized for the present invention to function.
[0053] Controller iterations will converge while the linear approximation a remains a good approximation of the system behavior. For highly non-linear systems, the feedback linearization loop jk(u; x) might be necessary to keep the approximations pointing in the right direction to ensure convergence.
[0054] Without a stopping criterion, the controller could enter limit cycles (i.e., the mathematical system cannot be expected to continue to converge to a better solution). This may happen when the actual position gets very close to the target position. For instance, this may happen when the error xe, and thus computed corrections, gets in the range of the approximation error ε3. The approximation error ea is defined as the difference between the effective state change Δχ and the approximation a such that:
Equation 1 1 : Δχ = x(n + 1) - x(n) = a + £a
[0055] The next state error xe(n + 1) can then be expressed as minus the sum of the resolution error εΓ and approximation error ε3 :
Equation 12: xe(n + 1) = xd - x(n + 1) = -(zr + za) [0056] Figure 4 conceptually illustrates a resolution error vector sr and approximation error vector ea These vectors are illustrated for a two dimension state space in Fig 4.
[0057] In order to have a guaranteed convergence, the norm of the sum of both errors must be bounded and inferior to the actual state error: Equation 13: || xe(n) || > || er + £a || max
[0058] In this example, ea is the only unknown variable. If ε3 can be bounded, a zone can be defined in the state space where x(n+1) is guaranteed to be in (see Figure 4). Then, if every points of this zone are closer to the target xd than the actual state x(n), convergence of the next iteration is guaranteed. An upper bound || ea || max on approximation errors can be assessed theoretically or experimentally. This bound with Equation 13 can be used as a stopping criterion for iterations and also to predict the accuracy of the controller during the design phase.
[0059] Defining a fixed upper bound for the error may lead to very conservative convergence criterions. As an alternative, a probabilistic assessment of the system evolution can lead to more appropriate criterions. For example, instead of an upper bound || ε31| max> a standard deviation of the approximation error σε can be used as the measure of dispersion. Then, assuming independent and normal distributions of error on each DOF, the absolute convergence probability can be evaluated and used as a stopping criterion.
[0060] Approximation errors za are likely going to be greater for corrections that involve many binary actuators. It is expected that the higher number of binary actuators will cause bigger system changes. The approximation errors ε3 are also built by adding influence vectors without taking into account coupled effects. Hence, measures of dispersions, || ea || max, or σε, could be defined as functions of the number of binary actuators that are changing state during the iteration. The search algorithm can then, not only optimize the accuracy of the correction εΓ, but can also optimize the precision of the correction, |^a || max, or σε, by minimizing the number of binary actuators. For instance, this may be done by specifying a target area and optimizing the probability of arriving in this area. Other positive effects of a minimization of the number of binary actuators involve may also be obtained, such as a reduction of energy consumption and a reduction of mechanical cycling.
[0061] The update phase of the influence vectors, as discussed previously, may be performed from historical data. To facilitate the mathematical expression of the update phase, a control vector c is used: when a binary actuator k changes from 0 to 1 , ck = 1, when the binary actuator k changes from 1 to 0, ck = -1, and when the binary actuator k does not change state, 0. The vector c can be obtained from the vectors u and j :
Equation 14: c = diag (b)(1-2u) [0062] With control vector c, the linear approximation of the influence vectors are expressed as:
Equation 15: Ax = ckdk
[0063] or
Figure imgf000012_0001
[0064] It is then possible to group several displacement equations in an equation system:
Figure imgf000012_0002
[0065] Where n is the number of displacements included in the equation system for m binary actuators. The displacement vectors {Ax and d) have multiple variables, which are considered by transforming these vectors in corresponding matrixes:
Figure imgf000013_0001
Equation 18:
ADT = X
[0066] where / is the number of DOFs in the system. So, the matrix D contains ail the influence vectors, the matrix A contains information on the commands sent and the matrix X contains information on displacements measured for the n displacements. When n > m, the system of equations is over-constrained and the matrix D cannot be resolved by simple inversion. Nevertheless, an approximation of the matrix D expressed as D can be obtained through the method of least squares:
Equation §: D = ({AT Ay1 AT X)r
[0067] As such, for a series of n displacements, it is possible to identify the influence vectors D that provide the best match with historical data. The number n may be set to a predetermined value or adjusted dynamically (e.g., based on determined error range). An additional weight factor may further be given to the each of the n displacements so that newer displacements have a greater impact on the influence vectors than older ones.
[0068] For the exemplary static control scheme, binary actuators are recruited as displacement sources. An exemplary dynamic control scheme can also be determined on a similar basis. In the dynamic control scheme, the binary actuators are seen as force sources.
[0069] A controller that does not need a search algorithm may be proposed. It is hereinafter referred to as a bang-bang implementation of a sliding mode controller. Firstly, a surface vector s is computed as a weighted sum of the state error vector and its derivative:
Equation 20: s = e + ^ x e
[0070] Secondly, it is assumed that the actuator force vectors fk are numerous and diverse. The control law that force s to zero can then be defined as: Equation 21 : bk =
Figure imgf000014_0001
[0071] The exemplary bang-bang controller is interesting because it eliminates the need for search algorithms that require more resources and may be harder to implement in real-time controllers. [0072] In the example of the dynamic control scheme, the controller determines on a continuous basis (e.g., in real-time or near real-time), for each binary actuator, if a force influence vector fk for a given binary actuator points in the direction of the surface error vector s (i.e., equation 21 ). If it is the case, then the corresponding binary actuator is recruited. Otherwise, the corresponding binary actuator is not recruited. Only the directions of the influence vectors are considered. Hence, if the system is isotropic, the displacement influence vectors jk can be use directly. Otherwise, a conversion to force will likely be required, which involves a stiffness matrix K. Moreover, since the decision to recruit a given binary actuator is independent for each binary actuator, an option would be to broadcast the error vector to decentralized controllers, which could each control a single binary actuator or a group of binary actuators. [0073] Figure 5 presents an exemplary device 5010 for controlling a plurality of binary actuators (not shown) in a robot 5020. The device 5010 comprises at least one controller 5012 that (i) receives a setpoint command for the robot 5020 comprising a setpoint for at least one end effector of the robot 5020, (ii) obtains a current state of the robot 5020 and (iii) sends an actuator command that causes a group of at least one binary actuator from the plurality of binary actuators to be activated for reducing the distance between the current state and the setpoint. The setpoint may represent a desired position of the end effector of the robot 5020 and the current state may represent an actual position of the end effector of the robot 5020.
[0074] The controller 5012, after waiting a period of time for the robot 5020 to stabilize, may iteratively repeat (ii) and (iii) by adding an additional binary actuator from the plurality of binary actuators to the group at each iteration for reducing the distance between the current state and the setpoint.
[0075] The controller 5012 may alternatively repeat (i) to (iii) by revising which of the plurality of binary actuators should be in the group for reducing the distance between the current state and the setpoint. [0076] The at least one controller 5012 may comprise a first controller (not shown) controlling a first subset of the group that sends a first actuator command and a second controller (not shown) controlling a second subset of the group that sends a second actuator command and the current state may be distributed to the first and to the second controller before sending the first and the second actuator commands.
[0077] The controller 5012, prior to sending the actuator command, may further obtain a plurality of influence vectors, each of the plurality of influence vectors indicating an expected effect on the robot 5020 from activation of a corresponding binary actuator from the plurality of binary actuators. The controller 5012 may then determine the group of binary actuator to be activated by identifying at least one corresponding influence vector from the plurality of influence vectors for which the corresponding expected effect reduces the distance between the current state and the setpoint. The controller 5012 may obtain the plurality of influence vectors during a calibration phase of the robot 5020 by measuring the effect of the activation of the corresponding binary actuator on the end effector of the robot 5020. [0078] The controller 5012 may also update the plurality of influence vectors after sending the actuator command by analyzing an actual effect of the actuator command with regards to the group of at least one binary actuators having been activated.
[0079] The actuator command may comprise instructions to toggle the state of the binary actuator to be activated (i.e., the actuator command indicates which actuators are to be turned on, which are to be turned off and which ones are unaffected, which may be the result of an XOR function). The actuator command may represent a plurality of voltages associated to the plurality of binary actuators.
[0080] The controller 5012 may obtain the current state of the robot 5020 by determining an actual position of the end effector using at least one camera, using at least one potentiometer and/or at least one reading from a magnetic resonance imaging system.
[0081] Figure 6 presents a first exemplary flowchart of a method 6000 for controlling a robot comprising a plurality of binary actuators. The method 6000 comprises (a) receiving a setpoint command for the robot comprising a setpoint for at least one end effector of the robot 2010, (b) obtaining a current state of the robot 2020, (c) activating a group of at least one binary actuator from the plurality of binary actuators for reducing the distance between the current state and the setpoint 2030 and (d) repeating 2020 (b) and (c) 2030 until a stopping criterion 2040 is reached.
[0082] Figure 7 presents a second exemplary flowchart of a method 7000 for controlling a robot comprising a plurality of binary actuators. The method 7000 comprises (a) obtaining a current state of the robot 3010, (b) receiving a setpoint command for the robot comprising a setpoint for at least one end effector of the robot 3020, (c) activating a group of at least one binary actuator from the plurality of binary actuators for reducing the distance between the current state and the setpoint 3030 and (d) repeating (a) 3010 to (c) 3030 until the end effector(s) stabilizes or until a stopping criterion 3040 is reached. [0083] In the example of Figure 6 or Figure 7, the setpoint may represent a desired position of the end effector of the robot and the current state may represent an actual position of the at least one end effector of the robot. The method may further comprise obtaining a plurality of influence vectors, each of the plurality of influence vectors indicating an expected effect on the robot from activation of a corresponding binary actuator from the plurality of binary actuators. Activating the binary actuator may then comprise identifying at least one corresponding influence vector from the plurality of influence vectors for which the corresponding expected effect reduces the distance between the current state and the setpoint. The plurality of influence vectors may be obtained during a calibration phase of the robot by measuring the effect of the activation of the corresponding binary actuator on the at least one end effector of the robot. The method may also further comprise updating the plurality of influence vectors after activating the group of binary actuators by analyzing an actual effect with regards to the group of binary actuators having been activated.
[0084] A method is generally conceived to be a self-consistent sequence of steps leading to a desired result. These steps require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, parameters, items, elements, objects, symbols, characters, terms, numbers, or the like. It should be noted, however, that all of these terms and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. The description of the present invention has been presented for purposes of illustration but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiments were chosen to explain the principles of the invention and its practical applications and to enable others of ordinary skill in the art to understand the invention in order to implement various embodiments with various modifications as might be suited to other contemplated uses.

Claims

Claims
1. A device for controlling a plurality of actuators in a robot, the device comprising: (a) at least one controller that:
(i) receives a setpoint command for the robot comprising a setpoint for at least one end effector of the robot;
(ii) obtains a current state of the robot; and
(iii) sends an actuator command that causes a group of at least one actuator from the plurality of actuators to be activated for reducing the distance between the current state and the setpoint.
2. The device of claim 1 , wherein the setpoint represents a desired position of the at least one end effector of the robot and wherein the current state represents an actual position of the at least one end effector of the robot.
3. The device of claim 1 or claim 2, wherein the at least one controller, after waiting a period of time for the robot to stabilize, iteratively repeats (ii) and (iii) by adding an additional actuator from the plurality of actuators to the group at each iteration for reducing the distance between the current state and the setpoint.
4. The device of claim 1 or claim 2, wherein the at least one controller repeats (i) to (iii) by revising which of the plurality of actuators should be in the group for reducing the distance between the current state and the setpoint.
5. The device of any one of claims 1 to 5, wherein the at least one controller comprises a first controller controlling a first subset of the group that sends a first actuator command and a second controller controlling a second subset of the group that sends a second actuator command and wherein the current state is distributed to the first and to the second controller before sending the first and the second actuator commands.
6. The device of any one of claims 1 to 6, wherein the at least one controller, prior to sending the actuator command, further: (1) obtains a plurality of influence vectors, each of the plurality of influence vectors indicating an expected effect on the robot from activation of a corresponding actuator from the plurality of actuators; and
(2) determines the at least one actuator to be activated by identifying at least one corresponding influence vector from the plurality of influence vectors for which the corresponding expected effect reduces the distance between the current state and the setpoint.
7. The device of claim 6, wherein the at least one controller obtains the plurality of influence vectors during a calibration phase of the robot by measuring the effect of the activation of the corresponding actuator on the at least one end effector of the robot.
8. The device of claim 6 or claim 7, wherein the at least one controller updates the plurality of influence vectors after sending the actuator command by analyzing an actual effect of the actuator command with regards to the group of at least one actuators having been activated.
9. The device of any one of claims 1 to 8, wherein the actuator command comprises instructions to toggle the state of the at least one actuator to be activated.
10. The device of any one of claims 1 to 9, wherein the actuator command represents a plurality of voltages associated to the plurality of actuators.
11. The device of any one of claims 1 to 10, wherein the at least one controller obtains the current state of the robot by determining an actual position of the at least one end effector using at least one camera, using at least one potentiometer and/or at least one reading from a magnetic resonance imaging system.
12. The device of any one of claims 1 to 11 , wherein the plurality of actuators comprises at least one binary actuator and/or at least one discrete actuator.
13. A method for controlling a robot comprising a plurality of actuators, the method comprising: (a) receiving a setpoint command for the robot comprising a setpoint for at least one end effector of the robot;
(b) obtaining a current state of the robot;
(c) activating a group of at least one actuator from the plurality of actuators for reducing the distance between the current state and the setpoint; and
(d) repeating (b) and (c) until a stopping criterion is reached.
14. A method for controlling a robot comprising a plurality of actuators, the method comprising:
(a) obtaining a current state of the robot;
(b) receiving a setpoint command for the robot comprising a setpoint for at least one end effector of the robot;
(c) activating a group of at least one actuator from the plurality of actuators for reducing the distance between the current state and the setpoint;
(d) repeating (a) to (c) until the at least one end effector stabilizes or until a stopping criterion is reached.
15. The method of claim 13 or 14, wherein the setpoint represents a desired position of the at least one end effector of the robot and wherein the current state represents an actual position of the at least one end effector of the robot.
16. The method of any one of claims 13 to 15 further comprising obtaining a plurality of influence vectors, each of the plurality of influence vectors indicating an expected effect on the robot from activation of a corresponding actuator from the plurality of actuators, wherein activating the at least one actuator comprises identifying at least one corresponding influence vector from the plurality of influence vectors for which the corresponding expected effect reduces the distance between the current state and the setpoint. The method of claim 16, wherein the plurality of influence vectors are obtained during a calibration phase of the robot by measuring the effect of the activation of the corresponding actuator on the at least one end effector of the robot.
The device of claim 16 or claim 17, further comprising updating the plurality of influence vectors after activating the group of the at least one actuators by analyzing an actual effect with regards to the group of at least one actuators having been activated.
The method of any one of claims 13 to 18, wherein the plurality of actuators comprises at least one binary actuator and/or at least one discrete actuator.
PCT/CA2014/000404 2013-05-06 2014-05-06 Control of actuators in a robot WO2014179864A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361820113P 2013-05-06 2013-05-06
US61/820,113 2013-05-06

Publications (1)

Publication Number Publication Date
WO2014179864A1 true WO2014179864A1 (en) 2014-11-13

Family

ID=51866565

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2014/000404 WO2014179864A1 (en) 2013-05-06 2014-05-06 Control of actuators in a robot

Country Status (1)

Country Link
WO (1) WO2014179864A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107009386A (en) * 2017-05-10 2017-08-04 江苏大学 A kind of Multicarity joint for realizing soft robot spatial movement control
JP2018523584A (en) * 2015-07-13 2018-08-23 プレジデント アンド フェローズ オブ ハーバード カレッジ Distributed pressurization and discharge system for soft robots
CN108891496A (en) * 2018-06-19 2018-11-27 哈尔滨工程大学 A kind of pneumatically imitative earthworm soft robot
CN110244564A (en) * 2019-06-20 2019-09-17 清华大学深圳研究生院 A kind of sliding mode variable structure control method applied to gas drive soft robot
CN110722570A (en) * 2019-11-08 2020-01-24 清华大学深圳国际研究生院 Robot reconstruction control method and system and robot

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4860215A (en) * 1987-04-06 1989-08-22 California Institute Of Technology Method and apparatus for adaptive force and position control of manipulators
US5418441A (en) * 1990-12-28 1995-05-23 Fanuc, Ltd. Deflection correcting method for a robot
US5469756A (en) * 1991-10-10 1995-11-28 Siemens Aktiengesellschaft Flexible robot arm
US5523663A (en) * 1992-05-15 1996-06-04 Tsubakimoto Chain Co. Method for controlling a manipulator relative to a moving workpiece
US5751917A (en) * 1995-12-28 1998-05-12 Samsung Electronics Co., Ltd. Method and apparatus for controlling movements of a chip mounting robot
US20090287354A1 (en) * 2008-05-13 2009-11-19 Samsung Electronics Co., Ltd Robot and method of controlling cooperative work thereof
US8185243B2 (en) * 2009-07-02 2012-05-22 Panasonic Corporation Robot, control device for robot arm and control program for robot arm
WO2013148340A2 (en) * 2012-03-26 2013-10-03 President And Fellows Of Harvard College Systems and methods for providing flexible robotic actuators

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4860215A (en) * 1987-04-06 1989-08-22 California Institute Of Technology Method and apparatus for adaptive force and position control of manipulators
US5418441A (en) * 1990-12-28 1995-05-23 Fanuc, Ltd. Deflection correcting method for a robot
US5469756A (en) * 1991-10-10 1995-11-28 Siemens Aktiengesellschaft Flexible robot arm
US5523663A (en) * 1992-05-15 1996-06-04 Tsubakimoto Chain Co. Method for controlling a manipulator relative to a moving workpiece
US5751917A (en) * 1995-12-28 1998-05-12 Samsung Electronics Co., Ltd. Method and apparatus for controlling movements of a chip mounting robot
US20090287354A1 (en) * 2008-05-13 2009-11-19 Samsung Electronics Co., Ltd Robot and method of controlling cooperative work thereof
US8185243B2 (en) * 2009-07-02 2012-05-22 Panasonic Corporation Robot, control device for robot arm and control program for robot arm
WO2013148340A2 (en) * 2012-03-26 2013-10-03 President And Fellows Of Harvard College Systems and methods for providing flexible robotic actuators

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018523584A (en) * 2015-07-13 2018-08-23 プレジデント アンド フェローズ オブ ハーバード カレッジ Distributed pressurization and discharge system for soft robots
EP3322565A4 (en) * 2015-07-13 2019-03-20 President and Fellows of Harvard College Distributed pressurization and exhaust systems for soft robots
US10828788B2 (en) 2015-07-13 2020-11-10 President And Fellows Of Harvard College Distributed pressurization and exhaust systems for soft robots
CN107009386A (en) * 2017-05-10 2017-08-04 江苏大学 A kind of Multicarity joint for realizing soft robot spatial movement control
CN108891496A (en) * 2018-06-19 2018-11-27 哈尔滨工程大学 A kind of pneumatically imitative earthworm soft robot
CN108891496B (en) * 2018-06-19 2021-03-30 哈尔滨工程大学 Pneumatic earthworm-imitating soft robot
CN110244564A (en) * 2019-06-20 2019-09-17 清华大学深圳研究生院 A kind of sliding mode variable structure control method applied to gas drive soft robot
CN110244564B (en) * 2019-06-20 2022-01-11 清华大学深圳研究生院 Sliding mode variable structure control method applied to gas drive soft robot
CN110722570A (en) * 2019-11-08 2020-01-24 清华大学深圳国际研究生院 Robot reconstruction control method and system and robot
CN110722570B (en) * 2019-11-08 2021-10-29 清华大学深圳国际研究生院 Robot reconstruction control method and system and robot

Similar Documents

Publication Publication Date Title
Melingui et al. Adaptive neural network control of a compact bionic handling arm
WO2014179864A1 (en) Control of actuators in a robot
Huang et al. Echo state network based predictive control with particle swarm optimization for pneumatic muscle actuator
CN110809505A (en) Method and apparatus for performing movement control of robot arm
Jiang et al. Adaptive robust fuzzy control for dual arm robot with unknown input deadzone nonlinearity
Li et al. Deep reinforcement learning in soft viscoelastic actuator of dielectric elastomer
Gao et al. Model-free tracking control of continuum manipulators with global stability and assigned accuracy
Melingui et al. Adaptive algorithms for performance improvement of a class of continuum manipulators
Zebin et al. Modeling and Control of a Two-link Flexible Manipulator using Fuzzy Logic and Genetic Optimization Techniques.
Zhang et al. A quick position control strategy based on optimization algorithm for a class of first-order nonholonomic system
Wang et al. A multi-target trajectory planning of a 6-dof free-floating space robot via reinforcement learning
Zhang et al. A novel position-posture control method using intelligent optimization for planar underactuated mechanical systems
Li et al. A large-scale inflatable robotic arm toward inspecting sensitive environments: design and performance evaluation
Zhong et al. A new approach to modeling and controlling a pneumatic muscle actuator-driven setup using back propagation neural networks
Knani Dynamic modelling of flexible robotic mechanisms and adaptive robust control of trajectory computer simulation––Part I
Ozkan et al. Defining a neural network controller structure for a rubbertuator robot
Wang et al. A data-efficient model-based learning framework for the closed-loop control of continuum robots
US20210213605A1 (en) Robot control unit and method for controlling a robot
Mannani et al. A fuzzy Lyapunov-based control strategy for a macro–micro manipulator: Experimental results
Salini et al. LQP-based controller design for humanoid Whole-body motion
Thuruthel Machine learning approaches for control of soft robots
Nicolai et al. Learning to control reconfigurable staged soft arms
Girard et al. Applied control of binary robots based on influence vectors
JP2008305064A (en) Learning type control device and method thereof
Ansari et al. Point-to-point motion controller for soft robotic manipulators

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: 14795160

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: 14795160

Country of ref document: EP

Kind code of ref document: A1