This application claims the benefit of priority of Singapore patent application Ser. No. 10202204344Y, filed on 25 Apr. 2022, the content of which being hereby incorporated by reference in its entirety for all purposes.
The present invention generally relates to a method of controlling a robot manipulator for operating in a shared workspace with one or more humans, and a controller system thereof, and more particularly, for human-robot interaction (HRI).
Recent developments in robot technology enable humans and robots to work side by side in a shared workspace. In manufacturing scenarios, human-robot interaction (HRI) makes it possible to combine complementary abilities of humans and robots, such as the innate flexibility and cognitive skills of the humans with the distinguishing accuracy, speed, and repeatability of the robots, thereby improving the overall efficiency. However, HRI exposes humans to the danger of being hurt by robots, making human safety one of the most important aspects of HRI. To achieve safe HRI, various conventional robot control methods have been developed. Generally, they generate an evasive motion for the robot to avoid collision with a human. The artificial potential field (APF) is a popular conventional method for collision avoidance, and it has inspired many works for safe HRI, such as danger field, general potential energy function, and other variant APFs. In conventional APF-inspired methods, the evasive motion depends on the parameters of the APFs that are set empirically (i.e., the effort for collision avoidance depends on certain empirically selected parameters), so human safety is not always guaranteed. Optimization is another tool to solve the collision avoidance problem. In various conventional optimization-based methods, collision avoidance is achieved by either penalizing small human-robot distance in the cost function or enforcing an inequality constraint. Control barrier functions (CBFs) have been applied to construct the inequality constraint. The CBFs render a safe set forward invariant, thereby can guarantee human safety. However, conventional CBFs formed may only be applied to a specific type of control mode (e.g., joint-velocity control mode) of the robot and cannot be adaptively applied to other types of control modes (e.g., joint acceleration control mode or joint-torque control mode).
Another important aspect of HRI is the task consistency that arises when the robot is executing an evasive motion for collision avoidance with the human. For example, task consistency may require that the execution of a task does not unresumably fail (i.e., the task does not fail in an unresumable manner, that is, the completion of the task can no longer be achieved) due to the evasive motion. In most existing methods for HRI, task consistency is either satisfied or unsatisfied, that is, there is no guarantee that the task consistency is always satisfied. By way of an illustrative example only and without limitation, consider an example task of a robot (or more specifically, a robot manipulator) holding a cup with water at a desired pose (i.e., position and orientation) as shown in
Furthermore, commercial robots (or more specifically, robot manipulators) in the current market have different types of control modes. Most robots may be configured to receive a joint-position command (i.e., has a joint-position control mode), while various robots may be configured to receive a joint-velocity command (i.e., has a joint-velocity control mode), a joint-acceleration command (i.e., has a joint-acceleration control mode) and/or a joint-torque command (i.e., has a joint-torque control mode). However, the majority of existing control methods for HRI is configured for a specific type of control mode and cannot adapt to other types of control modes, such as being configured only for joint-velocity control mode, being configured only for joint-acceleration control mode or being configured only for joint-torque control mode. Although certain existing control methods for HRI may be specifically configured for both joint-velocity control mode and joint-torque control mode, the forms of the control law in such existing control methods for such different types of control modes are not uniform and thus the performance may be not consistent.
Accordingly, conventional control methods for robot manipulators for HRI suffer from one or more of the problems discussed above, namely, human safety problem, task consistency problem and different control modes compatibility problem.
A need therefore exists to provide a method of controlling a robot manipulator for operating in a shared workspace with one or more humans and a controller system thereof, that seek to overcome, or at least ameliorate, one or more deficiencies in conventional methods and systems for controlling a robot manipulator, and more particularly, providing an improved method and system for controlling a robot manipulator that seek to simultaneously address or achieve human safety, task consistency and different control modes compatibility. It is against this background that the present invention has been developed.
According to a first aspect of the present invention, there is provided a method of controlling a robot manipulator for operating in a shared workspace with one or more humans using at least one processor, the method comprising:
According to a second aspect of the present invention, there is provided a controller system for controlling a robot manipulator for operating in a shared workspace with one or more humans, the controller system comprising:
According to a third aspect of the present invention, there is provided a computer program product, embodied in one or more non-transitory computer-readable storage mediums, comprising instructions executable by at least one processor to perform the method of controlling a robot manipulator for operating in a shared workspace with one or more humans according to the above-mentioned first aspect of the present invention.
According to a fourth aspect of the present invention, there is a robot manipulator system comprising:
Embodiments of the present invention will be better understood and readily apparent to one of ordinary skill in the art from the following written description, by way of example only, and in conjunction with the drawings, in which:
Various embodiments of the present invention provide a method of controlling a robot manipulator for operating in a shared workspace with one or more humans, and a controller system thereof.
As discussed in the background, conventional control methods for robot manipulators for human-robot interaction (HRI) suffer from one or more problems, namely, human safety problem, task consistency problem and different control modes compatibility problem. Accordingly, various embodiments of the present invention provide a method of controlling a robot manipulator for operating in a shared workspace with one or more humans and a controller system thereof, that seek to overcome, or at least ameliorate, one or more deficiencies in conventional methods and systems for controlling a robot manipulator, and more particularly, providing an improved method and system for controlling a robot manipulator that seek to simultaneously address or achieve human safety, task consistency and different control modes compatibility.
In particular, the safety control function is dependent on the current state of the robot manipulator and the current state of the one or more humans and is configured to determine the safety control set: based on a control model for the robot manipulator that is dependent on the current state of the robot manipulator, the control input to the robot manipulator and a disturbance input to the robot manipulator, and is configured in a control affine form based on a control mode of the robot manipulator, and for each part pair of one or more part pairs of a selected part of the one or more selected parts of the robot manipulator and a selected part of the one or more selected parts of the one or more humans: based on a safety distance function associated with the part pair that is dependent on the current state of the robot manipulator and the current state of the one or more humans and corresponds to a control barrier function, and based on a sliding manifold associated with the part pair configured based on the safety distance function associated with the part pair and a relative degree of the safety distance function with respect to the control input to the robot manipulator. Therefore, according to various embodiments, the safety control function is configured to determine the safety control set based on the control model for the robot manipulator and for the above-mentioned each part pair, based on the safety distance function and the sliding manifold associated with the part pair.
It will be appreciated by a person skilled in the art that the above-mentioned one or more selected parts of the one or more humans may be represented by corresponding one or more markers (e.g., tags) attached or affixed to the one or more selected parts of the one or more humans, depending on the type of human motion detection technology employed for tracking the motion of the one or more selected parts of the one or more humans. On the other hand, the one or more markers may not be necessary if they are not required by the type of human motion detection technology employed for tracking the motion of the one or more selected parts of the one or more humans.
It will also be appreciated by a person skilled in the art that the above-mentioned task performed may be a sub-task of a task. Therefore, for example, the method 200 of controlling the robot manipulator may be performed with respect to each of one or more sub-tasks of a task, as desired or as appropriate, according to various embodiments of the present invention.
Accordingly, the method 200 of controlling a robot manipulator according to various embodiments of the present invention advantageously simultaneously addresses or achieves human safety, task consistency and different control modes compatibility. For example, the safety control function is configured to determine the safety control set based on a control model for the robot manipulator that is configured in a control affine form based on the control mode of the robot manipulator (i.e., the control mode in which the robot manipulator is configured to operate). Therefore, different control models for different types of control modes (e.g., joint-velocity control mode, joint-acceleration control mode and joint-torque control mode) are advantageously unified to the control affine form according to various embodiments of the present invention, thereby facilitating or enabling the method 200 in addressing the human safety problem regardless of which one of the different types of control modes the robot manipulator is configured to operate in, thereby also addressing the different control modes compatibility problem.
In addition, for the above-mentioned each part pair of a selected part of the robot manipulator and a selected part of one or more humans, the safety control function is configured to determine the safety control set further based the above-mentioned sliding manifold associated with the part pair configured based on the above-mentioned safety distance function (configured as a control barrier function) associated with the part pair and a relative degree of the safety distance function with respect to the control input to the robot manipulator. Therefore, human safety can be directly tracked or monitored using the safety distance function defined as a control barrier function to directly track or monitor a distance between the part pair regardless of the relative degree of the safety distance function with respect to the control input to the robot manipulator since the sliding manifold is advantageously configured to adapt the safety distance function according to the relative degree of the safety distance function with respect to the control input to the robot manipulator. As a result, the sliding manifold can be directly controlled for human safety.
Furthermore, hard constraint control set with respect to hard constraint(s) in trajectory tracking in degree(s) of freedom of the component (e.g., end effector) for the task and soft constraint control set with respect to soft constraint(s) in trajectory tracking in degree(s) of freedom of the component are determined for facilitating or enabling hierarchical task consistency. In particular, by performing control input optimization on the safety control set, the hard constraint control set and the soft constraint control set to determine the control input for controlling the robot manipulator, full task consistency is ensured as long as it is achievable, while guaranteeing human safety and primary task consistency.
Therefore, the method 200 of controlling a robot manipulator according to various embodiments of the present invention advantageously simultaneously addresses or achieves human safety, task consistency and different control modes compatibility. These advantages or technical effects, and/or other advantages or technical effects, will become more apparent to a person skilled in the art as the method 200 of controlling a robot manipulator, as well as the corresponding controller system for controlling a robot manipulator, is described in more detail according to various embodiments and example embodiments of the present invention.
In various embodiments, the control model for the robot manipulator is configured in the control affine form according to the control mode of the robot manipulator. In various embodiments, the control mode of the robot manipulator is any one of a joint-position control mode, a joint-velocity control mode, a joint-acceleration control mode and a joint-torque control mode. That is, the robot manipulator may be configured to operate in any one of the different types of control modes, and the control model for the robot manipulator is configured in the control affine form according to the control mode which the robot manipulator is operating in.
In various embodiments, the safety distance function associated with the part pair is configured based on a distance function configured to represent a distance between the selected part of the robot manipulator and the selected part of the one or more humans of the part pair and a predefined minimum safety distance relating to the safety condition between the selected part of the robot manipulator and the selected part of the one or more humans of the part pair.
In various embodiments, the sliding manifold associated with the part pair is configured based on the relative degree of the safety distance function associated with the part pair with respect to the control input to the robot manipulator such that the sliding manifold has a relative degree of one with respect to the control input. Therefore, the sliding manifold is advantageously configured to adapt the safety distance function according to the relative degree of the safety distance function with respect to the control input to the robot manipulator. Because of this adaptability, the sliding manifold can be directly controlled for human safety regardless of the relative degree of the safety distance function with respect to the control input to the robot manipulator.
In various embodiments, the safety control function is configured to determine the safety control set such that for the above-mentioned each part pair, the safety distance function associated with the part pair produces a value of greater than or equal to zero for all candidate control inputs in the safety control set regardless of the disturbance input in the control model. In this regard, it will be appreciated by a person skilled in the art that the safety distance function may be subjected to an error bias, such as caused by the input disturbance and the initial value of the safety distance function.
In various embodiments, the safety control function comprises a first parameter, a second parameter and a third parameter. In this regard, the first and second parameters are each configured based on the control model for the robot manipulator, the safety distance function associated with the above-mentioned each part pair and the control mode of the robot manipulator. Furthermore, the third parameter is configured based on the sliding manifold associated with the above-mentioned each part pair.
In various embodiments, the safety control function is configured to determine the safety control set such that for each candidate control input in the safety control set, the first parameter multiplied by the candidate control input plus the second parameter and the third parameter is greater than or equal to zero.
In various embodiments, the hard constraint function is dependent on the current state of the robot manipulator and is configured to determine the hard constraint control set: based on the control model for the robot manipulator, and for each of the one or more degrees of freedom of the component classified as a hard constraint degree of freedom for the task based on the degree of freedom classification information for the task: based on a hard trajectory tracking error function associated with the hard constraint degree of freedom that is dependent on the current state of the robot manipulator, and based on a sliding manifold associated with the hard constraint degree of freedom configured based on the hard trajectory tracking error function associated with the hard constraint degree of freedom and a relative degree of the hard trajectory tracking error function with respect to the control input to the robot manipulator. Therefore, according to various embodiments, the hard constraint function is configured to determine the hard constraint control set based on the control model for the robot manipulator and for each of the one or more degrees of freedom of the component classified as a hard constraint degree of freedom for the task, based on the hard trajectory tracking error function and the sliding manifold associated with the hard constraint degree of freedom.
Accordingly, for each of the one or more degrees of freedom of the component classified as a hard constraint degree of freedom for the task, the hard constraint function is configured to determine the hard constraint control set based on the above-mentioned sliding manifold associated with the hard constraint degree of freedom configured based on the hard trajectory tracking error function associated with the hard constraint degree of freedom and the relative degree of the hard trajectory tracking error function with respect to the control input to the robot manipulator. Therefore, trajectory tracking error in the hard constraint degree of freedom is advantageously directly tracked or monitored using the hard trajectory tracking error function for controlling the robot manipulator with respect to the hard constraint degree of freedom regardless of the relative degree of the hard trajectory tracking error function with respect to the control input to the robot manipulator since the sliding manifold is advantageously configured to adapt the hard trajectory tracking error function according to the relative degree of the hard trajectory tracking error function with respect to the control input to the robot manipulator.
In various embodiments, similarly, the soft constraint function is dependent on the current state of the robot manipulator and is configured to determine the soft constraint control set: based on the control model for the robot manipulator, and for each of the one or more degrees of freedom of the component classified as a soft constraint degree of freedom for the task based on the degree of freedom classification information for the task: based on a soft trajectory tracking error function associated with the soft constraint degree of freedom that is dependent on the current state of the robot manipulator, and based on a sliding manifold associated with the soft constraint degree of freedom configured based on the soft trajectory tracking error function associated with the soft constraint degree of freedom and a relative degree of the soft trajectory tracking error function with respect to the control input to the robot manipulator. Therefore, according to various embodiments, the soft constraint function is configured to determine the soft constraint control set based on the control model for the robot manipulator and for each of the one or more degrees of freedom of the component classified as a soft constraint degree of freedom for the task, based on the soft trajectory tracking error function and the sliding manifold associated with the soft constraint degree of freedom.
Accordingly, for each of the one or more degrees of freedom of the component classified as a soft constraint degree of freedom for the task, the soft constraint function is configured to determine the soft constraint control set based on the above-mentioned sliding manifold associated with the soft constraint degree of freedom configured based on the soft trajectory tracking error function associated with the soft constraint degree of freedom and the relative degree of the soft trajectory tracking error function with respect to the control input to the robot manipulator. Therefore, trajectory tracking error in the soft constraint degree of freedom is advantageously directly tracked or monitored using the soft trajectory tracking error function for controlling the robot manipulator with respect to the soft constraint degree of freedom regardless of the relative degree of the soft trajectory tracking error function with respect to the control input to the robot manipulator since the sliding manifold is advantageously configured to adapt the soft trajectory tracking error function according to the relative degree of the soft trajectory tracking error function with respect to the control input to the robot manipulator.
In various embodiments, the hard trajectory tracking error function associated with the hard constraint degree of freedom is configured to represent a trajectory tracking error of the component in the hard constraint degree of freedom based on the current state of the robot manipulator and the current desired trajectory of the component of the robot manipulator. In various embodiments, similarly, the soft trajectory tracking error function associated with the soft constraint degree of freedom is configured to represent a trajectory tracking error of the component in the soft constraint degree of freedom based on the current state of the robot manipulator and the current desired trajectory of the component of the robot manipulator.
In various embodiments, the sliding manifold associated with the hard constraint degree of freedom is configured based on the relative degree of the hard trajectory tracking error function with respect to the control input to the robot manipulator such that the sliding manifold has a relative degree of one with respect to the control input. In various embodiments, similarly, the sliding manifold associated with the soft constraint degree of freedom is configured based on the relative degree of the soft trajectory tracking error function with respect to the control input to the robot manipulator such that the sliding manifold has a relative degree of one with respect to the control input. Therefore, the sliding manifold is advantageously configured to adapt the hard/soft trajectory tracking error function according to the relative degree of the hard/soft trajectory tracking error function with respect to the control input to the robot manipulator. Because of this adaptability, the sliding manifold can be directly controlled for trajectory tracking in hard/soft degrees of freedom of the component for the task regardless of the relative degree of the hard/soft trajectory tracking error function with respect to the control input to the robot manipulator.
In various embodiments, the hard constraint function is configured to determine the hard constraint control set such that for the above-mentioned each hard constraint degree of freedom for the task, the hard trajectory tracking error function associated with the hard constraint degree of freedom produces a value of zero for all candidate control inputs in the hard constraint control set. In various embodiments, similarly, the soft constraint function is configured to determine the soft constraint control set such that for the above-mentioned each soft constraint degree of freedom for the task, the soft trajectory tracking error function associated with the soft constraint degree of freedom produces a value of zero for all candidate control inputs in the soft constraint control set. In this regard, it will be appreciated by a person skilled in the art that the hard/soft trajectory tracking error function may be subjected to an error bias, such as caused by the input disturbance and the initial value of the hard/soft trajectory tracking error function.
In various embodiments, the hard constraint function comprises a first parameter, a second parameter and a third parameter. In this regard, the first and second parameters are each configured based on the control model for the robot manipulator, the hard trajectory tracking error function associated with the above-mentioned each hard constraint degree of freedom for the task and the control mode of the robot manipulator and the third parameter is configured based on the sliding manifold associated with the above-mentioned each hard constraint degree of freedom for the task.
In various embodiments, the soft constraint function comprises a first parameter, a second parameter and a third parameter. In this regard, the first and second parameters are each configured based on the control model for the robot manipulator, the soft trajectory tracking error function associated with the above-mentioned each soft constraint degree of freedom for the task and the control mode of the robot manipulator and the third parameter is configured based on the sliding manifold associated with the above-mentioned each soft constraint degree of freedom for the task.
In various embodiments, the hard constraint function is configured to determine the hard constraint control set such that for each candidate control input in the hard constraint control set, the first parameter multiplied by the candidate control input plus the second parameter and the third parameter equals to zero. In various embodiments, similarly, the soft constraint function is configured to determine the soft constraint control set such that for each candidate control input in the soft constraint control set, the first parameter multiplied by the candidate control input plus the second parameter and the third parameter equals to zero.
In various embodiments, the degree of freedom classification information for the task indicating the constraint type in trajectory tracking for each of the plurality of degrees of freedom of the component for the task is with respect to a plurality of degrees of freedom of a task frame defined for the task.
In various embodiments, the plurality of degrees of freedom of the component comprises six degrees of freedom.
In various embodiments, the above-mentioned performing control input optimization comprises selecting a first candidate control input from an intersection of the safety control set and the hard constraint control set that has a minimum distance to the soft constraint control set. As a result, trajectory tracking in the soft degree(s) of freedom of the component for the task is ensured as long as it is achievable, thus achieving full task consistency. Otherwise, the trajectory tracking error in the soft degree(s) of freedom is minimized. Therefore, full task consistency is ensured as long as it is achievable, while guaranteeing human safety and primary task consistency.
In various embodiments, the above-mentioned performing control input optimization further comprises selecting a second candidate control input from an intersection of the safety control set and the hard constraint control set such that the second candidate control input has a same distance to the soft constraint control set as the first candidate control input and minimizes joint position deviation of the robot manipulator from an initial joint position thereof. Accordingly, in the case there is at least one redundant (e.g., free) degree of freedom of the component for the task, the motion of the robot manipulator is advantageously stabilized to avoid undesirable or unexpected behavior.
In various embodiments, the control input for controlling the robot manipulator is set as the first candidate control input based on determining that the component has no redundant (e.g., free) degree of freedom. In various embodiments, the control input for controlling the robot manipulator is set as the second candidate control input based on determining that the component has at least one redundant (e.g., free) degree of freedom.
In various embodiments, the method 200 further comprises converting the control input for controlling the robot manipulator to a joint-position control input based on determining that the robot manipulator has a joint-position control mode (i.e., operates in a joint-position control mode). For example, the control input may have been a joint-velocity control input, a joint-acceleration control input or a joint-torque control input.
In various embodiments, the above-mentioned component of robot manipulator is an end effector.
As described hereinbefore, the safety control function is dependent on the current state of the robot manipulator and the current state of the one or more humans and is configured to determine the safety control set: based on a control model for the robot manipulator that is dependent on the current state of the robot manipulator, the control input to the robot manipulator and a disturbance input to the robot manipulator (e.g., caused by the one or more selected parts of the one or more humans), and is configured in a control affine form based on a control mode of the robot manipulator, and for each part pair of one or more part pairs of a selected part of the one or more selected parts of the robot manipulator and a selected part of the one or more selected parts of the one or more humans: based on a safety distance function associated with the part pair that is dependent on the current state of the robot manipulator and the current state of the one or more humans and corresponds to a control barrier function, and based on a sliding manifold associated with the part pair configured based on the safety distance function associated with the part pair and a relative degree of the safety distance function with respect to the control input to the robot manipulator.
It will be appreciated by a person skilled in the art that the at least one processor 304 may be configured to perform various functions or operations through set(s) of instructions (e.g., software modules) executable by the at least one processor 304 to perform various functions or operations. Accordingly, as shown in
It will be appreciated by a person skilled in the art that the above-mentioned modules are not necessarily separate modules, and two or more modules may be realized by or implemented as one functional module (e.g., a circuit or a software program) as desired or as appropriate without deviating from the scope of the present invention. For example, two or more modules, such as the information obtaining module 306, the safety control set determining module 308, the hard constraint control set determining module 310, the soft constraint control set determining module 312 and the control input optimization module 314, may be realized (e.g., compiled together) as one executable software program (e.g., software application or simply referred to as an “app”), which for example may be stored in the at least one memory 302 and executable by the at least one processor 304 to perform various functions/operations as described herein according to various embodiments of the present invention.
In various embodiments, the controller system 300 for controlling a robot manipulator corresponds to the method 200 of controlling a robot manipulator as described hereinbefore with reference to
For example, in various embodiments, the at least one memory 302 may have stored therein the information obtaining module 306, the safety control set determining module 308, the hard constraint control set determining module 310, the soft constraint control set determining module 312 and/or the control input optimization module 314, which respectively correspond to various steps (or operations or functions) of the method 200 of controlling a robot manipulator as described herein according to various embodiments, which are executable by the at least one processor 304 to perform the corresponding functions or operations as described herein.
A computing system, a controller, a microcontroller or any other system providing a processing capability may be provided according to various embodiments in the present disclosure. Such a system may be taken to include one or more processors and one or more computer-readable storage mediums. For example, the controller system 300 for controlling a robot manipulator described hereinbefore may include at least one processor (or controller) 304 and at least one computer-readable storage medium (or memory) 302 which are for example used in various processing carried out therein as described herein. A memory or computer-readable storage medium used in various embodiments may be a volatile memory, for example a DRAM (Dynamic Random Access Memory) or a non-volatile memory, for example a PROM (Programmable Read Only Memory), an EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), or a flash memory, e.g., a floating gate memory, a charge trapping memory, an MRAM (Magnetoresistive Random Access Memory) or a PCRAM (Phase Change Random Access Memory).
In various embodiments, a “circuit” may be understood as any kind of a logic implementing entity, which may be special purpose circuitry or a processor executing software stored in a memory, firmware, or any combination thereof. Thus, in an embodiment, a “circuit” may be a hard-wired logic circuit or a programmable logic circuit such as a programmable processor, e.g., a microprocessor (e.g., a Complex Instruction Set Computer (CISC) processor or a Reduced Instruction Set Computer (RISC) processor). A “circuit” may also be a processor executing software, e.g., any kind of computer program, e.g., a computer program using a virtual machine code, e.g., Java. Any other kind of implementation of the respective functions may also be understood as a “circuit” in accordance with various embodiments. Similarly, a “module” may be a portion of a system according to various embodiments and may encompass a “circuit” as described above, or may be understood to be any kind of a logic-implementing entity.
Some portions of the present disclosure are explicitly or implicitly presented in terms of algorithms and functional or symbolic representations of operations on data within a computer memory. These algorithmic descriptions and functional or symbolic representations are the means used by those skilled in the data processing arts to convey most effectively the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities, such as electrical, magnetic or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated.
Unless specifically stated otherwise, and as apparent from the following, it will be appreciated that throughout the present specification, description or discussions utilizing terms such as “controlling”, “obtaining”, “determining”, “performing”, “optimizing”, “selecting”, “converting” or the like, refer to the actions and processes of a computer system, or similar electronic device, that manipulates and transforms data represented as physical quantities within the computer system into other data similarly represented as physical quantities within the computer system or other information storage, transmission or display devices.
The present specification also discloses a system (e.g., which may also be embodied as a device or an apparatus), such as the controller system 300 for controlling a robot manipulator, for performing various operations/functions of various methods described herein. Such a system may be specially constructed for the required purposes, or may comprise a general purpose computer or other device selectively activated or reconfigured by a computer program stored in the computer. The algorithms presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose machines may be used with computer programs in accordance with the teachings herein. Alternatively, the construction of more specialized apparatus to perform various method steps may be appropriate.
In addition, the present specification also at least implicitly discloses a computer program or software/functional module, in that it would be apparent to the person skilled in the art that individual steps of various methods described herein may be put into effect by computer code. The computer program is not intended to be limited to any particular programming language and implementation thereof. It will be appreciated that a variety of programming languages and coding thereof may be used to implement the teachings of the disclosure contained herein. Moreover, the computer program is not intended to be limited to any particular control flow. There are many other variants of the computer program, which can use different control flows without departing from the scope of the invention. It will be appreciated by a person skilled in the art that various modules described herein (e.g., the information obtaining module 306, the safety control set determining module 308, the hard constraint control set determining module 310, the soft constraint control set determining module 312 and/or the control input optimization module 314) may be software module(s) realized by computer program(s) or set(s) of instructions executable by a computer processor to perform the required functions, or may be hardware module(s) being functional hardware unit(s) designed to perform the required functions. It will also be appreciated that a combination of hardware and software modules may be implemented.
Furthermore, one or more of the steps of a computer program/module or method described herein may be performed in parallel rather than sequentially. Such a computer program may be stored on any computer readable medium. The computer readable medium may include storage devices such as magnetic or optical disks, memory chips, or other storage devices suitable for interfacing with a computer. The computer program when loaded and executed on such the computer effectively results in a system or an apparatus that implements various steps of methods described herein.
In various embodiments, there is provided a computer program product, embodied in one or more computer-readable storage mediums (non-transitory computer-readable storage medium(s)), comprising instructions (e.g., the information obtaining module 306, the safety control set determining module 308, the hard constraint control set determining module 310, the soft constraint control set determining module 312 and/or the control input optimization module 314) executable by one or more computer processors to perform the method 200 of controlling a robot manipulator, as described herein with reference to
Software or functional modules described herein may also be implemented as hardware modules. More particularly, in the hardware sense, a module is a functional hardware unit designed for use with other components or modules. For example, a module may be implemented using discrete electronic components, or it can form a portion of an entire electronic circuit such as an Application Specific Integrated Circuit (ASIC). Numerous other possibilities exist. Those skilled in the art will appreciate that the software or functional module(s) described herein can also be implemented as a combination of hardware and software modules.
In various embodiments, the controller system 300 for controlling a robot manipulator may be realized by any computer system (e.g., desktop or portable computer system) including at least one processor and at least one memory, such as an example computer system 400 as schematically shown in
It will be appreciated by a person skilled in the art that the present invention is not limited to any particular type of robot manipulator 502 as long as the robot manipulator 502 can be controlled by the controller system 300 to operate in the shared workspace 504 with one or more humans 506 according to various embodiments of the present invention. Similarly, it will be appreciated by a person skilled in the art that the present invention is not limited to any particular type of sensor system 508 as long as the human state information indicating the current state of the one or more humans 506 as described according to various embodiments of the present invention can be obtained based on the sensor data generated. Furthermore, it will be appreciated by a person skilled in the art that the controller system 300 may be communicatively coupled or couplable to the robot manipulator 502 and/or the sensor system 508 based on communication protocols or technologies known in the art, including wired and/or wireless communication networks, such as but not limited to, Ethernet, cellular or mobile communication network (e.g., 3G, 4G, 5G or higher generation mobile communication network), Wi-Fi, Bluetooth, wired or wireless sensor network, wired or wireless personal or local area network and so on. Still further, in various embodiments, the controller system 300 may be integrated in the robot manipulator 502 (e.g., instead of being separate as shown in
It will be appreciated by a person skilled in the art that the terminology used herein is for the purpose of describing various embodiments only and is not intended to be limiting of the present invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Any reference to an element or a feature herein using a designation such as “first”, “second” and so forth does not limit the quantity or order of such elements or features, unless stated or the context requires otherwise. For example, such designations may be used herein as a convenient way of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not necessarily mean that only two elements can be employed, or that the first element must precede the second element. In addition, a phrase referring to “at least one of” a list of items refers to any single item therein or any combination of two or more items therein.
In order that the present invention may be readily understood and put into practical effect, various example embodiments of the present invention will be described hereinafter by way of examples only and not limitations. It will be appreciated by a person skilled in the art that the present invention may, however, be embodied in various different forms or configurations and should not be construed as limited to the example embodiments set forth hereinafter. Rather, these example embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art.
In particular, for better understanding of the present invention and without limitation or loss of generality, various example embodiments of the present invention will now be described with respect to a method of controlling a robot manipulator for operating in a shared workspace with one human for clarity and conciseness. It will be understood by a person skilled in the art that the robot manipulator is not limited to operating in the shared workspace with one human and may interact with multiple humans in the shared workspace as desired or as appropriate without going beyond the scope of the present invention.
Human-robot interaction (HRI) enables the combination of complementary abilities of humans and robots, thereby promoting efficient manufacturing. However, as discussed in the background, conventional control methods for robot manipulators for HRI suffer from one or more problems, namely, human safety problem, task consistency problem and different control modes compatibility problem, which hinder the practical application of HRI in manufacturing scenarios. In particular, various conventional control methods for HRI still suffer from problems including:
Accordingly, various example embodiments of the present invention provide a method of controlling a robot manipulator for operating in a shared workspace with a human and a controller system thereof, that seek to overcome, or at least ameliorate, one or more deficiencies in conventional methods and systems for controlling a robot manipulator, and more particularly, providing an improved method and system for controlling a robot manipulator that seek to simultaneously address or achieve human safety, task consistency and different control modes compatibility.
In this regard, according to various example embodiments, a universal control method or framework with guaranteed human safety and hierarchical task consistency is provided. The framework is universal as it can adapt to different types of control modes of commercial robots (or more specifically, robot manipulators), for example, position-input control mode (or joint-position control mode), velocity-input control mode (or joint-velocity control mode), acceleration-input mode (or joint-acceleration control mode) and torque-input mode (or joint-torque control mode). For example, as discussed in the background, commercial robot manipulators in the current market have different types of control modes. However, the majority of existing control methods for HRI is configured for a specific type of control mode and cannot adapt to other types of control modes, such as being configured only for joint-velocity control mode, being configured only for joint-acceleration control mode or being configured only for joint-torque control mode. In contrast, various example embodiments of the present invention advantageously provide a universal control method or framework for controlling robot manipulators that is adaptive to, or compatible with, different types of control modes.
Various example embodiments further introduce a sliding mode control barrier function (SMCBF) that uses a sliding mode to advantageously deal with different types of control modes and reject input disturbance, so that human safety can be guaranteed by keeping a set of control barrier functions positive. In this regard, in various example embodiments, the human-robot distance is explicitly formulated (e.g., corresponding to the safety distance function as described hereinbefore according to various embodiments) and a sliding manifold is defined to keep the distance above a safe value regardless of different control modes in the presence of input disturbance (e.g., caused by the human operating in the shared workspace).
In addition, various example embodiments provide hierarchical task consistency based on defining hard constraint(s) and soft constraint(s) in trajectory tracking systematically. In particular, the hard constraint(s) are provided to ensure primary task consistency that keeps the task resumable, while the soft constraint(s) together with the hard constraint(s) are provided to ensure full task consistency as long as it is achievable. Control input optimizations are then employed to ensure full task consistency whenever possible while guaranteeing human safety and primary task consistency. Accordingly, task consistency is satisfied hierarchically by defining hard and soft constraints in a systematic way and using optimization techniques. As a result, when the human (e.g., hand(s) thereof) approaches the robot manipulator, the robot manipulator conducts an evasive motion while keeping the task resumable, and when the human (e.g., hand(s) thereof) retracts, the robot manipulator resumes its task automatically.
Accordingly, various example embodiments of the present invention advantageously provide a universal control method or framework for controlling robot manipulators (e.g., commercial robot manipulators) that is adaptable to, or compatible with, various different types of control modes while simultaneously addressing or solving two conflicting issues or problems of close HRI, namely, human safety and task consistency. Therefore, various example embodiments of the present invention advantageously solve a technical challenge of providing a universal control framework that ensures human safety and task consistency during HRI. For example, the control method avoids collision with human while considering constraints of the robot manipulator's task, thereby achieving safe and efficient HRI.
For better understanding, three main contributions associated with the universal control method will now be described in further details below according to various example embodiments of the present invention.
Firstly, a SMCBF is provided according to various example embodiments of the present invention to ensure human safety, which is an inequality-based control objective. Various example embodiments note that traditional sliding mode control (SMC) can deal with different relative degrees and reject disturbance but cannot deal with inequality-based objectives. Meanwhile, various example embodiments further note that traditional CBF is dedicated to inequality-based control objectives, but it is required to be of relative degree one with respect to the control input, which means that it may only apply to joint-velocity control mode and is not adaptive to other types of control modes. Exponential CBF and high order CBF are capable of different relative degrees, but they do not consider disturbance. In contrast, the SMCBF according to various example embodiments combines the advantages of SMC and CBF and addresses the above-mentioned problems, namely, human safety problem, task consistency problem and different control modes compatibility problem. In this regard, various example embodiments advantageously use a sliding manifold to formulate a robust control term that rejects disturbance while constraining the state of the robot manipulator on the safe side of a sliding surface, thereby guaranteeing inequality-based control objectives (e.g., human safety) regardless of disturbance and different relative degrees.
According to various example embodiments, in SMC, a sliding manifold is constructed according to the relative degree of the control objective, so that the control system can track the desired value regardless of its relative degree and external disturbance as long as the state is on the sliding manifold. In CBF, a barrier of the control objective is defined, and the control objective can be constrained within the barrier as long as the control input is within an admissible control set. The control system is required to be of relative degree one with respect to the control input. In this regard, various example embodiments advantageously combine and define the SMC and CBF to produce a SMCBF for ensuring human safety while being adaptable or compatible to different types of control modes. In particular, a sliding manifold is constructed to modify or convert the CBF (e.g., corresponding to the safety distance function as described hereinbefore according to various embodiments) into a SMCBF and provides a safety control set that can constrain the state of the robot manipulator on the sliding manifold in presence of input disturbance. As a result, the control system, regardless of its relative degree, is constrained within the barrier as long as the state of the robot manipulator is on the sliding manifold. Therefore, according to various example embodiments, human safety can be guaranteed by defining a set of uniform SMCBFs (e.g., one respective SMCBF for each part pair of a selected part of the robot manipulator and a selected part of the human) regardless of robot control modes (e.g., regardless of a joint-position control mode, a joint-velocity control mode, a joint-acceleration control mode or a joint-torque control mode).
Secondly, hierarchical task consistency is introduced according to various example embodiments of the present invention to prevent task failure. In this regard, in various example embodiments, the robot manipulator's task is decomposed into a plurality of degrees of freedom (DOFs) (e.g., six DOFs) of a user-defined Cartesian task frame so that hard constraint(s) and soft constraint(s) can be extracted systematically. The hard constraint(s) ensures primary task consistency that keeps the task resumable, while the soft constraint (together with the hard constraint) ensures full task consistency. Referring back to the example task shown in
Accordingly, various example embodiments advantageously provide soft constraint(s) in trajectory tracking in one or more DOFs that can be relaxed for human safety. Various example embodiments further advantageously provide a task frame to facilitate the definitions of the hard and soft constraints and which may be defined or selected by a user based on the nature of the task and can be time-varying. As a result, the definitions of the hard and soft constraints can be more flexible. For example, more complicated robot tasks can be handled. By way of an example only and without limitation, for Skill II (Gripping) as discussed later below with reference to
Finally, control input optimizations are configured according to various example embodiments to ensure full task consistency whenever possible while guaranteeing human safety and primary task consistency. For example, in various conventional control methods, the states (i.e., enforced/relaxed) of constraints may be determined by comparing a danger criterion with empirically selected thresholds. Therefore, conventionally, full task consistency depends on the empirically selected thresholds. Furthermore, the control law switches with the states of the constraints, resulting in discontinuous control input and jerky robot motion. In contrast, in the control method according to various example embodiments, the state of the soft constraint is solved automatically in the control input optimizations, so that full task consistency can be achieved whenever possible. In various example embodiments, primary task consistency is guaranteed together with human safety and full task consistency is sought using all DOFs of the robot manipulator while guaranteeing primary task consistency and human safety. Furthermore, in various example embodiments, the control input to the robot manipulator is continuous so the robot manipulator's motion is smooth.
Accordingly, various advantages of the universal control method or framework may include:
Accordingly, various example embodiments of the present invention advantageously provide a universal control method or framework that simultaneously addresses the above mentioned three problems or issues. In various example embodiments, a minimum (or shortest) human-robot distance is formulated as a function of human and robot states, and a function (i.e., a CBF, e.g., corresponding to the safety distance function as described hereinbefore according to various embodiments) is defined as a difference between the minimum distance and a predetermined safe distance. In addition, a sliding manifold for human safety is defined based on the above-mentioned function and its time derivative according to the control mode of the robot manipulator, such that the above-mentioned function is positive on the sliding manifold. Thereafter, a safety control set to achieve the sliding manifold is formulated. Therefore, according to various example embodiments, the above-mentioned function is advantageously subjected to, or modified by, the sliding manifold to introduce a sliding mode, and such the modified function may thus be referred to as a sliding mode CBF (SMCBF). Next, various example embodiments advantageously introduce hierarchical task consistency, whereby task consistency can be partially satisfied, that is, satisfied hierarchically (hard constraint(s) ensures primary task consistency while soft constraint(s) (together with hard constraint(s) ensures full task consistency as long as it is achievable). In various example embodiments, control input optimizations are utilized to ensure full task consistency whenever possible while guaranteeing human safety and primary task consistency.
To demonstrate the effectiveness of the control method or framework according to various example embodiments of the present invention, experiments and simulations were conducted to validate the control method according to various example embodiments with comparisons to conventional or existing methods, and results thereof will be discussed later below.
Robot control models corresponding to a number of example different types of robot control modes will now be described according to various example embodiments of the present invention, namely, a joint-position control mode, a joint-velocity control mode, a joint-acceleration control mode and a joint-torque control mode.
e. The position and orientation of
e are pe∈
3 and Re=[xe, ye, ze]∈SO(3) (3D rotation group), respectively, where pe locates at the tool center point (TCP) of the end effector, and xe, ye, and ze are three orthonormal bases. The following example different types of control modes of the robot manipulator are considered according to various example embodiments of the present invention.
n→
3 and fR:
n→SO(3) are continuously differentiable forward kinematic mappings, up is the control input of joint positions and ũp is the input disturbance (e.g., caused by the human operating in the shared workspace).
3 is the angular velocity of end effector, Jv(q) and Jω(q) are linear and angular Jacobian matrices, respectively, uv∈
n is the control input of joint velocities and ũv is the input disturbance.
n is the control input of joint accelerations and ũa is the input disturbance.
n×n is the symmetric and positive definite inertia matrix, C(q, {dot over (q)}){dot over (q)} is the Coriolis and centrifugal vector, G(q) is the gravity vector, uτ∈
n is the control input of joint torques and ũτ is the input disturbance.
For example, for a commercial robot manipulator, the control inputs are bounded, which means u⋅∈⋅
{u⋅∈
n|u⋅,min≤u⋅≤u⋅,max} where ⋅∈{v, a, τ} and u⋅,min and u⋅,max are known constants. Furthermore, the commercial robot manipulator usually has, or it is assumed to have, an embedded controller to make the state (e.g., position, velocity, acceleration or torque) of each joint of the robot manipulator track the control input. Therefore, various example embodiments provide the following bounded-disturbance assumption: the input disturbances are bounded as: ũ⋅∈{ũ⋅∈
n|∥ũ⋅∥≤ū⋅}, where ⋅∈{p, v, a, τ}, and ū⋅ is known constants. Furthermore, various example embodiments advantageously unify the control models in Modes II, III and IV into the control affine form {dot over (x)}=f(x)+g(x)(u+ũ), where x∈
n
n
n
is the control input, and ũ∈
n is the input disturbance. According to various example embodiments, for the control affine form, in Mode II, x=q, f=0n×1, g=In, u=uv, ũ=ũv, and
=
v. In Mode III, x=[1T, {dot over (q)}T]T, f=[{dot over (q)}T, 0n×1T]T, g=[0n×nT, InT]T, u=ua, ũ=ũa, and
=
a. In Mode IV, x=[qT, {dot over (q)}T]T, f=[{dot over (q)}T, (−M−1(C{dot over (q)}+G))T]T, g=[0n×nT, (M−1)T]T, u=uτ, ũ=ũτ, and
=
τ. Therefore, the universal control method or framework according to various example embodiments is advantageously developed or configured based on the above-mentioned control affine form, so that the control method can adapt to multiple control modes, such as the above-mentioned three example different types of control modes, namely, Modes II, III and IV.
Various example embodiments note that the robot manipulator in Mode I is a zero-order system and thus cannot be written in the control affine form. However, as will be described later below, the universal control method can work as a real-time motion planner to generate the joint position command up for the robot manipulator in Mode I. Therefore, the universal control method can adapt to, or is compatible with, all of the above-mentioned four robot control modes.
A SMCBF that uses a sliding manifold to deal with different relative degrees and reject disturbance will firstly be introduced below according to various example embodiments of the present invention. Then, a set of SMCBFs, each of which is based on the minimal distance between a selected part of the human and a selected part or link of the robot manipulator, are formulated to represent human safety (e.g., corresponding to the part pair as described hereinbefore according to various embodiments).
For better understanding, the preliminaries of SMCBF will now be described according to various example embodiments of the present invention. According to various example embodiments, a smooth function h(x, β) dependent on the robot state x and a set of continuously differentiable parameters β(t) representing the human state are utilized to define the safety of HRI, that is, h(x, β)≥0 means that the robot state x is safe for the human, and h(x, β)<0 means that the robot state x is unsafe for the human. The human state may be represented by β(t)=[ph,1T, . . . , ph,n3n
3, where
k represents the set of k times continuously differentiable functions. Therefore, given the parameter β(t), the set of the safe robot states
can be defined as
(t)={x∈
n
regardless of the disturbance ũ.
Based on traditional CBF, the above-mentioned function h can be controlled to be positive when the relative degree (r) of h with respect to the control input u is r=1, i.e., gh≠0. However, various example embodiments note that the function h cannot be controlled directly when r≥2. According to various example embodiments, to address this technical problem, instead of constraining h≥0 directly, the function h is subjected to, or modified by, a sliding manifold to introduce a sliding mode and such a modified function may be referred to as a SMCBF. In various example embodiments, the SMCBF enforces the sliding manifold sh: sh=(d/dt+λ)r−1h=Σk=0r−1Ckr−1λr−1−kh(k)≥0, where r is the relative degree of h (i.e.,
g
fih=0 for ∀i∈{0, 1, . . . , r−2}, and
g
fr−1h≠0), λ is a positive constant, Ckn=n!/(k!(n−k)!), and h(k) represents k-th time derivative of h. As a result, the relative degree of sh with respect to the control input u is always one, so it can advantageously be controlled directly according to various example embodiments.
In SMC, h=0 is achieved automatically when the robot state is on the sliding manifold, i.e., sh=0. Similarly, in SMCBF, h≥0 is achieved when the robot state is on the sliding manifold sh>0. According to various example embodiments, the SMCBF may be defined as follows: consider the control affine system, given the safe set (t) and continuous parameters β(t), a
r function h: (
n
3n
is called an SMCBF if there exist positive constants λ and ϵh, and ϕh(t)≥|
g
fr−1hũ| for ∀t≥0, such that, for ∀x∈
, supu∈
g
fr−1h, ah=
frh+Σk=0r−1Ckrλr−kh(k) and āh=ϕhtanh (ϕhsh/ϵh) is a robust control term.
⋅h=∂h/∂x⋅⋅ is Lie derivative,
⋅rh is determined recursively, and
frh=[∂/∂β·β(1)+ . . . +∂/∂βr−1)·β(r)+
f]rh. ϕh(t) represents the upper bound of the effect of the input disturbance ũ to the function h and is utilized to formulate ah. According to various example embodiments, the robust control term āh uses continuous function tanh(⋅) to ensure the smoothness of the final control law.
Accordingly, once an SMCBF is defined, the set of admissible control inputs (e.g., corresponding to the safety control set as described hereinbefore according to various embodiments) can be determined as h={u∈
h|Ahu+ah+āh≥0} (e.g., corresponding to the safety control function as described hereinbefore according to various embodiments, whereby Ah, ah and āh correspond to the first parameter, the second parameter and the third parameter, respectively).
In various example embodiments, if a r function h is an SMCBF, then there exists ρ(t) exponentially converging to a ball with a size proportional to εh, such that any controller u:
n
h keeps the robot state x within a relaxed safe set
r, that is,
r={x∈
n
Different from SMC which is used for equality-based control objectives such as trajectory tracking, the SMCBF according to various example embodiments is designed to achieve inequality-based objectives such as human safety. For illustration purposes,
Accordingly, various example embodiments advantageously combine the SMC and CBF to produce a SMCBF for ensuring human safety while being adaptable or compatible to different types of control modes. In particular, a sliding manifold is constructed to modify or convert the CBF into a SMCBF and provides a safety control set that can constrain the state of the robot manipulator on the sliding manifold in presence of input disturbance. Therefore, according to various example embodiments, a safety control set may be produced based on the SMCBF as follows: 1) formulate a function h(x, β) (control barrier function) to represent human safety; 2) define a sliding manifold sh>0 based on the relative degree r of h; 3) generate an admissible control set (safety control set) that enforces the sliding manifold sh≥0; and 4) sh≥0 leads to h≥0, thereby guaranteeing human safety.
A set of SMCBFs (e.g., one respective SMCBF for each part pair of a selected part of the robot manipulator and a selected part of the human) may be formulated for ensuring human safety. Consider an example HRI scenario shown in i⊂
3 centered at ph,i, and the radius of
i is rh,i. The robot manipulator may be modeled by nr links pr,j−1pr,j with j∈{1,2, . . . , nr}. Each link pr,j−1p,j may be enveloped by a capsule
j⊂
3 with radius rr,j. By way of an illustrative example only and without limitation, nh=10 and nr=7 for the example shown in
i∩
j=Ø for ∀i∈{1, 2, . . . , nh} and ∀j∈{1, 2, . . . , nr}.
Considering a combination of i and j (i.e., a part pair of a selected part (i) of the robot manipulator and a selected part (j) of the human), the minimum (or shortest) distance between the point ph,i and the line-segment pr,j−1pr,j is di,j(x, β)=fd(ph,i(β), Pr,j−1(x), pr,j−1(x)), where fd: (3,
3,
3)→
is a function that gives the minimum distance between a point and a line-segment. Thus, according to various example embodiments, the following function is an SMCBF: hi,j(x, β)=di,j(x, β)−ds, where ds=rh,i+rr,j is a constant safe distance. The corresponding safety control set for hi,j is
i,j={u∈
|Ai,ju+ai,j+āi,j≥0}, where āi,j=ϕi,jtanh(ϕi,jsi,j/εi,j) with εi,j being a constant, ϕi,j=∥Ai,j∥ū⋅ with ⋅=v, a, and τ in Modes II, III, and IV, respectively, and Ai,j, ai,j, and sliding manifold si,j depend on the relative degree ri,j. In Mode II, ri,j=1, so Ai,j=
ghi,j, ai,j=
fhi,j+λhi,j, and si,j=hi,j. In Modes III and IV, ri,j=2, so Ai,j=
g
fhi,j, ai,j=
f2hi,j+2λ{dot over (h)}i,j+λ2hi,j, and si,j={dot over (h)}i,j+λhi,j. The final safety control set for all combinations of i and j is
s={u∈
|Au+a≥0} where A=[A1,1T, . . . , An
n
n
s holds for ∀t≥0:
s={x∈
n
n
n
In various example embodiments, for example, the above ρi,j(t) may be determined as follows: ρi,j(t)=−S(hi,j(0))e−λ
Therefore, according to various example embodiments, the safety control set s may be determined as follows: 1) define the protected/selected parts of the human using multiple spheres
i and the protected/selected parts of the robot using multiple capsules
j; 2) formulate the minimal distance di,j between a sphere
i and a capsule
j based on the human state.x and the robot state β; 3) formulate an SMCBF (e.g., corresponding to the safety distance function as described hereinbefore according to various embodiments) as the difference between the minimum distance di,j and the safe distance ds; 4) define a sliding manifold using the SMCBF and its time derivative such that the SMCBF is kept positive on the sliding manifold; and 5) determine the safety control set comprising a set of control inputs that leads to the sliding manifold.
A technique for defining a Cartesian task frame and classifying its six DOFs, based on which the hard and soft constraints ensuring primary and full task consistency are formulated, will now be described according to various example embodiments of the present invention. The task of picking a cup with water using an end effector in the form of a two-finger gripper as shown in
A task for a robot manipulator may include a sequence of actions which may be referred to as skills (or sub-tasks). For example, as shown in
In various example embodiments, each of the skills is defined by the desired trajectory of the end effector represented by a frame d(t)∈
r
d(t) are denoted as pd(t) and Rd(t), respectively. For example, when the human is far from the robot, full task consistency can be achieved, which means
d(t) can be well tracked and the task can be completed with success. However, in the case of close HRI, the end effector may have to deviate from its desired trajectory to avoid collision with the human.
By way of an illustrative example and without limitation, for the example task shown in e should be prevented to avoid collision between the gripper's fingers and the cup; 3) In Skill III (
t(t)∈
r
t(t) is used to facilitate the definitions of the constraints and may be defined or selected by a user based on the nature of each skill (or sub-task) and can be time-varying. For example, in Skill III, the task frame
t may be fixed with respect to the world frame
w; while in Skill II,
t(t) is fixed to
e(t) which is time-varying.
In various example embodiments, the task frame t has a plurality of DOFs corresponding to the plurality of DOFs of the end effector to perform the task, such as six DOFs: three of them are translational DOFs along x-, y-, and z-axes (namely, px, py, and pz) and the other three are rotational DOFs around the three axes (namely, rx, ry, and rz). According to various example embodiments, the trajectory tracking of end effector is decomposed into the six DOFs of
t. Further, the six DOFs are classified into the following three types.
Hard DOF(s): The trajectory tracking of end effector in hard DOF(s) (which may also be referred to as hard constraint DOF(s)) guarantees primary task consistency. Therefore, the trajectory deviation in hard DOF(s) breaks the resumability of the task and thus the primary task consistency. Considering Skill III (
Soft DOF(s): The trajectory deviation in soft DOF(s) (which may also be referred to as soft constraint DOF(s)) breaks full task consistency and suspends the task, but primary task consistency is unaffected. Considering Skill III as an example, for example, the trajectory deviation in px py, and pz suspends the task, but the task can be resumed after the end effector returns to its desired trajectory. Therefore, these DOFs may be defined as soft DOFs.
Free DOF(s): The trajectory tracking in free DOF(s) has no effect on the task. This means full task consistency is unaffected by trajectory deviation in free DOF(s). Considering Skill III as an example, for example, because the cup is axisymmetric, the rotation of the end effector about the z-axis does not matter. Therefore, rz can be defined as a free DOF. Although the desired trajectory in the free DOF(s) may be provided, it may simply ignored in the control framework. The free DOF(s) provides additional flexibility to achieve human safety without affecting the robot's task.
According to various example embodiments, a vector σt=[σpx, σpy, σpz, σrx, σry, σrz]T may be used to denote or define the classification of the six DOFs of t. For example, for ∀i∈{px, py, pz, rx, ry, rz}, σi=hard when i is a hard DOF, σi=soft when i is a soft DOF, and σi=free when i is a free DOF.
Hard and soft constraints are formulated or configured according to various example embodiments of the present invention. The trajectory tracking in hard DOF(s) is regarded as hard constraint and the trajectory tracking in soft DOF(s) is regarded as soft constraint. Therefore, in various example embodiments, primary task consistency is ensured by enforcing the hard constraint, while full task consistency is ensured by enforcing both hard and soft constraints. To represent the hard and soft constraints, in various example embodiments, a vectorte(t)=[tep(t), teo(t)]∈6 may be used to denote the trajectory-tracking errors in the six DOFs of
t, where tep∈
3 and teo∈
3 are the position and orientation errors, respectively. The position error can be obtained as tep(t)=RtT(t)ep(t) where ep=pe−pd∈
3. A unit quaternion {ηed, ϵed} is extracted from the rotation matrix Red=ReRdT. After that, the orientation error may be defined as: teo(t)=RtT(t)ϵed(t). ep(t)=pe−pd is the position error of
e with respect to
d represented in the world frame, and similarly ϵed(t) is the orientation error. Rt(t) is the orientation of the task frame
t, and RtT(t) is its transpose. Accordingly, left multiplying ep(t) by RtT(t) converts the position error into the task frame. Therefore, tep(t) is the position error in the task frame, and similarly teo(t) is the orientation error in the task frame.
With te, the hard and soft constraints can be formulated as tehard=0 with the hard-constraint error tehard=Nhardte and tesoft=0 with the soft-constraint error tesoft=Nsoftte, respectively. Nhard∈n
n
For better understanding, an example of constraint formulation will now be described according to various example embodiments of the present invention. The constraints of a task depend on the task frame t and its DOF classification σt. The design or configuration of
t and σt is specified with reference to the example task of
In Skill I, the position pt of the task frame t may be fixed at point A, while the orientation Rt depends on the position of end effector: the z-axis of
t is aligned with that of
w, i.e., zt=zw; the y-axis is perpendicular to the connecting line between the EE and point A, i.e., yt=yc/∥yc∥ where yc=zt×(pA−pe); then, the x-axis is determined as xt=yt×zt. By setting σt=[soft, soft, hard, hard, hard, hard]T and letting Rd=Rt, the end effector of the robot is allowed to escape in a horizontal plane while keeping the gripper's opening pointing at the cup.
In Skill II, d may be fixed at point A with the z-axis zd=zw, and a time-varying task frame
t(t) coinciding with the end effector frame
e is selected. The DOF classification is σt=[soft, hard, hard, hard, hard, free]T, which constrains the end effector's motion to be along the x-axis of
e. Because σrz is free, the end effector can escape in a horizontal plane. The gripper closes gradually only when the end effector stands still at point A; otherwise, the gripper opens. The skill finishes once a signal indicating successful gripping is received from the gripper.
In Skill III, the task frame t may be fixed at point B with zt=zw. The DOF classification is σt=[soft, soft, soft, hard, hard, free]T, allowing the EE to escape in the 3D space while keeping the gripper horizontal.
The generation of the hard constraint control set (hard) comprising a set of candidate control inputs with respect to hard constraint(s) in trajectory tracking in hard DOF(s), and the generation of the soft constraint control set (
soft) comprising a set of candidate control inputs with respect to soft constraint(s) in trajectory tracking in soft DOF(s) will now be described according to various example embodiments of the present invention.
Similar to the SMCBF (hi,j) described above, various example embodiments note that the hard constraint error tehard (i.e., hard trajectory tracking error function) and the soft constraint error (i.e., soft trajectory tracking error function) tesoft have different relative degrees in different robot control modes. To address this, various example embodiments utilize the SMC to tackle different types of control modes, such as the above-mentioned Modes II, III, and IV. First, a vector of sliding manifolds (tshard) is defined for the hard constraint(s) and a vector of sliding manifolds (tssoft) is defined for the soft constraint(s), each sliding manifold being defined for a corresponding hard or soft constraint. For example, according to various example embodiments, ts⋅ (where ⋅=hard or soft for hard or soft constraint, respectively) may be defined as follows: ts⋅=(d/dt+Ke,⋅)r−1 te⋅=Σk=0r−1Ckr−1Ke,⋅r−1Ke,⋅r−1−k te⋅(t), where Ke,⋅=diag([ke,1, . . . , ke,n⋅]T) is a positive-definite diagonal matrix, and r is the relative degree of te with respect to u. Therefore, tehard is a vector that collects the trajectory tracking error in each hard DOF and tshard is a vector with the same length as tehard, and each element of tshard corresponds to a sliding manifold for a corresponding hard DOF. Similarly, tesoft is a vector that collects the trajectory tracking error in each soft DOF and tssoft is a vector with the same length as tesoft, and each element of tssoft corresponds to a sliding manifold for a corresponding soft DOF. Accordingly, a trajectory tracking error function te is defined for each hard/soft constraint and a sliding manifold is defined based on the corresponding te for each hard/soft constraint. That is, for each hard constraint degree of freedom, a hard trajectory tracking error function tehard is defined for the hard DOF to represent a trajectory tracking error in the hard DOF. Similarly, for each soft constraint degree of freedom, a soft trajectory tracking error function tesoft is defined for the soft DOF to represent a trajectory tracking error in the soft DOF.
For example, in Mode II, r=1, so ts⋅=te⋅. In Modes III and IV, r=2, so ts⋅=ts⋅=tė⋅+K⋅te⋅. According to the theorem of SMC, the hard/soft constraint te⋅=0, can be achieved when the state is on the hard/soft sliding manifold ts⋅=0. Therefore, according to various example embodiments, to achieve the hard/soft sliding manifold ts⋅=0, the hard/soft control set is designed as follows: ⋅={u∈
|B⋅+b⋅+
gte⋅, b⋅=
fte⋅+Ke,⋅te⋅, and ts⋅=te⋅. In Modes III and IV, r=2, B⋅=
g
fte⋅, b⋅=
f2 te⋅+2Ke,⋅tė⇄Ke,⋅2 te, and ts⋅=tė⋅+Ke,⋅te. Here,
fi te⋅=[∂/∂t+
f]i te⋅ for i=1 or 2. Control input optimization may then be performed based on the safety control set (
s), the hard constraint control set (
hard) and the soft constraint control set (
soft) to determine the control input for controlling the robot manipulator.
First, task-space optimization may be performed according to various example embodiments. The task-space optimization comprises selecting a candidate control input (corresponding to the “first candidate control input” as described hereinbefore according to various embodiments) from an intersection of the safety control set and the hard constraint control set that has a minimum distance to the soft constraint control set. For example, the task-space optimization may be implemented as follows: u1=argminu dist(u, soft) subjects to u∈
s, and u∈
hard, where dist(u,
soft)=∥Bsoftu+bsoft∥2 represents the distance between the control u and control set
soft. For example, when the distance is zero, u1 is in the soft constraint control set, so the soft constraint is ensured. Otherwise, the distance is minimized based on the above cost function, so the trajectory tracking error of the soft constraint (trajectory tracking error in the soft constraint DOF) is also minimized. Accordingly, a first condition (u∈
s) guarantees human safety. Meanwhile, a second condition (u∈
hard) ensures trajectory tracking in hard DOFs, i.e., primary task consistency. Furthermore, the above cost function ensures u∈
soft as long as it is achievable. When it is achieved, trajectory tracking in the soft DOFs is ensured, and thus achieves full task consistency. Otherwise, when u∈
soft is not achievable, the deviation from the sliding manifold is minimized, advantageously resulting in minimized trajectory-tracking error in soft DOFs.
In addition, a joint-space optimization may be performed according to various example embodiments based on determining that the end effector performing the task has at least one redundant (or free) DOF. For example, the robot manipulator may have redundant DOFs (i.e., n>nhard+nsoft) due to its inherent redundancy or according to the setting of free
DOFs for a task. On the one hand, the redundant DOFs provide flexibility for the task-space optimization to achieve guaranteed human safety and hierarchical task consistency. On the other hand, various example embodiments note that it introduces a null space orthogonal to the task space. To address this, various example embodiments stabilize the robot manipulator's motion in the null space to avoid undesired behavior. In this regard, according to various example embodiments, this is achieved by minimizing the deviation of the joint position q(t) from its initial value q(0), i.e., eq=q(t)−q(0).
In particular, according to various example embodiments, the joint-space optimization comprises selecting a candidate control input (corresponding to the “second candidate control input” as described hereinbefore according to various embodiments) from an intersection of the safety control set and the hard constraint control set such that the second candidate control input has a same distance to the soft constraint control set as the first candidate control input and minimizes joint position deviation of the robot manipulator from an initial joint position thereof.
For example, the joint-space optimization may be implemented as follows: u2=argminu dist(u, 0) subjects to u∈
s, u∈
hard, and Bsoftu=Bsoftu1. Here,
0={u∈
|Du+d≥0} consists of the control input that makes the joint position q(t) stay at its initial position q(0). In Mode II, D=In and d=Kqeq, where Kq is a positive definite diagonal matrix. In Mode III, D=In and d=2Kqėq+Kq2eq. In Mode IV, D=M−1 and d=−M−1(C{dot over (q)}+G)+2Kqėq+Kq2eq. Accordingly, the above cost function minimizes the distance between u2 and the control set
0. As a result, the robot manipulator's joint position is kept close to its initial position and the robot's motion in the null space is stabilized. The condition Bsoftu=Bsoftu1 maintains the distance to the soft control set (
soft), i.e., dist(u2,
soft)=dist(u1,
soft). The above two conditions (u∈
s, u∈
hard) inherit from the task-space optimization and the third condition (Bsoftu=Bsoftu1) ensures the optimal motion in soft DOFs solved by the joint-space optimization unaffected. Furthermore, the cost function renders the manipulator's motion repetitive, which means stabilized motion in the null space. Accordingly, when n>nhard+nsoft, there are multiple candidates of u1 fulfilling the task-space optimization. In this case, the joint-space optimization selects the one that is closest to
0, i.e., u2. Because
0 consists of a single control input, u2 is always unique. The third condition Bsoftu=Bsoftu1 maintains the distance to the soft control set, i.e., dist(u2,
soft)=dist(u1,
soft). When n=nhard+nsoft, the solution to the task-space optimization is unique. In this case, u1 is the only candidate fulfilling the constraints of the joint-space optimization, so u2=u1. Therefore, the final control law is u=u1 when n=nhard+nsoft, and u=u2 when n>nhard+nsoft.
For example, the user-defined/selected module 1204 allows a user to 1) define the protected/selected parts of the human and the robot; 2) select the control mode of the robot from a list of robot control modes; 3) define the desired trajectory d(t) of the end effector of the robot manipulator; and 4) define the task frame
t(t) and its DOF classification σt.
In various example embodiments, the pre-programmed module 1208 may be configured to generate or formulate a safety control set module 1209 (s(x,
hard(x, t) (e.g., corresponding to the hard constraint function) and a soft constraint control set module 1211
soft(x, t) (e.g., corresponding to the soft constraint function as described hereinbefore according to various embodiments). For example, the pre-programmed module 1208 may be executed before the robot manipulator begins operating to perform a task.
According to various example embodiments, the safety control set module 1209 may be configured to determine or produce the safety control set s as a function of the robot state x and the human state
i(β) and robot parts
j(x), and the control-affined model of the robot manipulator in the selected control mode, i.e., {dot over (x)}=f(x)+g(x)(u+ũ). For example, the human state is
s(x,
s according to various example embodiments of the present invention. First, the minimum distance di,j(x, β) between a protected/selected human part
i(β) and a protected/selected robot part
j(x) is formulated as a function of the human position β and the robot state x. Second, an SMCBF hi,j(x, β)=di,j(x, β)−ds (e.g., corresponding to the safety control function as described hereinbefore according to various embodiments) is formulated such that the collision between the protected human part
i and the protected robot part
j is avoided when the SMCBF hi,j is positive. Third, a sliding manifold si,j is defined using the SMCBF hi,j and its time derivative {dot over (h)}i,j, such that the SMCBF hi,j is kept positive on the sliding manifold si,j≥0. Finally, the safety control set module
s(x,
As shown in s(x,
→[−1, 1] is a unit
2 saturation function. Then, the Lie derivatives in Ai,j and ai,j are as follows. In Mode II,
ghi,j=
fhi,j=−
g
fhi,j=
f2hi,j=
g
fhi,j=
f2hi,j=−
According to various example embodiments, the hard constraint control set module hard(x, t) 1210 and the soft constraint control set module
soft(x, t) 1211 may be configured to determine or produce the hard constraint control set
hard and the soft constraint control set
soft as functions of the robot state.x using the desired trajectory
d(t), the task frame
t(t) with DOF classification σt, and the control-affined model of the robot in the selected control mode, i.e., {dot over (x)}=f(x)+g(x)(u+ũ). A frame (
(t)) may include a position (3D) and an orientation (3D). In this regard, various example embodiments use a frame to represent an object in a 3D space, such as the end effector of the robot manipulator. Then, the trajectory tracking of the object becomes to make the object's frame (e.g., end effector's frame
e(t)) coincides with a desired frame (
d(t)) for all time. Therefore, the desired frame (e.g.,
d(t)) may be used to represent the desired trajectory.
hard and the soft constraint control set
soft, respectively, according to various example embodiments of the present invention. First, the task-frame tracking error te(x, t) is formulated using the robot state x, the desired trajectory
d(t), and the task frame
t(t). Second, the hard-constraint error tehard(x, t)=Nhardte (e.g., corresponding to the hard trajectory tracking error function for each hard constraint DOF as described hereinbefore according to various embodiments) and the soft-constraint error tesoft(x, t)=Nsoftte (e.g., corresponding to the soft trajectory tracking error function for each soft constraint DOF as described hereinbefore according to various embodiments) are formulated using the task-frame tracking error te(x, t) and the DOF classification σt. Third, two sliding vectors of sliding manifolds tshard and tssoft are formulated based on the hard-and soft-constraint errors tehard and tesoft and their time derivatives tėhard and tėsoft, such that the hard- and soft-constraint errors are kept zero on the sliding manifolds tshard=0 and tssoft=0, respectively. Finally, the hard constraint control set module
hard(x, t) 1210 that leads to the sliding manifold tshard=0 and the soft constraint control set module
soft(x, t) 1211 that leads to the sliding manifold tssoft=0 are formulated.
As shown in ⋅(x, t) is based on B⋅(x,
g te⋅=N⋅[(
g tep)T, (
g teo)T]T with
g tep=RtTJv and
g teo=RtTEJω, and
f te⋅=N⋅[(
f tep)T, (
fteo)T]T with
ftep=−RtT{dot over (p)}d+{dot over (R)}tTep and
fteo=−RtTEωd+{dot over (R)}tTeo. In Mode III,
g
Lte⋅=N⋅[(
g,
ftep)T, (
g
fteo)T]T with
g
ftep=RtTJv and
g
fteo=RtTEJω, and
f2 te⋅=N⋅[(
f2 tep)T, (
f2 teo)T]T with
f2 tep=RtT({dot over (J)}v{dot over (q)}−{umlaut over (p)}d)+2{dot over (R)}tTėp+{umlaut over (R)}tTep and
f2 teo=RtT((E{dot over (J)}ω+ĖJω){dot over (q)}−(Ėωd))+2{dot over (R)}tTėo+{umlaut over (R)}tTeo. In Mode IV,
g
f te⋅=N⋅[(
g
f tep)T, (
g
L teo)T]T with
g
L tep=RtTJvM−1 and
g
L teo=RtTEJωM−1, and
f2 te⋅=N⋅[(
f2 tep)T, (
f2 teo)T]T with
f2 tep=RtT(−JvM−1(C{dot over (q)}+G)+{dot over (J)}v{dot over (q)}−{umlaut over (p)}d)+2{dot over (R)}tTėp+{umlaut over (R)}tTep and
f2 teo=RtT(−JωM−1(C{dot over (q)}+G)+(E{dot over (J)}ω+ĖJω){dot over (q)}−(E{dot over (ω)}d+Ėωd))+2{dot over (R)}tTėo+{umlaut over (R)}tTeo. Here, E=(ηedI3−[ϵed]×)/2 is a matrix based on the unit quaternion {ηed, ϵed}, where [ϵed]× is the skew-symmetric matrix extracted from ϵed such that ϵed×⋅=[ϵed]×⋅ for ∀⋅∈
3.
In various example embodiments, the safety control set module 1209, the hard constraint control set module 1210 and the soft constraint control set module 1211 formulated are stored in a computer readable storage medium 1212. The real-time implemented module 1216 may then be executed repeatedly or continuously in real-time to control the robot manipulator to operate in the shared workspace with the human.
The real-time implemented module 1216 may comprise a safety control set determining module 1218 configured to determine the safety control set s, a constraint control set determining module 1220 configured to determine the hard constraint control set
hard and the soft constraint control set
soft, and a control input optimization module 1222 configured to perform control input optimization based on the safety control set
s, the hard constraint control set
hard and the soft constraint control set
soft. The safety control set determining module 1218 may be configured to determine the current safety control set
s using the safety control set formulation (safety control set module) (
s(x,
hard and the current soft control set
soft using the hard constraint control set formulation (hard constraint control set module) (
hard(x, t)) 1210 and the soft constraint control set formulation (soft constraint control set module) (
soft(x, t) 1211, respectively, based on the current robot state x. The control input optimization module 1222 performs control input optimization based on the current control sets
s,
hard, and
soft determined.
s,
hard, and
soft. In particular, as described hereinbefore, the task-space optimization module 1224 is configured to select the first candidate control input u1 from an intersection of the safety control set and the hard constraint control set that has a minimum distance to the soft constraint control set.
In various example embodiments, if the robot manipulator has at least one redundant DOF (e.g., free DOF), i.e., n>nhard+nsoft, the joint-space optimization module 1226 is configured to determine a second candidate control input u2 based on the current control sets s,
hard, and
soft. In particular, as described hereinbefore, the joint-space optimization module 1226 is configured to select the second candidate control input from an intersection of the safety control set and the hard constraint control set such that the second candidate control input has the same distance to the soft constraint control set as the first candidate control input and minimizes joint position deviation of the robot manipulator from an initial joint position thereof. When n>nhard+nsoft, there are multiple candidate control inputs of u1 fulfilling the task-space optimization. Accordingly, the joint-space optimization is configured to seek to select the candidate control input u2 that is closest to
0. Accordingly, the control input u for controlling the robot manipulator is set as the first candidate control input (u=u1) based on determining that the component has no redundant DOF (e.g., no free DOF), or the control input u for controlling the robot manipulator is set as the second candidate control input (u=u2) based on determining that the component has at least one redundant DOF (e.g., at least one free DOF). For illustration purposes and without limitation,
s,
hard, and
soft is non-empty (i.e., the soft constraint can be achieved), all candidate control inputs in the intersection are possible u1, and u2 is the closest candidate control input
0 among all possible u1. As illustrated in
s,
hard, and
soft is empty (i.e., the soft constraint cannot be achieved), the candidate control inputs in the intersection of
s and
hard with minimum distance to
soft are possible u1, and u2 is the closest candidate control input to
0 among all possible u1.
According to various example embodiments, the final control input u 1228 generated by the control input optimization module 1222 may then be applied or inputted to the robot manipulator to control it. In various example embodiments, for robot manipulator operating in Mode II, III or IV, the final control input u 1228 may be directly applied to the robot manipulator. However, for a robot manipulator operating in Mode I, various example embodiments further process the final control input u 1228 prior to applying or inputting it to the robot manipulator. In particular, various example embodiments convert the final control input u 1228 (e.g., being a joint-velocity control input, a joint-acceleration control input or a joint-torque control input) to a joint-position control input.
According to various example embodiments, the control gains in the universal control framework 1200 can be tuned as follows regardless of the robot model.
First, εh and Ks in the robust control terms described hereinbefore may be tuned. For example, εh determines the steady-state error of the SMCBF while Ks determines the steady-state errors of the task constraints. The same HRI scenario was simulated using large and small gains with an order of magnitude difference. It was seen that the steady-state errors decrease as εh and Ks increases. Therefore, according to various example embodiments, εh and Ks are configured or selected to be large enough to limit the steady-state errors to tolerances.
Next, λ and Ke may be tuned. For example, a small λ makes the robot reacts to the approaching human in advance, while a large λ prevents the robot's reaction until the human is very close to the robot. Furthermore, a large Ke can make the robot return to the desired trajectory quickly when the human retracts from the robot. Therefore, according to various example embodiments, λ and Ke are configured or selected to ensure smooth transitions between collision avoidance and task implementation.
Furthermore, according to various example embodiments, Kq is set to tune the robot's motion in the free DOFs. For example, a large Kq leads to an aggressive recovery motion in the free DOF while a large Kq dampens the motion in the free DOF.
As described hereinbefore,
An experimental setup corresponding to that shown in
To demonstrate the effectiveness of the present control method according to various example embodiments, the guaranteed human safety based on SMCBF according to various example embodiments is validated with a comparison to the conventional APF-based method, and the comparison results are shown in d. According to various example embodiments, the task frame
t is set identically to
d, and σt=[soft, soft, soft, hard, hard, hard]T. In the experiment conducted, because it is difficult for a human to repeat the exact same motion for comparison, a robot is used to mimic the human's left hand. The robot manipulator operates on the joint-velocity control mode (i.e., Mode II). For the present control method 1200, the following two sets of control gains were tested. C1: εh=0.1, Ks=0.1I6, λ=10, Ke=10I6, and Kq=10I6; C2: εh=1, Ks=I6, λ=1, Ke=I6, and Kq=I6. For the conventional APF-based method, the control law is uv=uatt+γJrepTFrep, where uatt is the control term for trajectory tracking, Jrep is the Jacobian matrix, Frep is the repulsive force depending on the APF, and γ is a coefficient to be selected.
The distance d between the human's hand and the end effector of the robot manipulator in the comparison experiments are plotted
Next, the hierarchical task consistency based on the control input optimization according to various example embodiments is validated with a comparison to the conventional threshold-based method, and the comparison results are shown in
To validate the universality of the universal control method 1200 according to various example embodiments of the present invention, the same experiment was repeated for the robot manipulator operating in the joint-position control mode (i.e., Mode I) using the motions of human hands shown in
Accordingly, a universal control method or framework 1200 that can adapt to different types of control modes of robot manipulators is provided according to various example embodiments to achieve HRI with guaranteed human safety and hierarchical task consistency. With the universal control method 1200, for example, the robot manipulator can perform collaborative tasks with human(s) with guaranteed human safety. As described hereinbefore according to various example embodiments, first, the SMCBF that uses a sliding mode to deal with different relative degrees and reject disturbance is introduced, after which a set of SMCBFs is defined to guarantee human safety. Next, hard and soft constraints for primary and full task consistencies are defined by choosing a task frame and classifying its DOFs. Finally, a task-space optimization and a joint-space optimization are performed to generate a continuous control input for controlling the robot manipulator to operate in the shared workspace with human(s). Furthermore, from experiments and simulations conducted to validate the universal control method 1200 according to various example embodiments with comparisons to existing methods, it was found that the universal control method 1200 can keep human-robot distance above a critical value regardless of control gains. Furthermore, it can fulfill the full task consistency maximally without setting a threshold and the performance of the universal control method is consistent for different robot models.
While embodiments of the invention have been particularly shown and described with reference to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the scope of the invention as defined by the appended claims. The scope of the invention is thus indicated by the appended claims and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced.
Number | Date | Country | Kind |
---|---|---|---|
10202204344Y | Apr 2022 | SG | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/SG2023/050265 | 4/20/2023 | WO |