Method of determining relationship between robot coordinate system and exterior surface
By manually calibrating using tracking equipment determined by independent locations, the complex, time-consuming and cost-effective calibration of industrial robots in the prior art is solved, and precise calibration of robots and external surfaces is achieved and cost-effective improvements are achieved.
Patent Information
- Application Number
- CN202280099401.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-23
- Publication Date
- 2025-04-01
AI Technical Summary
In the prior art, the process of calibrating an industrial robot to an external surface using a camera is complicated, time-consuming and costly, and in many cases it is impossible to achieve.
By providing tracking devices that can independently determine their own position and manually positioning these devices on the external surface, a common, less complex and more cost-effective approach is used to determine the relationship between the robot coordinate system and the external surface.
Accurate calibration of robots and external surfaces is achieved, reducing dependence on manual skills, simplifying the calibration process, and significantly improving cost efficiency, especially in multi-robots and multi-external surface scenarios.
Smart Images

Figure CN119744216A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to calibration of industrial robots. In particular, a method for determining a relationship between a robot coordinate system and an external surface, a control system for determining a relationship between a robot coordinate system and an external surface, and a robot system including an industrial robot, a tracking device and a control system are provided. Background Art
[0002] Calibrating an industrial robot to an external surface, such as a conveyor, can be a tedious and difficult operation, but it is also very important. For example, in pick and place applications, the picking accuracy, i.e., the positioning accuracy of the robot when picking an object from a moving conveyor, depends entirely on the relationship between the robot and the position of the conveyor being well established.
[0003] The most common procedure currently used to calibrate a robot to an external surface is to carry out the calibration step manually. To this end, the robot is slowly moved to a number of defined reference positions relative to the external surface using a well-defined tool center point (TCP). For each reference position, the pose (position and orientation) of the TCP is stored. Based on the stored TCP pose, the position and orientation of the external surface can be determined in the robot coordinate system of the robot. The robot is thus calibrated to the external surface. This calibration process requires professional skills (such as knowledge and experience) and is very time-consuming. An accurate calibration result also requires manual skills to move the TCP to the different reference positions recorded with high precision. The robot may also not be able to reach certain parts of the external surface.
[0004] US2017066133A1 discloses a method for setting a conveyor belt coordinate system having a predetermined relationship with a base coordinate system of a robot. A fixture having two unique features is placed on a movable portion of a conveyor belt. The robot carries a sensor capable of detecting the position of each of a plurality of features. The sensor may include a camera. The position of the feature is detected in two different operating positions of the movable portion. Summary of the invention
[0005] Although cameras can be used to determine the location of features on an external surface in order to calibrate an industrial robot to the external surface, such methods have several disadvantages. For example, in order to reliably determine the location of a feature on an external surface, the relative position between the camera and the feature is very limited. Each feature must be located within the field of view of the camera, and the camera may have to be positioned so that the optical axis of the camera intersects the feature. The camera must also be calibrated and must be kept near the industrial robot for any future calibration. Therefore, the process of using a camera to calibrate an industrial robot to an external surface is expensive, time consuming, complicated, and in many cases impossible.
[0006] It is an object of the present invention to provide an improved method of determining the relationship between a robot coordinate system and an external surface.
[0007] Another object of the present invention is to provide an improved control system.
[0008] Yet another object of the present invention is to provide an improved robotic system.
[0009] These objects are achieved by a method according to the appended claim 1 , a control system according to the appended claim 8 and a robot system according to the appended claim 12 .
[0010] The invention is based on the recognition that by providing tracking devices that are able to determine their own position, and by manually positioning these tracking devices on the external surface, the relationship between the robot coordinate system and the external surface can be determined in a generic, less complex and more cost-effective way.
[0011] According to a first aspect, a method for determining a relationship between a robot coordinate system of an industrial robot and an external surface at least partially accessible to the industrial robot is provided, the method comprising providing at least one tracking device, each tracking device being configured to independently determine its position and provide position data indicating the position; positioning one or more tracking devices of the at least one tracking device on the external surface; providing position data from each tracking device in a control system when the one or more tracking devices of the at least one tracking device are positioned on the external surface; and determining, by the control system, a relationship between the robot coordinate system and the external surface based on the position data from each tracking device, wherein the position data indicates at least two different positions.
[0012] One or more tracking devices can be easily placed manually on the external surface and can be easily moved manually between different external surfaces for different calibrations. A human user can, for example, grab and place one or more tracking devices by hand. This principle is much simpler than removing and installing the camera for each calibration, and much cheaper than associating a camera with each external surface, especially if it is taken into account that the robotic system may include multiple robots and multiple external surfaces. Therefore, this method has a huge advantage over calibration between the robot and the external surface using a camera, and over calibration between the robot and the external surface by manually nudging the TCP to multiple reference positions. The cost efficiency of this method is even more significant when a relatively large number of robots (e.g., ten robots) are calibrated to one or more external surfaces.
[0013] By virtue of the one or more tracking devices being configured to independently determine their positions, the method enables accurate calibration of the robot and the external surface without relying on manual skill. For example, the method can be performed as long as the user can position the one or more tracking devices anywhere on the external surface. For example, the method does not require that the one or more tracking devices be performed within the range or field of view of any camera carried by the robot.
[0014] When the relationship between the robot coordinate system and the external surface is determined, the robot and the external surface are calibrated. Determining the relationship between the robot coordinate system and the external surface may include determining the position and orientation of the external surface in the robot coordinate system. Once one or more tracking devices are manually placed on the external surface, the method may be automatically performed.
[0015] The external surface may be a working surface of the robot. For example, the robot may be configured to pick up objects from the external surface and / or place objects on the external surface. The external surface may or may not be flat. The external surface of a circular conveyor may, for example, be conical. The external surface is external to the robot.
[0016] Each tracking device may be configured to determine a relative position or an absolute position. The relative position may be determined based on the displacement of the tracking device relative to an unknown reference position. If the tracking device is calibrated to a known reference position, each tracking device may determine its absolute position. The known reference position may be at a known position in the robot coordinate system.
[0017] Each tracking device may include one or more accelerometers. In this case, each tracking device may be configured to independently determine its position relative to a reference position based on readings from the one or more accelerometers. In the case where the reference position is known, each tracking device may determine its absolute position. However, the method may be implemented even if each tracking device only determines its position relative to an arbitrary common unknown position. Alternatively or additionally, each tracking device may include a gyroscope.
[0018] Based on the position data from a single tracking device at two different locations, the direction of movement of the tracking device can be determined. Each tracking device and / or the control system can be configured to assign a time value to each position data. In this way, the speed of the tracking device can also be determined.
[0019] Each tracking device has a unique identity. The mass of each tracking device may be 500 g or less. Each tracking device may be, for example, a tag, a disc or a chip.
[0020] The method can be performed for a stationary external surface, such as a work surface on a stationary workbench. Where each tracking device is configured to determine its absolute position, the position and orientation of the stationary external surface can be determined based on position data from at least three tracking devices positioned on the stationary external surface. Thus, the method can be implemented without moving the robot. One or more tracking devices can be positioned at an edge or corner of the stationary external surface. In this way, the boundaries of the stationary external surface can be collected and notified to the robot.
[0021] In the case where each tracking device is only configured to determine its relative position, one tracking device may be positioned on the robot and three or more tracking devices may be positioned on the stationary external surface. The tracking device positioned on the robot may be configured to be moved by the robot to different known positions in the robot coordinate system. The tracking device may be positioned, for example, at the TCP or directly at a mounting interface of the robot. The position and orientation of the stationary external surface may be determined based on position data from tracking devices positioned at at least two different positions on the robot and position data from at least three tracking devices positioned on the stationary external surface.
[0022] The method can be performed for a movable external surface, such as a linear movable work surface on a linear conveyor or a rotatable work surface on a rotatable conveyor. In the case where each tracking device is configured to determine its absolute position, the direction of movement of the movable external surface (both linear and rotational) can be determined based on position data from only a single tracking device positioned on the movable external surface at two different positions of the movable external surface. By positioning two or more tracking devices on the movable external surface, the orientation of the movable external surface can also be determined based on position data from these tracking devices at two different positions of the movable external surface. In the case where each tracking device is configured only to determine its relative position, the above example can be modified by positioning one tracking device on the robot and also moving the robot.
[0023] The method can calibrate the robot to the external surface within a few minutes and thus has a significant impact on the integration and commissioning of robotic systems.
[0024] Each tracking device may be configured to wirelessly transmit position data to a control system. Wireless transmission may be accomplished, for example, using Or RFID (Radio Frequency Identification).
[0025] Each tracking device may be configured to wirelessly transmit identification data indicating the identity of the tracking device to the control system. This facilitates guiding a user to position multiple tracking devices, for example using a digital interface. In other words, a user may be instructed to position a particular tracking device at a particular location.
[0026] Each tracking device can perform telemetry to repeatedly collect position data and optional identification data, and transmit the data to the control system. Each tracking device can also be configured to independently determine its orientation. In this case, each tracking device can be configured to wirelessly transmit orientation data indicating the orientation of the tracking device.
[0027] The method may also include setting, in the control system, an origin of an external coordinate system associated with the external surface at a location of one of the tracking devices positioned on the external surface. For example, a user may place one of the tracking devices at the origin of the external coordinate system, and one or more additional tracking devices may be randomly placed on the external surface. This gives the user the opportunity to easily and intuitively decide at which location on the external surface the external coordinate system should be positioned.
[0028] The method may also include positioning one tracking device at a known position in the robot coordinate system; and providing position data from each tracking device in the control system when at least one tracking device is positioned on the external surface and one tracking device is positioned at a known position in the robot coordinate system.
[0029] A tracking device can be positioned on an industrial robot.
[0030] The method may also include providing position data from at least one tracking device when the industrial robot and the external surface are positioned in a first position relationship in the control system; moving the industrial robot and / or the external surface so that the industrial robot and the external surface are positioned in a second position relationship different from the first position relationship; and providing position data from at least one tracking device in the control system when the industrial robot and the external surface are positioned in the second position relationship; wherein the relationship between the robot coordinate system and the external surface is determined based on the position data from each of the first position relationship and the second position relationship.
[0031] The robot and / or external surface may or may not stop at the second positional relationship. If the tracking device provides time synchronized position data, the robot and / or external surface does not have to stop at the second positional relationship. Position data may be provided in this manner from a plurality of additional positional relationships, such as a third positional relationship, a fourth positional relationship, and a fifth positional relationship. For each tracking device that is in the same position in each of the first positional relationship and the second positional relationship, position data may be provided for only one of the first positional relationship and the second positional relationship.
[0032] According to a second aspect, a control system for determining a relationship between a robot coordinate system of an industrial robot and an external surface at least partially accessible to the industrial robot is provided, the control system comprising at least one data processing device and at least one memory, the at least one memory having at least one computer program stored thereon, the at least one computer program comprising program code, which, when executed by the at least one data processing device: causes the at least one data processing device to provide position data from each tracking device of the at least one tracking device when one or more tracking devices of the at least one tracking device are positioned on the external surface, wherein the position data indicates the position of the corresponding tracking device; and causes the at least one data processing device to determine a relationship between the robot coordinate system and the external surface based on the position data from each tracking device, wherein the position data indicates at least two different positions.
[0033] The at least one computer program may include program code that, when executed by the at least one data processing device, causes the at least one data processing device to perform or command the performance of any step according to the present disclosure. The control system may be implemented, for example, in a robot controller, a computer, a programming device such as a teach pendant unit, and / or a mobile phone.
[0034] The at least one computer program may include program code which, when executed by the at least one data processing device, causes the at least one data processing device to set the origin of an external coordinate system associated with the external surface at the location of a tracking device positioned on the external surface.
[0035] The at least one computer program may include program code which, when executed by the at least one data processing device, causes the at least one data processing device to provide position data from each tracking device, and at least one tracking device is positioned on the external surface and one tracking device is positioned at a known position in the robot coordinate system.
[0036] At least one computer program may include program code, which, when executed by the at least one data processing device, causes the at least one data processing device to provide position data from one or more tracking devices among the at least one tracking device when the industrial robot and the external surface are positioned in a first position relationship; command the industrial robot and / or the external surface to move so that the industrial robot and the external surface are positioned in a second position relationship different from the first position relationship; and provide position data from one or more tracking devices among the at least one tracking device when the industrial robot and the external surface are positioned in the second position relationship; wherein the relationship between the robot coordinate system and the external surface is determined based on the position data from each of the first position relationship and the second position relationship.
[0037] According to a third aspect, a robot system is provided, the robot system comprising a control system according to the second aspect, an industrial robot and at least one tracking device. The industrial robot, the at least one tracking device and the control system may be of any type according to the first and second aspects.
[0038] Each tracking device may be configured to wirelessly transmit the position data to the control system.Alternatively or additionally, each tracking device may be configured to wirelessly transmit identification data indicative of the identity of the tracking device to the control system. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Additional details, advantages and aspects of the present disclosure will become apparent from the following description taken in conjunction with the accompanying drawings, in which:
[0040] Figure 1 : schematically represents a robot system including an industrial robot, a plurality of tracking devices and a stationary external surface;
[0041] Figure 2 : A perspective view schematically showing one of the tracking devices;
[0042] Figure 3 : Schematically represents the position of the reference structure Figure 2 A top view of the tracking device in FIG.
[0043] Figure 4 : schematically represents a robotic system and a plurality of tracking devices positioned on an external surface;
[0044] Figure 5 : schematically represents a robot system and a first positional relationship between the industrial robot and the external surface;
[0045] Figure 6: schematically represents a robot system and a second positional relationship between the industrial robot and the external surface;
[0046] Figure 7 : schematically shows another example of a robot system when a linearly movable external surface is included and the industrial robot has a first positional relationship with the external surface;
[0047] Figure 8 : schematically shows Figure 7 a robot system in the invention and a second positional relationship between the industrial robot and the external surface;
[0048] Fig. 9 : schematically illustrates another example of a robot system when a rotatable external surface is included and the industrial robot has a first positional relationship with the external surface; and
[0049] Fig.10 : schematically shows Fig. 9 A robot system in the embodiment of the present invention and a second positional relationship between the industrial robot and the external surface. DETAILED DESCRIPTION
[0050] Hereinafter, a method for determining a relationship between a robot coordinate system and an external surface, a control system for determining a relationship between a robot coordinate system and an external surface, and a robot system including an industrial robot, a tracking device, and a control system will be described. The same or similar reference numerals will be used to represent the same or similar structural features.
[0051] Figure 1 A robot system 10a is schematically represented. The robot system 10a comprises an industrial robot 12 and a robot controller 14a.
[0052] The industrial robot 12 of this example includes a base 16, a manipulator 18 movable relative to the base 16, and an end effector 20 located at the distal end of the manipulator 18. The end effector 20 is exemplified here as a gripper. The manipulator 18 can move on three or more axes, such as six or seven axes.
[0053] The industrial robot 12 of this example includes a base coordinate system 22a fixed to the base 16, a mounting interface coordinate system 22b fixed to the mounting interface at the distal end of the manipulator 18, and a tool coordinate system 22c at a fixed distance from the mounting interface coordinate system 22b. The base coordinate system 22a, the mounting interface coordinate system 22b, and the tool coordinate system 22c each constitute an example of a robot coordinate system according to the present disclosure. One, several, or all of the robot coordinate systems 22a-22c may also be referred to by reference numeral "22".
[0054] The robot controller 14a includes a data processing device 24a and a memory 26a. The memory 26a has a computer program stored thereon. The computer program includes program code that, when executed by the data processing device 24a, causes the data processing device 24a to perform or command the performance of various steps described herein. In this example, the robot controller 14a is configured to control the operation of the industrial robot 12. The robot controller 14a is an example of a control system according to the present disclosure.
[0055] The robot system 10a of this example also includes a mobile phone 14b. Figure 7 In the example, the mobile phone 14b is held by a human user 28. The mobile phone 14b includes a data processing device 24b and a memory 26b. The memory 26b has a computer program stored thereon. The computer program includes a program code that, when executed by the data processing device 24b, causes the data processing device 24b to perform or command the performance of the various steps described herein. The mobile phone 14b communicates signals with the robot controller 14a. In this example, the mobile phone 14b is configured to perform calibration and send the calibration results to the robot controller 14a. The mobile phone 14b is another example of a control system according to the present disclosure. However, the functions performed by the mobile phone 14b can be performed by a control system rather than a mobile phone.
[0056] The robotic system 10a of this example also includes a stationary workbench 30. The workbench 30 includes a stationary exterior surface 32a. The industrial robot 12 may, for example, perform tasks including picking up objects from the exterior surface 32a and / or placing objects on the exterior surface 32a. The exterior surface 32a of this example is flat.
[0057] The robot system 10a also includes a plurality of tracking devices, here a first tracking device 34a, a second tracking device 34b and a third tracking device 34c. Each tracking device 34a-34c is configured to independently determine its position. One, several or all of the tracking devices 34a-34c may also be referred to by reference numeral "34".
[0058] Figure 1 A reference coordinate system 36 is also shown. Figure 1, user 28 has placed tracking devices 34a-34c on external surface 32a. First tracking device 34a is positioned at first position 38a in reference coordinate system 36 and is configured to wirelessly transmit first position data 40a indicative of first position 38a to mobile phone 14b. Second tracking device 34b is positioned at second position 38b in reference coordinate system 36 and is configured to wirelessly transmit second position data 40b indicative of second position 38b to mobile phone 14b. Third tracking device 34c is positioned at third position 38c in reference coordinate system 36 and is configured to wirelessly transmit third position data 40c indicative of third position 38c to mobile phone 14b.
[0059] The first tracking device 34a is further configured to wirelessly transmit first identification data 42a indicating the identity of the first tracking device 34a to the mobile phone 14b. The second tracking device 34b is further configured to wirelessly transmit second identification data 42b indicating the identity of the second tracking device 34b to the mobile phone 14b. The third tracking device 34c is further configured to wirelessly transmit third identification data 42c indicating the identity of the third tracking device 34c to the mobile phone 14b.
[0060] One, several or all of the positions 38a-38c may also be referred to by reference numeral “38”. One, several or all of the position data 40a-40c may also be referred to by reference numeral “40”. Once again, several or all of the identification data 42a-42c may also be referred to by reference numeral “42”.
[0061] The relationship between the reference coordinate system 36 and the base coordinate system 22a may be known or unknown. In the case where there is a known offset between the base coordinate system 22a and the reference coordinate system 36, the position 38 in the reference coordinate system 36 can also be easily determined in the base coordinate system 22a.
[0062] The position data 40 from all tracking devices 34 are synchronized in time. To this end, each tracking device 34 may associate the position data 40 with time data. Alternatively, the mobile phone 14b may register the point in time at which the corresponding position data 40 is received. The position data 40 may be three-dimensional in the reference coordinate system 36. Wireless communication between the tracking devices 34 and the mobile phone 14b may be performed, for example, using or RFID.
[0063] Figure 1Also shown is an external coordinate system 44a associated with the external surface 32a. In this example, the first position 38a of the first tracking device 34a coincides with the origin of the external coordinate system 44a. The external coordinate system 44a may be used when controlling the industrial robot 12 relative to the external surface 32a. For example, the position of an object (not shown) placed on the external surface 32a to be processed by the industrial robot 12 may be represented in the external coordinate system 44a. For this purpose, the external coordinate system 44a may also be referred to as an object frame.
[0064] The tracking device 34 may be positioned on the exterior surface 32a out of reach of the industrial robot 12. Furthermore, the tracking device 34 need not be positioned within the field of view of any camera carried by the industrial robot 12.
[0065] Figure 2 Schematically, a perspective view of one of the tracking devices 34 is shown. Each tracking device 34 of the robotic system 10a may be of the same type, such as Figure 2 The types in the table may differ only in the identification data 42.
[0066] The tracking device 34 comprises a body 46. In this example, the body 46 is transparent. The body 46 has a flat shape, here a cylindrical shape, wherein the length of the cylinder is much shorter than the diameter of the cylinder.
[0067] The tracking device 34 includes a crosshair 48. The crosshair 48 is centered at the location of the tracking device 34 transmitted by the tracking device 34. The crosshair 48 is visible to the user 28 through the body 46.
[0068] Due to crosshairs 48, user 28 can accurately position tracking device 34 if desired. User 28 may, for example, want to position tracking device 34 at an intended origin of external coordinate system 44a or at one of the axes of external coordinate system 44a.
[0069] The tracking device 34 of this specific and non-limiting example includes a three-dimensional accelerometer 50, a transceiver 52, and a tracking controller 54. The tracking controller 54 includes a data processing device 56 and a memory 58. The memory 58 has a computer program stored thereon. The computer program includes program code that, when executed by the data processing device 56, causes the data processing device 56 to perform or command the performance of the various steps described herein. The tracking controller 54 is here configured to process data from the accelerometer 50 to provide position data 40, and to command the transceiver 52 to transmit the position data 40. The transceiver 52 is in signal communication with the mobile phone 14b.
[0070] Figure 3A top view of the tracking device 34 is schematically represented. Here, the tracking device 34 is positioned in a reference structure 60. The reference structure 60 of this specific and non-limiting example includes a hole 62 and a mark 64 so that the user 28 can position the tracking device 34 at a well-defined position relative to the reference structure 60, wherein the position 38 coincides with the origin of the reference coordinate system 36. When the tracking device 34 is positioned at this well-defined position, the user 28 can reset the tracking device 34, for example, by a button (not shown) on the tracking device 34 or by a command in a mobile phone 14b that communicates with the transceiver 52. When the tracking device 34 is reset in this manner, the tracking device 34 is calibrated relative to the reference coordinate system 36. All tracking devices 34 can be calibrated in this manner relative to the same reference coordinate system 36. Alternative ways of calibrating the tracking device 34 are conceivable.
[0071] Figure 4 The robotic system 10a is schematically shown in which four tracking devices 34a-34d have been manually placed on an exterior surface 32a by a user 28. Figure 4 In FIG. 3 , each tracking device 34 has been calibrated relative to a reference coordinate system 36 , and there is a known offset between the base coordinate system 22 a and the reference coordinate system 36 .
[0072] Tracking devices 34 may be easily placed on exterior surface 32a by user 28. For example, two tracking devices 34 and six tracking devices 34 may be easily placed on exterior surface 32a by user 28, but if six tracking devices 34 are used, calibration will be more accurate than if only two tracking devices 34 are used.
[0073] Once the user 28 has positioned the tracking device 34 on the external surface 32a, the user 28 can provide some preliminary information to the mobile phone 14b. Such preliminary information can include information that the external surface 32a is stationary; information that the origin of the external coordinate system 44a should be positioned at the first position 38a of the first tracking device 34a; information that the second position 38b of the second tracking device 34b should be positioned on the X-axis of the external coordinate system 44a; and information that the third position 38c of the third tracking device 34c should be positioned on the Y-axis of the external coordinate system 44a.
[0074] The user 28 may then input a calibration command to the mobile phone 14b. In response to the calibration command, each tracking device 34 sends its position data 40 to the mobile phone 14b. Based on the position data 40, the mobile phone 14b may determine the position and orientation of the external surface 32a in the base coordinate system 22a. The mobile phone 14b may then wirelessly transmit the determined relationship between the base coordinate system 22a and the external surface 32a to the robot controller 14a.
[0075] Figure 5 A robot system 10a is schematically represented, wherein three tracking devices 34a-34c are positioned on an external surface 32a, and a fourth tracking device 34d is fixed to the industrial robot 12, here at a mounting interface of the manipulator 18, such that the position of the fourth tracking device 34d coincides with the position of the mounting interface coordinate system 22b. Figure 5 In the example of FIG. 3 , the position of the fourth tracking device 34 d in the base coordinate system 22 a is known. However, Figure 4 In contrast to the example in Figure 5 In the example of , the offset between the base coordinate system 22a and the reference coordinate system 36 is unknown. An example of a situation when the offset is unknown may be when the base coordinate system 22a is initially associated with a second robot (not shown) and the positional relationship between the industrial robot 12 and the second robot is unknown.
[0076] exist Figure 5 In FIG. 6 , there exists a first positional relationship 66 between the industrial robot 12 and the external surface 32a. In response to the calibration command, each tracking device 34 sends its position data 40 to the mobile phone 14b.
[0077] Based on the position data 40, the mobile phone 14b can calculate the distance between each pair of tracking devices 34. The mobile phone 14b then instructs the industrial robot 12 (here via the robot controller 14a) to move so that the fourth tracking device 34d is positioned differently relative to the three tracking devices 34a-34c on the exterior surface 32a.
[0078] Figure 6 The robotic system 10a and a second positional relationship 68 between the industrial robot 12 and the external surface 32a are schematically represented. The industrial robot 12 has moved compared to the first positional relationship 66 such that the fourth tracking device 34d is positioned differently relative to the tracking devices 34a-34c on the external surface 32a in the second positional relationship 68. The industrial robot 12 may or may not be stopped in the second positional relationship 68.
[0079] Since the position of the fourth tracking device 34d in the base coordinate system 22a is known, and since all tracking devices 34 are calibrated to a common but unknown reference position, the position of the fourth tracking device 34d and the distances between the tracking devices 34 in the first positional relationship 66 and the second positional relationship 68 can be used to unambiguously determine the position and orientation of the external surface 32a in the base coordinate system 22a. Also in this way, the robot coordinate system can be calibrated to the external surface 32a. Therefore, the method can also be carried out without having to know the offset between the base coordinate system 22a and the reference coordinate system 36. This facilitates calibration because the reference structure 60 can be positioned at a position with an unknown offset relative to the robot coordinate system 22a.
[0080] As the amount of position data 40 increases, the accuracy of the calibration will increase without manual effort.The amount of position data 40 may be increased by providing additional tracking devices 34 and / or by collecting position data 40 at additional positional relationships, ie at more sampling locations.
[0081] When the position data 40 relative to the external surface 32a is overdetermined, that is, when the position data 40 can be represented by a system of equations, wherein the system of equations has more unknowns than unknowns, the position and orientation of the external surface 32a can be determined in the base coordinate system 22a, for example by using a least squares method. The more external surfaces 32a that can be overdetermined based on the position data 40, the higher the accuracy of the calibration.
[0082] Figure 7 A further example of a robot system 10b is schematically shown. The differences with respect to the robot system 10a will be mainly described. The robot system 10b comprises a linearly movable outer surface 32b, which is arranged here on a linear conveyor 70. The robot controller 14a is here configured to also control the operation of the linear conveyor 70. Figure 7 In FIG. 6 , the industrial robot 12 and the exterior surface 32 b are in a first positional relationship 66. Figure 7 In the present invention, the positional relationship between the reference coordinate system 36 and the base coordinate system 22a is known. Therefore, each tracking device 34 can determine its position in the base coordinate system 22a. Figure 7 In this case, the position and orientation of the external surface 32b can be determined in the base coordinate system 22a, but the movement direction of the external surface 32b is unknown.
[0083] exist Figure 7 , the first tracking device 34a has been placed at the desired origin of the external coordinate system 44b of the external surface 32b. The second tracking device 34b and the third tracking device 34c may be arbitrarily positioned on the external surface 32b.
[0084] When the user 28 has placed the tracking device 34 on the external surface 32b and initiated calibration, communication between the tracking device 34 and the mobile phone 14b is activated and position data 40 from each tracking device 34 in the first positional relationship 66 is sent to the mobile phone 14b. The linear conveyor 70 is then commanded to move the external surface 32b so that the industrial robot 12 and the external surface 32b are positioned in the second positional relationship 68.
[0085] Figure 8 The robotic system 10b and the second positional relationship 68 between the industrial robot 12 and the external surface 32b are schematically shown. The position data 40 from each tracking device 34 in the second positional relationship 68 is sent to the mobile phone 14b. The external surface 32b may or may not be stopped at the second positional relationship 68. As an alternative to stopping, the external surface 32b may be continuously moved while repeatedly collecting the position data 40 and associated time data from the tracking devices 34 at each sampling time. Each stop or sampling time may constitute a unique positional relationship.
[0086] Based on the position data 40 from each tracking device 34 in each of the first position relationship 66 and the second position relationship 68, the mobile phone 14b can determine the position and orientation of the external surface 32b, as well as the linear movement direction 72 of the external surface 32b in the base coordinate system 22a. Calibration according to this example can be carried out without moving the industrial robot 12 and optionally without stopping the linear conveyor 70.
[0087] Since the first tracking device 34a and the third tracking device 34c are separated in a direction transverse to the linear movement direction 72, the rotational position of the external surface 32b can also be determined unambiguously, for example, about the X-axis of the reference coordinate system 36. The first tracking device 34a and the third tracking device 34c can also be used to determine the width of the external surface 32b. That is, it can be concluded that the width of the external surface 32b is at least as large as the distance between the first tracking device 34a and the third tracking device 34c along the Y-axis of the external coordinate system 44b. To this end, the first tracking device 34a and the third tracking device 34c can be positioned by the user 28 to span the width of the external surface 32b. Knowing the width of the external surface 32b enables the industrial robot 12 to utilize the linear conveyor 70 more efficiently.
[0088] With only one tracking device 34 positioned on the exterior surface 32b, the linear movement direction 72 can be determined, but the orientation of the plane of the exterior surface 32b cannot be determined. Therefore, as a possible alternative, it can be assumed that the exterior surface 32b is horizontal. In this case, the calibration of the base coordinate system 22a and the exterior surface 32b can be performed using only a single tracking device 34 on the exterior surface 32b (and no tracking device 34 on the industrial robot 12).
[0089] Despite Figure 7 and Figure 8 Only two positions of the outer surface 32b are shown, corresponding to the first positional relationship 66 and the second positional relationship 68, but the measurements can be repeated during the movement of the outer surface 32b. The more measurements collected, the higher the accuracy of the calibration.
[0090] Fig. 9 Another example of a robot system 10c is schematically shown. One, several or all of the robot systems 10a-10c are alternatively referred to by reference numeral "10". The robot system 10a and the robot system 10b will be mainly described in terms of their differences. The robot system 10c comprises a rotatable outer surface 32c, which is here arranged on a circular conveyor belt 74. The robot controller 14a is here configured to also control the operation of the endless conveyor belt 74. Fig. 9 , the industrial robot 12 and the external surface 32c are in a first positional relationship 66. Furthermore, the positional relationship between the reference coordinate system 36 and the base coordinate system 22a is unknown.
[0091] exist Fig. 9 , the first tracking device 34a has been placed at the desired origin of the external coordinate system 44c of the external surface 32c. One, several, or all of the external coordinate systems 44a-44c may also be referred to by reference numeral "44". The second tracking device 34b and the third tracking device 34c have been arbitrarily positioned on the external surface 32b. The fourth tracking device 34d has been positioned at the origin of the mounting interface coordinate system 22b on the industrial robot 12.
[0092] When the user 28 has placed the tracking device 34 on the external surface 32c and initiated calibration, communication between the tracking device 34 and the mobile phone 14b is activated and position data 40 from each tracking device 34 in the first positional relationship 66 is sent to the mobile phone 14b. The circular conveyor 74 is then commanded to move the external surface 32b so that the industrial robot 12 and the external surface 32b are positioned in the second positional relationship 68.
[0093] Fig.10The robotic system 10c and the second positional relationship 68 between the industrial robot 12 and the external surface 32c are schematically represented. It should be noted that in this example, the pose of the industrial robot 12 is the same in the first positional relationship 66 and the second positional relationship 68. The position data 40 from each tracking device 34 in the second positional relationship 68 is sent to the mobile phone 14b. The external surface 32c may or may not stop at the second positional relationship 68.
[0094] Based on the position data 40 from each tracking device 34, the mobile phone 14b can determine the distance between each pair of tracking devices 34 in each of the first position relationship 66 and the second position relationship 68. Based on these distances and based on knowledge of the position of the fourth tracking device 34d in the base coordinate system 22a, the mobile phone 14b can determine the position and orientation of the external surface 32c and the circumferential movement direction 76 of the external surface 32c in the base coordinate system 22a.
[0095] Since the first tracking device 34a and the second tracking device 34b are separated in the radial direction with respect to the circumferential movement direction 76, the shape of the outer surface 32c can also be determined. For example, it can be determined whether the outer surface 32c is flat or conical. With only one tracking device 34 positioned on the outer surface 32c, the circumferential movement direction 76 can be determined, but the shape of the outer surface 32c cannot be determined. Therefore, as a possible alternative, it can be assumed that the outer surface 32c is flat. In this case, the calibration of the base coordinate system 22a and the outer surface 32c can be carried out using only a single tracking device 34 on the outer surface 32c.
[0096] Despite Fig. 9 and Fig.10 Only two positions of the outer surface 32b are shown, corresponding to the first positional relationship 66 and the second positional relationship 68, but the measurements can be repeated during the movement of the outer surface 32c. The more measurements collected, the higher the accuracy of the calibration.
[0097] Although the present disclosure has been described with reference to exemplary embodiments, it should be understood that the present invention is not limited to what has been described above. For example, it should be understood that the size of the parts can be changed as needed. Therefore, the present invention is only limited by the scope of the attached claims.
Claims
1. A method for determining a relationship between a robot coordinate system (22) of an industrial robot (12) and an external surface (32) at least partially accessible to the industrial robot (12), the method comprising: providing at least one tracking device (34), each tracking device (34) being configured to independently determine its position (38) and to provide position data (40) indicative of said position (38); positioning one or more of the at least one tracking device (34) on the exterior surface (32); providing position data (40) from each tracking device (34) in a control system (14a, 14b) when one or more of the at least one tracking device (34) is positioned on the exterior surface (32); and A relationship between the robot coordinate system (22) and the external surface (32) is determined by the control system (14a, 14b) based on the position data (40) from each tracking device (34), wherein the position data (40) indicates at least two different positions (38).
2. The method of claim 1, wherein each tracking device (34) is configured to wirelessly transmit the position data (40) to the control system (14a, 14b).
3. The method of claim 2, wherein each tracking device (34) is configured to wirelessly transmit identification data (42) indicative of the identity of the tracking device (34) to the control system (14a, 14b).
4. A method according to any of the preceding claims, further comprising setting in the control system (14a, 14b) an origin of an external coordinate system (44) associated with the external surface (32) at a position (38) of a tracking device (34) positioned on the external surface (32).
5. The method according to any one of the preceding claims, further comprising: positioning a tracking device (34) at a known position in the robot coordinate system (22) outside the exterior surface (32); as well as Position data (40) from each tracking device (34) is provided in the control system (14a, 14b) when at least one tracking device (34) is positioned on the external surface (32), and one tracking device (34) is positioned at the known position in the robot coordinate system (22) outside the external surface (32).
6. The method of claim 5, wherein a tracking device (34) is positioned on the industrial robot (12).
7. The method according to any one of the preceding claims, further comprising: providing position data (40) from at least one tracking device (34) in the control system (14a, 14b) when the industrial robot (12) and the external surface (32) are positioned in a first positional relationship (66); moving the industrial robot (12) and / or the external surface (32) so that the industrial robot (12) and the external surface (32) are positioned in a second positional relationship (68) different from the first positional relationship (66); as well as providing position data (40) from at least one tracking device (34) in the control system (14a, 14b) when the industrial robot (12) and the external surface (32) are positioned in the second positional relationship (68); Wherein a relationship between the robot coordinate system (22) and the external surface (32) is determined based on position data (40) from each of the first position relationship (66) and the second position relationship (68).
8. A control system (14a, 14b) for determining a relationship between a robot coordinate system (22) of an industrial robot (12) and an external surface (32) at least partially accessible to the industrial robot (12), the control system (14a, 14b) comprising at least one data processing device (24a, 24b) and at least one memory (26a, 26b), the at least one memory having at least one computer program stored thereon, the at least one computer program comprising program code which, when executed by the at least one data processing device (24a, 24b): causing the at least one data processing device (24a, 24b) to provide position data (40) from each of the at least one tracking device (34) when one or more of the at least one tracking device (34) is positioned on the exterior surface (32), wherein the position data (40) indicates a position (38) of the respective tracking device (34); and The at least one data processing device (24a, 24b) is caused to determine a relationship between the robot coordinate system (22) and the external surface (32) based on the position data (40) from each tracking device (34), wherein the position data (40) indicates at least two different positions (38).
9. The control system (14a, 14b) of claim 8, wherein the at least one computer program comprises program code which, when executed by the at least one data processing device (24a, 24b): The at least one data processing device (24a, 24b) is caused to set an origin of an external coordinate system (44) associated with the external surface (32) at a location (38) of a tracking device (34) positioned on the external surface (32).
10. The control system (14a, 14b) according to claim 8 or 9, wherein the at least one computer program comprises program code which, when executed by the at least one data processing device (24a, 24b): When at least one tracking device (34) is positioned on the external surface (32) and one tracking device (34) is positioned at a known position in the robot coordinate system (22), causing the at least one data processing device (24a, 24b) to provide position data (40) from each tracking device (34).
11. The control system (14a, 14b) according to any one of claims 8 to 10, wherein the at least one computer program comprises program code which, when executed by the at least one data processing device (24a, 24b): causing the at least one data processing device (24a, 24b) to provide position data (40) from at least one tracking device (34) when the industrial robot (12) and the external surface (32) are positioned in a first positional relationship (66); causing the at least one data processing device (24a, 24b) to command the industrial robot (12) and / or the external surface (32) to move so that the industrial robot (12) and the external surface (32) are positioned in a second positional relationship (68) different from the first positional relationship (66); as well as causing the at least one data processing device (24a, 24b) to provide position data (40) from at least one tracking device (34) when the industrial robot (12) and the external surface (32) are positioned in a second positional relationship (68); wherein the at least one data processing device (24a, 24b) is caused to determine a relationship between the robot coordinate system (22) and the external surface (32) based on position data (40) from each of the first position relationship (66) and the second position relationship (68).
12. A robotic system (10) comprising the control system (14a, 14b) according to any one of claims 8 to 11, the industrial robot (12) and the at least one tracking device (34).
13. The robotic system (10) of claim 12, wherein each tracking device (34) is configured to wirelessly transmit the position data (40) to the control system (14a, 14b).
14. The robotic system (10) of claim 13, wherein each tracking device (34) is configured to wirelessly transmit identification data (42) indicative of the identity of the tracking device (34) to the control system (14a, 14b).
Citation Information
Patent Citations
Coordinate system setting method, coordinate system setting apparatus, and robot system provided with coordinate system setting apparatus
US20170066133A1