Force limiting for external axis

A controller coordinates and provides force-limiting control for both internal and external axes of collaborative robots, addressing safety concerns and enhancing functionality in collaborative environments.

WO2026049719A1PCT designated stage Publication Date: 2026-03-05ABB (SCHWEIZ) AG +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/044028
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-27
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Conventional collaborative robots lack effective force-limiting control for external axes, which can lead to unsafe interactions with humans when additional machines or robots are integrated, limiting their functionality and safety in collaborative environments.

Method used

A controller is used to coordinate and provide force-limiting control for both the internal axes of a collaborative robot and external axes of integrated machines, ensuring safe operation by detecting potential collisions and issuing safety commands to prevent unwanted forces.

Benefits of technology

The system ensures safe and efficient operation of collaborative robots with integrated external axes, allowing for flexible and safe human-robot collaboration by preventing collisions and maintaining control over combined axes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024044028_05032026_PF_FP_ABST
    Figure US2024044028_05032026_PF_FP_ABST
Patent Text Reader

Abstract

The disclosed collaborative robot system may include a collaborative robot configured to operate in one or more axes and a machine configured to operate in an external axis with respect to the collaborative robot. The system may further include a controller communicatively coupled to the collaborative robot and the machine and configured to coordinate the one or more axes and the external axis and provide force-limiting control on the one or more axes and the external axis. Various other methods, systems, and computer-readable media are also disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

FORCE LIMITING FOR EXTERNAL AXISBRIEF DESCRIPTION OF THE DRAWINGS

[0001] The accompanying drawings illustrate a number of example embodiments and are a part of the specification. Together with the following description, these drawings demonstrate and explain various principles of the present disclosure.

[0002] FIG. 1 is a diagram of an example collaborative robot environment.

[0003] FIG. 2 is an illustration of an example motor unit.

[0004] FIG. 3 is an illustration of an example collaborative robot environment.

[0005] FIG. 4 is an illustration of another example collaborative robot environment.

[0006] FIG. 5 is an illustration of yet another example collaborative robot environment.

[0007] FIGS. 6A-B are illustrations of different states of an example external axis.

[0008] FIG. 7 is a flow diagram of an example method for force limiting for an external axis.

[0009] FIG. 8 is a flow diagram of an example process of force limiting an external axis.

[0010] FIG. 9 is a block diagram of an example system / network environment for force limiting for an external axis.

[0011] Throughout the drawings, identical reference characters and descriptions indicate similar, but not necessarily identical, elements. While the exemplary embodiments described herein are susceptible to various modifications and alternative forms, specific1Attorney Docket No.: 200027-079800embodiments have been shown by way of example in the drawings and will be described in detail herein. However, the exemplary embodiments described herein are not intended to be limited to the particular forms disclosed. Rather, the present disclosure covers all modifications, equivalents, and alternatives falling within the scope of the appended claims.DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

[0012] Robots (e.g., any mechanical agent, automation device, and / or machine capable of automatically performing a series of actions) and other robotic systems / devices are capable of performing various tasks that require manipulation of tools or other physical objects. For example, a robotic arm may have multiple degrees-of-freedom (DOF) or axes of movement or articulation, allowing the robotic arm to perform different tasks. This further allows collaboration with other robots and / or machines for various workflows.

[0013] A collaborative robot may refer to a robot intended for interaction with a human within a shared space or otherwise operate with a human in close proximity and may accordingly be configured with certain safety protocols / behaviors. For example, a robot arm as described above may be a collaborative robot. However, the robotic arm may be limited to working in its axes of movement. Certain tasks may require additional axes of movement, which may be added by adding one or more additional robots (e.g., industrial robots) and / or machines configured for the additional axes. A common controller may coordinate the axes of movement of the robot arm with the external axes added by the additional robot(s) / machine(s). However, the safety protocols of the robot arm may not necessarily be applicable to the additional robot(s) / machine(s).2Attorney Docket No.: 200027-079800

[0014] The present disclosure is generally directed to force limiting for external axes.As will be explained in greater detail below, embodiments of the present disclosure may include a controller configured to coordinate axes corresponding to a robot with an external axis corresponding to a machine. The controller may also be configured to provide force-limiting control for the axes (e.g., the robot) and the external axis (e.g., the machine). The systems and methods provided herein may advantageously provide effective force-limiting control to improve a collaborative robot system that may include multiple robots / machines. In addition, safety protocols (e.g., "safety") as referred to herein may correspond to force-limiting control, such as to prevent a robot / machine movement from continuing to apply force in an undesired scenario, such as an unwanted / unexpected collision.

[0015] Features from any of the embodiments described herein may be used in combination with one another in accordance with the general principles described herein. These and other embodiments, features, and advantages will be more fully understood upon reading the following detailed description in conjunction with the accompanying drawings and claims.

[0016] The following will provide, with reference to FIGS. 1-8, detailed descriptions of force limiting for an external axis. Detailed descriptions of example systems / apparatuses will be provided with respect to FIGS. 1-6B. Detailed descriptions of corresponding methods and processes will be provided with respect to FIGS. 7-8.

[0017] FIG. 1 is a simplified block diagram of an example collaborative robot system 100 having an external axis for a collaborative robot. As illustrated in FIG. 1, collaborative robot system 100 includes a robot 106, a machine 108, a controller 102, and a network 104. In some examples, robot 106 may correspond to a robot arm or other collaborative robot having multiple 3Attorney Docket No.: 200027-079800degrees of freedom, such as a 3 DOF (or 3 axis) robot, a 4 DOF (or 4 axis) robot, a 5 DOF (or 5 axis) robot, a 6 DOF (or 6 axis) robot, a 7 DOF (or 7 axis) robot, an 8 DOF (or 8 axis) robot, or other number of axes. Robot 106 may include a motor 150 (e.g., a servomotor, DC motor, stepper motor, or other motor device, along with other appropriate components such as a gearbox, sensors and controllers to receive and actuate commands) and a torque sensor 152 (e.g., any appropriate sensor for sensing torque and / or force applied such as a torque transducer, load cell, etc.). In some examples, torque sensor 152 may be coupled to motor 150 to detect a load opposite or otherwise resisting a force from motor 150. For instance, torque sensor 152 may utilize a speed and / or position sensor for measuring movement or other positional feedback of one or more components of motor 150 (e.g., a shaft, rotor, gear, etc.) to determine torque. In other examples, torque sensor 152 may correspond to an electrical sensor, such as for measuring a current or other electromagnetic properties that may be associated with control feedback of motor 150. In yet other examples, torque sensor 152 may be fully integrated with motor 150 and may correspond to a feedback signal based on a current operation of motor 150 (e.g., ratherthan a separate sensor device).

[0018] In some examples, motor 150 may correspond to all axes of robot 106, although in other examples, robot 106 may include additional iterations of motor 150 (e.g., one for each axis, one for each joint, etc. as needed) for articulation in all supported axes. Similarly, in some examples torque sensor 152 may correspond to all axes of robot 106, although in other examples, robot 106 may include additional iterations of torque sensor 152 (e.g., one for each axis, one for each joint, one for each motor 150, etc. as needed). Moreover, in some examples torque sensor 152 may be integrated with or otherwise directly coupled to motor 150. In some 4Attorney Docket No.: 200027-079800examples, torque sensor 152 may be indirectly coupled to motor 150 (e.g., coupled to a corresponding joint / arm, etc.).

[0019] A machine, as referred to herein, may represent any physical device / system that may perform an action or otherwise control a movement, using power to apply forces as needed, and in some implementations may be configured to accept control signals. In some examples, machine 108 may correspond to a machine having limited or no automation capabilities (e.g., limited to a basic set of actions), although in other examples machine 108 may correspond to a machine capable of performing a complex series of actions automatically (e.g., a robot). In some examples, machine 108 may correspond to a machine or robot having a limited DOF (e.g., a positioner), and may operate in fewer axes than that of robot 106. For example, machine 108 may correspond to a 1 DOF (or 1 axis) machine / robot, a 2 DOF (or 2 axes) machine / robot, a 3 DOF (or 3 axes) machine / robot, etc. Accordingly, machine 108 may add one or more external axes to robot 106, such as providing a lifting or lateral movement of an object for robot 106 to manipulate, and / or providing such movement to robot 106 itself. In other words, external axes, as referred to herein, may correspond to one or more DOF (and / or machine 108 providing the one or more DOF) that robot 106 is not individually configured for. Machine 108 may include its own iterations of motor 150 and torque sensor 152 as needed. Moreover, although machine 108 individually may operate in fewer DOF than that of robot 106, in some examples, collaborative robot system 100 may include additional iterations / variations of machine 108 that may collectively operate in more DOF than that of robot 106.

[0020] Controller 102 may correspond to a controller configured to coordinate multiple axes, such as the axes of robot 106 along with the external axes, such as provided by 5Attorney Docket No.: 200027-079800machine 108. Controller 102 includes a physical processor 130 and a memory 140. Physical processor 130 may correspond to one or more processors (e.g., microprocessors, microcontrollers, Central Processing Units (CPUs), Field-Programmable Gate Arrays (FPGAs) that implement softcore processors, Application-Specific Integrated Circuits (ASICs), hardware accelerators, graphics processing units (GPUs), co-processors, portions of one or more of the same, variations or combinations of one or more of the same, or any other suitable physical processor) and memory 140 may correspond to any memory device (e.g., any type or form of volatile or non-volatile storage device or medium capable of storing data and / or computer- readable instructions. In one example, a memory device may store, load, and / or maintain one or more of the programs / instructions / processes described herein. Examples of memory devices include, without limitation, Random Access Memory (RAM), Read Only Memory (ROM), flash memory, Hard Disk Drives (HDDs), Solid-State Drives (SSDs), optical disk drives, caches, variations or combinations of one or more of the same, or any other suitable storage memory). Controller 102 may include logic, software / firmware, and / or instructions implemented with physical processor 130 and / or memory 140 for coordinating and / or otherwise controlling robot 106 with machine 108. Controller 102 may be communicatively coupled to robot 106 and machine 108 through network 104.

[0021] Network 104 may represent any type orform of communication network, such as the Internet, and may comprise one or more physical connections, such as LAN, and / or wireless connections, such as WAN. In some examples, network 104 may correspond to one more cables connecting robot 106 with controller 102, and machine 108 with controller 102.6Attorney Docket No.: 200027-079800

[0022] To perform a task, controller 102 may convert steps for performing the task into command signals to robot 106 and / or machine 108. Controller 102 may incorporate feedback from robot 106 and / or machine 108 as needed for the task. In addition, controller 102 may provide force limiting control on the axes of robot 106 and machine 108. For instance, robot 106 may detect a force / torque with torque sensor 152, which may be during an articulation or movement of robot 106 in one or more axes, or may be when robot 106 is otherwise stationary. Controller 102, receiving the torque sensor signal from torque sensor 152, may detect that the measured torque exceeds a safety threshold, indicating a collision with an object (e.g., person or other object in a vicinity of robot 106). In response, controller 102 may provide a force-limiting command (e.g., a safety or override command) for robot 106 to reduce, pause, and / or reverse any movement on the related axes (e.g., via motor 150). Controller 102 may provide similar forcelimiting control on the axes of machine 108.

[0023] In some examples, robot 106, corresponding to a collaborative robot designed to work in proximity with people, may include similar force-limiting control, such as internally or in conjunction with controller 102. However, in some examples, machine 108, corresponding to a positioner, may lack such force-limiting control when operating independently (e.g., not part of collaborative robot system 100). Thus, controller 102 provides coordination between the axes of robot 106 with the external axes of machine 108, as well as provide force-limiting control. In addition, as controller 102 provides coordination with the combined set of axes of robot 106 and machine 108, controller 102 may similar provide force-limiting control on this combined set of axes.7Attorney Docket No.: 200027-079800

[0024] FIG. 2 illustrates a motor unit 200 corresponding to a motor unit system having an integrated torque sensor. Motor unit 200 may include a motor 250 (corresponding to motor 150) and a torque sensor 252 (corresponding to torque sensor 152). In some examples, motor unit 200 may be installed near or otherwise represent a joint of a robot (e.g., robot 106 and / or machine 108) for articulation of one or more axes. Motor unit 200 may correspond to an integrated torque sensing implementation (e.g., having torque sensor 252 near or otherwise integrated with motor 250 such as coupled to a shaft, rotor and / or gear thereof). In other implementations, robot 106 and / or machine 108 may use torque sensor 152 that may be external to motor 150.

[0025] FIGS. 3-6B illustrate various examples of collaborative robot system 100, illustrating different examples of external axes for collaborative robots.

[0026] FIG. 3 illustrates a collaborative robot system 300 corresponding to collaborative robot system 100. Collaborative robot system 300 includes a collaborative robot 306 (corresponding to robot 106), a positioner 308A and a positioner 308B (each and / or collectively corresponding to machine 108), and a controller 302 (corresponding to controller 102). For example, collaborative robot 306 may be a robotic arm or other collaborative robot for performing a task on an object, such as welding parts together. Positioner 308A and positioner 308B may independently and / or in conjunction hold one or more parts for collaborative robot 306 to perform the task (e.g., weld). Positioner 308A and / or positioner 308B may correspond to at least one external axis (e.g., a rotational axis, although in some examples may include other axes such as a horizontal axis) for collaborative robot 306. Positioner 308A and / or positioner 308B may hold and reposition objects for collaborative robot 306 as collaborative robot 3068Attorney Docket No.: 200027-079800performs its task. Rather than having collaborative robot 306 and positioner 308A and / or positioner 308B move in separate discrete movements (e.g., having the positioners 308A and 308B maneuver an object to a particular orientation and collaborative robot 306 weld around the static object), the robots / machines may move in coordination (e.g., positioners 308A and 308B repositioning the object as collaborative robot 306 welds, allowing more efficient movements, allowing collaborative robot 306 to reach all points of welding, and positioning the object to account for gravity with respect to molten material). As will be explained further below, controller 302 may coordinate collaborative robot 306 with positioner 308A and positioner 308B (e.g., coordinate the axes of collaborative robot 306 with the external axes of positioner 308A and positioner 308B) for more efficient performance as well as provide force-limiting control.

[0027] FIG. 4 illustrates a collaborative robot system 400 corresponding to collaborative robot system 100. Collaborative robot system 400 includes a collaborative robot 406 (corresponding to robot 106), a positioner 408 (corresponding to machine 108), and a controller 402 (corresponding to controller 102). Similar to FIG. 3, collaborative robot 406 may correspond to a collaborative robot such as a welding robot, and positioner 408 may provide an external axis (e.g., a rotational axis) for collaborative robot 406. In some examples, positioner 408 may provide yet another external axis (e.g., a vertical axis). Controller 402 may coordinate collaborative robot 406 with positioner 408 (e.g., coordinating the axes thereof) as well as provide force-limiting control, as will be described further below.

[0028] FIG. 5 illustrates a collaborative robot system 500 corresponding to collaborative robot system 100. Collaborative robot system 500 includes a collaborative robot 506 (corresponding to robot 106), a positioner 508 (corresponding to machine 108), and a 9Attorney Docket No.: 200027-079800controller 502 (corresponding to controller 102). In some examples, a teach pendant 503 (e.g., a computing device) may be used to further program collaborative robot system 500. In FIG. 5, rather than using positioner 508 for repositioning an object for collaborative robot 506, positioner 508 may move collaborative robot 506 itself. Positioner 508 may move collaborative robot 506 along a horizontal track (e.g., providing an external horizontal axis) to allow collaborative robot 506 to perform tasks on large / wide objects that may be unfeasible to reposition during the task. For example, collaborative robot 506 may freely articulate while also being moved by positioner 508. In some implementations, controller 502 may coordinate collaborative robot 506 with positioner 508 (e.g., coordinating the axes thereof) as well as provide force-limiting control, as will be described further below.

[0029] FIGS. 6A-6B illustrate a collaborative robot system 600 corresponding to collaborative robot system 100. Collaborative robot system 600 includes a collaborative robot 606 (corresponding to robot 106), and a positioner 608 (corresponding to machine 108). Similar to FIG. 5, positioner 608 may move collaborative robot 606 itself (e.g., providing an external vertical axis via a telescopic column acting as a riser or lift) to allow collaborative robot 606 to perform tasks on la rge / tal I objects that may be unfeasible to reposition during the task. FIG. 6A illustrates positioner 608 having collaborative robot 606 in a lowered position (e.g., positioner 608 being retracted). FIG. 6B illustrates positioner 608 having collaborative robot 606 in a raised position (e.g., positioner 608 being extended). Collaborative robot 606 mayfreely articulate while being raised / lowered by positioner 608. Although not illustrated in FIG. 6, a controller (e.g., controller 102) may coordinate collaborative robot 506 with positioner 508 (e.g., coordinating the axes thereof) as well as provide force-limiting control, as will be described further below.10Attorney Docket No.: 200027-079800

[0030] FIG. 7 is a flow diagram of an exemplary method 700 for force limiting for external axes. The steps shown in FIG. 7 may be performed by any suitable system, including the system(s) illustrated in FIGS. 1, 3, 4, 5, 6A, 6B, and / or 9. In one example, each of the steps shown in FIG. 7 may represent an algorithm whose structure includes and / or is represented by multiple sub-steps, examples of which will be provided in greater detail below.

[0031] As illustrated in FIG. 7, at step 702 one or more of the systems described herein may provide, by a controller configured to coordinate a combined set of axes including a first axis and a second axis, a first command to a robot configured to operate in the first axis. For example, controller 102 may provide a command to robot 106 corresponding to a task.

[0032] At step 704 one or more of the systems described herein may provide, by the controller, a second command to a machine configured to operate in the second axis. For example, controller 102 may provide a command to machine 108 corresponding to the task.

[0033] The systems described herein may perform step 704 in a variety of ways. In one example, controller 102 may determine, for a particular task or macro-command, one or more sub-tasks needed to complete the task. For instance, controller 102 may determine a desired position of an end effector or other tool of robot 106 with respect to an object to be worked on, and accordingly determine appropriate commands for robot 106 and / or machine 108 to position the object and the end effector. Controller 102 may send the commands to robot 106 and / or machine 108 in any appropriate sequence and / or timing. As such, controller 102 may control a combined set of axes (e.g., the one or more axes of robot 106 and the one or more external axes of machine 108) by sending the first command to the first robot for controlling the one or more axes and the second command to the second robot for controlling the external axis.11Attorney Docket No.: 200027-079800

[0034] In reference to FIGS. 3 and 4, the controller (e.g., controller 302 and controller 402, respectively) may send one or more commands to the positioners (e.g., positioners 308A and / or 308B, and positioner 408, respectively) to reposition the object as desired. The controller may also send one or more commands for the collaborative robot (e.g., collaborative robot 306 and collaborative robot 406, respectively), to move its end effector to the appropriate position and operate on the object as needed.

[0035] In reference to FIG. 5, the controller (e.g., controller 502) may send one or more commands to the positioner (e.g., positioner 508) to move the collaborative robot (e.g., collaborative robot 506) to a desired position along the object (e.g., a coarse movement). The controller may also send one or more commands for the collaborative robot to move its end effector to the appropriate position with respect to the object (e.g., a granular movement) and operate on the object as needed.

[0036] In reference to FIGS, 6A and 6B, the controller may send one or more commands to the positioner (e.g., positioner 608) to raise / lower the collaborative robot (e.g., collaborative robot 606) to a desired height next to the object (e.g., one or more coarse program points). The controller may also send one or more commands for the collaborative robot to move its end effector to the appropriate position with respect to the object (e.g., one or more granular program points) and operate on the object as needed.

[0037] Returning to FIG. 7, at step 706 one or more of the systems described herein may receive, by the controller, a torque measurement from the machine. For example, controller 102 may receive a torque measurement from torque sensor 152 of machine 108.12Attorney Docket No.: 200027-079800

[0038] The systems described herein may perform step 706 in a variety of ways. In one example, controller 102 may be coupled to robot 106 and machine 108 via multiple channels, which may correspond to separate communication links and / or subdivisions of a communication link (e.g., a channel may correspond to a physical media and / or portions thereof, such as a particular bus, a protocol which may be implemented with shared physical media, and / or any combination thereof to allow communications on a channel to be differentiated from communications on a different channel). For instance, controller 102 may have a channel reserved for sending commands (e.g., movement commands), a channel reserved for receiving feedback (e.g., torque sensor signals), a channel reserved for safety commands, etc. Having separate channels may allow controller 102 to send / receive certain signals of higher priority (e.g., safety related signals such as safety or force-limiting commands, torque sensor measurements, etc.) without being delayed or interfered with lower priority signals (e.g., movement commands, operational signals, etc.). For example, controller 102, robot 106 and machine 108 may prioritize signals sent / received on a high priority channel over that of a low priority channel. In other implementations, other priority signaling schemes may be used, such as having an interrupt system or other scheme for indicating signal priority. In some examples, such a priority scheme (e.g., using multiple channels), may mitigate delays in safety commands.

[0039] At step 708 one or more of the systems described herein may provide, by the controller in response to the torque measurement, a safety command to the machine. For example, controller 102 may provide a safety command to machine 108 based on the torque measurement.13Attorney Docket No.: 200027-079800

[0040] The torque measurement may indicate a potential safety condition (e.g., robot106 and / or machine 108 causing contact of a robot or object to a human in the vicinity). Controller 102 may send appropriate safety commands to reduce, reverse, or otherwise mitigate the safety condition. Safety commands may include, for example, commands for overriding, reducing, stopping, and / or reversing a current command, cancelling current / future commands, modifying current / future commands (e.g., to avoid the potential safety condition in a future operation), etc.

[0041] In addition, controller 102 may also receive torque measurements from robot 106 and provide safety commands to robot 106 as needed. In yet other examples, controller 102 may receive torque measurements from either robot 106 and machine 108 and provide safety commands to either or both as needed. For example, controller 102 may determine, from the torque measurements, which axes correspond to the safety condition, and further determine which axes to send safety commands to, which may correspond to the same axes, related axes, etc. In other examples, controller 102 may send a stop command causing one or more axes to stop (e.g, a stop command for a particular axis of robot 106 and / or machine 108, a stop command for all axes of robot 106 and / or machine 108, and / or a global stop command for all axes of robotg 106 and machine 108).

[0042] In reference to FIGS. 3 and 4, the positioners may have caused the object to contact the human, such that the controller may reposition the object to a safer position (e.g., to reduce / avoid the contact). In another example, the collaborative robot itself may have contacted the human such that the controller may reposition the collaborative robot and / or portions thereof (e.g., one or more particular joints).14Attorney Docket No.: 200027-079800

[0043] In reference to FIGS. 5, 6A, and 6B, the collaborative robot may contact the human, which the controller may detect from multiple axes. In some examples, the controller may provide the positioner with a safety command to relocate the collaborative robot away from the human without necessarily having to send safety commands to the collaborate robot itself.

[0044] FIG. 8 is a flow diagram of an exemplary computer-implemented method 800 for force-limiting control. The steps shown in FIG. 8 may be performed by any suitable system, including the system(s) illustrated in FIGS. 1, 3, 4, 5, 6A, 6B, and / or 9. In one example, each of the steps shown in FIG. 8 may represent an algorithm whose structure includes and / or is represented by multiple sub-steps, examples of which will be provided in greater detail below. In some examples, method 800 may correspond to a portion of method 700 (e.g., steps 706 and 708 of method 700).

[0045] As illustrated in FIG. 8, at step 802 one or more of the systems described herein may get a torque measurement. For example, controller 102 may receive the torque measurement from torque sensor 152. In some examples, controller 102 may periodically and / or continuously receive torque measurements. In other examples, controller 102 may request torque measurements.

[0046] At step 804 one or more of the systems described herein may determine if a torque threshold is reached. For example, controller 102 may assess the torque measurement. The torque threshold may correspond to a potential safety condition. In some examples, the torque threshold may correspond to a magnitude value (e.g., a predetermined value). In some examples, the torque threshold may correspond to a difference / delta value, such as a difference from an expected torque value (e.g., such that a difference in torque beyond the threshold may 15Attorney Docket No.: 200027-079800indicate the safety condition). In some examples, the torque threshold may correspond to a change in torque (e.g., such that a rate of change in torque beyond the threshold may indicate the safety condition).

[0047] At step 806 one or more of the systems described herein may, when the torque threshold is reached, send a force limit command. For example, controller 102 may send safety commands as described herein when the torque threshold is reached. If the torque threshold is not reached, method 800 (e.g., a current iteration thereof) may end. Method 800 may be repeated as needed (e.g., continuously).

[0048] Moreover, although the examples herein refer to torque measurements (and accordingly, torque sensors), in other examples other sensors and measurements may be used to detect potential safety conditions such that controller 102 may in response provide safety commands to robot 106 and / or machine 108 as needed.

[0049] In some implementations, all or a portion of the systems described herein may represent portions of example network environment 900 in FIG. 9. FIG. 9 illustrates an exemplary network environment 900 implementing aspects of the present disclosure. The network environment 900 includes computing device 902, a network 904, and a robot 906. Computing device 902 may be any computing device, such as a controller as described herein, and may also correspond to and / or interface with a user device, such as a desktop computer, laptop computer, tablet device, smartphone, an artificial / extended reality system (e.g., an augmented-reality system, a virtual-reality system, etc.) or other computing device. Computing device 902 may include a physical processor 930, which may be one or more processors, and memory 940, which may store data and / or programs / instructions corresponding to the processes described herein.16Attorney Docket No.: 200027-079800

[0050] Robot 906 may represent or include one or more robots as described herein.In some implementations, robot 906 may include a physical processor 930 and memory 940. Computing device 902 may be communicatively coupled to robot 906 through network 904. Network 904 may represent any type or form of communication network, such as the Internet, and may comprise one or more physical connections, such as LAN, and / or wireless connections, such as WAN.

[0051] Collaborative robots are often designed with inherent safety mechanisms / behaviors so they may work alongside humans with human safety considerations. For example, collaborative robots may utilize built-in force torque sensors. However, collaborative robots, while safe for working alongside humans or in close proximity to humans, may often have limited functionality.

[0052] Adding a collaborative external axis or axes with the collaborative robot allows a more flexible system for additional functionality. For instance, there are many applications that require an external axis or axes. However, conventional external axis solutions do not allow close human interaction with the collaborative robots ("cobots").

[0053] The systems and methods described herein allow adding a collaborative external axis or axes with a collaborative robot that provides a safe collaborative functionality of the entire robotic system, including the collaborative external axis or axes. Adding a collaborative power and force limited external axis or axes with the collaborative robot would allow the robot and external axis or axes to work alongside humans. As described herein, adding force torque sensors to external axes and all other necessary safety software allows humans to work alongside17Attorney Docket No.: 200027-079800the robot and external axis or axes. Accordingly, the complete system may be considered safe, and the robotic solution may work in close proximity of people in a collaborative environment.

[0054] In some aspects, the techniques described herein relate to a system for a force-controlled external axis for a collaborative robot, the system including: a robot configured to operate in one or more axes; a machine configured to operate in an external axis with respect to the robot; and a controller communicatively coupled to the robot and the machine and configured to coordinate the one or more axes and the external axis and provide force-limiting control on the one or more axes and the external axis.

[0055] In some aspects, the techniques described herein relate to a system, wherein the machine includes a motor unit coupled to a torque sensor, and the torque sensor is communicatively coupled to the controller.

[0056] In some aspects, the techniques described herein relate to a system, wherein the controller includes a first channel reserved for movement commands for the robot and the machine, and a second channel reserved for torque sensor signals and safety commands for at least the machine.

[0057] In some aspects, the techniques described herein relate to a system, wherein the controller is further configured to: receive, on the second channel, a torque sensor measurement from the machine; detect the torque sensor measurement exceeding a safety threshold for the machine; and send, in response to the detection, a safety command to the machine.

[0058] In some aspects, the techniques described herein relate to a system, wherein the safety command corresponds to at least one of a stop command or a reverse command.18Attorney Docket No.: 200027-079800

[0059] In some aspects, the techniques described herein relate to a system, wherein the safety command overrides a current command for the machine.

[0060] In some aspects, the techniques described herein relate to a system, wherein the controller is further configured to: receive, on the second channel, a torque sensor measurement from the robot; detect the torque sensor measurement exceeding a safety threshold for the robot; and send, in response to the detection, a safety command to the robot.

[0061] In some aspects, the techniques described herein relate to a system, wherein the controller is configured to coordinate the one or more axes and the external axis as a combined set of axes.

[0062] In some aspects, the techniques described herein relate to a system, wherein the controller is configured to coordinate the combined set of axes by sending a first command to the robot for controlling the one or more axes and a second command to the machine for controlling the external axis.

[0063] In some aspects, the techniques described herein relate to a computer- implemented method for a force-controlled external axis for a collaborative robot, the method including: providing, by a controller configured to coordinate a combined set of axes including a first axis and a second axis, a first command to a robot configured to operate in the first axis; providing, by the controller, a second command to a machine configured to operate in the second axis; receiving, by the controller, a torque measurement from the machine; and providing, by the controller in response to the torque measurement, a safety command to the machine.

[0064] In some aspects, the techniques described herein relate to a computer- implemented method, wherein: providing the first command further includes providing the first19Attorney Docket No.: 200027-079800command on a first channel; providing the second command further includes providing the second command on the first channel; receiving the torque measurement further includes receiving the torque measurement on a second channel; and providing the safety command further includes providing the safety command on the second channel.

[0065] In some aspects, the techniques described herein relate to a computer- implemented method, wherein providing the safety command further includes providing the safety command in response to the torque measurement exceeding a safety threshold.

[0066] In some aspects, the techniques described herein relate to a computer- implemented method, wherein the safety command corresponds to at least one of a stop command or a reverse command.

[0067] In some aspects, the techniques described herein relate to a computer- implemented method, wherein the safety command overrides the second command for the machine.

[0068] In some aspects, the techniques described herein relate to a computer- implemented method, further including: receiving, by the controller, a second torque measurement from the robot; detecting, by the controller, the second torque measurement exceeding a second safety threshold for the robot; and providing, by the controller in response to the detection, a second safety command to the robot that overrides the first command.

[0069] In some aspects, the techniques described herein relate to a non-transitory computer-readable medium including one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to: provide, by a controller configured to coordinate a combined set of axes including a first axis and20Attorney Docket No.: 200027-079800a second axis, a first command to a robot configured to operate in the first axis; provide, by the controller, a second command to a machine configured to operate in the second axis; receive, by the controller, a torque measurement from the machine; and provide, by the controller in response to the torque measurement, a safety command to the machine.

[0070] In some aspects, the techniques described herein relate to a non-transitory computer-readable medium, wherein: providing the first command further includes providing the first command on a first channel; providing the second command further includes providing the second command on the first channel; receiving the torque measurement further includes receiving the torque measurement on a second channel; and providing the safety command further includes providing the safety command on the second channel.

[0071] In some aspects, the techniques described herein relate to a non-transitory computer-readable medium, wherein providing the safety command further includes providing the safety command in response to the torque measurement exceeding a safety threshold.

[0072] In some aspects, the techniques described herein relate to a non-transitory computer-readable medium, wherein the safety command corresponds to at least one of a stop command or a reverse command.

[0073] In some aspects, the techniques described herein relate to a non-transitory computer-readable medium, wherein the safety command overrides the second command for the machine.

[0074] As detailed above, the computing devices and systems described and / or illustrated herein broadly represent any type or form of computing device or system capable of executing computer-readable instructions, such as those contained within the memory devices 21Attorney Docket No.: 200027-079800described herein. In their most basic configuration, these computing device(s) may each include at least one memory device and at least one physical processor.

[0075] In some examples, the term "memory device" generally refers to any type or form of volatile or non-volatile storage device or medium capable of storing data and / or computer-readable instructions. In one example, a memory device may store, load, and / or maintain one or more of the modules described herein. Examples of memory devices include, without limitation, Random Access Memory (RAM), Read Only Memory (ROM), flash memory, Hard Disk Drives (HDDs), Solid-State Drives (SSDs), optical disk drives, caches, variations or combinations of one or more of the same, or any other suitable storage memory.

[0076] In some examples, the term "physical processor" generally refers to any type or form of hardware-implemented processing unit capable of interpreting and / or executing computer-readable instructions. In one example, a physical processor may access and / or modify one or more modules stored in the above-described memory device. Examples of physical processors include, without limitation, microprocessors, microcontrollers, Central Processing Units (CPUs), Field-Programmable Gate Arrays (FPGAs) that implement softcore processors, Application-Specific Integrated Circuits (ASICs), hardware accelerators, graphics processing units (GPUs), co-processors, portions of one or more of the same, variations or combinations of one or more of the same, or any other suitable physical processor.

[0077] Although described / illustrated as separate elements, the instructions described and / or illustrated herein may represent portions of a single instruction, code, program, and / or application. In addition, in certain embodiments one or more of these instructions may represent one or more software applications or programs that, when executed by a computing 22Attorney Docket No.: 200027-079800device, may cause the computing device to perform one or more tasks. For example, one or more of the instructions described and / or illustrated herein may represent instructions stored and configured to run on one or more of the computing devices or systems described and / or illustrated herein. One or more of these instructions may also represent all or portions of one or more special-purpose computers configured to perform one or more tasks.

[0078] In some embodiments, the term "computer-readable medium" generally refers to any form of device, carrier, or medium capable of storing or carrying computer-readable instructions. Examples of computer-readable media include, without limitation, transmissiontype media, such as carrier waves, and non-transitory-type media, such as magnetic-storage media (e.g., hard disk drives, tape drives, and floppy disks), optical-storage media (e.g., Compact Disks (CDs), Digital Video Disks (DVDs), and BLU-RAY disks), electronic-storage media (e.g., solid- state drives and flash media), and other distribution systems.

[0079] The process parameters and sequence of the steps described and / or illustrated herein are given by way of example only and can be varied as desired. For example, while the steps illustrated and / or described herein may be shown or discussed in a particular order, these steps do not necessarily need to be performed in the order illustrated or discussed. The various exemplary methods described and / or illustrated herein may also omit one or more of the steps described or illustrated herein or include additional steps in addition to those disclosed.

[0080] The preceding description has been provided to enable others skilled in the art to best utilize various aspects of the exemplary embodiments disclosed herein. This exemplary description is not intended to be exhaustive or to be limited to any precise form disclosed. Many 23Attorney Docket No.: 200027-079800modifications and variations are possible without departing from the spirit and scope of the present disclosure. The embodiments disclosed herein should be considered in all respects illustrative and not restrictive. Reference should be made to the appended claims and their equivalents in determining the scope of the present disclosure.

[0081] Unless otherwise noted, the terms "connected to" and "coupled to" (and their derivatives), as used in the specification and claims, are to be construed as permitting both direct and indirect (i.e., via other elements or components) connection. In addition, the terms "a" or "an," as used in the specification and claims, are to be construed as meaning "at least one of." Finally, for ease of use, the terms "including" and "having" (and their derivatives), as used in the specification and claims, are interchangeable with and have the same meaning as the word "comprising."24Attorney Docket No.: 200027-079800

Claims

WHAT IS CLAIMED IS:

1. A system for a force-controlled external axis for a collaborative robot, the system comprising: a robot configured to operate in one or more axes; a machine configured to operate in an external axis with respect to the robot; and a controller communicatively coupled to the robot and the machine and configured to coordinate the one or more axes and the external axis and provide force-limiting control on the one or more axes and the external axis.

2. The system of claim 1, wherein the machine includes a motor unit coupled to a torque sensor, and the torque sensor is communicatively coupled to the controller.

3. The system of claim 2, wherein the controller includes a first channel reserved for movement commands for the robot and the machine, and a second channel reserved for torque sensor signals and safety commands for at least the machine.

4. The system of claim 3, wherein the controller is further configured to: receive, on the second channel, a torque sensor measurement from the machine; detect the torque sensor measurement exceeding a safety threshold for the machine; and send, in response to the detection, a safety command to the machine.25Attorney Docket No.: 200027-0798005. The system of claim 4, wherein the safety command corresponds to at least one of a stop command or a reverse command.

6. The system of claim 4, wherein the safety command overrides a current command for the machine.

7. The system of claim 3, wherein the controller is further configured to: receive, on the second channel, a torque sensor measurement from the robot; detect the torque sensor measurement exceeding a safety threshold for the robot; and send, in response to the detection, a safety command to the robot.

8. The system of claim 1, wherein the controller is configured to coordinate the one or more axes and the external axis as a combined set of axes.

9. The system of claim 8, wherein the controller is configured to coordinate the combined set of axes by sending a first command to the robot for controlling the one or more axes and a second command to the machine for controlling the external axis.

10. A computer-implemented method for a force-controlled external axis for a collaborative robot, the method comprising:26Attorney Docket No.: 200027-079800providing, by a controller configured to coordinate a combined set of axes including a first axis and a second axis, a first command to a robot configured to operate in the first axis; providing, by the controller, a second command to a machine configured to operate in the second axis; receiving, by the controller, a torque measurement from the machine; and providing, by the controller in response to the torque measurement, a safety command to the machine.

11. The computer-implemented method of claim 10, wherein: providing the first command further comprises providing the first command on a first channel; providing the second command further comprises providing the second command on the first channel; receiving the torque measurement further comprises receiving the torque measurement on a second channel; and providing the safety command further comprises providing the safety command on the second channel.

12. The computer-implemented method of claim 10, wherein providing the safety command further comprises providing the safety command in response to the torque measurement exceeding a safety threshold.27Attorney Docket No.: 200027-07980013. The computer-implemented method of claim 10, wherein the safety command corresponds to at least one of a stop command or a reverse command.

14. The computer-implemented method of claim 10, wherein the safety command overrides the second command for the machine.

15. The computer-implemented method of claim 10, further comprising: receiving, by the controller, a second torque measurement from the robot; detecting, by the controller, the second torque measurement exceeding a second safety threshold for the robot; and providing, by the controller in response to the detection, a second safety command to the robot that overrides the first command.

16. A non-transitory computer-readable medium comprising one or more computerexecutable instructions that, when executed by at least one processor of a computing device, cause the computing device to: provide, by a controller configured to coordinate a combined set of axes including a first axis and a second axis, a first command to a robot configured to operate in the first axis; provide, by the controller, a second command to a machine configured to operate in the second axis; receive, by the controller, a torque measurement from the machine; and28Attorney Docket No.: 200027-079800provide, by the controller in response to the torque measurement, a safety command to the machine.

17. The non-transitory computer-readable medium of claim 16, wherein: providing the first command further comprises providing the first command on a first channel; providing the second command further comprises providing the second command on the first channel; receiving the torque measurement further comprises receiving the torque measurement on a second channel; and providing the safety command further comprises providing the safety command on the second channel.

18. The non-transitory computer-readable medium of claim 16, wherein providing the safety command further comprises providing the safety command in response to the torque measurement exceeding a safety threshold.

19. The non-transitory computer-readable medium of claim 16, wherein the safety command corresponds to at least one of a stop command or a reverse command.

20. The non-transitory computer-readable medium of claim 16, wherein the safety command overrides the second command for the machine.29Attorney Docket No.: 200027-079800

Citation Information

Patent Citations

  • Collaborative robot having collision detection function and collision detection method of cooperative robot

    EP4349540A1