Vibration control of systems with configuration dependent dynamics
AssigneeUniversal Robots A/S
InventorDan Kielsholm Thomsen
Life of this patent
Estimating the term…
Abstract
A method is provided for vibration suppression, which is useful in systems with configuration dependent dynamic parameters. The method is a general and practical solution for obtaining a set of inputs to a dynamic system, which will result in reduced vibrational behavior. A novel discrete time buffer implementation is employed, which yields reduced vibration due to a constant unity sum of applied impulses. The method includes shaping a position input with a continuously updated filter and using numerical differentiation to obtain consistent feedforward derivatives without phase shift.
Claims24
A method for generating inputs to a physical system having dynamic properties, the method comprising:
- at a time t, obtaining an input signal for the physical system;
- obtaining the dynamic properties of the physical system;
- providing an impulse train based on the dynamic properties, where the impulse train comprises a number of impulses;
- providing a modified input signal for the physical system based on the input signal and the impulse train;
- using the modified input signal as input for the physical system;
- and
- storing an input based on the input signal in a buffer, where the buffer also stores past inputs based on the input signal;
- wherein providing the modified input signal comprises convolving at least a part of content of the buffer with the impulse train;
- and
- wherein impulses of the impulse train have an impulse magnitude and an associated impulse delay, and wherein convolving at least part of the content of the buffer with the impulse train comprises multiplying each impulse magnitude with one of the past inputs from the buffer, where a past input from the buffer is received at a previous time tprevious corresponding to the time t minus an impulse delay associated with an impulse.
A robot comprising robot joints, where a robot joint comprises a joint motor, where the robot comprises a robot controller configured to control torque provided by the joint motor based on an input signal for the robot, and where the robot controller is configured to perform operations comprising:
- at a time t, obtaining the input signal for the robot;
- obtaining dynamic properties of the robot;
- providing an impulse train based on the dynamic properties, where the impulse train comprises a number of impulses;
- providing a modified input signal for the robot based on the input signal and the impulse train;
- using the modified input signal for controlling the joint motor;
- and
- storing an input based on the input signal in a buffer, the buffer also storing past inputs based on the input signal;
- wherein the robot controller is configured to provide the modified input signal by convolving at least a part of content of the buffer with the impulse train;
- and
- wherein impulses of the impulse train have an impulse magnitude and an associated impulse delay, and wherein the robot controller is configured to convolve the at least part of the content of the buffer with the impulse train by multiplying each impulse magnitude with one of the past inputs from the buffer, where a past input from buffer is received at a previous time tprevious corresponding to the time t minus an impulse delay associated with an impulse.
A method of generating inputs to an actuator of a physical system, where the inputs comprise a position signal indicating a position of at least a part of the physical system and at least one position derivative signal indicating a derivative of the position, the method comprising:
- at a time t, obtaining the position signal;
- storing an input comprising at least part of the position signal in a buffer, where the buffer also stores inputs comprising at least parts of the position signal obtained at previous times;
- obtaining the at least one position derivative signal based on a numerical central difference differentiation that is based on at least two inputs from the buffer, where obtaining the at least one position derivative signal comprises obtaining a derivative signal at a time ti-m occurring before time ti by a numerical central difference differentiation that is based on:
- at least one input from the buffer obtained at a time ti−n before time ti−m;
- and
- at least one input from the buffer obtained at a time tn after time ti−m,
- wherein the inputs to the actuator comprise at least:
- the position signal obtained at time ti−m;
- and
- the derivative signal obtained at time ti−m;
- and
- wherein the derivative signal occurring at time ti−m is obtained at a time t i−1 occurring one time-period before time t by a numerical central difference differentiation that is based on an input from the buffer obtained at time ti and an input from the buffer obtained at a time ti−2 occurring, two time-periods before time ti.
A method of generating inputs to an actuator of a physical system, where the inputs comprise a position signal indicating a position of at least a part of the physical system and at least one position derivative signal indicating a derivative of the position, the method comprising:
- at a time t, obtaining the position signal;
- storing an input comprising at least part of the position signal in a buffer, where the buffer also stores inputs comprising at least parts of the position signal obtained at previous times;
- obtaining the at least one position derivative signal based on a numerical central difference differentiation that is based on at least two inputs from the buffer, where obtaining the at least one position derivative signal comprises obtaining a first derivative signal at a time ti−m occurring before time ti by a numerical central difference differentiation that is based on:
- at least one input from the buffer obtained at a time ti−n before time ti−m:
- and
- at least one input from the buffer obtained at a time tn after time ti−m,
- wherein the inputs to the actuator comprise at least:
- the position signal obtained at time ti−m;
- and
- the first derivative sional obtained at time ti−m;
- obtaining a second derivative signal based on a numerical central difference differentiation that is based on at least three inputs from the buffer, wherein obtaining the second. derivative signal comprises:
- obtaining a derivative signal at a time ti−o, occurring after time ti−m by a numerical central difference differentiation that is based on:
- at least one input from the buffer obtained at a time ti−o+j occurring after time ti−o;
- and
- at least one input from the buffer obtained at a time ti−o−j occurring before time ti−o, and
- obtaining a derivative signal at a time ti−k occurring before time ti−m by a numerical central difference differentiation that is based on:
- at least one input from the buffer obtained at a time ti−k−j occurring after time ti−k;
- and
- at least one input from the buffer occurring at a time occurring before time ti−k, and
- obtaining the second derivative signal occurring at time ti−m by a numerical central difference differentiation that is based on:
- the derivative signal at time ti−o;
- and
- the derivative signal at time ti−k;
- and
- wherein the second derivative signal comprises an input to the actuator at time ti−m.
A method of generating inputs to an actuator of a physical system, where the inputs comprise a position signal indicating a position of at least a part of the physical system and at least one position derivative signal indicating a derivative of the position, the method comprising:
- at a time t, obtaining the position signal;
- storing an input comprising at least part of the position sional in a buffer, where the buffer also stores inputs comprising at least parts of the position signal obtained at previous times;
- obtaining the at least one position derivative signal based on a numerical central difference differentiation that is based on at least two inputs from the buffer, where obtaining the at least one position derivative signal comprises obtaining a first derivative signal at a time ti−m occurring before time ti by a numerical central difference differentiation that is based on:
- at least one input from the buffer obtained at a time ti−n before time ti−m;
- and
- at least one input from the buffer obtained at a time tn after time ti−m,
- wherein the inputs to the actuator comprise at least:
- the position signal obtained at time ti−m;
- and
- the first derivative signal obtained at time ti−m;
- obtaining a second derivative signal based on a numerical central difference differentiation that is based on at least three inputs from the buffer, wherein obtaining the second derivative signal comprises:
- obtaining, at time ti−1/2, a derivative signal at time ti−o where time ti−1/2 occurs a half time-period before time ti, the derivative signal at time ti−o being obtained by a numerical central difference differentiation that is based on an input from the buffer at time ti and an input from the buffer at time ti−1 occurring one time-period before time t;
- obtaining, at time ti−3/2, a derivative signal at time ti−k where time ti−3/2 occurs three half time-periods before time ti, the derivative signal at time ti−k being obtained by a numerical central difference differentiation that is based on an input from the buffer at time ti−2 occurring two time-periods before time ti and an input from the buffer at time ti−l occurring one time-period before time t;
- and
- wherein the second derivative signal at time ti−mis obtained at time ti−1 occurring one time-period before time ti by a numerical central difference differentiation that is based on the derivative signal at time ti−oand the derivative signal at time ti−k;
- and
- wherein the second derivative signal comprises an input to the actuator at time ti−l occurring one time-period before time ti.
A robot comprising a plurality of robot joints, where a robot joint comprises a joint motor, where the robot comprises a robot controller configured to control the joint motor based on inputs comprising a position signal indicating a position of at least a part of the robot and at least one position derivative signal indicating a derivative of the position, where the robot controller is configured to perform operations comprising:
- at a time ti obtaining the position signal;
- storing an input based on the position signal in a buffer, where the buffer also stores inputs based on the position signal obtained at previous times;
- obtaining the at least one position derivative signal based on a numerical central difference differentiation that is based on at least two of inputs from the buffer, where obtaining the at least one position derivative signal comprises obtaining a derivative signal at a time ti−m occurring before time ti by a numerical central difference differentiation that is based on:
- at least one input from the buffer obtained at a time ti−n occurring before time ti−m;
- and
- at least one input from the buffer obtained at a time ti−l occurring after time ti−m;
- and
- wherein the robot controller is configured to control the joint motor based on at least:
- the position signal obtained at a time ti−m occurring before time ti;
- and
- the derivative signal at time ti−m;
- wherein the derivative signal at time ti−m is obtained at a time ti−1 occurring one time-period before time ti by a numerical central difference differentiation that is based on an input from the buffer obtained at time ti and an input from the buffer obtained at a time ti−2 occurring two time-periods before time ti.
A robot comprising a plurality of robot joints, where a robot joint comprises a joint motor, where the robot comprises a robot controller configured to control the joint motor based on inputs comprising a position signal indicating a position of at least a part of the robot and at least one position derivative signal indicating a derivative of the position, where the robot controller is configured to perform operations comprising:
- at a time ti, obtaining the position signal;
- storing an input based on the position signal in a buffer, where the buffer also stores inputs based on the position signal obtained at previous times;
- obtaining the at least one position derivative signal based on a numerical central difference differentiation that is based on at least two of inputs from the buffer, where obtaining the at least one position derivative signal comprises obtaining a first derivative signal at a time ti−m, occurring before time ti by a numerical central difference differentiation that is based on:
- at least one input from the buffer obtained at a time ti−n occurring before time ti−m;
- and
- at least one input from the buffer obtained at a time ti−1 occurring after time ti−m, and
- wherein the robot controller is configured to control the joint motor based on at least:
- the position signal obtained at a time ti−m occurring before time ti;
- and
- the first derivative signal at time ti−m;
- wherein the robot controller is configured to obtain a second derivative signal based on a numerical central difference differentiation that is based on at least three inputs from the buffer, wherein the robot controller is configured to perform operations comprising:
- obtaining a derivative signal at a time ti−o occurring before time ti−m by a numerical central difference differentiation that is based on:
- at least one input from the buffer obtained at a time ti−o−j occurring after time ti−o;
- and
- at least one input from the buffer obtained at a time ti−o−j occurring before time ti−o, and
- obtaining a derivative signal at a time ti−k occurring before time ti−mby a numerical central difference differentiation that is based on:
- at least one input from the buffer obtained at a time ti−k+j occurring after a time ti−k;
- and
- at least one input from the buffer obtained at a time ti−k−j occurring before time ti−k;
- and
- obtaining the second derivative signal at a time ti−m by a numerical central difference differentiation that is based on the derivative signal at time ti−o and the derivative signal at time ti−k;
- wherein the robot controller is configured to control the joint motor based on the second derivative signal occurring at time ti−m.
A robot comprising a plurality of robot joints, where a robot joint comprises a joint motor, where the robot comprises a robot controller confi tired to control the joint motor based on inputs comprising a position signal indicating a position of at least a art of the robot and at least one position derivative signal indicating a derivative of the position. where the robot controller is configured to perform operations comprising:
- at a time ti, obtaining the position signal;
- storing an input based on the position signal in a buffer, where the buffer also stores inputs based on the position signal obtained at previous times;
- obtaining the at least one position derivative signal based on a numerical central difference differentiation that is based on at least two of inputs from the buffer, where obtaining the at least one position derivative signal comprises obtaining a first derivative signal at a time ti−m occurring before time ti by a numerical central difference differentiation that is based on:
- at least one input from the buffer obtained at a time occurring before time ti−m;
- and
- at least one input from the buffer obtained at a time occurring after time ti−m, and
- wherein the robot controller is configured to control the joint motor based on at least:
- the position signal obtained at a time occurring before time ti;
- and
- the first derivative signal at time ti−m;
- obtaining a second derivative signal based on a numerical central difference differentiation that is based on at least three inputs from the buffer, wherein obtaining the second derivative signal comprises:
- obtaining, at time ti−1/2, a derivative signal at a time instant ti−o where time instant ti−1/2 occurs a half time-period before time ti, the derivative signal at time ti−m being obtained by a numerical central difference differentiation that is based on an input from the buffer obtained at time ti and an input from the buffer obtained as the time ti−1 occurring one time-period before time ti;
- and
- obtaining, at time ti−3/2, a derivative signal at a time ti−k where time ti−3/2 occurs three half time-periods before time ti, the derivative signal at time ti−k being obtained by a numerical central difference differentiation that is based on an input from the buffer obtained at time ti−2 occurring two time-periods before time ti and an input from the buffer obtained at time ti−1 occurring one time-period before time ti;
- wherein the second derivative signal at a time ti−m is obtained at time ti−1 occurring one time-period before time ti by a numerical central difference differentiation that is based on the derivative signal at time ti and the fourth derivative signal at time ti−k;
- and
- wherein the robot controller is configured to control the joint motor based on the second derivative signal at time ti−1 occurring one time-period before time ti.
Dependencies are inferred from the claim text.