Input shaping control of a robotic arm in different reference spaces

By adopting joint space and Cartesian space shaping modules in the controller of the robot arm, combining pulse train convolution and motor control, and dynamically adjusting the reference space, the problems of robot arm vibration and path deviation are solved, and the motion stability and accuracy are improved.

CN115605325BActive Publication Date: 2025-10-03UNIVERSAL ROBOT
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180035014.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-05-14
Filing Date
2021-05-14
Publication Date
2025-10-03
Estimated Expiration
2041-05-14

AI Technical Summary

Technical Problem

In the existing technology, the input shaping method of the robot arm in the joint space and Cartesian space has poor vibration suppression effect, especially causing path deviation during mixed motion, and the existing Cartesian space shaping method fails to effectively reduce mechanical vibration.

Method used

The first and second space shaping modules in the robot controller are used to perform shaping through pulse train convolution in the joint space and Cartesian space respectively to generate the shaped target motion, and combined with the motor controller to generate motor control signals to dynamically adjust the reference space and reduce vibration.

Benefits of technology

It reduces vibration during the movement of the robot arm, maintains the accuracy of the motion path, dynamically switches the reference space to adapt to different motion modes, and improves the motion stability and accuracy of the robot arm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115605325B_ABST
    Figure CN115605325B_ABST
Patent Text Reader

Abstract

A robotic controller for controlling a robotic arm is disclosed, the robotic controller comprising: a first spatial shaping module configured to provide a shaped first-space target motion by convolving a first-space target motion with a pulse train, wherein the first-space target motion defines a target motion in a first reference space; a second spatial shaping module configured to provide a shaped second-space target motion by convolving a second-space target motion with the pulse train, wherein the second target motion defines a target motion in a second reference space; and a motor controller module configured to generate motor control signals to joint motors based on the shaped first-space target motion and the shaped second-space target motion. This allows for dynamic adjustment of which reference space the input shaping should be performed in, thereby reducing vibration and deviation in one reference space caused by input shaping in another reference space.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to control of a robot arm, wherein vibration of the robot arm is suppressed by utilizing input shaping. The robot arm comprises a plurality of robot joints connecting a robot base and a robot tool flange, and a portion of the robot arm (eg, the tool flange) is controlled with reference to Cartesian space. Background Art

[0002] Robotic arms comprising a plurality of robotic joints and linkages, wherein motors or actuators can move portions of the robotic arm relative to one another, are known in the field of robotics. Typically, a robotic arm comprises a robot base, which serves as a mounting base for the robotic arm, and a robot tool flange, wherein various tools can be attached to the robot tool flange. A robotic controller is configured to control the robotic joints to move the robot tool flange relative to the base, for example, to instruct the robotic arm to perform a plurality of work instructions. The robotic joints can be rotary robotic joints configured to rotate portions of the robotic arm relative to one another, prismatic joints configured to translate portions of the robotic arm relative to one another, and / or any other type of robotic joint configured to move portions of the robotic arm relative to one another.

[0003] Typically, a robotic controller is configured to control the robotic joints based on a dynamic model of the robotic arm, wherein the dynamic model defines the relationship between the forces acting on the robotic arm and the resulting acceleration of the robotic arm. Typically, the dynamic model includes a kinematic model of the robotic arm, knowledge of the inertia of the robotic arm, and other parameters that affect the movement of the robotic arm. The kinematic model defines the relationship between the different parts of the robotic arm and may include information about the robotic arm (such as the lengths and dimensions of the joints and links), and may be described, for example, by Denavit-Hartenberg parameters. The dynamic model enables the controller to determine which torques and / or forces the joint motors or actuators should provide in order to, for example, move the robotic joints at a specified velocity, acceleration, or to maintain the robotic arm in a static pose.

[0004] The robot arm must be programmed by the user or robot integrator, who defines various commands for the robot arm, such as predefined movement patterns and work commands, such as grip, hold, release, and thread engagement. The commands can be based on various sensors or input signals, which typically provide trigger signals for stopping or starting a given command. Trigger signals can be provided by various indicators, such as safety curtains, vision systems, position indicators, and the like.

[0005] Typically, various end effectors may be attached to the robot tool flange or other portion of the robot arm, such as grippers, vacuum grippers, magnetic grippers, thread turning machines, welding equipment, dispensing systems, vision systems, and the like.

[0006] Collaborative robots are robots designed to interact directly with humans. When designing collaborative robots, lightweight design is a primary focus. This is to reduce the impact of potential collisions with humans or obstacles. Therefore, the design will be a compromise between low mass and high rigidity. Lightweight design is a major goal of current developments in the robotics, crane, and automotive industries, to name a few. Lightweight design is driven by benefits such as improved performance, increased safety, a reduced environmental footprint, lower energy consumption, and lower price. Compared to traditional, heavy, rigid industrial robots, which are often based on cast iron designs, lightweight designs offer increased mechanical flexibility.

[0007] A robotic arm can move its end effector from one position to another in an infinite number of ways. The most common motions are described in joint space, or Cartesian space. In robotic arms with rotational robotic joints, joint space motion is the most natural for the robotic actuator and is the fastest motion. End effector motion will follow curved contours in joint space motion. Linear Cartesian motion results in linear end effector motion and corresponding joint space motion, which can include high accelerations in different joint directions.

[0008] Robots with mechanical dexterity face performance challenges. For example, when rapid point-to-point motion is desired, mechanical vibration is unacceptable. Therefore, it is desirable to suppress mechanical vibration in the robot arm. This can be achieved, for example, by utilizing input shaping methods that slightly modify the target motion of the robot arm by intelligently adding time delays. The modified (shaped) trajectory reduces the amount of vibration at the system's critical natural frequencies.

[0009] Input shaping for industrial robots has been implemented in both joint space and Cartesian space. Most implementations are in joint space, which is the robot's natural control space, e.g., {iii.}{iv.}{v.}{vi.}{vii.}. Several researchers have noted the Cartesian trajectory deviation associated with joint-space input shaping. Cartesian-space input shaping for robots has been proposed and compared with joint-space input shaping to reduce path deviation {viii.}{ix.}{x.}.

[0010] WO19012040A1 and the corresponding scientific articles {i.} {ii.} disclose a method for generating inputs to a physical system with different dynamic characteristics, which can be used to suppress mechanical vibrations of a robotic arm. Control signals for the robotic arm are generated based on the dynamic characteristics of the physical system, which can be obtained, for example, based on dynamic modeling of the physical system, a lookup table containing the dynamic characteristics of the physical system, measurements of various parts of the physical system, or a combination of the foregoing. WO19012040A1, {i.}, and {ii.} utilize a time-varying input shaping method in joint space. Time-varying input shaping has never been presented in Cartesian space. Existing research on Cartesian input shaping for robotic arms relies on trajectory generators that output Cartesian reference positions rather than joint angles.

[0011] Vibration suppression is effective in either filter space. However, joint-space filtering will result in deviations from the Cartesian path. Similarly, Cartesian filtering on joint-space motion destroys the benefits of linear joint-space motion, such as short durations that do not exceed actuator limitations. Generally speaking, joint-space motion will benefit from joint-space filtering, and Cartesian motion will benefit from Cartesian-space filtering.

[0012] When the robot is at a standstill, it is possible to switch between the two methods. However, the programming of robots (such as the UR robots UR3, UR5, UR10, UR3e, UR5e, UR10e, and UR16e provided by Universal Robots A / S) allows for so-called blending between joint-space motion and Cartesian-space motion. Blending is a soft transition between trajectories that eliminates the need for standstill and increases productivity. During blending between joint-space motion and Cartesian-space motion, shaping the input using joint-space or Cartesian-space results in significant deviations from the intended motion path of the robot arm.

[0013] References

[0014] {i.}DKThomsen,R. -Knudsen,D.Brandt,X.Zhang,Experimental implementation of time-varying input shaping on clock robots,in:Proceedings ofthe 16th International Conference on Informatics in Control,Automation and Robotics(ICINCO). 2019), Part 1, 2019, Part 488-498, doi:10.5220 / 0007834504880498

[0015] {ii.}DKThomsen,R. -Knudsen,D.Brandt,O.Balling,X.Zhang,Smoothonline time-varying input shaping with fractional delay{FIR}filtering,ControlEngineering Practice, Nov. 88, 2019, Nov. 21-37, doi:10.1016 / j.conengprac

[0016] {iii.}PHChang,H.-S.Park,Time-varying input shaping techniqueapplied to vibration reduction of an industrial robot,Control EngineeringPractice, May 13, May 1, 2005, May 121-130, doi:10.1016 / j.conengprac.2004.02.009

[0017] {iv.}W.Chatlatanagulchai,VMBeazel&PHMeckl.Command shapingapplied to a flexible robot with configuration-dependent resonance.In2006American Control Conference,June 2006,doi:10.1109 / ACC.2006.1656475

[0018] {v.} Y. Qiang, F. Jing, Z. Hou and P. Jia. Residual vibration suppression using off-line learning input shaping method for a flexible joint robot. In Intelligent Control and Automation (WCICA), 2012 10th World Congress on, pp. 3858 - 3863, July 2012, doi: 10.1109 / WCICA.2012.6359116.

[0019] {vi.} Arto Kivila. Modeling, estimation and control for serial flexible robot arms. PhD thesis, Georgia Institute of Technology, 2017,

[0020] URL: http: / / hdl.handle.net / 1853 / 58644

[0021] {vii.} T. Solatges, S. Rubrecht, M. Rognant and P. Bidaud. Adaptive input shaper design for flexible robot manipulators. In 2017 IEEE / RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 444–449, September 2017, doi: 10.1109 / IROS.2017.8202191

[0022] {viii.} Y. Liu, Y. Cao, L. Sun and X. Zheng. Vibration suppression for wafer transfer robot during trajectory tracking. In 2010 IEEE International Conference on Mechatronics and Automation, pp. 741–746, 2010, doi: 10.1109 / ICMA.2010.558904^{2}

[0023] {ix.} Yu Zhao, W. Chen, Te Tang, and M. Tomizuka. Zero time delay input shaping for smooth settling of industrial robots. In 2016 IEEE International Conference on Automation Science and Engineering (CASE), pages 620–625, August 2016, doi: 10.1109 / COASE.2016.7743459

[0024] {x.} Joonyoung Kim and Elizabeth A. Croft. Preshaping input trajectories of industrial robots for vibration suppression. Robotics and Computer-Integrated Manufacturing, vol. 54, pp. 35–44, 2018, doi: 10.1016 / j.rcim.2018.05.009. Summary of the Invention

[0025] The present invention aims to solve the above limitations or other problems of the prior art. This is achieved by a robot controller for controlling a robotic arm, wherein the robot controller includes:

[0026] a first spatial shaping module configured to provide a shaped first-space object motion by convolving the first-space object motion with the pulse train, wherein the first-space object motion defines an object motion in a first reference space;

[0027] a second spatial shaping module configured to provide a shaped second-space object motion by convolving the second-space object motion with the pulse train; wherein the second object motion defines an object motion in a second reference space; and

[0028] • The motor controller module is configured to generate motor control signals to the joint motors based on at least one of the shaped first space target motion and the shaped second space target motion.

[0029] Furthermore, the object of the present invention is solved by a method of controlling a robot arm, wherein the method comprises the following steps:

[0030] generating a shaped first-space object motion by convolving the first-space object motion with the pulse train; wherein the first-space object motion defines an object motion in a first reference space;

[0031] generating a shaped second-space object motion by convolving the second-space object motion with the pulse train; wherein the second-space object motion defines an object motion in a second reference space; and

[0032] Motor control signals are generated for joint motors of the robotic arm based on at least one of the shaped first space target motion and the shaped second space target motion.

[0033] The robot controller and method according to the present invention make it possible to dynamically adjust in which reference space input shaping should be performed, thereby reducing position deviations in another reference space. In addition, input shaping can be provided dynamically in two different reference spaces and gradually changed from one reference space to the other. For example, this makes it possible to retain the core feature of the hybrid between joint space motion and Cartesian space motion because a new implementation strategy for Cartesian input shaping is proposed. The proposed embodiment enables the filter space to change during motion and further extends it so that filtering can be completely enabled or disabled during motion, which is also a new feature in input shaping. Further advantages and benefits are described in the detailed description.

[0034] The dependent claims describe possible embodiments of the method according to the invention. Advantages and beneficial effects of the invention are described in the detailed description of the invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 A robotic arm constructed in accordance with the present invention is shown;

[0036] Figure 2 Shown Figure 1 Simplified structural diagram of the robot arm;

[0037] Figure 3 A flow chart showing a method for controlling a robot arm according to the present invention is shown;

[0038] Figure 4 shows a simplified block diagram of an embodiment of a robotic controller for a robotic arm constructed in accordance with the present invention;

[0039] Figure 5 A flow chart showing an embodiment of a method of controlling a robot arm according to the present invention;

[0040] Figure 6 shows a simplified block diagram of an embodiment of a robotic controller for a robotic arm constructed in accordance with the present invention;

[0041] Figure 7 A flow chart showing an embodiment of a method of controlling a robot arm according to the present invention;

[0042] Figure 8 The concept of blending between waypoints for linear movement of a robotic arm is shown;

[0043] Figure 9 shows a simplified block diagram of an embodiment of a robotic controller for a robotic arm constructed in accordance with the present invention;

[0044] Figure 10 shows a simplified block diagram of an embodiment of a robotic controller for a robotic arm constructed in accordance with the present invention;

[0045] Figure 11 A simplified block diagram of an embodiment of a robotic controller for a robotic arm constructed in accordance with the present invention is shown. DETAILED DESCRIPTION

[0046] The present invention has been described with reference to exemplary embodiments intended only to illustrate the principles of the invention. A skilled person will be able to provide several embodiments within the scope of the claims. Throughout this specification, similar elements providing similar effects are given reference numerals with the same last two digits. Furthermore, it should be understood that where an embodiment includes multiple identical features, only some of the features may be identified by a reference numeral.

[0047] Figure 1 A robotic system 100 according to the present invention is shown, wherein the robotic system comprises at least one robotic arm 101 and at least one robotic controller 110 configured to control the robotic arm.

[0048] The robot arm 101 includes a plurality of robot joints 102 a , 102 b , 102 c , 102 d , 102 e , 102 f connecting a robot base 103 and a robot tool flange 104 . The base joint 102a is configured to rotate the robot arm about a base axis 105a (shown by a dashed line), as indicated by rotation arrow 106a; the shoulder joint 102b is configured to rotate the robot arm about a shoulder axis 105b (shown by a cross indicating the axis), as indicated by rotation arrow 106b; the elbow joint 102c is configured to rotate the robot arm about an elbow axis 105c (shown by a cross indicating the axis), as indicated by rotation arrow 106c; the first wrist joint 102d is configured to rotate the robot arm about a first wrist axis 105d (shown by a cross indicating the axis), as indicated by rotation arrow 106d, and the second wrist joint 102e is configured to rotate the robot arm about a second wrist axis 105e (shown by a dashed line), as indicated by rotation arrow 106e. The robot joint 102f is a robot tool joint comprising a robot tool flange 104 that is capable of rotating about a tool axis 105f (shown in dashed lines) as indicated by rotation arrows 106f. Thus, the robot arm shown is a six-axis robot arm having six degrees of freedom, with six rotational robot joints, however, it should be noted that the present invention may be provided in a robot arm comprising fewer or more robot joints, as well as other types of robot joints, such as prismatic robot joints that provide translation, e.g., linear translation, of a portion of the robot arm.

[0049] A robotic joint may include a robotic joint body and an output flange capable of rotating or translating relative to the robotic joint body, the output flange being connected to an adjacent robotic joint directly or via an arm portion known in the art. The robotic joint may include a joint motor configured to rotate or translate the output flange relative to the robotic joint body, for example, via a transmission or directly connected to a motor shaft. The robotic joint body may be formed, for example, as a joint housing, the joint motor may be disposed within the joint housing, and the output flange may extend beyond the joint housing. In addition, the robotic joint may include at least one joint sensor that provides a sensor signal indicating, for example, at least one of the following parameters: an angular position and / or linear position of the output flange, an angular position and / or linear position of a motor shaft of the joint motor, a motor current of the joint motor, or an external force and / or torque attempting to rotate the output flange or motor shaft. For example, the angular position of the output flange may be indicated by an output encoder, such as an optical encoder or a magnetic encoder, which may indicate the angular position of the output flange relative to the robotic joint. Similarly, the angular position of the joint motor shaft can be provided by an input encoder, such as an optical encoder or a magnetic encoder, which can indicate the angular position of the motor shaft relative to the robot joint. It is noted that both an output encoder indicating the angular position of the output flange and an input encoder indicating the angular position of the motor shaft can be provided. This allows, in embodiments where a transmission is provided, the relationship between the input and output sides of the transmission to be determined. The joint sensor can also be provided as a current sensor indicating the current flowing through the joint motor and, therefore, used to determine the torque provided by the motor. For example, in conjunction with a multi-phase motor, multiple current sensors can be provided to determine the current flowing through each of the phases of the multi-phase motor. It is also noted that some robot joints can include multiple output flanges that can be rotated and / or translated by the joint actuator. For example, one of the robot joints may include a first output flange that rotates / translates a first portion of the robot arm relative to the robot joint, and a second output flange that rotates / translates a second portion of the robot arm relative to the robot joint. The joint sensor can also be provided as a force-torque sensor or an acceleration sensor. For example, a force and / or torque sensor may be provided at the tool joint and configured to indicate the force and / or torque applied to the tool flange, and an acceleration sensor may also be provided at the tool joint and configured to indicate the acceleration of the tool joint. However, other components of the robotic arm may also include force-torque sensors or acceleration sensors.

[0050] A robot tool flange reference point (also called TCP (Tool Center Point)) 107 is indicated at the robot tool flange and defines the origin of a tool flange coordinate system defining three coordinate axes x 凸缘 、y 凸缘 、z凸缘 In the embodiment shown, the origin of the robot tool flange coordinate system has been arranged on the tool flange axis 105f, wherein one axis (z flange) is parallel to the tool flange axis and the other axes x flange, y flange are parallel to the outer surface of the robot tool flange 104. In addition, the base reference point 108 is parallel to the three coordinate axes x and y. 基座 、y 基座 、z 基座 In the embodiment shown, the origin of the robot base coordinate system has been arranged on the base axis 105a, where one axis (z 基 105a, and the other axes xbase and ybase are parallel to the bottom surface of the robot base. The direction of gravity 109 relative to the robot arm is also indicated by an arrow, and it should be understood that the robot arm can be arranged in any position and orientation relative to gravity.

[0051] The robotic system includes at least one robot controller 110 configured to control a robotic arm 101. The robotic controller is configured to control the motion of portions of the robotic arm and the robotic joints, for example, by controlling the motor torque provided to the joint motors based on a dynamic model of the robotic arm, the direction of gravity work, and joint sensor signals. In addition, the robotic controller may control the motion of the robotic arm based on a robot program stored in a memory of the robotic controller. The controller may be provided as Figure 1 External devices as shown or devices integrated into the robotic arm or a combination thereof.

[0052] The robot controller may include an interface device 111 that enables a user to control and program the robot arm. The interface device may, for example, be provided as a teach pendant, as is known in the art of industrial robotics, which may communicate with the controller via a wired or wireless communication protocol. The interface device may, for example, include a display 112 and a plurality of input devices 113, such as buttons, sliders, touchpads, joysticks, trackballs, gesture recognition devices, keyboards, microphones, and the like. The display may be provided as a touchscreen that serves as both a display and an input device. The interface device may also be provided as an external device configured to communicate with the robot controller, for example, in the form of a smartphone, tablet, PC, laptop, and the like.

[0053] The robotic system may also include an end effector 126 (shown in phantom) that is attached to the robot tool flange and is shown in the form of a gripper, however it should be understood that the end effector can be any type of end effector, such as a gripper, a vacuum gripper, a magnetic gripper, a threading lathe, welding equipment, gluing equipment, dispensing system, painting equipment, vision system, camera, etc.

[0054] Figure 2 Shown Figure 1 1 is a simplified structural diagram of a robot arm. Robotic joints 102a, 102b, and 102f are shown in structural form, and for the sake of simplicity, robot joints 102c, 102d, 102e and robot links connecting the robot joints have been omitted. In addition, the robot joints are shown in the form of individual components, however, it should be understood that these robot joints are directly connected to each other or as Figure 1 216f and 216f are connected to each other via a robot link. The robot joint includes output flanges 216a, 216b, 216f and joint motors 217a, 217b, 217f or another actuator, wherein the output flanges 216a, 216b, 216f are capable of rotating relative to the robot joint body. The joint motors 217a, 217b, 217f are respectively configured to rotate the output flanges 216a, 216b, 216f via output shafts 218a, 218b, 218f. It should be understood that the joint motors or joint actuators can be configured to rotate the output flanges via a transmission system such as a gear (not shown). In this embodiment, the output flange 216f of the tool joint 102f constitutes the tool flange 104. The robot joints optionally include at least one joint sensor 219a, 219b, 219f providing sensor signals 220a, 220b, 220f indicative of at least one joint sensor parameter J of the respective joint. 传感器,a 、J 传感器,b 、J 传感器 , f. The joint sensor parameters may, for example, indicate posture parameters indicating the position and orientation of the output flange relative to the robot joint body, the angular position of the output flange, the angular position of the shaft of the joint motor, and the motor current of the joint motor. The joint sensor parameters may, for example, be selected from a list comprising: velocity, acceleration, torque, motor torque, force, and position. The joint sensor parameters may be measured values ​​obtained from sensors or values ​​derived from these sensor values. For example, the angular position of the output flange may be indicated by an output encoder such as an optical encoder or a magnetic encoder, which may indicate the angular position of the output flange relative to the robot joint. Similarly, the angular position of the joint motor shaft may be provided by an input encoder such as an optical encoder or a magnetic encoder, which may indicate the angular position of the motor shaft relative to the robot joint. The motor current may be obtained and indicated by a current sensor. For example, the motor torque may be obtained based on the motor current or by a torque sensor provided in the robot joint.

[0055] The end effector 126 connected to the robot tool flange 104 may be connected to a robot controller, and the robot controller may be configured to control the end effector via end effector control signals 228. Additionally, the end effector may provide effector feedback signals 229 to the robot controller, e.g., to indicate a status of the end effector, status of various end effector sensors, etc.

[0056] The robot controller 110 includes a processor 221, a memory 222, and a communication interface for communicating with external devices (such as a user interface, robot joints, end effectors, etc.). The processor includes a motion planner module 230, a shaping module 231, a pulse generation module 237, a combining module 238, and a motor controller module 232. The motion planner module 230, the shaping module 231, the pulse generation module 237, the combining module 238, and the motor controller module 232 can be provided as processes executed by the processor 221, for example, but it should be noted that they can also be provided and executed on a separate processor unit.

[0057] The motion planner module 230 is configured to provide a target motion of the robotic arm, for example, by generating trajectories for parts of the robotic arm. The trajectories may be generated, for example, based on a robot program stored in the memory 222, based on external control signals 224, and / or user input provided via the interface device 111. In the illustrated embodiment, the motion planner module provides a target motion M of the robotic arm parts. t . The target motion may indicate the kinematics of at least a portion of the robot arm, such as a path along which the portion of the robot arm will move, a velocity of the portion of the robot arm, an acceleration of the portion of the robot arm, a waypoint to which the portion of the robot arm will move, or a force / torque to be generated by the portion of the robot arm. The target motion may, for example, be indicated in a target reference space, such as a Cartesian space referenced to a robot base coordinate system, a tool flange coordinate system, or any other reference coordinate system, such as a polar coordinate system. Furthermore, the target motion may be indicated in a joint space, where the kinematics of a robot joint are indicated; for example the angular position q of an output shaft of a joint transmission. t , the desired angular velocity of the output shaft of the joint transmission Desired angular acceleration of the robot actuator

[0058] The shaping module 231 is configured to t and pulse train To provide at least one shaped target motion so as to reduce the vibration of the robot arm by input shaping. The pulse train includes time-distance Separate multiple pulses In the illustrated embodiment, the pulse train is generated by a pulse generation module 237, which is configured to generate the pulse train based on vibration characteristics of the robot arm known in the art of input shaping, such as the configuration / pose of the robot arm. For example, the configuration / pose of the robot arm can be obtained based on target motion or joint sensor parameters, such as the angular position of the output flange of the robot joint. The pulse train can also be obtained from the memory 222.

[0059] According to the present invention, the shaping module 231 includes a first space shaping module 233 and a second space shaping module 234. The first space shaping module 233 is configured to shape the first space object Q t With pulse train Convolution to provide shaped first-space object motion The first space target motion Q t The second space shaping module 234 is configured to define the object motion in the first reference space by t With pulse train Convolution to provide shaped second space object motion The second spatial object movement defines the object movement in the second reference space.

[0060] The reshaping module may optionally include a target space to first space transformation module 235, which is configured to transform the target motion M t In the first reference space Q t This can be achieved by using a mapping function that transforms the target motion into the first reference space, such as the target motion M t The kinematics of a portion of the robot relative to a reference point in a coordinate space may be defined, and the target space to first space transformation module 235 may be configured to transform the target motion into, for example, a joint reference space using inverse kinematics known in the field of robotics, wherein the kinematics of at least a portion of the robot arm is indicated based on robot joint parameters (such as the kinematics of the joint motor or the kinematics of the output flange). It should be understood that in the first target motion M t In embodiments where the target motion of the robotic arm is directed in the first reference space, the target space to first space transformation module 235 may be omitted because the first space shaping module 233 may then convert the target motion M to the first reference space. t Convolution with the pulse train is used to provide the shaped first spatial target motion.

[0061] The reshaping module may optionally include a target space to second space transformation module 236, which is configured to transform the target motion M t In the second reference space X tThis can be achieved by using a mapping function that transforms the target motion into the second reference space. For example, the target motion M t The kinematics of a portion of the robotic arm in a joint reference space may be defined, wherein the kinematics of at least a portion of the robotic arm is indicated based on robot joint parameters (such as the kinematics of the joint motors or the kinematics of the output flanges), and the target space to second space transformation module 236 may be configured to utilize forward kinematics known in the field of robotics to transform the target motion into a coordinate space indicated by the kinematics of the robotic arm relative to the reference point. It should be understood that in the second target motion M t In embodiments that instruct the robotic arm on a target motion in a second reference space, the target second space transform module 236 may be omitted because the second space reshaping module 234 may then convert the target motion M to the target second space transform module 236. t Convolved with the pulse train to provide shaped second-space target motion.

[0062] The combining module 238 is configured to move the shaped first space object and shaping of the second space target motion Combining into combined shaping target motion The motor controller module generates a motor control signal based on the combined shaped target motion. Thus, the motor controller module can be provided as is known in the art of robotic control, since the motor controller module receives the same kind of shaped target motion as the normal target motion. The combining module can, for example, be configured to convert the shaped first spatial target motion into and shaping of the second space target motion Transform to target motion M t The two shaped target motions are then added together in the reference space of . In one embodiment, the two shaped target motions can be scaled relative to each other.

[0063] The motor controller module 232 is configured to shape the first space object motion based on and shaping the second space target to generate at least one motor control signal 223a-223f to the joint motor, which in the illustrated embodiment is provided as a combined shaping target motion provided by the combining module The motor controller module 232 is configured to generate at least one motor control signal to the joint motors, for example in the form of motor control signals 223a, 223b, 223f, which indicate control parameters of the joint motors. These control parameters can be used to control the joint motors as needed. For example, the control parameters may indicate the motor torque T that each joint motor should provide to the output flange. 马达,a 、T 马达,b and T马达,f , and the robot controller is configured to determine the motor torque based on a dynamic model of the robot arm known in the art. The motor controller module 232 is configured to shape the target motion based on the combined and the dynamic model D of the robot arm 机器人 To generate motor control signals 223a, 223b, 223f. Dynamic model D of the robot arm 机器人 The dynamic model enables the controller to calculate the torque that the joint motor should provide to each of the joint motors to cause the robotic arm to perform a target motion, wherein the target motion indicates a motion of at least a portion of the robotic arm. The motor controller module may also be further configured, as shown in dashed lines, to generate motor control signals 223a, 223b, 223f based on at least one sensor signal 220a, 220b, 220f indicating at least one joint sensor parameter J. 传感器,a 、J 传感器,b 、J 传感器,f and / or other sensor signals indicative of other robot parameters. The sensor signals may for example indicate the angular position q of the output flange; the angular position θ of the motor shaft; the motor torque T 马达 Provided to the motor shaft by the joint motor. For example, the joint motor may be provided as a multi-phase electrical motor, and the robot controller may be configured to regulate the motor torque provided by the joint motor by regulating the current flowing through the phases of the multi-phase motor, as is known in the art of motor regulation.

[0064] It should be noted that the motor controller module 232 can also be configured to move the first space object based on the shaping and shaping the second space target At least one of the first space target motions is directly generated to the joint motor by at least one of the first space target motions. and shaping the second space target It can therefore be provided directly to the motor controller module 232 and the combining module 238 can therefore be omitted. Figure 9 Such an embodiment is shown in .

[0065] Provides shaping of the first space target motion and shaping of the second space target motion This makes it possible to utilize pulse shaping in two different reference spaces. Thus, the user of the robotic arm can select in which reference space he / she wishes to reduce vibrations of the robotic arm, and also switch online between which reference spaces pulse shaping should be implemented. This is beneficial during target motions that define continuous motion, where at least a portion of the robotic arm is constantly moving; this means that during the continuous motion, no portion of the robotic arm experiences a standstill where the velocity of that portion is zero.

[0066] In one embodiment, the robotic controller is configured to shape the first space target motion based on and shaping of the second space target motion To generate at least one motor control signal (223a-223f). This is useful for parts of a continuous motion where the target motion changes from movement relative to a first reference space to movement relative to a second reference space, or for mixed parts of a continuous motion.

[0067] In one embodiment, the robotic controller is configured to:

[0068] ● In the first part of the continuous motion, the first spatial target motion based on shaping The second space target motion is not based on shaping to generate motor control signals (223a-223f); and

[0069] ● In the second part of the target motion, the second spatial target motion based on shaping The first space target motion is not based on shaping To generate motor control signals (223a-223f).

[0070] This is useful for continuous motion where the target motion has parts that move relative to one reference space and other parts that move relative to a second reference space.

[0071] Figure 3 A method for controlling a robotic arm according to the present invention is shown. The method comprises a step 360 of generating a shaped target motion, a step 370 of combining the shaped target motions, and a step 380 of generating at least one motor control signal. The step 360 of generating a shaped target motion comprises generating a shaped first spatial target motion. Step 362 and generating the shaped second space target motion Step 364. Step 370 moves the shaped first space target and shaping of the second space target motion Combining into combined shaping target motion And step 360 is based on the combined shaping target motion Generate at least one motor control signal T for the robot arm motor 马达,a -T 马达,f The robotic arm can be similar to Figure 1 and Figure 2 The robotic arm shown and described in .

[0072] In step 362, the shaped first space object motion By moving the first space target Q t With pulse train Convolution is used to generate; wherein the first spatial target motion defines the target motion in the first reference space. In the case of the original reference space of the target motion, M t The same as the first reference space, then the target motion is the same as the first space target motion, and the target motion M can be t The pulse train is convolved with the pulse train to provide a shaped first-space target motion. In the case where the original reference space of the target motion is different from the first reference space, the method may include the optional step 361 of transforming the target motion into a first-space target motion indicative of the target motion in the first reference space, and then the shaped first-space target motion may be generated by convolving the transformed target motion with the pulse train. The pulse train includes the time distance Separate multiple pulses and is provided based on vibration characteristics of the robot arm as known in the art of input shaping, for example based on the configuration / pose of the robot arm.

[0073] In step 364, the shaped second space object motion By combining the second space target movement with the pulse train Convolution is used to generate; wherein the second spatial target motion defines the target motion in the second reference space. In the case of the original reference space of the target motion, M t The same as the second reference space, then the target motion is the same as the second space target motion, and the target motion M can be t Convolving with the pulse train to provide a shaped second-space target motion. In the case where the original reference space of the target motion is different from the second reference space, the method may include transforming the target motion into a second-space target motion X indicating the target motion in the second reference space. t 363, and a shaped second spatial target motion can be generated by convolving the transformed target motion with the pulse train.

[0074] In the illustrated embodiment, the method includes moving the shaped first space object and shaping of the second space target motion Combining into combined shaping target motion This can be achieved, for example, by transforming the shaped first-space object motion and the shaped second-space object motion into the same reference space (e.g., a reference space of object motions), and then adding the transformed shaped first-space object motion and the transformed shaped second-space object motion together.

[0075] The step 380 of generating at least one motor control signal (223a-223f) for the joint motor based on the combined shaped target motion may be performed as is known in the art of robotic motor control, wherein the target motion is converted into a motor control signal, such as a motor torque and / or a motor current, and is performed based on a dynamic model of the robotic arm. For example, the combined shaped target motion may be based on The motor control signals are generated based on input shaping in two different reference spaces, thereby making it possible to utilize input shaping in two different reference spaces. Thus, the user of the robotic arm can control the robotic arm by selecting in which reference space they wish to reduce vibrations of the robotic arm, and also switch online between which reference spaces the input shaping should be implemented. This is beneficial during target motions that define continuous motion, where at least a portion of the robotic arm is constantly moving; this means that during the continuous motion, no portion of the robotic arm experiences a standstill where the velocity of that portion is zero.

[0076] In one embodiment, the method includes shaping the first space object motion based on and shaping of the second space target motion The step of generating at least one motor control signal (223a-223f) is useful for parts of a continuous motion where the target motion changes from movement relative to a first reference space to movement relative to a second reference space, or for mixed parts of a continuous motion.

[0077] In one embodiment, the method comprises the following steps:

[0078] ● In the first part of the continuous motion, the first spatial target motion based on shaping The second space target motion is not based on shaping to generate motor control signals (223a-223f); and

[0079] ● In the second part of the target motion, the second spatial target motion based on shaping The first space target motion is not based on shaping To generate motor control signals (223a-223f).

[0080] This is useful for continuous motion where the target motion has parts that move relative to one reference space and other parts that move relative to a second reference space.

[0081] In an embodiment of the robotic controller / method, the first reference space and the second reference space are different and can be any combination of:

[0082] a joint reference space, wherein kinematics of at least a portion of the robot arm are indicated based on robot joint parameters, wherein the robot joint parameters indicate kinematics of at least one of the joint motors and kinematics of the output flange, whereby the first space target motion or the second space target motion indicates a target motion according to the robot joint parameters;

[0083] A Cartesian coordinate space, wherein the kinematics of at least a portion of the robot arm relative to the reference point are indicated in terms of Cartesian coordinates, whereby the first space target motion or the second space target motion indicates a target motion in terms of Cartesian coordinates;

[0084] a polar coordinate space, wherein kinematics of at least a portion of the robot arm relative to a reference point are indicated in accordance with polar coordinates, whereby the first space target motion or the second space target motion indicates the target motion in accordance with the polar coordinates;

[0085] a cylindrical coordinate system, wherein the kinematics of at least a portion of the robot arm relative to a reference point are indicated in terms of cylindrical coordinates, whereby the first space target motion or the second space target motion indicates the target motion in terms of cylindrical coordinates;

[0086] A spherical coordinate system, wherein the kinematics of at least a portion of the robot arm relative to a reference point are indicated in terms of spherical coordinates, whereby the first space target motion or the second space target motion indicates a target motion in terms of spherical coordinates.

[0087] In an embodiment of the robotic controller / method, the first reference space and the second reference space are different, and the first reference space is a joint reference space, while the second reference space is a coordinate space. In the joint reference space, the kinematics of at least a portion of the robotic arm are indicated based on robot joint parameters, wherein the robot joint parameters indicate the kinematics of at least one of the joint motors and the kinematics of the output flange, whereby the first-space target motion indicates the target motion according to the robot joint parameters. In the coordinate space, the kinematics of at least a portion of the robotic arm are indicated relative to a reference point, whereby the second-space target motion indicates the target motion according to coordinates of the coordinate space. The coordinate space can be, for example, any of the following:

[0088] A Cartesian coordinate space, wherein the kinematics of at least a portion of the robotic arm relative to a reference point are indicated in terms of Cartesian coordinates, whereby the second spatial target motion indicates the target motion in terms of Cartesian coordinates;

[0089] a polar coordinate space, wherein the kinematics of at least a portion of the robotic arm relative to a reference point are indicated in accordance with polar coordinates, whereby the second space target motion indicates the target motion in accordance with the polar coordinates;

[0090] a cylindrical coordinate system, wherein the kinematics of at least a portion of the robot arm relative to the reference point are indicated in terms of cylindrical coordinates, whereby the second space target motion indicates the target motion in terms of cylindrical coordinates;

[0091] A spherical coordinate system, wherein the kinematics of at least a portion of the robot arm relative to a reference point are indicated in terms of spherical coordinates, whereby the second spatial target motion indicates the target motion in terms of spherical coordinates.

[0092] In an embodiment of the robotic controller / method, the first reference space and the second reference space differ in that:

[0093] • the first reference space is a coordinate reference space in which the kinematics of at least a portion of the robotic arm are indicated relative to the first reference point; and

[0094] • the second reference space is a coordinate reference space, wherein the kinematics of at least a portion of the robotic arm are indicated relative to the second reference point; and

[0095] ●The first reference point and the second reference point are different.

[0096] The coordinate space may be, for example, any of the coordinate spaces listed in paragraph

[0045] . This makes it possible to utilize input shaping in two reference spaces of the same kind with different reference points. For example, in an embodiment in which a robotic arm is mounted on a mobile support such as a vehicle. The first reference point may be defined as a fixed point on the mobile support, and the second reference point may be defined as a fixed point relative to the mobile support. Additionally, the first reference point may be defined as a fixed point defined relative to a fixed part of the robotic arm (such as a robot base), and the second reference point may be defined as a moving point defined relative to a moving part of the robotic arm (such as a tool flange). This allows a user to select with respect to which reference point the input shaping should be utilized to reduce vibration.

[0097] Figure 4 A simplified block diagram of a robot controller 410 for controlling a robot arm is shown. The robot controller 410 is similar to Figure 1 and Figure 2 The robot controller of the robot arm shown in FIG is a schematic diagram of a robot controller of a robot arm shown in FIG, and similar elements and features have been given the same reference numerals and will not be described further. In addition, in order to simplify the figure, the Figure 1 and Figure 2The robot controller includes at least one spatial transformation module configured to transform the shaped first-space object motion and / or the shaped second-space object motion into the same reference space. Furthermore, the robot controller includes at least one scaling module configured to perform at least one of the following scalings: scaling the shaped first-space object motion according to a first spatial scaling parameter, and scaling the shaped second-space object motion according to a second spatial scaling parameter.

[0098] In the illustrated embodiment, the first space to target space transformation module 439 is configured to transform the shaped first space target motion Transform to target motion M t The reference space, and thus the target space M t1 This can be achieved by using the shaped first space object motion For example, if the target space defines the kinematics of a portion of the robotic arm relative to a reference point in coordinate space, and the first reference space defines the kinematics of the portion of the robotic arm in joint space, the first space to target space transformation module 439 may be configured to utilize forward kinematics known from the field of robotics to transform the shaped first space target kinematics into the target space. Transformed into the shaped first space target motion M in the target space t1 .

[0099] It should be understood that in which the target motion M t In embodiments where the target motion of the robotic arm is directed in the first reference space, the first space to target space transformation module 439 may be omitted. t In embodiments where the robotic arm is instructed to move to a target in a second reference space, the first space to target space transformation module 439 may then be configured to transform the shaped first space target motion to Transform into the second reference space.

[0100] In the illustrated embodiment, the second space to target space transformation module 440 is configured to transform the shaped second space target motion Transform to target motion M t The reference space, and thus the target space M t2 This can be achieved by using the shaped second space target motion For example, if the target space defines the kinematics of a portion of a robotic arm in joint space and the second reference space defines the kinematics of a portion of the robotic arm in coordinate space, the second space to target space transformation module 440 can be configured to transform the shaped second space target kinematics from forward kinematics known in the field of robotics. Transformed into the shaped second space target motion M in the target space t1 .

[0101] It should be understood that in which the target motion M t In embodiments where the target motion of the robotic arm is directed in the second reference space, the second space to target space transformation module 440 may be omitted. t In embodiments where the robotic arm is instructed to move to a target in a first reference space, the second space to target space transformation module 440 may then be configured to transform the shaped second space target motion to Transform into the first reference space.

[0102] Transforming the shaped first space object motion and the shaped second space object motion into the same reference space makes it possible to combine the two signals in an adding module 443 configured to add the two signals together.

[0103] In the illustrated embodiment, a first spatial scaling module 441 is configured to scale the shaped first-space object motion according to a first spatial scaling parameter K1. This may be achieved by multiplying the shaped first-space object motion by the first spatial scaling parameter, and performing the multiplication in the target space. Similarly, a second spatial scaling module 442 is configured to scale the shaped second-space object motion according to a second spatial scaling parameter K2. This may be achieved by multiplying the shaped first-space object motion by the second spatial scaling parameter, and performing the multiplication in the target space.

[0104] Scaling the first-space target motion and the second-space target motion allows the effects of input shaping performed in the first and second spaces to be adjusted relative to each other. This can be relevant, for example, for robotic arm movements, where the robotic arm is controlled in joint space for one portion of the movement and in coordinate space for another portion of the movement. Gradual scaling of the shaped first-space target motion and the shaped second-space target motion can then be combined in one portion of the movement.

[0105] Therefore, the combined shaped target motion provided to the motor controller will be a linear combination of the shaped first-space target motion and the shaped second-space target motion in target space, where:

[0106] Equation 1

[0107] Equation 2 0≤K1≤1

[0108] Equation 3 0≤K2≤1

[0109] Equation 4: K1+K2=1

[0110] will result in the robot arm's position being defined by the first spatial target motion shaped Indicates the position and motion of the target in the second space by shaping By varying K1 and K2 over time, Orientation Move gradually (or vice versa), effectively decaying between which of the first and second reference spaces the input shaping is applied. The constraint provided by Equation 4 ensures that the combined shaped target motion is not scaled, and therefore the robotic arm will end up at the position planned by the motion planner module.

[0111] The ability to go from applying input shaping in a first reference space to applying input shaping in a second reference space without requiring a stationary robot arm is beneficial. For example, the robot arm may perform linear motion in joint space or in Cartesian space, respectively. The invention enables a soft transition from a joint space trajectory to a Cartesian trajectory and vice versa, i.e. without a stationary state. In conjunction with a robot arm provided by the applicant Universal Robots A / S, the feature is known in programming terms at Universal Robots as hybrid. In Figure 8 The blending concept is shown in , where there are blends between linear trajectory segments.

[0112] However, blending can be done between any two types of motion, such as linear Cartesian, circular Cartesian, or linear joint space trajectories. When the distance from the end effector to the next waypoint becomes below a defined blend radius, a soft transition will begin until the distance becomes greater than the blend radius. The present invention enables blending between multiple types of motion. For example, input shaping can be moved from joint space to Cartesian space in 1 / 10 of a second by:

[0113] Equation 5

[0114] Equation 6 K2 = 1 - K1

[0115] where t is the time from the initialization of the transition.

[0116] It should be noted that the linear interpolation suggested by the transition functions of Equations 5 and 6 is intended only as an illustrative example, and other types of transition functions may be provided. For example, an S-shaped transition function may be provided to reduce position derivatives, ie, velocity and acceleration.

[0117] The first space to target space transform module 439, the second space to target space transform module 440, the first spatial scaling module 441 and the second spatial scaling module 442 are shown as part of the combining module 438, however it is understood that they may be provided as separate modules.

[0118] Figure 5 The method of controlling a robot arm according to the present invention is shown. Figure 3 and similar steps and parameters have been given the same reference numerals and will not be described further.

[0119] In this embodiment, the method comprises at least one of the following steps:

[0120] ●Move the first space target of the shaping Transform 571 into a shaped target motion M in at least one of the target reference space and the second reference space of the target motion t1 ;

[0121] ●Move the shaped second space target Transform 573 into a shaped target motion M in at least one of the target reference space and the first reference space of the target motion t2 .

[0122] Transform shaping of the first space target motion and shaping of the second space target motion The steps may be performed as described in paragraphs

[0048] -

[0052] in conjunction with the first space to target space transformation module 439 and the second space to target space transformation module 440.

[0123] Furthermore, the method comprises at least one of the following steps:

[0124] • scaling 572 the shaped first spatial object motion according to the first spatial scaling parameter K1;

[0125] • Scaling 574 the shaped second space object motion according to the second space scaling parameter K2.

[0126] The step 572 of scaling and shaping the first spatial object motion and the step 574 of scaling and shaping the second spatial object motion may be performed as described in paragraphs

[0053] -

[0054] in conjunction with the first spatial scaling module 441 and the second spatial scaling module 442.

[0127] The method comprises moving a scaled shaped first space object and scaling of the second spatial target motion Combining into combined shaping target motion Step 575. As described in paragraph

[0055] , the combined shaping target motion may be provided as a linear combination of the shaped first space object motion and the shaped second space object motion, as defined by Equations 1-4.

[0128] Figure 5 The method shown in Figure 4 The same advantages of the robot controller shown in and described in paragraphs

[0047] -

[0059] .

[0129] It should be noted that steps 571 , 572 , 573 and 574 are shown as part of step 570 of combining the shaped first space object motion and the shaped second space object motion, however it should be understood that they may be provided as separate method steps.

[0130] Figure 6 A simplified block diagram of a robot controller 610 for controlling a robot arm is shown. The robot controller 610 is similar to Figure 1 、 Figure 2 and Figure 4 The robot controller of the robot arm shown in FIG is a schematic diagram of a robot controller of a robot arm shown in FIG, and similar elements and features have been given the same reference numerals and will not be described further. In addition, in order to simplify the figure, the Figure 1 and Figure 2 The robot joints and end effector shown in .

[0131] The robot controller 610 includes a controller configured to scale the target motion M according to the target motion scaling parameter K0. t The target motion scaling module 644 can be used to scale the target motion by the target motion scaling parameter and perform the multiplication in the target space.

[0132] The robot controller includes an adding module 643 configured to add the scaled shaped first space object motion in the same reference space. Scaled shaping of second space object motion and scaled target motion K0 M t Added together to provide the combined shaping target motion

[0133] This is advantageous for robotic arms that can alternate between different types of motion, such as linear articulation, linear Cartesian motion, servo-mode motion, and force-mode motion. Different motion strategies require different control and vibration suppression strategies. In some applications or motion strategies, disabling vibration suppression may be advantageous. This would be an application where fast response is important but vibration is unimportant.

[0134] Typically, in order to enable or disable the input shaping filter, the robot needs to be stationary. Otherwise, discontinuities will appear in the target position reference, which will cause errors or greater vibrations. However, the function of the robot controller 410 can be as follows Figure 6 The robotic controller 610 is shown extended so that the linear combination also includes a component of the unshaped target motion:

[0135] Equation 7

[0136] Equation 8 0≤K0≤1

[0137] Equation 9 0≤K1≤1

[0138] Equation 10 0≤K2≤1

[0139] Equation 11 K0+K1+K2=1

[0140] Thus, input shaping can be gradually enabled or disabled over time without discontinuities in reference positions (e.g., joint angles). Figure 4 As described, different transition functions can be used, for example:

[0141] Equation 12 K0 = 1 - K1

[0142] Equation 13

[0143] Equation 14 K2 = 0

[0144] This introduces a gradual blending of the unshaped object motion with the shaped first-space object motion.

[0145] Figure 7 The method of controlling a robot arm according to the present invention is shown. Figure 3 and Figure 5 and similar steps and parameters have been given the same reference numerals and will not be described further.

[0146] The method comprises scaling 776 the target motion M according to a target space scaling parameter K0 t step, which may be performed as described in conjunction with the target motion scaling module 644 in paragraph

[0067] . Figure 7The method shown in Figure 5 The same advantages of the robot controller shown in and described in paragraphs

[0066] -

[0070] .

[0147] Figure 8 A target motion is shown, where a portion of a robot arm (e.g., a robot tool flange) starts at waypoint A, moves to waypoint B, moves to waypoint C, moves to waypoint D, and moves to waypoint E and stops at waypoint E. The straight dashed line indicates the trajectory if the robot tool flange moves only in straight line segments. However, in some embodiments, waypoints B, C, and D can be considered as guidance points that the portion of the robot arm does not necessarily need to pass through with 100% accuracy. These points can be assigned a blending radius indicated by the dashed circles, and the robot arm can be configured to perform a rotational motion in joint space when the portion of the robot is inside the blending space. The solid line indicates the trajectory when blending is used. Since the portion of the robot does not need to stop at waypoints B, C, and when blending, blending results in faster movement from waypoint A to waypoint E when moving in joint space, which is faster than moving in Cartesian space.

[0148] Figure 9 A simplified block diagram of a robot controller 910 for controlling a robot arm is shown. The robot controller 910 is similar to Figure 1 and Figure 2 , and similar elements and features have been given the same reference numerals and will not be described further. In this embodiment, the motor controller module 932 is configured to:

[0149] ●First space target motion based on shaping and a first dynamic model of the robotic arm to generate at least a first motor control signal, wherein the first dynamic model is defined in a first reference space; for example, the motor controller module 932 includes a first space motor control module 945, which is configured to generate at least a first motor control signal based on the shaped first space target motion. and a first dynamic model of the robot arm to generate a first motor control signal T 马达,Q , wherein the first dynamic model is defined in the first reference space. The first motor control signal T 马达,Q is a vector of motor control signals for the joint motors.

[0150] ● Second space target motion based on shaping and a second dynamic model of the robotic arm to generate at least a second motor control signal, wherein the second dynamic model is defined in a second reference space; for example, the motor controller module 932 includes a second space motor control module 946, which is configured to generate at least a second motor control signal based on the shaped second space target motion. and a second dynamic model of the robot arm to generate a second motor control signal T 马达,X , where the second dynamic model is defined in a second reference space, where the second motor control signal T 马达,X is a vector of motor control signals for the joint motors.

[0151] ●Combine at least one motor control signal and at least a second motor control signal into at least one combined motor control signal, wherein the at least one combined motor control signal is used to control a robot joint, for example, the motor controller module 932 includes a motor control signal combination module 947, which is configured to combine at least the first motor control signal and at least the second motor control signal into control signals 223a, 223b, 223f indicating control parameters of the joint motor.

[0152] Figure 10 A simplified block diagram of a robot controller 1010 for controlling a robot arm is shown. The robot controller 1010 is similar to Figure 1 、 Figure 2 and Figure 9 The robot controller of the robot arm shown in FIG is a schematic diagram of a robot controller of a robot arm shown in FIG, and similar elements and features have been given the same reference numerals and will not be described further. In addition, in order to simplify the figure, the Figure 9 The robot controller includes at least one scaling module 1048 configured to perform at least one of the following scaling: scaling the shaped first-space object motion according to a first-space scaling parameter, and scaling the shaped second-space object motion according to a second-space scaling parameter.

[0153] In the illustrated embodiment, the first spatial scaling module 1041 is configured to scale the shaped first spatial object motion according to a first spatial scaling parameter K1. This can be achieved by multiplying the shaped first-space object motion by the first-space scaling parameter. The first space motor control module 945 is then provided to the first space motor control module, which is configured to shape the first space object motion based on the scaling and a first dynamic model of the robot arm to generate a first motor control signal T 马达,Q , wherein the first dynamic model is defined in a first reference space.

[0154] Similarly, the second spatial scaling module 1042 is configured to scale the shaped second spatial object motion according to the second spatial scaling parameter K2. This can be achieved by scaling the shaped second spatial object motion The second spatial object motion is multiplied by the second spatial scaling parameter K2. The second space motor control module 946 is then provided to the second space motor control module 946, which is configured to shape the second space object motion based on the scaling and a second dynamic model of the robot arm to generate a second motor control signal T 马达,X , where the second dynamic model is confined in the second consideration space.

[0155] Motor control signal T 马达,Q and the second motor control signal T 马达,X These can then be combined by the motor control signal combination module 947 into control signals 223a, 223b, 223f, which indicate the control parameters of the joint motors.

[0156] Scaling the first-space object motion and the second-space object motion allows the effects of input shaping performed in the first and second spaces to be adjusted relative to each other, thereby enabling blending between movements in different reference spaces. Blending can be performed, for example, similar to that described in paragraphs

[0054] -

[0058] , where the first and second scaling parameters satisfy Equations 2, 3, and 4, and, as an example, vary according to Equations 5 and 6.

[0157] Figure 11 A simplified block diagram of a robot controller 1110 for controlling a robot arm is shown. The robot controller 1010 is similar to Figure 10 The robot controller of the robot arm is shown in , and similar elements and features have been given the same reference numerals and will not be described further.

[0158] The robot controller 1110 includes a controller configured to scale the target motion M according to the target motion scaling parameter K0. t The target motion scaling module 1144 can be implemented by multiplying the target motion by the target motion scaling parameter and performing the multiplication in the target space. In addition, the motor controller module 1132 includes a target space motor control module 1149 that is configured to calculate the target motion M based on the shaped target motion M. t and the target dynamic model of the robot arm to generate the target motion control signal T 马达,M , where the target dynamic model is defined in the target reference space. The target motor control signal T 马达,M is a vector of motor control signals for the joint motors.

[0159] Motor control signal T 马达,Q , the second motor control signal T 马达,X and the target motor control signal T 马达,MThe signals may then be combined by the motor control signal combination module 1147 into control signals 223a, 223b, 223f, which indicate control parameters of the joint motors.

[0160] This makes it possible to control the robot arm as a combination of unshaped motion and shaped motion in different reference spaces, which offers similar advantages and can be performed similarly to the description in paragraphs

[0069] -

[0070] , where the target scaling parameter, the first scaling parameter and the second scaling parameter satisfy Equations 8, 9, 10 and 11, and, as an example, change according to Equations 12, 13 and 14.

[0161] In summary, the present invention makes it possible to reduce Cartesian path deviations caused by joint space input shaping and discloses a method for implementing Cartesian input shaping to handle the limitations of joint space shaping. The present invention allows a robot programmer to change the filter space during motion without additional delay.

[0162] The modules of the robot controller may for example be configured to perform the described functions and tasks by programming them as steps in a software program executed by a processor. Likewise, the method according to the invention may be implemented as method steps performed by a processor of the robot controller.

[0163] Brief Description of Drawing References

[0164]

[0165]

[0166]

Claims

1. A robotic controller for controlling a robotic arm, wherein the robotic arm includes joints connecting a base and a tool flange of the robotic arm, and wherein at least one of the joints includes an output flange movable relative to a body of the joint and the robotic arm includes a motor configured to move the output flange relative to the body, the robotic controller comprising: a shaping module configured to shape a target motion of the robotic arm; and a motor controller module configured to generate at least one motor control signal to the motor, The shaping module includes: a first spatial shaping module configured to generate a shaped first-space object motion by convolving the first-space object motion with a pulse train, wherein the first-space object motion defines a portion of the object motion in a first reference space; and a second spatial shaping module configured to generate a shaped second-space object motion by convolving the second-space object motion with the pulse train; wherein the second-space object motion defines a portion of the object motion in a second reference space; and Wherein the motor controller module is configured to generate the at least one motor control signal based on both the shaped first space object motion and the shaped second space object motion. 2 . The robotic controller of claim 1 , wherein the target motion comprises continuous motion of at least a portion of the robotic arm.

3. The robotic controller of claim 1 , wherein the target motion comprises continuous motion of at least a portion of the robotic arm; and The robot controller is configured to perform operations including: for a first portion of the target motion, generating the at least one motor control signal based on the shaped first-space target motion and not based on the shaped second-space target motion; and For a second portion of the object motion, generating the at least one motor control signal based on the shaped second spatial object motion and not based on the shaped first spatial object motion.

4. The robot controller according to claim 1, further comprising: a combining module configured to combine the shaped first space object motion and the shaped second space object motion into a combined shaped object motion; Wherein the motor controller module is configured to generate the at least one motor control signal based on the combined shaped target motion.

5. The robot controller of claim 1 , wherein the motor controller module comprises: a first spatial motor control module configured to generate first motor control signals based on the shaped first spatial object motion and a first dynamic model of the robotic arm, wherein the first dynamic model is defined in the first reference space; a second-space motor control module configured to generate second motor control signals based on the shaped second-space object motion and a second dynamic model of the robotic arm, wherein the second dynamic model is defined in the second reference space; as well as A motor control signal combination module is configured to generate the at least one motor control signal based on the first motor control signal and the second motor control signal.

6. The robotic controller of claim 1, wherein the first reference space and the second reference space are different.

7. The robotic controller of claim 1 , wherein the first reference space is a joint reference space in which the kinematics of at least a portion of the robotic arm are based on joint parameters, wherein the joint parameters are based on the kinematics of at least one joint motor and the kinematics of at least one output flange.

8. The robotic controller of claim 1, wherein the second reference space is a coordinate space in which the kinematics of at least a portion of the robotic arm are defined relative to a reference point.

9. The robotic controller of claim 1 , further comprising at least one space transformation module configured to transform the target motion into at least one of the first space target motion in the first reference space or the second space target motion in the second reference space.

10. The robotic controller of claim 1 , further comprising at least one spatial transformation module configured to perform at least one of the following transformations: transforming the shaped first space target motion into a shaped first target motion in at least one of a target reference space of the target motion or the first reference space; and • transforming the shaped second space object motion into a shaped second object motion in at least one of the object reference space of the object motion or the second reference space.

11. The robotic controller of claim 1 , further comprising at least one scaling module configured to perform at least one of the following scalings: • scaling the shaped first space object motion according to a first spatial scaling parameter to produce a scaled shaped first space object motion; or - Scaling the shaped second-space object motion according to a second spatial scaling parameter to produce a scaled shaped second-space object motion.

12. The robotic controller of claim 11 , further comprising a shaped target motion combination module configured to combine the scaled shaped first-space target motion and the scaled shaped second-space target motion into a combined shaped target motion on which the at least one motor control signal is based.

13. The robotic controller of claim 1 , further comprising at least one target motion scaling module configured to scale the shaped first-space target motion and the shaped second-space target motion according to a target motion scaling parameter.

14. A method of controlling a robotic arm, wherein the robotic arm comprises joints connecting a base and a tool flange of the robotic arm, and wherein at least one of the joints comprises an output flange movable relative to a body of the joint, and wherein the robotic arm comprises a motor configured to move the output flange relative to the body, The method comprises: ● generating a target motion for the robotic arm; generating a shaped first-space target motion by convolving a first-space target motion with a pulse train, wherein the first-space target motion defines the target motion of the robotic arm in a first reference space; generating a shaped second spatial object motion by convolving the second spatial object motion with the pulse train; wherein said second spatial target motion defines said target motion of said robotic arm in a second reference space; as well as • generating at least one motor control signal for at least one joint motor of the robotic arm based on both of the shaped first space target motion and the shaped second space target motion.

15. The method of claim 14, wherein the target motion comprises continuous motion of at least a portion of the robotic arm.

16. The method of claim 14, wherein the target motion comprises continuous motion of at least a portion of the robotic arm; and The method comprises: for a first portion of the target motion, generating the at least one motor control signal based on the shaped first spatial target motion and not based on the shaped second spatial target motion; and For a second portion of the object motion, generating the at least one motor control signal based on the shaped second spatial object motion and not based on the shaped first spatial object motion.

17. The method according to claim 14, further comprising: The shaped first space object motion and the shaped second space object motion are combined into a combined shaped object motion, wherein generating the at least one motor control signal is based on the combined shaped object motion of both the shaped first space object motion and the shaped second space object motion.

18. The method according to claim 14, further comprising: generating first motor control signals based on the shaped first-space object motion and a first dynamic model of the robotic arm, wherein the first dynamic model is defined in the first reference space; generating second motor control signals based on the shaped second-space object motion and a second dynamic model of the robotic arm, wherein the second dynamic model is defined in the second reference space; and • Combining the first motor control signal and the second motor control signal to generate the at least one motor control signal. The method of claim 14 , wherein the first reference space and the second reference space are different.

20. The method of claim 14, wherein the first reference space is a joint reference space, wherein the kinematics of at least a portion of the robotic arm are based on robot joint parameters, wherein the robot joint parameters correspond to the kinematics of at least one joint motor and the kinematics of at least one output flange.

21. The method of claim 14, wherein the second reference space is a coordinate space in which the kinematics of at least a portion of the robotic arm are relative to a reference point.

22. The method of claim 14, further comprising: transforming the object motion into the first spatial object motion in the first reference space; and • transforming the object motion into the second spatial object motion in the second reference space.

23. The method of claim 14, further comprising: transforming the shaped first-space object motion into a shaped object motion in at least one of the object reference space of the object motion or the first reference space; and • transforming the shaped second space object motion into a shaped object motion in at least one of the object reference space of the object motion or the second reference space.

24. The method of claim 14, further comprising: • scaling the shaped first-space object motion based on a first spatial scaling parameter to produce a scaled shaped first-space object motion; or - Scaling the shaped second-space object motion based on a second spatial scaling parameter to produce a scaled shaped second-space object motion.

25. The method according to claim 24, further comprising: The step of combining the scaled shaped first space object motion and the scaled shaped second space object motion to produce a combined shaped object motion.

26. The method of claim 14, further comprising: The shaped first spatial object motion and the shaped second spatial object motion are scaled before convolution.

Citation Information

Patent Citations

  • Vibration control of systems with configuration dependent dynamics

    WO2019012040A1

  • Robot control device and robot

    CN104589304A

  • Method and apparatus for minimizing unwanted dynamics in a physical system

    US5638267A