Method and control system for generating a path for a robot and a tool attached to the robot

Through a new method and system, paths for robotic arms and attachment tools are generated, solving the problems of complex path planning and requiring skilled personnel in the prior art, and achieving simpler, user-friendly path generation and collision-free motion.

CN119451782APending Publication Date: 2025-02-14ONROBOT AS
View PDF 5 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The prior art lacks the response information of the tools and elements in the unit when generating paths to robotic arms and attachment tools, resulting in complex and time-consuming programming that requires skilled personnel to participate.

Method used

By a method and system, a method of generating a path of a robotic arm attached to a tool, wherein the tool is arranged for processing or processing an object, the robotic arm is placed in a work space that may contain obstacles, the path consisting of a number of sub-actions , the optimization process takes into account predefined characteristics of tools, robotic arms, obstacles and applications.

Benefits of technology

Generate paths in a simpler and user-friendly way, reducing programming time and reducing dependence on skilled personnel, resulting paths are collision-free, ensuring safe movement of robotic arms and tools.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119451782A_ABST
    Figure CN119451782A_ABST
Patent Text Reader

Abstract

A method and control system for generating a path (P) of a tool (6) attached to a robotic arm (2) is disclosed. The robot arm (2) is placed in a working space (8) which may contain obstacles (22, 24, 26, 26 ', 26' '). The robotic arm (2) is connected to a computing box (40) configured to control movement of the robotic arm (2). The path (P) has a starting point (A) and an ending point (B). The path (P) consists of a plurality of sub-motions (d1, d2, d3,..., dN-2, dN-1, dN). The method comprises the step of creating a path (P) as a single continuous motion wherein the i-th sub-motion (di) is determined by an optimization process performed based on the following predefined features: a) a previous sub-motion (di-1); a) a working space (8) and obstacles (22, 24, 26, 26 ', 26' '), if any, b) a tool (6) and 15c) a robotic arm (2).
Need to check novelty before this filing date? Find Prior Art

Description

Field of the Invention

[0001] The present invention relates to a method and a control system for generating a path for a robot arm and a tool attached to the robot arm. Background Art

[0002] For many companies, it is important to automate one or more parts of a production line. As an alternative to traditional programmable robots, collaborative robotic arms (also known as cobots) are used. Cobots and other types of industrial robots can be a good solution because the technology is affordable, space-saving, and easy to use.

[0003] Robots are popular because they can quickly replace skilled labor or expertise when there is a shortage of qualified employees or when production needs to be accelerated. Thanks to their many safety features, collaborative robots are designed to work alongside human colleagues on production or assembly lines.

[0004] Before a robot can be used in a workspace setting, it needs to be programmed. However, such programming is very time consuming and requires skilled personnel. Therefore, it is desirable to provide a method and system that is more user friendly and easier to program.

[0005] WO2021242215A1 discloses a method for generating a movement path for a robotic arm and its attached tools. However, the method only considers the robot and obstacles. Although the method can perform path planning, such as by creating a map and considering only the robot, the method does not provide information about what the robot and tool need to do or how to respond to elements in the unit (e.g., feed sensors). Therefore, it is hoped that there will be an alternative to the prior art.

[0006] Therefore, the object of the present invention is to provide a method and a system to reduce or even eliminate the above-mentioned disadvantages in the prior art. Summary of the invention

[0007] The objects of the invention are achieved by a method as defined in claim 1 and a control system as defined in claim 10. Preferred embodiments are defined in the dependent claims, explained in the following description and illustrated in the drawings.

[0008] The method according to the invention is a method for generating a path for a robot arm having a tool attached thereto, wherein the tool is arranged for handling or processing an object, wherein the robot arm is placed in a workspace which may include one or more obstacles, wherein the robot arm is connected to a control unit, the control unit being configured for controlling the movement of the robot arm, wherein the path has a start point and an end point, wherein the path consists of a plurality of sub-movements, wherein the method comprises the following steps:

[0009] - Let users select from a list of predefined applications or automatically detect relevant applications, each with predefined characteristics;

[0010] - Create a path as a single continuous motion, where the path is a collision-free path, where the i-th sub-motion is determined by an optimization process performed based on:

[0011] a) the previous sub-action;

[0012] b) The working space and its obstacles (if any);

[0013] c) Configuration of the robotic arm;

[0014] e) Robotic arm; the i-th sub-action is determined by the optimization process

[0015] Based on the following:

[0016] the configuration of the tool, wherein the configuration includes the orientation, position, and geometry of the tool, wherein the configuration of the tool being monitored and

[0017] Predefined characteristics for the selected application.

[0018] Thus, a path can be generated in a simpler and more user-friendly manner than in the prior art. Thus, programming time can be reduced. Furthermore, programming does not require skilled personnel as in the prior art.

[0019] The method is configured to generate a path for a robotic arm with a tool attached to the robotic arm. Thus, a path for the robotic arm with the tool attached at a distal end is generated.

[0020] In one embodiment, the tool is arranged for handling an object. The tool may be, for example, a two-finger gripper, a three-finger gripper or a vacuum gripper.

[0021] In one embodiment, the tool is arranged to process an object. The tool may be a sander or a screwdriver.

[0022] The robot is placed in a workspace that may contain one or more obstacles. An obstacle can be defined as any structure that blocks or limits the movement of the robot and tool.

[0023] The robotic arm is connected to a control unit configured to control the movement of the robotic arm. The control unit may be connected to the robotic arm or integrated within the robotic arm.

[0024] In one embodiment, the control unit is a computing box which is a separate box configured to be electrically connected to the robotic arm.

[0025] In one embodiment, the control unit is an integrated part of the robot arm or the control structure of the robot arm.

[0026] The path has a starting point and an end point. In one embodiment, the starting point is different from the end point. In another embodiment, the starting point corresponds to the end point.

[0027] The path consists of a plurality of sub-actions. The method comprises the steps of having a user select a relevant application from a list of predefined applications or automatically detecting the relevant application, each application having predefined characteristics. The list may include, for example, a palletizing application and a machine operation application. In one embodiment, the list includes machine tending applications, such as CNC machines, lathes, or milling machines. When the user selects the relevant application from the list of predefined applications, the necessary information related to the application is predefined. Therefore, subsequent programming can be greatly simplified because all predefined information and restrictions have been pre-programmed.

[0028] The path is a collision free path. Therefore, the path is generated in such a way that neither the robot arm nor the tool will collide.

[0029] The method comprises the steps of creating a path as a single continuous motion, wherein the i-th sub-motion is determined by an optimization process performed based on:

[0030] a) the previous sub-action;

[0031] b) The working space and its obstacles (if any);

[0032] where the i-th sub-action is determined by an optimization process based on:

[0033] Predefined features of the tool;

[0034] Configuration of a tool and a robot arm, wherein the configuration includes the orientation, position and geometry of the tool, wherein the configuration of the tool (4) is being monitored and

[0035] Predefined characteristics for the selected application.

[0036] Single continuous motion means that the path created produces a continuous motion.

[0037] The predefined characteristics of the selected application may include any relevant restrictions or enablements related to the application. If the application is palletizing, the orientation of the box should be maintained within a certain range to ensure that the objects in the box do not fall out. In one embodiment, the orientation of the robot tool and the attached box is maintained vertically to ensure that the box does not fall. Therefore, the box cannot be inverted.

[0038] In one embodiment, the method includes the step of having the user select a relevant application from a list of predefined applications, each application having predefined characteristics.

[0039] In one embodiment, the method comprises the step of automatically detecting the relevant application from a list of predetermined applications, wherein each application has predetermined characteristics. Automatic detection can be achieved if predefined known types of hardware can be automatically detected. Detection can be accomplished when the hardware is connected to the control unit or another unit connected to the control unit via a wired connection.

[0040] Previous sub-movements are already taken into account. Therefore, if the motion stops, it can be continued from the point where the robot stopped.

[0041] The workspace and its obstacles (if any) are taken into account when generating the path. Thus, the method ensures that the placement of any structure in the workspace is taken into account based on any restrictions defined based on geometry, size, position and orientation. In one embodiment, obstacles are defined using a 3D model.

[0042] The configuration of the tool and the robot arm is taken into account when generating the path. The configuration includes the orientation, position and geometry of the tool, where the configuration of the tool is monitored. So if the configuration of the tool changes over time while moving the robot arm, this is taken into account when generating the path. In addition, changes in the robot joint angles (angles between adjacent segments) are also taken into account when generating collision-free paths. This way, self-collisions can be avoided.

[0043] In one embodiment, application setup is performed as the last step before the build path (via the build program). This is an advantage because it allows the application type / setup to be modified without changing the hardware and work unit.

[0044] The method enables a user to provide user input (eg during selection of hardware and definition of obstacles). In one embodiment, the method comprises the step of providing automatic detection of hardware and obstacles.

[0045] In one embodiment, the method comprises the step of defining a plurality of two-dimensional or three-dimensional zones, including one or more safety zones, wherein the speed of the robot arm and / or tool is reduced if an operator approaches a danger zone.

[0046] In one embodiment, the method comprises the steps of defining a plurality of two-dimensional or three-dimensional safety zones using a control unit and manually selecting the positions, sizes, geometries and orientations of the plurality of two-dimensional or three-dimensional safety zones.

[0047] In one embodiment, the method is used to generate a finished robot program, which includes a path for the robot arm to move.

[0048] In one embodiment, the method generates a robot program based on sensory input conditions.

[0049] In one embodiment, the method generates a robot program based on peripheral machine drive statements.

[0050] In one embodiment, the method takes into account the status of the workpiece (present or absent, grasped or placed).

[0051] In one embodiment, the i-th sub-action is determined by an optimization process performed based on:

[0052] Configuration of the tool, where the configuration includes the orientation, position and geometry of the tool, and the status of the presence or absence of the workpiece, where the configuration of the tool and predefined characteristics of the selected application are being monitored.

[0053] In one embodiment, the method comprises the step of performing a tool configuration change while the robot arm is moving, preferably based on one or more sensor signals and / or camera signals.

[0054] Performing a change in the tool configuration may include preparing the tool for a close tool action.

[0055] In one embodiment, the tool is a gripper and the method includes the steps of opening the gripper so that it is ready to grip an object and moving the gripper towards the object to be gripped by the gripper. This can be done when the position of the object is known or detected by a sensor or camera.

[0056] In one embodiment, the method comprises the following steps:

[0057] a) determine the location and / or configuration of objects or structures in the workspace;

[0058] b) Providing adaptive control by determining a path based on or dependent upon the position and / or configuration of an object or structure.

[0059] If the robot is feeding objects alternately into two trays and one of the trays is suddenly removed, the robot will continue feeding objects into the remaining tray.

[0060] Alternating pallets means that the robot completes pallets A and B in sequence.

[0061] In one embodiment, the method performs real-time (online) data collection and data processing, wherein data collection includes determining position data of objects and structures.

[0062] In one embodiment, the method comprises the step of saving historical data of the movement of the robot arm, the tool and the object being handled / processed by the tool, so as to save the position of the object relative to the robot arm.

[0063] Thereby, the robot and the corresponding structure (eg, a pallet) can be moved to another location and the process can be continued (eg, feeding an object into the pallet).

[0064] In one embodiment, the method includes an initial hardware in a robotic cell setup step performed by a user prior to performing the optimization process, wherein the user selects one or more hardware including the robotic arm during the setup step.

[0065] A robotic cell (or cell) is a unit that contains the components needed for a robot or multiple robots to perform a task, such as on an assembly line. These tools may include sensors, end effectors (such as grippers), and part feeding mechanisms.

[0066] In one embodiment, the initial hardware setup step includes automatic detection of the hardware including the robotic arm.

[0067] In one embodiment, the initial hardware setup step includes auto-detection of the hardware including the robotic arm, wherein the user must confirm the auto-detection.

[0068] In one embodiment, the initial hardware setup steps include the following steps:

[0069] a) automatically detect one or more hardware connected to the control unit by wire or wireless;

[0070] b) intuitively present the detected hardware to the user;

[0071] and c) allowing the user to confirm the automatically detected hardware.

[0072] In one embodiment, the initial hardware setup steps include the following steps:

[0073] a) automatically detect one or more hardware connected to the control unit by wire or wireless;

[0074] b) intuitively present the detected hardware to the user;

[0075] c) Ask the user to confirm the automatically detected hardware;

[0076] and d) allowing the user to select additional hardware.

[0077] In one embodiment, the hardware may be a physical object that cannot be automatically detected.

[0078] In one embodiment, the hardware may be a sensor for detecting the presence of a pallet or other structure.

[0079] In one embodiment, the initial hardware setup steps include the following steps:

[0080] a) automatically detect one or more hardware connected to the control unit by wire or wireless;

[0081] b) intuitively present the detected hardware to the user;

[0082] c) Ask the user to confirm the automatically detected hardware;

[0083] d) Let the user select additional hardware from a predefined list.

[0084] By using predefined lists, all the required information about the hardware can be provided in advance. Here, software sequences corresponding to the predefined hardware can be prepared in advance. These sequences can then be used to simplify and shorten the required programming time.

[0085] In one embodiment, the method includes an initial workspace setup step performed by a user before the method performs the optimization process, wherein the workspace setup step includes the following steps:

[0086] a) Select the location and direction of the selected obstacle in the work area setting step;

[0087] b) Insert the selected hardware into the workspace;

[0088] and c) intuitively presenting the selected hardware to the user.

[0089] Some obstacles can be automatically identified (e.g., by sensors). A robotic arm can be automatically detected and inserted into the workspace. In a similar manner, tools and other structures can be automatically detected and inserted into the workspace.

[0090] One or more sensors may be used to detect the presence and / or position and / or size and / or orientation and / or geometry of a tool, structure or obstacle.

[0091] In one embodiment, the method includes an initial obstacle setting step performed by a user prior to performing the optimization process, wherein the obstacle setting step includes the following steps:

[0092] a) allowing the user to select an object from a predefined list or to define the geometry of one or more objects, and

[0093] b) Intuitively present the selected object to the user.

[0094] In one embodiment, a user defines how the geometry and / or position or orientation of one or more objects changes over time.

[0095] In one embodiment, the method comprises the following steps:

[0096] a) Detecting stationary obstacles or moving obstacles through one or more sensors;

[0097] as well as

[0098] b) Applying data collected by one or more sensors to perform an optimization process.

[0099] In one embodiment, the method comprises the following steps:

[0100] a) Connecting one or more expansion modules to the control unit, wherein the one or more expansion modules comprise information related to one or more hardware, wherein the information comprises data defining the geometry and optionally other properties (configuration, orientation or version) of the one or more hardware.

[0101] Each expansion module is pre-programmed with one or more applications. Each expansion module is configured to allow the user to provide specific application inputs to simplify programming. Specific application inputs may be related to the type and location of conveyors, sensors, pick and place points.

[0102] The control unit (eg, a computing box) and / or one or more expansion modules are configured to provide collision avoidance of objects in an application environment.

[0103] In one embodiment, the method includes the step of moving the tool from a starting point to an end point.

[0104] The control system of the present invention is a control system configured to generate a path for a robot arm and a tool attached to the robot arm, wherein the robot arm is placed in a position that can include obstacles, wherein the robot arm is connected to a control unit configured to control the movement of the robot arm, wherein the path has a start point and an end point, wherein the path is composed of a plurality of sub-movements, wherein the control system is configured to create the path as a single continuous motion, wherein the path is a collision-free path, wherein the i-th sub-movement is determined by an optimization process performed based on the following predefined characteristics:

[0105] a) the previous sub-action;

[0106] b) The working space and its obstacles (if any);

[0107] c) Tools and

[0108] d) Robotic arm.

[0109] Thus, a path can be generated in a simpler and more user-friendly manner than in the prior art. Thus, programming time can be reduced. Furthermore, programming does not require skilled personnel as in the prior art.

[0110] In one embodiment, the control system is configured to allow the user to select a relevant application from a list of predefined applications, each application having predefined characteristics. The selection can be done via a human-machine interface.

[0111] In one embodiment, the control system is configured to automatically detect the relevant application from a list of predetermined applications, wherein each application has predetermined characteristics.

[0112] In one embodiment, the i-th sub-action is determined by an optimization process based on predefined features of a configuration of the tool and the robot arm, wherein the configuration includes an orientation, a position, and a geometry of the tool, wherein the configuration of the tool is monitored;

[0113] In one embodiment, the control system is configured to receive user input instructions defining a plurality of two-dimensional or three-dimensional areas, including one or more safety areas, where the speed of the robot arm and / or tool must be reduced, wherein the control system is configured to:

[0114] a) determine when the robot and / or tool is within one or more safety zones, and

[0115] b) Reducing the speed of the robot arm and / or tool to a predefined level.

[0116] In one embodiment, the control system is configured to generate a complete robot program having a path for the robot arm to move.

[0117] In one embodiment, the control system is configured to generate a robot program based on sensor input conditions.

[0118] In one embodiment, the control system is configured to generate a robot program according to the peripheral machine driving statements.

[0119] In one embodiment, the control system is configured to take into account the status of the workpiece (present or absent, grasped or placed).

[0120] In one embodiment, the control system is configured to determine the i-th sub-action, the i-th sub-action being determined by an optimization process performed based on:

[0121] the configuration of the tool, where the configuration includes the orientation, position and geometry of the tool,

[0122] and the status of the existence of the artifacts, where the configuration of the tool and the predefined characteristics of the selected application are being monitored.

[0123] In one embodiment, the optimization process is performed in a control unit of the control system.

[0124] In one embodiment, the optimization process is performed in a computing module of the control system.

[0125] In one embodiment, the optimization process is performed in a computing module of a control unit of the control system.

[0126] In one embodiment, the control system is configured to change the configuration of the tool while the robot arm is moving, preferably in dependence on one or more sensor signals and / or camera signals.

[0127] Performing a change in the tool configuration may include preparing the tool for a close tool action.

[0128] In one embodiment, the tool is a gripper and the control system is configured to open the gripper so that it is ready to grip an object and simultaneously move the gripper towards the object to be gripped by the gripper. This can be done when the position of the object is known or detected by a sensor or camera.

[0129] In one embodiment, the control system is configured as follows:

[0130] a) determine the location and / or configuration of objects or structures in the workspace, and

[0131] b) Providing adaptive control by determining a path based on the position and / or configuration of an object or structure.

[0132] If the robot is feeding objects alternately into two trays and one of the trays is suddenly removed, the robot will continue feeding objects into the remaining tray.

[0133] In one embodiment, the control system is configured to perform real-time (online) data collection and data processing, where data collection includes determining position data of objects and structures.

[0134] In one embodiment, the control system is configured to save historical data of the movement of the robot arm, the tool, and the object being processed by the tool, thereby saving the position of the object relative to the robot arm.

[0135] Thereby, the robot and the corresponding structure (eg, a pallet) can be moved to another location and the process can be continued (eg, feeding an object into the pallet).

[0136] In one embodiment, the control system is configured to perform an initial hardware setup step, which is performed by a user before the control system performs an optimization process, wherein the control system includes a control module, through which the user can select one or more hardware including the robotic arm in the setup step.

[0137] In one embodiment, the control module is configured to:

[0138] a) automatically detect one or more hardware connected to the control unit by wire or wireless;

[0139] b) intuitively present the detected hardware to the user;

[0140] c) Ask the user to confirm automatically detected hardware; and

[0141] d) Let the user select additional hardware from a predefined list.

[0142] In one embodiment, the control module is configured to enable a user to perform an initial workspace setup step before the control system performs the optimization process, by which the control module:

[0143] a) You can choose the location and orientation of the hardware selected in the workspace setup step;

[0144] b) The selected hardware can be inserted into the workspace

[0145] c) The selected hardware can be presented to the user in a visual manner.

[0146] In one embodiment, the control module is configured to enable a user to perform an initial obstacle setting step before performing the optimization process, by which the control module:

[0147] a) the user can select objects from a predefined list or define the geometry of one or more objects, and

[0148] b) The selected object can be presented to the user visually.

[0149] In one embodiment, the control module is configured to enable a user to define how the geometry and / or position or orientation of one or more objects changes over time.

[0150] In one embodiment, the control module is configured as follows:

[0151] a) detecting stationary obstacles or moving obstacles by one or more sensors; and

[0152] b) Applying data collected by one or more sensors to perform an optimization process.

[0153] In one embodiment, the control module includes one or more connection structures that are arranged and configured to receive one or more additional boxes and thereby electrically connect them to the control unit, wherein the one or more additional boxes include information related to one or more hardware, wherein the information includes data defining the geometry and optional other properties (configuration, orientation or version) of the one or more hardware.

[0154] In one embodiment, the control module is integrated into the control unit.

[0155] In one embodiment, the control unit constitutes a control module.

[0156] In one embodiment, the control system is configured to initiate and control the movement of the tool from a starting point to an end point.

[0157] In one embodiment, the path is automatically generated in such a way that sharp turns are avoided by blending (corner rounding) sharp corners. Thus, unnecessary acceleration and deceleration of the robot arm can be avoided, thereby achieving faster cycle times.

[0158] In one embodiment, blending is established by having the user define blending points and corresponding blending radii. BRIEF DESCRIPTION OF THE DRAWINGS

[0159] The present invention will become more fully understood through the detailed description given below. The accompanying drawings are for illustration purposes only and therefore do not limit the present invention. In the accompanying drawings:

[0160] FIG1 shows a schematic diagram of a control system according to the present invention;

[0161] FIG2 illustrates how a path for a robot arm and a tool attached to the robot arm is generated using a prior art control system;

[0162] FIG3 shows a flow chart of a method according to the present invention;

[0163] FIG4 shows another flow chart of the method according to the present invention;

[0164] FIG5A shows an example of how to define a workspace using the method according to the present invention;

[0165] FIG5B shows an example of how to add obstacles to a workspace using the method according to the present invention;

[0166] FIG6 illustrates how devices may be automatically detected and / or manually added during hardware setup according to the method of the present invention;

[0167] FIG. 7A shows a schematic diagram according to the invention;

[0168] FIG. 7B shows the control system shown in FIG. 7A in another configuration

[0169] FIG. 8 shows a control system according to the present invention. DETAILED DESCRIPTION

[0170] The preferred embodiment of the present invention will now be described in detail with reference to the accompanying drawings. FIG. 1 shows a control system 2 of the present invention.

[0171] Fig. 1 is a schematic side view of a control system 1 according to the invention.

[0172] The control system 1 is configured to generate a path P of a robot arm 2 and a tool 4 attached to the robot arm 2. The robot arm 2 is placed in a workspace 8, which includes a plurality of obstacles 22, 24, 26 placed at different locations within the workspace 8. The robot arm 2 includes a base 10, distal arm members 14, and an intermediate arm member 12 extending between the distal arm members 14. A connector 16 is provided at the distal end of the distal arm member 14. The connector 16 is configured to couple the tool 4 to the robot arm 2. The tool 4 attached to the robot arm 2 is a gripper 4.

[0173] The robot arm 2 is a collaborative robot connected to a control unit (designed as a computing box) 40. The computing box 40 is used to control the movement of the robot arm 2.

[0174] The path P has a starting point A and a different end point B. However, in an embodiment, the starting point A may correspond to the end point B. In FIG. 1 , the end point B corresponds to the position where the object 6 is placed on the plate 20. In practice, the object 6 is placed on the pins 18 extending from the surface of the plate 20.

[0175] The path P consists of multiple sub-actions d1, d2, d3, ..., d N-1 , d N The control system 1 is configured to allow the user to select a relevant application from a list of predefined applications, each application having predefined characteristics. Based on this, the control system 1 can define constraints and tasks or work objectives related to the characteristics of the selected application.

[0176] The control system 1 is configured to select both application user input (application related information, such as selecting the relevant application from a list) and automatic detection of hardware, such as the tool 4 and the robot 2. At this point, the application is loaded into the system. The control system 1 is configured to create a path P as a single continuous motion, where the i-th sub-action di is determined by an optimization process performed based on predefined characteristics.

[0177] The optimization process is based on the following predefined characteristics:

[0178] a) predefined characteristics of the selected application;

[0179] b) the previous sub-action di-1;

[0180] c) working space 8 and its obstacles 22, 24, 26;

[0181] d) Dynamic configuration of tool 4 and robot arm 2;

[0182] e) Robotic arm 2.

[0183] The configuration of the tool 4 includes the orientation, position and geometry of the tool 4. The configuration of the tool 4 is being monitored.

[0184] The first safety zone S1 and the second safety zone S2 are defined by the user. In these safety zones S1, S2, the speed of the robot 2 is limited to a predefined level, which is lower than the speed level allowed in the rest of the workspace 8. The safety zones S1, S2 are defined as two-dimensional or three-dimensional areas.

[0185] The first safety zone S1 is located near the obstacle 24 , and the second safety zone S2 is located near the obstacle 26 .

[0186] The first expansion module 36 and the second expansion module 38 are electrically connected to the computing box 40 .

[0187] Each extension module 36, 38 contains information related to one or more hardware, such as a robot arm 2 and a tool 4 (gripper). The information related to one or more hardware includes data defining the geometry of one or more hardware and optionally other properties (configuration, orientation or version).

[0188] In the prior art, the robot arm does not know the size of the tool. Therefore, even if the robot arm monitors its own movement, there is a risk of collision between the tool and the structure in the workspace.

[0189] If the user makes a mistake during the initial setup of the control system 1, the control system 1 can perform automatic fault detection and thereby detect the error. If the fingertips of the gripper are set too long (e.g. 1 meter), the control system 1 can perform automatic fault detection. Automatic fault detection allows a recheck so that the user can correct the error.

[0190] In one embodiment, the automatic fault detection function is integrated into the computer box 40. In one embodiment, the automatic fault detection function is integrated into one or more expansion modules 36,38.

[0191] The control system 1 comprises a control module 46 by which a user can select one or more hardware 4 , 22 , including the robot arm 2 , during a setup step (shown and explained with reference to FIGS. 3 and 4 ).

[0192] In one embodiment, the control module 46 is configured to:

[0193] a) automatically detecting one or more hardware 2, 4 connected to the computing box 40 by wire or wireless;

[0194] b) intuitively presenting the detected hardware 2, 4 to the user;

[0195] c) asking the user to confirm the automatically detected hardware 2, 4; and

[0196] d) Let the user select additional hardware from a predefined list.

[0197] Figure 2 shows a top view of how the path of a robot arm and a tool attached to the robot arm is generated using a prior art control system. The path has a starting point A and a different end point B.

[0198] In the first step I, the first sub-action d1 is calculated based on the available information.

[0199] The robot arm is calculating a horizontal sub-motion d1 in which the robot arm and a tool attached to the robot arm pass through obstacle 22.

[0200] The workspace in which the path is generated includes a plurality of obstacles 22 , 24 , 26 , 26 ′.

[0201] In a second step II, a second sub-action d2 is calculated based on the available information. The robot arm is calculating a horizontal sub-action dz, in which the robot arm and the tool attached to the robot arm pass the obstacle 22. The second sub-action d2 extends perpendicularly to the first sub-action d1.

[0202] In a third step III, a third sub-action d3 is calculated based on the available information.

[0203] The third sub-action d3 extends vertically to the second sub-action d2.

[0204] In the fourth step IV, the remaining sub-actions dN-2, dN-1, dN are shown. It can be seen that the method of generating a path in the prior art includes generating multiple single sub-actions d1, d2, d3, ..., dN-2, dN-1, dN in one-to-one correspondence.

[0205] FIG. 3 shows a flow chart of the method according to the present invention.

[0206] When the method has been started in the first step "Start", the next step is the hardware setup step 28, in which the hardware of the control system is set. During the hardware setup, the user can manually select one or more hardware. It is also possible to perform an automatic detection, in which the automatically detected hardware is added to the control system. Since the tool is usually electrically connected to a robot arm or a computing box, a wired connection allows automatic detection.

[0207] In the Hardware Setup step, the connected hardware is presented to the user in a visual way. If necessary, the user can modify any characteristics of the hardware. If necessary, the user can define the hardware and any of its characteristics.

[0208] The user can, for example, select a standard fingertip for the clamp. Alternatively, the user can create a new setup, for example modifying the length of the clamp or the fingertip.

[0209] The next step is the workspace setup step 30. In the workspace setup step 30, the area that the robot can reach is defined. During the workspace setup step 30, any obstacles can be defined in the optional obstacle setup step 34. The robot arm itself is considered an obstacle.

[0210] Once the hardware setup 28 is completed and the parameters are set, the user needs to define the workspace. In one embodiment, the method includes a user guidance function configured to guide the user. In one embodiment, the application is palletizing, and the user guide is designed for setting up to guide the user to set up the palletizing application.

[0211] The method includes an optimal area definition setup 31 indicated below the work area setup step 30. In the area definition setup step 31, a safety zone may be set, as shown and explained with reference to FIG. 1. In one embodiment, the geometry, orientation, size, and position of the safety zone are defined by a user during the area definition setup step 31. In one embodiment, the geometry, orientation, size, and position of the safety zone are selected from a list containing a plurality of predefined features (geometry, orientation, size, and position). The safety zone is defined as a two-dimensional or three-dimensional area.

[0212] In one embodiment, the safety zone selected is shown and explained with reference to Figure 1. In one embodiment, the safety zone is defined by the user in such a way that the speed of the robot arm 2 is limited to a predefined level lower than the speed level allowed in the rest of the workspace.

[0213] The next step is the program generation step 35. In the program generation step 35, the path is determined. This determination is done by optimization. The optimization is done in such a way that the path is created as a single continuous movement. This means that the creation of the path results in a continuous movement.

[0214] The i-th sub-action is determined by an optimization process based on:

[0215] a) predefined characteristics of the selected application;

[0216] b) the previous sub-action;

[0217] c) working space and its obstacles (if any);

[0218] d) dynamic configuration of the tool and the robot, wherein the configuration includes the orientation, position and geometry of the tool, and wherein the configuration of the tool is monitored;

[0219] e) Robotic arm.

[0220] By letting the user select the relevant application from a predefined list, each with predefined characteristics, any relevant characteristics of the tool, robot arm, obstacles and other hardware can be automatically taken into account. Thus, the present invention can generate the program required to use the robot arm without the need for complex and time-consuming programming that requires skilled personnel. The present invention makes the way to create the program required to use the robot arm more user-friendly, faster and simpler.

[0221] A further flow chart of the method according to the invention is shown in Figure 4. The first three steps (start, hardware setup step 28 and workspace setup step 30 and optimal obstacle setup step 34) correspond to the steps shown and explained in Figure 3.

[0222] After the third step, a fourth application flow generation step 29 is performed. In the application flow generation step 29, the flow is generated according to the available information. For example, the available information may include information about the presence of slip sheet.

[0223] In one embodiment, the application includes a CNC machining process. In this embodiment, the application process generation step 29 may include the following steps:

[0224] - Pick up objects from the feed port;

[0225] - Loading objects into CNC machines;

[0226] -Upload processing data from CNC machine tools;

[0227] -Put the processed objects into the discharge port.

[0228] In one embodiment, the application stream generation step 29 includes applying information provided in and accessible from one or more expansion modules electrically connected to a control box (eg, a compute box).

[0229] After the fourth step 29, a fifth application parameter setting step 33 is performed. In the application parameter setting step 33, one or more parameters are set. In the application parameter setting step 33, parameters such as the number of boxes to be processed can be defined. In addition, the user can define the position, size, geometry and orientation of the boxes in this step. In one embodiment, the parameters are selected by the user from a predefined list.

[0230] After the fifth step 33, a sixth program generation step 35 is performed. This step corresponds to the program generation step 35 shown in FIG. 4 and explained with reference to FIG.

[0231] After the sixth program generation step 35, an adaptive control step 37 is performed. In the adaptive control step 37, adaptive control is performed regularly and continuously. The adaptive control step 37 is performed based on monitored or provided information.

[0232] In one example, multiple pallets are available to receive processed objects. If one or more pallets are not available within a predetermined time period (e.g., 5 minutes), another pallet is used to replace the missing pallet.

[0233] Therefore, the method is able to continuously optimize the program according to the actual state and configuration of the structure in the workspace.

[0234] Fig. 5A shows an example of how to define a workspace 8 using the method according to the invention. Fig. 5B shows an example of how to add obstacles 22, 24 to a workspace 8 using the method according to the invention.

[0235] In one embodiment, the visualization shown in FIGS. 5A and 5B may be displayed on a display integrated in or connected to the control module, as shown and explained with reference to FIG. 4 .

[0236] The robot arm 2 is placed in the work space 8. The robot arm 2 is mounted on a base 52. The tool 40 is mounted on the robot arm 2. The work space 8 is defined by a Cartesian coordinate system including an X-axis, a Y-axis, and a Z-axis.

[0237] In FIG. 5B the user has added a first obstacle 22 and a second obstacle 24 to the workspace 8. The obstacles 22, 24 are box-shaped. However, the obstacles 22, 24 may have other geometric shapes. In one embodiment, the control system and method according to the present invention are configured to enable the user to add obstacles and select their geometric shape, size, orientation and position relative to a Cartesian coordinate system.

[0238] Fig. 6 shows how to automatically detect and / or manually add devices during hardware setup according to a control system or method of the present invention. In one embodiment, the visualization shown in Fig. 6 is displayed on a display integrated in or connected to a control module, as shown in Fig. 4 and explained with reference to Fig. 4.

[0239] It can be seen that the vacuum gripper 4 and the lifter (robotic lifter) 4' have been selected during the hardware setup.

[0240] The robot 2 has been automatically detected. Information about user added devices 54, 56 can be provided by connecting one or more expansion modules containing information related to one or more hardware. In Figure 6, there is an automatic pallet station 56 and a feed sensor 54.

[0241] Fig. 7A shows a schematic diagram of a control system 1 according to the present invention, and Fig. 7B shows a schematic diagram of a control system 1 according to the present invention. Fig. 7B shows another configuration of the control system shown in Fig. 7A.

[0242] The control system 1 includes a control system corresponding to a control system shown in FIG. 1 and explained with reference to FIG. The robot arm 2 includes a base 10, a distal arm member 14, and an intermediate arm member 12 extending between the distal arm members 14. A tool (vacuum gripper) is mounted on the robot arm 2. The vacuum gripper is used to stack the plate-like objects 6 on the first tray 48 and the second tray 50.

[0243] The control system 1 includes a computing box 40 and two expansion modules 36 , 38 electrically connected to the computing box 40 .

[0244] The control system 1 comprises a first sensor 42 arranged and configured to detect the presence of a first tray 48 .

[0245] The control system 1 comprises a second sensor 44 arranged and configured to detect the presence of a second tray 50 .

[0246] 7A , the second sensor 44 will detect that the second tray 50 is missing. Therefore, the control system 1 will ensure that all objects 6 are stacked on the first tray 48 only.

[0247] However, in FIG. 7B , the second sensor 44 will detect the presence of the second tray 50 . Accordingly, the control system 1 will cause the robot arm 2 to deposit the objects 6 onto the second tray 50 .

[0248] Fig. 8 shows a control system 1 according to the invention. The control system 1 is configured to generate a path for a robot arm 2 and a tool (gripper) 4 attached to the robot arm 2 to move.

[0249] The robot arm 2 is placed in a workspace (robot cell) 8 which may contain obstacles 22. The robot arm 2 is connected to a control unit designed as a control module 60 for controlling the movements of the robot arm 2.

[0250] In this example, a complete robot program is generated. The generated program will check the status of the feed sensor 42 during startup. If the part is not present, it will provide feedback to the user to fill the feed tray.

[0251] When the object 8 is added, it will wait for the user. The control system 1 may include a display 62 configured to present information to the user in order to provide user feedback. The user may use the display 62 (eg formed as a touch screen) to confirm that the feed tray has been filled.

[0252] The robot program is configured to check if the door 56 of the CNC machine is open. If the door 56 is not open, the program sends a command to the CNC machine, which opens the door 56 upon receiving the command. The program now advances to the infeed area and selects a new object 8. The gripping distance is known from the geometry of the workpiece. If the gripper 4 cannot grip the object 8 for some reason, the program stops and displays an error message. The robot arm 2 now follows the generated path, avoiding self-collisions (workpiece / gripper 4 hitting robot parts), door openings, and the tool changer inside the CNC machine. It grabs a machined part from the machine, turns the robot end effector, inserts a new workpiece for the machine to process, and then retracts. A command is sent to close the machine door 56 and the CNC machine is commanded to start executing the task. This represents one complete machine cycle.

[0253] Numbered List

[0254] 1 Control system

[0255] 2 Robotic Arm

[0256] 4,4' Tools

[0257] 6 Objects

[0258] 8 Workspace

[0259] 10 Base

[0260] 12 Intermediate arm member

[0261] 14 Distal arm member

[0262] 16 Connectors

[0263] 18 Pins

[0264] 20 Plates

[0265] 22,24 obstacles

[0266] 26, 26', 26" obstacles

[0267] 28 Hardware Setup Steps

[0268] 29 Application Process Generation Steps

[0269] 30 Workspace Setup Steps

[0270] 31 Regional Settings Steps

[0271] 32 Hardware

[0272] 33 Application parameter setting steps

[0273] 34 Obstacle Setting Steps

[0274] 35 Program generation steps

[0275] 36 First expansion module

[0276] 37 Adaptive Control Steps

[0277] 38 Second expansion module

[0278] 40 Computing Box

[0279] 42,44 Sensors

[0280] 46 control module

[0281] 48,50 Structure (e.g. pallet)

[0282] 52 base

[0283] 54 Feeding device

[0284] 56 doors

[0285] 58 Mechanical components

[0286] 60 Computing Modules

[0287] P-Path

[0288] A Starting Point

[0289] B End point

[0290] d1,d2,d3,d4,d i-1 , sub-action

[0291] d i+1 ,d N-2 ,d N-1 ,d N Sub-action d i The i-th sub-action

[0292] S1, S2 safety zone

[0293] X, Y, Z axis

Claims

1. A method for generating a path (P) for movement of a robot arm (2) and a tool (4) attached to the robot arm (2), wherein: A tool (4) is arranged to handle or process an object (6), wherein a robot arm (2) is placed in a workspace (8) which may include one or more obstacles (22, 24, 26, 26', 26"), wherein the robot arm (2) is connected to a control unit (40), the control unit (40) being configured to control the movement of the robot arm (2), wherein a path (P) has a start point (A) and an end point (B), wherein the path (P) is composed of a plurality of sub-movements (d1, d2, d3, ..., d N-2 ,d N-1 ,d N ), wherein the method comprises the following steps: - Let users select from a list of predefined applications or automatically detect relevant applications, each with predefined characteristics; - Create a path(P) as a single continuous motion, where path(P) is a collision-free path(P) where the i-th sub-motion(d i ) is determined by an optimization process based on: a) Previous sub-movement (d i-1 ); b) the working space (8) and its obstacles (22, 24, 26, 26', 26") (if any); d) configuration of the robotic arm (2); d) Robotic arm (2), It is characterized by that the i-th sub-motion (d i ) is determined by an optimization process based on: a configuration of a tool (4), wherein the configuration includes an orientation, a position and a geometry of the tool (4), wherein the configuration of the tool (4) is monitored and Predefined characteristics for the selected application.

2. The method according to claim 1, characterized in that Therein the method comprises the step of changing the configuration of the tool (4) when the robot arm (2) moves, preferably based on one or more sensor signals and / or camera signals.

3. A method according to any one of the preceding claims, characterised in that The method comprises the steps of: a) determining the position and / or configuration of an object (6) or structure (48, 50) in a workspace (8), and b) providing adaptive control by determining a path (P) based on the position and / or configuration of the object (6) or structure (48, 50).

4. A method according to any one of the preceding claims, characterised in that The method comprises an initial hardware setup step (28) performed by a user before performing the optimization process, wherein the user selects one or more hardware (2, 4, 32) including the robotic arm (2) during the setup step (28).

5. The method according to claim 4, characterized in that The method includes an initial workspace setup step (30) performed by a user before the method performs the optimization process, wherein the workspace setup step (30) includes the following steps: a) selecting the position and direction of the selected obstacle in the work area setting step (30); b) insert the selected hardware (2, 4, 32) into the workspace (8) and c) Intuitively present the selected hardware (2, 4, 32) to the user.

6. A method according to any preceding claim, characterised in that The method comprises the following steps: a) detecting a stationary obstacle (22, 24, 26, 26', 26") or a moving obstacle (22, 24, 26, 26', 26") by one or more sensors (42, 44), and b) Applying data collected by one or more sensors to perform an optimization process.

7. A method according to any one of the preceding claims, characterised in that The method comprises the steps of defining a plurality of two-dimensional or three-dimensional areas (S1, S2), including one or more safety areas (S1, S2) in which the speed of the robot arm (2) and / or the tool (4) must be reduced.

8. A method according to any preceding claim, characterised in that The method comprises the step of saving historical data of the movement of the robot arm (2), the tool (4) and the object (6) handled / processed by the tool (4) so ​​as to save the position of the object (6) relative to the robot arm (2).

9. A method according to any preceding claim, characterised in that The method comprises the following steps: a) connecting one or more expansion modules (36, 38) to a control unit (40), wherein the one or more expansion modules (36, 38) comprise information related to one or more hardware (2, 4, 32), wherein the information comprises data defining the geometry and optionally other properties (configuration, orientation or version) of the one or more hardware (2, 4, 32).

10. A control system (1) configured to generate a path (P) for moving a robot (2) together with a tool (6) attached to the robot (2), wherein the robot (2) is placed in a workspace (8) that may include obstacles (22, 24, 26, 26', 26"), wherein the robot (2) is connected to a control unit (40) configured to control the movement of the robot (2), wherein the path (P) has a start point (A) and an end point (B), wherein the path (P) is composed of a plurality of sub-movements (d1, d2, d3, ..., d4, d5, d6, d7, d8, d9, d10, d11, d21, d3, d4, d5, d6, d7, d8, d9, d10, d12, d3, d3, d4, d5, d6, d8, d9, d10, d13, d14, d15, d16, d17, d18, d19, d20, d21, d22, d30, d31, d32, d33, d34, d35, d36, d37, d38, d39, d40, d41, d42, d43, d44, d45, d46, d47, d48, d49, d5 N-2 , d N-1 , d N ), wherein the control system (1) is configured to create a path (P) as a single continuous motion, wherein the path (P) is a collision-free path (P), wherein the i-th sub-motion (di) is determined by an optimization process performed based on the following predefined characteristics: a) Previous sub-movement (d i-1 ); b) the working space (8) and its obstacles (22, 24, 26, 26', 26") (if any); c) Robotic arm (2), It is characterized in that The i-th sub-motion (d i ) is determined by an optimization process based on: predefined characteristics of the tool (6); Configuration of a tool (4) and a robot arm (2), wherein the configuration includes the orientation, position and geometry of the tool (4), wherein the configuration of the tool (4) is being monitored and Predefined characteristics for the selected application.

11. The control system (1) according to claim 10, characterized in that Wherein the control system (1) is configured to change the configuration of the tool (4) when the robot arm (2) moves, preferably based on one or more sensor signals and / or camera signals.

12. The control system (1) according to any of the preceding claims 10-11, characterized in that The control system (1) is configured as follows: a) determining the position and / or configuration of an object (6) or structure (48, 50) in a workspace (8), and b) providing adaptive control by determining a path (P) based on the position and / or configuration of the object (6) or structure (48, 50).

13. The control system (1) according to any one of the preceding claims 10-12, characterized in that The control system (1) is configured to perform an initial hardware setup step (28) which is performed by a user before the control system (1) performs an optimization process, wherein the control system (1) includes a control module (46) through which the user can select one or more hardware (2, 4, 32) including the robotic arm (2) during the setup step (28).

14. The control system (1) according to claim 13, characterized in that The control module (46) is configured as follows: a) automatically detecting one or more hardware (2, 4, 32) connected to a control unit (40) by wire or wireless; b) Intuitively present the detected hardware to the user (2, 4, 32): c) asking the user to confirm the automatically detected hardware (2, 4, 32); and d) Let the user select additional hardware from a predefined list (2, 4, 32).

15. A control system (1) according to claim 14, characterised in that The control module (46) is configured to enable a user to perform an initial workspace setting step (30) before the control system (1) performs an optimization process, by which: a) can select the position and orientation of the selected hardware (2, 4, 32) in the workspace setting step (30); b) can insert the selected hardware (2, 4, 32) into the workspace (8), and c) The selected hardware (2, 4, 32) can be presented intuitively to the user.

16. A control system (1) according to claim 14 or 15, characterised in that The control module (46) is configured to enable the user to perform the initial obstacle setting step (34) before performing the optimization process, by which: a) the user can select an object (22, 24, 26, 26', 26") from a predefined list or define the geometry of one or more objects (22, 24, 26, 26', 26"), and b) The selected object (22, 24, 26, 26', 26") can be presented to the user intuitively.

17. A control system (1) according to claim 16, characterised in that The control module (46) is configured to enable a user to define how the geometry and / or position or orientation of one or more objects (22, 24, 26, 26', 26") changes over time.

18. The control system (1) according to any one of the preceding claims 10-17, characterized in that in, The control module (46) is configured to: a) detect a stationary obstacle (22, 24, 26, 26', 26") or a moving obstacle (22, 24, 26, 26', 26") via one or more sensors (42, 44), and b) apply data collected by the one or more sensors to perform an optimization process.

19. A control system (1) according to any one of the preceding claims 10-18, characterized in that in, The control system (1) is configured to store historical data of the movements of the robot arm (2), the tool (4) and the object handled by the tool (4), thereby storing the position of the object (6) relative to the robot arm (2).

20. The control system (1) according to any one of the preceding claims 10-19, characterized in that in, The control system (1) is configured to receive user input instructions, the instructions defining a plurality of two-dimensional or three-dimensional areas (S1, S2), including one or more safety areas (S1, S2), where the speed of the robot arm (2) and / or the tool (4) must be reduced, wherein the control system (1) is configured to: a) determining when the robot arm (2) and / or the tool (4) is within one or more safety zones (S1, S2), and b) Reducing the speed of the robot arm (2) and / or the tool (4) to a predefined level.

21. The control system (1) according to any one of the preceding claims 10-20, characterized in that in, The control module (46) includes one or more connection structures, which are arranged and configured to receive one or more additional boxes (36, 38) and electrically connect the one or more additional boxes (36, 38) to the control unit (40) accordingly, wherein the one or more additional boxes (36, 38) include information related to one or more hardware (2, 4, 32), wherein the information includes data defining the geometry and optional other properties (configuration, orientation or version) of the one or more hardware (2, 4, 32).

22. The control system (1) according to any of the preceding claims 10-21, characterized in that in, The control system (1) is configured to initiate and control the movement of the tool (6) from a starting point (A) to an end point (B).

Citation Information

Patent Citations

  • Pipeline spraying robot and operation track planning method thereof

    CN101612734A

  • Easy collaborative tool changer

    CN111565899A

  • Method for a collision-free path planning of an industrial robot

    EP2353802A2

  • Systems, apparatus, and methods for robotic learning and execution of skills

    US20210379758A1

  • Motion planning graph generation user interface, systems, methods and articles

    US20220193911A1