[go: up one dir, main page]

WO2025008035A1 - Dynamic tipping prevention of robot mounting surfaces - Google Patents

Dynamic tipping prevention of robot mounting surfaces Download PDF

Info

Publication number
WO2025008035A1
WO2025008035A1 PCT/DK2024/050156 DK2024050156W WO2025008035A1 WO 2025008035 A1 WO2025008035 A1 WO 2025008035A1 DK 2024050156 W DK2024050156 W DK 2024050156W WO 2025008035 A1 WO2025008035 A1 WO 2025008035A1
Authority
WO
WIPO (PCT)
Prior art keywords
robotic arm
torque
support structure
robot
tipping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/DK2024/050156
Other languages
French (fr)
Inventor
Mikkel RATH HANSEN
Rune SØE-KNUDSEN
Dan Kielsholm Thomsen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universal Robots AS
Original Assignee
Universal Robots AS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universal Robots AS filed Critical Universal Robots AS
Publication of WO2025008035A1 publication Critical patent/WO2025008035A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39215Adaptive control with stabilizing compensation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40298Manipulator on vehicle, wheels, mobile

Definitions

  • the present invention relates to a method for controlling torque applied by a robotic arm about at least one tipping point.
  • the invention further relates to a robotic arm system and a computer program product.
  • Robotic arms are machines that are programmable to execute a specific task quickly, efficiently, accurately, and safely. They are most often used for the rapid, consistent performance of heavy and/or highly repetitive procedures over extended periods of time, and are especially valued in industrial production, manufacturing, machining and assembly sectors.
  • a typical industrial robot arm includes a series of articulated joints working together to closely resemble the motion and functionality of a human arm - at least from a purely mechanical perspective.
  • Many robotic arms used in countless industries and workplace applications today are benchtop mounted, and some robotic arms are even mounted on mobile robots facilitating movement of the robotic system as a whole (mobile robot and robotic arm) throughout a workplace.
  • Such benchtops or mobile robotic systems represent unstable surfaces for mounting the robotic arm to.
  • JP 2006150567 A discloses a stabilization control device for a robot having a manipulator mounted on a cart.
  • a target change in ZMP Zero Moment Point
  • ZMP Zero Moment Point
  • the target change in ZMP is set to zero.
  • the robot becomes unstable and a correction for stabilization becomes necessary.
  • US 2019/0118380 Al discloses a method for robot fall prediction which includes searching for a gravity center offset weighting value corresponding to a posture of a robot, correcting a gravity center offset of the robot based on the gravity center offset weighting value, correcting an acceleration of the robot based on a gravity center offset direction of the robot, and determining whether the robot will fall or not based on the corrected gravity center offset and the corrected acceleration.
  • An aspect of the present invention relates to a method for controlling torque applied by a robotic arm about at least one tipping point, said robotic arm being mounted on a support structure, said method comprising the steps of:
  • the method is advantageous in that it has the effect, that a torque applied from the robotic arm about at least one tipping point (torque applied through movement of the robotic arm or through a force applied by the robotic arm to an external object, such as payload or fixed obstacle) does not cause the robotic arm to tip around the at least one tipping point.
  • This stability of the robotic arm is achieved by the robotic arm calculating available torque about the at least one tipping point and ensuring that movements/actions performed by the robotic arm does not impose a torque, about the at least one tipping point, greater than the available torque, resulting in the robotic arm operating within a threshold torque for tipping around the at least one tipping point.
  • the robotic arm independently of where, relative to the support structure, the robotic arm is operating, it is ensured that the torque applied by the robotic arm is controlled to be below a determined limit.
  • the method is advantageous in that it has the effect, that utilization of a robotic arm may be improved.
  • the robotic arm Through calculation of the available torque, it is made possible for the robotic arm to be operated as close as possible to its torque threshold about the at least one tipping point without exceeding the torque threshold.
  • the robotic arm may perform faster movements or exert a greater force on an external object than other robotic arms that are not operated according to the present method and which freedom of movement is bounded by pre-defined and possibly conservative thresholds.
  • Increasing the freedom of movement of the robotic arm improves the degree of utilization of the robotic arm as more tasks can be performed by the robotic arm. In other words, the full reach and workspace of the robotic arm may become available, and the speed of the robotic arm is only reduced when and where it is needed, resulting in optimal cycle time without tipping over the system.
  • the method is advantageous in that it has the effect, that movement of the robotic arm, moving a payload, is controlled such that a sudden emergency stop of the robotic arm may not cause the robotic arm to topple over.
  • the method is advantageous from the viewpoint of a robot integrator responsible for adapting the robotic arm to a specific application.
  • the robot integrator integrating a robotic arm operated by the present method, will be able to guarantee stability and safe operation of the robotic arm even when the robotic arm is mounted on a support structure that is not a fixed support structure (i.e., not a floor or a structure mounted to the floor).
  • Such non-fixed support structures may include movable structures such as a mobile robot.
  • the method may be regarded as an anticipatory method in that it establishes an available torque at any given moment and allows the robotic arm to operate within that torque boundary. Thereby, the robotic arm may always be operated within the limits of stability. This is quite contrary to existing methods which are more reactive in the sense that they detect whether an unstable state of the robotic arm is present, and stability corrections are first made once an unstable state is detected.
  • the present method may avoid that the robotic arm is driven into an unstable state in the first place. Accordingly, the present method, may improve robotic arm safety over such existing methods.
  • the method involves calculating one or more torque contributions about at least one tipping point and summing together these one or more calculated torque contributions.
  • the sum of the one or more torque contributions will naturally amount to only the one torque contribution.
  • a plurality of torque contributions may be present at any time during operation of the robotic system (robotic arm and support structure). This summation of torque contributions may be done in several different ways, and the present method is therefore not limited to any particular way of carrying out this calculation.
  • One way of carrying out the calculation is to calculate the one or more torque contributions in vector representations and adding the vector representations of each torque contribution of the one or more torque contributions together. Thereby is calculated a total torque contribution, also in vector representation.
  • torque is always defined with reference to a specified point (or axis).
  • a shift in reference point (or reference axis) will also result in each torque (of a force) changing.
  • the total torque contribution may be defined with respect to any reference point, and a particular relevant point may in the context of the present invention be a tipping point.
  • the total torque i.e., the sum/addition of the one or more torque contributions may be established with respect to a tipping point, for example a tipping point of the support structure.
  • a table has four axes, around which the table is most likely to tip around (each axis defined by a line intersecting a neighbouring set of table legs). Each of these four axes, or indeed any point on one of these axes, may have a threshold torque for tipping around the axis (or point). The total torque contribution (sum of one or more torque contributions) may be compared to any of this threshold torques, for example starting with the axis having the lowest threshold torque, and thereby it may be possible to assess the available torque around this axis.
  • the comparison of the total torque with threshold torques may involve comparisons with multiple threshold torques, however, in practice, there may always be some tipping points (or tipping axis) around which there is a higher risk of tipping (depending on the combined state of the robotic arm and support structure), and it may therefore be most fruitful to start with these points/axes.
  • the one or more torque contributions may also be calculated specifically around the same tipping point(s), and thereby the summation of one or more torque contributions can be done numerically (without using vector addition).
  • the calculation of the sum of torque contributions (total torque) may be done in numerous ways and still arrive at the same result.
  • a robotic arm is understood as a type of mechanical arm, usually programmable, with similar functions to a human arm.
  • a robotic arm may typically include a number of robotic arm links interlinked by robotic joint elements enabling rotation of robotic arm links with respect to one another.
  • the linking of the robotic arm links by the robotic joint elements defines an elongated structure which may mimic the behaviour of a human arm, however the rotational degree of freedom may surpass that of a human arm; for example, the joints of the robotic arm may allow 360 degrees of rotation, which may not be possible for joints of a human arm.
  • Such a robotic arm may also include a tool for performing operations on external objects.
  • T
  • T the magnitude of the torque
  • f the radius vector
  • F the force vector
  • x the vector cross product
  • is the magnitude of the radius vector
  • is the magnitude of the force vector
  • 0 is the angle between the radius vector and the force vector.
  • torque When a torque is calculated about a point, the torque automatically points along an axis which can be found by using the right-hand thumb rule of cross products. In other words, torque is always a measure of a twisting force around an axis of rotation.
  • torque may be used to refer to the vector quantity of torque, but also to the magnitude of the torque vector. A skilled person will readily understand the term “torque” in the most meaningful representation by the specific context in which torque is referred to.
  • torque is a convenient way of describing the effect of a force exerted on a body in the present context of tipping prevention.
  • a torque may be seen as a representation of a force.
  • a force representation of the torques involved throughout the present disclosure is regarded as an equivalent representation, and a skilled person will be able to convert between the torque and force representations of the forces/torques involved in control of the robotic arm without exercising any inventive skill.
  • a “threshold torque” is understood as a limit of torque that may be applied about the at least one tipping point.
  • a threshold torque is a torque limit concerned with a specific tipping point, or at least concerned with a specific tipping axis. It should be noted that there may of course exist multiple tipping points for any physical object, however this does not necessarily imply that an equal amount of threshold torques must be established. Exceeding the torque threshold may have detrimental consequences to the operation of the robotic arm as the robotic arm and support structure may topple over. The threshold torque thus represents a physical torque limit, which, when surpassed, causes tipping of the support structure to which the robotic arm is mounted.
  • the threshold torque may be established in numerous ways; it may be calculated upon integration of the robotic arm, or it may already have been pre-calculated if for example the robotic arm system (including robotic arm and support structure) is a standard robotic arm system integrated to perform a standard operation.
  • the threshold torque may be calculated from physical parameters including support structure height, mass, center of gravity, distances from centre of gravity to support structure tipping points, and robotic arm mounting location on the support structure.
  • torque contributions are understood as any kind of contribution of torque applied about the at least one tipping point through operation of the robotic arm.
  • Such torque contributions may include torque arising from gravitational forces exerted on the robotic arm, torque arising from gravitational forces exerted on a payload being moved by the robotic arm, torque arising from gravitational forces exerted on a support structure to which the robotic arm is mounted, torque arising from Coriolis effect or centrifugal effects due to at least part of the robotic arm having a velocity, torque arising from acceleration of the robotic arm, torque arising from friction forces between one or more wheels of the support structure (if it is a movable support structure) and the floor/ground, or torque arising from the robotic arm exerting a force on an external object.
  • torque contributions is non-exhaustive, and a skilled person may readily appreciate that other kind of torque contributions may exist.
  • a “tipping point” may be understood as a point critical to the stability of the robotic arm, and around which point the robotic arm may tip (or tilt or pivot).
  • a tipping point may also be referred to as a pivot point.
  • the at least one tipping point includes a point of contact between a support structure, to which the robotic arm is mounted, and the underlying floor or ground.
  • a tipping point may represent a point of contact between a leg of the workbench/table and the ground on which the workbench/table is standing.
  • the at least one tipping point may be a point of contact of one of the wheels and the floor or ground underneath the wheel, or a center point of the wheel.
  • the tipping point may also be a point arranged on a bogie axle, said bogie axle having at least two wheels attached thereto.
  • the at least one tipping point represents a point of contact between the robotic arm and the surface to which the robotic arm is mounted, for example a point of fastening, e.g., a bolt.
  • At least one tipping point may include more than one tipping point, such as a plurality of tipping points, such as two tipping points, three tipping points, four tipping points, or any number of tipping points.
  • a plurality of tipping points such as two tipping points, three tipping points, four tipping points, or any number of tipping points.
  • the steps of the method may be repeated for each of these tipping points deemed critical to the stability of the operation of the robotic arm system.
  • a “support structure” should be understood as any type of structure capable of supporting a robotic arm.
  • the support structure is a non-fixed structure meaning that for example that the support structure is different from the floor of a building or from the ground if the robotic arm is operating outside.
  • Examples of support structures may include structures such as tables and workbenches, but also structures with transport means (for example wheels) such as carts, trolleys and mobile robots.
  • the support structure may be a fastening means for mounting the robotic arm to a structure. It should be notes that a support structure may also simply be referred to as a “structure” in the present disclosure.
  • a “change of state” is understood as a change of position of one or more parts of the robotic arm with respect to other parts of the robotic arm.
  • the state reflects an instance of the positioning/arrangement of elements of the robotic arm, for example a specific arrangement of robot arm joints.
  • said one or more torque contributions comprises one or more dynamic torque contributions.
  • dynamic torque contributions may be understood as torque contributions arising from movement of the robotic arm itself (e.g., movements of one or more robot joints of the robotic arm) and / or movements of the support structure onto which the robotic arm is mounted. Examples of such movements may include amongst others rotation of the robotic arm around its robot base, rotation(s) of any number of robot joints, or movements of the support structure, such as angular or linear accelerations, movements around curved paths, movements along linear paths, etc. Dynamic torque contributions may also arise due to movements of a secondary robotic arm mounted on the same support structure.
  • a rotation of the robotic arm around its base joint may impose a significant torque contribution about the at least one tipping point. So, even though the robotic arm may be operating close to the base (e.g., not fully extended horizontally away from the base joint), and the centre of gravity of the robotic arm may be within a supporting area of the support structure, the robotic arm system may still be easily prone to instabilities. As an example, extending the reach of the robotic arm while it is rotating may cause the robotic arm system (including e.g. an optional payload handled by the robotic arm) to become unstable even though the extension of the reach of robotic arm would still cause the center of gravity of the robotic arm to be within a supporting area of the support structure.
  • the robotic arm system including e.g. an optional payload handled by the robotic arm
  • Considering dynamic torque contributions in the calculation of available torque around the at least one tipping point is furthermore advantageous in that the stability of the robotic system may be improved over a wider range of applications of the robotic arm, including applications where the robotic arm is transported around on a movable support structure, or applications where the robotic arm is mounted on a support structure together with another moving robotic arm, or in applications employing rapid movements of the robotic arm.
  • said one or more dynamic torque contributions arises from a movement of said robotic arm and/or from a movement of said support structure.
  • a movement of a robotic arm may constitute a movement/rotation of a single robot arm joint (or robot joint) or movements of a collection of robot joints of the robotic arm.
  • a movement of the support structure may constitute an acceleration (or deceleration) of the support structure.
  • accelerations/deceleration may for example occur if the support structure is a movable support structure, such as a mobile robot, which may perform such movements when manoeuvring about in a working environment.
  • Such a movable support structure may also perform turning manoeuvres, which may also constitute a movement of said support structure.
  • said one or more dynamic torque contributions may also arise due to movements of one or more additional robotic arms.
  • said one or more torque contributions comprises one or more gravitational torque contributions.
  • One or more of the torque contributions may be gravitational torque contributions. These torque contributions arise from gravity exerting a gravitational force on the robotic arm, on any tool mounted to the robotic arm, or on a payload being moved by the robotic arm.
  • the calculation of the torque contributions may be carried out by taking into account the mass of the robotic arm (or masses of the individual constituents of the robotic arm, e.g., mass of individual robot arm links), mass of a tool carried by the robotic arm, or mass of a payload being moved by the robotic arm, as well as considering the distance of these elements to the at least one tipping point.
  • said one or more torque contributions comprises a torque exerted through use of a robot tool of said robotic arm.
  • the robotic arm may comprise a robot tool for performing a task.
  • a robot tool may include a polishing unit for polishing a surface of an object, a drill for drilling holes, a manipulator, a suction device for moving an object/payload, or any other kind of tool which, when in use, exerts a force on the robotic arm and thereby also a torque about the at least one tipping point.
  • said one or more torque contributions comprises a torque arising from said robotic arm moving a payload.
  • said support structure is a movable support structure
  • said one or more torque contributions comprises a torque contribution associated with an acceleration of said support structure, a torque contribution associated with a deceleration of said support structure, a torque contribution associated with said support structure performing a turning manoeuvre, or any combination thereof.
  • the robotic arm is mounted on a movable support structure, such as an AMR (autonomous mobile robot) or an AGV (autonomous guided vehicle), or any other support structure comprising transporting means
  • Factoring in such torque contributions is advantageous in that the robotic arm system may be operated safely even when the support structure is moving.
  • said support structure is a movable support structure, and wherein said one or more torque contributions comprises a torque contribution associated with an emergency stop of said movable support structure.
  • the robotic arm when the robotic arm is mounted on a movable support structure, such as an AMR (autonomous mobile robot) or an AGV (autonomous guided vehicle), or any other support structure comprising transporting means, there may arise a critical situation in which the movable support structure may have to perform an emergency stop, e.g., to avoid a collision with another object or person.
  • the emergency stop will have the effect that a torque is provided about a tipping point which is located in the direction of movement of the support structure. Depending on the speed of the support structure this torque contribution may take different values. If the torque contribution associated with the emergency braking of the support structure is taken into account in the calculation of available torque, it may be possible to ensure that the robotic arm can always be brought to a sudden standstill without risking tipping over of the system.
  • the torque contribution associated with the emergency braking may also be included in the calculation of the threshold torque instead, whereby the threshold torque may be reduced to compensate for sudden emergency stops. Irrespective of 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.
  • said method is carried out throughout a plurality of subsequent control cycles, each control cycle of said plurality of subsequent control cycles executing said steps of calculating one or more torque contributions, calculating an available torque and controlling said robotic arm.
  • the steps of calculating one or more torque contributions, calculating an available torque and controlling the robotic arm may be carried out in a control cycle.
  • the method may be carried out throughout a plurality of such control cycles, which is advantageous in that the control of the robotic arm can be carried out in an iterative way.
  • Such iterative control of the robotic arm obviously opens up the possibility of breaking down the controlling of the robotic arm into small steps, and the more steps (or control cycles) per time, the finer control of the robotic arm may be possible to achieve.
  • control cycle may include additional steps such as establishing the torque threshold, but also intermediate steps preceding various calculations, such as establishing one or more sensor values from sensors associated with the operation of the robotic arm.
  • the control cycle may be carried out by a robot controller controlling the robotic arm.
  • each control cycle of the plurality of control cycles comprises the step of establishing a threshold torque.
  • Each control cycle of the plurality of control cycles may comprise the step of establishing a threshold torque.
  • a control cycle may comprise all steps of the method.
  • said step of controlling said robotic arm comprises determining a movement of said robotic arm from a first configuration of said robotic arm to a second configuration of said robotic arm, and performing said movement of said robotic arm, wherein a torque about said at least one tipping point resulting from said movement is less than or equal to said available torque.
  • the first configuration of the robotic arm may represent a first state of the robotic arm, in the same way that the second configuration may represent a second state of the robot arm.
  • the difference between the first and second configuration may be realized through movement of one or more robot arm joints of the robotic arm.
  • the determination of the movement is performed such that a torque about the at least one tipping point arising from performing the movement does not exceed the available torque. Thereby, it is ensured that the movement does not result in the robotic arm tipping.
  • said step of controlling said robotic arm comprises actuating one or more robot arm joints of said robotic arm.
  • the step of controlling the robotic arm may comprise actuating one or more robot arm joints of the robotic arm such that the robotic arm may move from a first configuration to a second configuration.
  • said establishing said threshold torque comprises calculating said threshold torque on the basis of one or more physical parameters relating to said support structure.
  • the step of establishing the threshold torque may comprise calculating the threshold torque on one or more physical parameters relating to the support structure on which the robotic arm is mounted.
  • the threshold torque may for example be calculated using a number of physical parameters, such as height of the support structure, support structure mass, center of gravity, distances from center of gravity to tipping points of the support structure (e.g., table legs or platform wheels), and robot mounting location.
  • Establishing the torque threshold by calculation is advantageous in that the torque threshold may be precisely adapted to the specific application of the robotic arm, and the robotic arm may thus be operated closer to the limits of stability.
  • said calculating said threshold torque comprises applying a safety factor.
  • the calculation of threshold torque may define an absolute torque threshold.
  • a safety factor is applied to the calculated torque threshold, as the risk of accidentally overshooting the threshold torque may be prevented.
  • Application of a safety factor may involve dividing the threshold torque by a safety factor greater than one or multiplying the threshold torque with a safety factor less than one (and above zero). For example, for the sake of secure operation of the robotic arm, the physical torque limit may be divided by a safety factor S>1, and the result of this division may be used as the threshold torque.
  • said method comprises a step of defining one or more physical parameters about said robotic arm and/or said support structure.
  • said method comprises a step of defining one or more physical parameters about said robotic arm and/or said support structure, wherein said one or more physical parameters are used in said step of calculating one or more torque contributions and in said step of establishing a threshold torque.
  • the method may comprise a step of defining one or more physical parameters about the robotic arm and/or the support structure to which the robotic arm is mounted.
  • physical parameters should be understood as measures relating to mass, length, mass distribution or any other physical attainable attribute describing the robotic arm and/or the support structure.
  • Defining one or more physical parameters is advantageous in that torque contributions and limits (i.e., threshold torques) may be calculated more accurately, whereby the stability of the robotic arm may be optimized. Furthermore, defining physical parameters allows for the robotic arm to be integrated for different applications. For example, it may be possible to configure the robotic arm for use on different surfaces and for use with different robotic tools. Thereby, the versatility of the method may be improved.
  • said one or more physical parameters comprises one or more parameters selected from support structure height, support structure width, support structure length, robotic arm mounting pose, support structure mass, robot base mass, robotic arm link mass, and robotic arm link length.
  • the one or more physical parameters which may be defined in the initial step may include one or more of support structure height, support structure width, support structure length, robotic arm mounting location, support structure mass, robot base mass, robotic arm link mass, and robotic arm link length.
  • support structure height is understood a height of the support structure.
  • the support structure height may denote the distance between the floor or ground, on which the support structure is placed, and an upper surface of the support structure.
  • support structure width and support structure length is understood, respectively, a width of the support structure and a length of the support structure.
  • the support structure width and the support structure width may be a width and a length, respectively, of an upper surface of the workbench/table.
  • robotic arm mounting pose is understood a pose of the robotic arm with respect to the support structure, which may describe various positional, rotational, and angular placement of the robotic arm with respect to the support structure as the robotic arm may be rotated on the support structure, mounted at an angle with respect to the support structure, mounted higher up than an upper surface of the support structure (e.g., on a mounting plate or a pedestal), or any combination or the above.
  • the robotic arm mounting pose may denote a position in the form of X- and Y-coordinates, the coordinates defining a position on an upper surface of the support structure with respect to a reference position on the upper surface, such as a corner position or a center position of the upper surface.
  • support structure mass is understood a mass of a support structure to which the robotic arm is mounted to.
  • the support structure mass may be handled as a total mass of the support structure, or a mass of the individual constituents of the support structure.
  • robot base mass is understood a mass of a robot base of the robotic arm. The robot base is a part of the robotic arm closest to the support structure on which the robotic arm is mounted.
  • robot arm link mass is understood a mass of individual links of the robotic arm (which links may also include the robot arm joints).
  • robot arm link length is understood a length of the individual links of the robotic arm.
  • said step of defining physical parameters comprises a user inputting said physical parameters in a user interface of a robot controller.
  • the step of defining physical parameters may comprise inputting physical parameters in a user interface associated with a robot controller, such as in a graphical user interface associated with a robot controller. Defining the physical parameters by inputting on a user interface is advantageous in that a convenient way of defining parameters is provided.
  • said available torque is dynamic and depends at least on a relative position of a tool center point with respect to said surface.
  • the available torque may be dynamic (i.e., it may change over time) and depend on numerous factors, including at least the current previously defined state of the robotic arm and a relative position of a tool center point with respect to the surface on which the robotic arm is mounted.
  • a tool center point TCP is understood the working point of a robot tool mounted on the robotic arm.
  • said support structure is a movable support structure comprising transporting means for transporting said support structure.
  • the support structure may comprise transporting means for transporting the support structure. This is advantageous in that the reach and workspace of the robotic arm may be improved, and the range of possible applications of the robotic arm may be improved. For example, having transporting means allows the robotic arm to operate in larger spaces such as warehouses where items have to be moved from one position to another position separated by a distance greater than the reach of the robotic arm.
  • transporting means should be understood as any kind of means which is capable of transporting the support structure, i.e., changing a position of the support structure. Examples of transporting means may comprise wheels for driving about on a surface, wheels for driving on rails, wheels or gears for engaging with a gantry, caterpillar tracks, or any other type of driving system capable of transporting a support structure.
  • the present method is particular advantageous for use in systems where the robotic arm is mounted on a surface of a movable support structure, such as a mobile robot.
  • the proposed torque limits can also take the acceleration capabilities of the movable support structure into account depending on the setup. For example, if the support structure is moving, it might need to do an unexpected hard deceleration, such as an emergency stop.
  • the torque applied about the at least one tipping point when performing such a deceleration may be factored in in the torque contributions, whereby the available torque may be limited as a consequence thereof. This will ensure that the support structure may always be able to perform a deceleration without risking that the robotic arm and support structure will tip around the tipping point.
  • said movable support structure and said robotic arm are controlled in such a way that at any point in time during controlling, one of said movable support structure and said robotic arm is moving while the other is stationary.
  • the movable support structure and the robotic arm may be controlled in such a way that only one of them are moving at any given point of time during the controlling. This is advantageous in that additional safety of operation may be ensured.
  • said support structure is a mobile robot.
  • the support structure may be a mobile robot.
  • a “mobile robot” should be understood as an automatic machine that is capable of locomotion and moving around in an environment, not being fixed to one physical location.
  • Examples of such a mobile robots may include autonomous mobile robots (AMR), which is a type of robot that can understand and move through its environment independently, or autonomous guided vehicles (AGV), which is a type of robot relying on tracks or predefined paths and often require operator oversight.
  • AMR autonomous mobile robots
  • AGV autonomous guided vehicles
  • said movable support structure is a compliant support structure.
  • the movable support structure may be a compliant support structure.
  • the term “compliant” should be understood in such a way that the movable support structure, for example in the form of a mobile robot, is able to move around in a stable manner in compliance with the floor or ground on which it is moving.
  • the compliancy may be provided by use of one or more bogie axles.
  • the compliancy may be provided by use of dampening means such as mechanical springs, for example compression springs, torsion springs, or hydraulic springs, for example air springs or gas springs, or any other kind of dampening element arranged to provide compliance.
  • the movable support structure may be a mobile robot and the compliancy may be provided by arranging wheels of the mobile robot on one or more bogie axles.
  • the mobile robot may move around in a stable manner even when the floor or ground underneath is rough or if the mobile robot has to pass over obstacles in its way.
  • said at least one tipping point is arranged on at least one tipping axis.
  • the at least one tipping point may be arranged on at least one tipping axis.
  • a “tipping axis” may be understood as an axis of rotation around which the robotic arm and support structure, as a whole, may rotate around.
  • the tipping axis denotes an axis critical to the stability of the robotic arm and support structure, as the robotic arm and support structure may tip around this axis if sufficient torque is applied.
  • the tipping axis may intersect one or more tipping points.
  • the at least one tipping axis may be a tipping axis of the support structure.
  • the at least one tipping axis may be an axis intersecting tipping points of the workbench/table such as positions of contact between legs of the support structure and the floor on which it is resting.
  • the tipping axis may be an axis intersecting points of contacts between a set of wheels of the support structure and the floor on which the wheels are engaging.
  • a tipping axis may be referred to as a pivot axis.
  • said at least one tipping point is external to said robotic arm.
  • external tipping points may include tipping points of a support structure.
  • Tipping points of the support structure may include points of contact between the support structure and the ground on which the support structure is resting.
  • the external tipping points may be points of contacts of legs of the table or workbench with the ground on which the legs are resting, for example corner positions of the legs.
  • the at least one tipping point is external, it should be noted that the tipping point is mechanically connected to the robotic arm such that forces arising from movement of the robotic arm propagates in the form of torque(s) in the at least one tipping point.
  • said at least one tipping point is a tipping point of said support structure.
  • the at least one tipping point may be a tipping point of the support structure. It should be noted that a tipping point should not be construed in such a way that the tipping point has to be a specific point of the support structure, although this is possible, however, it should be construed in such a way that it is a point which is at least associated with the support structure.
  • the support structure is in the form of a table having for example four contact points with the floor on which it is resting (one contact point per leg of the table) the four contact points may be considered as tipping points, however any point on the floor arranged on an axis between neighbouring contact points may also be considered as tipping points of the support structure.
  • said support structure is a fastening means, and wherein said fastening means comprises said tipping point.
  • the robotic arm may be mounted to any structure, such as a wall or a platform by use of fastening means.
  • fastening means should be understood as any kind of means capable of fastening the robotic arm to a surface.
  • Examples of fastening means may comprise bolts, screws, clamping elements or any other kind of fastener capable of mounting a robotic arm to a structure.
  • a fastening means such as a bolt
  • the method is advantageous in that the robotic arm may be operated without risk of breaking the fastening means.
  • said method comprises automatically selecting said at least one tipping point among a plurality of tipping points.
  • tipping points may be defined for any physical object. The likelihood of the object tipping around such a point may however be very different from tipping point to tipping point. Thus, in practice there may only be few tipping points that are relevant for the stability of the object.
  • the relevant (or critical) tipping points may change depending on the state of the robotic arm. For example, the robotic arm may rotate in a plane of the surface to which the robot Is mounted (i.e., rotate around a robot base), whereby the robotic arm may become more susceptible to tipping in another direction.
  • the act of performing such a stop may exhibit a torque about tipping point located in a direction of movement of the robotic arm.
  • the act of moving the robotic arm may also affect which tipping points are critical to the stability of the robotic arm.
  • the tipping points that are critical to the stability of the robotic arm may depend on the state of the robotic arm or may depend on the combined state of the robotic arm and the support structure.
  • the method comprises automatically selecting the at least one tipping point among a plurality of tipping points.
  • said method is carried out for a plurality of tipping points.
  • the method may be carried out for a plurality of tipping points. Accordingly, a plurality of threshold torques may be established, each threshold torque being for a respective tipping point of a plurality of tipping points, a plurality of torque contributions may be calculated for the plurality of tipping points, a plurality of available torques may be calculated, each available torque being calculated for a respective tipping point of the plurality of tipping points, and the robotic arm is controlled within the limits defined by the plurality of calculated available torques.
  • said robotic arm and said support structure forms part of a robotic arm system, wherein said robotic arm is a first robotic arm, wherein said robotic arm system comprises a second robotic arm, and wherein said method comprises controlling said first robotic arm and said second robotic arm such that a torque about said at least one tipping point resulting from a change of state of said first robotic arm and said second robotic arm is at or below said available torque.
  • the robotic arm and support structure may form part of a robotic arm system (simply referred to as a robot system in the present context).
  • the robot system may comprise a plurality of robotic arms, such as a first robotic arm and a second robotic arm, however, the robot system may also comprise more than two robotic arms.
  • the method is particularly suitable for control of multiple robotic arms.
  • the method may ensure that the, at any time, combined torques provided about the at least one tipping point by movement of the robotic arms are less than or equal to the available torque.
  • the present method may be executed on a robot controller.
  • the robot controller may be external to the robotic arms; however, it may also be integral to one, or both, of the robotic arms. It may also be the case, that the robot controller is a distributed controller comprising a first robot controller arranged in the first robotic arm, and a second controller arranged in the second robotic arm, and the method is carried out by the two controllers communicating data between themselves.
  • the robot controller is a distributed controller comprising a first robot controller arranged in the first robotic arm, and a second controller arranged in the second robotic arm, and the method is carried out by the two controllers communicating data between themselves.
  • a skilled person will recognize that many types of data transmissions, wired or wireless, may be suitable for that purpose, and indeed any kind of suitable data communication may be used for this purpose.
  • one or more torque contributions are calculated on the basis of an output of an inertial measuring unit.
  • an inertial measuring unit (or “IMU”) is understood as an electronic device that measures and outputs acceleration, orientation, angular rates, and other gravitational accelerations.
  • the inertial measuring unit may be an IMU based on Fiber Optic Gyroscope (FOG), Ring Laser Gyroscope (RLG), Micro Electro- Mechanical Systems (MEMS), or any other kind of electronic device capable of measuring and reporting acceleration, orientation, angular rate, and other accelerations.
  • FOG Fiber Optic Gyroscope
  • RLG Ring Laser Gyroscope
  • MEMS Micro Electro- Mechanical Systems
  • the IMU enables handling of gravity as a non-static parameter, and more specifically, the IMU enables for detection of the angular part of gravity.
  • the torque contributions may be calculated more accurately, and for example, the torque contributions arising from the force exerted by gravity on parts of the robotic arm may accurately take into account the line of action of gravity.
  • the inertial measuring unit may be arranged in the robotic arm and/or in a support structure to which the robotic arm is mounted.
  • said robotic arm comprises said inertial measuring unit.
  • the robotic arm may comprise the inertial measuring unit.
  • the inertial measuring unit is arranged in a robot base of said robotic arm.
  • Having the inertial measuring unit as a part of the robotic arm is particular advantageous in that the robustness of the operation of the robot arm may be improved since it may not be necessary to rely on communication of IMU output from elsewhere, such as a mobile robot. Reducing the reliance on external sensor output makes the operation of the robotic arm less prone to errors.
  • said step of establishing a threshold torque about said at least one tipping point comprises calculating said threshold torque on the basis of an output of said inertial measuring unit.
  • Establishing the threshold torque about the at least one tipping point by calculating the threshold torque on the basis of an output of the inertial measuring unit is advantageous in that it may be possible to prevent tipping over of the robotic arm even in cases where the support structure, to which the robotic arm is mounted, is inclined from a horizontal plane.
  • the threshold torque about the at least one tipping point may depend on the angular orientation of the support structure.
  • said step of calculating said one or more torque contributions and/or said step of establishing a threshold torque about said at least one tipping point are carried out on the basis of an output of an inertial measuring unit.
  • said robotic arm is a first robotic arm and wherein a second robotic arm is mounted onto said support structure, and wherein said one or more torque contributions comprises torque contributions arising from said first robotic arm and said second robotic arm.
  • Two robotic arms may be mounted on the same support structure, for example in the case of two collaborative robot arms working together to solve a common task, e.g., a task in which the first robotic arm and the second robotic arm is lifting a heavy object or an extended object.
  • the two robotic arms may also solve two independent tasks concurrently, e.g., the first robotic arm may be handling a first payload, and the second robotic arm may be handling a second payload.
  • the one or more torque contributions may include torque contributions arising from both robotic arms, e.g., gravitational torque contributions form both robotic arms or dynamical torque contributions arising from movements of one or more of the robotic arms.
  • said method is executed by a robot controller.
  • Another aspect of the present invention relates to a robotic arm system comprising: a robotic arm mounted to a support structure, and a robot controller, wherein said robot controller is configured to perform the steps of
  • the robotic arm system is advantageous in that it is configured to performing the steps of the abovedescribed method.
  • any advantageous effect described in relation to the abovedescribed method equally applies to the robotic arm system.
  • the robotic arm system may comprise a robot controller.
  • a robot controller is understood any kind of device capable of controlling a robotic arm.
  • the robot controller may comprise a computer processor and a memory for storing computer readable instructions.
  • the robot controller may be arranged in a robotic arm of the robot system (or distributed in multiple robotic arms), or the robot controller may be external to the robotic arm.
  • said robot controller comprises a user interface for defining physical parameters of said robotic arm and said support structure.
  • a “user interface” is understood any kind of electronic interface for engaging with a user of the robot system.
  • the interface may be a local interface where the user may directly engage with the robot system, such as a graphical user interface in which the user may define the physical parameters, however, the user interface may also be an input in which a user may input a configuration file (for example via a data carrier such as a memory card) in which the parameters are defined.
  • the user interface of the robot controller may be configured to communicate with an external electronic device on which a user may define the physical parameters.
  • said robot system comprises an inertial measuring unit.
  • said robotic arm is a first robotic arm, and wherein said robotic arm system comprises a second robotic arm.
  • said robot system is arranged to carry out a method for controlling torque applied by a robotic arm about at least one tipping point according to any of the preceding paragraphs.
  • Another aspect of the present invention relates to a computer program product comprising instructions which, when said program is executed by a robot controller of a robotic arm system, causes the robot controller to carry out the steps of the method according to any of the previously disclosed provisions.
  • Fig. 1 illustrates a robot system according to an embodiment of the invention
  • Fig. 2 also illustrates a robot system according to an embodiment of the invention, in which the robotic arm is mounted on a surface of a support structure,
  • Fig. 3 illustrates a top-down view of the robotic system shown in fig. 2,
  • Fig. 4 illustrates steps S1-S4 of a method according to an embodiment of the invention
  • Figs. 5-6 illustrate variations of the method according to other embodiments of the invention.
  • Figs. 7-8 illustrate examples of torques involved in the operation of a robotic arm and is useful for the understanding of the present invention
  • Fig. 9 illustrates a robot system according to another embodiment of the invention.
  • Fig. 10 illustrates a robot system according to yet another embodiment of the invention.
  • Figs. 11-12 illustrate a mobile robot for use in embodiments of the present invention. Detailed description
  • Fig. 1 illustrates a robot system 100 which may be implemented in a number of embodiments according to the present invention.
  • the robot system comprises at least one robotic arm 101 (or simply robot arm) and at least one robot controller 110 configured to control the robot arm.
  • Fig. 1 shows details about the robotic arm 101 itself, whereas figs. 2, 3 and 7-10 illustrate specific implementations of the robotic arm.
  • the robot arm 101 comprises a plurality of robot joints 102a, 102b, 102c, 102d, 102e, 102f connecting a robot base 103 and a robot tool flange 104.
  • a base joint 102a is configured to rotate the robot arm around a base axis 105a (illustrated by a dashed dotted line) as illustrated by rotation arrow 106a;
  • a shoulder joint 102b is configured to rotate the robot arm around a shoulder axis 105b (illustrated by a dashed dotted line) as illustrated by rotation arrow 106b;
  • an elbow joint 102c is configured to rotate the robot arm around an elbow axis 105c (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106c;
  • a first wrist joint 102d is configured to rotate the robot arm around a first wrist axis 105d (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106d;
  • Robot joint 102f is a robot tool joint comprising the robot tool flange 104, which is rotatable around a tool axis 105f (illustrated by a dashed dotted line) as illustrated by rotation arrow 106f.
  • the illustrated robot arm is thus a six-axis robot arm with six degrees of freedom with six rotational robot joints, however it is noticed that the present invention can be utilized in robot arms comprising less or more robot joints.
  • a robot tool flange reference point 107 also known as a Tool Center Point (TCP) is indicated at the robot tool flange and defines the origin of a tool flange coordinate system defining three coordinate axis Xfl ange , yflange, Zfl ange .
  • TCP Tool Center Point
  • the origin of the robot tool flange coordinate system has been arranged on the tool flange axis 105f with one axis (zfl ange ) parallel with the tool flange axis and with the other axis xfl ange , parallel with the outer surface of the robot tool flange 104. Further a base reference point 108 is coincident with the origin of a robot base coordinate system defining three coordinate axis xb ase , ybase, zb ase .
  • the origin of the robot base coordinate system has been arranged on the base axis 105a with one axis (zb ase ) parallel with the base axis 105a and with the other axis xb ase , ybase parallel with the bottom surface of the robot base.
  • the coordinate systems illustrated in fig. 1 are right-handed coordinates systems, however it is to be understood that the coordinate systems also can be defied as left-handed coordinates systems and that left-handed coordinate systems may be used in the other drawings.
  • the direction of gravity 109 in relation to the robot arm is also indicated by an arrow and it is to be understood that the robot arm can be arrange at any position and orientation in relation to gravity.
  • the robot j oints comprise a robot j oint housing and an output flange rotatable or translatable in relation to the robot joint housing and the output flange is connected to a neighbor robot joint either directly or via an arm link as known in the art.
  • the robot joint comprises a joint motor configured to rotate or translate the output flange in relation to the robot joint housing, for instance via a gearing or directly connected to the motor shaft.
  • the robot joints can comprise at least one joint sensor providing a sensor signal for instance indicative of at least one of the following parameters: an angular and/or linear position of the output flange, an angular and/or linear position of the motor shaft of the joint motor, a motor current of the joint motor or an external force and/or torque trying to rotate the output flange or motor shaft.
  • the angular position of the output flange can be indicated by an output encoder such as optical encoders, magnetic encoders which can indicate the angular position of the output flange in relation to the robot joint.
  • the angular position of the joint motor shaft can be provided by an input encoder such as optical encoders, magnetic encoders which can indicate the angular position of the motor shaft in relation to the robot joint. It is noted that both output encoders indicating the angular position of the output flange and input encoders indicating the angular position of the motor shaft can be provided, which in embodiments where a gearing have been provided makes it possible to determine a relationship between the input and output side of the gearing.
  • the robot system 100 comprises at least one robot controller 110 configured to control the robot arm 101.
  • the robot controller is configured to control the motions of the parts of the robot arm and the robot joints for instance by controlling the motor torque provided to the joint motors based on a dynamic model of the robot arm, the direction of gravity acting and the joint sensor signal. Further the robot controller may control the motions of the robot arm based on a robot program stored in a memory of the robot controller.
  • the controller can be provided as an external device as illustrated in fig. 1 or as a device integrated into the robot arm or as a combination thereof.
  • the robot controller can comprise an interface device 111 enabling a user to control and program the robot arm.
  • the interface device can for instance be provided as a teach pendent as known from the field of industrial robots which can communicate with the controller via wired or wireless communication protocols.
  • the interface device can for instance comprise a display 112 and a number of input devices 113 such as buttons, sliders, touchpads, joysticks, track balls, gesture recognition devices, keyboards, computer mice, microphones etc.
  • the display may be provided as a touch screen acting both as display and input device.
  • the interface device can also be provided as an external device configured to communicate with the robot controller, for instance in form of smart phones, tablets, PCs, laptops etc.
  • the robot tool flange 104 comprises a force-torque sensor 114 (sometimes referred to simply as force sensor) integrated into the robot tool flange 104.
  • the forcetorque sensor 114 provides a tool flange force signal indicating a force-torque provided at the robot tool flange.
  • the force-torque sensor is integrated into the robot tool flange and is configured to indicate the forces and torques applied to the robot tool flange in relation to the robot tool flange reference point 107.
  • the force sensor 114 provides a force signal indicating a force provided at the tool flange.
  • the force sensor is integrated into the robot tool flange and is configured to indicate the forces and torques applied to the robot tool flange in relation to the reference point 107 and in the tool flange coordinate system.
  • the force-torque sensor can indicate the force-torque applied to the robot tool flange in relation to any point which can be linked to the robot tool flange coordinate system.
  • the force-torque sensor is provided as a six- axis force-torque sensor configured to indicate the forces along and the torques around three perpendicular axis.
  • the force-torque sensor can for instance be provided as any force-torque sensor capable of indicating the forces and torques in relation to a reference point for instance any of the force-torque sensors disclosed by W02014/110682A1, US4763531, US2015204742.
  • the force sensor in relation to the present invention not necessarily need to be capable of sensing the torque applied to the tool sensor.
  • the force-torque sensor may be provided as an external device arranged at the robot tool flange or omitted.
  • An acceleration sensor 115 is arranged at the robot tool joint 102f and is configured to sense the acceleration of the robot tool joint 102f and/or the acceleration of the robot tool flange 104.
  • the acceleration sensor 115 provides an acceleration signal indicating the acceleration of the robot tool joint 102f and/or the acceleration of the robot tool flange 104.
  • the acceleration sensor is integrated into the robot tool joint and is configured to indicate accelerations of the robot tool joint in the robot tool coordinate system.
  • the acceleration sensor can indicate the acceleration of the robot tool joint in relation to any point which can be linked to the robot tool flange coordinate system.
  • the acceleration sensor can be provided as any accelerometer capable of indicating the accelerations of an object. It is noted that the acceleration sensor may be provided as an external device arranged at the robot tool flange or omitted.
  • the robot system may also comprise an end effector (not illustrated) attached to the robot tool flange 104 and it is to be understood that the end effector can be any kind of end effector such as grippers, vacuum grippers, magnetic grippers, screwing machines, welding equipment, gluing equipment, dispensing systems, painting equipment, visual systems, cameras etc. Throughout the present disclosure such a robot end effector may also be referred to as a robot tool.
  • the illustrated robot arm illustrates one example of a robot arm, however it is to be understood that the present invention can be implemented in robot arms of various types and having various kinematic structures.
  • Fig. 2 illustrates the same robot system 100 as seen in fig. 1, however the robot system 100 further 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 comprising four legs, and as seen in the figure each leg contacts the ground on which it is resting in at least a contact point. These contact points are referred to as tipping points 5a-5d in the present disclosure.
  • Each tipping point 5a-5d represents a point around which the support structure 2 (or table 3) may pivot/tip if the support structure is subjected to sufficient torque.
  • the tipping points 5a-5d are arranged on four tipping axes 6a-6d.
  • Each tipping axis of the four tipping axes 6a-6d represent an axis about which the support structure 2 may pivot/tip. It should be noted that the shown tipping points and tipping axes are only exemplary, and other tipping points/axes may of course exist. The ones shown in fig. 2 however, represent the tipping points/axes around which the support structure is most likely to pivot about.
  • the robot system 100 also comprises a robot controller 110 configured to control the robot arm.
  • the controller can be provided as an external device as illustrated in fig. 1, or as a device integrated into the robot arm, or as a combination thereof.
  • Fig. 3 shows a top-down view of the robot system 100 as seen in fig. 2.
  • the robotic arm 101 is only illustrated by the circumference of the robot base 103. This simplistic view of the robotic arm also makes it possible to see the robotic arm mounting position on the surface 1.
  • the robotic arm mounting position of fig. 3 is illustrated by means of coordinates X and Y that are coordinates of a center of the robot base 103 with respect to a reference point of the surface 1.
  • the reference point is a center position of the surface 1, however, it should be noted that the coordinates may be with respect to any other reference position on the surface.
  • the robotic arm mounting position as illustrated in fig.
  • robotic arm mounting pose may describe various positional, rotational, and angular placements of the robotic arm 101 with respect to the support structure 2.
  • the robotic arm pose, and specifically here, the robotic arm mounting position may represent physical parameters about the robot system, which parameters may be provided as input in the robot controller 110, preferably by means of the interface device 111.
  • Fig. 3 also shows that the surface 1 has a surface width 7 and a surface length 8.
  • the surface height 9 is illustrated in fig. 2.
  • These physical parameters of the support structure i.e., the surface width 7, surface length 8, surface height 9, and robotic arm mounting position (described by coordinates X and Y), are parameters that may be defined by an integrator when setting up the robot system for its intended application.
  • the content of fig. 3 may indeed represent a view presented by a graphical user interface (not shown in the figure) of a robot controller 110 and may therefore represent the visual interface with which the robot integrator may interact with in a process of defining physical parameters. It should be noted that other physical parameters may be defined than the exemplary parameters mentioned in relation to figs. 2 and 3.
  • fig. 4 describes the method in general
  • figs. 5 and 6 illustrate variations of the method
  • figs. 7 and 8 illustrate the method in further detail, and in particular the implications of the method for a robot system.
  • Fig. 4 illustrates steps S1-S4 of a method according to an embodiment of the invention.
  • the steps of the method can be carried out by a robot controller 110.
  • a threshold torque is established about at least one tipping point.
  • the threshold torque is the torque required to tip the robot system 100 around at least one tipping point 5a-5d.
  • the threshold torque is calculated using physical parameters about the robot system including physical parameters described in relation to fig. 3. It should be noted that the calculation of the torque threshold naturally depends on which tipping point(s) are used in respect of the calculation, as it may require more torque to tip the robot system 100 around one tipping point than others.
  • a second step S2 one or more torque contributions about the at least one tipping point are calculated.
  • the physical impact of the robotic arm 101 on the robot system 100 is taken into consideration.
  • torque contributions imposed by gravitational forces exerted on the robotic arm and velocity dependent torques (Coriolis and centrifugal torques) because the robotic arm has a velocity.
  • fig. 2 it can be seen that parts of the robotic arm are located away from the base part 103 of the robotic arm, and therefore the gravitational forces exerted on these parts will result in a torque about the mounting position of the robotic arm (the point on the surface 1 on which the robotic arm is mounted).
  • These torque contributions also manifest themselves as torque contributions about a tipping point.
  • the torque contributions arising from the gravitational impact on the robotic arm is calculated about at least one tipping point for which a threshold torque is also calculated.
  • a calculation can be made on the basis of data relating to position of robotic arm elements, such as data output from robot joint sensors and physical parameters concerning the mounting position of the robotic arm and the support structure to which the robotic arm is mounted.
  • an available torque to be applied by the robotic arm 101 is calculated.
  • the available torque is calculated as a difference between the threshold torque and the sum of one or more torque contributions. By calculating this difference, it is possible to determine the remaining torque available about the respective tipping point. If more torque is applied by the robotic arm than this available torque, the robot system may tip over.
  • the robotic arm 101 is controlled such that a torque about the at least one tipping point resulting from a change of state of the robotic arm is at or below the available torque.
  • the controlling involves the robot controller sending out control signals to joint(s) of the robotic arm causing the joint(s) to rotate, whereby the robotic arm changes configuration from a first configuration to a second configuration.
  • Such change in configuration results in a torque being applied about the at least one tipping point, and the robot controller is arranged in such a way that the torque applied is less than or equal to the available torque. Thereby it is ensured that the robotic arm is operated within the limits of imposed by the threshold torque.
  • Figs. 5 and 6 show different variations of the method as described in fig. 4 according to embodiments of the present invention.
  • fig. 5 is shown how steps S2- S4 are repeated in a number of control cycles
  • fig. 6 shows how the steps S1-S4 may be repeated in a number of control cycles.
  • Fig. 7 illustrates examples of torque contributions involved in the operation of a robotic arm 101, and the figure is therefore useful in understanding methods of the present invention.
  • the robotic arm 101 shown in fig. 7 may represent any of the robotic arms shown in relation to the previous figures.
  • the robotic arm 101 is seen mounted on a surface 1 of a support structure 2 in the form of a table, and as seen in the figure tipping points 5a and 5b are illustrated.
  • the robotic arm 101 of fig. 7 is shown in an instance of its operation. Although the robotic arm including its robot arm joints may move about in a continuous fashion, the movement of the robotic arm may, from a perspective of a robot controller, be regarded as a discretized movement (i.e., a movement which occurs in discrete steps). Accordingly, fig. 7 illustrates a step in the movement of the robotic arm, and in this step, the robot controller may assume that the robotic arm is in a static configuration/pose. In this assumed static configuration, the robot controller 110 takes into account the weight of the robotic arm (as indicated by the downwards pointing arrows in fig.
  • the robot controller calculates a static force and torque/moment applied on the surface arising from the gravitational forces on the robotic arm.
  • the robot controller calculates all the static torque contributions arising from gravitational forces on all robotic arm elements.
  • the robot controller is able to calculate the torque contributions about tipping points of the support structure, and in fig. 7 is shown that the sum of the torque contributions 10 is calculated around at least one tipping point 5a.
  • fig. 8 is shown the same robotic arm system as seen in fig. 7, however, now the robotic arm is about to move into another configuration by application of torque in the robot arm joints 102b-102d (indicated by curved arrows around robot arm joints), whereby the elements of the robot arm accelerate. This movement also induces a torque about the tipping point 5a.
  • an available torque 11 is calculated, and this available torque cannot surpass the difference between the sum of torque contributions 10 and the threshold torque 12.
  • This relation between the sum of torque contributions 10, available torque 11, and threshold torque 12 is depicted in fig. 8 by the curved arrows around tipping point 5a.
  • the robot system 100 will remain stable.
  • the application of torque around the robot arm joints 102b-102d may be regarded as examples of dynamic torque contributions, as the induced torque about tipping point 5a arises at least partly due to movement of the robot arm 101.
  • the robot controller may calculate the available torque for the movement of the robotic arm into the next step.
  • Fig. 9 illustrates a robot system 100 according to an embodiment of the invention, in which the robotic arm 101 is mounted on a surface 1 of a movable support structure 2, in the form of a mobile robot 4.
  • the mobile robot 4 is an automatic machine that is capable of locomotion and moving around in an environment, not being fixed to one physical location.
  • the mobile robot 4 comprises a set of four wheels (only two wheels are visible from the perspective presented in fig. 9, however two additional wheels are also present on the opposite side of the mobile robot).
  • four tipping axes 3a-3d are present, and each tipping axis intersects the two contact points between a wheel and the ground on which the mobile robot is positioned on.
  • the mobile robot 4 may have to perform emergency stops, for example to avoid collision with objects or persons present in the environment in which the robot system operates, or generally, the mobile robot could also be moving about (e.g. accelerating, decelerating, turning, etc.) which also may impose one or more torque contributions about a tipping point. Such torque contributions arising from movements of the mobile robot 4 may be regarded as examples of dynamic torque contributions.
  • An emergency stop is carried out by reducing the speed of the mobile robot, and the action of doing this causes a torque to be produced about a tipping axis 3a-3d positioned in the direction of movement of the mobile robot.
  • the magnitude of this torque naturally depends on the peak deceleration of the mobile robot, and therefore naturally depends on the initial speed of the mobile robot and the braking distance of the mobile robot.
  • the robot system 100 of the present embodiment is configured to calculate a torque contribution associated with such a deceleration and factor this in the calculation of available torque. Thereby is ensured that the robot system is capable of performing an emergency stop irrespective of how the robotic arm is controlled.
  • Fig. 9 also shows that the robotic arm includes an inertial measuring unit 13 in the robot base.
  • the inertial measuring unit is capable of detecting the orientation of the robot system. This may be particularly useful in calculation of torques as these may depend on the orientation and acceleration of the mobile robot, i.e., it matters whether the mobile robot is moving on a flat surface or on an inclined surface.
  • robotic arm of fig. 9 is not shown with any specific robot tool, however, it should be noted that any robot tool may be used in conjunction with the robotic arm, for example a payload moving arrangement as seen in fig. 10.
  • Fig. 10 illustrates a robot system 100 according to another embodiment of the invention.
  • the robot system comprises a robotic arm 101 comprising a robot tool 14, in the form of a payload moving arrangement capable of moving a payload 15.
  • the robotic arm 101 is mounted on a surface 1 of a movable support structure 2.
  • the surface 1 is not an extended surface such as a surface of a table, but rather a surface of a mounting flange.
  • a robot controller 110 arranged to carry out any of the methods described herein.
  • a robot system as seen in fig. 10 may be particularly useful in warehouses where handling of payloads is to be automated.
  • Figs. 11 and 12 illustrate a mobile robot for use in embodiments of the present invention.
  • a support structure 2 in the form of a mobile robot 4.
  • the mobile robot 4 is furthermore seen as moving along direction 19 indicated by the arrow.
  • the mobile robot 4 may form part of a robot system 100 and may be coupled to a robot arm 101 like any of the robot arms disclosed in relation to any of the preceding figures, and the robot system (comprising this mobile robot and such a robot arm) may be arranged to implement the method described in relation to fig. 4.
  • fig. 12 is seen a bottom-up view of the same mobile robot 4 as seen in fig. 11.
  • Fig. 12 shows that the mobile robot 4 comprises four caster wheels 16, each caster wheel 16 disposed at a corner position of the mobile robot 4.
  • the mobile robot 4 also comprises two drive wheels 17, each drive wheel 17 being disposed at a side of the mobile robot.
  • the two caster wheels 16 disposed in the direction of movement 19 and the two drive wheels 17 are arranged on a bogie axle 18, with each bogie axle 18 comprising one caster wheel 16 and one drive wheel 17.
  • the two caster wheels 16 disposed opposite the direction of movement 19 are also arranged on a bogie axle 18.
  • the mechanical construction with the bogie axles 18 ensures that the mobile robot can balance the loads between the six wheels of the mobile robot and ensures that the mobile robot can automatically adapt to topographic fluctuations, for example to a terrain with small obstacles.
  • a consequence of this bogie-axle-construction is that the mobile robot may tip when traversing topographic fluctuations, and in the present example, there are three points around which the mobile robot may tip when traversing such topographic fluctuations, and these points are tipping points 5a-5c. As seen in fig. 12, each of the tipping points 5a-5c are arranged on a respective bogie axle 18. Also seen in fig. 12 are the corresponding tipping axes 6a-6b.
  • Robot system X, Y. Coordinates of robotic arm mounting location 100.
  • Robot base 104 Robot tool flange

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Disclosed is a method for controlling torque applied by a robotic arm about at least one tipping point, said robotic arm being mounted on a support structure, said method comprising the steps of: establishing a threshold torque about said at least one tipping point; calculating one or more torque contributions about said at least one tipping 5 point; calculating an available torque to be applied by said robotic arm, wherein said available torque is a difference between said threshold torque and a sum of said one or more torque contributions, and controlling said robotic arm such that a torque about said at least one tipping point resulting from a change of state of said robotic arm is at or below said available torque.10 A robotic arm system and a computer program product are further disclosed.

Description

DYNAMIC TIPPING PREVENTION OF ROBOT MOUNTING SURFACES
Field of the invention
[0001] The present invention relates to a method for controlling torque applied by a robotic arm about at least one tipping point. The invention further relates to a robotic arm system and a computer program product.
Background of the invention
[0002] Robotic arms are machines that are programmable to execute a specific task quickly, efficiently, accurately, and safely. They are most often used for the rapid, consistent performance of heavy and/or highly repetitive procedures over extended periods of time, and are especially valued in industrial production, manufacturing, machining and assembly sectors.
[0003] A typical industrial robot arm includes a series of articulated joints working together to closely resemble the motion and functionality of a human arm - at least from a purely mechanical perspective. Many robotic arms used in countless industries and workplace applications today are benchtop mounted, and some robotic arms are even mounted on mobile robots facilitating movement of the robotic system as a whole (mobile robot and robotic arm) throughout a workplace. Such benchtops or mobile robotic systems represent unstable surfaces for mounting the robotic arm to.
[0004] Until now, the stability of a robotic arm mounted on an unstable surface is ensured by limiting the joint accelerations (and thereby to some degree torques) for one, several, or all robotic arm motions. This limit has to be determined empirically by the programmer, to ensure that no robot motion in the complete program/cycle will make the system tip over. Alternatively, virtual safety planes can be used in the robot controller, restricting the cartesian space in which the robotic arm is allowed to move (the further from the tipping point the robot is moving, the easier it is to tip the system over). However, even when moving the robot arm close to the base, high joint accelerations/torques can be applied, resulting in the system tipping 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 (Zero Moment Point) is set by comparing an actual ZMP with a ZMP limit value at which the standing state of the cart 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. On the other hand, if the ZMP deviates from the stable region, the robot becomes unstable and a correction for stabilization becomes necessary.
[0006] US 2019/0118380 Al discloses a method for robot fall prediction which includes searching for a gravity center offset weighting value corresponding to a posture of a robot, correcting a gravity center offset of the robot based on the gravity center offset weighting value, correcting an acceleration of the robot based on a gravity center offset direction of the robot, and determining whether the robot will fall or not based on the corrected gravity center offset and the corrected acceleration.
[0007] Thus, there exists a need of improving the stability of a robotic arm without unduly restricting movements of the robotic arm and accordingly methods of controlling robotic arms in a stable way which may accommodate rapid joint motions.
Summary of the invention
[0008] The inventors have identified the above-mentioned problems and challenges related to stability of a robotic arm, and subsequently made the below-described invention which may increase stability and usability of a robotic arm.
[0009] An aspect of the present invention relates to a method for controlling torque applied by a robotic arm about at least one tipping point, said robotic arm being mounted on a support structure, said method comprising the steps of:
- establishing a threshold torque about said at least one tipping point,
- calculating one or more torque contributions about said at least one tipping point, - calculating an available torque to be applied by said robotic arm, wherein said available torque is a difference between said threshold torque and a sum of said one or more torque contributions, and
- controlling said robotic arm such that a torque around said at least one tipping point resulting from a change of state of said robotic arm is at or below said available torque.
[0010] Thereby is provided an advantageous method of controlling torque applied by a robotic arm to a support structure, which may improve stability and utilization of a robotic arm in multiple applications of use. The method is advantageous for a number of reasons.
[0011] First, the method is advantageous in that it has the effect, that a torque applied from the robotic arm about at least one tipping point (torque applied through movement of the robotic arm or through a force applied by the robotic arm to an external object, such as payload or fixed obstacle) does not cause the robotic arm to tip around the at least one tipping point. This stability of the robotic arm is achieved by the robotic arm calculating available torque about the at least one tipping point and ensuring that movements/actions performed by the robotic arm does not impose a torque, about the at least one tipping point, greater than the available torque, resulting in the robotic arm operating within a threshold torque for tipping around the at least one tipping point. Hence, independently of where, relative to the support structure, the robotic arm is operating, it is ensured that the torque applied by the robotic arm is controlled to be below a determined limit.
[0012] Second, the method is advantageous in that it has the effect, that utilization of a robotic arm may be improved. Through calculation of the available torque, it is made possible for the robotic arm to be operated as close as possible to its torque threshold about the at least one tipping point without exceeding the torque threshold. Thereby, for example, the robotic arm may perform faster movements or exert a greater force on an external object than other robotic arms that are not operated according to the present method and which freedom of movement is bounded by pre-defined and possibly conservative thresholds. Increasing the freedom of movement of the robotic arm improves the degree of utilization of the robotic arm as more tasks can be performed by the robotic arm. In other words, the full reach and workspace of the robotic arm may become available, and the speed of the robotic arm is only reduced when and where it is needed, resulting in optimal cycle time without tipping over the system.
[0013] Third, the method is advantageous in that it has the effect, that movement of the robotic arm, moving a payload, is controlled such that a sudden emergency stop of the robotic arm may not cause the robotic arm to topple over.
[0014] Fourth, the method is advantageous from the viewpoint of a robot integrator responsible for adapting the robotic arm to a specific application. The robot integrator, integrating a robotic arm operated by the present method, will be able to guarantee stability and safe operation of the robotic arm even when the robotic arm is mounted on a support structure that is not a fixed support structure (i.e., not a floor or a structure mounted to the floor). Such non-fixed support structures may include movable structures such as a mobile robot.
[0015] The method may be regarded as an anticipatory method in that it establishes an available torque at any given moment and allows the robotic arm to operate within that torque boundary. Thereby, the robotic arm may always be operated within the limits of stability. This is quite contrary to existing methods which are more reactive in the sense that they detect whether an unstable state of the robotic arm is present, and stability corrections are first made once an unstable state is detected. The present method may avoid that the robotic arm is driven into an unstable state in the first place. Accordingly, the present method, may improve robotic arm safety over such existing methods.
[0016] It should be noted that the method involves calculating one or more torque contributions about at least one tipping point and summing together these one or more calculated torque contributions. Evidently, if only one torque contribution is present, the sum of the one or more torque contributions will naturally amount to only the one torque contribution. However, in most scenarios, a plurality of torque contributions may be present at any time during operation of the robotic system (robotic arm and support structure). This summation of torque contributions may be done in several different ways, and the present method is therefore not limited to any particular way of carrying out this calculation. One way of carrying out the calculation is to calculate the one or more torque contributions in vector representations and adding the vector representations of each torque contribution of the one or more torque contributions together. Thereby is calculated a total torque contribution, also in vector representation. Note that torque is always defined with reference to a specified point (or axis). A shift in reference point (or reference axis), will also result in each torque (of a force) changing. Thus, the total torque contribution may be defined with respect to any reference point, and a particular relevant point may in the context of the present invention be a tipping point. In particular, the total torque, i.e., the sum/addition of the one or more torque contributions may be established with respect to a tipping point, for example a tipping point of the support structure.
[0017] As an example, a table has four axes, around which the table is most likely to tip around (each axis defined by a line intersecting a neighbouring set of table legs). Each of these four axes, or indeed any point on one of these axes, may have a threshold torque for tipping around the axis (or point). The total torque contribution (sum of one or more torque contributions) may be compared to any of this threshold torques, for example starting with the axis having the lowest threshold torque, and thereby it may be possible to assess the available torque around this axis. The comparison of the total torque with threshold torques may involve comparisons with multiple threshold torques, however, in practice, there may always be some tipping points (or tipping axis) around which there is a higher risk of tipping (depending on the combined state of the robotic arm and support structure), and it may therefore be most fruitful to start with these points/axes.
[0018] It should also be noted that, the one or more torque contributions may also be calculated specifically around the same tipping point(s), and thereby the summation of one or more torque contributions can be done numerically (without using vector addition). A skilled person will readily appreciate that the calculation of the sum of torque contributions (total torque) may be done in numerous ways and still arrive at the same result.
[0019] In the present disclosure the terms “robotic arm” and “robot arm” may be used interchangeably, and in the present context, a robotic arm is understood as a type of mechanical arm, usually programmable, with similar functions to a human arm. Such a robotic arm may typically include a number of robotic arm links interlinked by robotic joint elements enabling rotation of robotic arm links with respect to one another. The linking of the robotic arm links by the robotic joint elements defines an elongated structure which may mimic the behaviour of a human arm, however the rotational degree of freedom may surpass that of a human arm; for example, the joints of the robotic arm may allow 360 degrees of rotation, which may not be possible for joints of a human arm. Such a robotic arm may also include a tool for performing operations on external objects.
[0020] Torque is understood as the rotational equivalent of a linear force. Just as linear force is a push or pull, a torque can be thought of as a twist to an object around a specific axis. In vector form, torque is the cross product of a radius vector (from axis of rotation to point of application of force) and a force vector. In symbols: = f x F
T = ||f|| ||F|| sin 0 where T is the magnitude of the torque , f is the radius vector, F is the force vector, x denotes the vector cross product, ||f || is the magnitude of the radius vector, ||F|| is the magnitude of the force vector, and 0 is the angle between the radius vector and the force vector.
[0021] When a torque is calculated about a point, the torque automatically points along an axis which can be found by using the right-hand thumb rule of cross products. In other words, torque is always a measure of a twisting force around an axis of rotation. Throughout the present disclosure the term “torque” may be used to refer to the vector quantity of torque, but also to the magnitude of the torque vector. A skilled person will readily understand the term “torque” in the most meaningful representation by the specific context in which torque is referred to.
[0022] It should be noted that torque is a convenient way of describing the effect of a force exerted on a body in the present context of tipping prevention. In this regard, a torque may be seen as a representation of a force. It should therefore also be noted that a force representation of the torques involved throughout the present disclosure is regarded as an equivalent representation, and a skilled person will be able to convert between the torque and force representations of the forces/torques involved in control of the robotic arm without exercising any inventive skill.
[0023] In the present context, a “threshold torque” is understood as a limit of torque that may be applied about the at least one tipping point. Thus, a threshold torque is a torque limit concerned with a specific tipping point, or at least concerned with a specific tipping axis. It should be noted that there may of course exist multiple tipping points for any physical object, however this does not necessarily imply that an equal amount of threshold torques must be established. Exceeding the torque threshold may have detrimental consequences to the operation of the robotic arm as the robotic arm and support structure may topple over. The threshold torque thus represents a physical torque limit, which, when surpassed, causes tipping of the support structure to which the robotic arm is mounted. The threshold torque may be established in numerous ways; it may be calculated upon integration of the robotic arm, or it may already have been pre-calculated if for example the robotic arm system (including robotic arm and support structure) is a standard robotic arm system integrated to perform a standard operation. The threshold torque may be calculated from physical parameters including support structure height, mass, center of gravity, distances from centre of gravity to support structure tipping points, and robotic arm mounting location on the support structure.
[0024] In the present context, “torque contributions” are understood as any kind of contribution of torque applied about the at least one tipping point through operation of the robotic arm. Such torque contributions may include torque arising from gravitational forces exerted on the robotic arm, torque arising from gravitational forces exerted on a payload being moved by the robotic arm, torque arising from gravitational forces exerted on a support structure to which the robotic arm is mounted, torque arising from Coriolis effect or centrifugal effects due to at least part of the robotic arm having a velocity, torque arising from acceleration of the robotic arm, torque arising from friction forces between one or more wheels of the support structure (if it is a movable support structure) and the floor/ground, or torque arising from the robotic arm exerting a force on an external object. It should be noted that the above list of torque contributions is non-exhaustive, and a skilled person may readily appreciate that other kind of torque contributions may exist.
[0025] In the present context, a “tipping point” may be understood as a point critical to the stability of the robotic arm, and around which point the robotic arm may tip (or tilt or pivot). In other words, in the present context, a tipping point may also be referred to as a pivot point. In some embodiments, the at least one tipping point includes a point of contact between a support structure, to which the robotic arm is mounted, and the underlying floor or ground. For example, in the case of the robotic arm being mounted on a surface of a workbench/table, a tipping point may represent a point of contact between a leg of the workbench/table and the ground on which the workbench/table is standing. For example, in the case of the robotic arm being mounted on a support structure having wheels, such as a mobile robot, a cart or a trolley, the at least one tipping point may be a point of contact of one of the wheels and the floor or ground underneath the wheel, or a center point of the wheel. The tipping point may also be a point arranged on a bogie axle, said bogie axle having at least two wheels attached thereto. In an alternative embodiment of the invention, the at least one tipping point represents a point of contact between the robotic arm and the surface to which the robotic arm is mounted, for example a point of fastening, e.g., a bolt.
[0026] It should be noted, that at least one tipping point may include more than one tipping point, such as a plurality of tipping points, such as two tipping points, three tipping points, four tipping points, or any number of tipping points. A skilled person will readily appreciate that in the case of multiple relevant tipping points, the steps of the method may be repeated for each of these tipping points deemed critical to the stability of the operation of the robotic arm system.
[0027] In the present context, a “support structure” should be understood as any type of structure capable of supporting a robotic arm. The support structure is a non-fixed structure meaning that for example that the support structure is different from the floor of a building or from the ground if the robotic arm is operating outside. Examples of support structures may include structures such as tables and workbenches, but also structures with transport means (for example wheels) such as carts, trolleys and mobile robots. In an alternative embodiment, the support structure may be a fastening means for mounting the robotic arm to a structure. It should be notes that a support structure may also simply be referred to as a “structure” in the present disclosure.
[0028] In the present context, a “change of state” is understood as a change of position of one or more parts of the robotic arm with respect to other parts of the robotic arm. In that sense, the state reflects an instance of the positioning/arrangement of elements of the robotic arm, for example a specific arrangement of robot arm joints.
[0029] According to an embodiment, said one or more torque contributions comprises one or more dynamic torque contributions.
[0030] In the context of the present disclosure, “dynamic torque contributions” may be understood as torque contributions arising from movement of the robotic arm itself (e.g., movements of one or more robot joints of the robotic arm) and / or movements of the support structure onto which the robotic arm is mounted. Examples of such movements may include amongst others rotation of the robotic arm around its robot base, rotation(s) of any number of robot joints, or movements of the support structure, such as angular or linear accelerations, movements around curved paths, movements along linear paths, etc. Dynamic torque contributions may also arise due to movements of a secondary robotic arm mounted on the same support structure.
[0031] For example, a rotation of the robotic arm around its base joint may impose a significant torque contribution about the at least one tipping point. So, even though the robotic arm may be operating close to the base (e.g., not fully extended horizontally away from the base joint), and the centre of gravity of the robotic arm may be within a supporting area of the support structure, the robotic arm system may still be easily prone to instabilities. As an example, extending the reach of the robotic arm while it is rotating may cause the robotic arm system (including e.g. an optional payload handled by the robotic arm) to become unstable even though the extension of the reach of robotic arm would still cause the center of gravity of the robotic arm to be within a supporting area of the support structure. In such a situation, if the dynamic contributions are not taken into account (which indeed is the case in many existing robot control systems), the robot arm could be mistaken to be in a stable state even though the robot arm may actually be on the brim of tipping over. Thus, by taking into account dynamic torque contributions, such situations may be avoided, and the robot arm may be operated more safely.
[0032] Considering dynamic torque contributions in the calculation of available torque around the at least one tipping point is furthermore advantageous in that the stability of the robotic system may be improved over a wider range of applications of the robotic arm, including applications where the robotic arm is transported around on a movable support structure, or applications where the robotic arm is mounted on a support structure together with another moving robotic arm, or in applications employing rapid movements of the robotic arm.
[0033] According to an embodiment, said one or more dynamic torque contributions arises from a movement of said robotic arm and/or from a movement of said support structure.
[0034] A movement of a robotic arm may constitute a movement/rotation of a single robot arm joint (or robot joint) or movements of a collection of robot joints of the robotic arm. A movement of the support structure may constitute an acceleration (or deceleration) of the support structure. Such accelerations/deceleration may for example occur if the support structure is a movable support structure, such as a mobile robot, which may perform such movements when manoeuvring about in a working environment. Such a movable support structure may also perform turning manoeuvres, which may also constitute a movement of said support structure. [0035] According to another embodiment, said one or more dynamic torque contributions may also arise due to movements of one or more additional robotic arms.
[0036] According to an embodiment, said one or more torque contributions comprises one or more gravitational torque contributions.
[0037] One or more of the torque contributions may be gravitational torque contributions. These torque contributions arise from gravity exerting a gravitational force on the robotic arm, on any tool mounted to the robotic arm, or on a payload being moved by the robotic arm. The calculation of the torque contributions may be carried out by taking into account the mass of the robotic arm (or masses of the individual constituents of the robotic arm, e.g., mass of individual robot arm links), mass of a tool carried by the robotic arm, or mass of a payload being moved by the robotic arm, as well as considering the distance of these elements to the at least one tipping point.
[0038] According to an embodiment, said one or more torque contributions comprises a torque exerted through use of a robot tool of said robotic arm.
[0039] The robotic arm may comprise a robot tool for performing a task. Examples of a robot tool may include a polishing unit for polishing a surface of an object, a drill for drilling holes, a manipulator, a suction device for moving an object/payload, or any other kind of tool which, when in use, exerts a force on the robotic arm and thereby also a torque about the at least one tipping point.
[0040] According to an embodiment, said one or more torque contributions comprises a torque arising from said robotic arm moving a payload.
[0041] According to an embodiment, said support structure is a movable support structure, and wherein said one or more torque contributions comprises a torque contribution associated with an acceleration of said support structure, a torque contribution associated with a deceleration of said support structure, a torque contribution associated with said support structure performing a turning manoeuvre, or any combination thereof. [0042] If the robotic arm is mounted on a movable support structure, such as an AMR (autonomous mobile robot) or an AGV (autonomous guided vehicle), or any other support structure comprising transporting means, it is advantageous to factor in torque contributions associated with dynamics of the moving support structure, such as accelerations, decelerations, turnings of the support structure, or any combination thereof, as such movements of the support structure may also impose torque contributions. Factoring in such torque contributions is advantageous in that the robotic arm system may be operated safely even when the support structure is moving.
[0043] According to an embodiment, said support structure is a movable support structure, and wherein said one or more torque contributions comprises a torque contribution associated with an emergency stop of said movable support structure.
[0044] Furthermore, when the robotic arm is mounted on a movable support structure, such as an AMR (autonomous mobile robot) or an AGV (autonomous guided vehicle), or any other support structure comprising transporting means, there may arise a critical situation in which the movable support structure may have to perform an emergency stop, e.g., to avoid a collision with another object or person. The faster the support structure is moving, the greater the acceleration of the support structure may have to be. The emergency stop will have the effect that a torque is provided about a tipping point which is located in the direction of movement of the support structure. Depending on the speed of the support structure this torque contribution may take different values. If the torque contribution associated with the emergency braking of the support structure is taken into account in the calculation of available torque, it may be possible to ensure that the robotic arm can always be brought to a sudden standstill without risking tipping over of the system.
[0045] It should be noted that alternatively the torque contribution associated with the emergency braking may also be included in the calculation of the threshold torque instead, whereby the threshold torque may be reduced to compensate for sudden emergency stops. Irrespective of 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. [0046] According to an embodiment, said method is carried out throughout a plurality of subsequent control cycles, each control cycle of said plurality of subsequent control cycles executing said steps of calculating one or more torque contributions, calculating an available torque and controlling said robotic arm.
[0047] The steps of calculating one or more torque contributions, calculating an available torque and controlling the robotic arm may be carried out in a control cycle. The method may be carried out throughout a plurality of such control cycles, which is advantageous in that the control of the robotic arm can be carried out in an iterative way. Such iterative control of the robotic arm obviously opens up the possibility of breaking down the controlling of the robotic arm into small steps, and the more steps (or control cycles) per time, the finer control of the robotic arm may be possible to achieve. The above-mentioned steps of the control cycle are only to be considered as a non-exhaustive list of possible steps, and indeed, the control cycle may include additional steps such as establishing the torque threshold, but also intermediate steps preceding various calculations, such as establishing one or more sensor values from sensors associated with the operation of the robotic arm. The control cycle may be carried out by a robot controller controlling the robotic arm.
[0048] According to an embodiment, each control cycle of the plurality of control cycles comprises the step of establishing a threshold torque.
[0049] Each control cycle of the plurality of control cycles may comprise the step of establishing a threshold torque. Thereby, a control cycle may comprise all steps of the method.
[0050] It may be advantageous to also include the step of establishing a threshold torque in each control cycle, in particular when the support structure to which the robotic arm is mounted is a moving support structure. For example, depending on the slope of the ground on which such a support structure is moving, the threshold torque may change, and therefore re-calculation of the threshold torque may be necessary to ensure adequate stability of the robotic arm. [0051] According to an embodiment, said step of controlling said robotic arm comprises determining a movement of said robotic arm from a first configuration of said robotic arm to a second configuration of said robotic arm, and performing said movement of said robotic arm, wherein a torque about said at least one tipping point resulting from said movement is less than or equal to said available torque.
[0052] The first configuration of the robotic arm may represent a first state of the robotic arm, in the same way that the second configuration may represent a second state of the robot arm. The difference between the first and second configuration may be realized through movement of one or more robot arm joints of the robotic arm. The determination of the movement is performed such that a torque about the at least one tipping point arising from performing the movement does not exceed the available torque. Thereby, it is ensured that the movement does not result in the robotic arm tipping.
[0053] According to an embodiment, said step of controlling said robotic arm comprises actuating one or more robot arm joints of said robotic arm.
[0054] The step of controlling the robotic arm may comprise actuating one or more robot arm joints of the robotic arm such that the robotic arm may move from a first configuration to a second configuration.
[0055] According to an embodiment, said establishing said threshold torque comprises calculating said threshold torque on the basis of one or more physical parameters relating to said support structure.
[0056] The step of establishing the threshold torque may comprise calculating the threshold torque on one or more physical parameters relating to the support structure on which the robotic arm is mounted. The threshold torque may for example be calculated using a number of physical parameters, such as height of the support structure, support structure mass, center of gravity, distances from center of gravity to tipping points of the support structure (e.g., table legs or platform wheels), and robot mounting location. Establishing the torque threshold by calculation is advantageous in that the torque threshold may be precisely adapted to the specific application of the robotic arm, and the robotic arm may thus be operated closer to the limits of stability.
[0057] According to an embodiment, said calculating said threshold torque comprises applying a safety factor.
[0058] The calculation of threshold torque may define an absolute torque threshold. In practice, it may not be desirable to operate the robotic arm at this threshold limit, as small and unforeseen torque contributions, may have the effect that, during operation, the threshold torque is overshoot and the robotic arm may topple over. Accordingly, it is advantageous that a safety factor is applied to the calculated torque threshold, as the risk of accidentally overshooting the threshold torque may be prevented. Application of a safety factor may involve dividing the threshold torque by a safety factor greater than one or multiplying the threshold torque with a safety factor less than one (and above zero). For example, for the sake of secure operation of the robotic arm, the physical torque limit may be divided by a safety factor S>1, and the result of this division may be used as the threshold torque.
[0059] According to an embodiment, said method comprises a step of defining one or more physical parameters about said robotic arm and/or said support structure.
[0060] According to an embodiment, said method comprises a step of defining one or more physical parameters about said robotic arm and/or said support structure, wherein said one or more physical parameters are used in said step of calculating one or more torque contributions and in said step of establishing a threshold torque.
[0061] The method may comprise a step of defining one or more physical parameters about the robotic arm and/or the support structure to which the robotic arm is mounted. In the present context, “physical parameters” should be understood as measures relating to mass, length, mass distribution or any other physical attainable attribute describing the robotic arm and/or the support structure.
[0062] Defining one or more physical parameters is advantageous in that torque contributions and limits (i.e., threshold torques) may be calculated more accurately, whereby the stability of the robotic arm may be optimized. Furthermore, defining physical parameters allows for the robotic arm to be integrated for different applications. For example, it may be possible to configure the robotic arm for use on different surfaces and for use with different robotic tools. Thereby, the versatility of the method may be improved.
[0063] According to an embodiment, said one or more physical parameters comprises one or more parameters selected from support structure height, support structure width, support structure length, robotic arm mounting pose, support structure mass, robot base mass, robotic arm link mass, and robotic arm link length.
[0064] The one or more physical parameters which may be defined in the initial step may include one or more of support structure height, support structure width, support structure length, robotic arm mounting location, support structure mass, robot base mass, robotic arm link mass, and robotic arm link length.
[0065] By “support structure height” is understood a height of the support structure. For example, the support structure height may denote the distance between the floor or ground, on which the support structure is placed, and an upper surface of the support structure. By “support structure width” and “support structure length” is understood, respectively, a width of the support structure and a length of the support structure. For example, when the support structure in the form of a workbench or table, the support structure width and the support structure width may be a width and a length, respectively, of an upper surface of the workbench/table.
[0066] By “robotic arm mounting pose” is understood a pose of the robotic arm with respect to the support structure, which may describe various positional, rotational, and angular placement of the robotic arm with respect to the support structure as the robotic arm may be rotated on the support structure, mounted at an angle with respect to the support structure, mounted higher up than an upper surface of the support structure (e.g., on a mounting plate or a pedestal), or any combination or the above. In a simple example, the robotic arm mounting pose may denote a position in the form of X- and Y-coordinates, the coordinates defining a position on an upper surface of the support structure with respect to a reference position on the upper surface, such as a corner position or a center position of the upper surface.
[0067] By “support structure mass” is understood a mass of a support structure to which the robotic arm is mounted to. The support structure mass may be handled as a total mass of the support structure, or a mass of the individual constituents of the support structure. By “robot base mass” is understood a mass of a robot base of the robotic arm. The robot base is a part of the robotic arm closest to the support structure on which the robotic arm is mounted.
[0068] By “robotic arm link mass” is understood a mass of individual links of the robotic arm (which links may also include the robot arm joints). By “robotic arm link length” is understood a length of the individual links of the robotic arm.
[0069] According to an embodiment, said step of defining physical parameters comprises a user inputting said physical parameters in a user interface of a robot controller.
[0070] The step of defining physical parameters may comprise inputting physical parameters in a user interface associated with a robot controller, such as in a graphical user interface associated with a robot controller. Defining the physical parameters by inputting on a user interface is advantageous in that a convenient way of defining parameters is provided.
[0071] According to an embodiment, said available torque is dynamic and depends at least on a relative position of a tool center point with respect to said surface.
[0072] The available torque may be dynamic (i.e., it may change over time) and depend on numerous factors, including at least the current previously defined state of the robotic arm and a relative position of a tool center point with respect to the surface on which the robotic arm is mounted. By a “tool center point” (TCP) is understood the working point of a robot tool mounted on the robotic arm.
[0073] According to an embodiment, said support structure is a movable support structure comprising transporting means for transporting said support structure. [0074] The support structure may comprise transporting means for transporting the support structure. This is advantageous in that the reach and workspace of the robotic arm may be improved, and the range of possible applications of the robotic arm may be improved. For example, having transporting means allows the robotic arm to operate in larger spaces such as warehouses where items have to be moved from one position to another position separated by a distance greater than the reach of the robotic arm. In the present context, “transporting means” should be understood as any kind of means which is capable of transporting the support structure, i.e., changing a position of the support structure. Examples of transporting means may comprise wheels for driving about on a surface, wheels for driving on rails, wheels or gears for engaging with a gantry, caterpillar tracks, or any other type of driving system capable of transporting a support structure.
[0075] The present method is particular advantageous for use in systems where the robotic arm is mounted on a surface of a movable support structure, such as a mobile robot. In such cases the proposed torque limits can also take the acceleration capabilities of the movable support structure into account depending on the setup. For example, if the support structure is moving, it might need to do an unexpected hard deceleration, such as an emergency stop. The torque applied about the at least one tipping point when performing such a deceleration may be factored in in the torque contributions, whereby the available torque may be limited as a consequence thereof. This will ensure that the support structure may always be able to perform a deceleration without risking that the robotic arm and support structure will tip around the tipping point.
[0076] According to an embodiment, said movable support structure and said robotic arm are controlled in such a way that at any point in time during controlling, one of said movable support structure and said robotic arm is moving while the other is stationary.
[0077] The movable support structure and the robotic arm may be controlled in such a way that only one of them are moving at any given point of time during the controlling. This is advantageous in that additional safety of operation may be ensured. [0078] According to an embodiment, said support structure is a mobile robot.
[0079] The support structure may be a mobile robot. In the present context, a “mobile robot” should be understood as an automatic machine that is capable of locomotion and moving around in an environment, not being fixed to one physical location. Examples of such a mobile robots may include autonomous mobile robots (AMR), which is a type of robot that can understand and move through its environment independently, or autonomous guided vehicles (AGV), which is a type of robot relying on tracks or predefined paths and often require operator oversight.
[0080] According to an embodiment, said movable support structure is a compliant support structure.
[0081] The movable support structure may be a compliant support structure. In the present context, the term “compliant” should be understood in such a way that the movable support structure, for example in the form of a mobile robot, is able to move around in a stable manner in compliance with the floor or ground on which it is moving. According to an embodiment of the present invention, the compliancy may be provided by use of one or more bogie axles. In an alternative embodiment of the present invention, the compliancy may be provided by use of dampening means such as mechanical springs, for example compression springs, torsion springs, or hydraulic springs, for example air springs or gas springs, or any other kind of dampening element arranged to provide compliance. As an example, the movable support structure may be a mobile robot and the compliancy may be provided by arranging wheels of the mobile robot on one or more bogie axles. Thereby, the mobile robot may move around in a stable manner even when the floor or ground underneath is rough or if the mobile robot has to pass over obstacles in its way.
[0082] According to an embodiment, said at least one tipping point is arranged on at least one tipping axis.
[0083] The at least one tipping point may be arranged on at least one tipping axis. Analogous to a tipping point, a “tipping axis” may be understood as an axis of rotation around which the robotic arm and support structure, as a whole, may rotate around. In particular, the tipping axis denotes an axis critical to the stability of the robotic arm and support structure, as the robotic arm and support structure may tip around this axis if sufficient torque is applied. The tipping axis may intersect one or more tipping points. In the case of the robotic arm being mounted on a support structure, the at least one tipping axis may be a tipping axis of the support structure. For example, if the support structure is a workbench or table, the at least one tipping axis may be an axis intersecting tipping points of the workbench/table such as positions of contact between legs of the support structure and the floor on which it is resting. In other cases where for example the support structure is movable, by virtue of presence of wheels, the tipping axis may be an axis intersecting points of contacts between a set of wheels of the support structure and the floor on which the wheels are engaging.
[0084] In the same way that a tipping point may be referred to as a pivot point, a tipping axis may be referred to as a pivot axis.
[0085] According to an embodiment, said at least one tipping point is external to said robotic arm.
[0086] By “external” is understood that the point is not a point which is integral to the robotic arm. Examples of external tipping points may include tipping points of a support structure. Tipping points of the support structure may include points of contact between the support structure and the ground on which the support structure is resting. In the case of a support structure in the form of a table or workbench, the external tipping points may be points of contacts of legs of the table or workbench with the ground on which the legs are resting, for example corner positions of the legs. Although, the at least one tipping point is external, it should be noted that the tipping point is mechanically connected to the robotic arm such that forces arising from movement of the robotic arm propagates in the form of torque(s) in the at least one tipping point.
[0087] According to an embodiment, said at least one tipping point is a tipping point of said support structure. [0088] The at least one tipping point may be a tipping point of the support structure. It should be noted that a tipping point should not be construed in such a way that the tipping point has to be a specific point of the support structure, although this is possible, however, it should be construed in such a way that it is a point which is at least associated with the support structure. For example, if the support structure is in the form of a table having for example four contact points with the floor on which it is resting (one contact point per leg of the table) the four contact points may be considered as tipping points, however any point on the floor arranged on an axis between neighbouring contact points may also be considered as tipping points of the support structure.
[0089] According to an embodiment, said support structure is a fastening means, and wherein said fastening means comprises said tipping point.
[0090] The robotic arm may be mounted to any structure, such as a wall or a platform by use of fastening means. In the present context, “fastening means” should be understood as any kind of means capable of fastening the robotic arm to a surface. Examples of fastening means may comprise bolts, screws, clamping elements or any other kind of fastener capable of mounting a robotic arm to a structure. There may still be a risk that a fastening means, such as a bolt, may fail/fracture when being subjected to too much torque, and the robot arm may therefore become loose from its mounting or start tipping around the failing mounting. Thus, when the support structure is a fastening means, the method is advantageous in that the robotic arm may be operated without risk of breaking the fastening means.
[0091] According to an embodiment, said method comprises automatically selecting said at least one tipping point among a plurality of tipping points.
[0092] It should be noted that an infinite amount of tipping points may be defined for any physical object. The likelihood of the object tipping around such a point may however be very different from tipping point to tipping point. Thus, in practice there may only be few tipping points that are relevant for the stability of the object. For the robotic arm, the relevant (or critical) tipping points may change depending on the state of the robotic arm. For example, the robotic arm may rotate in a plane of the surface to which the robot Is mounted (i.e., rotate around a robot base), whereby the robotic arm may become more susceptible to tipping in another direction. Also, for example, if the robotic arm is mounted on a movable support structure, there may exist a need of performing an emergency stop, and the act of performing such a stop may exhibit a torque about tipping point located in a direction of movement of the robotic arm. Thus, the act of moving the robotic arm may also affect which tipping points are critical to the stability of the robotic arm. In other words, the tipping points that are critical to the stability of the robotic arm may depend on the state of the robotic arm or may depend on the combined state of the robotic arm and the support structure.
[0093] Accordingly, it is advantageous when the method comprises automatically selecting the at least one tipping point among a plurality of tipping points. Thereby is ensured that the calculation of torque contributions and available torque is only made for a reduced number of tipping points - tipping points that are critical to the stability of the robotic arm. This in turn makes the method less computationally demanding, and thereby more frequent calculations can be made (e.g., more control cycles per unit time is possible).
[0094] According to an embodiment, said method is carried out for a plurality of tipping points.
[0095] The method may be carried out for a plurality of tipping points. Accordingly, a plurality of threshold torques may be established, each threshold torque being for a respective tipping point of a plurality of tipping points, a plurality of torque contributions may be calculated for the plurality of tipping points, a plurality of available torques may be calculated, each available torque being calculated for a respective tipping point of the plurality of tipping points, and the robotic arm is controlled within the limits defined by the plurality of calculated available torques.
[0096] Carrying out the method for a plurality of tipping points is advantageous in that the risk of tipping over the robotic arm may be reduced, particularly in situations where several tipping points are critical to the stability of the robotic arm. [0097] According to an embodiment, said robotic arm and said support structure forms part of a robotic arm system, wherein said robotic arm is a first robotic arm, wherein said robotic arm system comprises a second robotic arm, and wherein said method comprises controlling said first robotic arm and said second robotic arm such that a torque about said at least one tipping point resulting from a change of state of said first robotic arm and said second robotic arm is at or below said available torque.
[0098] The robotic arm and support structure may form part of a robotic arm system (simply referred to as a robot system in the present context). The robot system may comprise a plurality of robotic arms, such as a first robotic arm and a second robotic arm, however, the robot system may also comprise more than two robotic arms.
[0099] The method is particularly suitable for control of multiple robotic arms. When a plurality of robotic arms are present in the robot system, the method may ensure that the, at any time, combined torques provided about the at least one tipping point by movement of the robotic arms are less than or equal to the available torque.
[0100] It should be noted that the present method may be executed on a robot controller. The robot controller may be external to the robotic arms; however, it may also be integral to one, or both, of the robotic arms. It may also be the case, that the robot controller is a distributed controller comprising a first robot controller arranged in the first robotic arm, and a second controller arranged in the second robotic arm, and the method is carried out by the two controllers communicating data between themselves. A skilled person will recognize that many types of data transmissions, wired or wireless, may be suitable for that purpose, and indeed any kind of suitable data communication may be used for this purpose.
[0101] According to an embodiment, one or more torque contributions are calculated on the basis of an output of an inertial measuring unit.
[0102] In the present context, “an inertial measuring unit” (or “IMU”) is understood as an electronic device that measures and outputs acceleration, orientation, angular rates, and other gravitational accelerations. The inertial measuring unit may be an IMU based on Fiber Optic Gyroscope (FOG), Ring Laser Gyroscope (RLG), Micro Electro- Mechanical Systems (MEMS), or any other kind of electronic device capable of measuring and reporting acceleration, orientation, angular rate, and other accelerations.
[0103] Calculating one or more torque contributions on the basis of an output of an IMU is advantageous for a number of reasons.
[0104] First, the IMU enables handling of gravity as a non-static parameter, and more specifically, the IMU enables for detection of the angular part of gravity. Thereby, the torque contributions may be calculated more accurately, and for example, the torque contributions arising from the force exerted by gravity on parts of the robotic arm may accurately take into account the line of action of gravity.
[0105] Second, from the viewpoint of an integrator setting up the robotic arm for a specific application, there may be one thing less to setup before turning on the robotic arm, as it may be unnecessary to setup a mounting direction when setting up the robotic arm.
[0106] Third, in the case of a compliant support structure, such as movable support structure comprising bogie axles or damping means, if the robotic arm is in an extended position it may compress one or more of the damping elements, thereby resulting in the support structure tipping slightly in one or more directions depending on the rotational position of the robotic arm with respect to the support structure. If the support structure tips (or leans over) slightly, the one or more torque contributions may change slightly, and for example torque contributions associated with gravitational forces on the robotic arm may increase slightly. Using the IMU, it may be possible to factor in such changes and thereby ensure stable operation of the robot system.
[0107] The inertial measuring unit may be arranged in the robotic arm and/or in a support structure to which the robotic arm is mounted.
[0108] According to an embodiment, said robotic arm comprises said inertial measuring unit. [0109] The robotic arm may comprise the inertial measuring unit. In an embodiment of the invention, the inertial measuring unit is arranged in a robot base of said robotic arm.
[0110] Having the inertial measuring unit as a part of the robotic arm is particular advantageous in that the robustness of the operation of the robot arm may be improved since it may not be necessary to rely on communication of IMU output from elsewhere, such as a mobile robot. Reducing the reliance on external sensor output makes the operation of the robotic arm less prone to errors.
[0111] According to an embodiment, said step of establishing a threshold torque about said at least one tipping point comprises calculating said threshold torque on the basis of an output of said inertial measuring unit.
[0112] Establishing the threshold torque about the at least one tipping point by calculating the threshold torque on the basis of an output of the inertial measuring unit is advantageous in that it may be possible to prevent tipping over of the robotic arm even in cases where the support structure, to which the robotic arm is mounted, is inclined from a horizontal plane. The threshold torque about the at least one tipping point may depend on the angular orientation of the support structure.
[0113] According to an embodiment, said step of calculating said one or more torque contributions and/or said step of establishing a threshold torque about said at least one tipping point are carried out on the basis of an output of an inertial measuring unit.
[0114] According to an embodiment, said robotic arm is a first robotic arm and wherein a second robotic arm is mounted onto said support structure, and wherein said one or more torque contributions comprises torque contributions arising from said first robotic arm and said second robotic arm.
[0115] Two robotic arms (a first robotic arm and a second robotic arm) may be mounted on the same support structure, for example in the case of two collaborative robot arms working together to solve a common task, e.g., a task in which the first robotic arm and the second robotic arm is lifting a heavy object or an extended object. However, the two robotic arms may also solve two independent tasks concurrently, e.g., the first robotic arm may be handling a first payload, and the second robotic arm may be handling a second payload. The one or more torque contributions may include torque contributions arising from both robotic arms, e.g., gravitational torque contributions form both robotic arms or dynamical torque contributions arising from movements of one or more of the robotic arms.
[0116] According to an embodiment, said method is executed by a robot controller.
[0117] Another aspect of the present invention relates to a robotic arm system comprising: a robotic arm mounted to a support structure, and a robot controller, wherein said 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 said at least one tipping point, and
- calculating an available torque to be applied by said robotic arm, wherein said available torque is a difference between said threshold torque and a sum of said one or more torque contributions,
- controlling said robotic arm such that a torque about said at least one tipping point resulting from a change of state of said robotic arm is at or below said available torque.
[0118] Thereby is provided an advantageous robotic arm system. The robotic arm system is advantageous in that it is configured to performing the steps of the abovedescribed method. Thus, any advantageous effect described in relation to the abovedescribed method equally applies to the robotic arm system.
[0119] The robotic arm system may comprise a robot controller. By a “robot controller”, is understood any kind of device capable of controlling a robotic arm. The robot controller may comprise a computer processor and a memory for storing computer readable instructions. The robot controller may be arranged in a robotic arm of the robot system (or distributed in multiple robotic arms), or the robot controller may be external to the robotic arm.
[0120] According to an embodiment, said robot controller comprises a user interface for defining physical parameters of said robotic arm and said support structure.
[0121] In the present context, a “user interface” is understood any kind of electronic interface for engaging with a user of the robot system. The interface may be a local interface where the user may directly engage with the robot system, such as a graphical user interface in which the user may define the physical parameters, however, the user interface may also be an input in which a user may input a configuration file (for example via a data carrier such as a memory card) in which the parameters are defined. Alternatively, the user interface of the robot controller may be configured to communicate with an external electronic device on which a user may define the physical parameters.
[0122] According to an embodiment, said robot system comprises an inertial measuring unit.
[0123] According to an embodiment, said robotic arm is a first robotic arm, and wherein said robotic arm system comprises a second robotic arm.
[0124] According to an embodiment, said robot system is arranged to carry out a method for controlling torque applied by a robotic arm about at least one tipping point according to any of the preceding paragraphs.
[0125] Another aspect of the present invention relates to a computer program product comprising instructions which, when said program is executed by a robot controller of a robotic arm system, causes the robot controller to carry out the steps of the method according to any of the previously disclosed provisions.
[0126] Thereby is provided an advantageous computer program product. The computer program product is able to perform the steps of the method according to any of the preceding provisions. Thus, any advantageous effect described in relation to the above-described method equally applies to the computer program product.
The drawings
[0127] For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts. The drawings illustrate embodiment of the invention and elements of different drawings can be combined within the scope of the invention:
Fig. 1 illustrates a robot system according to an embodiment of the invention,
Fig. 2 also illustrates a robot system according to an embodiment of the invention, in which the robotic arm is mounted on a surface of a support structure,
Fig. 3 illustrates a top-down view of the robotic system shown in fig. 2,
Fig. 4 illustrates steps S1-S4 of a method according to an embodiment of the invention,
Figs. 5-6 illustrate variations of the method according to other embodiments of the invention,
Figs. 7-8 illustrate examples of torques involved in the operation of a robotic arm and is useful for the understanding of the present invention,
Fig. 9 illustrates a robot system according to another embodiment of the invention,
Fig. 10 illustrates a robot system according to yet another embodiment of the invention, and
Figs. 11-12 illustrate a mobile robot for use in embodiments of the present invention. Detailed description
[0128] The present invention is described in view of exemplary embodiments only intended to illustrate the principles and implementation of the present invention. The skilled person will be able to provide several embodiments within the scope of the claims.
[0129] Fig. 1 illustrates a robot system 100 which may be implemented in a number of embodiments according to the present invention. The robot system comprises at least one robotic arm 101 (or simply robot arm) and at least one robot controller 110 configured to control the robot arm. Fig. 1 shows details about the robotic arm 101 itself, whereas figs. 2, 3 and 7-10 illustrate specific implementations of the robotic arm.
[0130] The robot arm 101 comprises a plurality of robot joints 102a, 102b, 102c, 102d, 102e, 102f connecting a robot base 103 and a robot tool flange 104. A base joint 102a is configured to rotate the robot arm around a base axis 105a (illustrated by a dashed dotted line) as illustrated by rotation arrow 106a; a shoulder joint 102b is configured to rotate the robot arm around a shoulder axis 105b (illustrated by a dashed dotted line) as illustrated by rotation arrow 106b; an elbow joint 102c is configured to rotate the robot arm around an elbow axis 105c (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106c; a first wrist joint 102d is configured to rotate the robot arm around a first wrist axis 105d (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106d; and a second wrist joint 102e is configured to rotate the robot arm around a second wrist axis 105e (illustrated by a dashed dotted line) as illustrated by rotation arrow 106e. Robot joint 102f is a robot tool joint comprising the robot tool flange 104, which is rotatable around a tool axis 105f (illustrated by a dashed dotted line) as illustrated by rotation arrow 106f. The illustrated robot arm is thus a six-axis robot arm with six degrees of freedom with six rotational robot joints, however it is noticed that the present invention can be utilized in robot arms comprising less or more robot joints. [0131] A robot tool flange reference point 107 also known as a Tool Center Point (TCP) is indicated at the robot tool flange and defines the origin of a tool flange coordinate system defining three coordinate axis Xflange, yflange, Zflange. In the illustrated embodiment the origin of the robot tool flange coordinate system has been arranged on the tool flange axis 105f with one axis (zflange) parallel with the tool flange axis and with the other axis xflange, parallel with the outer surface of the robot tool flange
Figure imgf000032_0001
104. Further a base reference point 108 is coincident with the origin of a robot base coordinate system defining three coordinate axis xbase, ybase, zbase. In the illustrated embodiment the origin of the robot base coordinate system has been arranged on the base axis 105a with one axis (zbase) parallel with the base axis 105a and with the other axis xbase, ybase parallel with the bottom surface of the robot base. The coordinate systems illustrated in fig. 1 are right-handed coordinates systems, however it is to be understood that the coordinate systems also can be defied as left-handed coordinates systems and that left-handed coordinate systems may be used in the other drawings. The direction of gravity 109 in relation to the robot arm is also indicated by an arrow and it is to be understood that the robot arm can be arrange at any position and orientation in relation to gravity.
[0132] The robot j oints comprise a robot j oint housing and an output flange rotatable or translatable in relation to the robot joint housing and the output flange is connected to a neighbor robot joint either directly or via an arm link as known in the art. The robot joint comprises a joint motor configured to rotate or translate the output flange in relation to the robot joint housing, for instance via a gearing or directly connected to the motor shaft. Additionally, the robot joints can comprise at least one joint sensor providing a sensor signal for instance indicative of at least one of the following parameters: an angular and/or linear position of the output flange, an angular and/or linear position of the motor shaft of the joint motor, a motor current of the joint motor or an external force and/or torque trying to rotate the output flange or motor shaft. For instance, the angular position of the output flange can be indicated by an output encoder such as optical encoders, magnetic encoders which can indicate the angular position of the output flange in relation to the robot joint. Similarly, the angular position of the joint motor shaft can be provided by an input encoder such as optical encoders, magnetic encoders which can indicate the angular position of the motor shaft in relation to the robot joint. It is noted that both output encoders indicating the angular position of the output flange and input encoders indicating the angular position of the motor shaft can be provided, which in embodiments where a gearing have been provided makes it possible to determine a relationship between the input and output side of the gearing.
[0133] The robot system 100 comprises at least one robot controller 110 configured to control the robot arm 101. The robot controller is configured to control the motions of the parts of the robot arm and the robot joints for instance by controlling the motor torque provided to the joint motors based on a dynamic model of the robot arm, the direction of gravity acting and the joint sensor signal. Further the robot controller may control the motions of the robot arm based on a robot program stored in a memory of the robot controller. The controller can be provided as an external device as illustrated in fig. 1 or as a device integrated into the robot arm or as a combination thereof.
[0134] The robot controller can comprise an interface device 111 enabling a user to control and program the robot arm. The interface device can for instance be provided as a teach pendent as known from the field of industrial robots which can communicate with the controller via wired or wireless communication protocols. The interface device can for instance comprise a display 112 and a number of input devices 113 such as buttons, sliders, touchpads, joysticks, track balls, gesture recognition devices, keyboards, computer mice, microphones etc. The display may be provided as a touch screen acting both as display and input device. The interface device can also be provided as an external device configured to communicate with the robot controller, for instance in form of smart phones, tablets, PCs, laptops etc.
[0135] The robot tool flange 104 comprises a force-torque sensor 114 (sometimes referred to simply as force sensor) integrated into the robot tool flange 104. The forcetorque sensor 114 provides a tool flange force signal indicating a force-torque provided at the robot tool flange. In the illustrated embodiment the force-torque sensor is integrated into the robot tool flange and is configured to indicate the forces and torques applied to the robot tool flange in relation to the robot tool flange reference point 107. The force sensor 114 provides a force signal indicating a force provided at the tool flange. In the illustrated embodiment the force sensor is integrated into the robot tool flange and is configured to indicate the forces and torques applied to the robot tool flange in relation 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 in relation to any point which can be linked 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 the forces along and the torques around three perpendicular axis. The force-torque sensor can for instance be provided as any force-torque sensor capable of indicating the forces and torques in relation to a reference point for instance any of the force-torque sensors disclosed by W02014/110682A1, US4763531, US2015204742. However, it is to be understood that the force sensor in relation to the present invention not necessarily need to be capable of sensing the torque applied to the tool sensor. It is noted that the force-torque sensor may be provided as an external device arranged at the robot tool flange or omitted.
[0136] An acceleration sensor 115 is arranged at the robot tool joint 102f and is configured to sense the acceleration of the robot tool joint 102f and/or the acceleration of the robot tool flange 104. The acceleration sensor 115 provides an acceleration signal indicating the acceleration of the robot tool joint 102f and/or the acceleration of the robot tool flange 104. In the illustrated embodiment the acceleration sensor is integrated into the robot tool joint and is configured to indicate accelerations of the robot tool joint in the robot tool coordinate system. However, the acceleration sensor can indicate the acceleration of the robot tool joint in relation to any point which can be linked to the robot tool flange coordinate system. The acceleration sensor can be provided as any accelerometer capable of indicating the accelerations of an object. It is noted that the acceleration sensor may be provided as an external device arranged at the robot tool flange or omitted.
[0137] The robot system may also comprise an end effector (not illustrated) attached to the robot tool flange 104 and it is to be understood that the end effector can be any kind of end effector such as grippers, vacuum grippers, magnetic grippers, screwing machines, welding equipment, gluing equipment, dispensing systems, painting equipment, visual systems, cameras etc. Throughout the present disclosure such a robot end effector may also be referred to as a robot tool.
[0138] The illustrated robot arm illustrates one example of a robot arm, however it is to be understood that the present invention can be implemented in robot arms of various types and having various kinematic structures.
[0139] Fig. 2 illustrates the same robot system 100 as seen in fig. 1, however the robot system 100 further 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 comprising four legs, and as seen in the figure each leg contacts the ground on which it is resting in at least a contact point. These contact points are referred to as tipping points 5a-5d in the present disclosure. Each tipping point 5a-5d represents a point around which the support structure 2 (or table 3) may pivot/tip if the support structure is subjected to sufficient torque. As also seen in fig. 2, the tipping points 5a-5d are arranged on four tipping axes 6a-6d. Each tipping axis of the four tipping axes 6a-6d represent an axis about which the support structure 2 may pivot/tip. It should be noted that the shown tipping points and tipping axes are only exemplary, and other tipping points/axes may of course exist. The ones shown in fig. 2 however, represent the tipping points/axes around which the support structure is most likely to pivot about.
[0140] Although not explicitly shown in fig. 2, the robot system 100 also comprises a robot controller 110 configured to control the robot arm. The controller can be provided as an external device as illustrated in fig. 1, or as a device integrated into the robot arm, or as a combination thereof.
[0141] Fig. 3 shows a top-down view of the robot system 100 as seen in fig. 2. For sake of simplicity, the robotic arm 101 is only illustrated by the circumference of the robot base 103. This simplistic view of the robotic arm also makes it possible to see the robotic arm mounting position on the surface 1. The robotic arm mounting position of fig. 3 is illustrated by means of coordinates X and Y that are coordinates of a center of the robot base 103 with respect to a reference point of the surface 1. In this example, the reference point is a center position of the surface 1, however, it should be noted that the coordinates may be with respect to any other reference position on the surface. It should further be noted that the robotic arm mounting position as illustrated in fig. 3 is a simplified example of robotic arm mounting pose, and the robotic arm mounting pose may describe various positional, rotational, and angular placements of the robotic arm 101 with respect to the support structure 2. The robotic arm pose, and specifically here, the robotic arm mounting position may represent physical parameters about the robot system, which parameters may be provided as input in the robot controller 110, preferably by means of the interface device 111.
[0142] Fig. 3 also shows that the surface 1 has a surface width 7 and a surface length 8. The surface height 9 is illustrated in fig. 2. These physical parameters of the support structure, i.e., the surface width 7, surface length 8, surface height 9, and robotic arm mounting position (described by coordinates X and Y), are parameters that may be defined by an integrator when setting up the robot system for its intended application. The content of fig. 3 may indeed represent a view presented by a graphical user interface (not shown in the figure) of a robot controller 110 and may therefore represent the visual interface with which the robot integrator may interact with in a process of defining physical parameters. It should be noted that other physical parameters may be defined than the exemplary parameters mentioned in relation to figs. 2 and 3.
[0143] Until now, a robot system has been described, and in the following it will be described how such a robot arm system may be operated. In particular, fig. 4 describes the method in general, figs. 5 and 6 illustrate variations of the method, and figs. 7 and 8 illustrate the method in further detail, and in particular the implications of the method for a robot system.
[0144] Fig. 4 illustrates steps S1-S4 of a method according to an embodiment of the invention. The steps of the method can be carried out by a robot controller 110. [0145] In a first step SI, a threshold torque is established about at least one tipping point. The threshold torque is the torque required to tip the robot system 100 around at least one tipping point 5a-5d. The threshold torque is calculated using physical parameters about the robot system including physical parameters described in relation to fig. 3. It should be noted that the calculation of the torque threshold naturally depends on which tipping point(s) are used in respect of the calculation, as it may require more torque to tip the robot system 100 around one tipping point than others.
In a second step S2, one or more torque contributions about the at least one tipping point are calculated. In this step, the physical impact of the robotic arm 101 on the robot system 100 is taken into consideration. This includes calculation of torque contributions imposed by gravitational forces exerted on the robotic arm and velocity dependent torques (Coriolis and centrifugal torques) because the robotic arm has a velocity. For example, by reference to fig. 2, it can be seen that parts of the robotic arm are located away from the base part 103 of the robotic arm, and therefore the gravitational forces exerted on these parts will result in a torque about the mounting position of the robotic arm (the point on the surface 1 on which the robotic arm is mounted). These torque contributions also manifest themselves as torque contributions about a tipping point. The torque contributions arising from the gravitational impact on the robotic arm is calculated about at least one tipping point for which a threshold torque is also calculated. Such a calculation can be made on the basis of data relating to position of robotic arm elements, such as data output from robot joint sensors and physical parameters concerning the mounting position of the robotic arm and the support structure to which the robotic arm is mounted.
[0146] In a third step S3, an available torque to be applied by the robotic arm 101 is calculated. The available torque is calculated as a difference between the threshold torque and the sum of one or more torque contributions. By calculating this difference, it is possible to determine the remaining torque available about the respective tipping point. If more torque is applied by the robotic arm than this available torque, the robot system may tip over. [0147] In a last step S4, the robotic arm 101 is controlled such that a torque about the at least one tipping point resulting from a change of state of the robotic arm is at or below the available torque. The controlling involves the robot controller sending out control signals to joint(s) of the robotic arm causing the joint(s) to rotate, whereby the robotic arm changes configuration from a first configuration to a second configuration. Such change in configuration results in a torque being applied about the at least one tipping point, and the robot controller is arranged in such a way that the torque applied is less than or equal to the available torque. Thereby it is ensured that the robotic arm is operated within the limits of imposed by the threshold torque.
[0148] Figs. 5 and 6 show different variations of the method as described in fig. 4 according to embodiments of the present invention. In fig. 5 is shown how steps S2- S4 are repeated in a number of control cycles, and fig. 6 shows how the steps S1-S4 may be repeated in a number of control cycles.
[0149] Fig. 7 illustrates examples of torque contributions involved in the operation of a robotic arm 101, and the figure is therefore useful in understanding methods of the present invention. The robotic arm 101 shown in fig. 7 may represent any of the robotic arms shown in relation to the previous figures. The robotic arm 101 is seen mounted on a surface 1 of a support structure 2 in the form of a table, and as seen in the figure tipping points 5a and 5b are illustrated.
[0150] The robotic arm 101 of fig. 7 is shown in an instance of its operation. Although the robotic arm including its robot arm joints may move about in a continuous fashion, the movement of the robotic arm may, from a perspective of a robot controller, be regarded as a discretized movement (i.e., a movement which occurs in discrete steps). Accordingly, fig. 7 illustrates a step in the movement of the robotic arm, and in this step, the robot controller may assume that the robotic arm is in a static configuration/pose. In this assumed static configuration, the robot controller 110 takes into account the weight of the robotic arm (as indicated by the downwards pointing arrows in fig. 7) and calculates a static force and torque/moment applied on the surface arising from the gravitational forces on the robotic arm. The robot controller calculates all the static torque contributions arising from gravitational forces on all robotic arm elements. Through knowledge of the physical parameters relating to the robotic arm system (e.g., surface height, surface width, surface length, robotic arm mounting location), the robot controller is able to calculate the torque contributions about tipping points of the support structure, and in fig. 7 is shown that the sum of the torque contributions 10 is calculated around at least one tipping point 5a.
[0151] In fig. 8 is shown the same robotic arm system as seen in fig. 7, however, now the robotic arm is about to move into another configuration by application of torque in the robot arm joints 102b-102d (indicated by curved arrows around robot arm joints), whereby the elements of the robot arm accelerate. This movement also induces a torque about the tipping point 5a. As already indicated in the method as seen in figs. 4-6, an available torque 11 is calculated, and this available torque cannot surpass the difference between the sum of torque contributions 10 and the threshold torque 12. This relation between the sum of torque contributions 10, available torque 11, and threshold torque 12 is depicted in fig. 8 by the curved arrows around tipping point 5a. The point being that the calculated available torque sets the limit on how much torque the robot arm joints may provide, and if these torque contributions combined are less than the available torque 11, the robot system 100 will remain stable. In fig. 8 the application of torque around the robot arm joints 102b-102d may be regarded as examples of dynamic torque contributions, as the induced torque about tipping point 5a arises at least partly due to movement of the robot arm 101.
[0152] It should be noted, that for any instance (or step in the movement of the robotic arm), the robot controller may calculate the available torque for the movement of the robotic arm into the next step.
[0153] Fig. 9 illustrates a robot system 100 according to an embodiment of the invention, in which the robotic arm 101 is mounted on a surface 1 of a movable support structure 2, in the form of a mobile robot 4. The mobile robot 4 is an automatic machine that is capable of locomotion and moving around in an environment, not being fixed to one physical location. The mobile robot 4 comprises a set of four wheels (only two wheels are visible from the perspective presented in fig. 9, however two additional wheels are also present on the opposite side of the mobile robot). As seen in the figure, four tipping axes 3a-3d are present, and each tipping axis intersects the two contact points between a wheel and the ground on which the mobile robot is positioned on. During control of the robot system, the same method as described in relation to figs. 4-6 may be used, however, additional torque contributions may be taken into account. The mobile robot 4 may have to perform emergency stops, for example to avoid collision with objects or persons present in the environment in which the robot system operates, or generally, the mobile robot could also be moving about (e.g. accelerating, decelerating, turning, etc.) which also may impose one or more torque contributions about a tipping point. Such torque contributions arising from movements of the mobile robot 4 may be regarded as examples of dynamic torque contributions. An emergency stop is carried out by reducing the speed of the mobile robot, and the action of doing this causes a torque to be produced about a tipping axis 3a-3d positioned in the direction of movement of the mobile robot. The magnitude of this torque naturally depends on the peak deceleration of the mobile robot, and therefore naturally depends on the initial speed of the mobile robot and the braking distance of the mobile robot. The robot system 100 of the present embodiment is configured to calculate a torque contribution associated with such a deceleration and factor this in the calculation of available torque. Thereby is ensured that the robot system is capable of performing an emergency stop irrespective of how the robotic arm is controlled.
[0154] Fig. 9 also shows that the robotic arm includes an inertial measuring unit 13 in the robot base. The inertial measuring unit is capable of detecting the orientation of the robot system. This may be particularly useful in calculation of torques as these may depend on the orientation and acceleration of the mobile robot, i.e., it matters whether the mobile robot is moving on a flat surface or on an inclined surface.
[0155] It should be noted that the robotic arm of fig. 9 is not shown with any specific robot tool, however, it should be noted that any robot tool may be used in conjunction with the robotic arm, for example a payload moving arrangement as seen in fig. 10.
[0156] Fig. 10 illustrates a robot system 100 according to another embodiment of the invention. As seen in the figure, the robot system comprises a robotic arm 101 comprising a robot tool 14, in the form of a payload moving arrangement capable of moving a payload 15. The robotic arm 101 is mounted on a surface 1 of a movable support structure 2. In the present embodiment, the surface 1 is not an extended surface such as a surface of a table, but rather a surface of a mounting flange. The robot system
100 also comprises a robot controller 110 arranged to carry out any of the methods described herein. A robot system as seen in fig. 10 may be particularly useful in warehouses where handling of payloads is to be automated.
[0157] It should be noted that various features of a robot system have been disclosed in different embodiments, and it should be noted that these features can be used in any of the robot systems disclosed herein in accordance with the claims. For example, the robot tool 14 seen in fig. 10 can be used in combination with any of the robotic arms
101 illustrated in figs. 1-3 and 7-9.
[0158] Figs. 11 and 12 illustrate a mobile robot for use in embodiments of the present invention. In fig. 11 is seen a support structure 2 in the form of a mobile robot 4. The mobile robot 4 is furthermore seen as moving along direction 19 indicated by the arrow. Although not seen in the figure, the mobile robot 4 may form part of a robot system 100 and may be coupled to a robot arm 101 like any of the robot arms disclosed in relation to any of the preceding figures, and the robot system (comprising this mobile robot and such a robot arm) may be arranged to implement the method described in relation to fig. 4.
[0159] In fig. 12 is seen a bottom-up view of the same mobile robot 4 as seen in fig. 11. Fig. 12 shows that the mobile robot 4 comprises four caster wheels 16, each caster wheel 16 disposed at a corner position of the mobile robot 4. In addition to the caster wheels 16, the mobile robot 4 also comprises two drive wheels 17, each drive wheel 17 being disposed at a side of the mobile robot. The two caster wheels 16 disposed in the direction of movement 19 and the two drive wheels 17 are arranged on a bogie axle 18, with each bogie axle 18 comprising one caster wheel 16 and one drive wheel 17. The two caster wheels 16 disposed opposite the direction of movement 19 are also arranged on a bogie axle 18. The mechanical construction with the bogie axles 18 ensures that the mobile robot can balance the loads between the six wheels of the mobile robot and ensures that the mobile robot can automatically adapt to topographic fluctuations, for example to a terrain with small obstacles. A consequence of this bogie-axle-construction is that the mobile robot may tip when traversing topographic fluctuations, and in the present example, there are three points around which the mobile robot may tip when traversing such topographic fluctuations, and these points are tipping points 5a-5c. As seen in fig. 12, each of the tipping points 5a-5c are arranged on a respective bogie axle 18. Also seen in fig. 12 are the corresponding tipping axes 6a-6b.
[0160] List of reference signs:
1. Surface
2. Support structure
3. Workbench
4. Mobile robot
5a-5d. Tipping points
6a-6d. Tipping axis
7. Surface width
8. Surface length
9. Surface height
10. Sum of torque contributions
11. Available torque
12. Thre shol d torque
13. Inertial measuring unit
14. Robot tool
15. Payload
16. Caster wheel
17. Drive wheel
18. Bogie axle
19. Direction of movement
X, Y. Coordinates of robotic arm mounting location 100. Robot system
101. Robot arm
102a-102f. Robot arm joints
103. Robot base 104. Robot tool flange
105a-105f. Axis of robot joints
106a-106f. Rotation arrow of robot joints
107. Robot tool flange reference point
108. Robot base reference point 109. Direction of gravity
110. Robot controller
111. Interface device
112. Display
113. Input devices 114. Force-torque sensor
115. Acceleration sensor

Claims

Claims
1. A method for controlling torque applied by a robotic arm about at least one tipping point, said robotic arm being mounted on a support structure, said method comprising the steps of:
- establishing a threshold torque about said at least one tipping point,
- calculating one or more torque contributions about said at least one tipping point,
- calculating an available torque to be applied by said robotic arm, wherein said available torque is a difference between said threshold torque and a sum of said one or more torque contributions, and
- controlling said robotic arm such that a torque around said at least one tipping point resulting from a change of state of said robotic arm is at or below said available torque.
2. The method according to claim 1, wherein said one or more torque contributions comprises one or more dynamic torque contributions.
3. The method according to claim 2, wherein said one or more dynamic torque contributions arises from a movement of said robotic arm and/or from a movement of said support structure.
4. The method according to any of the preceding claims, wherein said one or more torque contributions comprises one or more gravitational torque contributions.
5. The method according to any of the preceding claims, wherein said one or more torque contributions comprises a torque exerted through use of a robot tool of said robotic arm or a torque arising from said robotic arm moving a payload.
6. The method according to any of the preceding claims, wherein said support structure is a movable support structure, and wherein said one or more torque contributions comprises a torque contribution associated with an acceleration of said support structure, a torque contribution associated with a deceleration of said support structure, a torque contribution associated with said support structure performing a turning manoeuvre, or any combination thereof.
7. The method according to any of the preceding claims, wherein said support structure is a movable support structure, and wherein said one or more torque contributions comprises a torque contribution associated with an emergency stop of said movable support structure.
8. The method according to any of the preceding claims, wherein said method is carried out throughout a plurality of subsequent control cycles, each control cycle of said plurality of subsequent control cycles executing said steps of calculating one or more torque contributions, calculating an available torque and controlling said robotic 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 according to any of the preceding claims, wherein said step of controlling said robotic arm comprises determining a movement of said robotic arm from a first configuration of said robotic arm to a second configuration of said robotic arm, and performing said movement of said robotic arm, wherein a torque about said at least one tipping point resulting from said movement is less than or equal to said available torque.
11. The method according to any of the preceding claims, wherein said establishing said threshold torque comprises calculating said threshold torque on the basis of one or more physical parameters relating to said support structure.
12. The method according to any of the preceding claims, wherein said calculating said threshold torque comprises applying a safety factor.
13. The method according to any of the preceding claims, wherein said method comprises a step of defining one or more physical parameters about said robotic arm and/or said support structure, wherein said one or more defined physical parameters are used in said step of calculating one or more torque contributions and in said step of establishing a threshold torque.
14. The method according to claim 13, wherein said one or more physical parameters comprises one or more parameters selected from support structure height, support structure width, support structure length, robotic arm mounting pose, support structure mass, robot base mass, robotic arm link mass, and robotic arm link length.
15. The method according to claim 13 or 14, wherein said step of defining physical parameters comprises a user inputting said physical parameters in a user interface of a robot controller.
16. The method according to any of the preceding claims, wherein said available torque is dynamic and depends at least on a relative position of a tool center point with respect to said surface.
17. The method according to any of the preceding claims, wherein said support structure is a movable support structure comprising transporting means for transporting said support structure.
18. The method according to claim 17, wherein said movable support structure and said robotic arm are controlled in such a way that at any point in time during controlling, one of said movable support structure and said robotic arm is moving while the other is stationary.
19. The method according to any of the preceding claims, wherein said support structure is a mobile robot.
20. The method according to any of the preceding claims, wherein said at least one tipping point is arranged on at least one tipping axis.
21. The method according to any of the preceding claims, wherein said at least one tipping point is a tipping point of said support structure.
22. The method according to any of the preceding claims, wherein said support structure is a fastening means, and wherein said fastening means comprises said tipping point.
23. The method according to any of the preceding claims, wherein said method comprises automatically selecting said at least one tipping point among a plurality of tipping points.
24. The method according to any of the preceding claims, wherein said method is carried out for a plurality of tipping points.
25. The method according to any of the preceding claims, wherein said robotic arm and said support structure forms part of a robotic arm system, wherein said robotic arm is a first robotic arm, wherein said robotic arm system comprises a second robotic arm, and wherein said method comprises controlling said first robotic arm and said second robotic arm such that a torque about said at least one tipping point resulting from a change of state of said first robotic arm and said second robotic arm is at or below said available torque.
26. The method according to any of the preceding claims, wherein said step of calculating said one or more torque contributions and/or said step of establishing a threshold torque about said at least one tipping point are carried out on the basis of an output of an inertial measuring unit.
27. A robotic arm system comprising: a robotic arm mounted to a support structure, and a robot controller, wherein said 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 said at least one tipping point, and
- calculating an available torque to be applied by said robotic arm, wherein said available torque is a difference between said threshold torque and a sum of said one or more torque contributions, - controlling said robotic arm such that a torque about said at least one tipping point resulting from a change of state of said robotic arm is at or below said available torque.
28. The robotic arm system according to claim 27, wherein said robot system comprises an inertial measuring unit.
29. The robotic arm system according to claim 27 or 28, wherein said robotic arm is a first robotic arm, and wherein said robotic arm system comprises a second robotic arm.
30. A computer program product comprising instructions which, when said program is executed by a robot controller of a robotic arm system, causes the robot controller to carry out the steps of the method according to claim 1-26.
PCT/DK2024/050156 2023-07-05 2024-07-01 Dynamic tipping prevention of robot mounting surfaces Pending WO2025008035A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DKPA202370359 2023-07-05
DKPA202370359 2023-07-05

Publications (1)

Publication Number Publication Date
WO2025008035A1 true WO2025008035A1 (en) 2025-01-09

Family

ID=91899112

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DK2024/050156 Pending WO2025008035A1 (en) 2023-07-05 2024-07-01 Dynamic tipping prevention of robot mounting surfaces

Country Status (1)

Country Link
WO (1) WO2025008035A1 (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763531A (en) 1986-04-04 1988-08-16 Deutsche Forschungs-Und Versuchsanstalt Fur Luft Und Raumfahrt E.V. Force-torque sensor
JP2006150567A (en) 2004-12-01 2006-06-15 Toyota Motor Corp Robot stabilization controller
WO2014110682A1 (en) 2013-01-18 2014-07-24 Robotiq Inc. Force/torque sensor, apparatus and method for robot teaching and operation
US20150204742A1 (en) 2014-01-20 2015-07-23 Good Vibrations Engineering Ltd. Force moment sensor
US9889562B1 (en) * 2015-10-16 2018-02-13 X Development Llc Smart kickstand for balancing a mobile robotic arm
US20190118380A1 (en) 2017-10-20 2019-04-25 UBTECH Robotics Corp. Method, apparatus and terminal device for robot fail prediction
CN114670243A (en) * 2022-03-09 2022-06-28 上海飒智智能科技有限公司 Mobile robot with overturn preventing function and overturn preventing method
US20220212345A1 (en) * 2020-12-31 2022-07-07 Sarcos Corp. Unified Robotic Vehicle Systems and Methods of Control
DE202022104926U1 (en) * 2022-08-31 2023-02-28 Liebherr-Werk Bischofshofen Gmbh log handler
US20230150112A1 (en) * 2020-05-22 2023-05-18 Fanuc Corporation Robot system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763531A (en) 1986-04-04 1988-08-16 Deutsche Forschungs-Und Versuchsanstalt Fur Luft Und Raumfahrt E.V. Force-torque sensor
JP2006150567A (en) 2004-12-01 2006-06-15 Toyota Motor Corp Robot stabilization controller
WO2014110682A1 (en) 2013-01-18 2014-07-24 Robotiq Inc. Force/torque sensor, apparatus and method for robot teaching and operation
US20150204742A1 (en) 2014-01-20 2015-07-23 Good Vibrations Engineering Ltd. Force moment sensor
US9889562B1 (en) * 2015-10-16 2018-02-13 X Development Llc Smart kickstand for balancing a mobile robotic arm
US20190118380A1 (en) 2017-10-20 2019-04-25 UBTECH Robotics Corp. Method, apparatus and terminal device for robot fail prediction
US20230150112A1 (en) * 2020-05-22 2023-05-18 Fanuc Corporation Robot system
US20220212345A1 (en) * 2020-12-31 2022-07-07 Sarcos Corp. Unified Robotic Vehicle Systems and Methods of Control
CN114670243A (en) * 2022-03-09 2022-06-28 上海飒智智能科技有限公司 Mobile robot with overturn preventing function and overturn preventing method
DE202022104926U1 (en) * 2022-08-31 2023-02-28 Liebherr-Werk Bischofshofen Gmbh log handler

Similar Documents

Publication Publication Date Title
US12240122B2 (en) Palletizing boxes
JP7381595B2 (en) Multibody controllers and robots
US11465288B2 (en) Method of controlling robot
US9114524B2 (en) Method of operating a wearable robot
US10434646B2 (en) Robot control apparatus, robot, and robot system
US20150127141A1 (en) Robot, control device, robot system and robot control method
US12172321B2 (en) Work mode and travel mode for mobile robots
KR20240093690A (en) Nonlinear trajectory optimization for robotic devices
Oryschuk et al. Experimental validation of an underactuated two-wheeled mobile robot
Badeau et al. Intuitive physical human-robot interaction: Using a passive parallel mechanism
WO2025008035A1 (en) Dynamic tipping prevention of robot mounting surfaces
US20210146542A1 (en) Control method for robot system
Fuentes et al. Stable operation of arm type robots on mobile platforms
GB2620639A (en) Dynamic stability of a robot manipulator
WO2022244127A1 (en) Robot system
WO2025008036A1 (en) Continual acceleration detection and compensation of robot arm
GB2620638A (en) Dynamic stability of a robot manipulator
JP2025065854A (en) ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD, AND STORAGE MEDIUM
WO2024105779A1 (en) Control device and computer
WO2024105777A1 (en) Control device and computer
Korayem et al. Analysis of flexible mobile manipulators undergoing large deformation with stability consideration
Heidary Maximum Allowable Dynamic Load of Mobile Manipulators with Stability Consideration

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24740798

Country of ref document: EP

Kind code of ref document: A1