Robot with force control

The innovative robot design with low-gear-ratio drive trains and dynamic control systems addresses the challenge of safe high-speed operation near humans, achieving enhanced productivity and safety by reducing collision forces and sensor reliance.

DE202026100273U1Active Publication Date: 2026-05-07BROOKS AUTOMATION US LLC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Utility models
Current Assignee / Owner
BROOKS AUTOMATION US LLC
Filing Date
2026-01-19
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Existing collaborative robots face challenges in safely operating at high speeds near humans due to potential collision forces, which are difficult to mitigate with current sensor-based safety systems, leading to reduced productivity and increased costs.

Method used

A robot design with low-gear-ratio drive trains and dynamic forward control, combined with a control unit that limits motor torques and uses a dynamic model to predict and adjust movements, allowing safe operation at higher speeds by reducing reflected inertia and collision forces.

Benefits of technology

Enables collaborative robots to operate safely and productively at higher speeds by minimizing collision forces, enhancing productivity and reducing the need for costly safety barriers and sensors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Robots, comprehensive: a base; a bracket extending from the base; an arm assembly which is functionally connected to the support and movable relative to it, wherein the arm assembly comprises a first arm joint which is rotatably arranged relative to the base about a first axis of rotation, and a second arm joint which is coupled to the first arm joint and rotatably arranged relative to it about a second axis of rotation; an arm assembly drive configured to move the arm assembly relative to the support, wherein the arm assembly drive comprises an arm assembly motor and a drive train configured to move the arm assembly, and which has a gear ratio of 25:1 or less; a first arm joint drive comprising a first motor and drive train configured to rotate the first arm joint relative to the base about the first axis of rotation, and having a gear ratio of 25:1 or less; a second arm joint drive comprising a second motor and drive train designed to rotate the second arm joint relative to the first arm joint about the second axis of rotation, and having a gear ratio of 25:1 or less; an end effector coupled to the arm assembly and configured to hold an elongated object; and a control unit designed and configured to provide control signals to the arm assembly drive and the first and second arm joint drives to move the end effector relative to the base, wherein the control unit is designed and configured to determine external forces and torques in Cartesian coordinates acting on the end effector or on an elongated object held by the end effector, based on a torque increase or other change for the first and second motors of the first and second arm joint drives and without using force sensor information; wherein the control unit is configured to control the robot to move an elongated object held by the end effector in a placement direction with respect to a storage area, to position the elongated object in the storage area such that the robot rotates or allows the rotation of the elongated object about one or more Cartesian axes transverse to the placement direction, and moves the elongated object further in response to an external force on the elongated object having a component in the placement direction that is above a threshold value, wherein such rotation and movement along the placement direction enables the elongated object to move in the placement direction while keeping the component of the external force in the placement direction on the elongated object below the threshold value.
Need to check novelty before this filing date? Find Prior Art

Description

background

[0001] Until recently, all industrial robots installed in factories were separated from humans by safety barriers and interlocks to prevent collisions and potential injuries. Large robots can carry payloads of several hundred kilograms and are therefore potentially very dangerous due to the sheer mass involved. But even small assembly robots, which often operate at high tool speeds of 7 to 10 meters per second, possess enough energy to seriously injure people, even though their payloads are typically 3 kg or less.

[0002] Recently, there has been a growing interest in enabling robots to work safely alongside humans in the same workspace without the need for expensive and cumbersome safety barriers. This class of robot is known in industry as "collaborative robots".

[0003] In 2016, the ISO standard ISO_TS 15066:2016, "Robots and robotic systems - Collaborative robots," was published, specifying safe values ​​for collision forces that do not cause injury to humans. A collision force is determined by the kinetic energy of the robot and its payload, the braking distance, and the specified motor torque. The braking distance is determined by the kinetic energy, the compliance (stiffness) of the body part struck, the compliance of the robot structure impacting the person, and whether the collision occurs in free space or forces a part of the body against a rigid surface. The safe braking distance can typically vary from a few millimeters to several centimeters, depending on these factors.To comply with this standard, many robot users had to drastically reduce their operating speed when there was a possibility that the robot could collide with a human.

[0004] Various efforts have been made to reduce collision forces using sensors. For example, laser zone sensors have been used to detect whether a person enters a specific area and subsequently slow down or stop a robot. However, these are quite expensive, typically costing several thousand dollars, and for small robots, this cost is difficult to justify compared to a more cost-effective safety barrier. Even if a collision does not occur, this approach negatively impacts the robot's cycle time and productivity when a person is working near it, which is the very purpose and benefit of collaborative robots.

[0005] The robot can be equipped with touch, force, or torque sensors, but these typically only affect the tool tip or a part of the robot and require a collision before the control system can react and attempt to slow the robot down. To allow for an adequate reaction time, the robot must therefore almost always operate at a slower, less productive speed. These sensors also incur additional costs, and if they are used for safety, they must be redundant or fail-safe.

[0006] Currently, work is underway to evaluate capacitive proximity sensors that detect a person's electric field from a sufficient distance to slow down a robot. The safety of this technology has not yet been proven, as clothing and metal objects can interfere with this type of detection. Furthermore, similar to laser zone sensors, the cycle time of the robot and the work cell is affected even if a person is near the robot but no collision occurs. Summary of the invention

[0007] According to some embodiments, a robot is provided that can be operated in close proximity to humans, wherein the robot may, for example, be configured to operate alongside humans in accordance with the requirements of ISO TS 15066:2016, while achieving higher speeds than other collaborative approaches. In one arrangement, the robot may have one or more degrees of freedom; for example, the robot may comprise several joints or other components connected to each other such that each joint is pivotable or otherwise movable with respect to a particular axis relative to the joint or other component to which the joint is connected. The movement of joints or other robot components relative to at least one of the axes (or degrees of freedom) may be achieved by a motor and drive train with a low gear ratio, for example.It can be driven with a gear ratio of 25:1 or less, such as 1:1 in direct drive arrangements, and / or it can be reverse-driven (i.e., the rotor of the drive motor can be rotated or otherwise moved by applying force to the driven robot segment or another part). In some cases, using a gear ratio of less than 10:1 for at least two axes, and especially for at least three main axes of the robot, can offer particular advantages.

[0008] In some embodiments, the robot may have a base that is fixed relative to the ground or another structure, and an arm assembly may be movable relative to the base. In some embodiments, the arm assembly may be movable along a vertical direction relative to the base and may be cantilevered relative to the base. The arm assembly may include a first joint that pivots about a first axis relative to the base and a second joint that pivots about a second axis relative to the first joint. The movement of the arm assembly, the first joint, and the second joint with respect to their respective axes may be driven by a motor and drivetrain having a low gear ratio of 25:1 or less (e.g., 1:1) and / or being capable of reverse drive.With a 1:1 gear ratio, the drivetrain can be very simple, consisting of a connection between a motor shaft and the respective part, for example, a direct connection between a drive motor shaft and the first joint. However, other drivetrain configurations are also possible that have a 1:1 gear ratio but still include multiple components. By using a low gear ratio of 25:1 or less for two axes or degrees of freedom, the robot can exhibit significantly reduced reflected inertia and thus reduced effective mass compared to robot structures that use drivetrains with higher gear ratios. This can allow the collaborative robot to operate more safely at higher speeds in the presence of humans than would otherwise be possible.

[0009] In some embodiments, the three degrees of freedom of a robot using low-ratio drive trains for motion may be the robot's most important or "first" three degrees of freedom. In this case, the "first" three degrees of freedom (or axes of motion) are defined as the three degrees of freedom that are physically or functionally closest to the robot's base. These "first" three degrees of freedom can have the greatest impact and influence on the speed and range of motion of the robot's end effector or other end section, as they are often furthest from the end effector and typically provide the greatest torque, since they must accelerate the greatest inertia.Therefore, providing drive trains with a low gear ratio and reduced reflected inertia for at least some of the "first" three degrees of freedom (or axes of motion) can have the greatest impact on reducing potential collision forces. Of course, low gear ratio drive trains can also be used for other degrees of freedom that are "further" from the robot base.

[0010] In some embodiments, a robot with low-ratio drive trains for one or more degrees of freedom can employ dynamic forward control, in which forward coupling torques are determined in real time and combined (e.g., added to) feedback error torques to generate control signals for the drives for each of the at least three degrees of freedom. As explained in more detail below, the forward coupling torques can be determined taking into account the acceleration or velocity of a corresponding joint or other component, as well as the force of gravity or friction on the joint movement, thus reducing feedback error torques.Reducing the feedback error torques used to determine drive control signals can significantly decrease impact forces in the event of a robot collision with a person or other object, allowing the robot to operate at even higher speeds. In some embodiments, feedback error torques can be limited to a fraction, e.g., 10 to 25%, of the peak motor torque that a drive train can exert on a joint or other robot-driven component.

[0011] In some embodiments, a robot may comprise a base with a vertical support extending from the base and an arm assembly supported by the vertical support, which is movable relative to the vertical support along a vertical axis. In some cases, the arm assembly may be cantilevered from the vertical support and have two or more joints that are movable about vertical axes. That is, the two or more joints may be movable in a horizontal plane, which may reduce the effect of gravity on the movement of the joints. An arm assembly drive may be configured to move the arm assembly relative to the vertical support along the vertical axis, and the arm assembly drive may include a motor and drive train with a gear ratio of less than 25:1 and / or be capable of reverse drive.The arm assembly may include a first arm joint coupled to the vertical support and configured to rotate about a first axis oriented vertically relative to the base. The first axis may be coaxial with the vertical axis along which the arm assembly is movable, or it may be spaced from and parallel to the vertical axis. A first joint drive may include a motor and drive train that moves the first arm joint relative to the base with a gear ratio of less than 25:1 and / or may be reverse-driven. The arm assembly may also include a second arm joint coupled to the first arm joint and configured to rotate about a second axis oriented vertically relative to the first arm. For example, a distal end of the first arm joint may be coupled to a proximal end of the second arm joint.A second joint drive can include a motor and drive train that moves the second arm joint relative to the first arm joint at a gear ratio of less than 25:1 and / or can be reverse-driven. The relatively low gear ratios and / or reverse-drive capability of the arm assembly drive and the first and second joint drives can give the robot significantly reduced reflected inertia compared to robots that use higher gear ratios for these components. A third joint can be coupled to the second arm joint, for example, at a distal end of the second arm joint, and configured to rotate or otherwise move about a third axis relative to the second arm joint.The movement of the third joint can be driven by a motor or other means, and the transmission ratio used for the third joint can be any suitable ratio, although in some arrangements a lower ratio used for other components may be preferable. A control unit can supply control signals to the arm assembly drive and to the first and second arm joint drives to move the arm assembly, the first arm joint, and the second arm joint, respectively.

[0012] In some embodiments, the vertical support can be configured to pivot about the first axis relative to the base, and the first joint drive can be configured to pivot the vertical support about the first axis relative to the base, thereby moving the first joint about the first axis relative to the base. Thus, the first arm joint can be fixed relative to the vertical support with respect to pivoting about the first axis and instead pivot about the first axis with the vertical support. Although the first arm joint can be fixed relative to the vertical support with respect to rotation about the first axis, the first arm joint, along with the rest of the arm assembly, can be movable along the vertical axis relative to the vertical support.In another embodiment, the arm assembly comprises a slide that is attached to the vertical support and configured to move relative to the vertical support along the vertical axis. The arm assembly drive can be configured to move the slide relative to the vertical support along the vertical axis, and the first arm joint can be pivotally attached to the slide and configured to pivot relative to the slide about the first axis or an axis parallel to the first axis. Thus, in this arrangement, the first joint drive can be configured to move the first arm joint relative to the slide about the first axis or an axis parallel to the first axis, thereby moving the first arm joint relative to the base.

[0013] The arm assembly drive and the first and second joint drives can be arranged in different ways to achieve a low gear ratio. For example, the first and second joint drive motors can be directly connected to the first and second arm joints, respectively, to achieve a 1:1 gear ratio. In other embodiments, a 1:1 gear ratio or another low gear ratio can be achieved with some type of transmission between the motor and the driven part, for example, a belt drive between the drive motor and the respective moving part. In some cases, the first and / or second joint drive motor could be arranged coaxially with the first or second axis (e.g.,(so that a motor rotor rotates around the first or second axis) or be located further away, for example, inside or otherwise on the vertical support, and a drive belt or other gear could transmit the driving force to the first or second articulated arm. Positioning the drive motor away from the first or second axis can reduce the inertia of the first and / or second joint by positioning the motor mass closer to or completely isolating it from an axis of motion.

[0014] As mentioned above, a robot with low-gear-ratio drive arrangements for one or more degrees of freedom can be controlled using control signals for the drive motors that include forward and feedback torque components. In one embodiment, the control signals supplied by the control unit to the arm assembly drive and to the first and second joint drives include a forward feedback torque component, which can be determined, for example, in real time based on acceleration, gravity, velocity, and / or friction components with respect to the robot part being moved. The control signals can also include a feedback torque component, which may be limited to 10% to 25% of the maximum motor torque for the motor receiving the control signal.

[0015] As can be seen from the foregoing, in at least some embodiments the potential collision force of a robot can be reduced by a combination of reducing the forward reflected inertia of the motors and drivetrain for at least some joints and reducing the motor torques contributing to the collision force. As described above, the forward reflected inertia can be reduced by using low-gear-ratio drives for at least three axes of motion. The contributing motor torques can be reduced by calculating in real time the theoretical dynamic forward control motor torques required to drive the robot components, such as joints associated with at least three degrees of freedom of the robot.The robot controller can distinguish between the forward control torque components of a control signal and the feedback torque components of the control signal, such as proportional-integral-derivative (PID) feedback error torques (which may include, for example, a position error torque, integral error torque, derivation error torque, and acceleration error torque), which correct deviations during normal operation and collisions (also referred to as feedback).

[0016] If the forward feedback torques are correctly determined, the normal operating feedback torques can constitute a relatively small percentage of the total available or maximum motor torque of the controlled motors, and the feedback torques can be limited to significantly reduce the motor torques generated during a collision. In at least some embodiments, the drive control according to this aspect of the invention differs from other techniques in that the limitation of the collision force is effective throughout the entire movement and control of the robot and does not require collision detection and switching of the control unit modes to become effective.As explained in more detail below, it is also possible to limit the motor torque during a collision to a small percentage of the total available or maximum motor torque, for example, to 25% or less of the maximum motor torque, thereby further reducing the collision forces. This can, for example, prevent control signals that would cause an overshoot of the motor current and torque during a collision.

[0017] Another feature of at least some embodiments is that the safe operating speed of a robot can be increased when it operates in a "collaborative mode" in which the robot might collide with a person, so that such a collision does not exceed a certain safe collision force. This higher operating speed in itself can lead to faster work cycle times and higher productivity, but is even more advantageous compared to methods in which the robot must be slowed down when a person enters the robot's workspace or is in close proximity to a part of the robot.

[0018] In some embodiments, a robot controller uses a feedforward control algorithm that solves a complete dynamic model of the robot in real time (for example, in less than 1 millisecond) to continuously calculate the motor torques required to theoretically drive the robot, or at least to control the motor drives associated with three or more degrees of freedom of the robot. This model incorporates all coupled torques between the axes, including coupled acceleration forces, centripetal forces, Coriolis forces, gravitational forces, frictional forces, and actuator nonlinearities, and thus includes torque components for all these features as needed. The accuracy of this model depends on the smoothness and dynamic repeatability of the mechanical device.Theoretically, if the robot were dynamically perfect and the model were perfect, it could be driven solely by forward control without feedback and would precisely follow the commanded movements. For robots with direct drives or low-gear-ratio drives, the model's accuracy in predicting the torque required to drive the robot's entire range of motion can exceed 90%, for example. However, for robots with friction-intensive harmonic drive reduction gears (which inherently have a high gear ratio), a 30% variation in harmonic drive gear friction from robot to robot reduces the accuracy to approximately 60% for a sample of robots.Therefore, in addition to reducing forward reflected motor inertia, at least in some embodiments of this invention there is a significant advantage in using a direct drive or a drive with a low gear ratio with low and repeatable joint friction.

[0019] In at least some embodiments, the control unit can determine feedback torques in addition to the forward feedback torques to correct discrepancies between the dynamic forward model and the actual motion of the controlled robot parts, and incorporate feedback torque components into control signals fed to the robot joint drives. The control unit can determine the feedback torques using an enhanced classical PID structure that measures position, velocity, and acceleration errors, multiplies these errors by gains, and combines them with other corrections. The determined forward feedback torques and feedback torque components can be summed to provide the total motor torque command or control signal.

[0020] When using actuators with a low gear ratio and during standard operation (without collisions), the feedback error torques can be as low as 10% of the total available or maximum motor torque. Therefore, it is possible to set a lower limit for the PID feedback error torques; for example, the feedback torque component of a control signal can be limited to 10% to 25% of the total available or maximum motor torque, effectively limiting the contribution of the motor torque in both low-speed and high-speed collisions.When this feedback error torque limit is reached, the torque output is limited accordingly, the position error begins to increase, a position tracking error occurs, and the robot decelerates rapidly to a safe standstill, with the maximum motor error torque limited to 10% to 25% of its peak value, resulting in a very strong reduction of the collision force at low speeds or quasi-static collisions.

[0021] In some embodiments, a robot may include a base, a first joint coupled to the base and configured to rotate about a first axis of rotation relative to the base, a first joint drive comprising a motor and drive train configured to rotate the first arm joint about the first axis of rotation relative to the base and having a gear ratio of 1:1, and an end effector connected to the first joint for, for example, grasping and manipulating an object.A control unit can be designed and configured to provide control signals to the first joint drive to move the end effector relative to the base, and it can be designed and configured to determine external forces acting on the end effector in Cartesian coordinates based on a torque spike (or other torque change) for the first joint drive motor, without using force sensor information. In some cases, the external forces exerted on the end effector are exerted by one or more objects that are separate from the robot and over which the robot has no control.

[0022] For example, external forces acting on the end effector can be exerted by a human employee, a workpiece manipulated or otherwise processed by the end effector, objects touching a workpiece manipulated by the end effector, and others.

[0023] In some cases, the robot may have a second arm joint coupled to the first and configured to rotate around a second axis relative to the first. A second joint drive may include a motor and drive train configured to rotate the second arm joint around the second axis relative to the first, with a 1:1 gear ratio. The control unit may be designed and configured to provide control signals to the second joint drive to move the end effector relative to the base. In short, two or more joints may be interconnected as part of the robot and have a corresponding drive to move the joint relative to other joints and / or the base.The control unit can be designed and configured to determine external forces in Cartesian coordinates acting on the end effector and / or an object held by the end effector, based on a torque peak (or other torque change) for the motor of one or more joint actuators and without using force sensor information. This can be achieved using the Jacobian transpose and its inverse matrix to establish a mapping between the torques and forces of the robot joints and the Cartesian torques and forces at the end effector and / or the manipulated object.

[0024] These and other aspects of the invention will become clear from the following detailed description. Brief description of the drawings Fig. Figure 1 shows a vertically articulated 6-axis robot; Fig. Figure 2 shows another embodiment of the horizontally articulated 6-axis robot with a first arm joint that is pivotably coupled to a slide on a vertical support; Fig. Figure 3 shows another embodiment of the horizontally articulated 6-axis robot with a redesigned third joint; Fig. Figure 4 shows a block diagram of the main elements of a system for determining dynamic forward control torque control signals; Fig. 5 shows steps in a control procedure for a robot, which, as in Fig. 2 is arranged; Fig. Figure 6 shows a 4-axis version with 1:1 transmission ratios for three rotation axes; Fig. Figure 7 shows an illustrative robot system and an operating environment; The Fig. 8a and Fig. Figure 8b shows a schematic representation of a placement operation and robot operation in an illustrative embodiment. Detailed description

[0025] It is understood that aspects of the invention are described here with reference to certain illustrative embodiments and the figures. The illustrative embodiments described here are not intended to show all aspects, but rather serve to describe some illustrative embodiments. Therefore, the aspects should not be interpreted narrowly in light of the illustrative embodiments. Furthermore, it is understood that certain features disclosed herein may be used alone or in any suitable combination with other features.

[0026] The safe operating speed for a collaborative robot is determined by the kinetic energy of the moving mass (which is equal to ½ mv). 2The moving mass is determined by the motor torque exerted during the collision, the robot's compliance (stiffness), and the area of ​​the person the robot strikes. The moving mass comprises the robot's payload, the robot structure, and an equivalent mass representing the forward-reflected inertias of the motor rotors and the high-speed section of their drive transmissions, measured at the robot gripper or any other robot part that could potentially strike a person. The equivalent mass for forward-reflected inertia about an axis is equal to the sum of the inertias of the motor rotors and the high-speed section of their transmissions, each multiplied by the square of their gear ratios and divided by the square of the distance from the axis of rotation.In robots with high reduction ratios, this equivalent mass can be quite large, even though the rotor and gearbox masses are relatively small.

[0027] Collisions between a robot and a person or other object can be divided into high-speed collisions, low-speed collisions, and quasi-static collisions. In high-speed collisions, the forces generated by decelerating the moving robot's kinetic energy are dominant. However, the motor torques specified by the control system for moving the robot can also play a significant role, as conventional robot controllers typically apply maximum motor torque during a collision. This causes the robot to collide with a person in an attempt to correct positional and velocity errors caused by the collision. In slow and quasi-static collisions, the forces generated by the control system, which applies maximum motor torque to correct positional and velocity errors, are dominant.In a collision, the gear ratios also play a role in the collision force, as one component of the collision force corresponds to the requested motor torque multiplied by the gear ratio divided by the lever arm. Therefore, for a given collision force, a lower gear ratio on the robot's axes of motion results in a higher motor reaction force and improves the control unit's ability to detect a collision.

[0028] In some embodiments, a robot that has one or more of the features described here can be called a 6-axis robot with the Fig. The geometric (“kinematic”) structure shown in Figure 1 can be configured. However, such an arrangement can result in axes 2, 3, 4, and 5 being subjected to a large lever arm and torque due to gravity and / or other forces acting on the end effector. For example, a 1 Nm motor used with a typical 6-axis rotary joint with a length or radius of movement of 1 m can only withstand 1 N. For this reason, 6-axis robots with a rotary kinematics such as shown in Figure 1 cannot be used in this configuration. Fig. 1. High gear ratios or drive ratios are used for at least some axes to handle the heavy gravitational loads while allowing the use of compact motors. However, these high gear ratios also result in very large forward reflected inertias and high kinetic energies, as well as high collision forces, which negatively impact the collaborative nature of these robots.

[0029] According to at least some embodiments, the operating speed of a robot can be significantly increased by a novel combination of mechanical design and control system design, while simultaneously maintaining safe collision forces with a human. In some arrangements, a control unit algorithm that drastically limits motor torques during a collision, in combination with low-ratio gearboxes for the robot's main axes and a robot geometry that reduces the required motor drive gear ratios, can enable an increase in operating speed of more than 100% for a given safe collision force compared to the prior art.

[0030] Some embodiments combine a 4-, 5-, or 6-axis robot geometry structure with low-gear-ratio (less than 25:1) or direct-drive (1:1) motors for the main rotation axes, drastically reducing forward-reflected motor inertia. Such an arrangement can be used with a control unit algorithm that limits motor torque in the event of a collision to a small fraction of the available motor torque. This combination can reduce collision forces at both low and high speeds and significantly increases the safe operating speed when there is a possibility of collision with humans. This higher safe operating speed allows the robot to perform tasks at the same or slightly faster speeds than humans while safely cooperating with other employees, thus increasing its financial value.

[0031] In some embodiments, a robot can generally function as in Fig. 1 and / or 2 may be configured and comprise a base 100 and a first joint 104, which is coupled to the base and configured to rotate relative to the base about a first axis of rotation (e.g., axis 3). A first joint drive 108 may be provided, comprising a motor and a drive train configured to rotate the first arm joint 104 relative to the base 100 about the first axis of rotation, and which may have a low gear ratio of 25:1 to 1:1. One or more further joints may be provided, e.g.,A second joint 110 and a second joint drive 112 with a motor and drive train, configured to rotate the second arm joint 110 relative to the first arm joint 104 about a second axis of rotation (axis 4), and which may have a low gear ratio of 25:1 to 1:1; a third joint 114 with an associated third joint drive with motor and low gear ratio, etc., to rotate or otherwise move the third joint 114 about one or more axes (e.g., axes 5 and 6). An end effector 116 may be coupled to the first joint, e.g., directly or indirectly via one or more joints, and may be configured to grip and manipulate an object (e.g., rotate it about one or more axes such as axis 7, see figure). Fig. 2) applies a tool to a workpiece and / or performs other functions. In some cases, a control unit 101 may be designed and configured to supply control signals to the first joint drive 108 and / or other joint drives to move the end effector 116 relative to the base 100, for example, using one of the control techniques described herein. The control unit 101 may be designed and configured to determine external forces in Cartesian coordinates (e.g., in orthogonal X, Y, and Z axes) acting on the end effector 116 and / or the object carried by the end effector 116, based on a torque increase or other change for the motor of the first joint drive 108 (and / or for motors of other joint drives) and without using force sensor information.The control unit, for example, can be configured to determine forces acting on the end effector and / or the object carried by the end effector without using information from a force sensor located on the end effector 116, on the object carried by the end effector, or elsewhere, and which detects and measures the force or pressure exerted by an external object. Such a force sensor can convert the exerted force or pressure into an electrical signal that can be transmitted to a control unit, but a robot 1 and a control unit 101 can be configured to determine external forces acting on the end effector 116 and / or the object carried by the end effector 116 without using information from such a force sensor.For example, the control unit 101 can determine forces exerted on the end effector 116 in the X, Y and Z axes by a workpiece interacting with the end effector 116. For example, as a counterforce in response to a tool applied to the workpiece by the end effector 116, and can do this without using force sensor information, e.g., from sensors on the end effector 116, the workpiece, the tool, the joint drive, or any other component. Instead, the control unit 101 can, for example, use changes in the drive motor current or other indications of a torque change at the motor to determine the forces acting on the end effector 116 and / or the object carried by the end effector 116 in Cartesian coordinates. Thus, the external forces and torques exerted on the end effector that are determined can be exerted by one or more objects that are separate from the robot and over which the robot has no control.This can offer significant advantages, as the control unit 101 can determine such forces acting on the end effector 116 without incurring the cost and complexity of force sensors. In some embodiments, the robot 1 may have a force sensor on the end effector 116 and / or on the held object, e.g., as a backup or failover for the system to determine the external forces without using a force sensor. For example, the primary system for the robot 1 to determine the external forces acting on the end effector 116 and / or the held object may be the control unit 101, which uses changes in the drive motor current or some other indication of a torque change at the motor, but the robot 1 may also include a force sensor on the end effector 116 in case the primary system fails. It should be noted that the low gear ratios, e.g., in the case described in... Fig. The design shown in Figure 2 can provide very little friction between the motors and joints, unlike robots that use high-ratio reduction gears, such as harmonic drives, which can have gear ratios as high as 160:1 and have such high friction that the motor torques cannot be used to determine the forces at the output joints. For example, harmonic drives typically consume 30% to 40% of the motor torque just to overcome friction. Such an arrangement can also offer advantages in controlling the movement of the end effector and / or an object carried by the end effector.For example, when an object such as a laparoscopic surgical instrument is inserted into a relatively narrow opening such as a trocar, the control unit 101 can determine the forces and torques exerted on the surgical instrument in the X, Y, and Z directions and control the robot's movement accordingly (e.g., if the Z direction is the insertion direction). Such an application can be challenging because an angular misalignment of the surgical instrument relative to the trocar can lead to binding or other resisting forces. By determining the forces on the surgical instrument (and thus on the end effector 116) in Cartesian X, Y, and Z coordinates, the control unit 101 can, for example, align each of the axes (e.g., the Z-axis) with the correct insertion direction, allowing the control unit 101 to identify forces on the Z-axis and respond differently than forces on the X and Y axes.Forces in the Z-axis are expected and well understood, so the control unit 101 can generally ignore them unless they exceed a threshold. Forces in the X- and Y-axes and torques around the Z-axis can be carefully determined, and the robot's movement can be controlled to minimize them. This can, for example, allow the control unit 101 to minimize binding or other resistance during insertion due to misalignment of the surgical instrument with the trocar insertion axis. Another example involves inserting and / or removing containers or other items into / from horizontal storage racks.In such an application, containers or other objects may get caught on parts of the shelf during removal and / or insertion. By determining the forces and torques acting on the container in Cartesian coordinates, the control unit 101 can control the robot's movement to prevent this. Furthermore, inserting containers into a shelf may involve pushing the container until it contacts the back of the shelf. Here, too, the control unit 101 can precisely isolate and determine the force acting on the container in the insertion direction, thus accurately determining when the container has been correctly positioned.Accordingly, the control unit 101 can be configured to control the robot, including the first joint drive and / or other joint drives, to cause the end effector to support an elongated object and move the elongated object relative to a bearing opening, with the elongated object and the bearing opening being configured to generate a moment of resistance or a linear force in response to any misalignment of the elongated object with the bearing opening. This "software remote center compatibility" can be advantageous in a variety of different applications. One example is using a robot to hold a tapered pin on an end effector and push the pin into a hole. If the pin is not centered relative to the hole, pushing will generate a lateral force at the tip of the pin, causing the pin to rotate around its tip and jam instead of sliding into the hole."Software remote center compatibility" is the ability to measure forces and torques at a point remote from the center of the gripper or other end effector, such as at or in front of the tip of the pin, and to use this information in the software to reposition the robot so that the pin remains perpendicular to the hole or otherwise appropriately oriented while pressing down on the pin, thus achieving successful insertion instead of a failed jam. This force-measuring and control technology can also be used for a process called "refinement mediation," in which a part with a specified tolerance is inserted into a fixture and then pressed back and forth against the fixture walls using force measurement to detect the walls.Based on the position of the walls, the part is then centered much more accurately in the middle of the image than can be achieved by attempting to determine the optimal position of the image using human vision. This is especially true for images hidden inside devices. Since force measurement and robot control can be software-based, the force measurement and control technology can be flexible and used with a wide variety of different robots, end effectors, and manipulated objects. The determination of the forces and torques acting on the end effector and / or the object manipulated by the end effector in the Cartesian X, Y, and Z directions can be performed using a transposed Jacobian matrix that calculates the torque at one or more joint drive motors (e.g.,...The Jacobian matrix relates the force (represented by the motor current) along each of the Cartesian X, Y, and Z directions and the torques about the Cartesian X, Y, and Z axes at the end effector or another point, such as a location on a gripped and manipulated object. That is, a Jacobian matrix and its inverse can be used to map between joint velocities and Cartesian velocities, and the Jacobian transpose and its inverse can map between robot joint torques and forces and Cartesian torques and forces, for example, at an end effector or a manipulated object. The general Jacobian matrix can be a 6 x n matrix, where n is the number of robot axes or degrees of freedom. For robots with fewer axes, such as RPRR and PRRR kinematics, the calculation of the Jacobian matrix can be simplified.In short, a Jacobian matrix can be used to convert the torque at one or more drive motors (e.g., determined based on the motor current) into forces and torques at the end effector and / or an object held by the end effector, expressed in Cartesian coordinates. This Cartesian force and torque information can be used to adjust and control the robot's movement, for example, to prevent jamming when inserting objects or to achieve other purposes.

[0032] In some embodiments, one or more robots can cooperate with humans and / or other robots as part of a system for storing and / or retrieving items. For example, a robot can retrieve an item from a supply area and place the item in a storage area, such as a container, drawer, partially enclosed space, or other area. In some embodiments, the item can be an elongated object, such as a rectangular object, and a robot can grasp the elongated object using an end effector, such as a gripper, suction cup, etc., to manipulate the item and place it in a storage area.

[0033] The inventors recognized the advantages of a robot system that can adjust the robot's movement, at least partially, based on detected forces at the end effector when performing a movement such as placing an object in a storage area. For example, during a placement movement, the robot may encounter external forces and / or torques at the end effector and / or on the elongated object, and the robot can be configured to adjust the movement of the robot and / or the elongated object to limit the external forces exerted on the object while continuing the movement to place the elongated object in the storage area. For example, when placing an object into a container that holds several other objects, the object being placed may come into contact with the other objects in the container or with the container itself.Such contact can cause forces to be exerted on the object and / or the robot, and the robot can adjust its movement to keep the forces and torques on the object and / or the robot below one or more threshold values ​​in one or more Cartesian directions. Furthermore, the robot can make such an adjustment while continuing to move the object into the container or other storage area, if possible.In some embodiments, the robot can be configured to move an elongated object held by the end effector in a placement direction relative to the storage area, in order to position the elongated object in the storage area such that the robot rotates the elongated object about one or more axes transverse to the placement direction, or allows its rotation, and moves the elongated object further in the placement direction in response to an external force on the elongated object that has a component in the placement direction exceeding a threshold value. Such rotation and movement along the placement direction can allow the elongated object to move in the placement direction while the component of the external force acting on the elongated object in the placement direction remains below the threshold value.For example, the robot can be configured to place an object in a space between other objects in the storage area. If the robot detects forces acting on the object held by the end effector in the placement direction that exceed a threshold, the control unit can direct the robot to rotate the object or allow it to rotate so that the object can continue moving along the placement direction while the force exerted on the object remains below the threshold. These external forces could be caused by a collision with another object in the storage area, the walls of the storage area, a person, or another object near the robot.Limiting this force on the object below the threshold can, for example, reduce potential damage to the object or other objects in the storage area and / or allow the object to better adapt to available space in the storage area. In some embodiments, the rotation of the elongated object can occur when a control unit directs the robot to rotate part of the end effector or another part of the robot in response to the component of the external force along the placement direction exceeding the threshold. In some embodiments, the control unit can direct the robot to passively rotate the end effector in response to the external force.

[0034] In some embodiments, the robot can move in directions transverse to the placement direction if an external force (or a component of the force) acts transversely to the placement direction and exceeds a second threshold, which may be smaller than or otherwise different from a threshold used for forces along the placement direction. Thus, the control unit can be configured to control the robot to move, or to allow movement of the elongated object, in directions transverse to the placement direction when the external force has a component transverse to the placement direction and exceeds a second threshold. In some embodiments, the robot can be more compliant with external forces in a direction transverse to the placement direction.In some embodiments, the robot can be configured to work alongside humans and thus adapt to human interaction. For example, if a person touches the end effector or an object held by the end effector and exerts a force in a direction perpendicular to the placement direction, the robot can yield to this force (e.g., move in response to the force) when the force reaches the second threshold. When the second threshold is reached, the control unit can either control the robot to move in the direction of the external force or control the robot to allow passive movement in response to the external force.

[0035] In some cases, the control unit can direct the robot to retract the end effector and the item from the storage area if an external force acting on the item and / or the robot exceeds a threshold and an adjusted movement of the robot cannot keep the external force below the threshold. After retraction, the robot can attempt to place the item in the storage area again by moving the item in the placement direction.

[0036] In some embodiments, the robot can be configured to handle and store fragile items such as test tubes, glassware, or other objects that could break due to external forces. When placing the item in the storage area, if the robot detects external forces acting on the item above a threshold, the control unit can direct the robot to rotate and / or reorient the item so that it can continue moving in the placement direction without being subjected to external forces above the threshold. In some embodiments, the control unit can direct the robot to retract the end effector and the fragile item if the robot detects forces acting on the item that exceed the threshold.The robot can then attempt to place the object in the storage area again by moving the object in the placement direction. Limiting this force on the object below the threshold can reduce potential damage to the object. In some embodiments, the threshold for the external force can be set to a lower value than the robot's normal value when the robot is handling objects known to be fragile.

[0037] In some embodiments, the control unit can be configured to control the robot so that it moves the elongated object in the placement direction, with the longest dimension of the elongated object aligned along the placement direction. The control unit can also be configured to control the robot so that the end effector maintains the elongated object in an orientation where the longest dimension of the elongated object is aligned along the placement direction, even when an external force is applied to the object, causing the robot to move adaptively to limit the force on the object below a threshold.

[0038] It should be noted that the robot described above need not be limited to placing objects for storage and retrieval. The present invention can be used in any application that involves placing or otherwise positioning an object in a storage area. In some embodiments, for example, the robot can be configured to insert an elongated object, such as a surgical instrument, into a narrow opening, such as a trocar or incision.

[0039] All of the above-mentioned processes can be used in conjunction with the previously described software remote center compatibility, whereby the external force acting on the end effector or elongated object is determined using a transposed Jacobian matrix that relates the torque at one or more drive motors (e.g., represented by the motor current) to the forces along each of the Cartesian X, Y, and Z directions. Thus, the forces and torques acting on the end effector and / or the elongated object can be determined without the use of force sensors.

[0040] In some embodiments incorporating the features described here, a robot may use a kinematic configuration that includes a vertical linear axis as in Fig. 2 shown contains what is shown compared to the configuration in Fig. This can have one advantage. First, the robot parts that are pivotable around the main rotational axes (the first and second rotational axes 3, 4) move in the horizontal plane, thus eliminating the gravitational load on these rotational axes. The gravitational load is instead shifted to the vertical axis, which can be compensated for if necessary, and in any case, the torque load on the drive of the vertical axis is significantly reduced, allowing a much lower gear ratio to be used. For example, a gear ratio of 5:1 or 10:1 in the primary, gravity-loaded axis 2 of the configuration in Fig. 2. This can reduce the reflected drive inertia in the vertical direction. Furthermore, since the main rotation axes also move in the horizontal plane and are not subject to gravity, they can be driven by low-ratio gearboxes or direct drives, drastically reducing collision forces in the horizontal plane due to the much lower forward reflected inertias.

[0041] At least some embodiments also utilize a dynamic model of the robot for control, providing dynamic forward coupling torques (also referred to here as forward coupling torques) to counteract gravity and assist the robot's motor drive. If the robot could be perfectly modeled, the forward coupling torques could move the tool tip or other end effector of the robot along a predetermined path without real-time feedback and without errors. In practice, while dynamic models can be quite accurate, they are not perfect. Methods for generating a dynamic model are well-known in engineering and include both empirical and mathematical procedures. One such method is described in "Robot Manipulators: Mathematics, Programming, and Control" by Richard P.Paul, 1981, described a symbolic model developed using Lagrange mechanics. In the past, however, such dynamic models were generally used to improve robot performance, for example, to reduce position tracking errors or to achieve greater dynamic stability. In at least some aspects of the invention, a dynamic model of a robot and dynamic forward coupling torques are employed, for example, at all times and in all operating modes, to effectively reduce the impact force in the event of a collision between the robot and a person.

[0042] In the illustrative embodiment of Fig. In the embodiment 2, a robot 1 comprises a vertical support 102, which is supported by a base 100. The base 100 can be attached to the floor, a ceiling, or another structure and can be considered stationary, at least in some applications. A vertical support 102 is attached to the base 100 and supports an arm assembly 103, which includes a first arm joint 104, a second arm joint 110, and a third joint 114, all of which can be cantilevered from the vertical support 102. The arm assembly 103 can be movable relative to the vertical support 102 along a vertical axis 2 and can be moved by an arm assembly actuator 106. In this embodiment, the vertical support 102 is shown as a column or with a cylindrical or rectangular cross-section, but the vertical support 102 could have any shape that allows the arm assembly 103 to achieve the desired range of motion along the vertical axis 2.To guide the arm assembly 103 in its movement along the vertical axis 2, the vertical support 102 can include linear and / or rotary bearings, sliding guides, rails, or another structure to support the arm assembly 103 while enabling movement with relatively low friction. In this embodiment, the arm assembly drive 106 includes a rotary motor that drives a toothed belt 107, a chain, a rope, or another structure to move the arm assembly 103 along the vertical axis. However, other drive arrangements could also be used, such as a linear motor, a rack and pinion drive, a ball screw drive, etc. As mentioned above, the weight of the arm assembly 103 could be balanced by a movable mass, a spring, or another element to, for example, reduce the output force required by the arm assembly drive 106 to move the arm assembly 103.For example, the arm assembly 103 could be connected by a rope extending over a pulley (e.g. near the top of the vertical support 102) to a mass that counteracts the weight of the arm assembly 103.

[0043] In some embodiments, the first arm joint 104 is rotatable relative to the base 100 about a first axis of rotation 3, which is oriented vertically. Although other arrangements are possible and are explained in more detail below, in this embodiment the first arm joint 104 is fixed relative to the vertical support 102 with respect to rotation about the first axis 3 and is rotated about the first axis 3 by a first joint drive 108, which rotates both the vertical support 102 and the first arm joint 104 relative to the base 100. A proximal end of the first arm joint 104 is attached to the vertical support 102 and extends from the vertical support 102 to a distal end of the first arm joint 104, which is pivotably attached to the second arm joint 110.The vertical support 102 can be rotatably mounted on the base 100 in any suitable manner, for example by a plain bearing, a roller bearing, a needle bearing, etc., and the first joint drive 108 can comprise any suitable components for moving the first arm joint 104, for example a rotary drive that directly drives the vertical support 102 or uses a gearbox or other drive train.

[0044] A proximal end of the second arm joint 110 is connected to the distal end of the first arm joint 104 and can be rotated relative to the first arm joint 104 about a second axis of rotation 4, which is spaced apart from the first axis 3 and oriented vertically. Thus, both the first and the second arm joints 104, 110 are movable in a horizontal plane. The rotation of the second arm joint 110 is driven by a second joint drive 112, which in this embodiment comprises a drive motor located within the first arm joint 104 near the vertical support 102 or otherwise attached to it. The motor of the second joint drive 112 can be coupled to the second arm joint 110 via a drive belt, chain, rope, axle, or other transmission element and is located near the vertical support 102 within the first arm joint 104.This arrangement can reduce the mass of the arm assembly 103 at or near the second axis 4 and thus the inertia of the arm assembly 103. In other embodiments, the second joint drive 112 could instead comprise a motor arranged coaxially with the axis of rotation of the second arm joint 110, i.e., with the second axis 4. For example, a motor of the second joint drive 112 could be directly coupled to the second arm joint 110 at the junction between the first and second arm joints 104, 110 and have a rotor that rotates about the second axis 4. Other arrangements are possible, including one in which the drive motor is attached to the second arm joint 110 but positioned away from the second axis 4.

[0045] A third joint 114 is coupled to the distal end of the second arm joint 110 and is rotatable relative to the second arm joint 110 about a third axis of rotation 5. Depending on the embodiment, a 1-, 2- or 3-axis version of the third joint 114 can be attached to the end of the second arm joint 110.

[0046] For a 6-axis version of robot 1, a 3-axis version of the third joint 114 can be used as shown in Fig. 2. In this embodiment, the third joint 114 can rotate about the third axis 5, which is aligned along the length of the second arm joint 110 or runs parallel to a longitudinal axis of the second arm joint 110. Furthermore, the third joint 114 can include a component such as a gripper or other end effector 116, which is rotatably arranged relative to the third joint 114 about a fourth axis of rotation 6, which in this embodiment is oriented perpendicular to the third axis 5. The component of the third joint 114 can also be rotatable about a fifth axis of rotation 7, which in this embodiment is oriented in a direction perpendicular to the fourth axis 6. In some embodiments, the third, fourth, and fifth axes of rotation 5, 6, 7 can intersect at a common point.The illustrated configuration for the third joint 114 is a "yaw-stomp-roll" configuration, in which the yaw or third axis 5 allows rotation about the longitudinal axis of the second arm joint 110, the stomp axis or fourth axis 6 allows rotation about an axis perpendicular to the third axis 5, and the roll axis or fifth axis 7 allows rotation about an axis perpendicular to the fourth axis 6. The embodiments are not limited to this configuration of the third joint 114; an alternative is described below with a different embodiment. The overall configuration results in a robot capable of moving in six separate axes. In a 5-axis configuration, the rotation axis about the third axis 5 is typically eliminated. In a 4-axis configuration, the rotation axes about the third and fourth axes 5 and 6 are typically eliminated.

[0047] For example, it shows Fig. 6 a robot 1, which is connected to the in Fig. 2 is identical, except that the third joint 114 or the end effector 116 is rotatable only about a third axis of rotation 5, which is arranged in a vertical direction. However, other combinations of axis reductions are also possible.

[0048] In some embodiments, the arm assembly drive 106, the first joint drive 108, and the second joint drive 112 each comprise a motor and a drive train with a low gear ratio, i.e., 25:1 or less, for example, 10:1 or 1:1. In some cases, the drive train can be very simple and comprise a direct connection of a motor rotor to a corresponding joint or other driven part of the robot. In other cases, the drive train can comprise any suitable components, such as belt / chain / rope drives, pulleys, drive shafts, bearings, drive gears of any suitable type, etc. The use of low-gear-ratio drive trains for the "first" three or main axes of motion of the robot 1 can enable a relatively high robot speed while simultaneously meeting the requirements for collaborative robots and other criteria.Furthermore, the robot 1 can have a low gear ratio at the joints or axes of movement (as is also the case in the embodiment in . Fig. (1. This may be the case) can be reverse-driven, meaning that a person can, for example, pivot or otherwise move arm joints or other robot components by applying appropriate pressure with light to moderate force, thus enabling easy teaching of positions by moving the robot by hand. This reverse-drive capability is simply not available in robots that use drive gears with high gear ratios, such as harmonic gears and other similar elements. In some cases, a low gear ratio of less than 10:1 may be preferable and even offer advantages over gear ratios between 10:1 and 25:1.

[0049] The robot 1 also includes a control unit 101, which supplies control signals to the arm assembly drive 106, the first joint drive 108, and the second joint drive 112 to move the arm assembly 103 and its components. Optionally, the control unit 101 can supply control signals to control the movement of the third joint 114 and its components, for example, by providing control signals to one or more motors that drive the movement of the third joint 114 and its components. In this embodiment, the control unit 101 is shown mounted in the base 100 to further minimize the moving mass of the robot. However, the control unit 101 can also be mounted outside the robot, in the robot's joints, or distributed throughout the robot without compromising the advantages of this invention.As explained above and in more detail below, the control unit 101 can determine drive control signals for at least the arm assembly drive 106, the first joint drive 108, and the second joint drive 112 using a model of the robot 1 that determines dynamic forward-feedback motor torques and uses these torques to determine suitable control signals for the drives 106, 108, and 112. This can enable the control unit 101 to use relatively low feedback error motor torques, limited, for example, to 10 to 25% of a maximum motor torque. As also discussed herein, the control unit 101 can be configured to determine forces acting on an end effector 116 in the Cartesian X, Y, and Z directions based on a torque from one or more drive motors, for example, using a Jacobian matrix.

[0050] Fig. Figure 3 shows another embodiment of a robot 1 with a similar arrangement to the embodiment in Figure 3. Fig. 2. As above, elements that Fig. 2 and Fig. 3 common features are not described again, but only deviations with regard to are noted. Fig. 2 discussed. In this embodiment, the third joint 114 has a different configuration but can also rotate about up to three axes. Here, the third joint 114 comprises a "squat" section that rotates about a third axis 6, which is horizontal and perpendicular to the longitudinal axis of the second arm joint 110; a "yaw" section that rotates about a fourth axis 7, which is perpendicular to the third axis 6; and a "roll" section that extends outward from the "yaw" section and can rotate about a fifth axis 7, which is perpendicular to the "yaw" axis (the fourth axis 7). In this embodiment, the third axis 6 intersects the fourth axis 7, and the fourth axis 7 also intersects the fifth axis 5, but at a different point.

[0051] As previously described, configuring the main motion axes (the vertical axis and the first and second rotation axes – 2, 3, 4) with the rotations of the first and second arm joints in horizontal planes significantly reduces the torque load due to gravity on the motors for the first and second joint drives. This makes it possible to use low-ratio drives, including direct drives, instead of higher-ratio systems. In some robot embodiments, the low-ratio drive arrangements result in reverse-driven motors. The use of low-ratio drive arrangements for the main axes drastically reduces the forward reflected inertia and thus the effective mass at the gripper / tool ​​tip / other end effector.For example, if the inertia for a direct drive motor arrangement with 250 Nm at a radius of one meter and a gear ratio of 1:1 is 0.014 kgm. 2 In this case, the inertia reflected by the motor has an effective mass of only 14 grams, which is negligible compared to, for example, a payload of 3 kg. In this example, almost all the kinetic energy comes from the payload and the robot structure, and not from the reflected inertia of the motor.

[0052] In some embodiments, the robot further reduces the impact forces in a possible collision by having the robot controller 101 implement an algorithm designed to limit the motor torque in collisions by determining dynamic forward coupling torques for at least the main axes (or the “first” three axes in the embodiments above the vertical axis and the first and second rotation axes) and differentiating these from the PID feedback error torques in order to obtain a final instruction set or control signal for the corresponding drives.

[0053] Fig. Figure 4 shows a block diagram describing how the control circuit of control unit 101 can determine the dynamic forward coupling torques. Each of the in Fig. The four components shown can be implemented by a suitably programmed computer or other data processor and can be used in the form of software modules, ASICs, programmable arrays, or any other suitable arrangement. A trajectory planner 5a generates position commands in real time for each axis based on the position where the robot should be at that time. That is, the trajectory planner 5a, which knows where the third joint 114 or another end effector should be, determines the positions of the arm assembly 103, the first arm joint 104, and the second arm joint 110 so that the third joint 114 can be positioned correctly. In some cases, the "positions for each axis," i.e.,The vertical axis 2, the first axis 3 and the second axis 4, the position of the arm assembly 103 relative to the vertical support 102, the position of the first arm joint 104 relative to the base 100 and the position of the second arm joint 110 relative to the first arm joint 104. Various known techniques can be used to determine this positional information, which are not described in detail here.

[0054] A velocity and acceleration manager 5b uses these position commands to determine the appropriate axis velocity and acceleration commands with which the desired position can be achieved. Again, "axis velocity and acceleration commands" can be the required velocity and acceleration targets for the movement of each of the arm assemblies 103 relative to the vertical support 102, the first arm joint 104 relative to the base 100, and the second arm joint 110 relative to the first arm joint 104.

[0055] For pivoting movements, velocity and acceleration can be angular velocity and angular acceleration, e.g., for the first and second arm joints 104, 110. Here, too, known techniques can be used to determine velocity and acceleration control signals for the arm assembly drive 106, the first joint drive 108, and the second joint drive 112, which are not described in detail here. Additionally, for the purposes of this invention, the functions of 5a and 5b do not need to be separated and can be calculated simultaneously by the trajectory planner 5a if desired.

[0056] The position, velocity, and acceleration control signals are then combined with the information from the reflected inertia and effective mass model 5c, which includes the known joint and payload masses for robot 1, as well as the known forward reflected inertias of the motor and drivetrain. In one embodiment, this combination process uses one or more higher-order equations that provide a dynamic model of robot 1, taking into account the target positions, velocities, and accelerations for all major axes of motion, as well as the reflected inertia of the drivetrain and driven components.

[0057] Next, a forward-coupling torque manager 5d combines the position, velocity, and acceleration control signals with the robot's dynamic parameters, generated by the modeler 5c for reflected inertia and effective mass, to determine the motor torques for the entire arm assembly drive 106, the first joint drive 108, and the second joint drive 112, respectively. These torques are determined in real time and can include, among other things: the effects of acceleration on each axis, including direct effects on the accelerated axis, coupled effects that axes have on other axes, centripetal effects, and gravitational loading; Coriolis forces; and static and viscous friction.The inertias considered in the torque calculations include the mass of each joint, the mass of the payload, and the forward reflected inertia of the motor rotors and motor drives, along with their associated moments of inertia. In one embodiment, the combination process uses one or more higher-order equations that embody the robot's dynamic model. In other embodiments, the robot's dynamic model used by the forward-coupling torque manager 5d can be implemented by other means, including table-lookup methods and state-space approaches, which can sometimes combine the reflected inertia and effective mass operations of the modeler 5c with the operation of the forward-coupling torque manager 5d in a single function. The control output manager 5e can use the motor torques to determine motor control signals provided by the control unit 101.As explained above, the control unit 101 can combine the motor torques generated using forward-feedback dynamics modeling with feedback torques that are determined separately, e.g., using conventional feedback control techniques. While one embodiment generates the forward-feedback torques for the primary axes (the arm assembly drive 106, the first joint drive 108, and the second joint drive 112) because these offer the greatest benefit for a collaborative robot, the same procedures can be extended to all axes of the robot if required.

[0058] Fig. Figure 5 shows a block diagram describing the operations of control unit 101 with respect to determining motor control signals. In step 6a, the trajectory planner 5a generates the position commands for each axis at regular intervals, for example, every few milliseconds. In step 6b, the position commands are used by the velocity and acceleration manager 5b to determine the corresponding axis velocity and acceleration commands. As mentioned earlier, the operations of steps 6a and 6b can be combined if necessary, resulting in the same functional design. In step 6c, the velocity and acceleration commands are made available for use in the dynamic forward-coupling torque calculation by the reflected inertia and effective mass modeler 5c and the forward-coupling torque manager 5d.Additionally, in step 6d, the speed and acceleration commands are provided to a PID feedback fault torque manager. In step 6h, the PID feedback fault torque manager also receives the actual instantaneous axis positions, for example, by reading encoders or other position indicators for each axis. The PID feedback fault torque manager compares these position values ​​with the commands to generate correction feedback torques for each motor and delivers these correction feedback torques in step 6e to a PID torque limiter, which can limit the correction feedback torques to 10% to 25% of the maximum motor torque. This prevents excessive torque output in the event of a collision, which could lead to excessive fault signals.

[0059] The limited PID feedback torques and the dynamic feedforward torques are then summed to generate the desired motor command torques. However, with some motors, particularly direct-drive motors, significant nonlinearities can occur between the command torque and the torque actually produced by the motor due to imperfections in the shape of the motor magnets. To correct this, an actuator linear compensation manager in step 6f can adjust the predefined motor torques, for example, to compensate for the torque command based on the position and speed of a motor, before the predefined torques are sent to the motor amplifiers in step 6g.

[0060] In some embodiments, the mechanical system uses either direct drives or low-ratio drives, resulting in an accuracy of the dynamic forward-feedback torques exceeding 90% when predicting the torques required to drive the robot's entire range of motion. Consequently, the output of the PID feedback error torque manager in step 6e is expected to be quite small and can therefore be limited to a small fraction of the total motor power without affecting normal operation. This limitation further contributes to reducing impact forces in the event of a collision and allows for an increase in the safe operating speed of this invention. As a result, the robot can comply with the requirements of ISO TS 15066:2016 while operating at higher speeds than those typically found in the prior art.Furthermore, the control unit 101 can monitor the limiting function and use this information to reliably and quickly determine whether a collision has occurred. A collision is directly indicated by the limiting function if the limit is ever reached or if the limit is reached for a specific period of time. By limiting the PID feedback error torques, which are intended to correct deviations in the robot's motion when a collision occurs, the limits also reduce the control unit's ability to correct errors during the collision, and secondary indirect error conditions, such as excessive overrun errors, are triggered more quickly.

[0061] Fig. Figure 7 shows an embodiment with one or more robots 1 operating near a storage area 122. The one or more robots 1 can be configured to handle, store, remove, relocate, and / or otherwise manipulate items 126 into and out of the storage area 122. The robots 1 can be configured in any suitable way, including, but not limited to, those shown above. Fig. as described in sections 1-6. In general, the items 126 to be stored or otherwise manipulated can be supplied to a work area where the robot(s) 1 are operating, and the one or more robots 1 can retrieve the items 126 and place them in one or more storage areas 122. A storage area 122 can be any area capable of holding an item 126, such as a shelf, compartment, cabinet, container, or other space of a suitable shape and / or size, and the storage areas 122 can be of different sizes, shapes, or other configurations to accommodate, for example, items 126 of different sizes, shapes, etc. A storage area 122 can be part of a larger structure, such as a shelf, racking system, frame, etc., and can be enclosed on one or more sides.For example, a storage area 122 can have a rectangular cuboid shape, a cylindrical shape, or another enclosed shape with only a single opening for access to the storage area 122. In some cases, such as in . Fig. 7, storage areas 122 can have a rectangular cuboid shape, open only at a front opening through which items are placed by a robot 1 in storage area 122.

[0062] The items 126 of various sizes, shapes, and / or other configurations can be transported to the work area in any suitable way, for example, via a conveyor belt, containers, boxes, carts, by hand, etc. The robots 1 can remove items 126 and / or containers holding items 126 (e.g., a tray or a box) and place them in a defined storage area 122 so that the items 126 can be retrieved later. For example, the robot 1 can be operated to remove items 126 from containers and place them in a suitable storage area 122. In some cases, the robot 1 can place an entire container in a storage area 122 and / or place individual items 126 in a storage area 122.In some embodiments, locations where items 126, containers, or other objects to be manipulated by robots 1 (and / or humans working with the robots in the workspace) can be arranged vertically, e.g., such that the objects are located along a vertical height of 5 feet or more. For example, storage area structures 122 can be vertically oriented to accommodate items in areas near the floor up to a height of 5, 10, 15 feet or more. One or more robots 1 can be configured to operate in such an environment; e.g., a mount 102 for the robot 1, as shown in [reference], can be used. Fig. 6 is configured such that the arm assembly 103 can move along a vertical range of motion of 5, 10, 15, or more feet in height, allowing an end effector 116 to access a lowest and an uppermost storage area 122. In some embodiments, the base 100 can be movable relative to a support surface such as the ground, a floor, or other structure. In some embodiments, the base 100 can include wheels (not shown) functionally connected to a bottom surface of the base 100, enabling the base 100 to move along a support surface. Alternatively, the base 100 can include tracks, legs, or some other mechanism to allow the robot 1 to move along a support surface. This mobility can enable the robot 1 to retrieve items 126 and / or containers holding items 126 from more distant areas.

[0063] The storage areas 122 can be configured in any suitable way to receive items 126 within the storage area 122. In some cases, the storage area 122 may include a flat floor or lower support surface, a drawer or other container, a door, a wall, or other structure at an opening to the storage area 122 to prevent items 126 from falling out of the storage area 122, etc. In some cases, the robot 1 may be configured to move a drawer, a door, a wall, or other structure used to hold items in a storage area 122. For example, the robot 1 may move or remove a drawer in a storage area 122 to place an item in the drawer and then replace the drawer. In some cases, a storage area 122, as in Fig. 7 can be seen, comprising a holding device (e.g. a door, not shown) arranged over an opening to the storage area 122 to hold items 126 in the storage area 122.

[0064] In some cases, an object 126 can be an elongated object, such as a rectangular object, a rod-shaped object, or any other object that has one dimension longer than its other dimensions. To place the object 126 in a storage area 122, the robot 1 can, for example, pick up the elongated object 126 using an end effector 116. As can be seen from the above description of the robot arrangements for the Fig. As can be seen in Figures 1 to 6, the control unit 101 can control the various drives and other parts of the robot 1 so that the arm assembly is moved to suitable vertical positions and the arm joints and / or the end effector are moved to manipulate the object 126. To place the object 126 in a storage area 122, the robot 1 can be configured to move the object 126 into the storage area 122 in a placement direction.

[0065] The Fig. 8a and Fig. Figure 8b shows a schematic top view of a robot 1 placing an object 126 in a storage area 122 and serves to illustrate how a robot 1 can adjust its operation when it encounters forces that exceed one or more threshold values ​​in one or more directions. Fig. 8a and Fig. 8b the storage area 122 has an opening (on a bottom side in the Fig. 8a / 8b) and is enclosed by side walls (left and right sides in the Fig. 8a / 8b) and a back wall (on a top side in the Fig. 8a / 8b) enclosed. As in Fig. 7. The storage area 122 can have a lower wall (in the plane of Fig. 8a / 8b) and a ceiling (outside the plane of Fig. 8a / 8b) to enclose the storage area 122. During operation, the robot 1 can move the object 126 in a placement direction 130, which may generally be perpendicular to a plane of the opening to the storage area 122. However, this is not required, and the placement direction 130 may be oriented in any suitable way with respect to the storage area 122, including directions with respect to an opening to the storage area 122. When moving the object 126 along the placement direction 130, the robot 1 may encounter one or more external forces that oppose the placement of the object 126 in the storage area 122. An external force may arise, for example, from a collision of the object 126 or the robot 1 with objects in the storage area 122 and / or near the robot 1, including, but not limited to, the walls of the storage area 122, a person, another robot 1, etc.As previously mentioned, the control unit 101 can be configured to determine the external forces acting on the end effector 116 and / or the object 126 without using information from a force sensor located on the end effector 116, on the object 126 carried by the end effector 116, or elsewhere, which detects and measures the force or pressure exerted by an external object. Such a force sensor can convert the exerted force or pressure into an electrical signal that can be transmitted to a control unit, but a robot 1 and a control unit 101 can be configured to determine the external forces acting on the end effector 116 and / or the object 126 carried by the end effector 116 without using information from a force sensor.For example, the control unit 101 can be designed and configured to determine the external forces acting on the end effector 116 and / or the object 126 carried by the end effector 116 on the basis of a torque increase or other change for the motor of the first joint drive 108 (and / or for motors of other joint drives), as in the . Fig. 1 and Fig. 2 can be seen, and without using force sensor information.

[0066] In some embodiments, the robot 1 may have a force sensor on the end effector 116 and / or on the held object 126, for example, as a backup or failover for the system to determine the external forces without using a force sensor. For example, the primary system for the robot 1 to determine the external forces acting on the end effector 116 and / or the held object 126 may be the control unit 101, which uses changes in the drive motor current or some other indication of a torque change at the motor. However, the robot 1 may also include a force sensor on the end effector 116 and / or on the object 126 to transmit the external forces to the control unit 101 if the primary system fails.

[0067] The robot 1 can be configured to adjust its operation in response to an external force, for example, to limit the external force so that it remains below a threshold and to allow the object 126 to continue moving in the placement direction 130 into the storage area 122. For example, the control unit 101 can control the robot 1 to move an object 126 (e.g., an elongated object) held by the end effector 116 in a placement direction 130 relative to the storage area 122 in order to position the elongated object 126 in the storage area 122. If an external force acting on the object 126 with a component in the placement direction 130 exceeds a threshold value occurs, the robot 1 can rotate the object 126 about one or more axes transverse to the placement direction or allow rotation and continue moving the object 126 in the placement direction 130.Such a rotation and movement along the placement direction 130 can be carried out such that the object 126 moves in the placement direction 130, while the component of the external force in the placement direction 130 on the elongated object 126 and / or the robot 1 is kept below a threshold value. As, for example, in . Fig. As shown in Figure 8a, a robot 1 can move an object 126 in a placement direction 130 into a space between other objects 132 and / or a wall 134 in the storage area 122. If the robot 1 detects an external force acting on the object 126 along the placement direction 130 above a threshold value, which opposes the movement of the object 126 into the storage area 122, the robot 1 can rotate the object 126 or allow the object 126 to rotate, as shown in Figure 8a. Fig. 8b shows that this is to keep the external force below the threshold and allow the object 126 to continue moving along the placement direction 130. In the example of Fig. 8a. If the object 126 is moved in the placement direction 130, it may become wedged between the left wall 134 and the object 132 or otherwise encounter resistance. In response, the robot 1 may rotate the object 126 or allow the object 126 to rotate (e.g., clockwise, as in Fig. (Figure 8a shown), while the object 126 is moved in the placement direction 130, so that the clamping force is reduced or eliminated and the object 126 can continue to be moved in the placement direction 130. In some embodiments, the rotation of the object 126 can occur when the control unit 101 controls one or more parts of the robot to rotate, and / or can occur passively in response to the external force (e.g., the control unit 101 can limit the torque of one or more drives to limit the external force on the object 126, so that one or more parts of the robot rotate passively). The adapted movement of the robot can be achieved by rotating the first arm joint 104 about a first axis 3 via the first joint drive 108 and / or the second arm joint 110 about a second axis 4 via a second joint drive 112 and / or by rotating one or more parts of the end effector 116 (see Figure 8a). Fig. 1-4). As mentioned earlier, such rotation can be passive, i.e., one or more robot parts can rotate relative to other parts in response to an external force, and / or it can be caused by one or more drives.

[0068] In some embodiments, the control unit 101 can be configured to control the robot 1 so that it moves the object 126 in the placement direction 130, with the longest dimension of the object 126 oriented along the placement direction 130. For example, in Fig. Figure 8a shows that the robot 1 initially moves the object 126 such that the longest dimension of the object 126 is not aligned along the placement direction 130. The robot 1 can be configured to move the object 126 so that its longest dimension is aligned along the placement direction 130, as shown in Figure 8a. Fig. Figure 8b shows that this type of motion control can be performed before the occurrence of an external force opposing the placement of the object 126 in the storage area 122, and can help reduce the probability that the object 126 is subject to external forces during movement (e.g., due to the smaller frontal area during movement). In some cases, the control unit 101 can be configured to control the robot 1 so that the object 126 is held in an orientation where the longest dimension of the object 126 is aligned along the placement direction 130, even after an external force exceeding a threshold has occurred.For example, the end effector 116 can grip and rotate a rectangular object 126 such that the longest dimension of the object 126 is aligned along the direction in which the object 126 is inserted into the storage area 122, and this alignment can be maintained, if possible, even when an external force occurs that exceeds a threshold value.

[0069] In some embodiments, an external force can be exerted by various objects in a device, including, but not limited to, the holding device in a storage area 122, a person in the work area, a storage container, another robot, etc. In some cases, an external force can have one or more components that extend transversely to the placement direction. This is the case, for example, in Fig. 8a shows where the external force exerted on the object 126 by the object 132 and the wall 134 has a component in the placement direction 130 (e.g. downwards in Fig. 8a) and has at least one component that is perpendicular to the placement direction 130 (e.g. to the right in Fig.8a). In some embodiments, a robot 1 may be more compliant or otherwise react differently to an external force in a direction transverse to the placement direction 130. For example, the control unit 101 may be configured to control the robot 1 to move the object 126 in directions transverse to the placement direction 130, or to allow its movement, when an external force acts that has a component transverse to the placement direction and exceeds a second threshold. For example, the robot 1 may be configured to work alongside humans and thus adapt to human interaction. If a human touches the end effector 116 and / or the object 126 and pushes it in a direction transverse to the placement direction 130, the robot 1 may yield to this force if the force exceeds the second threshold.When the second threshold is reached, the control unit 101 can control the robot 1 to move in the direction of the external force component perpendicular to the placement direction 130, or the control unit 101 can control the robot 1 to move passively due to the external force. In some cases, a second threshold, used with forces and components of external forces acting perpendicular to the placement direction 130, can be smaller than, equal to, or larger than the first threshold, which is used for forces in the placement direction 130. This can allow the robot 1 to react differently to different external forces. For example, when placing an object 126 in a storage area 122, relatively large resistive forces are expected in the placement direction 130, but only small or no forces in transverse directions.In this case, it may be advantageous to set the second threshold lower than the first. In some cases, when placing an object 126 in a storage area 122, it may be expected (or desired) that only slight or no resistance forces will occur in the placement direction 130 (e.g., if the object 126 is fragile), while greater forces may occur in the transverse direction. In this case, it may be advantageous to set the second threshold higher than the first so that, for example, the robot tends to move the object 126 along the same path even if it is bumped by a person nearby.

[0070] In some embodiments, the control unit 101 can control the robot 1 to withdraw an object 126 from a storage area 122 if an external force acting on the object 126 and / or the robot 1 exceeds a threshold and an adapted movement of the robot 1 cannot keep the external force below the threshold. After withdrawal, the robot 1 can attempt to place the object 126 in the storage area 122 again, for example, by moving the object 126 along the placement direction 130, but along a different path than previously attempted. This arrangement can allow the robot 1 to make multiple attempts to place an object 126 in a storage area 122, even after encountering a resistance force that exceeds a threshold and prevented placement of the object in previous attempts.

[0071] In some embodiments, the robot 1 can be configured to handle and store fragile objects 126, such as test tubes, glassware, or other objects that could break due to external forces. When placing the object 126 in the storage area 122, if the robot 1 detects external forces acting on the object above a threshold, the control unit 101 can control the robot 1 to rotate and / or reconfigure the object so that the object can continue moving along the placement direction 130 without external forces acting on it above the threshold. In some embodiments, the control unit 101 can control the robot 1 to retract the end effector 116 and the fragile object 126 if the robot 1 detects forces acting on the object 126 that exceed the threshold.The robot 1 can then attempt again to place the object 126 in the storage area 122 by moving the object 126 in the placement direction 130. Limiting this force on the object 126 below the threshold value can reduce potential damage to the object 126. In some embodiments, the threshold value for the external force on the robot 1 can be set to a lower value than normal when the robot 1 handles objects 126 that are known to be fragile.

[0072] Although the present teachings have been described in connection with various embodiments and examples, it is not intended to limit them to such embodiments or examples. On the contrary, the present teachings include various alternatives, modifications, and equivalents as are known to those skilled in the art in this field. Accordingly, the foregoing description and the drawings serve only as examples.

[0073] Furthermore, the wording and terms used here serve descriptive purposes and should not be considered restrictive. The use of "including," "comprehensive," "exhibiting," "containing," "encompassing," and variations thereof is intended to encompass the elements listed thereafter and their equivalents, as well as additional elements. QUOTES INCLUDED IN THE DESCRIPTION

[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited non-patent literature

[0000] ISO_TS 15066 2016

[0003] Robot Manipulators: Mathematics, Programming, and Control” by Richard P. Paul, 1981

[0041] Robots comply with the regulations of ISO_TS 15066 2016

[0060]

Claims

[1] Robots, in general: a base; a bracket extending from the base; an arm assembly which is functionally connected to the support and movable relative to it, wherein the arm assembly comprises a first arm joint which is rotatably arranged relative to the base about a first axis of rotation, and a second arm joint which is coupled to the first arm joint and rotatably arranged relative to it about a second axis of rotation; an arm assembly drive configured to move the arm assembly relative to the support, wherein the arm assembly drive comprises an arm assembly motor and a drive train configured to move the arm assembly, and which has a gear ratio of 25:1 or less; a first arm joint drive comprising a first motor and drive train configured to rotate the first arm joint relative to the base about the first axis of rotation, and having a gear ratio of 25:1 or less; a second arm joint drive comprising a second motor and drive train designed to rotate the second arm joint relative to the first arm joint about the second axis of rotation, and having a gear ratio of 25:1 or less; an end effector coupled to the arm assembly and configured to hold an elongated object; and a control unit designed and configured to provide control signals to the arm assembly drive and the first and second arm joint drives to move the end effector relative to the base, wherein the control unit is designed and configured to determine external forces and torques in Cartesian coordinates acting on the end effector or on an elongated object held by the end effector, based on a torque increase or other change for the first and second motors of the first and second arm joint drives and without using force sensor information; wherein the control unit is configured to control the robot to move an elongated object held by the end effector in a placement direction with respect to a storage area, to position the elongated object in the storage area such that the robot rotates or allows the rotation of the elongated object about one or more Cartesian axes transverse to the placement direction, and moves the elongated object further in response to an external force on the elongated object having a component in the placement direction that is above a threshold value, wherein such rotation and movement along the placement direction enables the elongated object to move in the placement direction while keeping the component of the external force in the placement direction on the elongated object below the threshold value. [2] Robot according to claim 1, wherein the first base is a mobile first base. [3] Robot according to claim 1, wherein the arm assembly is movable along the support in a range of motion that is at least five feet high. [4] Robot according to claim 1, wherein the arm assembly comprises a slide which is set up for movement and is driven by the arm assembly drive. [5] Robot according to claim 1, wherein the control unit is configured to use a transpose of a Jacobian matrix or equivalent matrix to convert the torque increase for the first and second motors into the Cartesian coordinates of the external force and external torque. [6] Robot according to claim 1, wherein the control unit is configured to determine the torque increase of the first and second motors based on changes in the electrical current of the first and second motors. [7] Robot according to claim 1, wherein the external force and external torque applied to the end effector are exerted by one or more objects that are separate from the robot and over which the robot has no control. [8] Robot according to claim 1, further comprising a third joint coupled to the second arm joint and configured to rotate about a third axis of rotation relative to the second arm joint. [9] Robot according to claim 7, further comprising a third arm joint drive comprising a third motor and a drive train configured to rotate the third arm joint relative to the second arm joint about a third axis of rotation, and having a gear ratio of 25:1 or less. [10] Robot according to claim 1, wherein the end effector is a gripper configured to grasp objects of different shapes and sizes. [11] Robot according to claim 1, wherein the first and second arm joint drive are configured to limit a resistance torque or linear force in response to the external force when the external force or external torque is greater than the threshold. [12] Robot according to claim 1, wherein the first arm joint drive, the second arm joint drive and the arm assembly drive are capable of being driven backwards. [13] Robot according to claim 1, further in combination with a second robot configured to move a holding device in the storage area. [14] Robot according to claim 1, wherein the control unit is configured to control the robot to move the elongated object in the placement direction, wherein the longest dimension of the elongated object is aligned along the placement direction. [15] Robot according to claim 1, wherein the control unit is configured to rotate a part of the end effector, allowing its rotation in response to the component of the external force or external torque along the placement direction exceeding the threshold. [16] Robot according to claim 1, wherein the control unit is configured to control the robot in such a way that the end effector holds the elongated object in an orientation, wherein the longest dimension of the elongated object is aligned along the placement direction. [17] Robot according to claim 15, wherein the control unit is configured to control the robot in such a way as to cause or enable the end effector to adjust the orientation of the elongated object in response to the component of the external force along the placement direction exceeding the threshold. [18] Robot according to claim 1, wherein the control unit is configured to control the robot to move the elongated object in directions transverse to the placement direction or to allow its movement in response to the external force having a component transverse to the placement direction and exceeding a second threshold. [19] Robot according to claim 1, wherein the control unit is configured to determine external forces and torques in Cartesian coordinates acting on the end effector or on an elongated object held by the end effector without using force sensor information from a force sensor located on or at the end effector and / or the elongated object. [20] Robot according to claim 1, further comprising a force sensor configured to determine one or more forces acting on the end effector and / or the elongated object.