Method for operating modular robot, control unit, modular robot, arm module

By introducing control units into modular industrial robots, the robot configuration is automatically created, which solves the problem of reconfiguration of existing modular industrial robots, and improves operation efficiency and configuration simplicity.

CN119403655APending Publication Date: 2025-02-07BECKHOFF AUTOMATION GMBH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202380048897.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-21
Filing Date
2023-06-06
Publication Date
2025-02-07

AI Technical Summary

Technical Problem

Existing modular industrial robots need to be reconfigured after each conversion, resulting in complex operation and reduced efficiency.

Method used

By introducing a control unit into the modular robot, the control unit can receive the allocation information of the arm module, determine the basic data of the arm module, and automatically create the robot configuration, simplifying the configuration process of the modular robot.

Benefits of technology

The automation of modular robot configuration is realized, reducing the complexity and time of manual operation, and improving the efficiency of robot conversion and use.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119403655A_ABST
    Figure CN119403655A_ABST
Patent Text Reader

Abstract

The invention relates to a method for operating a modular robot 1, the modular robot 1 having a robot base 2, at least one robot arm 10 arranged on the robot base 2, and a control unit 3, the robot arm 10 having a plurality of modularly arranged arm modules 11. The control unit (3) executes the following steps. First, distribution information from each of the arm modules 11 is received in a distribution detection step 200. In an arm module basic data determination step 220, arm module basic data is determined on the basis of the allocation information for each arm module 11. Furthermore, in a configuration step 240, a configuration of the modular robot 1 is created on the basis of the assignment information of the individual arm modules 11 and the arm module basic data, the configuration being used to actuate the robot arm 10.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a method for operating a modular robot, a control unit for a modular robot, a modular robot and an arm module for a modular robot.

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS

[0003] This patent application claims the priority of German patent application 10 2022 115 411.4, the disclosure content of which is incorporated herein by reference. Background Art

[0004] The task of automation technology (implementation, measurement, control / regulation, communication, human-machine interaction, safety, etc.) is to enable machines (including industrial robots and / or facilities) to achieve automation, i.e., to operate them independently without human intervention. The higher the degree of automation in an automated system (the ratio of automated manufacturing steps to all manufacturing steps), the more independent the corresponding machines in the facility and / or related facilities are from human intervention.

[0005] The goals of automation technology are, among other things, to free people from hazardous, laborious, and / or monotonous activities, to improve the quality of manufactured products through technological installations, to increase the performance of facilities, and to reduce costs through installations. Through advances in machinery, signal acquisition, signal processing, and / or communication (networking) between components within an automation system, the degree of automation in existing or new facilities can be significantly increased compared to existing technology.

[0006] Specialized industrial robots (manipulators) are a permanent component of automated facilities. An industrial robot is a programmable machine used for handling, assembling, and / or processing workpieces. An industrial robot typically consists of a robotic arm (manipulator) with multiple arm components that can pivot and / or rotate relative to one another, an (end) effector (robot hand, tool, gripper, etc.), local control / regulation, and, where necessary, global control / regulation. Industrial robots are often equipped with various sensors. Once programmed, they can autonomously execute workflows or alter the execution of tasks based on information from, for example, sensors.

[0007] Document DE 10 2020 115 448 A1 discloses a modular industrial robot, also referred to hereinafter as a modular robot, which consists of a plurality of arm modules, wherein the arm modules form a modular robot arm. Compared to conventional industrial robots that are created and configured once, a modular industrial robot can have its module arrangement changed or supplemented with additional modules, or existing modules shortened if additional or different movements are required. This enables cost-effective construction of the industrial robot and / or simpler further use of the industrial robot's modules for the respective application. However, the modular industrial robot must be reconfigured after each change. Summary of the Invention

[0008] Therefore, an object of the present invention is to provide a method for operating a modular robot, by means of which the configuration of the modular robot is simplified. Another object of the present invention is to provide a control unit for a modular robot, by means of which the method can be performed. Another object of the present invention is to provide a modular robot and an arm module for a modular robot, which also allow a simplified configuration.

[0009] These objects are achieved by a method for operating a modular robot, a control unit for a modular robot, a modular robot and an arm module for a modular robot according to the independent claims. Advantageous further developments are specified in the dependent claims.

[0010] According to a first aspect, the present invention includes a method for operating a modular robot, wherein the modular robot has a robot base, at least one robot arm arranged on the robot base, and a control unit. The robot arm has a plurality of arm modules that can be modularly arranged. Further, the robot arm can have an end flange, wherein the end flange is provided at one end of the robot arm. For example, a tool can be attached to the end flange. The control unit performs the following steps. First, in an allocation detection step, allocation information is received from each arm module in the arm modules. Then, in an arm module basic data determination step, arm module basic data is determined based on the allocation information of each arm module. Finally, a configuration of the modular robot is created based on the allocation information of each arm module and the arm module basic data, wherein the configuration is used to manipulate the robot arm.

[0011] The allocation information may, for example, include a unique allocation number, a serial number, a manufacturer identification number, a product number, and / or a version number, which individually or together form the allocation information or are calculated based on them, for example as a checksum. The control unit may, for example, query the allocation information for each arm module and receive the manufacturer identification number, product number, and version number in response, which together form the allocation information or are calculated based on them, for example as a checksum. The configuration of the modular robot may include, in particular, which arm modules are arranged in the robot arm, the order in which these arm modules are arranged relative to each other, how these arm modules can move relative to each other, how these arm modules can move, and whether there are branches within the robot arm. In addition, the configuration may include the speed and acceleration at which each arm module can move. Furthermore, the configuration may include whether each arm module is active or passive. A passive arm module does not include a motor and is used to extend an active arm module. An active arm module includes at least one motor. Furthermore, it may be provided that the configuration includes parameters of the arm module, such as a characteristic curve of the drive motor of the arm module. For example, the movement of the arm module can then be regulated based on this characteristic curve. The control unit may be an operating unit and / or a regulating unit for the modular robot.

[0012] According to a second aspect, the present invention comprises a control unit for a modular robot. The control unit is configured to carry out the method according to the invention. For this purpose, the control unit may comprise a computing unit on which a program runs and causes the control unit to carry out the method steps. The control unit may be a control unit that controls the movements of the modular robot. Furthermore, the control unit may also be a regulating unit by which the modular robot is controlled and thus regulated based on values ​​measured in the arm modules. With the aid of the control unit, the configuration of the modular robot can thus be determined and, if necessary, changes to the configuration can be determined. The modular robot can then be controlled according to the configuration.

[0013] According to a third aspect, the invention comprises a modular robot having a robot arm and a control unit according to the invention.

[0014] According to a fourth aspect, the present invention comprises an arm module for a modular robot according to the present invention. The arm module has an arm module memory. Allocation information is stored in the arm module memory. The arm module is configured to output the allocation information to a control unit of the modular robot. Such an arm module can be used in a modular robot according to the present invention and enables the control unit according to the present invention to receive the allocation information required for the method according to the present invention. The arm module memory can be arranged in the arm module or can be designed as an external memory wirelessly connected to the arm module or connected by wire, for example in a network and / or in the cloud.

[0015] In one embodiment of the method, in the assignment detection step, assignment information of the robot base is additionally received, and / or in the arm module basic data determination step, the arm module basic data of the robot base is determined, wherein in the configuration step, the arm module basic data of the robot base are taken into account when creating the configuration of the modular robot. This means that even if different robot bases can be used, the assignment information and / or arm module basic data of the robot base used can always be taken into account when creating the configuration.

[0016] In one embodiment of the method according to the present invention, the arm module basic data includes at least kinematic data. The kinematic data includes the relative positions of the first flange and the second flange of the corresponding arm module and / or the robot base. The arm modules can be connected to each other and / or to the tool via the first flange or the second flange. In addition, the kinematic data can be determined theoretically by simulation or in practice by measurement during the production process of the arm module. The kinematic data can be saved in the form of a 4x4 transformation matrix or in the form of Denavit-Hartenberg parameters.

[0017] The kinematic data then allows the generation of a kinematic description of the entire modular robot. This kinematic description can be used to plan the movements of the robot arm. This can be implemented, in particular, as Cartesian monitoring, where the velocity of points such as the tool center point, the L-shaped arc of the robot arm, or one of the flanges is monitored. The tool's volume can be taken into account, and multiple points on the tool, such as on a fixture, can also be monitored. Furthermore, spatial monitoring is possible, monitoring the modular robot's geometry relative to the space and / or geometric objects, monitoring whether the modular robot occupies a specific space, and / or checking whether the modular robot is within its permitted range of motion. This can be used, for example, in the material insertion station of an automation system. If an operator and / or part of the operator's body is in the area of ​​the material insertion station, such as behind an open roller door, the station can be blocked for the modular robot. Once the operator is no longer in the area, the space is freed up, and the modular robot can move there again. The space can also serve as a switch, meaning that once the robot enters the space, a standard can be applied to the robot. For example, the modular robot can occupy the space, but must move more slowly. Different logic functions and this information can be used to generate monitoring functions accordingly. Provision can be made here to monitor the states of the modular robot, for example the speed, position and / or orientation of the tool, and to logically interconnect the states. Calculating the forward transformation is essential for this.

[0018] The kinematic data can include a three-dimensional model of the modular robot, which can be used to account for, for example, the housing or external dimensions of the modular robot. The kinematic data can also include kinematic correction data. This kinematic correction data can describe deviations from the design data, for example due to inaccuracies during the production process. The kinematic correction data is recorded and stored in memory after production, which allows for accounting for manufacturing tolerances of the modules.

[0019] In one embodiment of the method, the control unit, the robot base, and the arm modules forming the robot arm are connected to each other via a fieldbus. Data is exchanged between the arm modules, the robot base, and the control unit via the fieldbus. During an assignment detection step, the control unit determines the mechanical structure of the robot arm based on the sequence of arm module assignment information in a fieldbus telegram. Specifically, it can be provided that a data telegram is sent by the control unit, and the fieldbus transmits the data telegram via a ring line through all arm modules before the data telegram is returned to the control unit. Each arm module is a bus participant and may, for example, have a connection unit for the fieldbus. Each connection unit can then write the assignment information into the data telegram, for example, upon request from the control unit. The control unit can, for example, query the assignment information for each arm module and receive a manufacturer identification number, product number, and version number as a response, which together form the assignment information or, for example, calculate the assignment information as a checksum based on these numbers. Furthermore, if necessary, the device description of the arm module can be queried as further data. Specifically, both active and passive arm modules can include a connection unit. It can be provided that the arm module has a plug or connector, also known as a flange, for the fieldbus on at least one connection side, which serves as an input and output. Furthermore, one connection side can also be provided with an input and output for a fieldbus. Furthermore, another such connection side can be provided with another plug or another connector for the fieldbus, or another input and another output for the fieldbus. Arm modules can be used that have plugs or connectors for the fieldbus on both connection sides. Furthermore, arm modules can be used that branch off the robot arm and thus have more than two inputs and more than two outputs for the fieldbus. During a single pass through the loop, a data message passes through each input and each output of each arm module exactly once. For example, the fieldbus can include EtherCAT messages.

[0020] In one embodiment of the method, the allocation information of the arm modules is influenced by the respective unique allocation number of the arm modules. The unique allocation number can in particular be the serial number of the arm module. In a simple embodiment, the allocation information can directly correspond to the unique allocation number or serial number. The method according to the invention can then be used to determine, for example, when one of the arm modules has been replaced because another unique allocation number or serial number is now received as allocation information.

[0021] In one embodiment of the method, the allocation information of the arm modules is influenced by the corresponding configuration files of the arm modules. On the one hand, data can be stored in the configuration files during the production of the arm modules and, for example, measurement data linked to the arm modules can be transferred. In addition, it can be provided that the configuration files also contain operating data for the individual arm modules. For example, this can include the characteristic curves of the drive motors of the arm modules, whereby changes in the characteristic curves can be identified and written to the configuration files. During the next run of the method, changes in the configuration files can then be identified via the allocation information and, if necessary, the movement commands can be adapted, for example if certain speeds and / or accelerations of the drive motors are no longer possible.

[0022] In one embodiment of the method, the allocation information of the arm module is calculated as a hash value based on the allocation number and the configuration file. When the allocation information of the arm module is compared with the configuration, the hash value of the arm module contained in the configuration is compared with the transmitted hash value. For example, the unique allocation number can be a string and the configuration file can be a string. The two strings are concatenated together and the hash value of the resulting string is determined. If the unique allocation number changes, even if the changed arm module includes the same configuration file, the allocation information still changes and the replacement of the arm module can be identified. The calculation of the hash value is a concrete manifestation of the checksum calculation here. If the configuration file changes without changing the unique allocation number, the allocation information will also change. In both cases, the configuration file can be read to take into account any movement restrictions. In addition to the described possibility of calculating the allocation information of the arm module as a hash value based on the allocation number and the configuration file, other alternative calculation methods for the checksum are also known and common.

[0023] In one embodiment of the method, in order to create the configuration in the configuring step, further data are read out from at least one of the arm modules and / or further data are determined for at least one of the arm modules.

[0024] It can be provided that, in order to create a configuration, further data are read from a plurality of arm modules or from all arm modules and / or determined for them.It can also be provided that the control unit sends a command to one or more arm modules, which instructs the arm module or modules to output further data to the control unit.

[0025] In one embodiment of the method, the additional data of the arm module includes dynamic data. The dynamic data includes the mass inertia of the arm module. The dynamic data may include mass, transmission friction or general friction, center of gravity coordinates, and inherent inertia in the form of an inertia tensor. The dynamic data may include, for example, transmission data, such as the transmission ratio, transmission friction characteristics, and / or transmission load limit. In addition, the dynamic data may include an engine characteristic curve of the drive motor.

[0026] For example, this can prevent the transmission of the modular robot, in particular the arm module, from being overloaded due to too fast movements or too high accelerations. Dynamic data can be used to compensate for gravity when guiding the hand. Dynamic data can be used to detect collisions. Dynamic data can be used to control the modular robot. Here, it is possible to assess which forces act on the modular robot, for example due to gravity or acceleration. These forces can then be balanced accordingly. This can be done, for example, within the framework of control optimization (e.g. precontrol). It may be relevant here to determine how much torque the drive motor must provide to perform certain movements. This can improve regulation and avoid regulation errors. In addition, regulation can be faster and more precise, and vibration damping can be taken into account. This may also be related to the performance limitations of the modular robot. First, the motion plan for the modular robot can be created in such a way that no overload occurs relative to the target value. The regulator can then pre-plan the movement so that it can be executed without any problems.

[0027] In one embodiment of the method, the further data includes at least one piece of wear information for an arm module. The control unit receives and / or calculates the wear information for the arm module. Furthermore, the control unit determines a replacement recommendation based on the wear information and issues the replacement recommendation. The wear information can also be stored in a configuration file for the arm module, so that changes in the wear information can also be identified using the method according to the present invention. This is particularly useful if the arm module is configured to determine the wear information. Furthermore, in modular robots, the wear information is advantageously stored in the arm module itself, as this information remains available even after the modular robot is reassembled. For this reason, if the control unit determines the wear information, it can be transferred to the corresponding arm module and stored in the configuration file. A replacement recommendation can refer to the fact that two identical arm modules in a robot arm should be exchanged, for example, due to different levels of wear on the two arm modules. For example, the transmission in one of the arm modules may be subject to greater stress, while the drive motor in the other arm module may be subject to greater stress. It would then be useful to exchange the two arm modules after a period of time to achieve the greatest possible uniformity in wear. Furthermore, the replacement information may also involve replacing an arm module with a new one.

[0028] In one embodiment of the method, motion information from the arm modules is taken into account during the configuration step. The motion information includes the possible motions of the relevant arm modules. This can be done when first creating a configuration or when creating an updated configuration.

[0029] In one embodiment of the method, the control unit queries or determines the motion information of the arm module from the arm module.

[0030] In one embodiment of the method, the workspace and / or load capacity of the robot arm is determined when creating a configuration. This can be done when the configuration is first created or when an updated configuration is created.

[0031] In one embodiment of the method, the control unit determines whether a configuration for the modular robot exists in memory. If the configuration for the modular robot does not exist in memory, the configuration created in the configuration step is stored in the memory as the initial configuration. The memory may be assigned to the control unit. Alternatively, it may be an external memory connected to the control unit, such as in a network and / or cloud.

[0032] In one embodiment of the method, if an initial configuration of the modular robot is present in the memory, the initial configuration present in the memory is compared with the configuration created in the configuration step, wherein if the initial configuration present in the memory matches the created configuration, the initial configuration is used to operate the robot arm, and if the initial configuration present in the memory does not match the created configuration, the configuration created in the configuration step is stored in the memory and used to operate the robot arm. This saves computing time because when the method is run again, the additional step required to create the configuration can be omitted because the configuration is already known. In particular, no further data needs to be read from the arm module.

[0033] It can be provided that the overall checksum formed by the checksums of the allocation information of the arm modules is stored in the memory and is separately determined when the configuration is created. Furthermore, the configuration can also correspond to the overall checksum of the configuration formed by the checksums of the allocation information of the arm modules. This provides a simple method for comparing the initial configuration in the memory with the created configuration. Alternatively, the initial configuration in the memory can be directly compared with the created configuration.

[0034] In one embodiment of the method, the configuration includes the possible movements of the robot arm. To this end, the control unit receives movement commands and checks whether the movements of the robot arm, which are to be performed based on the movement commands, are possible with the configuration of the modular robot. The movement commands can be input by an operator of the modular robot and thus received. Alternatively or additionally, provision can be made for movement commands to be output from a central control unit of the automation system to the control unit of the modular robot. This is particularly the case if modular robots are used in the automation system. The possible movements of the robot arm can be additional data that are transmitted from the arm modules to the control unit and read in by the control unit. This can be done, for example, when creating a configuration or when creating an updated configuration.

[0035] When using this configuration to check whether a movement of the robot arm determined based on a movement command is feasible, it can be provided in particular that the speed and acceleration at which the movement command should move the individual arm modules are checked based on the movement of the robot arm and that this is associated with the configuration of the modular robot. Furthermore, it can be provided that more than one movement command is received, in which case the movement command can include possible movements to be executed.

[0036] In an embodiment of the arm module, the arm module is configured to determine the allocation information based on a unique allocation number and a configuration file and store the allocation information in the arm module memory.

[0037] In one embodiment of the arm module, the arm module is configured to calculate the allocation information of the arm module as a hash value according to the allocation number and the configuration file. This can be designed as described above.

[0038] In one embodiment of the arm module, movement information, ie information about possible movements, is stored in an arm module memory. The arm module is configured to output the movement information to a control unit of the modular robot.

[0039] In one embodiment of the arm module, the arm module is configured to determine wear information based on movements of the arm module and / or based on measurements of characteristic data, to store the wear information in the arm module memory, and to output the wear information to the control unit. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] The present invention will be explained in more detail with reference to the accompanying drawings, in which:

[0041] Figure 1 A view of a modular robot is shown;

[0042] Figure 2 A flow chart showing a method according to the present invention is shown;

[0043] Figure 3shows a flow chart of a method according to the invention, which has further optional steps;

[0044] Figure 4 A schematic diagram of a modular robot is shown. DETAILED DESCRIPTION

[0045] In the following description of the drawings, identical elements are identified by identical reference numerals. Reference symbols may be shown in an individual figure without being explained in conjunction with that figure. In such cases, the annotations to these reference numerals explained in conjunction with the other figures may be used to describe the elements labeled with these reference numerals. In addition, in the description of the drawings, features and characteristics may be referred to as optional. These features and properties referred to as optional are not absolutely necessary and may be omitted if desired.

[0046] Figure 1 A modular robot 1 is shown having a robot base 2, a robot arm 10, and a control unit 3. The robot arm 10 has a plurality of arm modules 11 that can be arranged modularly. The robot base 2 provides a connection between the robot arm 10 and the control unit 3. Furthermore, the robot base 2 establishes a mechanical connection between the robot arm 10 and a base surface or a fastening area. The arm modules 11 can optionally be active arm modules 12 or passive arm modules 13. The passive arm modules 13 do not contain motors and serve to extend the active arm modules 12. The active arm modules 12 include at least one motor. Provision can be made for the active arm modules 12 to have a rotatable portion that can be driven by a motor. Furthermore, the robot arm 10 can optionally have an end flange 14, which is provided at one end of the robot arm 10. For example, a tool can be attached to the end flange 14. Depending on the specifications of the robot arm 10 or the desired motion options, the arm modules 11 can be arranged differently, recombined, or replaced with alternative arm modules 11. However, such changes require reconfiguration of the modular robot 1. The control unit 3 is configured to execute a method for operating the modular robot 1, by which configuration can be performed automatically. The control unit 3 optionally includes a computing unit 4 and a memory 5. The control unit 3 can be a control unit that controls the movement of the modular robot 1. Furthermore, the control unit 3 can also be a regulating unit by which the modular robot 1 is controlled and thus regulated based on values ​​measured in the arm modules 11. The control unit 3 is also optionally connected to an external memory 6.

[0047] Figure 2A flow chart of a method for creating a configuration of a modular robot 1 is shown. The control unit 3 performs the following steps. For this purpose, it can be provided that the control unit 3 comprises a computing unit 4, on which a program is run, which causes the control unit 3 to perform the method steps. First, in an allocation detection step 200, allocation information is received from each of the arm modules. Then, in an arm module basic data determination step 220, the arm module basic data are determined based on the allocation information of each arm module. Finally, in a configuration step 240, a configuration of the modular robot is created based on the allocation information of the individual arm modules and the arm module basic data, wherein the configuration is used to operate the robot arm.

[0048] Optionally, allocation information from the robot base 2 may be received in the allocation detection step 200. Optionally, the arm module base data of the robot base 2 may be alternatively or additionally determined in the arm module base data determination step 220. In these cases, the allocation information of the robot base 2 and / or the arm module base data of the robot base 2 may be taken into account when creating the configuration of the modular robot 1 in the configuration step 240.

[0049] Figure 3 A flow chart of a method for operating a modular robot 1 is shown. The control unit 3 performs the following steps. For this purpose, it can be provided that the control unit 3 includes a computing unit 4 on which a program runs that causes the control unit 3 to perform the method steps. In a first method step 301, a configuration of the modular robot 1 is created. This can be done in combination with Figure 2 In a second method step 302, a configuration for manipulating the robot arm 10 is used. In addition, Figure 3Optional method steps are also shown, which relate to exemplary embodiments and are explained below. In an optional third method step 303, it is determined whether a configuration for the modular robot 1 exists in the memory 5, 6. Third method step 303 is performed after first method step 301 and before second method step 302. If no configuration for the modular robot 1 exists, the configuration is stored as an initial configuration in the memory 5, 6 in a fourth method step 304. If, in the third method step 303, the initial configuration for the modular robot 1 exists in the memory 5, 6, an optional fifth method step 305 can be performed. In the fifth method step 305, the initial configuration in the memory 5, 6 is compared with the created configuration. If the initial configuration in the memory 5, 6 matches the created configuration, the second method step 302 can be directly performed, and the initial configuration can be used to operate the robot arm 10. If the initial configuration in the memory 5, 6 does not match the created configuration, the created configuration is stored in the memory 5, 6 in a sixth method step 306. Depending on the requirements present in the third method step 303 or the fifth method step 305, the method includes the execution of the first method step 301, the third method step 303, the fourth method step 304 and the second method step 302, or includes the execution of the first method step 301, the third method step 303, the fifth method step 305 and the second method step 302, or includes the execution of the first method step 301, the third method step 303, the fifth method step 305, the sixth method step 306 and the second method step 302.

[0050] By means of the control unit 3, the configuration of the modular robot 1 can thus be determined and, if necessary, changes to the configuration can be determined. The modular robot 1 can then be controlled according to the configuration. The memory used in the method can be allocated to the control unit 3, such as Figure 1 As shown. Alternatively, it can also be external, connected or connectable to the external memory 6 of the control unit 3, or for example in a network and / or in the cloud. If it is determined in the fifth method step 305 that the initial configuration present in the memory 5, 6 matches the created configuration, then the initial configuration can be used to perform the second method step 302 and, if necessary, computing time can be saved because no further data from the arm module 11 has to be queried, as these data may already be included in the initial configuration.

[0051] In one embodiment of the method, the configuration includes the possible movements of the robot arm 10. The control unit 3 also receives a movement command, for example, in or before the sixth method step 306. Furthermore, after receiving the movement command, the control unit checks whether the movement of the robot arm 10 determined based on the movement command is possible with the configuration. If this is not the case, an error message may be issued. The possible movements of the robot arm 10 may be additional data transmitted from the arm module 11 to the control unit 3 and read in by the control unit 3. This can be done, for example, when creating the configuration or when creating an updated configuration.

[0052] The movement commands can be input and thus received by an operator of the modular robot 1. Alternatively or additionally, it can be provided that the movement commands are output from a central control unit of the automation system to the control unit 3 of the modular robot 1. This is particularly the case if the modular robot 1 is used in this automation system.

[0053] When using this configuration to check whether a movement of the robot arm 10 determined based on a movement command is feasible, it can be provided in particular that the speed and acceleration with which the movement command should move the individual arm modules 11 are checked based on the movement of the robot arm 10 and that this is associated with the configuration of the modular robot 1. Furthermore, it can be provided that more than one movement command is received, in which case the movement command can include different possible movements to be performed.

[0054] Figure 4 1 shows a schematic diagram of another modular robot 1. The arm module 11 of the robot arm is not shown here as Figure 1 The internal workings of the arm module 11 are not detailed in the figure, but are schematically shown. In addition, the arm module 11 can be connected to Figure 1 Similarly constructed. In addition, similar to Figure 1 , the active arm module 12 and the passive arm module 13 appear again. Figure 1 In contrast, the robot arm 10 in this exemplary embodiment also has a branch arm module 15. The branch arm module 15 allows the robot arm 10 to branch. This is done so that three arm modules 10 can be attached to the branch arm module 15, while only two arm modules 10 can be attached to another arm module 11. The branch arm module 15 can be an active arm module or a passive arm module. The arm modules 11 comprising the robot base 2 are connected to each other via a field bus 20. Data can be exchanged between the arm modules 11 and the control unit 3 via the field bus 20. In an allocation detection step 200, the control unit 3 determines the mechanical structure of the robot arm 10 based on the sequence of allocation information of the arm modules 11 in the field bus 20 telegram.

[0055] In particular, it can be provided here that a data telegram is sent by the control unit 3 and that the fieldbus 20 sends the data telegram via the ring line 21 through all arm modules 11, after which the data telegram is returned to the control unit 3. Each arm module 11 is a bus participant and has at least two inputs 22 and two outputs 23 for the fieldbus 20. In addition, each arm module 11 has a connection unit 24 for the fieldbus 20 and an optional arm module memory 25. Each connection unit 24 can then write allocation information into the data telegram, for example, upon request from the control unit 3. From the order of the allocation information stored in the data telegram of the arm modules 11, the order of the arm modules 11 in the robot arm 10 can be deduced. Specifically, as Figure 4 As shown, both the active arm module 12 and the passive arm module 13 can include a connection unit 24. The branch arm module 15 has more than two input terminals 22 and more than two output terminals 23 for the field bus 20. When the ring line 21 passes, the data telegram only passes through each input terminal 22 and each output terminal 23 of each arm module 11 once, except for the input terminals 22 and output terminals 23 arranged on the end flange 14. It can be provided that the arm modules are internally connected in the following way: the connection units 24 are each connected to the input terminal 22, via which the data telegram first arrives at the arm module 11 in question. This can also be achieved by an electronic circuit within the arm module 11, so that the arm module 11 can also be twisted and installed. In addition, it can be provided that the end flange 14 is identified by identifying that no further arm module is arranged on the end flange 14, so that the ring line 21 is connected to each other by the input terminals 22 and the output terminals 23 located on one side of the module arm 11, as Figure 4 14. In addition, the data message can pass through the connection unit 24 again during the second or third pass through the arm module 11, wherein the writing only occurs during the first pass through the connection unit 24. The field bus 20 can be EtherCAT, for example.

[0056] In addition, if Figure 4 As shown, each arm module 11 has a first flange 16 and a second flange 17, wherein the branch arm module 15 also has a third flange 18. The input end 22 and the output end 23 are arranged in such a way that one input end 22 and one output end 23 are arranged on the first flange 16, one input end 22 and one output end 23 are arranged on the second flange 17, and for the branch arm module 15, one input end 22 and one output end 23 are arranged on the third flange 18. For the arm module 11 with the end flange 14, the second flange 16 is the end flange 14. Figure 4 In contrast to the illustration in FIG, the input end 22 and the output end 23 can be arranged in a combined connection on each flange 16 , 17 , 18 .

[0057] In one embodiment of the method, the allocation information of the arm modules 11 is influenced by the respective unique allocation number of the arm modules 11. The unique allocation number can in particular be the serial number of the arm module 11. In a simple embodiment, the allocation information can directly correspond to the unique allocation number or serial number. The method according to the invention can then be used to determine, for example, when one of the arm modules 11 has been replaced because a different unique allocation number or serial number is now received as allocation information from the control unit 3. For example, the unique allocation number, in particular the serial number, can be stored in the arm module memory 25.

[0058] In one embodiment of the method, the allocation information of the arm module 11 is influenced by the corresponding configuration file of the arm module. On the one hand, data can be stored in the configuration file during the production of the arm module and, for example, measurement data linked to the arm module 11 can be transferred. In addition, it can be provided that the configuration file also contains operating data of the individual arm modules 11. For example, this can include the characteristic curve of the drive motor of the arm module 11, whereby changes in the characteristic curve can be identified and written to the configuration file. During the next run of the method, changes in the configuration file can then be identified by the allocation information and, if necessary, the movement commands can be adjusted, for example if certain speeds and / or accelerations of the drive motor are no longer possible. For example, the configuration file can be stored in the arm module memory 25.

[0059] In one embodiment of the method, the allocation information of the arm module 11 is calculated as a hash value based on the allocation number and the configuration file. When the allocation information of the arm module 11 is compared with the configuration, the hash value of the arm module 11 contained in the configuration is compared with the transmitted hash value. For example, the unique allocation number can be a string and the configuration file can be a string. The two strings are concatenated together and the hash value of the resulting string is determined. If the unique allocation number changes, even if the changed arm module 11 includes the same configuration file, the allocation information still changes and the replacement of the arm module 11 can be identified. If the configuration file changes without changing the unique allocation number, the allocation information will also change. In both cases, the configuration file can be read to take into account any movement restrictions. In addition to the described possibility of calculating the allocation information of the arm module 11 as a hash value based on the allocation number and the configuration file, other alternative calculation methods are also known and common.

[0060] In an exemplary embodiment of the method, the control unit 3 also receives and / or calculates wear information for the arm module 11. Furthermore, the control unit 3 determines and issues a replacement recommendation based on the wear information. The wear information can also be stored in a configuration file for the arm module 11, so that changes in the wear information can also be identified using the method according to the present invention. This is particularly useful if the arm module 11 is configured to determine its own wear information. Furthermore, in modular robots 1, the wear information is advantageously stored in the arm module 11 itself, for example, in the arm module memory 25, because the wear information remains available even after another modular robot 1 is reassembled with the used arm module 11. For this reason, provision can be made for the control unit 3 to also determine the wear information, transfer it to the corresponding arm module 11, and store it in the configuration file. A replacement recommendation can refer to the fact that two identical arm modules 11 in the robot arm 10 should be exchanged, for example due to different levels of wear on the two arm modules 1. For example, the transmission in one of the arm modules 11 may be subject to greater stress than the transmission in the other arm module 11. It is then useful to exchange the two arm modules 11 after a period of time to achieve the most even wear possible. Furthermore, exchanging information may also involve replacing the arm module 11 with a new one.

[0061] In one exemplary embodiment of the method, motion information from the arm module 11 is taken into account when creating a configuration. The motion information includes the possible motions of the relevant arm module 11. In particular, the motion information may include the positions of the first flange 16, the second flange 17, and (if applicable) the third flange 18 relative to each other. This can be done when first creating a configuration or when creating an updated configuration.

[0062] In one embodiment of the method, the workspace and / or load capacity of the robotic arm 10 is determined when creating a configuration. This can be done when the configuration is first created or when an updated configuration is created.

[0063] In an exemplary embodiment of the method, the arm module 11 queries the motion information of the arm module 11 .

[0064] In one embodiment of the method, the arm module basic data of the arm module 11 include kinematic data. The kinematic data include the relative positions of the first flange 16 and the second flange 17 of each arm module 11. The arm modules 11 can be connected to each other and / or to a tool via the first flange 16 or the second flange 17, wherein the tool can be connected to the end flange 14 in particular. In addition, the kinematic data can be determined theoretically by simulation or in practice by measurement during the production process of the arm module 11. The kinematic data can be saved in the form of a 4x4 transformation matrix or in the form of Denavit-Hartenberg parameters.

[0065] The kinematic data then allows the generation of a kinematic description of the entire modular robot 1. This kinematic description can be used to plan the movements of the robot arm 10. This can be implemented, in particular, as Cartesian monitoring, where the velocity of a point, such as the tool center point, the L-shaped arc of the robot arm 10, or one of the flanges 14, 16, 17, 18, is monitored. The tool's volume can be taken into account, and multiple points on the tool, such as on a fixture, can also be monitored. Furthermore, spatial monitoring is possible, monitoring the geometry of the modular robot 1 relative to the space and / or geometric objects, monitoring whether the modular robot 1 occupies a specific space, and / or checking whether the modular robot 1 is within its permitted range of motion. This can be used, for example, in the material insertion station of an automation system. If an operator and / or part of the operator's body is in the area of ​​the material insertion station, such as behind an open roller shutter door, the station can be blocked for the modular robot 1. Once the operator is no longer in the area of ​​the material insertion station, the space is freed up again, and the modular robot 1 can move there again. The space can also serve as a switch. In this case, the modular robot 1 can occupy the space, but must move more slowly. Different logic functions and this information can be used to generate the monitoring function accordingly. Provision can be made here to monitor states of the modular robot 1 , such as the speed, position and / or orientation of a tool, or to logically interconnect states. Calculating the forward transformation is essential for this.

[0066] The kinematic data may include a three-dimensional model of the modular robot 1, which can be used to account for, for example, the housing or external dimensions of the modular robot 1. Specifically, the external dimensions of the modular robot 1 are affected by the external dimensions of the individual arm modules 11. The kinematic data may also include kinematic correction data. This kinematic correction data can describe deviations from the design data, for example due to inaccuracies in the assembly process.

[0067] In one embodiment of the method, the additional data of the arm module 11 includes dynamic data. The dynamic data includes the mass inertia of the arm module 11. The dynamic data may include mass, transmission friction or general friction, center of gravity coordinates, and inherent inertia in the form of an inertia tensor. The dynamic data may include, for example, transmission data, such as the transmission ratio, transmission friction characteristics, and / or transmission load limits. Furthermore, the dynamic data may include an engine characteristic curve of the drive motor.

[0068] For example, this can prevent the transmission of the modular robot 1, in particular the arm module 11, from being overloaded due to too fast movements or too high accelerations. The dynamic data can be used to compensate for gravity when guiding the hand. The dynamic data can be used to detect collisions with the own robot arm or foreign objects. The dynamic data can be used to control the modular robot 1. Here, it can be assessed which forces act on the modular robot 1, for example due to gravity or due to acceleration. These forces can then be balanced accordingly. This can be done, for example, within the framework of control optimization (e.g. precontrol). It may be relevant here to determine how much torque the drive motor must provide in order to perform certain movements. This can improve regulation and avoid regulation errors. In addition, regulation can be faster and more precise, and vibration damping can be taken into account. This may also be related to the performance limitations of the modular robot 1. First, the motion plan of the modular robot can be created in such a way that no overload occurs relative to the target value. The regulator can then pre-plan the movement so that it can be executed without any problems.

[0069] Also part of the invention is a control unit 3 for the modular robot 1, which is arranged to perform the combination Figure 2 Or the method explained in one of its exemplary embodiments. For this purpose, the control unit 3 can have a connection for the field bus 20. A modular robot 1 with a robot arm 10 and a control unit 3 is also part of the present invention.

[0070] The arm module 11 for the modular robot 1 has an arm module memory 25. Allocation information is stored in the arm module memory 25. The arm module 11 is configured to output the allocation information to the control unit 3 of the modular robot 1.

[0071] In an embodiment of the arm module 11 , the arm module is configured to determine the allocation information based on a unique allocation number and a configuration file and store the allocation information in the arm module memory 25 .

[0072] In one embodiment of the arm module 11, the arm module is configured to calculate the allocation information of the arm module 11 as a hash value according to the allocation number and the configuration file. This can be designed as described above.

[0073] In an embodiment of the arm module 11, movement information, ie information about possible movements, is stored in an arm module memory 25. The arm module 11 is arranged to output the movement information to the control unit 3 of the modular robot 1.

[0074] In an exemplary embodiment of the arm module 11 , the arm module is configured to determine wear information based on the movement of the arm module 11 and / or based on measurement of characteristic data, store the wear information in the arm module memory 25 , and output the wear information to the control unit 3 .

[0075] Reference Signs List

[0076] 1 Modular Robot

[0077] 2 Robot base

[0078] 3 Control unit

[0079] 4 Computing Units

[0080] 5 Memory

[0081] 6 External Memory

[0082] 10 Robotic Arm

[0083] 11 Arm Module

[0084] 12 Active Arm Module

[0085] 13 Passive arm module

[0086] 14 End flange

[0087] 15 branch arm modules

[0088] 16 First flange

[0089] 17 Second flange

[0090] 20 Fieldbus

[0091] 21 Loop Line

[0092] 22 Input

[0093] 23 Output

[0094] 24 connection units

[0095] 25 Arm module memory

[0096] 200 Assignment test steps

[0097] 220 Arm Module Basic Data Determination Steps

[0098] 240 Configuration Steps

[0099] 301 First Method Step

[0100] 302 Second method step

[0101] 303 Third Method Step

[0102] 304 Fourth Method Step

[0103] 305 Fifth Method Step

[0104] 306 Sixth Method Step

Claims

1. A method for operating a modular robot (1), wherein the modular robot (1) comprises a robot base (2), at least one robot arm (10) arranged on the robot base (2), and a control unit (3), wherein the robot arm (10) comprises a plurality of arm modules (11) which can be arranged in a modular manner, wherein the control unit (3) performs the following steps: - receiving allocation information from each of the arm modules (11) in an allocation detection step (200); - in the arm module basic data determination step (220), the arm module basic data is determined according to the allocation information of each arm module (11); - In a configuration step (240), a configuration of the modular robot (1) is created based on the allocation information of each arm module (11) and the arm module basic data, wherein the configuration is used to operate the robot arm (10).

2. The method according to claim 1, wherein: In addition, the allocation information of the robot base (2) is received in the allocation detection step (200) and / or the arm module basic data of the robot base (2) is determined in the arm module basic data determination step (220), wherein the allocation information of the robot base (2) and / or the arm module basic data of the robot base (2) are taken into consideration when creating the configuration of the modular robot (1) in the configuration step (240).

3. The method according to claim 1 or 2, wherein: The arm module basic data at least comprises kinematic data, wherein the kinematic data contains the relative positions of the first flange (16) and the second flange (17) of the corresponding arm module (11) and / or the robot base (2).

4. The method according to any one of claims 1 to 3, wherein: The control unit (3), the robot base (2) and the arm module (11) forming the robot arm (10) are connected to each other via a field bus (20), and data between the arm module (11), the robot base (2) and the control unit (3) are exchanged through the field bus (20), wherein in the allocation detection step (200) the control unit (3) determines the mechanical structure of the robot arm (10) based on the sequence of allocation information of the arm module (11) in the telegram according to the field bus (20).

5. The method according to any one of claims 1 to 4, wherein: The allocation information of the arm module (11) is affected by the corresponding unique allocation number of the arm module (11).

6. The method according to any one of claims 1 to 5, wherein: The allocation information of the arm module (11) is affected by the corresponding configuration file of the arm module (11).

7. The method according to claims 5 and 6, wherein: The allocation information of the arm module (11) is calculated as a hash value according to the allocation number and the configuration file.

8. The method according to any one of claims 1 to 7, wherein: In order to create the configuration in the configuration step (240), further data are read out from at least one of the arm modules (11) and / or further data are determined for at least one of the arm modules (11).

9. The method according to claim 8, wherein: Further data of the arm module (11) include dynamic data, wherein the dynamic data include the mass inertia of the arm module (11).

10. The method according to any one of claims 8 or 9, wherein: The additional data includes at least one piece of wear information of the arm module (11), wherein the control unit (3) receives the wear information of the arm module (11) and / or calculates the wear information of the arm module (11), and determines and issues a replacement suggestion for the arm module based on the wear information.

11. The method according to any one of claims 1 to 9, wherein: In the configuration step (240), the motion information of the arm module (11) is taken into account, wherein the motion information of the respective arm module (11) includes possible motions of the relevant arm module (11).

12. The method according to claim 10, wherein: The control unit (3) inquires or determines corresponding motion information of the arm module (11) from the arm module (11).

13. The method according to any one of claims 1 to 12, wherein: When creating a configuration in the configuration step (240), the workspace and / or load capacity of the robot arm (10) is determined.

14. The method according to any one of claims 1 to 13, wherein: The control unit (3) also determines whether the configuration of the modular robot (1) exists in the memory (5, 6), and if the configuration of the modular robot (1) does not exist in the memory (5, 6), the configuration created in the configuration step (240) is stored as the initial configuration in the memory (5, 6).

15. The method according to claim 14, wherein: In the case where an initial configuration of the modular robot (1) exists in the memory (5, 6), the initial configuration existing in the memory (5, 6) is compared with the configuration created in the configuration step (240), wherein if the initial configuration existing in the memory (5, 6) matches the created configuration, the initial configuration is used to manipulate the robot arm (10), and if the initial configuration existing in the memory (5, 6) does not match the created configuration, the configuration created in the configuration step is stored in the memory (5, 6) and used to manipulate the robot arm (10).

16. The method according to any one of claims 1 to 15, wherein: The control unit (3) also receives a movement command and checks whether the movement performed by the robot arm (10) based on the movement command can be performed by the configuration of the modular robot.

17. A control unit (3) for a modular robot (1), the control unit being configured to carry out the method according to one of claims 1 to 16.

18. Modular robot (1) having a robot arm (10) and a control unit (3) according to claim 17.

19. The arm module (11) for a modular robot (1) according to claim 18, wherein: The arm module (11) has an arm module memory (25), wherein allocation information is stored in the arm module memory (25), wherein the arm module (11) is configured to output the allocation information to a control unit (3) of the modular robot (1).

20. The arm module (11) according to claim 19, wherein: The arm module (11) is configured to determine the allocation information based on the unique allocation number and the configuration file and store it in the arm module memory (25).

21. The arm module (11) according to claim 20, wherein: The arm module (11) is configured to calculate the allocation information of the arm module (11) as a hash value based on the allocation number and the configuration file.

22. The arm module (11) according to any one of claims 19 to 21, wherein: The movement information is stored in the arm module memory (25), wherein the arm module (11) is configured to output the movement information to a control unit (3) of the modular robot (1).

23. The arm module (11) according to any one of claims 19 to 22, wherein: The arm module (11) is configured to determine wear information based on the movement of the arm module (11) and / or based on the measurement of characteristic data, store the wear information in the arm module memory (25), and output the wear information to the control unit (3).

Citation Information

Patent Citations

  • Arm module for a modular robot arm of an industrial robot

    DE102020115448A1