Dynamic rollover prevention of robot mounting surfaces
By calculating and controlling the torque of the robot arm around the tipping point, the stability problem of the robot arm on unstable surfaces is solved, achieving higher stability and utilization, and adapting to the dynamic changes of the movable support structure.
Patent Information
- Application Number
- CN202480043167.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-05
- Filing Date
- 2024-07-01
- Publication Date
- 2026-02-13
AI Technical Summary
Existing technologies struggle to improve the stability of robotic arms on unstable surfaces without restricting their movement, especially during rapid joint movements where there is a risk of tipping over.
By calculating the threshold torque and torque contribution around at least one tipping point, the available torque applied by the robot arm is controlled to always be below the threshold torque, thus ensuring the stability of the robot arm.
It improves the stability and utilization of the robotic arm on unstable surfaces, allows for faster movement and greater force operations, avoids tipping over due to sudden emergency stops, and adapts to the dynamic changes of movable support structures.
Smart Images

Figure CN121532268A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a method for controlling the torque applied by a robotic arm about at least one tilting point. The invention further relates to a robotic arm system and a computer program product. Background Technology
[0002] Robotic arms are programmable machines designed to perform specific tasks quickly, efficiently, accurately, and safely. They are most commonly used to perform heavy and / or highly repetitive processes rapidly and consistently over extended periods of time, and are particularly valuable in industrial production, manufacturing, machining, and assembly.
[0003] A typical industrial robotic arm comprises a series of articulated joints that work together to closely resemble the movement and function of a human arm, at least from a purely mechanical perspective. Many robotic arms used today in countless industries and workplace applications are benchtop mounted, and some are even mounted on mobile robots, facilitating the movement of the robotic system as a whole (mobile robot and robotic arm) throughout the workplace. Such benchtop or mobile robotic systems represent the use of unstable surfaces for mounting robotic arms.
[0004] To date, the stability of a robot arm mounted on an unstable surface has been ensured by limiting the joint accelerations used for the movement of one, several, or all of the robot arm (thus limiting torque to some extent). This limitation must be determined empirically by the programmer to ensure that no robot movement throughout the program / cycle will cause the system to tip over. Alternatively, a virtual safety plane can be used in the robot controller, thereby limiting the Cartesian space in which the robot arm is allowed to move (the farther the robot moves from the tipping point, the more likely the system is to tip over). However, even when moving the robot arm closer to the base, high joint accelerations / torques can be applied, potentially causing the system to tip over.
[0005] JP 2006150567 A discloses a stabilization control device for a robot having a manipulator mounted on a cart. A target change in ZMP is set by comparing the actual ZMP (zero torque point) with the ZMP limit value at which the cart's upright state becomes unstable. If the actual ZMP is within a stable region, such as within the four corners of the cart, the target change in ZMP is set to zero. Conversely, if the ZMP deviates from the stable region, the robot becomes unstable and requires stabilization correction.
[0006] US 2019 / 0118380 A1 discloses a method for predicting robot falls, the method comprising: searching for a weighted value of center of gravity offset corresponding to the robot's posture; correcting the robot's center of gravity offset based on the weighted value of center of gravity offset; correcting the robot's acceleration based on the direction of the robot's center of gravity offset; and determining whether the robot will fall based on the corrected center of gravity offset and the corrected acceleration.
[0007] Therefore, it is necessary to improve the stability of the robot arm without excessively restricting its movement, and thus, a method is needed to control the robot arm in a stable manner that can adapt to rapid joint movements. Summary of the Invention
[0008] The inventors have identified the aforementioned problems and challenges related to the stability of robotic arms and subsequently made the inventions described below that improve the stability and usability of robotic arms.
[0009] One aspect of the present invention relates to a method for controlling torque applied by a robotic arm about at least one tipping point, the robotic arm being mounted on a support structure, the method comprising the steps of:
[0010] - Establish a threshold torque around the at least one overturning point.
[0011] - Calculate one or more torque contributions around the at least one overturning point.
[0012] - Calculate the available torque to be applied by the robotic arm, wherein the available torque is the difference between the threshold torque and the sum of the one or more torque contributions, and
[0013] - Control the robot arm such that the torque around the at least one tipping point caused by a change in the state of the robot arm is equal to or less than the available torque.
[0014] This provides an advantageous method for controlling the torque applied to a support structure by a robotic arm, which improves the stability and utilization of the robotic arm in a variety of applications. This method is advantageous for several reasons.
[0015] First, the method has the advantage that the torque applied by the robot arm around at least one tipping point (either through the movement of the robot arm or through the force applied by the robot arm to an external object such as a payload or a fixed obstacle) will not cause the robot arm to tip around at least one tipping point. This stability of the robot arm is achieved by calculating the available torque around at least one tipping point and ensuring that the movements / actions performed by the robot arm do not apply a torque greater than the available torque around at least one tipping point, thereby allowing the robot arm to operate within a threshold torque for tipping around at least one tipping point. Therefore, regardless of where the robot arm operates relative to the support structure, it is ensured that the torque applied by the robot arm is controlled below a defined limit.
[0016] Secondly, the method's advantage lies in its ability to improve the utilization of the robotic arm. By calculating the available torque, the robotic arm can operate as close as possible to its torque threshold around at least one tipping point, without exceeding that threshold. Thus, for example, compared to other robotic arms that do not operate according to this method and whose degrees of freedom are defined by predefined and potentially conservative thresholds, this robotic arm can perform faster movements or apply greater forces to external objects. Increasing the robotic arm's degrees of freedom improves its utilization because more tasks can be performed by the robotic arm. In other words, the full reach and workspace of the robotic arm become available, and the rate of the robotic arm decreases only when and where needed, thereby achieving optimal cycle time without tipping the system.
[0017] Third, the method has the following advantages: it controls the movement of the robot arm carrying the payload so that a sudden emergency stop of the robot arm will not cause the robot arm to tip over.
[0018] Fourth, this approach is advantageous from the perspective of robot integrators responsible for adapting robotic arms to specific applications. Robot integrators that integrate robotic arms operated using this method will be able to guarantee the stability and safe operation of the robotic arms, even when the robotic arms are mounted on support structures that are not fixed support structures (i.e., not on a floor or a structure mounted to a floor). Such non-fixed support structures can include movable structures, such as mobile robots.
[0019] This method can be considered predictive because it establishes an available torque at any given moment and allows the robot arm to operate within the boundaries of that torque. Thus, the robot arm can always operate within stability limits. This is in stark contrast to existing methods, which are more reactive in detecting the presence of instability in the robot arm and perform stability corrections as soon as instability is detected. This method avoids driving the robot arm into an unstable state from the outset. Therefore, this method improves robot arm safety compared to such existing methods.
[0020] It should be noted that this method involves calculating one or more torque contributions around at least one tipping point and summing these calculated torque contributions together. Obviously, if only one torque contribution exists, the sum of one or more torque contributions will naturally be equivalent to only one torque contribution. However, in most scenarios, multiple torque contributions may exist at any time during the operation of the robotic system (robotic arm and support structure). This summation of torque contributions can be done in several different ways, and therefore this method is not limited to any particular way of performing the calculation. One way to perform the calculation is to calculate one or more torque contributions in a vector representation and sum the vector representations of each of the one or more torque contributions together. The total torque contribution is thus also calculated in vector representation. Note that torque is always defined with reference to a specified point (or axis). Offset of the reference point (or reference axis) will also cause each torque (force) to change. Therefore, the total torque contribution can be defined relative to any reference point, and in the context of this invention, the specific relevant point can be the tipping point. In particular, the total torque (i.e., the sum / addition of one or more torque contributions) can be established relative to the tipping point (e.g., the tipping point of the support structure).
[0021] As an example, a table has four axes around which it is most likely to tip over (each axis is defined by a line intersecting an adjacent set of table legs). Each of these four axes (or virtually any point on one of these axes) may have a threshold torque for tipping over an axis (or point). The total torque contribution (the sum of one or more torque contributions) can be compared to any of these threshold torques, for example, starting with the axis with the lowest threshold torque, thus assessing the available torque around that axis. The comparison of total torque to threshold torques may involve comparisons with multiple threshold torques; however, in practice, there will always likely be some tipping points (or tipping axes) around which there is a higher risk of tipping over (depending on the combination of the robotic arm and the support structure), so starting from these points / axes may be most productive.
[0022] It should also be noted that one or more torque contributions can be specifically calculated around the same overturning point, and thus the summation of one or more torque contributions can be done numerically (without using vector addition). Those skilled in the art will readily understand that the calculation of the sum of torque contributions (total torque) can be done in multiple ways and still achieve the same result.
[0023] In this disclosure, the terms "robotic arm" and "mechanical arm" are used interchangeably, and in this context, a robotic arm is understood to be a type of mechanical arm that is typically programmable and has functions similar to a human arm. Such a robotic arm typically includes multiple robotic arm links interconnected by robotic joint elements, allowing the robotic arm links to rotate relative to each other. The connection of the robotic arm links via robotic joint elements defines an elongated structure that mimics the behavior of a human arm; however, its rotational degrees of freedom may exceed those of a human arm; for example, the joints of a robotic arm may allow 360-degree rotation, which may be impossible for joints in a human arm. Such a robotic arm may also include tools for performing operations on external objects.
[0024] Torque is understood as the rotational equivalent of a linear force. Just as a linear force is a thrust or pull, torque can be considered as the torsion of an object about a specific axis. In vector form, torque is the cross product of the radial quantity (from the axis of rotation to the point of application of the force) and the force vector. In notation:
[0025]
[0026]
[0027] in It is torque Size, It is a radial quantity. It is a force vector, and × represents the cross product of vectors. It is the magnitude of the radial quantity. It is the magnitude of the force vector, and It is the angle between the radial quantity and the force vector.
[0028] When torque is calculated about a point, it is automatically aligned along an axis that can be found using the right-hand rule of the cross product. In other words, torque is always a measure of torsional force about an axis of rotation. Throughout this disclosure, the term "torque" can refer to the vector quantity of torque, but it can also refer to the magnitude of the torque vector. It will be readily understood by those skilled in the art that the term "torque" is most meaningful in its specific context in which torque is referred.
[0029] It should be noted that torque is a convenient way of describing the effect of the force applied to the body in the context of anti-tipping. In this respect, torque can be regarded as a representation of force. Therefore, it should also be noted that the force representation of torque involved in this disclosure is considered an equivalent representation, and those skilled in the art will be able to convert between torque representations and force representations of force / torque involved in the control of the robotic arm without using any inventive skill.
[0030] In this context, "threshold torque" is understood as a limit on the torque that can be applied around at least one tipping point. Therefore, threshold torque is a torque limit related to a specific tipping point or at least to a specific tipping axis. It should be noted that multiple tipping points can exist for any physical object; however, this does not necessarily mean that an equal amount of threshold torque must be established. Exceeding the torque threshold can adversely affect the operation of the robotic arm, as the robotic arm and support structure may tip over. Therefore, threshold torque represents a physical torque limit that, when exceeded, will cause the support structure to which the robotic arm is mounted to to tip over. Threshold torque can be established in several ways; for example, if the robotic arm system (including the robotic arm and support structure) is a standard robotic arm system integrated to perform standard operations, the threshold torque can be calculated when integrating the robotic arm, or the threshold torque may have been pre-calculated. Threshold torque can be calculated based on physical parameters, including the height, mass, center of gravity, distance from the center of gravity to the tipping point of the support structure, and the mounting position of the robotic arm on the support structure.
[0031] In this context, "torque contribution" is understood as any kind of contribution of torque applied by the operation of the robotic arm around at least one tipping point. Such torque contributions may include torque generated by gravity applied to the robotic arm, torque generated by gravity applied to a payload moved by the robotic arm, torque generated by gravity applied to a support structure to which the robotic arm is mounted, torque generated by the Coriolis effect or centrifugal effect due to the velocity of at least a portion of the robotic arm, torque generated by the acceleration of the robotic arm, torque generated by friction between one or more wheels of the support structure (if it is a movable support structure) and the floor / ground, or torque generated by a force applied by the robotic arm to an external object. It should be noted that the above list of torque contributions is not exhaustive, and those skilled in the art will readily understand that other kinds of torque contributions may exist.
[0032] In this context, a "tilt point" can be understood as a point critical to the stability of the robotic arm, around which the robotic arm may tilt (or tilt or pivot). In other words, in this context, a tilt point can also be referred to as a pivot point. In some embodiments, at least one tilt point includes the point of contact between the support structure to which the robotic arm is mounted and the floor or ground below. For example, when the robotic arm is mounted on a surface of a workbench / table, the tilt point may represent the point of contact between the leg of the workbench / table and the ground on which it stands. For example, when the robotic arm is mounted on a support structure with wheels (such as a mobile robot, trolley, or handcart), at least one tilt point may be the point of contact between one of the wheels and the floor or ground below the wheel, or the center point of the wheel. A tilt point can also be a point arranged on a bogie axle having at least two wheels attached thereto. In another embodiment of the invention, at least one tilt point represents a point of contact between the robotic arm and the surface to which the robotic arm is mounted, such as a fastening point, like a bolt.
[0033] It should be noted that at least one tilting point may include more than one tilting point, such as multiple tilting points, such as two tilting points, three tilting points, four tilting points, or any number of tilting points. Those skilled in the art will readily understand that, in the case of multiple related tilting points, the steps of the method can be repeated for each of these tilting points considered crucial to the stability of the robotic arm system's operation.
[0034] In this context, "support structure" should be understood as any type of structure capable of supporting a robotic arm. A support structure is a non-fixed structure, meaning that, for example, if the robotic arm is operating externally, the support structure is different from the floor of a building or from the ground. Examples of support structures may include structures such as tables and workbenches, as well as structures with transport components (e.g., wheels), such as trolleys, handcarts, and mobile robots. In an alternative embodiment, the support structure may be a fastening component for mounting the robotic arm to the structure. It should be noted that in this disclosure, the support structure may also be simply referred to as a "structure".
[0035] In this context, "state change" is understood as a change in the position of one or more parts of a robot arm relative to the rest of the robot arm. In this sense, the state reflects an example of the positioning / arrangement of the robot arm's components, such as the specific arrangement of the robot arm's joints.
[0036] According to one implementation, the one or more torque contributions include one or more dynamic torque contributions.
[0037] In the context of this disclosure, "dynamic torque contribution" can be understood as a torque contribution resulting from the movement of the robot arm itself (e.g., movement of one or more robot joints of the robot arm) and / or the movement of the support structure to which the robot arm is mounted. Examples of such movement may include, but are not limited to, rotation of the robot arm about its robot base, rotation of any number of robot joints, or movement of the support structure (such as angular or linear acceleration), movement about a curved path, movement along a linear path, etc. Dynamic torque contribution may also arise from the movement of an auxiliary robot arm mounted on the same support structure.
[0038] For example, rotation of a robotic arm about its base joint can impose a significant torque contribution around at least one tipping point. Therefore, even if the robotic arm may operate close to the base (e.g., not extending completely horizontally away from the base joint) and its center of gravity may be within the support area of the supporting structure, the robotic arm system can still be prone to instability. As an example, extending the reachable range of the robotic arm while it is rotating can cause the robotic arm system (including, for example, the optional payload handled by the robotic arm) to become unstable, even if the extension of the reachable range still keeps the center of gravity within the support area of the supporting structure. In this case, without considering the dynamic contribution (which is indeed the case in many existing robot control systems), the robotic arm may be mistakenly perceived as being in a stable state even if it is actually on the verge of tipping. Therefore, by considering the dynamic torque contribution, such situations can be avoided, and the robotic arm can be operated more safely.
[0039] Furthermore, it is advantageous to consider the dynamic torque contribution when calculating the available torque about at least one tipping point, as this can improve the stability of the robot system in a wider range of applications, including applications where the robot arm is transported around on a movable support structure, applications where the robot arm is mounted on a support structure together with another mobile robot arm, or applications that employ the rapid movement of the robot arm.
[0040] According to one embodiment, the one or more dynamic torque contributions are generated by the movement of the robot arm and / or by the movement of the support structure.
[0041] Movement of a robotic arm can constitute the movement / rotation of a single robotic arm joint (or robot joint) or the movement of a collection of robotic joints of a robotic arm. Movement of a support structure can constitute acceleration (or deceleration) of the support structure. For example, such acceleration / deceleration may occur if the support structure is a movable support structure, such as a mobile robot, which can perform such movement when manipulated in a working environment. Such a movable support structure can also perform steering maneuvers, which can also constitute movement of the support structure.
[0042] According to another embodiment, the one or more dynamic torque contributions may also be generated due to the movement of one or more additional robotic arms.
[0043] According to one implementation, the one or more torque contributions include one or more gravitational torque contributions.
[0044] One or more torque contributions can be gravitational torque contributions. These torque contributions are generated by gravity, which exerts a gravitational force on the robot arm, on any tools mounted to the robot arm, or on a payload moved by the robot arm. The torque contributions can be calculated by taking into account the mass of the robot arm (or the mass of the individual components of the robot arm, such as the mass of the individual arm links), the mass of the tools carried by the robot arm, or the mass of the payload moved by the robot arm, and taking into account the distances of these components to at least one tipping point.
[0045] According to one embodiment, the one or more torque contributions include torque applied by using robotic tools of the robotic arm.
[0046] The robotic arm may include robotic tools for performing tasks. Examples of robotic tools may include a polishing unit for polishing the surface of an object, a drill bit for drilling, a manipulator, a suction device for moving an object / payload, or any other kind of tool that applies force to the robotic arm during use and thereby also applies torque around at least one tipping point.
[0047] According to one embodiment, the one or more torque contributions include the torque generated by the robotic arm moving the payload.
[0048] According to one embodiment, the support structure is a movable support structure, and wherein the one or more torque contributions include torque contributions associated with acceleration of the support structure, torque contributions associated with deceleration of the support structure, torque contributions associated with steering maneuvers performed by the support structure, or any combination thereof.
[0049] If the robotic arm is mounted on a movable support structure (such as an AMR (Autonomous Mobile Robot) or AGV (Automated Guided Vehicle), or any other support structure that includes transport components), it is advantageous to consider the torque contribution associated with the dynamics of the movable support structure, such as the support structure's acceleration, deceleration, steering, or any combination thereof, because such movement of the support structure can also exert a torque contribution. Considering this torque contribution is advantageous because the robotic arm system can operate safely even when the support structure is moving.
[0050] According to one embodiment, the support structure is a movable support structure, and wherein the one or more torque contributions include torque contributions associated with an emergency stop of the movable support structure.
[0051] Furthermore, when a robotic arm is mounted on a movable support structure (such as an AMR (Autonomous Mobile Robot) or AGV (Automated Guided Vehicle), or any other support structure that includes transport components), there may be emergency situations where the movable support structure may have to perform an emergency stop, for example, to avoid a collision with another object or person. The faster the support structure moves, the greater the acceleration that the support structure may need to be. An emergency stop will have the effect of providing torque around a tipping point located in the direction of movement of the support structure. This torque contribution can take different values depending on the rate of movement of the support structure. If the torque contribution associated with the emergency braking of the support structure is taken into account when calculating the available torque, it can be ensured that the robotic arm can always be brought to a sudden stop without the risk of system tipping over.
[0052] It should be noted that, alternatively, the torque contribution associated with emergency braking can also be included in the calculation of the threshold torque, thereby reducing the threshold torque to compensate for sudden emergency stops. Whether this torque contribution is included in the calculation of the threshold torque or in the sum of torque contributions, it will have the same effect on the calculated available torque.
[0053] According to one embodiment, the method is performed throughout a plurality of subsequent control cycles, each of which performs the steps of calculating one or more torque contributions, calculating available torque, and controlling the robotic arm.
[0054] The steps of calculating one or more torque contributions, calculating available torque, and controlling the robot arm can be performed within a control cycle. This method can be performed over multiple such control cycles, which is advantageous because the control of the robot arm can be performed iteratively. This iterative control of the robot arm clearly opens up the possibility of breaking down the control of the robot arm into small steps, and the more steps (or control cycles) there are each time, the finer the control of the robot arm can be achieved. The steps mentioned above in the control cycle are only considered a non-exhaustive list of possible steps, and in reality, the control cycle may include additional steps, such as establishing torque thresholds, as well as various intermediate steps prior to calculations, such as establishing one or more sensor values from sensors associated with the operation of the robot arm. The control cycle can be executed by a robot controller that controls the robot arm.
[0055] According to one implementation, each of the plurality of control cycles includes the step of establishing the threshold torque.
[0056] Each of these multiple control cycles may include the step of establishing the threshold torque. Thus, a control cycle may include all the steps of the method.
[0057] Including a step to establish the threshold torque in each control cycle can be advantageous, especially when the support structure to which the robotic arm is mounted is a movable support structure. For example, the threshold torque may vary depending on the slope of the ground on which such a support structure moves, and therefore may need to be recalculated to ensure sufficient stability of the robotic arm.
[0058] According to one embodiment, the step of controlling the robotic arm includes: determining a movement of the robotic arm from a first configuration of the robotic arm to a second configuration of the robotic arm; and executing the movement of the robotic arm, wherein the torque caused by the movement about the at least one tipping point is less than or equal to the available torque.
[0059] A first configuration of the robotic arm can represent a first state of the robotic arm, and similarly, a second configuration can represent a second state of the robotic arm. The difference between the first and second configurations can be achieved through the movement of one or more joints of the robotic arm. The movement is determined such that the torque generated by the movement about at least one tipping point does not exceed the available torque. This ensures that the movement will not cause the robotic arm to tip over.
[0060] According to one embodiment, the step of controlling the robotic arm includes actuating one or more robotic arm joints.
[0061] The steps of controlling the robotic arm may include actuating one or more joints of the robotic arm such that the robotic arm can be moved from a first configuration to a second configuration.
[0062] According to one implementation, establishing the threshold torque includes calculating the threshold torque based on one or more physical parameters associated with the support structure.
[0063] The step of establishing a threshold torque may include calculating a threshold torque on one or more physical parameters related to the support structure on which the robot arm is mounted. For example, multiple physical parameters may be used to calculate the threshold torque, such as the height of the support structure, the mass of the support structure, the center of gravity, the distance from the center of gravity to the tipping point of the support structure (e.g., table legs or platform wheels), and the robot's mounting position. Establishing the torque threshold through calculation is advantageous because the torque threshold can be precisely adapted to the specific application of the robot arm, and the robot arm can therefore operate closer to the limits of stability.
[0064] According to one implementation, the calculation of the threshold torque includes applying a safety factor.
[0065] The threshold torque can be calculated to define an absolute torque threshold. In practice, it may not be desirable to operate the robot arm within this threshold limit, as small and unpredictable torque contributions could have the effect that the threshold torque is exceeded during operation and the robot arm may tip over. Therefore, it is advantageous to apply a safety factor to the calculated torque threshold, as this prevents the risk of accidentally exceeding the threshold torque. The application of the safety factor may involve dividing the threshold torque by a safety factor greater than one or multiplying the threshold torque by a safety factor less than one (but greater than zero). For example, for safe operation of the robot arm, the physical torque limit can be divided by a safety factor S > 1, and the result of this division can be used as the threshold torque.
[0066] According to one embodiment, the method includes the step of defining one or more physical parameters relating to the robotic arm and / or the support structure.
[0067] According to one embodiment, the method includes the step of defining one or more physical parameters with respect to the robotic arm and / or the support structure, wherein the one or more physical parameters are used in the step of calculating one or more torque contributions and in the step of establishing a threshold torque.
[0068] This method may include steps of defining one or more physical parameters relating to the robot arm and / or the support structure to which the robot arm is mounted. In this context, "physical parameter" should be understood as a measure relating to mass, length, mass distribution, or any other physically available property describing the robot arm and / or the support structure.
[0069] Defining one or more physical parameters is advantageous because it allows for more accurate calculation of torque contribution and limits (i.e., threshold torque), thereby optimizing the stability of the robotic arm. Furthermore, defining physical parameters allows for the integration of the robotic arm for different applications. For example, the robotic arm can be configured for use on different surfaces and with different robotic tools. This improves the versatility of the method.
[0070] According to one embodiment, the one or more physical parameters include one or more parameters selected from the following: support structure height, support structure width, support structure length, robot arm mounting posture, support structure mass, robot base mass, robot arm link mass, and robot arm link length.
[0071] One or more physical parameters that can be defined in the initial steps may include one or more of the following: support structure height, support structure width, support structure length, robot arm mounting position, support structure mass, robot base mass, robot arm link mass, and robot arm link length.
[0072] "Support structure height" is understood as the height of the support structure. For example, support structure height can represent the distance between the floor or ground on which the support structure is placed and the upper surface of the support structure. "Support structure width" and "Support structure length" are understood as the width and length of the support structure, respectively. For example, when the support structure is in the form of a workbench or table, support structure width and support structure length can be the width and length of the upper surface of the workbench / table, respectively.
[0073] "Robot arm mounting posture" is understood as the posture of the robot arm relative to a supporting structure. This posture can describe various positioning, rotation, and angular placement of the robot arm relative to the supporting structure, as the robot arm can rotate on the supporting structure, be mounted at an angle relative to the supporting structure, be mounted above the upper surface of the supporting structure (e.g., on a mounting plate or base), or any combination thereof. In a simple example, the robot arm mounting posture can be represented by positioning in the form of X and Y coordinates, which define the positioning on the upper surface of the supporting structure relative to a reference positioning on the upper surface, such as corner positioning or center positioning on the upper surface.
[0074] "Support structure mass" is understood as the mass of the support structure to which the robot arm is mounted. The support structure mass can be treated as the total mass of the support structure or the mass of its individual components. "Robot base mass" is understood as the mass of the robot arm's base. The robot base is the part of the support structure closest to the robot arm on which it is mounted.
[0075] "Robot arm link mass" is understood as the mass of each link in the robot arm (these links may also include the robot arm joints). "Robot arm link length" is understood as the length of each link in the robot arm.
[0076] According to one implementation, the step of defining physical parameters includes the user inputting the physical parameters in the user interface of the robot controller.
[0077] Defining physical parameters may involve entering them in a user interface associated with the robot controller, such as a graphical user interface associated with the robot controller. Defining physical parameters by entering them in the user interface is advantageous because it provides a convenient way to define them.
[0078] According to one embodiment, the available torque is dynamic and depends at least on the relative positioning of the tool center point with respect to the surface.
[0079] Available torque can be dynamic (i.e., it can vary over time) and depends on a number of factors, including at least the current state of the robotic arm in the previously defined context and the relative positioning of the tool center point (TCP) with respect to the surface on which the robotic arm is mounted. The "tool center point" (TCP) is understood as the working point of the robotic tool mounted on the robotic arm.
[0080] According to one embodiment, the support structure is a movable support structure, which includes transport components for transporting the support structure.
[0081] The support structure may include transport components for moving the support structure. This is advantageous because it improves the reach and workspace of the robotic arm and expands its potential applications. For example, having transport components allows the robotic arm to operate in larger spaces, such as warehouses, where items must be moved from one location to another, with these locations separated by distances greater than the robotic arm's reach. In this context, "transport component" should be understood as any kind of component capable of transporting the support structure (i.e., changing the location of the support structure). Examples of transport components may include wheels for driving on a surface, wheels for driving on a track, wheels or gears for engaging with a platform, tracks, or any other type of drive system capable of transporting the support structure.
[0082] This method is particularly advantageous for use in systems in which a robotic arm is mounted on the surface of a movable support structure, such as a mobile robot. In such cases, the proposed torque limit can also be determined by considering the acceleration capability of the movable support structure. For example, if the support structure is moving, unexpected emergency deceleration, such as an emergency stop, may be required. The torque applied around at least one tipping point during such deceleration can be taken into account in the torque contribution, thereby limiting the available torque. This ensures that the support structure can always perform deceleration without the risk of the robotic arm and support structure tipping over around the tipping point.
[0083] According to one embodiment, the movable support structure and the robotic arm are controlled such that at any point during the control period, one of the movable support structure and the robotic arm is moving while the other is stationary.
[0084] The movable support structure and the robotic arm can be controlled such that at any given point in time during control, only one of them is moving. This is advantageous because it ensures additional operational safety.
[0085] According to one implementation, the support structure is a mobile robot.
[0086] The supporting structure can be a mobile robot. In this context, "mobile robot" should be understood as an automated machine that is able to move and move around in an environment rather than being fixed to a physical location. Examples of such mobile robots may include autonomous mobile robots (AMRs) (a type of robot that can independently understand its environment and move within that environment) or autonomous guided vehicles (AGVs) (a type of robot that relies on tracks or predefined paths and typically requires operator supervision).
[0087] According to one implementation, the movable support structure is a compliant support structure.
[0088] The movable support structure can be a compliant support structure. In this context, the term "compliant" should be understood as enabling a movable support structure, such as a mobile robot, to move stably in accordance with the floor or ground on which it moves. According to one embodiment of the invention, compliance can be provided by using one or more bogie axles. In another embodiment of the invention, compliance can be provided by using damping components, such as mechanical springs, such as compression springs, torsion springs, or hydraulic springs, such as air springs or gas springs, or any other kind of damping element arranged to provide compliance. As an example, the movable support structure can be a mobile robot, and compliance can be provided by arranging the wheels of the mobile robot on one or more bogie axles. Thus, the mobile robot can move stably even when the floor or ground below is rough or when the mobile robot must traverse obstacles in its path.
[0089] According to one embodiment, the at least one tipping point is arranged on at least one tipping axis.
[0090] The at least one tipping point may be arranged on at least one tipping axis. Similar to a tipping point, a "tilting axis" can be understood as an axis of rotation about which the robot arm and support structure as a whole can rotate. Specifically, the tipping axis represents an axis crucial to the stability of the robot arm and support structure, because if sufficient torque is applied, the robot arm and support structure may tip over about this axis. The tipping axis may intersect with one or more tipping points. In the case where the robot arm is mounted on a support structure, at least one tipping axis may be the tipping axis of the support structure. For example, if the support structure is a workbench or table, at least one tipping axis may be an axis intersecting with the tipping point of the workbench / table, such as the positioning of the contact between the legs of the support structure and the floor on which the support structure rests. In other cases, such as when the support structure is movable, due to the presence of wheels, the tipping axis may be an axis intersecting with the contact point between a set of wheels of the support structure and the floor on which the wheels engage.
[0091] In the same way that the tipping point can be called the pivot point, the tipping axis can be called the pivot axis.
[0092] According to one embodiment, the at least one tilting point is located outside the robot arm.
[0093] "External" should be understood as a point that is not integral with the robotic arm. Examples of external tilting points may include tilting points of support structures. A tilting point of a support structure may include a point of contact between the support structure and the ground on which it rests. In the case of a support structure in the form of a table or workbench, an external tilting point may be a point of contact between the legs of the table or workbench and the ground on which these legs rest, such as a corner of the leg. Although at least one tilting point is external, it should be noted that the tilting point is mechanically connected to the robotic arm such that the force generated by the movement of the robotic arm propagates in the form of torque at at least one tilting point.
[0094] According to one implementation, the at least one overturning point is the overturning point of the support structure.
[0095] At least one tipping point can be a tipping point of the supporting structure. It should be noted that a tipping point should not be interpreted as requiring it to be a specific point on the supporting structure, although this is possible; however, it should be interpreted as a point that is at least associated with the supporting structure. For example, if the supporting structure is in the form of a table (which has, for example, four contact points with the floor upon which it rests (one contact point for each leg of the table)), then the four contact points can be considered tipping points; however, any point on the floor arranged on an axis between adjacent contact points can also be considered a tipping point of the supporting structure.
[0096] According to one embodiment, the support structure is a fastening component, and the fastening component includes the tipping point.
[0097] A robotic arm can be mounted to any structure, such as a wall or platform, using fasteners. In this context, "fastener" should be understood as any kind of component capable of securing the robotic arm to a surface. Examples of fasteners can include bolts, screws, clamping elements, or any other kind of fastener capable of mounting the robotic arm to a structure. There may still be a risk that fasteners (such as bolts) may fail / break when subjected to too much torque, and the robotic arm may therefore loosen from its mount or begin to tip over around the failed mount. Therefore, when the supporting structure is the fastener, the advantage of this method is that the robotic arm can be operated without the risk of damaging the fastener.
[0098] According to one embodiment, the method includes automatically selecting the at least one tilting point among a plurality of tilting points.
[0099] It should be noted that an infinite number of tipping points can be defined for any physical object. However, the probability of an object tipping around such a point can vary greatly between different tipping points. Therefore, in practice, there may be only a small number of tipping points that are relevant to the stability of an object. For a robotic arm, the relevant (or critical) tipping points can vary depending on the state of the robotic arm. For example, the robotic arm may rotate in the plane of the surface on which it is mounted (i.e., around the robot's base), thus making it more prone to tipping in another direction. Furthermore, for example, if the robotic arm is mounted on a movable support structure, an emergency stop may be required, and the action of performing such a stop may exhibit torque around the tipping point located in the direction of movement of the robotic arm. Therefore, the movement of the robotic arm may also affect which tipping points are critical to the stability of the robotic arm. In other words, the tipping points critical to the stability of a robotic arm may depend on the state of the robotic arm, or on the combined state of the robotic arm and the support structure.
[0100] Therefore, it is advantageous when the method includes automatically selecting at least one tilting point from multiple tilting points. This ensures that the torque contribution and available torque are calculated only for a reduced number of tilting points (those critical to the stability of the robotic arm). This, in turn, makes the method computationally less demanding and allows for more frequent calculations (e.g., more control cycles per unit time are possible).
[0101] According to one implementation, the method is performed for multiple tipping points.
[0102] This method can be performed for multiple tipping points. Therefore, multiple threshold torques can be established, each threshold torque for a corresponding tipping point among the multiple tipping points. Multiple torque contributions can be calculated for multiple tipping points, and multiple available torques can be calculated, each available torque being calculated for a corresponding tipping point among the multiple tipping points. The robotic arm is controlled within limits defined by the multiple calculated available torques.
[0103] The advantage of applying this method to multiple tilt points is that it reduces the risk of the robot arm tipping over, especially when several tilt points are critical to the stability of the robot arm.
[0104] According to one embodiment, the robotic arm and the support structure form part of a robotic arm system, wherein the robotic arm is a first robotic arm, the robotic arm system includes a second robotic arm, and the method includes controlling the first robotic arm and the second robotic arm such that the torque around the at least one tipping point caused by changes in the state of the first robotic arm and the second robotic arm is at or below the available torque.
[0105] The robotic arm and support structure may form part of a robotic arm system (referred to as a robotic system in this context). A robotic system may include multiple robotic arms, such as a first robotic arm and a second robotic arm; however, a robotic system may also include more than two robotic arms.
[0106] This method is particularly suitable for controlling multiple robotic arms. When multiple robotic arms exist in a robotic system, this method ensures that at any given time, the combined torque provided by the movement of the robotic arms around at least one tipping point is less than or equal to the available torque.
[0107] It should be noted that this method can be performed on a robot controller. The robot controller may be external to the robot arm; however, it may also be integrated with one or both robot arms. Alternatively, the robot controller may be a distributed controller comprising a first robot controller disposed in a first robot arm and a second controller disposed in a second robot arm, and the method is performed by the two controllers communicating data between them. Those skilled in the art will recognize that many types of data transmission (wired or wireless) are suitable for this purpose, and virtually any kind of suitable data communication can be used for this purpose.
[0108] According to one implementation scheme, one or more torque contributions are calculated based on the output of the inertial measurement unit.
[0109] In this context, an "inertial measurement unit" (or "IMU") is understood as an electronic device that measures and outputs acceleration, orientation, angular rate, and other gravitational accelerations. An inertial measurement unit can be an IMU based on a fiber optic gyroscope (FOG), a ring laser gyroscope (RLG), a microelectromechanical system (MEMS), or any other type of electronic device capable of measuring and reporting acceleration, orientation, angular rate, and other accelerations.
[0110] For a variety of reasons, it is advantageous to calculate one or more torque contributions based on the output of the IMU.
[0111] First, the IMU can treat gravity as a non-static parameter, and more specifically, the IMU can be used to detect the angular portion of gravity. This allows for more accurate calculation of torque contributions, and, for example, the torque contribution generated by the force exerted on a part of the robot arm by gravity can accurately account for the line of action of gravity.
[0112] Second, from the perspective of an integrator setting up a robot arm for a specific application, one less thing can be set up before starting the robot arm, because the installation orientation may not need to be set when setting up the robot arm.
[0113] Third, in the case of compliant support structures (such as movable support structures including bogie shafts or damping components), if the robot arm is in an extended position, one or more of its compressible damping elements cause the support structure to tilt slightly in one or more directions depending on the rotational positioning of the robot arm relative to the support structure. If the support structure tilts (or tilts) slightly, one or more torque contributions may change slightly, and the torque contribution associated with, for example, gravity on the robot arm may increase slightly. Using an IMU, such changes can be accounted for, thereby ensuring stable operation of the robot system.
[0114] The inertial measurement unit can be arranged in the robot arm and / or in the support structure to which the robot arm is mounted.
[0115] According to one embodiment, the robotic arm includes the inertial measurement unit.
[0116] The robotic arm may include an inertial measurement unit. In one embodiment of the invention, the inertial measurement unit is disposed in the robot base of the robotic arm.
[0117] Integrating an inertial measurement unit (IMU) as part of a robotic arm is particularly advantageous because it improves the robustness of the arm's operation. This is because it may not require communication relying on IMU outputs from other locations, such as mobile robots. Reducing reliance on external sensor outputs makes the robotic arm's operation less prone to errors.
[0118] According to one implementation, the step of establishing a threshold torque around the at least one overturning point includes calculating the threshold torque based on the output of the inertial measurement unit.
[0119] The advantage of establishing a threshold torque around at least one tipping point by calculating the threshold torque based on the output of the inertial measurement unit is that it prevents the robot arm from tipping over, even if the support structure to which the robot arm is mounted is tilted from the horizontal plane. The threshold torque around at least one tipping point may depend on the angular orientation of the support structure.
[0120] According to one implementation, the steps of calculating the one or more torque contributions and / or establishing the threshold torque around the at least one overturning point are performed based on the output of the inertial measurement unit.
[0121] According to one embodiment, the robotic arm is a first robotic arm, and a second robotic arm is mounted on the support structure, wherein the one or more torque contributions include torque contributions generated by the first robotic arm and the second robotic arm.
[0122] Two robotic arms (a first robotic arm and a second robotic arm) may be mounted on the same support structure, for example, when two collaborative robotic arms work together to solve a common task, such as the first and second robotic arms lifting a heavier or more malleable object. However, the two robotic arms may also concurrently solve two independent tasks; for example, the first robotic arm may handle a first payload, and the second robotic arm may handle a second payload. One or more torque contributions may include torque contributions generated by the two robotic arms, such as gravitational torque contributions from the two robotic arms or dynamic torque contributions generated by the movement of one or more of the robotic arms.
[0123] According to one implementation, the method is executed by a robot controller.
[0124] Another aspect of the present invention relates to a robotic arm system comprising:
[0125] The robotic arm is mounted to the support structure, and
[0126] Robot controller
[0127] The robot controller is configured to perform the following steps
[0128] - Establish a threshold torque around at least one rollover point.
[0129] - Calculate one or more torque contributions around the at least one overturning point, and
[0130] - Calculate the available torque to be applied by the robotic arm, wherein the available torque is the difference between the threshold torque and the sum of the one or more torque contributions.
[0131] - Control the robot arm such that the torque around the at least one tipping point caused by a change in the state of the robot arm is equal to or less than the available torque.
[0132] This provides an advantageous robotic arm system. The advantage of the robotic arm system lies in its configuration to perform the steps of the method described above. Therefore, any advantageous effects described with respect to the method described above also apply to the robotic arm system.
[0133] A robotic arm system may include a robot controller. A "robot controller" is understood to be any kind of device capable of controlling the robotic arm. The robot controller may include a computer processor and memory for storing computer-readable instructions. The robot controller may be located within the robotic arm of the robotic system (or distributed across multiple robotic arms), or it may be located externally to the robotic arm.
[0134] According to one embodiment, the robot controller includes a user interface for defining physical parameters of the robot arm and the support structure.
[0135] In this context, "user interface" is understood as any kind of electronic interface used for user interaction with the robot system. The interface can be a local interface where the user can directly interact with the robot system, such as a graphical user interface where the user can define physical parameters; however, the user interface can also be an input where the user can (e.g., via a data carrier such as a memory card) enter a configuration file in which parameters are defined. Alternatively, the robot controller's user interface can be configured to communicate with external electronic devices where the user can define physical parameters.
[0136] According to one implementation, the robot system includes an inertial measurement unit.
[0137] According to one embodiment, the robotic arm is a first robotic arm, and the robotic arm system includes a second robotic arm.
[0138] According to one embodiment, the robot system is arranged to perform a method according to any one of the preceding paragraphs for controlling the torque applied by the robot arm about at least one tilting point.
[0139] Another aspect of the invention relates to a computer program product comprising instructions that, when the program is executed by a robot controller of a robotic arm system, cause the robot controller to perform the steps of the method according to any one of the previously disclosed terms.
[0140] This provides an advantageous computer program product. The computer program product is capable of performing the steps of the method according to any one of the foregoing clauses. Therefore, any advantageous effects described with respect to the methods described above also apply to the computer program product. Attached Figure Description
[0141] To gain a more complete understanding of this disclosure, reference is now made to the following brief description taken in conjunction with the accompanying drawings and detailed description, wherein similar reference numerals denote similar parts. The drawings illustrate embodiments of the invention, and elements of the different drawings may be combined within the scope of the invention:
[0142] Figure 1 An example of a robot system according to one embodiment of the present invention is illustrated.
[0143] Figure 2 Also illustrated is a robot system according to one embodiment of the invention, in which a robot arm is mounted on the surface of a supporting structure.
[0144] Figure 3 Examples Figure 2 The robot system shown is a top-to-bottom view.
[0145] Figure 4 Steps S1-S4 of a method according to one embodiment of the present invention are illustrated.
[0146] Figures 5 to 6 Variations of the method according to other embodiments of the present invention are illustrated.
[0147] Figures 7 to 8 Examples of torques involved in the operation of a robotic arm are illustrated and are helpful for understanding the invention.
[0148] Figure 9 A robot system according to another embodiment of the present invention is illustrated.
[0149] Figure 10 A robot system according to yet another embodiment of the invention is illustrated, and
[0150] Figures 11 to 12 A mobile robot used in an embodiment of the present invention is illustrated. Detailed Implementation
[0151] The invention has been described with reference to exemplary embodiments intended only to illustrate the principles and specific implementations of the invention. Those skilled in the art will be able to provide several embodiments within the scope of the claims.
[0152] Figure 1 A robot system 100, which may be implemented in several embodiments of the invention, is illustrated. The robot system includes at least one robot arm 101 (or simply manipulator) and at least one robot controller 110 configured to control the manipulator. Figure 1 Details about the robotic arm 101 itself are shown, while Figure 2 , Figure 3 as well as Figures 7 to 10 A specific implementation of the robotic arm is illustrated.
[0153] The robot arm 101 includes multiple robot joints 102a, 102b, 102c, 102d, 102e, and 102f that connect the robot base 103 and the robot tool flange 104. The base joint 102a is configured to rotate the robotic arm about the base axis 105a (illustrated by a short dashed line), as illustrated by the rotation arrow 106a; the shoulder joint 102b is configured to rotate the robotic arm about the shoulder axis 105b (illustrated by a short dashed line), as illustrated by the rotation arrow 106b; the elbow joint 102c is configured to rotate the robotic arm about the elbow axis 105c (illustrated as a cross indicating the axis), as illustrated by the rotation arrow 106c; the first wrist joint 102d is configured to rotate the robotic arm about the first wrist axis 105d (illustrated as a cross indicating the axis), as illustrated by the rotation arrow 106d; and the second wrist joint 102e is configured to rotate the robotic arm about the second wrist axis 105e (illustrated by a short dashed line), as illustrated by the rotation arrow 106e. Robot joint 102f is a robot tool joint including a robot tool flange 104, which is rotatable about a tool axis 105f (illustrated by a dashed line), as illustrated by the rotating arrow 106f. Therefore, the illustrated robotic arm is a six-axis robotic arm with six degrees of freedom; however, it should be noted that the invention can be used for robotic arms including fewer or more robot joints.
[0154] The robot tool flange reference point 107 (also known as the tool center point (TCP)) is indicated at the robot tool flange and defines the origin of the tool flange coordinate system, which defines three coordinate axes x. 凸缘 y 凸缘 z 凸缘 In the illustrated embodiment, the origin of the robot tool flange coordinate system has been placed on the tool flange axis 105f, where one of the axes (z...) 凸缘 ) Parallel to the tool flange axis, and other axes x 凸缘 y 凸缘 It is parallel to the outer surface of the robot tool flange 104. Furthermore, the base reference point 108 defines three coordinate axes x... 基座 y 基座 z 基座 The origins of the robot base coordinate system coincide. In the illustrated embodiment, the origin of the robot base coordinate system has been arranged on the base axis 105a, where one axis (z... 基座 ) is parallel to the base axis 105a, and the other axes x 基座 y 基座 Parallel to the bottom surface of the robot base. Figure 1The coordinate system illustrated is a right-handed coordinate system; however, it should be understood that this coordinate system can also be defined as a left-handed coordinate system, and a left-handed coordinate system can be used in other figures. The gravity direction 109 associated with the robotic arm is also indicated by an arrow, and it should be understood that the robotic arm can be positioned and oriented in any gravity-related location and orientation.
[0155] The robot joint includes a robot joint housing and an output flange that is rotatable or translatable relative to the robot joint housing, and the output flange is connected to an adjacent robot joint directly or via an arm linkage known in the art. The robot joint includes a joint motor configured to rotate or translate the output flange relative to the robot joint housing, for example, via a drive mechanism or directly connected to a motor shaft. Additionally, the robot joint may include at least one joint sensor that provides a sensor signal indicating at least one of the following parameters: angular and / or linear positioning of the output flange, angular and / or linear positioning of the motor shaft of the joint motor, motor current of the joint motor, or an external force and / or torque attempting to rotate the output flange or motor shaft. For example, the angular positioning of the output flange may be indicated by an output encoder (such as an optical encoder or magnetic encoder) that indicates the angular positioning of the output flange relative to the robot joint. Similarly, the angular positioning of the joint motor shaft may be provided by an input encoder (such as an optical encoder or magnetic encoder) that indicates the angular positioning of the motor shaft relative to the robot joint. It should be noted that both an output encoder indicating the angular positioning of the output flange and an input encoder indicating the angular positioning of the motor shaft can be provided. In embodiments where a drive has been provided, this allows the relationship between the input and output sides of the drive to be determined.
[0156] The robot system 100 includes at least one robot controller 110 configured to control a robot arm 101. The robot controller is configured to control the movement of robot joints and parts of the robot arm, for example, by controlling the motor torque supplied to the joint motors based on a dynamic model of the robot arm, the direction of gravity work, and joint sensor signals. Furthermore, the robot controller can control the movement of the robot arm based on a robot program stored in the robot controller's memory. The controller can be configured as follows: Figure 1 The external devices shown are either integrated into the robotic arm or a combination thereof.
[0157] The robot controller may include an interface device 111 that enables a user to control and program the robotic arm. The interface device may be configured, for example, as a teach pendant known in the field of industrial robotics, which can communicate with the controller via wired or wireless communication protocols. The interface device may include, for example, a display 112 and multiple input devices 113, such as buttons, sliders, touchpads, joysticks, trackballs, gesture recognition devices, keyboards, computer mice, microphones, etc. The display may be provided as a touchscreen that functions as both a display and an input device. The interface device may also be configured as an external device (e.g., in the form of a smartphone, tablet, PC, laptop, etc.) configured to communicate with the robot controller.
[0158] The robot tool flange 104 includes a force-torque sensor 114 (sometimes simply referred to as a force sensor) integrated into the robot tool flange 104. The force-torque sensor 114 provides a tool flange force signal indicating the force-torque provided at the robot tool flange. In the illustrated embodiment, the force-torque sensor is integrated into the robot tool flange and configured to indicate the force and torque applied to the robot tool flange relative to a robot tool flange reference point 107. The force sensor 114 provides a force signal indicating the force provided at the tool flange. In the illustrated embodiment, the force sensor is integrated into the robot tool flange and configured to indicate the force and torque applied to the robot tool flange relative to the reference point 107 and in the tool flange coordinate system. However, the force-torque sensor can indicate the force-torque applied to the robot tool flange relative to any point that can be connected to the robot tool flange coordinate system. In one embodiment, the force-torque sensor is provided as a six-axis force-torque sensor configured to indicate force along three vertical axes and torque about the three vertical axes. For example, the force-torque sensor can be any force-torque sensor capable of indicating force and torque relative to a reference point, such as any force-torque sensor disclosed in WO2014 / 110682A1, US4763531, and US2015204742. However, it should be understood that the force sensor associated with this invention does not necessarily need to be able to sense torque applied to the tool sensor. It should be noted that the force-torque sensor can be provided as an external device disposed on the flange of the robot tool or omitted.
[0159] An accelerometer 115 is disposed at the robot tool joint 102f and configured to sense the acceleration of the robot tool joint 102f and / or the acceleration of the robot tool flange 104. The accelerometer 115 provides an acceleration signal indicating the acceleration of the robot tool joint 102f and / or the robot tool flange 104. In the illustrated embodiment, the accelerometer is integrated into the robot tool joint and configured to indicate the acceleration of the robot tool joint in the robot tool coordinate system. However, the accelerometer can indicate the acceleration of the robot tool joint relative to any point that can be connected to the robot tool flange coordinate system. The accelerometer can be provided as any accelerometer capable of indicating the acceleration of an object. Note that the accelerometer can be provided as an external device disposed on the robot tool flange or omitted.
[0160] The robot system may also include an end effector (not shown) attached to the robot tool flange 104, and it should be understood that the end effector can be any type of end effector, such as a gripper, vacuum gripper, magnetic gripper, thread lathe, welding equipment, adhesive application equipment, dispensing system, spraying equipment, vision system, camera, etc. Throughout this disclosure, such a robot end effector may also be referred to as a robot tool.
[0161] The illustrated robotic arm is an example of a robotic arm; however, it should be understood that the invention can be implemented in various types of robotic arms with various motion structures.
[0162] Figure 2 Examples of the same Figure 1 The same robot system 100 is shown in the figure; however, the robot system 100 also includes a support structure 2 having a surface 1 to which the robot arm 101 is mounted. The support structure 2 is in the form of a table 3 including four legs, and as shown, each leg contacts the ground on which it rests at at least one contact point. These contact points are referred to in this disclosure as tipping points 5a-5d. Each tipping point 5a-5d represents a point about which the support structure 2 (or table 3) can pivot / tilt if the support structure is subjected to sufficient torque. Also as... Figure 2 As seen, the tipping points 5a-5d are arranged on four tipping axes 6a-6d. Each of the four tipping axes 6a-6d represents an axis around which the supporting structure 2 can pivot / tilt. It should be noted that the tipping points and tipping axes shown are merely exemplary, and other tipping points / axes may certainly exist. However, Figure 2 The tilting points / axis shown represent the tilting points / axis around which the supporting structure is most likely to pivot.
[0163] Despite Figure 2Although not explicitly shown, the robot system 100 also includes a robot controller 110 configured to control a robotic arm. The controller can be configured as follows: Figure 1 The illustrated external devices are either integrated into the robotic arm or a combination thereof.
[0164] Figure 3 As shown Figure 2 The image shows a top-to-bottom view of the robot system 100. For simplicity, the robot arm 101 is illustrated only by the circumference of the robot base 103. This simplified view of the robot arm also allows the robot arm mounting and positioning on surface 1 to be seen. Figure 3 The robot arm mounting and positioning is illustrated using X and Y coordinates, which are the coordinates of the center of the robot base 103 relative to a reference point on surface 1. In this example, the reference point is the center of surface 1; however, it should be noted that the coordinates can be relative to any other reference point on the surface. It should also be noted that, as... Figure 3 The illustrated robot arm mounting position is a simplified example of a robot arm mounting posture, and the robot arm mounting posture can describe various positioning, rotation, and angular placement of the robot arm 101 relative to the support structure 2. The robot arm posture (and here specifically the robot arm mounting position) can represent physical parameters of the robot system, which can preferably be provided as input in the robot controller 110 by means of the interface device 111.
[0165] Figure 3 It is also shown that surface 1 has a surface width 7 and a surface length 8. Surface height 9 is... Figure 2 The following example illustrates this. These physical parameters of the support structure (i.e., surface width 7, surface length 8, surface height 9, and robot arm mounting and positioning (described by coordinates X and Y)) are parameters that can be defined by the integrator when setting up the robot system for its intended application. Figure 3 The content can actually represent a view presented by the graphical user interface (not shown) of the robot controller 110, and therefore can represent a visual interface with which the robot integrator can interact during the definition of physical parameters. It should be noted that, in addition to defining... Figure 2 and Figure 3 Other physical parameters besides the exemplary parameters mentioned.
[0166] The robotic system has been described so far, and how such a robotic arm system can be operated will be described below. In particular, Figure 4 The method is described in general. Figure 5 and Figure 6 Variations of this method are illustrated, and Figure 7 and Figure 8The method is illustrated in more detail, and in particular, its impact on robotic systems.
[0167] Figure 4 Steps S1-S4 of a method according to one embodiment of the present invention are illustrated. These steps can be executed by a robot controller 110.
[0168] In the first step S1, a threshold torque is determined about at least one tipping point. The threshold torque is the torque required to tip the robot system 100 about at least one tipping point 5a-5d. The threshold torque is calculated using physical parameters of the robot system, including those related to… Figure 3 The physical parameters described. It should be noted that the calculation of the torque threshold naturally depends on which tipping point(s) is used in the calculation, as more torque may be required to tip the robot system 100 around a tipping point than at other tipping points.
[0169] In the second step S2, one or more torque contributions around at least one tipping point are calculated. In this step, the physical effects of the robot arm 101 on the robot system 100 are considered. This includes calculating the torque contribution exerted by gravity applied to the robot arm and velocity-dependent torques (Coriolis torque and centrifugal torque), since the robot arm has a velocity. For example, refer to... Figure 2 As can be seen, portions of the robot arm are positioned away from the base portion 103 of the robot arm; therefore, the gravity applied to these portions will generate torque around the mounting position of the robot arm (the point on the surface 1 on which the robot arm is mounted). These torque contributions also manifest themselves as torque contributions around the tipping point. The torque contribution resulting from the effect of gravity on the robot arm is calculated around at least one tipping point, and a threshold torque is also calculated for that at least one tipping point. This calculation can be based on data related to the positioning of the robot arm components, such as data output from robot joint sensors and physical parameters related to the mounting position of the robot arm and the support structure to which the robot arm is mounted.
[0170] In the third step S3, the available torque to be applied by the robot arm 101 is calculated. The available torque is calculated as the difference between a threshold torque and the sum of one or more torque contributions. By calculating this difference, the remaining torque available around the corresponding tipping point can be determined. If the torque applied by the robot arm is greater than this available torque, the robot system may tip over.
[0171] In the final step S4, the robot arm 101 is controlled such that the torque around at least one tilting point caused by a change in the arm's state is equal to or less than the available torque. This control involves the robot controller sending control signals to the joints of the robot arm, causing the joints to rotate, thereby changing the robot arm's configuration from a first configuration to a second configuration. This configuration change results in the application of torque around at least one tilting point, and the robot controller is arranged such that the applied torque is less than or equal to the available torque. This ensures that the robot arm operates within the limits imposed by the threshold torque.
[0172] Figure 5 and Figure 6 An embodiment according to the present invention is shown as follows. Figure 4 Different variations of the method described in [the text]. Figure 5 The diagram illustrates how steps S2-S4 are repeated across multiple control cycles, and Figure 6 This demonstrates how steps S1-S4 can be repeated across multiple control cycles.
[0173] Figure 7 An example of the torque contribution involved in the operation of the robotic arm 101 is illustrated, and the figure thus helps to understand the method of the present invention. Figure 7 The robot arm 101 shown can represent any robot arm shown in the previous figures. It can be seen that the robot arm 101 is mounted on the surface 1 of the support structure 2, which is in the form of a table, and tipping points 5a and 5b are illustrated as shown.
[0174] Figure 7 The robotic arm 101 is illustrated with an example of its operation. Although the robotic arm, including its joints, can move continuously, from the perspective of the robot controller, the movement of the robotic arm can be considered as discrete movement (i.e., movement occurring in discrete steps). Therefore, Figure 7 An example of a step in the movement of a robot arm is illustrated, in which the robot controller may assume the robot arm is in a static configuration / attitude. In this assumed static configuration, the robot controller 110 considers the weight of the robot arm (e.g., ...). Figure 7 (As shown by the downward-pointing arrow in the diagram), and calculates the static forces and torques / moments exerted on the surface by gravity on the robot arm. The robot controller calculates all static torque contributions generated by gravity on all robot arm components. Using knowledge of physical parameters associated with the robot arm system (e.g., surface height, surface width, surface length, robot arm mounting position), the robot controller is able to calculate the torque contribution around the tipping point of the support structure, and... Figure 7 The figure shows the sum of torque contributions 10 calculated around at least one overturning point 5a.
[0175] exist Figure 8 The text shows the relationship with... Figure 7 The same robotic arm system is seen here; however, the robotic arm is now about to move into another configuration by applying torque (indicated by the curved arrows around the joints) in the robotic arm joints 102b-102d, thereby accelerating the components of the robotic arm. This movement also causes torque around the tilting point 5a. Figures 4 to 6 As indicated in the method described, the available torque 11 is calculated, and this available torque cannot exceed the difference between the sum of torque contributions 10 and the threshold torque 12. This relationship between the sum of torque contributions 10, the available torque 11, and the threshold torque 12 is... Figure 8 The curve is depicted by an arrow pointing around the tipping point 5a. Crucially, the calculated available torque sets a limit on how much torque the robotic arm joints can provide, and if the combined torque contributions are less than the available torque 11, the robot system 100 will remain stable. Figure 8 In this context, the application of torque around the robotic arm joints 102b-102d can be considered an example of dynamic torque contribution, since the induced torque around the tilting point 5a is generated at least in part due to the movement of the robotic arm 101.
[0176] It should be noted that, for any situation (or step in the movement of the robot arm), the robot controller can calculate the available torque for the robot arm to move to the next step.
[0177] Figure 9 An example of a robot system 100 according to one embodiment of the invention is shown, in which a robot arm 101 is mounted on the surface 1 of a movable support structure 2 in the form of a mobile robot 4. The mobile robot 4 is an automated machine capable of moving and relocating in the environment rather than being fixed to a physical location. The mobile robot 4 includes a set of four wheels (from...) Figure 9 The view presented in the figure shows only two wheels visible; however, there are two additional wheels on the opposite side of the mobile robot. As shown, there are four tilting axes 3a-3d, and each tilting axis intersects with two contact points between the wheels and the ground on which the mobile robot is positioned. During the control of the robot system, [the following can be used] regarding... Figures 4 to 6The same method is described; however, additional torque contributions can be considered. The mobile robot 4 may need to perform an emergency stop, for example, to avoid collisions with objects or people present in the environment in which the robot system operates, or typically, the mobile robot may be moving around (e.g., accelerating, decelerating, turning, etc.), which may also impose one or more torque contributions around the tipping point. Such torque contributions generated by the movement of the mobile robot 4 can be considered examples of dynamic torque contributions. An emergency stop is performed by reducing the rate of the mobile robot, and the action of doing so generates torque around the tipping axes 3a-3d located in the direction of movement of the mobile robot. The magnitude of this torque naturally depends on the peak deceleration rate of the mobile robot, and therefore naturally depends on the initial rate of the mobile robot and the braking distance of the mobile robot. The robot system 100 of this embodiment is configured to calculate the torque contribution associated with such deceleration and to consider this torque contribution in the calculation of the available torque. Thus, regardless of how the robot arm is controlled, it is ensured that the robot system can perform an emergency stop.
[0178] Figure 9 The diagram also shows an inertial measurement unit 13 included in the robot base of the robot arm. The inertial measurement unit is capable of detecting the orientation of the robot system. This can be particularly useful when calculating torques, as these torques can depend on the orientation and acceleration of the moving robot, i.e., it is important whether the moving robot is moving on a flat surface or an inclined surface.
[0179] It should be noted that Figure 9 The robotic arm is not shown to have any specific robotic tools; however, it should be noted that any robotic tool can be used in conjunction with the robotic arm, for example, such as... Figure 10 The effective payload movement arrangement seen in the diagram.
[0180] Figure 10 A robot system 100 according to another embodiment of the invention is illustrated. As shown in the figure, the robot system includes a robot arm 101 comprising a robot tool 14 arranged in a payload-moving configuration capable of moving a payload 15. The robot arm 101 is mounted on a surface 1 of a movable support structure 2. In this embodiment, surface 1 is not an extension of a surface such as a table surface, but rather a surface with a mounting flange. The robot system 100 also includes a robot controller 110 arranged to perform any of the methods described herein. Figure 10 The robotic systems described herein could be particularly useful in warehouses where the handling of payloads needs to be automated.
[0181] It should be noted that various features of the robot system have been disclosed in different embodiments, and it should be noted that these features can be used in any robot system disclosed herein according to the claims. For example, Figure 10 The robotic tool 14 seen therein can be used with Figures 1 to 3 as well as Figures 7 to 9 Any of the robotic arms 101 illustrated herein may be used in combination.
[0182] Figure 11 and Figure 12 A mobile robot used in an embodiment of the present invention is illustrated. Figure 11 The support structure 2 is seen in the form of a mobile robot 4. Furthermore, the mobile robot 4 is depicted moving along the direction 19 indicated by the arrow. Although not shown in the figure, the mobile robot 4 may form part of the robot system 100 and may be coupled to a robot arm 101, such as any robotic arm disclosed with respect to any of the figures above, and the robot system (including the mobile robot and such robotic arm) may be arranged to achieve the desired functionality. Figure 4 The method described.
[0183] exist Figure 12 Seen in Figure 11 The same mobile robot 4 seen in the bottom-up view. Figure 12 The mobile robot 4 is shown to include four casters 16, each positioned at a corner. In addition to the casters 16, the mobile robot 4 also includes two drive wheels 17, each positioned on one side of the robot. The two casters 16 and two drive wheels 17, positioned in the direction of movement 19, are arranged on bogie axles 18, each bogie axle 18 including one caster 16 and one drive wheel 17. Two casters 16, positioned opposite to the direction of movement 19, are also arranged on bogie axles 18. The mechanical structure with bogie axles 18 ensures that the mobile robot can balance the load among its six wheels and allows it to automatically adapt to terrain undulations, such as terrain with small obstacles. A consequence of this bogie axle configuration is that the mobile robot may tip over when traversing terrain undulations, and in this example, there are three points around which the mobile robot may tip over when traversing such undulations, and these points are tipping points 5a-5c. Figure 12 As seen, each of the overturning points 5a-5c is arranged on the corresponding bogie axle 18. Figure 12 The corresponding tilting axes 6a-6b can also be seen in the image.
[0184] List of reference numerals :
[0185] 1. Surface
[0186] 2. Supporting structure
[0187] 3. Workbench
[0188] 4. Mobile robots
[0189] 5a-5d. Tilting point
[0190] 6a-6d. Tilting axis
[0191] 7. Surface width
[0192] 8. Surface length
[0193] 9. Surface height
[0194] 10. Sum of Torque Contributions
[0195] 11. Available torque
[0196] 12. Threshold torque
[0197] 13. Inertial Measurement Unit
[0198] 14. Robotic Tools
[0199] 15. Payload
[0200] 16. Casters
[0201] 17. Drive wheels
[0202] 18. Bogie Axle
[0203] 19. Direction of movement
[0204] X, Y. Coordinates of the robot arm's mounting position
[0205] 100. Robotic Systems
[0206] 101. Robotic Arm
[0207] 102a-102f. Robotic arm joints
[0208] 103. Robot Base
[0209] 104. Robot tool flange
[0210] 105a-105f. Axis of robot joints
[0211] 106a-106f. Rotation arrows of robot joints
[0212] 107. Robot tool flange reference point
[0213] 108. Robot Base Reference Point
[0214] 109. Direction of Gravity
[0215] 110. Robot Controller
[0216] 111. Interface devices
[0217] 112. Monitor
[0218] 113. Input devices
[0219] 114. Force-torque sensor
[0220] 115. Accelerometer sensor
Claims
1. A method for controlling a torque applied by a robot arm around at least one tipping point, the robot arm being mounted on a support structure, the method comprising the steps of: - establishing a threshold torque around the at least one tipping point, - calculating one or more torque contributions around the at least one tipping point, - calculating an available torque to be applied by the robot arm, wherein the available torque is the difference between the threshold torque and the sum of the one or more torque contributions, and - controlling the robot arm so that a torque around the at least one tipping point caused by a change of state of the robot arm is equal to or lower than the available torque.
2. The method according to claim 1, wherein the one or more torque contributions comprise one or more dynamic torque contributions.
3. The method according to claim 2, wherein the one or more dynamic torque contributions result from a movement of the robot arm and / or from a movement of the support structure.
4. The method according to any one of the preceding claims, wherein the one or more torque contributions comprise one or more gravity torque contributions.
5. The method according to any one of the preceding claims, wherein the one or more torque contributions comprise a torque applied by using a robot tool of the robot arm or a torque resulting from a movement of the robot arm of a payload.
6. The method according to any one of the preceding claims, wherein the support structure is a movable support structure, and wherein the one or more torque contributions comprise a torque contribution associated with an acceleration of the support structure, a torque contribution associated with a deceleration of the support structure, a torque contribution associated with a turning maneuver performed by the support structure, or any combination thereof.
7. The method according to any one of the preceding claims, wherein the support structure is a movable support structure, and wherein the one or more torque contributions comprise a torque contribution associated with an emergency stop of the movable support structure.
8. The method according to any one of the preceding claims, wherein the method is performed throughout a plurality of subsequent control cycles, each control cycle of the plurality of subsequent control cycles performing the steps of calculating one or more torque contributions, calculating an available torque, and controlling the robot arm.
9. The method according to claim 8, wherein each control cycle of the plurality of control cycles comprises the step of establishing a threshold torque.
10. The method of any of the preceding claims, wherein the step of controlling the robotic arm comprises: determining a movement of the robot arm from a first configuration of the robot arm to a second configuration of the robot arm; and performing the movement of the robot arm, wherein a torque around the at least one tipping point caused by the movement is less than or equal to the available torque.
11. The method according to any one of the preceding claims, wherein the establishing the threshold torque comprises calculating the threshold torque based on one or more physical parameters related to the support structure.
12. The method according to any one of the preceding claims, wherein the calculating the threshold torque comprises applying a safety factor.
13. The method according to any of the preceding claims, wherein the method comprises a step of defining one or more physical parameters in relation to the robot arm and / or the support structure, wherein the one or more defined physical parameters are used in the step of calculating one or more torque contributions and in the step of establishing a threshold torque.
14. The method according to claim 13, wherein the one or more physical parameters comprise one or more parameters selected from the group consisting of: support structure height, support structure width, support structure length, robot arm mounting pose, support structure mass, robot base mass, robot arm link mass, and robot arm link length.
15. The method according to claim 13 or 14, wherein the step of defining physical parameters comprises a user entering the physical parameters in a user interface of a robot controller.
16. The method according to any of the preceding claims, wherein the available torque is dynamic and depends at least on a relative positioning of a tool center point in relation to the surface.
17. The method according to any of the preceding claims, wherein the support structure is a movable support structure comprising a transport component for transporting the support structure.
18. The method according to claim 17, wherein the movable support structure and the robot arm are controlled such that at any point in time during the control, one of the movable support structure and the robot arm is moving while the other is stationary.
19. The method according to any of the preceding claims, wherein the support structure is a mobile robot.
20. The method according to any of the preceding claims, wherein the at least one tipping point is arranged on at least one tipping axis.
21. The method according to any of the preceding claims, wherein the at least one tipping point is a tipping point of the support structure.
22. The method according to any of the preceding claims, wherein the support structure is a fastening component, and wherein the fastening component comprises the tipping point.
23. The method according to any of the preceding claims, wherein the method comprises automatically selecting the at least one tipping point among a plurality of tipping points.
24. The method according to any of the preceding claims, wherein the method is performed for a plurality of tipping points.
25. The method according to any of the preceding claims, wherein the robot arm and the support structure form part of a robot arm system, wherein the robot arm is a first robot arm, wherein the robot arm system comprises a second robot arm, and wherein the method comprises controlling the first robot arm and the second robot arm such that a torque around the at least one tipping point caused by a state change of the first robot arm and the second robot arm is at or below the available torque.
26. The method according to any of the preceding claims, wherein the steps of calculating the one or more torque contributions and / or establishing a threshold torque about the at least one tipping point are performed based on an output of an inertial measurement unit.
27. A robot arm system, the robot arm system comprising: a robot arm mounted to a support structure, and a robot controller, wherein the robot controller is configured to perform the steps of establishing a threshold torque about at least one tipping point, calculating one or more torque contributions about the at least one tipping point, and calculating an available torque to be applied by the robot arm, wherein the available torque is the difference between the threshold torque and the sum of the one or more torque contributions, controlling the robot arm such that a torque about the at least one tipping point caused by a change of state of the robot arm is equal to or below the available torque.
28. The robot arm system according to claim 27, wherein the robot system comprises an inertial measurement unit.
29. The robot arm system according to claim 27 or 28, wherein the robot arm is a first robot arm, and wherein the robot arm system comprises a second robot arm.
30. A computer program product comprising instructions which, when the program is executed by a robot controller of a robot arm system, cause the robot controller to perform the steps of the method according to claims 1 to 26.
Citation Information
Patent Citations
Robot stabilization control device
JP2006150567A
Force moment sensor
US20150204742A1
Method, apparatus and terminal device for robot fail prediction
US20190118380A1
Force-torque sensor
US4763531A
Force / torque sensor, apparatus and method for robot teaching and operation
WO2014110682A1