System for axial speed-based robot control, method, machine tending system and method using the same, and computer program recorded on a recording medium for executing the same

KR1020260135592APending Publication Date: 2026-09-14KOREA INSTITUTE OF INDUSTRIAL TECHNOLOGY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
KR1020250028347
Authority / Receiving Office
KR · KR
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-05
Publication Date
2026-09-14

Smart Images

  • Figure PAT00016_ABST
    Figure PAT00016_ABST
Patent Text Reader

Abstract

The present invention proposes an axis-speed-based robot control system capable of stably controlling a robot based on the axis speed of the robot. The system may include a robot for moving an item and a controller that receives a target point for moving the item, sets a speed for moving the robot to the target point based on the robot's current position, and controls the robot at the set speed.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to an automation system. More specifically, it relates to an axis speed-based robot control system capable of stably controlling a robot based on the axis speed of the robot, a method, a machine tending system using the same, a method, and a computer program recorded on a recording medium to execute the same. Background Technology

[0002] Collaborative robots are robots designed as partners that cooperate with humans in a space not separated from them, and they have recently garnered attention due to their advantages, such as relatively low costs and the ability to be rapidly applied across various industrial sectors. Furthermore, collaborative robots offer advantages over conventional industrial robots, such as ease of operation and ease of process reconfiguration, allowing for flexible utilization in diverse processes and tasks. Recently, unlike industrial robots that primarily perform simple, repetitive tasks, collaborative robots are acting as fusion systems that integrate IT (Information & Communication Technology) technologies, including artificial intelligence, human interfaces, and ubiquitous networks.

[0003] Meanwhile, machine tending refers to an automated process that uses a collaborative robot to feed a workpiece into a machine tool such as a milling machine, a drilling machine, or a stamping press, and to take out the processed semi-finished or finished product and move it to the next process.

[0004] Generally, collaborative robots for performing machine tending operate based on a path generation method. Specifically, the path generation method sets a starting point and a target point, generates multiple waypoints based on the set starting point and target point, and controls the robot to pass through the generated waypoints.

[0005] However, path generation-based robot control methods had a problem in that path generation frequently failed when the work environment was complex or the workpiece was not precisely positioned. In addition, because path generation-based robot control methods control the robot based on the path, there was a problem in that paths were generated that exceeded the kinematic limits of the robot, such as when the robot arm rotated more than 360° around a specific axis. Prior art literature

[0006] Korean Patent Publication No. 10-2735911, 'Mobile robot moving by generating an avoidance path according to the detection position of an obstacle, method and program thereof', (Registered Nov. 26, 2024) The problem to be solved

[0007] The object of the present invention is to provide an axis velocity-based robot control system, a method, and a computer program recorded on a recording medium for implementing the same, which can stably control a robot based on the axis velocity of the robot.

[0008] Another objective of the present invention is to provide a machine tending system using an axis velocity-based robot control method capable of stably controlling a robot based on the axis velocity of the robot, a method, and a computer program recorded on a recording medium for implementing the same.

[0009] The technical problems of the present invention are not limited to those mentioned above, and other unmentioned technical problems will be clearly understood by those skilled in the art from the description below. means of solving the problem

[0010] To achieve the technical objectives described above, the present invention proposes an axis-speed-based robot control system capable of stably controlling a robot based on the axis speed of the robot. The system may include a robot for moving an item and a controller that receives a target point for moving the item, sets a speed for moving the robot to the target point based on the robot's current position, and controls the robot at the set speed.

[0011] Specifically, the robot is characterized by comprising a robot arm having a plurality of links and at least one joint that rotates or moves the plurality of links around a specific axis, and a gripping unit installed at the end of the robot arm for gripping an article.

[0012] The above controller is characterized by controlling the speed for each axis of the robot arm to move the gripping unit to the target point based on the current position of the gripping unit.

[0013] The above controller is characterized by receiving the current position of the gripping unit in real time at a preset period and variably controlling the speed of each axis of the robot arm based on the error between the received current position and the target point.

[0014] The above controller is characterized by estimating the speed for each axis to move to the target point by the shortest distance based on the current position of the robot, and individually controlling each axis of the robot with the estimated speed for each axis.

[0015] The above controller individually controls each axis of the robot at a speed of each axis that allows movement to the target point by the shortest distance, and is characterized by limiting the rotation angle or travel distance of each axis of the robot based on kinematics information of the robot.

[0016] In addition, the present invention proposes a machine tending system capable of stably controlling a robot based on the speed of each axis of the robot. The system may include a robot equipped with a camera for photographing a workspace and moving an item, a processing device for processing an item supplied by the robot, and a controller that identifies an item based on an image captured by the camera, controls the robot to grasp the identified item, sets a speed for moving the robot to a target point based on the robot's current position, and controls the robot to move the item at the set speed and supply it to the processing device.

[0017] Specifically, the above article is characterized by being a workpiece made of a metal material that reflects light.

[0018] The processing device is characterized by further including a correction module that supports correcting the gripping position of the robot when the robot grips an item and moves to a preset position.

[0019] The above correction module is characterized by being positioned on the movement path of the robot and, when the robot grasps the item and is positioned at a preset correction position, including a light that illuminates the end of the item and a non-reflective plate formed of a non-reflective material that is positioned opposite to the light with respect to the correction position.

[0020] The above controller is characterized by controlling the robot to position the item at the correction position when the robot grasps the item, reflecting light emitted from the light source onto the end of the item, acquiring an image of the end of the item where the light is reflected through the camera, and correcting the grasping position of the item based on the acquired image.

[0021] The above controller is characterized by measuring the length between the end portion of the article and the gripping unit based on the acquired image, and identifying the gripping position of the article based on the measured length.

[0022] The above non-reflective plate is characterized by having a marker formed with a preset pattern.

[0023] The above controller is characterized by positioning the robot at the correction position when the robot grasps an item, acquiring an image of the marker, and correcting the teaching point of the robot based on the acquired image.

[0024] In addition, the present invention proposes a robot control method capable of stably controlling a robot based on the axial speed of the robot. The method may include the steps of: a controller receiving input of a target point for the robot to move an item; the controller setting a speed for moving the robot to the target point based on the robot's current position; and the controller controlling the robot at the set speed.

[0025] In addition, the present invention proposes a machine tending method capable of stably controlling a robot based on the axis speed of the robot. The method may include the steps of: a controller identifying an item based on an image captured by a camera; the controller controlling a robot equipped with a camera capturing a workspace and moving an item to grasp the identified item; the controller setting a speed to move the robot to a target point based on the current position of the robot; and the controller controlling the robot to move the item at the set speed and supply it to a processing device for processing the item.

[0026] To achieve the technical objectives described above, the present invention proposes a computer program recorded on a recording medium for executing the robot control method. The computer program may be combined with a computing device comprising a memory, a transceiver, and a processor that processes instructions residing in the memory. Furthermore, the computer program may be a computer program recorded on a recording medium for the processor to execute the steps of: receiving a target point for the robot to move an item; setting a speed for moving the robot to the target point based on the robot's current position; and controlling the robot at the set speed.

[0027] In order to achieve the technical objectives described above, the present invention proposes a computer program recorded on a recording medium for executing the machine tending method. The computer program may be combined with a computing device comprising a memory, a transceiver, and a processor that processes instructions residing in the memory. Furthermore, the computer program may be a computer program recorded on a recording medium for executing the steps of: the processor identifying an item based on an image captured by a camera; the processor controlling a robot equipped with a camera that captures a workspace and moves the item to grasp the identified item; the processor setting a speed for moving the robot to a target point based on the robot's current position; and the processor controlling the robot to move the item at the set speed and supply it to a processing device that processes the item.

[0028] Specific details of other embodiments are included in the detailed description and drawings. Effects of the invention

[0029] According to various embodiments of the present invention, by individually controlling the speed of each axis of a robot arm to move a gripping unit to a target point based on the current position of the gripping unit, the operation time required for path generation can be reduced, and situations where the operation stops due to path generation failure or exceeding the kinematic limits of the robot arm can be fundamentally prevented.

[0030] In addition, according to various embodiments of the present invention, by utilizing the characteristics of a metal workpiece to reflect light irradiated from a light source onto the end portion of an article and correcting the gripping position of the article based on an image of the end portion of the article with the reflected light captured by a camera, errors that may occur during article loading can be significantly reduced.

[0031] The effects of the present invention are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art to which the present invention pertains from the description in the claims. Brief explanation of the drawing

[0032] FIG. 1 is a configuration diagram of a machine tending system according to one embodiment of the present invention. FIG. 2 is an illustrative diagram for explaining a machine tending system according to one embodiment of the present invention. FIG. 3 is an illustrative diagram for explaining a correction module according to an embodiment of the present invention. FIG. 4 is an illustrative diagram for explaining a non-reflective plate according to one embodiment of the present invention. FIG. 5 is a logical configuration diagram of a controller according to one embodiment of the present invention. FIGS. 6 and FIGS. 7 are illustrative diagrams for explaining a controller according to an embodiment of the present invention. FIG. 8 is a hardware configuration diagram of a controller according to one embodiment of the present invention. FIG. 9 is a flowchart for explaining a robot control method according to an embodiment of the present invention. FIG. 10 is a flowchart illustrating a machine tending method according to one embodiment of the present invention. Specific details for implementing the invention

[0033] It should be noted that technical terms used in this specification are used merely to describe specific embodiments and are not intended to limit the invention. Furthermore, unless specifically defined otherwise in this specification, technical terms used in this specification should be interpreted in the sense generally understood by those skilled in the art to which the invention pertains, and should not be interpreted in an overly broad or overly narrow sense. Additionally, if a technical term used in this specification is an incorrect technical term that fails to accurately express the spirit of the invention, it should be understood as being replaced by a technical term that can be correctly understood by those skilled in the art. Moreover, general terms used in this invention should be interpreted according to their prior definitions or the context, and should not be interpreted in an overly narrow sense.

[0034] Additionally, singular expressions used in this specification include plural expressions unless the context clearly indicates otherwise. In this application, terms such as "composed of" or "have" should not be interpreted as necessarily including all of the various components or steps described in the specification, and should be interpreted as potentially including some of the components or steps, or including additional components or steps.

[0035] Additionally, terms including ordinal numbers, such as first, second, etc., used herein may be used to describe various components, but said components shall not be limited by said terms. Such terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be named the second component, and similarly, the second component may be named the first component.

[0036] When it is stated that one component is "connected" or "connected" to another component, it may be directly connected or connected to that other component, or there may be other components in between. On the other hand, when it is stated that one component is "directly connected" or "directly connected" to another component, it should be understood that there are no other components in between.

[0037] Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings. Identical or similar components regardless of drawing symbols are given the same reference number, and redundant descriptions thereof will be omitted. Furthermore, in describing the present invention, if it is determined that a detailed description of related known technology may obscure the essence of the present invention, such detailed description will be omitted. Additionally, it should be noted that the attached drawings are intended only to facilitate an easy understanding of the concept of the present invention and should not be interpreted as limiting the concept of the present invention. The concept of the present invention should be interpreted as extending to all modifications, equivalents, and substitutions other than those shown in the attached drawings.

[0039] Meanwhile, path generation-based robot control methods had a problem in that path generation frequently failed when the work environment was complex or the workpiece was not precisely positioned. In addition, because path generation-based robot control methods control the robot based on the path, there was a problem in that paths were generated that exceeded the kinematic limits of the robot, such as when the robot arm rotated more than 360° around a specific axis.

[0040] To overcome these limitations, the present invention proposes various means to stably control a robot.

[0042] FIG. 1 is a configuration diagram of a machine tending system according to an embodiment of the present invention, FIG. 2 is an illustrative diagram for explaining a machine tending system according to an embodiment of the present invention, FIG. 3 is an illustrative diagram for explaining a correction module according to an embodiment of the present invention, and FIG. 4 is an illustrative diagram for explaining a non-reflective plate according to an embodiment of the present invention.

[0043] Referring to FIGS. 1 to 4, a machine tending system according to one embodiment of the present invention may be configured to include a robot (100), a processing device (200), and a controller (300).

[0044] As such, the components of the machine tending system according to one embodiment of the present invention merely represent functionally distinct elements, so two or more components may be implemented as integrated elements in an actual physical environment, or a single component may be implemented as separated elements in an actual physical environment.

[0045] To describe each configuration, the robot (100) can grasp an item and supply it to a processing device (200), or move an item processed by the processing device (200) to the next process. For example, as shown in FIG. 2, the robot (100) is positioned between a conveyor and a processing device (200) to supply an item supplied from the conveyor to the processing device (200).

[0046] Here, an article according to one embodiment of the present invention may be a workpiece made of a light-reflecting metal material. For example, the article may be a metal workpiece of various forms, such as a structural metal workpiece, machine and equipment parts, sheet metal and machined parts, automotive and transportation equipment parts, household and commercial metal products, electronic product parts, metal art sculptures, etc.

[0047] Specifically, the robot (100) may be configured to include a robot arm (110), a gripping unit (120), and a camera (130).

[0048] The robot arm (110) may be configured to include a plurality of links (111), at least one joint (112) connecting the plurality of links (111), and a gripper bracket (133) coupled to the end of the end link among the plurality of links (111). That is, the robot (100) may be a multi-joint robot having a plurality of joints.

[0049] The gripping unit (120) is installed at the end of the robot arm (110) to grip an item or release the gripped item to put the item down. Specifically, the gripping unit (120) can be installed on the gripper bracket (133).

[0050] A gripping unit (112) according to one embodiment of the present invention may be a finger gripper capable of gripping an article to be processed. However, it is not limited thereto, and the gripping unit (112) may be a vacuum gripper, a soft gripper, a gecko gripper, or various other types of grippers depending on the type of article.

[0051] A camera (130) may be installed on a gripper bracket (133) that is coupled to the end of a link located at the end of a plurality of links (111). The camera (130) moves together with the gripping unit (120) and can acquire an image by capturing the operating area of ​​the gripping unit (120). In particular, the camera (130) can acquire an image of an item (10) captured by the gripping unit (120).

[0052] In addition, the robot (100) may include an encoder capable of identifying the position of each joint of the robot arm (110), an IMU (Inertial Measurement Unit) capable of measuring the attitude and acceleration of the robot arm (110), and a lidar capable of measuring the distance within the space where the robot (100) exists.

[0053] With the following configuration, the processing device (200) can process an item supplied by the robot (100).

[0054] For example, the processing device (200) can be a CNC machine, a press machine, a laser cutting machine, a bending machine, a robotic welding machine, an automated assembly machine, an inspection and measurement system, etc.

[0055] In particular, a processing device (200) according to one embodiment of the present invention may be configured to include a correction module (210) that supports a controller (300) in correcting the gripping position of the robot (100) when the robot (100) grips an item and moves to a preset position.

[0056] Specifically, as illustrated in FIG. 3, the correction module (210) may be configured to include a light (211) and a non-reflective plate (212).

[0057] A light (211) is placed along the movement path of the robot (100) so that when the robot (100) grasps an item (10) and is positioned at a preset correction position (A), it can irradiate light onto the end of the item (A). Here, the correction position (A) can be a position where light irradiated from the light (211) is irradiated onto the end of the item (A).

[0058] The non-reflective plate (212) can be positioned to face the light (211) with respect to the correction position (A). That is, when the article (10) is positioned at the correction position (A), the non-reflective plate (212) can be positioned at the bottom of the article (10) facing the direction of light irradiation of the light (211). Such a non-reflective plate (212) can be formed from a non-reflective material. For example, the non-reflective plate may be a matte black coated plate, a nano-structured super black plate, a beveled edge multi-layer coated plate, an absorbent rubber plate, etc. Such non-reflective plate (212) minimizes the reflection of light irradiated from the light source (211), so that the light irradiated from the light source (211) and reflected off the end of the article (10) can be clearly distinguished.

[0059] Additionally, the non-reflective plate (212) may have a marker (212a) having a preset pattern formed thereon. For example, as shown in FIG. 4, the marker (212a) may be formed on the non-reflective plate (121) so as not to be obscured by the article (10) in an image taken from the camera (130) while the article (10) is positioned at the correction position (A), and may be formed on the side of the correction position (A).

[0060] With the following configuration, the controller (300) can control the overall operation of the robot (100) and the processing device (200).

[0061] Specifically, the controller (300) can identify an item (10) based on an image captured by a camera (130) installed on the robot (100), control the robot (100) to grasp the identified item (10), and set a speed to move the robot (100) to a target point based on the current position of the robot (100), thereby controlling the robot (100) to move the item (10) at the set speed and supply it to a processing device (200).

[0062] Meanwhile, the specific configuration of the controller (300) will be described later with reference to the drawings below.

[0063] As described above, the robot (100), processing device (200), and controller (300) can transmit and receive data using a network that combines one or more of a security line directly connecting each device, a public wired communication network, and a mobile communication network.

[0064] For example, public wired communication networks may include Ethernet, Digital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH), but are not limited thereto. Additionally, mobile communication networks may include Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), High Speed ​​Packet Access (HSPA), Long Term Evolution (LTE), and 5th / 6th generation mobile telecommunication, but are not limited thereto.

[0066] Hereinafter, the configuration of the controller (300) according to one embodiment of the present invention will be described in more detail.

[0067] FIG. 5 is a logical configuration diagram of a controller according to an embodiment of the present invention, and FIG. 6 and FIG. 7 are illustrative diagrams for explaining a controller according to an embodiment of the present invention.

[0068] As illustrated in FIGS. 5 to 7, a controller (300) according to one embodiment of the present invention may be configured to include a communication unit (305), an input / output unit (310), a robot control unit (315), a position correction unit (320), and a storage unit (325).

[0069] As such, since the components of the controller (300) according to one embodiment of the present invention merely represent functionally distinct elements, two or more components may be implemented as integrated elements in an actual physical environment, or a single component may be implemented as separated elements in an actual physical environment.

[0070] To explain each configuration, the communication unit (305) can receive images and status information captured from the camera (130) equipped on the robot (100). Additionally, the communication unit (305) can transmit a control signal to the robot (100) to control the robot (100). Additionally, the communication unit (305) can receive status information of the processing device (200). Furthermore, the communication unit (305) can transmit a control signal to the processing device (200) to control the processing device (200).

[0071] With the following configuration, the input / output unit (310) can receive information or commands from a user through a user interface (UI) and output the operation result to the outside.

[0072] Specifically, the input / output unit (310) can receive commands regarding the control of the robot (100) and the processing device (200). Additionally, the input / output unit (310) can output status information of the robot (100) and the processing device (200).

[0073] In the following configuration, the robot control unit (315) receives a target point for the robot (100) to move an item, sets a speed for moving the robot (100) to the target point based on the robot's current position, and can control the robot (100) at the set speed.

[0074] Specifically, the robot control unit (315) can control the speed for each axis of the robot arm to move the gripping unit to a target point based on the current position of the gripping unit. For example, the target point may be a vise where the processing device (200) fixes an item for processing or a correction position for position correction.

[0075] To this end, the robot control unit (315) receives the current position of the gripping unit (120) in real time at a preset period and can variably control the speed of each axis of the robot arm (110) based on the error between the received current position of the gripping unit (120) and the target point. That is, the robot control unit (315) receives the current position of the gripping unit (120) in real time at a preset period and can variably control the speed of each axis of the robot arm (110) based on the error between the received current position and the target point.

[0076] At this time, the robot control unit (315) can estimate the speed for each axis that can move to a target point by the shortest distance based on the current position of the robot (100), and can individually control each axis of the robot based on the estimated speed for each axis. Here, the robot control unit (315) can individually control each axis of the robot (100) based on the speed of each axis that can move to a target point by the shortest distance, and can limit the rotation angle or travel distance of each axis of the robot (100) based on the kinematics information of the robot (100).

[0077] More specifically, the robot control unit (315) may set a target position to which the robot (100) is to move. Here, the target position may be the position of a vise (220), which is a component for fixing an item for processing by the processing device (200). In one embodiment, the robot control unit (315) may receive the target position manually set by an operator. In another embodiment, the robot control unit (315) may identify the target position based on an image or point cloud data of the robot's work area.

[0078] Next, the robot control unit (315) can identify the current position of the gripping unit (120). For example, the robot control unit (315) can identify the rotation angle for each joint of the robot arm (110) through the encoder or IMU (Inertial Measurement Unit) of the robot (100), and can identify the current position of the gripping unit (120) based on images or point cloud data captured by a camera or lidar.

[0079] Next, the robot control unit (315) can calculate the error between the target position and the current position, and based on the error between the target position and the current position, can calculate the speed of each axis of the robot arm (110) to move to the target position by the shortest distance.

[0080] To this end, the robot control unit (315) can calculate the velocity of each axis through inverse kinematics. That is, the robot control unit (315) can determine the target position (x, y, z) by the rotation angles (θ1, θ2, θ1, θ2) of each joint. n It can be converted into ). Next, the robot control unit (315) can calculate the velocity of each axis by differentiating the rotation angle of each joint as shown in the following mathematical formula.

[0081] [Mathematical Formula]

[0082]

[0083] (Here, is the rotational speed (joint velocity) of each joint, is the Jacobian matrix of the robot arm, can be the velocity vector for moving to the target position.)

[0084] For example, if the robot arm (120) is composed of three rotational joints, the velocity for each axis (x, y, z) can be calculated using the following mathematical formula.

[0085] [Mathematical Formula]

[0086]

[0087] And, the robot control unit (315) can move the item to a target position by controlling the speed for each calculated axis. For example, as shown in FIG. 6, the robot control unit (315) can control the robot (100) so that the gripping unit (120) is positioned on the upper part of the vise (220) of the processing device (200) while gripping the item.

[0088] Next, the robot control unit (315) sets an approach path based on the pre-stored position coordinates of the vise (220) and the position coordinates of the gripping unit (120), and can place the gripped item in a pre-set position of the vise (220) according to the set approach path. Here, the robot control unit (315) can detect the force applied to the gripping unit (120) in real time and can identify whether the item is placed based on the magnitude of the detected force. When the item is placed in the vise (220), the robot control unit (315) can release the gripping of the item.

[0089] Meanwhile, the robot control unit (315) places an item onto the vise (220) based on the pre-stored position coordinates of the vise (220) and the position coordinates of the gripping unit (120). At this time, an error may occur depending on the position where the gripping unit (120) grips the item. Accordingly, the position correction unit (320), which will be described later, can correct the error based on the gripping position of the item.

[0090] The position correction unit (320) can control the robot (100) to position the item (10) at a correction position (A) when the robot (100) grasps the item (10), thereby reflecting light irradiated from the light (211) to the end of the item (10).

[0091] At this time, since the item (10) is a workpiece made of metal, reflected light may be generated. Accordingly, the position correction unit (320) can define the part where the reflected light is strongest as the end part of the item (10). Through this, the position correction unit (320) can increase the accuracy of distance calculation by creating a clear contrast between the item (10) where reflected light is generated and the dark background.

[0092] Specifically, the position correction unit (320) can control the robot (100) to position the item (10) at the correction position (A) when the robot (100) grasps the item (10). That is, the position correction unit (320) can individually control the axis speed based on the current position coordinates and the correction position coordinates of the grasping unit (120) so that the grasping unit (120) that has grasped the item is positioned at the correction position (A).

[0093] Next, the position correction unit (320) can irradiate light to the end portion of the item (10) through a light (211) fixedly installed at the top of the correction position (A) when the gripping unit (120) holding the item is positioned at the correction position (A).

[0094] Next, the position correction unit (320) can photograph the item with light reflected through the camera (130). As shown in FIG. 7, in the image taken by the camera (130), it can be seen that the end portion (B) of the item (10) is clearly distinguished by the reflected light.

[0095] Next, the position correction unit (320) can measure the length between the end portion of the item (10) and the gripping unit (120) based on the acquired image, and identify the gripping position of the item (10) based on the measured length. For example, the position correction unit (320) can detect the pixel coordinates of the end portion of the item (10) within the image through an edge detection algorithm. The position correction unit (320) can calculate the pixel distance between two reference points corresponding to the reference point of the end portion of the gripping unit (120) and the reference point of the end portion of the item (10). For example, the position correction unit (320) can calculate the length between the two reference points through Euclidean distance.

[0096] Additionally, the position correction unit (320) can correct the gripping position of the item (10) based on the acquired image. That is, the position correction unit (320) can calculate a difference value by comparing the length between the end portion of the item (10) and the gripping unit (120) with a pre-stored reference gripping length, and can use the difference value as a gripping position correction value. That is, when setting a seating path based on the pre-stored position coordinates of the vise (220) and the position coordinates of the gripping unit (120), the position correction unit (320) can apply the gripping position correction value to support the gripping unit (120) being accurately seated at the pre-set position of the vise (220).

[0097] Additionally, the position correction unit (320) can position the robot (100) at the correction position when the robot (100) grasps an item, acquire an image of the marker, and correct the robot's teaching point based on the acquired image.

[0098] Specifically, the position correction unit (320) can photograph the marker (212a) formed on the non-reflective plate (212) through the camera (130) when the gripping unit (120) is positioned at the correction position (A). For example, the marker (212a) can be a checkerboard with a preset pattern formed thereon.

[0099] Next, the position correction unit (320) can identify corners based on the size and number of markers (212a). For example, the position correction unit (320) can extract markers on an image through a source marker image corresponding to the marker, the number of internal corners per row and column of the marker, and an output array of detected corners, and identify the corners of the extracted markers.

[0100] Next, the position correction unit (320) can calculate the corner position of the marker (212a) on the image by considering the internal parameters of the camera (130). The position correction unit (320) can calculate an error by comparing the calculated corner position of the marker (212a) on the image with the position of a reference corner that is stored in advance.

[0101] And, the position correction unit (320) corrects the teaching point of the gripping unit (120) based on the calculated error and can control the robot (100) with the corrected teaching point.

[0103] Below, hardware for implementing the logical components of the controller (300) as described above will be explained in more detail.

[0104] FIG. 8 is a hardware configuration diagram of a controller according to one embodiment of the present invention.

[0105] As illustrated in FIG. 8, the controller (300) may be configured to include a processor (350), memory (355), transceiver (360), input / output device (365), data bus (370) and storage (375).

[0106] Specifically, the processor (350) can implement the operation and function of the controller (300) based on instructions according to software (380a) that implements a robot control method residing in memory (355).

[0107] Software (380b) with a robot control method implemented in storage (375) can be loaded into memory (355).

[0108] The input / output device (365) can receive signals necessary for the operation of the controller (300) or output calculation results to the outside according to the command of the processor (350).

[0109] The data bus (370) is connected to the processor (350), memory (355), transceiver (360), input / output device (365), and storage (375), respectively, and can serve as a passage for transmitting signals between each component.

[0110] Storage (375) may store an Application Programming Interface (API), library files, resource files, etc., necessary for the execution of software (380a) in which a robot control method according to embodiments of the present invention is implemented. Storage (375) may also store software (380b) in which a robot control method according to embodiments of the present invention is implemented.

[0111] According to one embodiment of the present invention, software (380a, 380b) for implementing a robot control method that resides in memory (355) or is stored in storage (375) may be a computer program recorded on a recording medium to execute the steps of: the processor (350) receiving a target point for the robot to move an item; the processor (350) setting a speed for moving the robot to the target point based on the current position of the robot; and the processor (350) controlling the robot at the set speed.

[0112] According to another embodiment of the present invention, software (380a, 380b) for implementing a robot control method residing in memory (355) or stored in storage (375) may be a computer program recorded on a recording medium to execute the steps of: a processor (350) identifying an item based on an image captured by a camera; the processor (350) controlling a robot that moves an item and is equipped with a camera that captures a workspace to grasp the identified item; the processor (350) setting a speed to move the robot to a target point based on the current position of the robot; and the processor (350) controlling the robot to move the item at the set speed and supply it to a processing device that processes the item.

[0113] More specifically, the processor (350) may be configured to include one or more of a Central Processing Unit (CPU), an Application-Specific Integrated Circuit (ASIC), a chipset, and a logic circuit, but is not limited thereto.

[0114] The memory (355) may be configured to include one or more of ROM (Read-Only Memory), RAM (Random Access Memory), flash memory, and memory card, but is not limited thereto.

[0115] The input / output device (360) may be configured to include one or more of input devices such as buttons, switches, keyboards, mice, and joysticks, and output devices such as LCDs (Liquid Crystal Displays), LEDs (Light Emitting Diodes), Organic LEDs (OLEDs), Active Matrix OLEDs (AMOLEDs), printers, and plotters, but is not limited thereto.

[0116] When the embodiments included in this specification are implemented in software, the above-described method may be implemented as modules (processes, functions, etc.) that each perform the above-described function. Each module may reside in memory (355) and be executed by a processor (350). Memory (355) may exist inside or outside the processor (350) and may be connected to the processor (350) by various well-known means.

[0117] Each component illustrated in FIG. 8 may be implemented by various means (e.g., hardware, firmware, software, or a combination thereof). When implemented by hardware, one embodiment of the present invention may be implemented by one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, etc.

[0118] In addition, when implemented by firmware or software, an embodiment of the present invention may be implemented in the form of a module, procedure, function, etc., that performs the functions or operations described above, and may be recorded on a recording medium readable through various computer means. Here, the recording medium may include program instructions, data files, data structures, etc., either alone or in combination.

[0119] The program instructions recorded on the recording medium may be those specifically designed and configured for the present invention, or they may be those known and available to those skilled in the art of computer software. For example, the recording medium includes magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media such as CD-ROMs (Compact Disk Read Only Memory) and DVDs (Digital Video Disks); magneto-optical media such as floptical disks; and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory.

[0120] Examples of program instructions may include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. Such hardware devices may be configured to operate as one or more software to perform the operation of the present invention, and vice versa.

[0122] Hereinafter, a robot control method according to one embodiment of the present invention will be described in detail.

[0123] FIG. 9 is a flowchart for explaining a robot control method according to an embodiment of the present invention.

[0124] Referring to FIG. 9, in step S110, the controller may receive input for a target point for the robot to grasp an item and move. For example, the controller may receive input for coordinates of the target point.

[0125] Next, in step S120, the controller can set the speed for each axis of the robot arm to move the gripping unit to a target point based on the current position of the gripping unit.

[0126] Specifically, the controller can identify the current position of the gripping unit. For example, the controller can identify the rotation angle for each joint of the robot arm through the robot's encoder or IMU (Inertial Measurement Unit), and can identify the current position of the gripping unit based on images or point cloud data captured by a camera or LiDAR.

[0127] Next, the controller can calculate the error between the target position and the current position, and based on the error between the target position and the current position, can calculate the velocity of each axis of the robot arm to move to the target position by the shortest distance.

[0128] To this end, the controller can calculate the velocity of each axis through inverse kinematics. That is, the controller determines the target position (x, y, z) based on the rotation angles of each joint (θ1, θ2, θ1, θ2). n It can be converted into ). Next, the controller can calculate the velocity of each axis by differentiating the rotation angle of each joint as shown in the following mathematical formula.

[0129] [Mathematical Formula]

[0130]

[0131] (Here, is the rotational speed (joint velocity) of each joint, is the Jacobian matrix of the robot arm, can be the velocity vector for moving to the target position.)

[0132] For example, if the controller consists of three rotary joints, the velocity for each axis (x, y, z) can be calculated using the following mathematical formula.

[0133] [Mathematical Formula]

[0134]

[0135] At this time, the controller individually controls each axis of the robot at a speed that allows movement to the target point by the shortest distance, and can limit the rotation angle or travel distance of each axis of the robot based on the robot's kinematics information.

[0136] In addition, at step S130, the controller can move the gripped item to the target position by individually controlling the speed for each calculated axis.

[0138] Hereinafter, a machine tending method according to one embodiment of the present invention will be described in detail.

[0139] FIG. 10 is a flowchart illustrating a machine tending method according to one embodiment of the present invention.

[0140] Referring to FIG. 10, in step S210, the controller can identify an item to be grasped based on an image captured by a camera. For example, the controller can identify the coordinates, rotation angles (roll, pitch, yaw), and shape of the item through an artificial intelligence (AI)-based object detection algorithm.

[0141] Next, in step S220, the controller can control the gripping unit to grip the item based on the identified item's coordinates, rotation angle (roll, pitch, yaw), and shape of the item.

[0142] Next, in step S230, the controller can set the speed for each axis of the robot arm to move the gripping unit to a target point based on the current position of the gripping unit. Here, the controller can set the speed for each axis to reach the upper part of the vise of the processing device via a correction position for position correction.

[0143] Specifically, the controller can identify the current position of the gripping unit. For example, the controller can identify the rotation angle for each joint of the robot arm through the robot's encoder or IMU (Inertial Measurement Unit), and can identify the current position of the gripping unit based on images or point cloud data captured by a camera or LiDAR.

[0144] Next, the controller can calculate the error between the target position and the current position, and based on the error between the target position and the current position, can calculate the velocity of each axis of the robot arm to move to the target position by the shortest distance.

[0145] To this end, the controller can calculate the velocity of each axis through inverse kinematics. That is, the controller determines the target position (x, y, z) based on the rotation angles of each joint (θ1, θ2, θ1, θ2). n It can be converted into ). Next, the robot control unit (315) can calculate the velocity of each axis by differentiating the rotation angle of each joint as shown in the following mathematical formula.

[0146] [Mathematical Formula]

[0147]

[0148] (Here, is the rotational speed (joint velocity) of each joint, is the Jacobian matrix of the robot arm, can be the velocity vector for moving to the target position.)

[0149] For example, if the controller consists of three rotary joints, the velocity for each axis (x, y, z) can be calculated using the following mathematical formula.

[0150] [Mathematical Formula]

[0151]

[0152] At this time, the controller individually controls each axis of the robot at a speed that allows movement to the target point by the shortest distance, and can limit the rotation angle or travel distance of each axis of the robot based on the robot's kinematics information.

[0153] Next, in step S240, the controller can move the gripping unit to a correction position according to the set axis speed.

[0154] Next, in step S250, when the gripping unit holding the item is positioned at the correction position, the controller can illuminate the end of the item through a light fixedly installed at the top of the correction position.

[0155] Next, the controller can photograph an item with light reflected through a camera. Based on the captured image, the controller can measure the length between the end of the item and the gripping unit and identify the gripping position of the item based on the measured length. For example, the controller can detect the pixel coordinates of the end of the item within the image using an edge detection algorithm. The controller can calculate the pixel distance between two reference points corresponding to the reference point of the end of the gripping unit (120) and the reference point of the end of the item. For example, the controller can calculate the distance between the two reference points using Euclidean distance.

[0156] Subsequently, the controller can correct the gripping position of the item based on the acquired image. The controller calculates a difference value by comparing the length between the calculated end of the item and the gripping unit with a pre-stored reference gripping length, and can utilize the difference value as a gripping position correction value. That is, when setting a seating path based on the pre-stored position coordinates of the vise and the position coordinates of the gripping unit, the controller can apply the gripping position correction value to support the gripping unit being accurately seated at the pre-set position of the vise.

[0157] In addition, when the robot grasps an item, the controller positions the robot at a correction position to acquire an image of the marker, and can correct the robot's teaching point based on the acquired image.

[0158] Specifically, when the gripping unit is positioned at the calibration location, the controller can capture a marker formed on the non-reflective plate through a camera. For example, the marker can be a checkerboard with a preset pattern formed on it.

[0159] Next, the controller can identify corners based on the size and number of markers. For example, the controller can extract markers on an image through the source marker image corresponding to the marker, the number of internal corners per row and column of the marker, and the output array of detected corners, and identify the corners of the extracted markers.

[0160] Next, the controller can calculate the corner position of a marker on the image by considering the intrinsic parameters of the camera. The controller can calculate an error by comparing the calculated corner position of the marker on the image with the pre-stored reference corner position. Then, the controller can correct the teaching point of the gripping unit based on the calculated error and control the robot using the corrected teaching point.

[0161] In addition, at step S260, the controller can control the speed for each set axis so that the gripping unit is positioned on the upper part of the vise of the processing device while gripping the item.

[0162] Subsequently, the controller establishes an approach path based on the pre-stored position coordinates of the vise and the gripping unit, and can place the gripped item at a pre-set position of the vise according to the established approach path. Here, the controller can detect the force applied to the gripping unit in real time and identify whether the item is placed based on the magnitude of the detected force. When the item is placed in the vise, the controller can release the gripping of the item.

[0164] As described above, preferred embodiments of the present invention have been disclosed in this specification and drawings; however, it is obvious to those skilled in the art that other variations based on the technical spirit of the present invention are possible in addition to the embodiments disclosed herein. Furthermore, although specific terms have been used in this specification and drawings, they are used merely in a general sense to facilitate the explanation of the technical content of the present invention and to aid in understanding the invention, and are not intended to limit the scope of the present invention. Accordingly, the detailed description above should not be interpreted restrictively in any respect and should be considered illustrative. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included within the scope of the present invention. Explanation of the symbols

[0165] 100 : Robot 110 : Robotic Arm 120 : Graft unit 130 : Camera 200 : Processing device 210: Calibration Module 211 : Lighting 212 : Non-reflective plate 300 : Controller 305 : Communications Department 310 : Input / Output Section 315 : Robot Control Unit 320 : Position correction unit 325 : Storage

Claims

Claim 1 A robot control system characterized by comprising: a robot for moving an item; and a controller that receives a target point for moving the item, sets a speed for moving the robot to the target point based on the robot's current position, and controls the robot at the set speed. Claim 2 A robot control system according to claim 1, wherein the robot comprises: a robot arm having a plurality of links and at least one joint that rotates or moves the plurality of links around a specific axis; and a gripping unit installed at the end of the robot arm for gripping an article. Claim 3 A robot control system according to claim 2, wherein the controller controls the speed for each axis of the robot arm to move the gripping unit to the target point based on the current position of the gripping unit. Claim 4 A robot control system according to claim 3, wherein the controller receives the current position of the gripping unit in real time at a preset period and variably controls the speed for each axis of the robot arm based on the error between the received current position and the target point. Claim 5 A robot control system according to claim 4, wherein the controller estimates the speed for each axis to move the shortest distance to the target point based on the current position of the robot, and individually controls each axis of the robot with the estimated speed for each axis. Claim 6 A robot control system according to claim 5, wherein the controller individually controls each axis of the robot at a speed of each axis capable of moving to the target point by the shortest distance, and limits the rotation angle or travel distance of each axis of the robot based on kinematics information of the robot. Claim 7 A machine tending system characterized by comprising: a robot equipped with a camera for photographing a workspace and for moving an item; a processing device for processing an item supplied by the robot; and a controller that identifies an item based on an image captured by the camera, controls the robot to grasp the identified item, sets a speed for moving the robot to a target point based on the robot's current position, and controls the robot to move the item at the set speed and supply it to the processing device. Claim 8 A machine tending system according to claim 7, characterized in that the article is a workpiece made of a light-reflecting metal material. Claim 9 A machine tending system according to claim 8, further comprising a correction module that supports correcting the gripping position of the robot when the processing device grips an article and moves to a preset position. Claim 10 A machine tending system according to claim 9, wherein the correction module comprises: a light that is positioned on the movement path of the robot and irradiates light onto the end portion of the article when the robot grasps the article and is positioned at a preset correction position; and a non-reflective plate formed of a non-reflective material and positioned opposite to the light with respect to the correction position. Claim 11 A machine tending system according to claim 10, wherein the controller controls the robot to position the item at the correction position when the robot grasps the item, reflects light irradiated from the light source onto the end portion of the item, obtains an image of the end portion of the item where the light is reflected through the camera, and corrects the grasping position of the item based on the obtained image. Claim 12 A machine tending system according to claim 11, wherein the controller measures the length between the end portion of the article and the gripping unit based on the acquired image, and identifies the gripping position of the article based on the measured length. Claim 13 A machine tending system according to claim 10, wherein the non-reflective plate is characterized by having a marker formed thereon having a preset pattern. Claim 14 A machine tending system according to claim 13, wherein the controller, when the robot grasps an item, positions the robot at the correction position to obtain an image of the marker, and corrects the teaching point of the robot based on the obtained image. Claim 15 A robot control method characterized by comprising: a step in which a controller receives input of a target point for the robot to move an item; a step in which the controller sets a speed for moving the robot to the target point based on the robot's current position; and a step in which the controller controls the robot at the set speed. Claim 16 A machine tending method characterized by comprising: a step in which a controller identifies an item based on an image captured by a camera; a step in which the controller controls a robot equipped with a camera capturing a workspace and moving an item to grasp the identified item; a step in which the controller sets a speed to move the robot to a target point based on the current position of the robot; and a step in which the controller controls the robot to move the item at the set speed and supply it to a processing device for processing the item. Claim 17 A computer program recorded on a recording medium to execute the following steps: the processor receiving a target point for a robot to move an item; the processor setting a speed for moving the robot to the target point based on the robot's current position; and the processor controlling the robot at the set speed. Claim 18 A computer program recorded on a recording medium to execute the following steps: combining a computing device comprising a memory and a processor that processes instructions residing in the memory; the processor identifying an item based on an image captured by a camera; the processor controlling a robot equipped with a camera that captures a workspace and moves the item to grasp the identified item; the processor setting a speed to move the robot to a target point based on the robot's current position; and the processor controlling the robot to move the item at the set speed and supply it to a processing device that processes the item.