The present invention relates generally to an industrial robot system. The invention more particularly relates to a method and robot system for distributing robot functionality of at least one robot among more than one controller entities.
Robots are frequently used within the industry in a variety of operations such as e.g., for manufacturing objects. An industrial robot typically comprises a manipulator movable about a plurality of axes, a tool attached to the manipulator and configured to perform an action, such as e.g. gripping, a robot controller configured to control the robot, and a control unit having a user interface adapted to communicate with the robot controller and to enable programming of the robot. The typical robot controller may include, or be prepared for, many functions, such as HMI, I/O system, fieldbus support, etc.
In many robot cells, more than one robot collaborates to perform an operation or overall process. Thus, the individual robot actions or performances are different from the overall operation.
However, depending on the purpose of the robot, process software and hardware resources of the robot controller varies. Moreover, as the purpose of the robot, and the intended overall process may change, the actions or performances of the individual robots, i.e. their functionalities, may change accordingly. This typically requires adaptation of the robot and robot controllers, and sometimes the robot needs to be exchanged to another robot with different functionality.
Thus, there exists a need for a more versatile and flexible use of the functionality of the robot.
An object of the present invention is to overcome the above problems, and to provide a robot system which, at least to some extent, is improved compared to prior art solutions. This, and other objects, which will become apparent in the following are accomplished by means of an industrial robot system comprising at least a first robot having a first manipulator and a first primary controller, and a plurality of secondary controllers, and a method for distributing robot functionality of the first robot.
According to a first aspect of the present invention, an industrial robot system comprising a first robot is provided. The robot comprises a first manipulator with a base and a tool movable in relation to the base about a plurality of axes, and a first primary controller having a first primary robot functionality, the first primary robot functionality including control of manipulator motion, wherein the industrial robot system further comprises a plurality of secondary controllers, each having a secondary robot functionality, wherein the first primary robot functionality is different from all of said secondary robot functionalities, and wherein an overall robot functionality is defined by the first primary robot functionality and one or more secondary robot functionalities.
Hereby, the first primary controller becomes compact in size and low in cost. As was mentioned previously, there exists a need for a more versatile and flexible use of the functionality/functions of the robot, and the present invention provides this by providing a robot which is able to perform its primary functions by the first primary robot functionality of the first primary controller, and having all other possible functionalities of the robot, the robot cell, and/or process (e.g. a process comprising multiple robot cells) allocated to the secondary controllers. Thus, the industrial robot system is very adaptable as different secondary functionalities can be added to the overall robot functionality based on desired needs. In other words, the industrial robot system according to the invention provides an overall robot functionality which is scalable as the first primary robot functionality can be scaled-up by one or more of the secondary robot functionalities.
Moreover, by including only first primary robot functionality in the first primary controller, the first primary controller is scaled down compared to a conventional robot controller. According to at least one example embodiment, the first primary controller comprises solely the manipulator motion functionality. That is, according to such embodiment, the first primary robot functionality is manipulator motion functionality.
According to at least one example embodiment, the secondary robot functionality is any robot functionality provided by the secondary controllers. Thus, it should be understood that according to at least one example embodiment, the secondary robot functionality may include the same functionality as the first primary robot functionality, e.g. manipulator motion control, but that the first primary robot functionality typically does not include anything other than the first primary robot functionality. By keeping all functionality other than the first primary robot functionality outside of the first primary controller, the first primary controller can be made simple and compact.
According to at least one example embodiment, the first primary robot functionality is different to the overall secondary robot functionality, i.e. the sum of secondary robot functionalities of the secondary controllers. According to at least one example embodiment, the first primary robot functionality is different to each one of the secondary robot functionalities. The secondary robot functionality of a specific secondary controller is e.g., the total secondary robot functionality in that secondary controller. According to at least one example embodiment, none of the second robot functionalities is included in the first primary robot functionality. According to at least one example embodiment, the secondary robot functionalities are different from each other.
According to at least one example embodiment, the first primary controller is integrated into the first manipulator, for example into an arm of the first manipulator.
For instance, the first primary controller can be affected by a number of environment limitations, such as e.g. space requirements in the robot, processing capacity limitations, storage/memory capacity, available memory, etc. As an example, the space requirements of the robot may impose restrictions on the size of the first primary controller. Likewise, if there are processing resource constraints in the first primary controller, the computation that has been designed to be executed locally on the robot will be limited to the specific robot application performance. By providing certain robot functionality in at least one secondary controller (external of the first manipulator, or even external of the robot and/or the robot cell) such as e.g., in the cloud or in another local robot controller, it is possible to provide a robot with a wide variety of functionality which still is integratable into the first manipulator.
Thus, by distributing the robot functionality in the industrial robot system such that the first primary controller includes first primary robot functionality, and any secondary robot functionality is distributed to secondary controllers, the first primary controller can be made compact to enable integration into the first manipulator. Hereby, the controller is integrated in the same element which it serves to control, namely the first manipulator, which is advantageous e.g., with regards to signal processing and response times.
According to at least one example embodiment, the plurality of secondary controllers is arranged externally of the first manipulator.
Thus, the secondary controllers are, according to this example embodiment, not integrated into the first manipulator. Thus, the size restrictions for the secondary controllers may be less strict than for the first primary controller. At least one of the secondary controllers may be located in the robot cell.
According to at least one example embodiment, the industrial robot system further comprises a network arrangement for distributing robot functionality of the first robot among the first primary controller and one or more of the secondary controllers.
Hereby, the overall robot functionality can be distributed in an efficient manner, and any secondary robot functionality easily added to the robot to extend or scale-up its functionality beyond the first primary robot functionality. The network communication could be realized with the use of real-time network such as TSN or wireless like 5G.
According to at least one example embodiment, the network arrangement comprises a functionality determining unit configured to obtain data about available functionality for the first robot and to determine, based on said available functionality, whether a desired robot functionality can be carried out or not.
Hereby, the industrial robot system can decide whether the robot, or robot system, can carry out the desired robot functionality or robot performance (e.g., by a requested function) or not. The functionality determining unit may alternatively or additionally be configured to determine if the robot functionality corresponding to the desired robot functionality is available in the first primary robot functionality and/or secondary robot functionalities.
According to at least one example embodiment, the first primary controller, and each secondary controller, comprises process software and hardware resources to carry out the associated functions of the primary and secondary robot functionalities.
For example, the first primary controller comprises process software and hardware resources to carry out the first primary robot functionality, and each secondary controller comprises process software and hardware resources to carry out its associated secondary robot functionality. Hereby, the process software and hardware recourses can be optimized with regards to the function(s) which it is intended for. The process software and hardware resources may e.g., be embodied by a computer and logic unit in the first primary controller and each one of the secondary controllers, respectively.
According to at least one example embodiment, the first primary robot functionality of the first primary controller includes the control of at least integrated process equipment of the robot.
According to at least one example embodiment, the first primary robot functionality comprises, such as e.g. solely comprises, motion control of the manipulator and any tool attached thereto.
According to at least one example embodiment, the first primary controller comprises robot safety functionality, e.g. robot safety related to the first manipulator and motion control thereof. According to at least one example embodiment, the first primary controller comprises a controller interface, e.g., Ethernet, Fieldbus slave, TPU, PC interface, safety signals, or discrete I/O. The safety functionality of the first primary controller may comprise a safety interface, e.g. as a discrete signal or through safety fieldbus.
According to at least one example embodiment, the first primary controller comprises a power supply unit, and/or a drive unit. According to at least one example embodiment, the first primary robot functionality of the first primary controller includes the control of the power supply unit and/or the control of the drive unit. For example, the first primary controller may be configured to supply power from the power supply unit to the drive unit and/or the computer and logic unit, and/or be configured to enable the power and logic unit to directly communicate with the drive unit.
According to at least one example embodiment, the drive unit is configured to operate the first manipulator or manipulator arm, and any tool attached to the first manipulator or manipulator arm. It should be noted that according to at least one example embodiment, the drive unit and/or the power supply unit of the first manipulator is arranged outside/external of the first primary controller.
According to at least one example embodiment, at least one of, or all, of the following functions are excluded from the first primary robot functionality: fieldbus master, overall robot process control, support to additional/external drive units, synchronized robot motion control.
According to at least one example embodiment, the secondary robot functionalities of the plurality of secondary controllers include the control of at least one of: support to additional/external drive units, overall robot process control, robot cell I/O, external robot process equipment, synchronized robot motion control, HMI, and overall robot safety. Thus, according to at least one example embodiment, such functionality is not included in the first primary robot functionality.
According to at least one example embodiment, the plurality of secondary controllers includes at least one of the following: robot cell controller, machine controller, edge, or line controller, a second robot primary controller.
All of the mentioned secondary controllers are typically arranged externally of the robot. According to at least one example embodiment, the secondary controllers include at least a network-based server, such as e.g. a cloud server.
According to at least one example embodiment, the industrial robot system further comprises a second robot having a second manipulator with a base and a tool movable in relation to the base about a plurality of axes, and a second primary controller having second primary robot functionality, the second primary robot functionality including motion control of the second manipulator, wherein an overall functionality of the second robot is defined by the second primary robot functionality and one or more secondary robot functionalities.
Hereby, at least two robots can be set up by the same configuration, and the same secondary controllers can be used to extend the functionality of the first and second robot, respectively. The second robot may e.g., be comprised in the same robot cell as the first robot.
Effects and features of this second robot are largely analogous to those described above in connection with the first robot. Embodiments mentioned in relation to the first robot are largely compatible with the second robot.
According to at least one example embodiment, motions of the first and second manipulators are synchronized to form a multiple robot motion system.
Hereby, an effective multiple robot motion system is provided. According to at least one example embodiment, the functionality of synchronized motion of the first and second manipulators is comprised in one of the secondary controllers.
In other words, at least one of the secondary controllers is configured to synchronize motion of the first and second manipulators to form a multiple robot motion system. Such secondary controllers may be operating, and communicating, with the first and second robots via the network arrangement.
According to a second aspect of the present invention, a method for distributing robot functionality of the first robot is provided. The robot comprises a first manipulator, and the method comprises the steps of
Effects and features of this second aspect of the invention are largely analogous to those described above in connection with the first aspect of the invention. Embodiments mentioned in relation to the first aspect of the invention are largely compatible with the second aspect of the invention, of which some are exemplified below.
For example, the first primary robot functionality is different to said secondary robot functionalities in the same manner as explained with reference to the first aspect of the invention.
According to at least one example embodiment, the method further comprises the steps of
Further advantages and features of the present disclosure are disclosed and discussed in the following description and the accompanying drawings.
These and other aspects of the present inventive concept will now be described in more detail, with reference to the appended drawings showing an example embodiment of the inventive concept, wherein:
In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular components, interfaces, techniques, etc. in order to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
The number of robots shown in the robot cell is exemplifying. It should be realized that there may be more robots in the robot cell, but also fewer. However, all robots in the robot cell are members of a common collaborative group, i.e. a group collaborating in performing a number of correlated or synchronized activities such as for producing products or holding objects.
The first robot 12 is, as was mentioned above, in this example involved in the production of a product. This means that the first tool 16 may be moved along a first robot movement path while performing a first number of activities. In a similar manner the second tool 26 may be moved along a second robot movement path while performing a second number of activities.
In order to perform primary control of the first and second robots 12, 22, and specifically the first and second manipulators 13, 23, as well as processing in relation to these activities, there is furthermore a first primary controller 20 integrated into the first robot 12 for controlling the first manipulator 13, and a second primary controller 28 integrated into the second robot 22 for controlling the second manipulator 23. The first and second primary controllers 20 and 28 are both examples of controller entities that comprise process software and hardware resources configured to carry out certain functions related to the first and second robot 12, 22, respectively. Here, the first and second primary controllers 20 and 28 are both configured to perform a respective primary robot functionality including control of manipulator motion.
Each functionality or function is associated with at least one robot activity, typically an associated number of activities, to perform a specific task. The functionality or functions are executed by a processing unit in respect of the robot cell and in this case also in respect of a corresponding robot. It should be noted that the terms “functionality” and “functions” are used interchangeably throughout the text.
In, or at, the robot cell 10 there may be a number of further controller entities, here referred to as secondary controllers. As an example there is a first robot cell controller 30 which comprises process software and hardware resources configured to carry out certain functions, typically different to the functions included in the first and second primary controllers 20, 28. The first robot cell controller 30 may further comprise a processing unit that processes data to carry out the associated functions, and/or data provided externally of the robots, for example by a first sensor being e.g. a camera or a temperature sensor. The robot cell 10 may further comprise a second robot cell controller 32 which comprises process software and hardware resources configured to carry out certain functions, typically different to the functions included in the first and second primary controllers 20, 28. Correspondingly, the second robot cell controller 32 may further comprise a processing unit that processes data to carry out the associated functions, and possibly data provided externally of the robots, for example by a second sensor, being e.g. a camera or a temperature sensor. The functionalities of the first and second robot cell controllers 30, 32 are referred to as secondary robot functionalities, which thus is secondary to the primary robot functionalities of the first and second primary controllers 20, 28.
Other controller entities, being in the robot cell 10 or in the near vicinity of the robot cell 10, are exemplified in
The first robot cell controller 30, and the first edge/line controller 29, may for example be configured to complement the first robot 12 with functions not included in the first primary controller 20. Correspondingly, the second robot cell controller 32, and the second edge/line controller 31, may for example be configured to complement the second robot 22 with functions not included in the second primary controller 28. Hereby, the functionality of first and the second robots 12, 22 can be built up by building blocks, where each building block is associated with certain functions of the corresponding robot. Thus, the functionality of each robot can be scaled up, or extended, based on the needs by adding one or more of the building blocks (i.e., one or more of the secondary functionalities of the secondary controllers such as the robot cell or edge/line controllers).
Although the computer and logic unit 40 is shown as being a single unit, the functionality thereof may be separated into multiple units, e.g. a separate processor, and separate memory, etc. It should also be realized that the first primary controller 20 may comprise more elements and units. However, as these are not central to the understanding of the invention, they have been omitted. Moreover, the power supply unit 50 and/or the drive unit 60 can be arranged outside of the first primary controller 20.
As was mentioned earlier, the first primary robot functionality of the first primary controller 20 may be provided through computer and logic unit 40 and associated processor and memory. It may therefore as an example be provided in the form of a processor with an associated computer program code carrying out functions provided as a program code in the memory being run by the processor. As an alternative the computer and logic unit 40 may be provided in the form of an Application Specific Integrated Circuit (ASIC) or Field-Programmable Gate Array (FPGA).
As shown in
Moreover, in
Thus, the secondary controller 100 may communicate with the second primary controller 28 as well, and may thus complement the functionality of the second robot 22 beyond the second primary robot functionality available through the second primary controller 28.
Thus, the functionality of the first and second robots 12, 22 is scalable by the first and second primary controllers, 20, 28 and their networked connected secondary controller 100, making up a network-based robot system.
The secondary controller 100 of
By connecting at least two primary controllers 20, 28 via the secondary controller 100, and through the network, a multiple robot motion system can be built up. The multiple motion system may e.g., support synchronous and asynchronous robot motion, such as e.g. the handling of object 18 by the first and the second tools 16, 26. The multiple motion system may e.g. be embodied as the above-mentioned function of motion control 104 in the secondary controller 100. Hereby, the motion controlled by the first and second primary controllers 20, 28 (which here are connected to the same network) can be synchronized with a robot motor and/or additional motors controlled directly by the secondary controller 100.
According to at least one example embodiment, the first and second primary controllers 20, 28 can be configured to dynamically connect to or disconnect from the network.
According to at least one example embodiment, the network could be shared by several robot cell controllers allowing for the first and second primary controllers 20, 28 to be connected to different robot cell controllers. This is especially advantageous in a mobile robot environment in which the robots can be used by several robot cell controllers at different times and different locations.
The network topology is not limit to the star topology as disclosed in
Thus, the network and the secondary controller 100 (e.g., robot safety functions) can extend the respective capability of the first and second primary controllers 20, 28, and additionally enable a multiple robot motion system providing e.g., synchronous multiple robot motion.
The network-based robot system 200 using primary controllers 20, 28 and at least one secondary controller 100 as disclosed in
The network-based robot system 200 may further comprise a functionality determining unit 107 configured to obtain data about available functionality/functionalities for e.g., the first robot 12. The functionality determining unit 107 may also be configured to determine, based on the available functionality/functionalities, whether a desired robot performance can be carried out or not. The functionality determining unit 107 may be included in a secondary controller (as e.g., in
The above-mentioned functionality of the various controller entities has mainly been described with reference to an associated hardware resource such as e.g., a processing unit being provided in the form of one or more processors together with process software including computer program memory including computer program code for performing its function. As an alternative it may be provided in the form of an Application Specific Integrated Circuit (ASIC) or Field-Programmable Gate Array (FPGA). This computer program code may also be provided on one or more data carriers which perform the functionality of the controlling entity when the program code thereon is being loaded in a processing entity of the robot or robot cell in which the processing entity is to be provided. One such data carrier with computer program code, is in the form of a CD ROM disc. Such computer program may as an alternative be provided on a server and downloaded therefrom into the processing entity in question.
Therefore, while the invention has been described in connection with what is presently considered to be most practical and preferred embodiments, it is to be understood that the invention is not to be limited to the disclosed embodiments, but on the contrary, is intended to cover various modifications and equivalent arrangements. Additionally, variations to the disclosed embodiments can be understood and effected by the skilled person in practicing the claimed inventive concept, from a study of the drawings, the disclosure, and the appended claims. In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2020/061538 | 4/24/2020 | WO |