A ROBOT SYSTEM AND A METHOD FOR MONITORING A ROBOT SYSTEM

20230405822 ยท 2023-12-21

Assignee

Inventors

Cpc classification

International classification

Abstract

The invention relates to a method for monitoring a robot system comprising a robot arm and a peripheral device, the method comprising the steps of: providing a communicative peripheral connection between the peripheral device and a robot controller; establishing an operation signal history in a digital storage wherein the operation signal history is based on operation representations; executing a robot operation process on the robot controller; establishing a peripheral signal associated with the peripheral connection; recording the peripheral signal to obtain a peripheral signal representation; updating the operation signal history by providing the peripheral signal representation as an operation representation of the operation representations; and tracking operation of the robot system based on the operation signal history. The invention further relates to a robot system.

Claims

1. A method for monitoring a robot system comprising a robotic arm a peripheral device, the method comprising: saving an operation signal history in digital storage, the operation signal history is being based on one or more operation representations, the one or more operation representations being based on operation of the robot system; executing an operation process on a controller associated with the robot system; recording a peripheral signal associated with a communication between the peripheral device and the controller to obtain a peripheral signal representation, the peripheral signal representation being based on execution of the operation process; updating the operation signal history by storing the peripheral signal representation as an operation representation in the digital storage; and monitoring operation of the robot system based on the operation signal history.

2. The method of claim 1, further comprising: the robot controller controlling operation of the robot system based on the operation signal history.

3. The method of claim 1, further comprising: reconfiguring at least one of the peripheral device or peripheral connection over which the communication occurs based on the operation signal history.

4. The method of claim 1, wherein the operation signal history is based on one or more operation time stamps associated with the one or more operation representations; wherein recording the peripheral signal comprises obtaining a peripheral time stamp associated with the peripheral signal; and wherein updating the operation signal history comprises storing the peripheral time stamp in the operation signal history in digital storage.

5. The method according to any of the preceding claims, wherein said step of claim 1, wherein recording said the peripheral signal is performed via said by the controller.

6. The method of claim 1, further comprising: the robot controller recording a virtual state signal to obtain a state signal representation that is based on the virtual state signal, the virtual state signal being indicative of a status of the robot system; wherein updating the operation signal history comprises storing the state signal representation in the operation signal history in the digital storage.

7. The method according to claim 6, wherein recording the virtual state signal comprises obtaining a state time stamp associated with the virtual stage signal; and wherein updating the operation signal history comprises storing the state time stamp in the operation signal history in the digital storage.

8. The method of claim 1, wherein monitoring operation of the robot system comprises generating a graphical representation of the operation signal history for display on a display device.

9. The method of claim 1, further comprising: executing one or more operation cycles on the robot system, wherein each operation cycle comprises an operation process associated with operation of at least part of the robot system.

10. The method of claim 9, wherein monitoring operation of the robot system comprises comparing a first operation cycle of the one or more operation cycles with a second operation cycle of the one or more operation cycles.

11. The method of claim 10, wherein the comparing is performed using a programming device to identify one or more differences between: a subset of the operation signal history associated with the first operation cycle; and a subset of the operation signal history associated with the second operation cycle.

12. The method of claim 9, wherein monitoring operation of the robot system is performed at least 1 hour, at least 2 hours. at least 5 hours, or, at least 10 hours after an initial operation cycle of the one or more operation cycles, the initial operation cycle being first in time of the one or more operation cycles.

13. The method of claim 1, further comprising: establishing a communicative peripheral connection over which the communication between the peripheral device and the controller occurs, where establishing the communicative peripheral connection comprises establishing a plurality of communicative peripheral connections between a plurality of peripheral devices including the peripheral device and the controller, where recording the peripheral signal comprises recording a plurality of peripheral signals including the peripheral signal to obtain a plurality of peripheral signal representations respectively associated with the plurality of peripheral signals, and where updating the operation signal history comprises storing the plurality of peripheral signal representations as a subset of operation representations in the operation signal history in the digital storage.

14. The method of claim 1, further comprising; performing predictive maintenance on the robot system based on monitoring the operation of the robot system.

15. The method of claim 1, wherein the robot controller is configured to control motion of the robotic arm by controlling motor torque provided to motors of robot joints included in the robotic arm.

16. The method according to of claim 1, further comprising: identifying that the peripheral device is anomalous based on the operation signal history.

17. The method of claim 1, wherein the peripheral signal representation is indicative of a state of said-the peripheral device.

18. The method of claim 1, wherein executing the operation process is performed by the controller to operate at least part of the robot system.

19. The method of claim 1, wherein executing the operation process is performed by the controller to operate the robotic arm.

20. The method of claim 1 wherein executing the operation process is performed to operate the peripheral device.

21. The method of claim 1 wherein executing the operation process is performed to simulate operation of at least part of the robot system.

22. The method of claim 1, wherein executing the operation process is performed to simulate operation of the robotic arm.

23. The method of claim 1, wherein executing the operation process is performed to simulate operation of the peripheral device.

24. The method of claim 1, wherein monitoring the operation of the robot system comprises processing the operation signal history on a programming device communicatively connected to the digital storage to obtain former operational information about of the robot system.

25. The method of claim 1, wherein the robotic arm comprises robot joints connecting a base and a tool flange.

26. The method of claim 1, further comprising: establishing a communicative peripheral connection over which the communication between the peripheral device and the controller occurs: wherein the controller comprises a multi-core processor comprising a first group of cores and a second group of cores that is different from the first group of cores, and wherein the communicative peripheral connection is for communication between the first group of cores of and a part of the operation process executing on the second group of.

27. The method of claim 26, wherein the first group of cores and the second group of cores read and execute program instructions in parallel.

28. The method of claim 6, wherein the virtual state signal is indicative of whether the robotic arm is idle.

29. The method of claim 1, further comprising: truncating the operation signal history.

30. The method of claim 9, wherein the one or more operation cycles comprise multiple operation cycles; and wherein each of the multiple operation cycles is associated with a same operation process.

31. The method of claim 9, wherein the one or more operation cycles comprise multiple operation cycles; and wherein each of the multiple operation cycles comprises establishing a peripheral signal associated with a communication between a peripheral device and the controller.

32. The method of claim 9, wherein the one or more operation cycles comprise multiple operation cycles; and wherein each of the multiple operation cycles comprises recording a peripheral signal associated with a communication between a peripheral device and the controller.

33. The method of claim 9, wherein the one or more operation cycles comprise multiple operation cycles; and wherein each of the multiple operation cycles comprises updating the operation signal history.

34. The method of claim 9, wherein the one or more operation cycles comprise multiple operation cycles; and wherein each of the multiple operation cycles comprises establishing a virtual state signal, the virtual state signal being indicative of a status of the robot system.

35. The method of claim 34, wherein each of the multiple operation cycles comprises recoding a corresponding virtual state signal.

36. The method of claim 9, wherein monitoring operation of the robot system is performed executing the one or more operation cycles.

37. The method of claim 1 claims, wherein the peripheral signal representation comprises a logic signal representation.

38. A system comprising: a robotic arm comprising joints connecting a base and a tool flange; a controller configured to control operation of the robotic arm; a peripheral device communicatively connected to the controller; and digital storage storing an operation signal history; wherein the operation signal history comprises one or more operation representations, the one or more operation representations being based on operation of the system; wherein controller is configured to record a peripheral signal associated with a communication between the peripheral device and the controller to obtain a peripheral signal representation; and wherein the controller is configured to update the operation signal history by storing the peripheral signal representation in the digital storage as an operation representation.

39. The system of claim 38, wherein the robot controller is configured to execute at least two processes, wherein a first process of the at least two processes is configured to interact with the peripheral device, and wherein a second process of the at least two processes is configured to control the robotic arm.

40. The system of claim 39, wherein the controller is configured to execute the at least two processes in parallel.

41. The system of claim 39, wherein the first process is configured to control operation of the peripheral device.

42. The system of claim 39, wherein the first process is configured to record the peripheral signal.

43. The system of claim 38, wherein the controller comprises a multi-core processor.

44. The system of claim 38, wherein the peripheral device is communicatively connected directly to the controller by a peripheral connection.

45. The system of claim 38 44, further comprising: a plurality of peripheral connections over which the controller is communicatively connected to a plurality of respective peripheral devices including the peripheral device; wherein the controller is configured to record a plurality of peripheral signals respectively associated with the plurality of peripheral connections to obtain a plurality of peripheral signal representations; and wherein the controller is configured to store the peripheral signal representations in the operation signal history in the digital storage.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0115] FIG. 1 illustrates a robot arm according to the present invention;

[0116] FIG. 2 illustrates a simplified structural diagram of the robot arm and part of the robot controller;

[0117] FIG. 3 illustrates an embodiment of the invention;

[0118] FIG. 4 illustrates an embodiment of the invention arranged to store operation time stamps;

[0119] FIG. 5 illustrates an embodiment of the invention arranged to store state signal representations;

[0120] FIG. 6 illustrates an embodiment of the invention arranged to store a plurality of peripheral signal representations;

[0121] FIG. 7 illustrates an embodiment of the invention arranged to allow interaction with a human operator;

[0122] FIG. 8 illustrates a method of the invention having one or more operation cycles; and

[0123] FIG. 9 illustrates a method of the invention involving simulation of operation of the robot system.

DETAILED DESCRIPTION OF THE INVENTION

[0124] The present invention is described in view of exemplary embodiments only intended to illustrate the principles of the present invention. The skilled person will be able to provide several embodiments within the scope of the claims. Further it is to be understood that in the case that an embodiment comprises a plurality of the same features then only some of the features may be labeled by a reference number.

[0125] FIG. 1 illustrates a robot arm 101 comprising a plurality of robot joints 102a, 102b, 102c, 102d, 102e, 102f connecting a robot base 103 and a robot tool flange 104. A base joint 102a is configured to rotate the robot arm 101 around a base axis 105a (illustrated by a dashed dotted line) as illustrated by rotation arrow 106a; a shoulder joint 102b is configured to rotate the robot arm around a shoulder axis 105b (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106b; an elbow joint 102c is configured to rotate the robot arm around an elbow axis 105c (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106c, a first wrist joint 102d is configured to rotate the robot arm around a first wrist axis 105d (illustrated as a cross indicating the axis) as illustrated by rotation arrow 106d and a second wrist joint 102e is configured to rotate the robot arm around a second wrist axis 105e (illustrated by a dashed dotted line) as illustrated by rotation arrow 106e. Robot joint 102f is a tool joint comprising the robot tool flange 104, which is rotatable around a tool axis 105f (illustrated by a dashed dotted line) as illustrated by rotation arrow 106f. The illustrated robot arm is thus a six-axis robot arm with six degrees of freedom with six rotational robot joints, however it is noticed that the present invention can be provided in robot arms comprising less or more robot joints and also other types of robot joints such as prismatic robot joints providing a translation of parts of the robot arm for instance a linear translation.

[0126] A robot tool flange reference point 107 also known as a TCP is indicated at the robot tool flange and defines the origin of a tool flange coordinate system defining three coordinate axis x.sub.flange, y.sub.flange, z.sub.flange. In the illustrated embodiment the origin of the robot tool flange coordinate system has been arrange on the tool flange axis 105f with one axis (z.sub.flange) parallel with the tool flange axis and with another axis x.sub.flange, y.sub.flange parallel with the outer surface of the robot tool flange 104. Further a base reference point 108 is coincident with the origin of a robot base coordinate system defining three coordinate axis x.sub.base, y.sub.base, z.sub.base. In the illustrated embodiment the origin of the robot base coordinate system has been arrange on the base axis 105a with one axis (z.sub.base) parallel with the base axis 105a axis and with another axis x.sub.base, y.sub.base parallel with at the bottom surface of the robot base. The direction of gravity 109 in relation to the robot arm is also indicated by an arrow and it is to be understood the at robot arm can be arrange at any position and orientation in relation to gravity only limited by the freedom of operation of the robot joints.

[0127] The robot arm comprises at least one robot controller 110 configured to control robot arm 101 and can be provided as a computer comprising in interface device 111 enabling a user to control and program the robot arm. The controller 110 can be provided as an external device as illustrated in FIG. 1 or as a device integrated into the robot arm or as a combination thereof. The interface device can for instance be provided as a teach pendent as known from the field of industrial robots which can communicate with the controller 110 via wired or wireless communication protocols. The interface device can for instanced comprise a display 112 and a number of input devices 113 such as buttons, sliders, touchpads, joysticks, track balls, gesture recognition devices, keyboards etc. The display may be provided as a touch screen acting both as display and input device. The interface device can also be provided as an external device configured to communicate with the robot controller 110 for instance as smart phones, tablets, PCs, laptops, etc.

[0128] The robot tool flange 104 comprises a force-torque sensor 114 (sometimes referred to simply as fore sensor) integrated into the robot tool flange 104. The force-torque sensor 114 provides a tool flange force signal indicating a force-torque provided at the robot tool flange. In the illustrated embodiment the force-torque sensor is integrated into the robot tool flange and is configured to indicate the forces and torques applied to the robot tool flange in relation to the robot tool flange reference point 107. The force sensor 114 provides a force signal indicating a force provided at the tool flange. In the illustrated embodiment the force sensor is integrated into the robot tool flange and is configured to indicate the forces-torque applied to the robot tool flange in relation to the reference point 107 and in the tool flange coordinate system. However, the force-torque sensor can indicate the force-torque applied to the robot tool flange in relation to any point which can be linked to the robot tool flange coordinate system. In one embodiment the force-torque sensor is provided as a six-axis force-torque sensor configured to indicate the forces along and the torques around three perpendicular axes. The force-torque sensor can for instance be provided as any force-torque sensor capable of indicating the forces and torques in relation to a reference point for instance any of the force-torque sensors disclosed by WO2014/110682A1, U.S. Pat. No. 4,763,531, US2015204742. However, it is to be understood that the force sensor in relation to the present invention not necessarily need to be capable of sensing the torque applied to the tool sensor. It is noted that the force-torque sensor may be provided as an external device arranged at the robot tool flange or omitted.

[0129] An acceleration sensor 115 is arranged at the robot tool joint 102f and is configured to sense the acceleration of the robot tool joint 102f and/or the acceleration of the robot tool flange 104. The acceleration sensor 115 provides an acceleration signal indicating the acceleration of the robot tool joint 102f and/or the acceleration of the robot tool flange 104. In the illustrated embodiment the acceleration sensor is integrated into the robot tool joint and is configured to indicate accelerations of the robot tool joint in the robot tool coordinate system. However, the acceleration sensor can indicate the acceleration of the robot tool joint in relation to any point which can be linked to the robot tool flange coordinate system. The acceleration sensor can be provided as any accelerometer capable of indicating the accelerations of an object. The acceleration sensor can for instance be provided as an IMU (Inertial Measurement Unit) capable of indicating both linear acceleration and rotational accelerations of an object. It is noted that the acceleration sensor may be provided as an external device arranged at the robot tool flange or omitted.

[0130] Each of the robot joints comprises a robot joint body and an output flange rotatable or translatable in relation to the robot joint body and the output flange is connected to a neighbor robot joint either directly or via an arm section as known in the art. The robot joint comprises a joint motor configured to rotate or translate the output flange in relation to the robot joint body, for instance via a gearing or directly connected to the motor shaft. The robot joint body can for instance be formed as a joint housing and the joint motor can be arranged inside the joint housing and the output flange can extend out of the joint housing. Additionally, the robot joint comprises at least one joint sensor providing a sensor signal indicative of at least one of the following parameters: an angular and/or linear position of the output flange, an angular and/or linear position of the motor shaft of the joint motor, a motor current of the joint motor or an external force and/or torque trying to rotate the output flange or motor shaft. For instance, the angular position of the output flange can be indicated by an output encoder such as optical encoders, magnetic encoders which can indicate the angular position of the output flange in relation to the robot joint. Similarly, the angular position of the joint motor shaft can be provided by an input encoder such as optical encoders, magnetic encoders which can indicate the angular position of the motor shaft in relation to the robot joint. It is noted that both output encoders indicating the angular position of the output flange and input encoders indicating the angular position of the motor shaft can be provided, which in embodiments where a gearing have been provided makes it possible to determine a relationship between the input and output side of the gearing. The joint sensor can also be provided as a current sensor indicating the current through the joint motor and thus be used to obtain the torque provided by the motor. For instance, in connection with a multiphase motor, a plurality of current sensors can be provided in order to obtain the current through each of the phases of the multiphase motor. It is also noted that some of the robot joints may comprise a plurality of output flanges rotatable and/or translatable by joint actuators, for instance one of the robot joints may comprise a first output flange rotating/translating a first part of the robot arm in relation to the robot joint and a second output flange rotating/translating a second part of the robot arm in relation to the robot joint.

[0131] The robot controller 110 is configured to control the motions of the robot arm and the robot joints by controlling the motor torque provided to the joint motors based on a dynamic model of the robot arm, the direction of gravity acting 109 and the joint sensor signal.

[0132] FIG. 2 illustrates a simplified structural diagram of the robot arm 101 illustrated in FIG. 1. The robot joints 102a, 102b and 102f have been illustrated in structural form and the robot joints 102c, 102, 102e and the robot links connecting the robot joints have been omitted for the sake of simplicity of the drawing. Further the robot joints are illustrated as separate elements however it is to be understood that they are interconnected as illustrated in FIG. 1. The robot joints comprise an output flange 216a,216b,216f and a joint motor 217a, 217b, 217f or another kind of actuator, where the output flange 216a,216b,216f is rotatable in relation to the robot joint body. The joint motors 217a, 217b, 217f are respectively configured to rotate the output flanges 216a, 216b, 216f via an output axle 218a, 218b, 218f. It is to be understood that the joint motor or joint actuator may be configured to rotate the output flange via a transmission system such as a gear (not shown). In this embodiment the output flange 216f of the tool joint 123f constitutes the tool flange 104. At least one joint sensor 219a, 219b, 219f providing a sensor signal 220a, 220b, 220f indicative of at least one joint sensor parameter J.sub.sensor,a, J.sub.sensor,b, J.sub.sensor,f of the respective joint. The joint sensor parameter can for instance indicate a pose parameter indicating the position and orientation of the output flange in relation to the robot joint body, an angular position of the output flange, an angular position of a shaft of the joint motor, a motor current of the joint motor. For instance, the angular position of the output flange can be indicated by an output encoder such as optical encoders, magnetic encoders which can indicate the angular position of the output flange in relation to the robot joint. Similar, the angular position of the joint motor shaft can be provided by an input encoder such as optical encoders, magnetic encoders which can indicate the angular position of the motor shaft in relation to the robot joint. The motor currents can be obtained and indicated by current sensors.

[0133] The robot controller 110 comprises a processer 220 and memory 221 and is configured to control the joint motors of the robot joints by providing motor control signals 223a, 223b, 223f to the joint motors. The motor control signals 223a, 223b, 223f are indicative of the motor torque T.sub.motor,a, T.sub.motor, b, and T.sub.motor,f that each joint motor shall provide to the output flanges and the robot controller 110 is configured to determine the motor torque based on a dynamic model of the robot arm as known in the prior art. The dynamic model makes it possible for the controller 110 to calculate which torque the joint motors shall provide to each of the joint motors to make the robot arm perform a desired movement. The dynamic model of the robot arm can be stored in the memory 221 and be adjusted based on the joint sensor parameters J.sub.sensor,a, J.sub.sensor,b, J.sub.sensor,f For instance, the joint motors can be provided as multiphase electromotors and the robot controller 110 can be configured to adjust the motor torque provided by the joint motors by regulating the current through the phases of the multiphase motors as known in the art of motor regulation.

[0134] Robot tool joint 102f comprises the force sensor 114 providing a tool flange force signal 224 indicating a force-torque FT.sub.flange provided to the tool flange. For instance, the force signal-torque FT.sub.flange can be indicated as a force vector {right arrow over (F.sub.sensor.sup.flange )} and a torque vector {right arrow over (T.sub.sensor.sup.flange )} in the robot tool flange coordinate system:

[00001] F sensor flange .Math. = ( F x , sensor flange F y , sensor flange F z , sensor flange ) eq . 1

where F.sub.x,sensor.sup.flange is the indicated force along the x.sub.flange axis, F.sub.y,sensor.sup.flange is the indicated force along the y.sub.flange axis and F.sub.z,sensor.sup.flange is the indicated force along the z.sub.flange axis.

[0135] In an embodiment where the force sensor is provided as a combined force-torque sensor the force-torque sensor can additionally also provide a torque signal indicating the torque provide to the tool flange, for instance as a separate signal (not illustrated) or as a part of the force signal. The torque can be indicated as a torque vector in the robot tool flange coordinate system:

[00002] T sensor flange .Math. = ( T x , sensor flange T y , sensor flange T z , sensor flange ) eq . 2

where T.sub.x,sensor.sup.flange is the indicated torque around the x.sub.flange axis, F.sub.y,sensor.sup.flange is the indicated torque around the y.sub.flange axis and T.sub.z,sensor.sup.flange is the indicated torque around the z.sub.flange axis.

[0136] Robot tool joint 102f comprises the acceleration sensor 115 providing an acceleration signal 225 indicating the acceleration of the robot tool flange where the acceleration may be indicated in relation to the tool flange coordinate system

[00003] A sensor flange .Math. = ( A x , sensor flange A y , sensor flange A z , sensor flange )

where A.sub.x,sensor.sup.flange is the sensed acceleration along the x.sub.flange axis , A.sub.y,sensor.sup.flange is the sensed acceleration along the y.sub.flange axis and A.sub.z,sensor.sup.flange is the sensed acceleration along the z.sub.flange axis.

[0137] In an embodiment where the acceleration sensor is provided as a combined accelerometer/gyrometer (e.g. an IMU) the acceleration sensor can additionally provide an angular acceleration signal indicating the angular acceleration of the output flange in relation to the robot tool flange coordinate system, for instance as a separate signal (not illustrated) or as a part of the acceleration signal. The angular acceleration signal can indicate an angular acceleration vector {right arrow over (.sub.sensor.sup.flange )} in the robot tool flange coordinate system

[00004] sensor flange .Math. = ( x , sensor flange y , sensor flange z , sensor flange ) eq . 3

where .sub.x,sensor.sup.flange is the angular acceleration around the x.sub.flange axis, .sub.y,sensor.sup.flange is the angular acceleration around the y.sub.flange axis and .sub.z,sensor.sup.flange is the angular acceleration around the z.sub.flange axis.

[0138] The force sensor and acceleration sensor of the illustrated embodiment are arranged at the robot tool joint 102f; however, it is to be understood that the force sensor and acceleration sensor can be arrange at any part of the robot arm.

[0139] The robot arm illustrated in FIGS. 1 and 2 can for instance be used in a robot system, for instance a robot system according to the present invention.

[0140] In an exemplary embodiment of the invention, the robot system comprises two peripheral devices: an object sensor and a conveyer belt. A robot tool is attached to the robot tool flange and is arranged to perform welding of an application object. The object sensor is arranged to detect the presence of an application object at a welding position. The auxiliary control process receives application input signals from the object sensor and the robot control process, upon which logic signals are established. Further, the auxiliary control process provides logic output signals to the conveyer belt and the robot control process based on the logic signals. When no application object is at the welding position, the auxiliary control process is arranged to activate the conveyer belt via a logic output signal. Then, when the object sensor detects an object at the welding position, the auxiliary control process stops the conveyer belt, and initiates movement of the robot arm and welding, via a logic output signal to the robot control process. When welding, as controlled by the robot control process, has completed, movement of the conveyer belt is initiated based on the application input signal from the robot control process. From here, the robot system is ready the receive a new application object via the conveyer belt to repeat the above explained welding process. In this embodiment, the robot controller records peripheral signals on communicative peripheral connections between the robot controller and each of the peripheral devices, and updates an operation signal history accordingly, thus permitting tracking of the robot system.

[0141] FIG. 3 illustrates an embodiment of the invention. The robot system 100 comprises a robot arm 101 controlled by a robot controller 110. In addition to the description of motion of the robot arm exemplified above, the robot controller is further communicatively connected to a peripheral device 336 through a peripheral connection 352. This connection may for example be used to perform control of the peripheral device 336 by the robot controller 110, or it may be used as input for the robot controller 110, such that the robot controller operates based on this input. In some embodiments of the invention, the peripheral connection 352 is a two-way communication connection, e.g. such that the peripheral device 336 is controlled based on input by the robot controller 110, and such that the robot controller 110 controls the robot arm 101 based on input by the peripheral device 110. Any communicative signal on the peripheral connection 352, e.g. a signal arranged to perform control, may be understood as a peripheral signal.

[0142] The robot system is further associated with a digital storage 354, e.g. a digital storage based on a hard disc or a cloud storage, the digital storage is communicatively connected to the robot controller 110. The digital storage 354 has an operation signal history 353 stored on it. The operation signal history is based on operation representations 355, i.e. it comprises a list of operation representations 355.

[0143] The robot system 100 is arranged to be operated based on executing a robot operation process on the robot controller. A robot operation process may for example be a program, software, or code, which the robot controller 110 is able to read/process, and upon this communicate with the robot arm and/or the peripheral device, e.g. to operate any of these.

[0144] Upon execution of the robot operation process on the robot controller 110, the robot system 100 is arranged to perform recording of a peripheral signal of the peripheral connection 352 to obtain a peripheral signal representation 357. This may for example be by simply measuring the voltage of the peripheral connection 352. It may also be facilitated by the robot controller 110, for example such that the robot controller provides the peripheral signal representation 357 as an output, e.g. as an output to a programming device or directly to the digital storage 354.

[0145] The peripheral signal representation 357 is added to the operation signal history 353 as an operation representation 355, e.g. to extend the number of existing operation representations 355.

[0146] Since the peripheral signal representation 357 has been added as an operation representation 355 to the operation signal history 353, it is possible for a user or an automated evaluation to monitor and assess the operation of the robot system 100, particularly the interaction with the peripheral device 336.

[0147] In typical embodiments of the invention, peripheral signal representations are continuously stored, e.g. with a certain frequency such as 1 Hz, 1 kHz, or a clock frequency of the robot system, or at key points during an operation cycle.

[0148] FIG. 4 illustrates an embodiment of the invention arranged to store operation time stamps 456.

[0149] The embodiment has a similar structure to the embodiment illustrated in FIG. 3. However, the embodiment illustrated in FIG. 4 is further arranged to store peripheral time stamps 458. The operation signal history 353 is further based on operation time stamps 456, besides being based on operation representations 355. The operation time stamps 456 may for example be associated with the operation representations 355. Thus, an operation time stamp 456 may for example be a data entity which enables pinpointing the time at which an associated operation representation 355 was recorded/stored.

[0150] When a peripheral signal is recorded to obtain a peripheral signal representation 357, the system is configured to establish a peripheral time stamp 458 which is associated with that peripheral signal representation 357. This value of the peripheral time stamp 458 may for example be provided by the robot controller 110, or from another time source such as an external time source.

[0151] The peripheral time stamp 458 is then added as an operation time stamp 456 to the operation signal history 353.

[0152] By storing peripheral signal representations 357 as operation representations 355 and peripheral time stamps 458 as operation time stamps 456, it is possible for a user or an automated evaluation to perform a more detailed assessment of the operation of the robot system. Particularly, it is possible to reconstruct a timeline of operation and possible events, such as an introduction of an error into the operation.

[0153] In some embodiments of the invention, each recorded value of a peripheral signal representation 357 has an associated peripheral time stamp 458, whereas in other embodiments, only a subset of recorded values of peripheral signal representations 357 has associated peripheral time stamps 458.

[0154] In some embodiments, a user and/or an automated evaluation system will be able to deduce timings of recorded peripheral signal representations/operation representations without operation time stamps. For example, if peripheral signal representations are recorded and stored with a certain frequency, knowledge of this frequency can be used to calculate how much time has passed since a given operation representation was stored.

[0155] FIG. 5 illustrates an embodiment of the invention arranged to store state signal representations 560.

[0156] The embodiment has a similar structure is the embodiment illustrated in FIG. 4. However, the embodiment illustrated in FIG. 5 is further arranged to store state signal representations 560 and state time stamps, originating from internal robot controller processes 564a, 564b of the robot controller 110.

[0157] In this embodiment, the robot controller 110 has at least two internal processes 564a, 564b which are communicatively connected within the robot controller 110. The robot controller 110 may for example be a multi-core processor, and the internal processes 564a, 564b may be processes respectively executed on separate cores or separate groups of cores of that multi-core processor. In the exemplary embodiment of FIG. 5, one group of cores facilitates an internal process 564a which controls the robot arm 101, and one other group of cores facilitates an internal process 564b which enables interaction with the peripheral device 336. Any such communication amongst such separate processes 564a, 564b is facilitated by signals which may be referred to as virtual state signals which may for example be indicative of a state of the robot arm 101, a peripheral device 336, a group of peripheral devices, and/or the robot system 100.

[0158] The robot controller 110 is arranged to record the virtual state signal to provide a state signal representation 560. It is further arranged to provide a state time stamp 561 associated with the state signal representation 560. The system is then arranged to provide the state signal representation 560 as an operation representation 355 of the operation signal history 353, and to provide the state time stamp 561 as an operation time stamp 456 of the operation signal history 353.

[0159] This allows improved monitoring of the robot system 100, since a recorded peripheral signal representation 357 can be analyzed together with state signal representation 560, as both are stored within the operation signal history 353. Such additional details allow an improved reconstruction of past operations of the robot system.

[0160] In some embodiments of the invention, state signal representations 560 and operation representations 355 are stored without storing operation time stamps 456 and state time stamps 561. In some other embodiments of the invention, state signal representations 560 and operation representations 355 are stored while storing one of either operation time stamps 456 or state time stamps 561. For example, the recording and storing of state signal representations 560 and operation representations 355 are at least partly synchronized, such that only storing one type of time stamp is sufficient to backtrack the timing of any of the state signal representations 560 and operation representations 355.

[0161] In some other embodiments of the invention, the robot system may be associated with a state machine or a state device, upon which different states of the robot system is associated. During operation of a robot, the robot may cycle through different states of the state machine. Similar operation cycles may typically cycle through similar states of a state machine. The states the robot system cycles through may be saved into the operation signal history as an operation representation.

[0162] FIG. 6 illustrates an embodiment of the invention arranged to store a plurality of peripheral signal representations 357a, 357b. The embodiment has a similar structure to the embodiment illustrated in FIG. 3. However, the embodiment illustrated in FIG. 6 features a plurality of peripheral devices, namely two peripheral devices 336a and 336b. Each of the peripheral devices 336a, 336b is connected to the robot controller 110 through a communicative peripheral connection 352a, 352b having a peripheral signal.

[0163] The two peripheral devices may for example be a sensor and a conveyer belt, respectively. Other embodiments may have at least three peripheral devices,

[0164] such as at least four peripheral devices, such as at least five peripheral devices, for example six or more peripheral devices.

[0165] The robot system 100 is arranged to perform recording of the peripheral signals of both of the peripheral connections 352a, 352b to obtain a peripheral signal representation 357a, 357b for each of the peripheral connections 352a, 352b. These separate peripheral signal representations 357a, 357b are then provided to the operation signal history 353 as operation representations 355.

[0166] The two peripheral signal representations 357a, 357b may be recorded and provided to the operation signal history in a synchronized process, or the recording and providing of the two representations 357a, 357b may be desynchronized.

[0167] Storing data from multiple communicative lines to peripheral devices 336a, 336b may give a user or an automated evaluation a more detailed insight into operation of the robot system. For example, into the complex interaction between a robot arm and multiple peripheral devices 336a,336b.

[0168] FIG. 7 illustrates an embodiment of the invention arranged to allow interaction with a human operator 763. The embodiment has a similar structure to the embodiment illustrated in FIG. 3. However, in the embodiment illustrated in FIG. 7, the robot controller 110 and the digital storage 354 are both communicatively connected to a programming device 762, which enables interaction with a human operator 763.

[0169] The programming device 762 has access to the operation signal history 353. The operation signal history 353, e.g. the operation representations 355 of the operation signal history 353, may thus be evaluated and/or displayed on the programming device 762. The programming device may for example be arranged to perform an automated evaluation of the operation signal history 753.

[0170] The operation signal history 353, a visual representation of the operation signal history, an evaluated version of the operation signal history, or an output of an evaluation of the operation signal history may be provided to the human operator 763 via the programming device 762. This allows the human operator 763 to assess the operation of the robot system 100. It further allows the human operator to interact with operation of the robot system via the communicative connection between the programming device 762 and the robot controller 110. This may for example allow the human operator to stop or pause operation. It may further allow the human operator to reconfigure the peripheral device 336 or its connection 352. It may even further allow the human operator to update the robot operation process, which the robot system is operated upon, e.g. to subsequently execute an updated robot operation process based on tracking operation of the robot system. It may additionally allow the human operator to identify whether any errors or inaccuracies has occurred during previous operation of the robot system

[0171] In some embodiments, the tracking of operation of the robot system 100 including interaction with a human operator 763 is performed while the robot system is being operated. The operation signal history may for example be continuously updated by providing peripheral signal representations. This allows the human operator to track the robot system during its operation. In other embodiments, the tracking of operation of the robot system 100 including interaction with a human operator 763 is performed to track previous operation, e.g. previous operation cycles, of the robot system 100. For example, to track whether an error has occurred within some past interval, for example within the past 8 hours.

[0172] FIG. 8 illustrates a method for tracking and operating a robot system according to an embodiment of the invention. The method has several steps and is based on one or more operation cycles 859. Other steps may be manual steps of handling the robot arm or peripheral device.

[0173] Robot systems and robot arms are sometimes employed to perform tasks/operations which are at least to some degree repetitive. Each repetition of a repetitive task may be referred to as an operation cycle 859. In the illustrated embodiment, four method steps M3-M6 are part of the operation cycle 859.

[0174] In a first step of the method M1, a communicative peripheral connection is provided between a peripheral device 336 and a robot controller 110. This connection may for example be provided/established upon installation of the robot system 100, or upon integration of a peripheral device 336 at a later stage.

[0175] In a next step of the method M2, an operation signal history 353 is established in a digital storage 354. The operation signal history 353 is based on one or more operations representations 355. The operation signal history 353 may typically be established prior to operating the robot, e.g. by executing a robot operation process. However, in some embodiments of the invention, the operation signal history 353 is established the first time a peripheral signal representation 457 is stored as an operation representation 355. The operation signal history 353 may be established automatically or manually on the digital storage 354.

[0176] In a next step of the method M3, a robot operation process is executed on the robot controller. This execution may for example enable operation of the robot system, e.g. of the robot arm 101 and/or one or more peripheral devices 336. The robot operation process may comprise separate internal processes on the robot controller, e.g. a process responsible for controlling the robot arm, and another process responsible for communication with any peripheral devices 336. Such separate processes may typically communicate internally, e.g. using virtual state signals. The execution of a robot operation process may also be performed to test the robot system or simulate operation of the robot system without necessarily operating/moving the robot arm 101. Such a test/simulation may for example show whether software works as intended. Such software may for example be software which the robot operation process is based upon.

[0177] In a next step M4, a peripheral signal is established within the peripheral connection 352. The establishment of this peripheral signal is linked to the step of executing the robot operation process, in the sense that the signal is related to the robot operation process. The signal may for example change during the robot operation process, or the robot operation process may depend on the peripheral signal as an input.

[0178] In a next step M5, the peripheral signal is recorded to obtain a peripheral signal representation 357. Such a representation may for example be analogue or digital and may be recorded within the robot controller or externally.

[0179] In a next step M6, the operation signal history 353 is updated by providing the peripheral signal representation 357 as an operation representation 355. The peripheral signal representation 357 may be communicated to the digital storage 354 through a wired connection, wirelessly, or in a combination of wired and wireless connection.

[0180] In this exemplary embodiment, an operation cycle 859 includes the steps of executing a robot operation process M3, establishing a peripheral signal M4, recording the peripheral signal M5, and updating the operation signal history M6. Once these steps have been performed, the robot system facilitating the method may repeat these steps, e.g. to once again execute a robot operation process M3, establish a peripheral signal M4, etc. Such a repetition may be highly similar to any previously performed operation cycle 859. Further, repetitions of operation cycles may be performed any number of times. Each time the operation signal history is updated, more data indicative of the operation of the robot system is added to the operation signal history. Thus, by combining repetitive operation of a robot system with systematic data acquisition and storage, it is possible to track minor changes in operation representation data. Such changes may be indicative of errors or indicate that maintenance is required.

[0181] Each operation process may or may not include the same method steps of a previous operation process. In other embodiments, fewer or more steps are included in an operation process.

[0182] In a next step M7, the operation of the robot system is tracked based on the operation signal history. This step may for example be performed by providing a visual representation of the operation signal history to a human operator associated with the robot system. The step may also for example be based on an automated evaluation of the operation signal history. Such an automated evaluation may for example be performed by a programming device. The automated evaluation may for example compare operation representations of different operation cycles and/or process data to identify deviations or trends in the data. The step of tracking operation of the robot system M7 may also be performed as part of an operation cycle, for example in combination with an automated evaluation, such that the operation of the robot system can be continuously tracked and monitored.

[0183] FIG. 9 illustrates a method of the invention involving simulation of operation of the robot system 100. Such a simulation can for example be facilitated by the robot controller 110, namely by executing a robot operation process on the robot controller 110. The simulation may be performed using physical equipment, such as the robot controller 110, connections 352 to peripheral devices 336 etc., but may not necessarily include movement of the robot arm 101.

[0184] In a first step M1, a communicative peripheral connection 352 is provided between the peripheral device 336 and the robot controller 110.

[0185] In a next step M2, an operation signal history 353 is established in a digital storage 354. The operation signal history 353 is comprises on one or more digitally stored operations representations 355.

[0186] In a next step M3, a robot operation process is executed on the robot controller 110. This may for example executing software which is arranged to operate the robot arm while movement of the robot arm is disabled. This may further lead to communication with peripheral devices 336 including changing peripheral signals.

[0187] In a next step M4, a peripheral signal is established within the peripheral connection 352.

[0188] In a next step M5, the peripheral signal is recorded to obtain a peripheral signal representation 357.

[0189] In a next step M6, the operation signal history 353 is updated by providing the peripheral signal representation 357 as an operation representation 355.

[0190] In a next step M7, the operation of the robot system is tracked based on the operation signal history. This tracking may for example enable an operator to assess whether the robot operation process and/or peripheral devices operate as intended.

[0191] In a next step M8, the robot system is subsequently operated based on the previous tracking of the operation of the robot system 100. The step of tracking operation of the robot system M7 has allowed an operator to assess operation of the robot system. If any errors or suboptimal execution is identified, this tracking may in turn allow the operator to either update the robot operation process or to change/reconfigure peripheral devices or their connections. If no errors or suboptimal execution is identified, the robot operator may proceed to subsequently operate the robot system by executing the tracked robot operation process, now knowing that this robot operation process works as intended.

[0192] Thus, from the examples of use the robot system of the present invention which is described with respect the FIG. 8 and FIG. 9, the invention may allow a user of the robot system to access previous executions of one or more robot operation processes, for example step by step, or to replay a previous execution. Further, in various embodiments, it is possible to jump to a particular part of the control software and start the execution/replay from that particular part. The user is able to do this e.g. via the display of an interface device. This may for example allow optimization, troubleshooting, and predictive maintenance.

[0193] Note that, generally, any of the method steps of the invention may be performed automatically, for example via a computer or processor, such as the robot controller. For example, the method steps of recording the peripheral signal. The step of tracking operation of the robot system may or may not be at least partially automated.

[0194] From the above, it is now clear that the invention relates to a robot system and a method for monitoring a robot system. By tapping into a peripheral connection between a robot controller and a peripheral device, it is possible to record a peripheral signal, and use a representation of that signal to update an operation signal history. The stored operation signal history can advantageously be utilized by an automatic evaluation system or a human operator to grant insights into the operation of the robot system to locate errors or to optimize operations.

[0195] The invention has been exemplified above with the purpose of illustration rather than limitation with reference to specific examples of methods and robot systems. Details such as a specific method and system structures have been provided in order to understand embodiments of the invention for instance it is to be understood that the embodiments disclosed in the different figures and corresponding description can be combined in any way. Note that detailed descriptions of well-known systems, devices, circuits, and methods have been omitted so as to not obscure the description of the invention with unnecessary details. It should be understood that the invention is not limited to the particular examples described above and a person skilled in the art can also implement the invention in other embodiments without these specific details. As such, the invention may be designed and altered in a multitude of varieties within the scope of the invention as specified in the claims.

BRIEF DESCRIPTION OF FIGURE REFERENCES

[0196]

TABLE-US-00001 100 robot system 101 robot arm 102a-102f robot joint 103 robot base 104 robot tool flange 105a-105f axis of robot joints 106a-106f rotation arrow of robot joints 107 robot tool flange reference point 108 robot base reference point 109 direction of gravity 110 robot controller 111 interface device 112 display 113 input devices 114 force torque sensor 115 acceleration sensor 216a; 216b; 216f output flange 217a; 217b; 2179f joint motors 218a; 218B, 218f output axle 219a; 219b; 219f joint sensor 220a-220f joint sensor signal 221 memory 222 processor 223a, 223b, 223f motor control signals 224 force signal 225 acceleration signal 336, 336a, 336b peripheral device 341 robot tool 352, 352a, 352b peripheral connection 353 operation signal history 354 digital storage 355 operation representations 456 operation time stamps 357, 357a, 357b peripheral signal representation 458 peripheral time stamp 859 operation cycle 560 state signal representation 561 state time stamp 762 programming device 763 human operator 564a-b robot controller process M1 method step of providing a communicative peripheral connection M2 method step of establishing an operation signal history M3 method step of executing a robot operation process M4 method step of establishing a peripheral signal M5 method step of recording the peripheral signal M6 method step of updating the operation signal history M7 method step of tracking operation of the robot system M8 method step of subsequently operation said robot system