Method for suppressing vibration of a robotic arm using an external object

By receiving and processing the vibration characteristics of external objects in the robot controller, a control signal is generated to suppress the vibration of the robot arm and external objects, the problem of limited vibration control effect in the prior art is solved, and the stability and accuracy of the robot arm are improved.

CN114901438BActive Publication Date: 2025-07-04UNIVERSAL ROBOT
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202080090619.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-12-29
Filing Date
2020-12-18
Publication Date
2025-07-04
Estimated Expiration
2040-12-18

AI Technical Summary

Technical Problem

The prior art is difficult to effectively suppress the vibration of the robot arm when connecting external objects, especially because the dynamic characteristics of the external objects are not fully considered, resulting in limited vibration control effect.

Method used

By introducing an external object mounting interface into the robot controller, receiving and processing the vibration characteristics of the external object, generating control signals to reduce vibration caused by the robot arm and external objects, vibration suppression is performed using pulse shaping technology.

Benefits of technology

It realizes effective suppression of vibration of robot arms and external objects, improves the motion stability and accuracy of robot arms, and reduces the impact of vibration of external objects on movement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114901438B_ABST
    Figure CN114901438B_ABST
Patent Text Reader

Abstract

The present invention discloses a method and a robot controller for controlling a robotic arm, wherein the robotic arm includes a plurality of robotic joints connecting a robot base and a robot tool flange, and each of the robotic joints includes an output flange capable of moving relative to a robotic joint body and a joint motor configured to move the output flange relative to the robotic joint body. The robotic arm is controlled based on vibration characteristics of at least one external object connected to the robotic arm, wherein the vibration characteristics are received via an external object mounting interface by generating a control signal for the robotic arm based on a target motion and the vibration characteristics of the at least one received external object, and the control signal includes control parameters of the joint motor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for controlling a robotic arm and a robotic controller, the robotic arm including a plurality of robotic joints connecting a robotic base and a robotic tool flange, wherein an external object has been provided to the robotic arm. Background Art

[0002] Robotic arms including a plurality of robotic joints and links, where motors or actuators can move parts of the robotic arm relative to each other, are known in the field of robotics. Generally, a robotic arm includes: a robotic base, which serves as a mounting base for the robotic arm; and a robotic tool flange, to which various tools can be attached. The robotic controller is configured to control the robotic joints to move the robotic tool flange relative to the base. For example, in order to instruct the robotic arm to execute a plurality of work instructions. The robotic joints can be rotational robotic joints configured to rotate parts of the robotic arm relative to each other, prismatic joints configured to translate parts of the robotic arm relative to each other, and / or any other kind of robotic joints configured to move parts of the robotic arm relative to each other.

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

[0004] The robotic arm needs to be programmed by a user or a robotic integrator who defines various instructions for the robotic arm, such as predefined movement patterns and work instructions, such as grasping, waiting, releasing, threading instructions. The instructions can be based on various sensors or input signals that typically provide trigger signals for stopping or starting a given instruction. The trigger signals can be provided by various indicators, such as safety curtains, vision systems, position indicators, etc.

[0005] Generally, various end effectors can be attached to the robotic tool flange or other parts of the robotic arm, such as grippers, vacuum grippers, magnetic grippers, threading lathes, welding equipment, dispensing systems, vision systems, etc.

[0006] A collaborative robot is a robot designed to interact directly with humans. When a robot is designed to collaborate, lightweight design is one of the main concerns. This is to reduce the impact generated during potential collisions with humans or obstacles. Therefore, the design will be a compromise between low mass and high stiffness. Lightweight design is a major goal in the development of current robotics, cranes, and automotive industries, to name just a few. Lightweight design is motivated by, for example, improving performance, enhancing safety, reducing environmental footprint, lowering energy consumption, and reducing costs. Compared to traditional heavy rigid industrial robots typically designed based on cast iron, lightweight design will have an increased amount of mechanical flexibility.

[0007] Robots with mechanical flexibility face challenges in terms of performance. For example, when fast point-to-point motion is desired, mechanical vibrations are unacceptable. Therefore, it is desirable to suppress mechanical vibrations in the robotic arm. For example, this can be achieved by using an input shaping method, which slightly modifies the target motion of the robotic arm by intelligently adding time delays. The modified (shaped) trajectory will reduce the amount of vibration at the system's critical natural frequency.

[0008] WO2019012040A1 and the corresponding scientific articles {ii.}{iii.} disclose methods for generating inputs to physical systems with different dynamic characteristics, which can be used to suppress mechanical vibrations in 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 the individual parts of the physical system, or a combination of the foregoing. To provide effective vibration suppression for the robotic arm, the accurate dynamic characteristics of the robotic arm in various poses must be available for the possible poses of the robotic arm, where the pose of the robotic arm characterizes the position and orientation of different parts of the robotic arm, for example, in the form of the position of the robotic joints (such as the joint angles of the robotic joints). This can be achieved by arranging the robotic arm in possible poses and obtaining the dynamic characteristics of the robotic arm in a given pose, for example, by performing measurements of the damping and natural frequency of the robotic arm in the current pose. This is a very complex process, which requires measuring the natural frequency and damping of the robotic arm under a large number of different configurations of the robotic arm, as due to the precise resolution of the robotic joints, a typical robotic arm can be arranged in an almost infinite number of poses; this is very time-consuming. Additionally, the large amount of measurement data makes it difficult to evaluate the dynamic characteristics in real time.

[0009] In addition, robotic arms are typically used in combination with various external objects connected to the robotic arm, such as end effectors attached to the robotic tool flange, wires, hoses, safety equipment, etc. attached to the robotic arm. When such external objects are provided, the vibration characteristics of the robotic arm are affected by these external objects. Therefore, the effect of using input shaping as described in WO2019012040A1, scientific articles {ii.}, {iii.} to control the robotic arm may be limited because the vibration characteristics used for input shaping are typically obtained during the calibration process during the manufacture of the robotic arm. Additionally, the robotic arm can be arranged on a structure that affects the vibration characteristics of the robotic arm, resulting in a similar effect.

[0010] EP 1132790 A1 discloses a controller for a machine (such as a robot and a machine tool having an electric motor as a machine drive source), which is capable of suppressing the natural vibration of the machine and / or an attachment attached to the machine. The frequency or period of the natural vibration of the end effector of the robot or the machine itself as an attachment is determined, and the coefficient of a filter for suppressing the amplitude of the natural vibration is changed according to the measured frequency or period of the natural vibration. In the case of suppressing the natural vibration of the end effector attached to the robot, the frequency or period of the natural vibration of various end effectors is determined and stored according to the operating state of the end effector, and the coefficient of the filter is set based on the frequency or period of the natural vibration stored according to the end effector attached to the robot and the operating state. In the case of suppressing the natural vibration of the machine, the natural frequency of the machine is always detected, and the coefficient of the filter is automatically changed according to the detected natural frequency, thereby suppressing the amplitude of the natural vibration of the machine whose natural frequency changes due to load changes and machine aging.

[0011] References

[0012] {i.}P.H.Chang, H.-S.Park, “Time-varying input shaping technique appliedto vibration reduction of an industrial robot,Control Engineering Practice”, Vol. 13, No. 1, 2005, pp. 121-130 http: / / dx.doi.org / 10.1016 / j.conengprac.2004.02.009

[0013] {ii.}D.K.Thomsen, R. D. Brandt, X. Zhang, "Experimental implementation of time-varying input shaping on UR robots", Proceedings of the 16th International Conference on Control, Automation and Robotics Informatics (ICINCO 2019), Volume 1, 2019, pp. 488-498; http: / / dx.doi.org / 10.5220 / 0007834504880498

[0014] {iii.} D.K. Thomsen, R. D. Brandt, O. Balling, X. Zhang, "Smooth online time-varying input shaping with fractional delay {FIR} filtering", Control Engineering Practice, Volume 88, 2019, pp. 21-37; http: / / dx.doi.org / 10.1016 / j.conengprac.2019.04.003 Summary of the Invention

[0015] The object of the present invention is to solve the above-mentioned limitations of the prior art or other problems of the prior art. This is achieved by a robot controller and a method for controlling a robotic arm as described in the independent claims.

[0016] Wherein, the robot controller according to the independent claim includes an external object mounting interface configured to receive the vibration characteristics of at least one external object connected to the robotic arm, and wherein the robot controller is configured to generate a control signal for the robotic arm based on the target motion and the received vibration characteristics of the at least one external object. This enables the user to ensure that the robot controller controls the robotic arm in a manner that minimizes the vibration of the external objects connected to the robotic arm and / or the vibration caused by these external objects. The external object mounting interface enables the user to provide vibration characteristics that are typically unknown to the robotic arm manufacturer, and the robot controller will then automatically consider these vibration characteristics when controlling the robotic arm.

[0017] Among them, the method for controlling a robotic arm according to the independent claim includes: the step of receiving the vibration characteristics of an external object connected to the robotic arm via an external object mounting interface, the step of generating a target motion for the robotic arm, and the step of generating a control signal for the robotic arm based on the target motion and the received vibration characteristics. This enables the user of the robotic arm to provide the vibration characteristics of the external object connected to the robotic arm and provide a control signal for the robotic arm to reduce the vibration introduced by the external object.

[0018] The dependent claims describe possible embodiments of the robotic arm and method according to the present invention. The advantages and benefits of the present invention will be further described in detail in the specific implementation manner of the present invention. Description of the Drawings

[0019] Figure 1 Shows a robotic arm according to the present invention;

[0020] Figure 2 Shows a simplified structural diagram of the robotic arm;

[0021] Figures 3a to 3d Shows an interface of various embodiments of an external object mounting module according to the present invention;

[0022] Figure 4 Shows a flowchart of a method for controlling a robotic arm according to the present invention;

[0023] Figure 5 Shows a flowchart of an embodiment of a method for controlling a robotic arm according to the present invention;

[0024] Figure 6 Shows a flowchart of an embodiment of a method for controlling a robotic arm according to the present invention;

[0025] Figure 7 Shows a flowchart of an embodiment of a method for controlling a robotic arm according to the present invention; and

[0026] Figures 8a to 8d Shows an interface including a program tree module, which includes program steps for executing a method for controlling a robotic arm according to the present invention. Detailed Description of the Invention

[0027] The present invention is described in view of exemplary embodiments that are only intended to illustrate the principles of the present invention. Those skilled in the art will be able to provide several embodiments within the scope of the claims. Throughout the specification, reference numerals for similar elements providing similar effects have the same last two digits. In addition, it should be understood that in the case where an embodiment includes multiple identical features, only some of the features may be marked with reference numerals.

[0028] Figure 1The robotic arm 101 is shown, which includes a plurality of robotic joints 102a, 102b, 102c, 102d, 102e, 102f that connect a robotic base 103 and a robotic tool flange 104. The base joint 102a is configured to rotate the robotic arm about a base axis 105a (shown as a dashed line), as indicated by the rotation arrow 106a; the shoulder joint 102b is configured to rotate the robotic arm about a shoulder axis 105b (shown as a cross indicating the axis), as indicated by the rotation arrow 106b; the elbow joint 102c is configured to rotate the robotic arm about an elbow axis 105c (shown as a cross indicating the axis), as indicated by the rotation arrow 106c; the first wrist joint 102d is configured to rotate the robotic arm about a first wrist axis 105d (shown as a cross indicating the axis), as indicated by the rotation arrow 106d, and the second wrist joint 102e is configured to rotate the robotic arm about a second wrist axis 105e (shown as a dashed line), as indicated by the rotation arrow 106e. The robotic joint 102f is a robotic tool joint that includes the robotic tool flange 104, which is capable of rotating about a tool axis 105f (shown as a dashed line), as indicated by the rotation arrow 106f. Thus, the shown robotic arm is a six-axis robotic arm with six degrees of freedom and six rotational robotic joints. However, it should be noted that the present invention can be provided in a robotic arm that includes fewer or more robotic joints and other types of robotic joints, such as prismatic robotic joints that provide translation of parts of the robotic arm, such as linear translation.

[0029] A robotic tool flange reference point (also known as TCP (Tool Center Point)) 107 is indicated at the robotic tool flange and defines the origin of a tool flange coordinate system that defines three coordinate axes x 凸缘 , y 凸缘 , z 凸缘 . In the shown embodiment, the origin of the robotic tool flange coordinate system has been arranged on the tool flange axis 105f, where one axis (z 凸缘 ) is parallel to the tool flange axis, and the other axes x 凸缘 , y 凸缘 are parallel to the outer surface of the robotic tool flange 104. Additionally, a base reference point 108 coincides with the origin of a robotic base coordinate system that defines three coordinate axes x 凸缘 , y 凸缘 , z 凸缘 . In the shown embodiment, the origin of the robotic base coordinate system has been arranged on the base axis 105a, where one axis (z 凸缘 ) is parallel to the base axis 105a, and the other axes x 凸缘 , y 凸缘It is parallel to the bottom surface of the robot base. The direction of gravity 109 related 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 related to gravity.

[0030] The robot arm includes at least one robot controller 110, which is configured to control the robot arm 101 and can be provided as a computer including an interface device 111, so that a user can control and program the robot arm. The controller can be provided as an external device as shown Figure 1 or a device integrated into the robot arm or a combination thereof. The interface device can be provided, for example, as a teach pendant known in the field of industrial robots, which can communicate with the controller via a wired or wireless communication protocol. The interface device can include, for example, a display 112 and a plurality of input devices 113, such as buttons, sliders, touch pads, joysticks, trackballs, gesture recognition devices, keyboards, microphones, etc. The display can be provided as a touch screen that serves both as a display and as an input device. The interface device can also be provided as an external device (configured to communicate with the robot controller), for example, in the form of a smart phone, a tablet computer, a PC, a laptop computer, etc. The interface device can be a teach pendant, a handle, or a smart phone that communicates with the robot controller either wired or wirelessly.

[0031] The robotic tool flange 104 includes a force-torque sensor 114 integrated into the robotic tool flange 104. The force-torque sensor 114 provides a tool flange force signal that indicates the force-torque provided at the robotic tool flange. In the illustrated embodiment, the force-torque sensor is integrated into the robotic tool flange and is configured to indicate the force and torque applied to the robotic tool flange relative to the robotic tool flange reference point 107. The force-torque sensor 114 provides a force and torque signal that indicates the force and torque provided at the tool flange. In the illustrated embodiment, the force-torque sensor is integrated into the robotic tool flange and is configured to indicate the force applied to the robotic tool flange relative to the reference point 107 and the tool flange coordinate system. However, the force-torque sensor may indicate the force-torque applied to the robotic tool flange relative to any point that can be connected to the robotic tool flange coordinate system. In one embodiment, the force-torque sensor is provided as a six-axis force-torque sensor that is configured to indicate the force along three perpendicular axes and the torque about three perpendicular axes. For example, the force-torque sensor may be provided as any force-torque sensor capable of indicating the force and torque relative to a reference point, such as any force-torque sensor disclosed by WO2014 / 110682A1, US4763531, US2015204742. However, it should be understood that the force sensor related to the present invention does not necessarily need to be capable of sensing the torque applied to the tool flange. Note that the force-torque sensor may be provided as an external device that is arranged at the robotic tool flange, at other parts of the robotic arm, or omitted.

[0032] An acceleration sensor 115 is arranged at the robotic tool joint 102f and is configured to sense the acceleration of the robotic tool joint 102f and / or the acceleration of the robotic tool flange 104. The acceleration sensor 115 provides an acceleration signal that indicates the acceleration of the robotic tool joint 102f and / or the acceleration of the robotic tool flange 104. In the illustrated embodiment, the acceleration sensor is integrated into the robotic tool joint and is configured to indicate the acceleration of the robotic tool joint in the robotic tool coordinate system. However, the acceleration sensor may indicate the acceleration of the robotic tool joint relative to any point that can be connected to the robotic tool flange coordinate system. The acceleration sensor may be provided as any accelerometer capable of indicating the acceleration of an object. The acceleration sensor may be provided, for example, as an IMU (inertial measurement unit) capable of indicating both the linear acceleration and the rotational acceleration of an object. Note that the acceleration sensor may be provided as an external device that may be arranged at the robotic tool flange, at other parts of the robotic arm, or omitted.

[0033] Each robotic joint includes a robotic joint body and an output flange that is rotatable or translatable relative to the robotic joint body, and the output flange is directly or via an arm portion known in the art connected to an adjacent robotic joint. The robotic joint includes a joint motor that is configured to rotate or translate the output flange relative to the robotic joint body, for example via a transmission or directly connected to the motor shaft. The robotic joint body may be formed, for example, as a joint housing, and the joint motor may be disposed within the joint housing, and the output flange may extend out of the joint housing. Additionally, the robotic joint includes at least one joint sensor that provides a sensor signal indicative of at least one of the following parameters: the angular position and / or linear position of the output flange, the angular position and / or linear position of the motor shaft of the joint motor, the motor current of the joint motor, or an external force and / or torque attempting to rotate the output flange or the motor shaft. For example, the angular position of the output flange may be indicated by an output encoder such as an optical encoder, 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 may be provided by an input encoder such as an optical encoder, a magnetic encoder, which may indicate the angular position of the motor shaft relative to the robotic joint. It should be 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 may be provided, which in embodiments where a transmission is provided enables determination of the relationship between the input side and the output side of the transmission. The joint sensor may also be provided as a current sensor indicating the current passing through the joint motor, and thus the joint sensor is used to obtain the torque provided by the motor. For example, in combination with a polyphase motor, a plurality of current sensors may be provided to obtain the current passing through each phase of the polyphase motor. It should also be noted that some robotic joints may include a plurality of output flanges that are rotatable and / or translatable by a joint actuator. For example, one robotic joint in a robotic joint may include a first output flange that rotates / translates a first portion of a robotic arm relative to the robotic joint; and a second output flange that rotates / translates a second portion of the robotic arm relative to the robotic joint. As indicated above, the joint sensor may also be provided as a force-torque sensor or an acceleration sensor. Such force and / or torque and acceleration sensors may be part of the outermost joint as Figure 1 indicated, however other portions of the robotic arm may also include force-torque sensors and acceleration sensors. The robotic controller is configured to control the movement of portions of the robotic arm and the robotic joints by controlling the motor torque provided to the joint motors based on a dynamic model of the robotic arm, the direction of gravitational work, and joint sensor signals.

[0034] The end effector 126 (shown in dashed lines) 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 kind of end effector, such as a gripper, a vacuum gripper, a magnetic gripper, a threading lathe, a welding equipment, a gluing equipment, a dispensing system, a painting equipment, a vision system, a camera, etc. The end effector 126 constitutes an external object connected to the robot arm. However, the external object connected to the robot arm can be any one or more objects connected to the robot arm, such as wires, hoses, safety equipment, markers, lights, etc. connected to the robot arm. The robot base 103 is also connected to an external object, which is shown in the form of a robot bracket 127 (shown in dashed lines) on which the robot arm is mounted.

[0035] The external objects connected to the robot arm have some vibration characteristics that affect the robot arm, and these external objects may vibrate due to the movement of the robot arm. For example, during the movement of the robot arm, the working point of the end effector may vibrate in an undesirable manner. For example, if the external object is provided as a camera for visual inspection, the camera may vibrate when it reaches the position where it is required to take a photo or record a video, so the camera needs to wait for a period of time before taking a photo / video. Therefore, the inspection time is extended. The working point of the end effector that requires very precise and accurate also needs to wait until the vibration is reduced. As will be described in the following paragraphs, the robot controller according to the present invention solves this situation by providing an external object mounting interface, where the vibration characteristics of at least one external object connected to the robot arm can be provided to the robot controller. Then, the robot controller can be configured to generate control signals for the joint motors based on the target motion and the vibration characteristics of the external objects. This enables the user to ensure that the robot controller controls the robot arm in a way that minimizes the vibration of the external objects connected to the robot arm and / or the vibration caused by these external objects. The external object mounting interface enables the user to provide vibration characteristics that are usually unknown to the robot arm manufacturer, and the robot controller will then automatically consider these vibration characteristics when controlling the robot arm.

[0036] Figure 2 is shown Figure 1 A simplified structural diagram of the shown robot arm is shown. The robot joints 102a, 102b, and 102f have been shown in a structural form, and for the simplicity of the drawing, the robot joints 102c, 102d, 102e, and the robot linkages connecting the robot joints have been omitted. In addition, the robot joints are shown as separate elements. However, it should be understood that these robot joints are directly connected to each other or as Figure 1shown are connected to each other via robotic linkages. The robotic joints include output flanges 216a, 216b, 216f and joint motors 217a, 217b, 217f or another actuator, where the output flanges 216a, 216b, 216f are rotatable relative to the robotic 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 motor or joint actuator may be configured to rotate the output flange via a transmission system such as a gear (not shown). In this embodiment, the output flange 216f of the tool joint 123f constitutes the tool flange 104. These robotic joints optionally include at least one joint sensor 219a, 219b, 219f, which provides sensor signals 220a, 220b, 220f, and these sensor signals indicate at least one joint sensor parameter J of the corresponding joint 传感器,a , J 传感器,b , J 传感器,f . The joint sensor parameter may indicate, for example, an attitude parameter that indicates the position and orientation of the output flange relative to the robotic 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 parameter is selected from a list including the following: speed, acceleration, torque, motor torque, force, and position. The joint sensor parameter may be a measured value obtained from the sensor or a value 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, and these output encoders may indicate the angular position of the output flange relative to the robotic 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, and these input encoders may indicate the angular position of the motor shaft relative to the robotic joint. The motor current may be obtained and indicated by a current sensor

[0037] The robotic tool joint 102f includes a force-torque sensor 114 that provides a tool flange force-torque signal 224, and this tool flange force-torque signal indicates the force-torque FT provided to the tool flange 凸缘 . For example, the force signal-torque FT 凸缘 may be indicated as a force vector and a torque vector

[0038] Equation 1

[0039] where is the force indicated along the x 凸缘 axis, is the force indicated along the y 凸缘 axis, and is the indicated force along the z 凸缘 axis.

[0040] In embodiments where the force sensor is provided as a combined force-torque sensor, the force-torque sensor may additionally provide a torque signal indicating the torque provided to the tool flange, for example as a separate signal (not shown) or as part of the force signal. The torque may be indicated as a torque vector in the robot tool flange coordinate system:

[0041] Equation 2

[0042] where is the indicated torque about the x 凸缘 axis, is the indicated torque about the y 凸缘 axis, and is the indicated torque about the z 凸缘 axis. Note that the force vector and the torque vector may be provided as separate signals, and separate force sensors and / or torque sensors may be provided.

[0043] The robot tool joint 102f may include an acceleration sensor 115 that provides an acceleration signal 225 indicating the acceleration of the robot tool flange, where the acceleration may be indicated relative to the tool flange coordinate system.

[0044] Equation 3

[0045] where is the sensed acceleration along the x 凸缘 axis, is the sensed acceleration along the y 凸缘 axis, and is the sensed acceleration along the z 凸缘 axis. Additionally or alternatively, the acceleration sensor may be configured to measure the acceleration of the robot tool flange relative to gravity, and the acceleration measured relative to gravity may be converted to the acceleration of the robot tool flange relative to the robot base.

[0046] In embodiments where the acceleration sensor is provided as a combined accelerometer / gyroscope (e.g., IMU), the acceleration sensor may additionally or alternatively provide an angular acceleration signal indicating the angular acceleration of the output flange relative to the robot tool flange coordinate system, for example as a separate signal (not shown) or as part of the acceleration signal. The angular acceleration signal may indicate an acceleration vector in the robot tool flange coordinate system

[0047] Equation 4

[0048] wherein is the angular acceleration about the x 凸缘 axis, is the angular acceleration about the y 凸缘 axis, and is the angular acceleration about the z 凸缘 axis. Additionally or alternatively, the acceleration sensor may be configured to measure the angular acceleration of the robot tool flange relative to gravity, and the angular acceleration measured relative to gravity may be converted to the angular acceleration of the robot tool flange relative to the robot base.

[0049] The force sensor and the acceleration sensor of the illustrated embodiment are arranged at the robot tool joint 102f; however, it should be understood that the force sensor and the acceleration sensor may be arranged at any part of the robot arm, as one or more external objects connected to the robot arm. It should be noted that the force sensor and the acceleration sensor are optional and they may be omitted.

[0050] The end effector 127 in the form of a gripper (shown in dashed lines) is connected to the robot tool flange 104. The end effector may be connected to the robot controller, and the robot controller may be configured to control the end effector via the end effector control signal 228. Additionally, the end effector may provide an actuator feedback signal 229 to the robot controller, for example to indicate the state of the end effector, signals from various sensors, etc.

[0051] The robot controller 110 includes a processor 221, a memory 222, a motion planner module 230, a motor controller module 231, and an external object mounting interface 232. The motion planner module 230, the motor controller module 231, and the external object mounting interface 232 may be provided, for example, as processes executed by the processor 221; however, it should be noted that they may also be executed on separate processor units.

[0052] The motion planner module 230 is configured to provide a target motion of the robot arm, for example, by generating a trajectory of parts of the robot arm. The trajectory may be generated, for example, based on a robot program that instructs the robot arm to perform various tasks or user input provided via the interface device 111. In the illustrated embodiment, the motion planner module provides the target motion M d of various parts of the robot arm. The target motion may indicate the path along which a part of the robot arm should move, the speed of a part of the robot arm, the acceleration of a part of the robot arm, the route along which a part of the robot arm should move. The target motion may be indicated, for example, in Cartesian space with reference to the robot base coordinate system, the tool flange coordinate system, or any other reference coordinate system. Additionally, the target motion may be indicated in joint space, where the motion characteristics of the robot joints are indicated; for example, the angular position qd The desired angular velocity of the output shaft of the joint drive The desired angular acceleration of the robot drive

[0053] The target motion M d is provided to the motor controller module 231. The motor controller module 231 is configured to generate at least one motor control signal for the joint motors, for example, in the form of motor control signals 223a, 223b, 223f, which indicate control parameters of the joint motors, and these control parameters can be used to control the joint motors as needed. For example, the control parameters can indicate the motor torque T 马达,a 、T 马达,b and T 马达,f that each joint motor should provide to the output flange, and the robot controller is configured to determine the motor torque based on the dynamic model of the robotic arm known in the prior art. The motor controller module 231 is configured to generate the motor control signals 223a, 223b, 223f based on the target motion M d and the dynamic model D of the robotic arm 机器人 . The dynamic model D of the robotic arm 机器人 can be stored in the memory 222, for example. The dynamic model enables the controller to calculate the torque that each joint motor in the joint motors should provide to cause the robotic arm to perform the target motion, where the target motion indicates the motion of at least a part of the robotic arm. The motor controller module can additionally be configured to generate the motor control signals 223a, 223b, 223f based on at least one sensor signal 220a, 220b, 220f, and these sensor signals indicate at least one joint sensor parameter J 传感器,a 、J 传感器,b 、J 传感器,f and / or other sensor signals indicating other robot parameters. The sensor signals can indicate, for example, the angular position q of the output shaft; the angular position Θ of the motor shaft; the motor torque T 马达 provided by the joint motor to the motor shaft. For example, the joint motor can be provided as a multi-phase electric motor, and the robot controller can be configured to adjust the motor torque provided by the joint motor by adjusting the current flowing through the phases of the multi-phase motor, as is known in the field of motor regulation.

[0054] Additionally, the motor controller module is configured to be based on the vibration characteristics (ω i 、ζ i) to generate control signals for the robotic arm, wherein these vibration characteristics are received by the external object mounting interface 232. This enables the user to ensure that the robotic arm is controlled by the robotic controller in a manner that minimizes the vibrations of the external objects connected to the robotic arm and / or the vibrations caused by these external objects. The external object mounting interface enables the user to provide vibration characteristics that are typically unknown to the robotic arm manufacturer, and the robotic controller will then automatically take these vibration characteristics into account when controlling the robotic arm. The external object mounting interface can be configured to receive the vibration characteristics of the at least one external object via a vibration characteristic user signal 233 received through the user interface device 111, a vibration characteristic data signal 234 received from an external data source 235 (e.g., a memory device, a server, an external processor, etc.), and / or a vibration characteristic actuator signal 236 received from the external object (e.g., as an actuator feedback signal 229).

[0055] In one embodiment, the vibration characteristics of the at least one external object are received from the vibration characteristic user signal 233 received through the user interface device 111. This enables the user to directly provide the vibration characteristics of the external objects connected to the robotic arm to the robotic arm, for example, in conjunction with a mounting module, where the user provides various characteristics of the external objects connected to the robotic arm.

[0056] In one embodiment, the vibration characteristics of the at least one external object are received from the vibration characteristic data signal 234 received from the external data source 235. This enables the robotic controller to be connected to receive vibration characteristics from any data source that can be connected to the robotic arm. For example, the provider of an external object that can be connected to the robotic arm can provide the vibration characteristics of the external object as data, which can be automatically installed on the robotic controller without the user having to know in detail about the vibration characteristics. This is advantageous because it simplifies the task of the user providing the vibration characteristics of the external object and thus makes it easier for the user to reduce the vibrations of the robotic arm caused by connecting the external object to the robotic arm. Additionally, the external data source can update the vibration characteristics of the external object in real time.

[0057] In one embodiment, the vibration characteristics of the at least one external object are received from the actuator signal 236 that receives the vibration characteristics from the external object. This enables the vibration characteristics to be automatically received directly from the external object once the actuator feedback signal is created. The external object such as the end effector can include its own processor and memory, and the end effector can be configured to send the vibration characteristics to the robot controller when the two are interconnected. The provider of the external object can hereby provide the vibration characteristics of the external object on the external object itself, so that the vibration characteristics of the external object can be ensured to follow the external object. This is advantageous because it simplifies the task of the user providing the vibration characteristics of the external object and thus makes it easier for the user to reduce the vibration of the robot arm caused by connecting the external object to the robot arm. Additionally, the external object can update the vibration characteristics of the external object in real time.

[0058] The vibration characteristics of the external object can be received in the form of at least one number that indicates the vibration characteristics of the at least one external object. The at least one number indicating the vibration characteristics of the at least one external object can be any kind of number, such as an integer, a rational number, a real number, and / or a complex number. Additionally, the vibration characteristics of the external object can be received in the form of at least one external object vibration formula, where the external object vibration formula defines the relationship between the vibration characteristics of the at least one external object and at least one robot parameter. This enables the vibration characteristics of the external object to be obtained based on the robot parameters, such as the position, orientation, velocity, acceleration of the parts of the robot arm, because such parameters may affect the vibration characteristics of the external object. For example, the external object vibration formula can be defined in the form of a mathematical formula, program code, a look-up table, or a combination thereof. Additionally, it should be understood that the robot parameters defined by different formulas can be the same, different, or partially the same. Moreover, the number indicating the vibration characteristics of the external object and / or the result of another formula can be used as an input to one formula.

[0059] Figures 3a to 3d An embodiment of the user interface 111 including a display 112 and various input devices 113 is shown, and the robot controller is connected to the user interface device as Figure 1 described. The user interface includes an external object installation module that enables the user to manually provide the vibration characteristics of the at least one external object.

[0060] In Figure 3aIn [the relevant context], the external object mounting interface 232 is configured to display, on the display 112 of the user interface device 111, an external object mounting screen module 337a in the form of an external object mounting user interface, which includes at least one digital user field in which the user can input the vibration characteristics of the external object. In the illustrated embodiment, the user can input the natural frequency ω of the external object in the digital user field 338ω i as a real number N in units of Hz ω , however, it should be understood that the natural frequency can be indicated in any unit suitable for indicating the natural frequency. In addition, the user can input the damping ratio ζ of the external object in the digital user field 338ζ i as a real number N ζ .

[0061] In Figure 3b , the external object mounting interface 232 is configured to display, on the display 112 of the user interface device 111, an external object mounting screen module 337b in the form of an external object mounting user interface, which includes at least one formula user field in which the user can input the vibration characteristics of the external object in the form of a formula and / or program code. In the illustrated embodiment, the user can input the natural frequency ω of the external object in the formula user field 339ω i as a function ω of the robot parameters p1, p2 i (p1, p2), and input the damping ratio ζ of the external object in the formula user field 339ζ i as a function ζ of the robot parameters p1, p2 i (p1, p2).

[0062] In one embodiment, the external object mounting module may include a first external object mounting user interface where the user can provide the vibration characteristics of a first external object connected to the robotic arm and a second external object mounting user interface where the user can provide the vibration characteristics of a second external object connected to the robotic arm. In fact, the external object mounting module may include a plurality of external object mounting user interfaces that enable the user to provide the vibration characteristics of a plurality of external objects connected to the robotic arm. This allows the user to provide the vibration characteristics of the external objects independently of each other, and thus reduces the vibrations caused by adding multiple external objects to the robotic arm.

[0063] In Figure 3cIn it, the external object mounting interface 232 is configured to display an external object mounting screen module 337c in the form of an external object mounting user interface on the display 112 of the user interface device 111, and the external object mounting user interface includes at least one user field in which the user can input the vibration characteristics of a first external object. In the illustrated embodiment, the user can input the natural frequency ω of the external object in the numerical user field 338ω i as a real number N in Hz ω , and input the damping ratio ζ of the external object in the numerical user field 338ζ i as a real number N ζ , as Figure 3a described in. It should be understood that these user fields can also be formula user fields as Figure 3b described in. Additionally, the external object mounting module 337c includes an adding interface 340 that enables the user to add additional external object mounting interfaces, where the user can provide the vibration characteristics of additional external objects connected to the robotic arm. In the illustrated embodiment, when an additional external object is to be added, the adding interface is provided as a button that the user can activate. Figure 3c The user interface device in the case where only one external object is added is shown. Figure 3d Shown is Figure 3c the user interface device 111 of, where two external objects have been added. Thus, when the user activates it, the adding button and the user fields for providing the vibration characteristics of the second external object have been added. In the illustrated embodiment, the user can input the natural frequency ω of the external object in the formula user field 339ω i as a function ω of the robotic parameters p1, p2 i (p1, p2), and input the damping ratio ζ of the external object in the formula user field 339ζ i as a function ζ of the robotic parameters p1, p2 i (p1, p2), as Figure 3b described in. It should be understood that these user fields can also be numerical user fields as Figure 3a described in. This enables the user to easily provide the vibration characteristics of the external object because the user can add any number of external objects as needed.

[0064] In one embodiment, the motor controller module 231 is configured to generate a motor control signal for the joint motors by providing at least one object pulse train based on vibration characteristics of the at least one received external object. The object pulse train includes a plurality of pulses and the control signal is generated by convolving the target motion with the at least one object pulse train, for example, as described in {i.}{ii.}{iii.}. In cases where the user has provided vibration characteristics of the external object, this enables the use of pulse shaping techniques to reduce vibrations introduced by the external object. It should be understood that the generation of the object pulse train and the convolution of the target motion with the object pulse train can be performed by other modules of the robot controller. For example, a pulse train generation module can be provided that is configured to generate an object pulse train based on the vibration characteristics of the external object, and the motion planner module 230 can be configured to perform the convolution and then send the convolved target motion to the motor controller module 231, or a convolution module can be provided that is configured to receive the target motion from the motion planner module and the pulse train from the pulse train generation module.

[0065] In an embodiment having a plurality of external objects, the motor controller module can be configured to provide a pulse train based on the vibration characteristics of each of the plurality of external objects. Thus, a plurality of pulse trains are provided and the motor controller module can be configured to convolve the control signal for the joint motors with each pulse train. It should be noted that the order of convolution does not matter and the plurality of pulse trains can be convolved with each other before being convolved with the control signal.

[0066] In one embodiment, the motor controller module 231 is configured to generate a motor control signal for the joint motors by, for example, obtaining vibration characteristics of the robotic arm based on prior knowledge of the robotic arm and / or based on user input. The motor controller module is then configured to provide a robotic arm pulse train based on the vibration characteristics of the robotic arm and generate the control signal by convolving the target motion with the robotic arm pulse train. This enables vibrations caused by the robotic arm to be reduced. Thus, the control signal can be generated by convolving the object pulse train and the robotic arm pulse train, thereby reducing vibrations caused by the robotic arm and the external object.

[0067] Figure 4 Shows control similar to Figure 1Flowchart of a method of a robotic arm as shown and described in FIGS. 1 to 3. The method includes: step 450 of receiving vibration characteristics of an external object connected to the robotic arm via an external object mounting interface, step 460 of generating a target motion for the robotic arm, and step 470 of generating a control signal for the robotic arm. As described above, this enables a user of the robotic arm to provide vibration characteristics of an external object connected to the robotic arm and to provide a control signal that reduces vibrations introduced by the external object.

[0068] Step 450 of receiving vibration characteristics (ω i , ζ i ) of at least one external object connected to the robotic arm may be performed by one or more of the following steps:

[0069] · Step (not shown) of receiving a vibration characteristics user signal from a user interface device, the vibration characteristics user signal indicating vibration characteristics of at least one external object connected to the robotic arm.

[0070] · Step (not shown) of receiving a vibration characteristics data signal received from an external data source; the vibration characteristics data signal indicating vibration characteristics of at least one external object connected to the robotic arm; and / or

[0071] · Step (not shown) of receiving a vibration characteristics actuator signal (236) received from an external object, the vibration characteristics actuator signal indicating vibration characteristics of at least one external object connected to the robotic arm.

[0072] Step 460: Generate a target motion for the robotic arm by generating trajectories of parts of the robotic arm. The trajectories may be generated, for example, based on a robotic program that instructs the robotic arm to perform various tasks or user input provided via an interface device. In the illustrated embodiment, step 460 provides a target motion M for parts of the robotic arm based on a desired waypoint WP1 to which a part of the robotic arm will move and also based on knowledge KoR of the robotic arm, such as a dynamic model and / or a kinematic model of the robotic arm. d . The target motion may indicate the path along which a part of the robotic arm should move, the speed of a part of the robotic arm, the acceleration of a part of the robotic arm, the route along which a part of the robotic arm should move. The target motion may be indicated, for example, in Cartesian space with reference to a robotic base coordinate system, a tool flange coordinate system, or any other reference coordinate system. Additionally, the target motion may be indicated in joint space, where the motion characteristics of the robotic joints are indicated; for example, the angular position q d of the output shaft of a joint actuator, the desired angular velocity (q d ) of the output shaft of a joint actuator, the desired angular acceleration q d of a robotic actuator.

[0073] Based on the target motion M D and the received vibration characteristics ω i 、ζ i perform step 470 of generating a control signal for the robotic arm, and the control signal includes control parameters for the joint motors. In the illustrated embodiment, the control parameter is the motor torque T 马达,a 、T 马达,b 、T 马达,c 、T 马达,d 、T 马达,e 、T 马达,f 。

[0074] In one embodiment, step 470 of generating the control signal includes the following: step 471 of providing at least one object pulse train based on the vibration characteristics of at least one provided external object, and step 472 of generating a control signal based on the object pulse train and the target motion. The object pulse train includes a plurality of pulses and can be obtained, for example, as described in {i.}{ii.}{iii.}. For example, the object pulse train can be indicated by the amplitude and delay of the pulses. Generally speaking, for input shaping, the pulse train consists of n pulses, where n is a positive integer. The pulse train consisting of n pulses is as follows:

[0075] Equation 5

[0076] Equation 6

[0077] Step 470 of generating a control signal for the robotic arm includes step 472 of convolving the target motion M d and the object pulse train to produce the convolved target motion Thereafter, in step 473, a control signal is generated for the robotic arm based on the convolved target motion.

[0078] Figure 5 shows a flowchart of a method for controlling a robotic arm. This method is similar to Figure 4 the method shown, and similar steps have been given the same reference numerals as in Figure 4 and will not be described further. In this embodiment, the method includes obtaining the vibration characteristics ω ra 、ζ raSteps (not shown). The vibration characteristics of the robotic arm can indicate, for example, the natural frequency or the damped frequency and damping ratio of the robotic arm, and can be obtained, for example, based on dynamic modeling of the robotic arm, a look-up table containing the dynamic characteristics of the physical system, measurements of the various parts of the physical system, or a combination of the above.

[0079] A further step 470 of generating a control signal for the robotic arm includes a step 574 of providing a robotic arm pulse train based on the vibration characteristics of the robotic arm, the robotic arm pulse train including a plurality of pulses and can be obtained, for example, as described in {i.}{ii.}{iii.}. For example, the robotic arm pulse train can be indicated by the amplitude and delay of the pulses:

[0080] Equation 7

[0081] Equation 8

[0082] In the illustrated embodiment, the step 470 of generating a control signal for the robotic arm includes a step 575 of convolving the target motion of the robotic arm that has been convolved and the robotic arm pulse train to produce a doubly convolved target motion Thereafter, in step 473, a control signal is generated for the robotic arm based on the doubly convolved target motion Thus, the vibrations caused by the robotic arm itself can be reduced together with the vibrations of the external object. It should be noted that the order of convolution does not matter, and the robotic arm pulse train can be convolved with the target motion M d and then the object pulse train can be convolved with the result of this convolution.

[0083] Figure 6 shows a flowchart of a method for controlling a robotic arm. This method is similar to Figure 4 the method shown, and similar steps have been given the same reference numerals as in Figure 4 and will not be described further.

[0084] In this embodiment, the step 450 of receiving the vibration characteristics of an external object connected to the robotic arm includes a step 651 of receiving the vibration characteristics ω1, ζ1 of a first external object connected to the robotic arm, and a step 652 of receiving the vibration characteristics ω2, ζ2 of a second external object connected to the robotic arm.

[0085] In this embodiment, the pulse train generated in step 471 is labeled as It indicates that step 471 generates a first object pulse train based on the vibration characteristics ω1, ζ1 of the first external object received in step 651. By taking the target motion M d and the first object pulse train to perform step 472 of convolving the target motion.

[0086] The further step 470 of generating a control signal for the robotic arm includes providing a second object pulse train based on the vibration characteristics of the second object received in step 652 in step 676.

[0087] In the illustrated embodiment, step 470 of generating a control signal for the robotic arm includes step 677 of convolving the convolved target motion and the second object pulse train to produce a double-convolved target motion Thereafter, in step 473, a control signal is generated for the robotic arm based on this double-convolved target motion Thus, vibrations caused by the first external object and the second external object can be reduced. It should be noted that the order of convolution does not matter, and the second object pulse train can be convolved with the target motion M d and then the first object pulse train can be convolved with the result of this convolution. It should also be noted that the vibration characteristics of additional external objects can be provided, and the pulse trains of such additional external objects can be convolved with the target motion or any convolved state of the target motion. Therefore, vibrations introduced by an infinite number of external objects can be reduced by pulse shaping based on each of the vibration characteristics of the external objects. Moreover, Figure 6 the embodiment shown in Figure 5 can be combined with the embodiment shown in

[0088] Figure 7 shows a flowchart of a method for controlling a robotic arm as shown in Figure 1 and Figure 2 This method can be used, for example, via the programming module of the user interface 111, which includes a display 112 and various input devices 113, as Figures 8a to 8d shown, and is connected to as Figures 1 to 2The robot controller described in Figures 8a to 8d will be described in view of the user interface shown in Figure 7 the method shown in

[0089] Step 780 is a step of instructing a part of the robot arm to move to a first target position WP1. For example, this can be achieved by providing program code that instructs the robot arm to move the robot tool flange to a target position in the environment around the robot arm. For example, the program code can be provided as a so-called movement command via the user interface as shown in Figure 8a wherein the program code instructs the robot arm to move the tool flange to the target position. In Figure 8a "Move to WP1" (shown in bold) has been selected, and the user can now enter the joint angles q1, q2, q3, q4, q5, q6 of the robot joints at the target position in the joint angle user field 895 in the corresponding program code module. It should be understood that the joint angle user field is only used as an example of how the target position can be defined, since the target position of a part of the robot arm can be defined based on many different parameters. For example, since the coordinates of this part of the robot arm relative to the robot base are points around the robot arm.

[0090] Step 760 is a step of generating a first target motion M d1 for the robot arm, wherein the first target motion is defined such that it is the motion of the robot arm that moves the part of the robot arm to the first target position. Step 760 is similar to the previously described step 460 and can be performed, for example, by the motion planner module 230.

[0091] Step 770 is a step of generating a first control signal for the robot arm based on the first target motion and the vibration characteristics of at least one external object connected to the robot arm, wherein the control signal includes control parameters for the joint motors. Step 770 is similar to the previously described step 470 and generates the control signal based on input shaping according to the vibration characteristics of at least one external object connected to the robot arm. For example, the external object can be a gripper.

[0092] Step 781 is a step of changing the vibration characteristics of at least one external object connected to the robotic arm. For example, this can be achieved by adding or removing an external object connected to the robotic arm, as this causes a change in the vibration characteristics of the external object. In Figure 8b , the program code "close gripper" 893a has been selected, and the program code module 891 shows a slider 896 where the user can set the state of the gripper to open or close. In Figure 8b , the state is set to closed such that when the program code "close gripper" is executed by the robot controller, the gripper of the robotic arm closes. Closing the gripper will generally change the vibration characteristics of the gripper (external object) as the mechanism of the gripper changes. However, in a typical use scenario, the gripper is closed in order to pick up an object corresponding to adding an additional external object. At the slider 896, the user can set the state of the gripper to open or close. Figure 8c , the selected program code "set object characteristics" enables the user to provide the vibration characteristics and other characteristics of the object picked up by the gripper. In Figure 8c , the program code module shows a user field 897 where the user can provide the natural frequency ω of the external object O , and a user field 898 where the user can provide the damping ratio ζ of the external object O . Additionally, the user can provide the mass m of the external object in the user field 899 O , as it is well known that adding additional mass to the robotic arm also affects the dynamic model of the robotic arm.

[0093] Once the vibration characteristics of the external object have been changed in step 781, the step of instructing a part of the robotic arm to move to a target position is repeated, except that the target position is changed to a second target position WP2, as shown in parentheses.

[0094] For example, this can be achieved by providing program code that instructs the robotic arm to move the robot tool flange to a target position in the environment around the robotic arm. In Figure 8d , "move to WP2" (shown in bold) has been selected, and the user can now enter the joint angles q1, q2, q3, q4, q5, q6 of the robot joints at the target position in the joint angle user field 895 in the corresponding program code module.

[0095] Repeat step 760 and generate a second target motion M of the robotic arm as shown in parentheses d2 , where the second target motion is defined as the motion of the robotic arm that causes the part of the robotic arm to move to the second target position.

[0096] Repeat step 770 and generate a control signal for the robotic arm based on the second target motion, and step 781 changes the vibration characteristics of at least one external object connected to the robotic arm. In other words, the vibration characteristics of the object held by the gripper are taken into account when generating the control signal for the robotic arm, so that the vibration of the robotic arm can be reduced in the case where the vibration characteristics of the robotic arm change during the execution of the robotic program. The vibration of the robotic arm can be reduced in the case where the vibration characteristics of the robotic arm change.

[0097] It should be noted that Figure 7 and Figures 8a to 8d the method shown in Figures 4 to 7 can be combined with the method shown in

Claims

1. A robot controller for controlling a robot arm, wherein the robot arm includes a plurality of robot joints connecting a robot base and a robot tool flange, and each of the robot joints includes: • An output flange that is movable relative to the robot joint body; • A joint motor configured to move the output flange relative to the robot joint body; The robot controller is configured to: • Obtain the vibration characteristics of the robot arm; • Provide a robot arm pulse train based on the vibration characteristics of the robot arm, the robot arm pulse train including a plurality of pulses; Characterized in that the robot controller includes an external object mounting interface configured to receive the vibration characteristics of at least one external object connected to the robot arm; Wherein the robot controller is configured to: • Generate a control signal for the robot arm based on the target motion of the arm and the received vibration characteristics of the at least one external object, the control signal including control parameters for the joint motor, generated by: o Providing at least one object pulse train based on the received vibration characteristics of the at least one external object, the object pulse train including a plurality of pulses; o Convolving the target motion with the robot arm pulse train and the at least one object pulse train.

2. The robot controller according to claim 1, wherein the external object mounting interface is configured to receive the vibration characteristics of the at least one external object connected to the robot arm from at least one of the following: • A vibration characteristic user signal received from a user interface device; • A vibration characteristic data signal received from an external data source; and • A vibration characteristic actuator signal received from the external object.

3. The robot controller according to claim 1 or 2, wherein the vibration characteristics are received in the form of at least one number indicating the vibration characteristics of the at least one external object.

4. The robot controller according to claim 1 or 2, wherein the vibration characteristics are received in the form of at least one external object vibration formula that defines the relationship between the vibration characteristics of the at least one external object and at least one robot parameter.

5. The robot controller according to claim 1 or 2, wherein the vibration characteristics of the at least one external object are provided as the natural frequency and damping ratio of the at least one external object.

6. The robot controller according to claim 1 or 2, wherein the robot controller is connected to a user interface device, and the user interface device includes an external object mounting module that enables a user to manually provide the vibration characteristics of the at least one external object.

7. The robot controller according to claim 6, wherein the external object mounting module includes: • A first external object mounting user interface, where a user can provide the vibration characteristics of a first external object connected to the robot arm; • A second external object mounting user interface, wherein a user can provide vibration characteristics of a second external object connected to the robotic arm.

8. The robotic controller according to claim 6, wherein the external object mounting module comprises: • An adding interface enabling a user to add an additional external object mounting interface, wherein the user can provide vibration characteristics of an additional external object connected to the robotic arm.

9. The robotic controller according to claim 7, wherein the external object mounting module comprises: • An adding interface enabling a user to add an additional external object mounting interface, wherein the user can provide vibration characteristics of an additional external object connected to the robotic arm.

10. A method of controlling a robotic arm, wherein the robotic arm comprises a plurality of robotic joints connecting a robotic base and a robotic tool flange, and each of the robotic joints comprises: • An output flange that can move relative to a robotic joint body; • A joint motor configured to move the output flange relative to the robotic joint body; The method comprises the following steps: • Obtaining vibration characteristics of the robotic arm; • Receiving vibration characteristics of an external object connected to the robotic arm via an external object mounting interface; • Generating a target motion for the robotic arm; • Generating a control signal for the robotic arm based on the target motion of the arm and the received vibration characteristics, the control signal comprising control parameters of the joint motor, and generated by: o Providing at least one object pulse train based on the received vibration characteristics of at least one external object connected to the robotic arm and providing a robotic arm pulse train based on the vibration characteristics of the robotic arm, each of the object pulse train and the robotic arm pulse train comprising a plurality of pulses; o Convolving the target motion with the robotic arm pulse train and the at least one object pulse train.

11. The method according to claim 10, wherein the step of receiving the vibration characteristics of at least one external object connected to the robotic arm comprises at least one of the following steps: • Receiving a vibration characteristics user signal from a user interface device, the vibration characteristics user signal indicating the vibration characteristics of at least one external object connected to the robotic arm; • Receiving a vibration characteristics data signal received from an external data source; the vibration characteristics data signal indicating the vibration characteristics of at least one external object connected to the robotic arm; and • Receiving a vibration characteristics actuator signal received from the external object, the vibration characteristics actuator signal indicating the vibration characteristics of at least one external object connected to the robotic arm.

12. The method according to claim 10 or 11, wherein the vibration characteristics of the external object are received in the form of at least one number, the at least one number indicating the vibration characteristics of the at least one external object.

13. The method according to claim 10 or 11, wherein the vibration characteristics of the at least one external object are received in the form of at least one external object vibration formula, and the external object vibration formula defines the relationship between the vibration characteristics of the at least one external object and at least one robot parameter.

14. The method according to claim 10 or 11, wherein the vibration characteristics of the at least one external object indicate the natural frequency and damping ratio of the at least one external object.

15. The method according to claim 10 or 11, the method comprising the steps of: • Receiving the vibration characteristics of a first external object connected to the robotic arm via a first external object mounting interface of a user interface device; • Receiving the vibration characteristics of a second external object connected to the robotic arm via a second external object mounting interface of the user interface device.

16. The method according to claim 10 or 11, the method comprising the steps of: • Adding an additional external object mounting interface using an add interface of a user interface device; • Providing the vibration characteristics of an additional external object connected to the robotic arm using the add interface.

17. A method of controlling a robotic arm, wherein the robotic arm includes a plurality of robotic joints connecting a robotic base and a robotic tool flange, and each of the robotic joints includes: • An output flange that is movable relative to a robotic joint body; • A joint motor configured to move the output flange relative to the robotic joint body; The method includes the steps of: • Obtaining the vibration characteristics of the robotic arm; • Instructing a portion of the robotic arm to move to a first target position; • Generating a first target motion for the robotic arm, the first target motion defining the motion of the robotic arm such that the portion of the robotic arm moves to the first target position; • Generating a first control signal for the robotic arm based on the first target motion and the vibration characteristics of at least one external object connected to the robotic arm, wherein the control signal includes control parameters of the joint motor, and is generated by: Providing at least one object pulse train based on the received vibration characteristics of the at least one external object and providing a robotic arm pulse train based on the vibration characteristics of the robotic arm, each of the object pulse train and the robotic arm pulse train including a plurality of pulses; and convolving the first target motion with the robotic arm pulse train and the at least one object pulse train; • Changing the vibration characteristics of the at least one external object connected to the robotic arm; • Instructing a portion of the robotic arm to move to a second target position; • Generating a second target motion for the robotic arm, the second target motion defining the motion of the robotic arm such that the portion of the robotic arm moves to the second target position; • Generate a control signal for the robotic arm based on the second target motion and the changed vibration characteristics of the at least one external object connected to the robotic arm, wherein the control signal includes control parameters for the joint motors and is generated by: providing at least one object pulse train based on the received vibration characteristics of the at least one external object and providing a robotic arm pulse train based on the vibration characteristics of the robotic arm, each of the object pulse train and the robotic arm pulse train including a plurality of pulses; and convolving the second target motion with the robotic arm pulse train and the at least one object pulse train.

18. A robotic controller for controlling a robotic arm, wherein the robotic arm includes a plurality of robotic joints connecting a robotic base and a robotic tool flange, and wherein each of the robotic joints includes: • An output flange that is movable relative to the robotic joint body; • A joint motor configured to move the output flange relative to the robotic joint body; wherein the robotic controller is configured to control the robotic arm by performing the steps of the method according to claim 17.

Citation Information

Patent Citations

  • Controller for machine

    EP1132790A1

  • Force moment sensor

    US20150204742A1

  • Force-torque sensor

    US4763531A

  • Force / torque sensor, apparatus and method for robot teaching and operation

    WO2014110682A1

  • Robot control, robot and method for actuating a robot

    EP1920892A2