WO2017052350A2 - 로봇 제어 방법 및 장치 - Google Patents

로봇 제어 방법 및 장치 Download PDF

Info

Publication number
WO2017052350A2
WO2017052350A2 PCT/KR2016/011591 KR2016011591W WO2017052350A2 WO 2017052350 A2 WO2017052350 A2 WO 2017052350A2 KR 2016011591 W KR2016011591 W KR 2016011591W WO 2017052350 A2 WO2017052350 A2 WO 2017052350A2
Authority
WO
WIPO (PCT)
Prior art keywords
robot
information
work
machine tool
instruction
Prior art date
Application number
PCT/KR2016/011591
Other languages
English (en)
French (fr)
Other versions
WO2017052350A3 (ko
Inventor
김형중
장준현
이상훈
Original Assignee
디알에이 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 디알에이 주식회사 filed Critical 디알에이 주식회사
Priority to CN201680055650.3A priority Critical patent/CN108235696B/zh
Priority to EP16849075.3A priority patent/EP3354418B1/en
Priority to KR1020187003468A priority patent/KR102609030B1/ko
Priority to US15/762,302 priority patent/US11185984B2/en
Publication of WO2017052350A2 publication Critical patent/WO2017052350A2/ko
Publication of WO2017052350A3 publication Critical patent/WO2017052350A3/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/022Optical sensing devices using lasers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/427Teaching successive positions by tracking the position of a joystick or handle to control the positioning servo of the tool head, master-slave control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37445Load teaching program from file server, enter teaching data at pendant
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Definitions

  • the present invention relates generally to a method and apparatus for controlling a robot, and more particularly, to a method and apparatus for controlling a robot based on information regarding a work environment or a robot task in which a robot operation is performed.
  • An object of the present invention is to provide a method or apparatus that can easily control the robot when the work type or working environment of the robot is changed.
  • a method of controlling a robot including: receiving information regarding a task type of a robot operation performed by the robot, based on the received information about the task type of the robot operation; Generating a workflow of the robot operation, controlling the robot to measure information regarding a work type of the robot operation and a work environment in which the robot operation is performed according to the workflow; Controlling to receive job information about the robot motion according to the job type and the workflow of the robot motion, and the robot based on the information about the measured work environment and the job information on the received robot motion And controlling to perform the robot operation according to the operation type and the workflow of the robot operation.
  • the measuring of the information about the working environment may be performed when the robot is initially installed or when the working environment is changed.
  • the robot may include a robot arm, a controller for controlling the operation of the robot arm, a teach pendant connected to communicate with the controller, and an end effector attached to an end of the robot arm.
  • the method may further include communicating with a target machine or a peripheral device of the robot operation in connection with performing the robot operation.
  • the operation types of the robot operation are machine tool auxiliary work, injection machine auxiliary work, press auxiliary work, pick and place work, screw assembly work, general assembly work, welding work, bonding work, vision )
  • Measuring information about the working environment which is related to at least one of an inspection task or a classification task, measuring information about the working environment by a contact measuring device of the robot, or the robot directly
  • measuring the information about the working environment by the contact measuring device of the robot, or the non-contact measuring device of the robot which may include the camera or laser beam measuring device information about the working environment. It may include the step of measuring by.
  • Receiving the job information related to the robot operation may include receiving the job information generated based on the motion information of the robot when the robot operates by direct teaching of the user, wherein the measurement Controlling the robot based on the received information about the work environment and the received job information about the robot motion, and performing the robot motion according to the job type and the workflow of the robot motion.
  • Generating a work program for controlling the execution of the robot operation by executing the work program, and generating the work program for performing the robot operation is related to the measured work environment.
  • Information, job information regarding the received robot motion, job type and workflow of the robot motion Generating at least one first level instruction for the robot operation and based on the at least one first level instruction, generating a plurality of second level instructions for the robot operation.
  • each of the at least one first level instruction may comprise at least two or more combinations of the plurality of second level instructions, wherein the at least one first level instruction is: May be a higher level instruction including at least one of an approaching instruction, a retracting instruction, a picking instruction, or a placing instruction, wherein the plurality of second level instructions A control instruction of the end effector, a control instruction of the target machine, a control instruction of the peripheral device, a rapid movement instruction, a precise movement instruction, a constant speed movement instruction And low level instructions including at least two of repetition instructions, condition determination instructions, and standby instructions, wherein the type of operation of the robot operation is associated with a secondary operation of the machine tool, and the end effector may be a gripper.
  • the control instruction of the end effector includes a gripper open instruction or a gripper closure instruction
  • the control instruction of the target machine may include a chuck opening instruction or a chuck closing instruction.
  • the operation type of the robot operation may be related to a machine tool auxiliary operation, wherein the information about the working environment may include information about the coordinate system of the chuck of the machine tool, information about the position of the door of the machine tool, It may include at least one of the information on the initial position of the robot for performing or the position of the work tray on which the material processed by the machine tool is arranged, the job information on the robot operation is the work tray Information related to an operation of picking up the material of the upper garment, information related to an operation of loading the material into the chuck of the machine tool, and a workpiece of the material processed by the machine tool to the chuck of the machine tool.
  • the robot has built-in information on the work tray, which has a size, a distance between the positions where the material is placed, and a distance from the reference point to the position where the material can be located closest.
  • the robot has built-in information about a work tray which has a step of measuring information about the position of the work or the size, the distance between the positions where the work is placed, and the distance from the reference point to the place where the work can be located closest. Measuring information about a position where the workpiece processed by the machine tool will be unloaded by measuring one to three teaching points for reference point and information about the vertical direction to the work tray.
  • the robot has built-in specification information about the gripper such as the maximum diameter, the finger length, the attachment angle, and the like, and may include measuring information about the working environment based on the specification information about the gripper.
  • the control device for a robot receives information about a job type of the robot operation performed by the robot, and based on the information about the job type of the received robot operation
  • a workflow generation unit configured to generate a workflow of an operation
  • a work environment measurement unit configured to control the robot to measure information regarding a work type of the robot operation and a work environment in which the robot operation is performed according to the workflow
  • a job information receiver configured to control a robot to receive job information about the robot motion according to the job type and workflow of the robot motion, and based on the measured job environment information and the job information about the received robot motion
  • the robot according to the operation type and workflow of the robot operation. It may include a robot motion control unit for performing the operation.
  • the work environment measuring unit controls the robot so that information about the work environment is measured by the contact measuring device of the robot, or when the robot operates by direct teaching of the user, the work is controlled by the robot.
  • the information about the environment can be measured by the robot's contact measuring device, or the information about the work tray, the size, the distance between the positions of the workpieces, and the distance from the reference point where the workpieces can be located closest to each other.
  • at least one of the specification information for the gripper such as the maximum diameter of the material, the finger length, the attachment angle, and the like, wherein the robot is controlled based on the at least one information to provide information about the working environment.
  • At least one of the following information about the work tray the distance from the reference point, the distance from the reference point where the material can be located closest to the gripper, and the specification information for the gripper, such as the maximum diameter of the material that can be grasped, finger length, attachment angle Information, and when the robot operates by direct teaching of the user, the robot is controlled based on the at least one information so that information about the working environment is measured by the contact measuring device of the robot; Information about the task tray, which has a size, the distance between where the material is placed, the distance from the reference point to where the material can be located closest, and the gripper, such as the maximum diameter of the material that can be grasped, finger length, attachment angle, etc. At least one of the specification information, the robot teaches the user directly When acted upon by, and to control the robot on the basis of the at least one information is information relating to the work environment can be measured by a camera or a laser measuring beam of the robot.
  • the job information receiving unit may receive the job information generated based on the motion information of the robot when the robot operates by direct teaching of the user, the information about the measured work environment, and the received robot.
  • a task program generator configured to generate a task program for performing the robot operation based on the task information on the operation, the task type of the robot operation, and the workflow, wherein the robot motion controller is configured to generate the task program.
  • Control the performance of the robot operation of the robot based on the information about the measured work environment, the job information on the received robot motion, the job type and the workflow of the robot motion.
  • generate at least one first level instruction for the robot operation Based on at least one first level instruction, generating a plurality of second level instructions for the robot operation, wherein each of the at least one first level instruction is a subset of the plurality of second level instructions; It can include at least two or more combinations.
  • a communication interface configured to communicate with a target machine or a peripheral device in connection with the execution of the robot operation, wherein the program for performing the robot control method of any one of claims 1 to 22 by the robot control apparatus. It may include a computer readable recording medium for storing the.
  • the present invention provides an effect that the user of the robot can control the robot by efficiently creating or modifying the robot control program when the work type or the work environment of the robot is changed.
  • FIG. 1 is a schematic block diagram of a robot system according to an embodiment of the present disclosure.
  • FIG. 2 is a perspective view illustrating a schematic external configuration of a robot arm according to an embodiment of the present disclosure.
  • FIG. 3 is a schematic block diagram of a robot controller according to an exemplary embodiment of the present disclosure.
  • FIG. 4 is a diagram illustrating a workflow of a robot operation generated based on information about a task type of a robot operation according to an exemplary embodiment.
  • FIG. 5 is a perspective view illustrating a method of measuring and teaching a working environment of a robot associated with a chuck 520 of a machine tool 510 according to an exemplary embodiment of the present disclosure.
  • FIG. 6 is a perspective view illustrating a method for measuring and teaching a working environment of a robot associated with a door of a machine tool 510 according to another exemplary embodiment of the present disclosure.
  • FIG. 7 is a perspective view illustrating a work environment measurement and teaching method of a robot associated with a work tray 700 according to an exemplary embodiment.
  • FIG. 8 is a perspective view illustrating a method of receiving job information regarding an operation of a robot associated with a job tray according to an exemplary embodiment of the present disclosure.
  • FIG. 9 is a perspective view illustrating a method of receiving job information regarding an operation of a robot associated with a machine tool according to an embodiment of the present disclosure.
  • FIG. 10 is a perspective view illustrating a method of receiving job information regarding an operation of a robot associated with a job tray according to another exemplary embodiment of the present disclosure.
  • FIG. 11 is a perspective view illustrating a built-in work tray according to an embodiment of the present disclosure.
  • FIG. 12 is a diagram illustrating a display screen 1100 of the teach pendant 130 when measuring a working environment of a robot according to an exemplary embodiment.
  • FIG. 13 is a view illustrating a display screen 1200 of the teach pendant 130 when receiving job information regarding an operation of a robot according to an exemplary embodiment.
  • FIG. 14 is a flowchart illustrating a control method 1300 of a robot according to an exemplary embodiment.
  • 15 is a flowchart illustrating a method 1350 of controlling a robot operation based on a work program for controlling a robot according to an embodiment of the present disclosure.
  • the present disclosure provides a method and apparatus for controlling a robot based on information regarding a work environment or a robot task in which a robot operation is performed.
  • exemplary embodiments suitable for implementing the present disclosure will be described with reference to the accompanying drawings. However, this is merely an exemplary description and is not intended to limit the invention as shown in the following description.
  • the robotic system 100 may include a robot arm 110, a robot controller 120, a teach pendant 130, a target machine 140, and a peripheral device 150.
  • Robot arm 110 machine tool auxiliary work, injection molding machine auxiliary work, press auxiliary work, pick and place work, screw assembly work, general assembly work, welding work, bonding work It may be a multi-joint robot arm including one or more joint parts capable of performing various tasks including vision inspection work or classification work, but the configuration of the robot arm 110 is not limited thereto.
  • the robot controller 120 can be configured to control the operation of the robot arm 110 and can communicate with the robot arm 110 via any wired or wireless interface.
  • the robot controller 120 may communicate with the target machine 140 or the peripheral device 150 of the robot operation via any wired or wireless interface.
  • the subject machine 140 may include one or more of a machine tool, an injection machine, a press, and the like, and the peripheral device 150 may include one or more of a work tray (eg, a pallet), a conveyor, and the like.
  • the teach pendant 130 is an input / output device including a user interface for controlling the operation of the robot arm 110.
  • the teach pendant 130 may communicate with the robot controller 120 through any wired or wireless interface.
  • the teach pendant 130 may include a keyboard, a touch screen, or the like as an input device, and may include a display or the like as an output device.
  • the robot arm 110 and the robot controller 120 are shown as separate components or devices in FIG. 1, the robot arm 110 and the robot controller 120 may be combined into one device.
  • the robot controller 120, the teach pendant 130, or a combination of the robot controller 120 and the teach pendant 130 may be collectively referred to as a robot control device.
  • the robot arm 110 may include a plurality of joint portions 210, 220, and 230, and an end effector 200 may be attached to an end of the robot arm 110.
  • the end effector 200 is illustrated as a gripper in FIG. 2, the end effector 200 may not only gripper, but also a welding torch, a spray gun, a nut runner, and the like, depending on the type of work to be executed by the robot arm 110. It may include.
  • the robot arm 110 may be in communication with a robot controller 120, which may be configured to control the operation of the robot arm 110.
  • the robot arm 110 is connected to the robot controller 120 by a cable 240 for wired communication.
  • the robot arm 110 and the robot controller 120 may have any wired and / or wireless interface. It may be connected to enable communication via.
  • the robot arm 110 and the robot controller 120 are shown as separate devices in FIG. 2, the robot arm 110 and the robot controller 120 may be combined into one device.
  • the robot controller 120 can communicate with the teach pendant 130 including the user interface via any wired or wireless interface. For example, when a user inputs a command for controlling the robot arm 110 in the teach pendant 130, the robot controller 120 may control the robot arm 110 according to the control command.
  • the robot controller 120 may include a work environment measuring unit 300, a work information receiving unit 310, and a work managing unit 320.
  • the robot controller 120 may include a communication interface unit 330.
  • the communication interface 330 transmits a) a request for checking whether the machine tool is normally operated to the machine tool. And receive a response from the machine tool, b) send a machining start command to the machine tool, and receive a response from the machine tool, and c) issue a chuck open command to the machine tool. Transmit, and receive a response from the machine tool, d) send a chuck close command to the machine tool, and receive a response from the machine tool.
  • the work environment measuring unit 300 may be configured to control the robot arm 110 to measure information regarding a work environment in which the robot operation is performed according to the work type and the workflow of the robot operation.
  • the information about the working environment in which the robot operation is performed may include information about the position of the target machine 140 (for example, information about the coordinate system of the chuck of the machine tool or information about the position of the door of the machine tool), Information on the position of the work tray on which the workpiece processed by the target machine 140 is disposed, information on the initial or via position of the robot (for example, the robot arm 110 of FIG. 2) for performing the robot operation. And the like.
  • the work environment measurement unit 300 when measuring the work environment information about the initial position of the robot arm 110, the work environment measurement unit 300 after positioning the robot arm 110 in the initial position to move the robot arm 110 at that time, the work environment information regarding the initial position of the robot arm 110 may be measured.
  • the work environment measuring unit 300 locates the robot arm 110 at the desired waypoint, and then the robot arm at that time. By storing the spatial coordinates of 110, it is possible to measure the work environment information regarding the waypoint of the robot arm 110.
  • the job information receiver 310 may be configured to control the robot arm 110 to receive job information regarding the robot motion according to the job type and the workflow of the robot motion.
  • job information relating to robot motion may include information related to picking up material on the work tray, information related to loading material into the chuck of the machine tool, material processed by the machine tool.
  • the task information about the robot motion is information for specifying or displaying the characteristics of the robot motion such as approaching, retracting, picking, placing, and the like. Can be.
  • the operation information regarding the robot operation may be referred to or used to control the operation method or the operation mechanism of the robot.
  • the robot eg, the robot arm 110 of FIG. 2
  • the robot may be controlled to move in the rapid movement method (or the high speed movement method) in which the robot moves to the second point in the middle, and in the precise movement method in which the robot moves precisely from the second point to the final third point. .
  • the robot when the operation information about the robot operation is retracting, the robot accurately exits from the initial first point to the intermediate second point without departing the path in order to safely and quickly leave the position. So as to move in a precise movement manner, and move from the second intermediate point to the final third point in a rapid movement manner so as to quickly move out of position.
  • the robot when the task information about the robot motion is picking, the robot approaches the first point from the initial point to the second point where the object is located so as to be suitable for picking up an object at a specific position. The object may be controlled to pick up the object at the corresponding position and then move in a retracting manner from the second point to the final third point.
  • the robot when the job information about the robot motion is a placement, the robot approaches the first point from the initial point to the second point where the object is located so as to be suitable for positioning the object at a specific position. And, after laying down the object that was picked up at the position, it can be controlled to deviate from the second point to the final third point in a retracting manner.
  • the job manager 320 may include a workflow generator 340, a robot motion controller 350, and a data storage 360.
  • the workflow generation unit 340 receives the information about the task type of the robot operation performed by the robot arm 110, and generates the workflow of the robot operation based on the information about the task type of the received robot operation. Can be configured.
  • the workflow of the robot motion may include a) an operation step located at an initial position, b) an operation step opening a door in the machine tool room, c) a work tray (e.g.
  • the workflow generating unit 340 may be applied to the received job types such as injection molding machine auxiliary work, press auxiliary work, screw assembly work, general assembly work, welding work, bonding work, vision inspection work, and sorting work.
  • different workflows can be created that consist of operational steps appropriate for the task at hand.
  • the robot motion controller 350 controls the robot arm 110 based on the measured work environment information and the received work information about the robot motion, and the robot arm 110 according to the work type and workflow of the robot motion. It can be configured to perform robot operation. In one embodiment, the robot motion controller 350 stores the job stored in the data storage 360 according to the job type and the workflow of the robot motion based on the measured job environment information and the received job information about the robot motion.
  • the robot arm 110 may be controlled by selecting a suitable work program among the programs and executing the selected work program.
  • the robot motion controller 350 may generate a job program for performing the robot motion based on the measured work environment information, the received job information about the robot motion, the job type and the workflow of the robot motion, and the like. It may include a work program generating unit (not shown) to generate. In this case, the robot motion controller 350 may control the operation of the robot arm 110 by executing a job program generated by the job program generator.
  • the work program generator may be configured to generate at least one first level instruction for the robot operation based on the information about the measured work environment, the job information about the received robot motion, the job type and the workflow of the robot motion, and the like.
  • the at least one first level instruction comprises a higher order comprising at least one of an approaching instruction, a retracting instruction, a picking instruction, or a placing instruction.
  • the approaching instruction may be a high level instruction for the robot (eg, the robot arm 110 of FIG. 2) to effectively access a specific position
  • the retracting instruction may be a robot at a specific position.
  • the picking instruction may be a higher level instruction for the robot to catch the object at a specific position
  • the placement instruction may be a higher level instruction for the robot to position the object at a specific position.
  • each of the approaching instructions, the retracting instructions, the picking instructions, and the placement instructions may correspond to the approaching, retracting, picking and placing work information of the robot.
  • the job program generator may generate an approaching command corresponding to the job information.
  • the job program generator may generate a retracting command, a picking command or a placement command in response to this job information. have.
  • the work program generator may be configured to generate a plurality of second level instructions for robot operation based on the at least one first level instruction.
  • the plurality of second level instructions may include a control instruction of an end effector, a control instruction of a target machine (eg, a machine tool), a control instruction of a peripheral device (eg, a work tray or a conveyor), a rapid movement instruction (or High-speed movement instructions), precise movement instructions, constant velocity movement instructions, repetitive instructions, condition determination instructions, and wait instructions.
  • the control instruction of the end effector may include a gripper open instruction, a gripper open instruction or a gripper close instruction, that is, the target machine (eg, a machine tool).
  • the control command may include a chuck open command or a chuck closed command.
  • the first level of instructions may include a combination of at least two or more second level of instructions.
  • the first level instruction approaching instruction may be composed of a combination of the rapid movement instruction and the precision movement instruction that are the second level instruction.
  • a retracting instruction which is a first level instruction
  • the picking instruction which is a first level instruction
  • the picking instruction may be configured by a combination of a rapid movement instruction, a precise movement instruction, or a gripper control instruction, which is a second level instruction.
  • a placement instruction which is a first level instruction, may also consist of a combination of a rapid movement instruction, a precise movement instruction, or a gripper control instruction, which is a second level instruction.
  • the work program generator may be configured to generate a work program for robot operation based on the plurality of second level instructions.
  • the work program generator may be configured to generate a plurality of third level instructions that are lower level instructions based on the plurality of second level instructions.
  • the work program generator may be configured to generate a work program for robot operation based on the plurality of third level instructions.
  • the data storage unit 360 may store a work type of the robot operation, a workflow of the robot operation for each work type, information about a work environment in which the robot operation is performed, and work information about the robot operation.
  • the data storage unit 360 may store a job program that can be executed by the robot motion controller 350 according to each job type.
  • FIG. 4 is a diagram illustrating a workflow of a robot operation generated based on information regarding a task type of the robot operation according to an embodiment of the present disclosure.
  • the robot control apparatus eg, the workflow generator 340 of FIG. 3
  • the workflow of the machine tool auxiliary work using the single gripper includes an operation step (step 410) of positioning the robot arm 110 in an initial position, an operation step of opening a door of the machine tool (step 420), and a job.
  • Operation step (step 430) of loading the material of the tray into the machine tool operation step of closing the door of the machine tool (step 440), operation step (step 450) of positioning the robot arm 110 in the initial position, An operation step of waiting for the processing cycle (step 460), an operation step of opening the door of the machine tool (step 470), an operation step of unloading the workpiece of the material (step 480), and the like.
  • the next workpiece can be loaded into the factory machine. That is, the operation step of loading the workpiece of the work tray (step 430) to the operation step of unloading the workpiece of the material (step 480) may be repeatedly performed as much as the quantity of the material provided in the work tray.
  • the job type is a machine tool auxiliary job with dual grippers, you can create a workflow accordingly, and you can also create workflows for other job types.
  • the end effector 200 of the robot arm 110 may include a touch measuring device (eg, a touch measuring device) for teaching and measuring information about the coordinates of the chuck 520 of the machine tool 510, which is one of the robot's working environments. 500).
  • a touch measuring device eg, a touch measuring device
  • the robot control device may contact the robot to contact one or more points associated with the chuck 520 of the machine tool 510 with the contact measurement device 500.
  • the robot control apparatus may measure information about the coordinates of the chuck 520 of the machine tool 510 by storing the spatial coordinates of the point where the contact measuring apparatus 500 is located at a specific time.
  • the robot arm 110 may be in contact with one or more points associated with the chuck 520 of the machine tool 510 through direct teaching based on direct robot movement of an operator. During this operation, the robot controller can measure information about the coordinates of the chuck 520 of the machine tool 510.
  • the robot controller may measure information about the coordinates of the chuck 520 of the machine tool 510 using a non-contact measuring device such as a camera or a laser beam measuring device instead of the contact measuring device 500. have.
  • a non-contact measuring device such as a camera or a laser beam measuring device instead of the contact measuring device 500.
  • FIG. 5 illustrates a method for measuring a work environment of a robot related to the machine tool 510
  • the robot control apparatus may measure a work environment of a robot related to other target machines of the robot operation such as an injection molding machine and a press in a similar manner. .
  • FIG. 6 is a perspective view illustrating a method for measuring and teaching a working environment of a robot associated with a door of a machine tool 510 according to another exemplary embodiment of the present disclosure.
  • the end effector 200 of the robot arm 110 is a handle of the door 600 to measure information regarding the position of the door 600 of the machine tool 510, which is one of the robot's working environments. 610 may be located near.
  • the end effector 200 of the robot arm 110 may open and close the door 600 by pushing the handle 610 of the door 600 so that the end effector 200 of the robot arm 110 may move in the direction of the door. It may be automatically aligned with the orientation of the handle 610 of 600.
  • the robot control device (eg, the work environment measurement unit 300 of FIG. 3) is configured such that the end effector 200 of the robot arm 110 pushes the handle 610 of the door 600 to open the door 600.
  • the robot control apparatus starts the opening operation of the robot arm 110 opens the door 600
  • the end of the opening operation of the robot arm 110 opens the door 600
  • the robot arm 110 is the door 600
  • Door 600 of the machine tool 510 by storing the spatial coordinates at which the robot arm 110 is located at a specific time, such as the start of the closing operation, the robot arm 110 closing the door 600. Information about the location of the can be measured.
  • the robot control may measure information regarding the position of the door 600 of the machine tool 510.
  • 6 illustrates a method of measuring a working environment of a robot associated with a door 600 of a machine tool 510, but the robot control apparatus may include a robot associated with a door or other opening / closing device of other target machines of the robot operation, such as an injection molding machine or a press.
  • the working environment can also be measured in a similar way.
  • the end effector 200 of the robot arm 110 may include a touch measuring device (eg, a touch measuring device) to measure information regarding a position of a work tray 700 in which a material 710, which is one of the robot's working environments, is disposed. 500).
  • a touch measuring device eg, a touch measuring device
  • the robot control device eg, the work environment measurement unit 300 of FIG. 3
  • the robot control device is a contact measuring device 500, and at least one point (eg, the work tray 700) of the work tray 700.
  • the robot control apparatus may measure information about the position of the work tray 700 by storing the spatial coordinates of the point where the contact measuring apparatus 500 is located at a specific time.
  • the robot control device 700 may operate on the work tray 700. We can measure information about the position of).
  • the robot control apparatus may measure information regarding the position of the work tray 700 by using a non-contact measuring device such as a camera or a laser beam meter instead of the contact measuring device 500.
  • 7 illustrates a method for measuring a work environment of a robot associated with a work tray 700, the robot control apparatus may measure a work environment of a robot related to other peripheral devices of a robot operation such as a conveyor in a similar manner.
  • the end effector 200 of the robot arm 110 receives job information (for example, information related to an operation of picking up the material 710 on the job tray 700) regarding the operation of the robot. It may be located near the material 710 of the work tray 700 to. At this time, the end effector 200 of the robot arm 110 may pick up the material 710 of the work tray 700 so that the direction of the end effector 200 of the robot arm 110 may be in the direction of the work tray 700. It can be automatically aligned with the orientation.
  • job information for example, information related to an operation of picking up the material 710 on the job tray 700
  • the end effector 200 of the robot arm 110 may pick up the material 710 of the work tray 700 so that the direction of the end effector 200 of the robot arm 110 may be in the direction of the work tray 700. It can be automatically aligned with the orientation.
  • the robot control apparatus controls the end effector 200 of the robot arm 110 to pick up the material 710 of the job tray 700, thereby providing a job tray ( Job information related to the operation of picking up the material 710 on the 700 may be received.
  • the robot control apparatus may receive job information related to the operation of picking up the material 710 on the work tray 700 by storing the spatial coordinates of the point where the robot arm 110 is located at specific points in the pickup process. have.
  • the robot control device picks up the workpiece 710 on the work tray 700.
  • Receive job information related to the operation. 8 illustrates a method of receiving job information regarding the operation of the robot related to the work tray 700
  • the robot control apparatus may also receive the job information of the robot related to another peripheral device of the robot operation such as a conveyor in a similar manner. have.
  • the job information associated with picking up the workpiece 710 on the job tray 700 may correspond to picking, which is job information for picking up an object at a particular location.
  • the robot arm 110 is at an initial first point (eg, the initial position of the robot arm 110). To the second point where the work piece 710 on the work tray 700 is located approaching, picking up the work 710 at the location, and then retracting from the second point to the final third point. Can be controlled to escape in a manner.
  • the end effector 200 of the robot arm 110 holding the workpiece 710 may include job information related to the operation of the robot (eg, the workpiece 710 may include the chuck of the machine tool 510). Information related to the operation of loading 520) in the vicinity of the chuck 520 of the machine tool 510.
  • the end effector 200 of the robot arm 110 may load the material 710 into the chuck 520 of the machine tool 510 so that the direction of the end effector 200 of the robot arm 110 may be machined. It may be automatically aligned with the orientation of the chuck 520 of the machine 510.
  • the robot control device controls the end effector 200 of the robot arm 110 to load the material 710 into the chuck 520 of the machine tool 510.
  • job information related to an operation of loading the material 710 into the chuck 520 of the machine tool 510 may be received.
  • the robot control apparatus performs operations related to the operation of loading the workpiece 710 into the chuck 520 of the machine tool 510 by storing the spatial coordinates of the position where the robot arm 110 is located at specific points in the loading process. Information can be received.
  • the robot control device Job information related to the operation of loading 710 into the chuck 520 of the machine tool 510 may be received.
  • FIG. 9 illustrates a method of receiving job information regarding the operation of a robot related to the chuck 520 of the machine tool 510, but the robot control apparatus may operate the robot related to other target machines of the robot operation such as an injection molding machine and a press. Information can also be received in a similar manner.
  • the job information associated with loading the workpiece 710 into the chuck 520 of the machine tool 510 may correspond to a placement, which is job information for positioning the object at a particular location.
  • the robot arm 110 may be at an initial first point (eg, the robot arm 110). From the initial position) to the second point where the chuck 520 of the machine tool 510 is located by approaching, laying down the workpiece 710 picked up at the corresponding position, and then at the second point. It can be controlled to deviate in a retracting manner up to the final third point.
  • the robot controller may control the workpiece 710 after the workpiece 710 is machined by the machine tool 510.
  • Job information related to the operation of unloading the workpiece from the chuck 520 of the machine tool 510 may also be received.
  • the job information associated with the operation of unloading the workpiece from the chuck 520 of the machine tool 510 may correspond to picking, which is job information for picking up an object at a particular location.
  • the robot arm 110 starts with the chuck 520 of the machine tool 510 from an initial first point.
  • This located second point may be approached in an approaching manner, picked up the workpiece at that location, and then controlled to retract from the second point to the final third point.
  • the end effector 200 of the robot arm 110 holding the workpiece 1000 is operation information (eg, the workpiece 1000 processed by the machine tool 510) regarding the operation of the robot. May be located in the vicinity of the task tray 700 to receive task information related to the operation of laying down on the task tray 700.
  • the end effector 200 of the robot arm 110 may lower the workpiece 1000 onto the work tray 700 so that the direction of the end effector 200 of the robot arm 110 is the work tray 700. It can be automatically aligned with the direction of.
  • the robot control apparatus controls the end effector 200 of the robot arm 110 to lower the workpiece 1000 onto the task tray 700, thereby processing the workpiece.
  • Job information related to an operation of putting the 1000 on the job tray 700 may be received.
  • the robot control apparatus may receive job information related to an operation of laying down the workpiece 1000 on the work tray 700 by storing spatial coordinates of the point where the robot arm 110 is located at specific points in the process. have.
  • the robot control device may manipulate the workpiece 1000.
  • FIG. 10 illustrates a method for receiving job information related to the operation of the robot related to the work tray 700.
  • the robot control apparatus may also receive work information about the robot related to other peripheral devices of the robot operation such as a conveyor in a similar manner. have.
  • the work information related to the operation of laying down the workpiece 1000 on the work tray 700 may correspond to a placement, which is work information for positioning the object at a specific position.
  • the robot arm 110 may be used to determine the position of the work tray 700 on which the workpiece 1000 will be placed from an initial first point. The approach to the second point may be approached, and the workpiece 1000 being picked up at the corresponding position may be lowered, and then may be controlled to retract from the second point to the final third point.
  • a blowing operation may be performed to remove impurities and the like on the surface of the workpiece 1000 before placing the workpiece 1000 on the work tray 700.
  • the robot control apparatus also receives the job information related to the location where the blowing is performed by placing the robot arm 110 at the position where the blowing operation is to be performed and storing the spatial coordinates of the location where the robot arm 110 is located. can do.
  • the number of positions that is, the number of teaching points, to be measured or taught by the robot controller in order to perform the workflow of the robot operation shown in FIG. 4 may be summarized as shown in Table 1 below. Can be.
  • Job Information Required Workplace Information Teaching score Material picking Loading task tray position 3 Loading work tray vertical i-th creative position n Machine tool door open / close Handle start position One Handle end position One Loading with machine tool Air blowing position One Chuck vertical direction 4 Material mounting position One Material workpiece removal Air blowing position One Spinal cord direction 0 Workpiece removal position One External air blowing Air blowing position One Measure Inspection location One Material Unloading Unloading work tray position 3 Unloading work tray vertically i-th creative position n Initial position Initial location information One Total teaching points 19 + 2n
  • three teaching points are required for designating the loading work tray position and the vertical direction in order for the robot to pick the material from the work tray to load the material into the machine tool 510.
  • N teaching points are needed to teach where the material is located within the loading work tray.
  • the opening and closing of the door of the machine tool 510 requires the teaching of the start and end points of the door handle.
  • the starting point may be the end point, and the end point may be the starting point, so only two teaching points may be possible.
  • Loading the picked material into the chuck 520 of the machine tool 510 may require an air blowing position to remove dust, four teaching points to indicate the vertical direction of the chuck, and one teaching point to indicate the position of the chuck. .
  • the unloading work tray position, the unloading work tray vertical direction, and the unloading work tray 8 + n teaching points are required, including those for where the workpiece is placed.
  • a total of 19 + 2n teaching points are required to process and place all materials in one loading tray into the unloading tray.
  • a method of minimizing task information for controlling the robot is also presented.
  • the method according to the invention it is possible to use a built-in work tray and a built-in gripper to reduce the number of teaching points.
  • the built-in work tray and built-in gripper means that the robot controller 120 embeds information related to the work tray and the gripper. That is, when the robot is sold and produced, it means that the robot controller 120 is delivered with the information about the built-in work tray and the built-in gripper to the buyer.
  • FIG. 11 is a perspective view illustrating a built-in work tray according to an embodiment of the present disclosure.
  • the size (x, y) of the work tray, the distance between the positions where the material or the workpiece is placed (x1, y1), from the reference point to the position where the first material or the workpiece is located The relative positions x2 and y2 are determined. Since the robot has built-in information on the above-mentioned work tray since the production, the robot can automatically set the first position to pick up the material, and then automatically set the position to pick up the material just by teaching the reference point. That is, only one teaching point can provide all of the teaching information for picking materials. However, three teaching points including the reference point may be used to teach the reference point and the vertical direction with respect to the work tray for the stability of the teaching about the vertical direction of the work tray.
  • the gripper is one of the end effectors attached to the robot and can hold a material or a workpiece. If the distance from the end of the robot to the device that picks up the material, such as the gripper's finger, can change, then a new teaching should be made each time. So even if the shape may be different, keeping the distance constant eliminates the need for a new teaching every time the gripper is changed.
  • the gripper in order for the material to be loaded in the vertical direction of the chuck 520, the gripper is required to have angle information attached to the robot. Without angular information, many teaching points may be needed to recognize the vertical direction of the chuck. Therefore, if the robot controller 120 incorporates and uses specifications for grippers such as shape, maximum diameter of a gripper, finger length, attachment angle, and the like, the number of teaching points can be reduced.
  • Table 2 below shows the number of teaching points when using the built-in task tray and built-in gripper.
  • Job Information Required Workplace Information Teaching score Material picking Loading task tray position 1 (3) Loading work tray vertical i-th creative position Machine tool door open / close Handle start position One Handle end position One Loading with machine tool Air blowing position One Chuck vertical direction One Material mounting position Material workpiece removal Air blowing position One Spinal cord direction 0 Workpiece removal position One External air blowing Air blowing position One Measure Inspection location One Material Unloading Unloading work tray position 1 (3) Unloading work tray vertically i-th creative position Initial position Initial location information One Total teaching points 11 (15)
  • the work environment information required for material pick-up and unloading of workpieces associated with the work tray can be greatly reduced by using the built-in work tray, and the built-in gripper can be used to load materials into the machine tool.
  • the number of viewpoints can be reduced.
  • the total number of teaching points can be greatly reduced from 19 + 2n to 11 or 15.
  • FIG. 12 is a diagram illustrating a display screen 1100 of the teach pendant 130 when measuring a working environment of a robot according to an exemplary embodiment.
  • the teach pendant 130 in order to measure the working environment of the robot, “Enter the coordinate system of the machine tool chuck” on the display screen 1100 of the teach pendant 130, “Enter the machine tool door position”, “Material pallet coordinate system” ", Enter the robot's initial location”, and so on.
  • selecting the "Enter the coordinate system of the machine tool chuck” message causes the robot controller 120 to measure information about the coordinate system of the chuck 520 of the machine tool 510, Communicate with the robot controller 120.
  • the teach pendant 130 when the message "Please enter the machine tool door position", the teach pendant 130 is the start position, opening operation of the opening operation of the door 600 of the machine tool 510 the robot controller 120
  • the robot controller 120 may communicate with the robot controller 120 to measure information about an end position, a start position of the closing operation, and an end position of the closing operation. For example, if the message "Enter the machine tool door position" is selected and the "Open starting position: Set current position” icon is selected, the teach pendant 130 causes the robot controller 120 to display the door of the machine tool 510. Communicate with the robot controller 120 to measure information regarding the starting position of the opening operation of the.
  • the teach pendant 130 is connected to the robot controller 120 such that the robot controller 120 measures information regarding an end position of an opening operation, a start position of a closing operation, or an end position of the closing operation of the door of the machine tool 510. Can communicate.
  • the teach pendant 130 when selecting the "Please enter the material pallet coordinate system” message, the teach pendant 130 and the robot controller 120, so that the robot controller 120 measures information about the coordinate system of the task tray 700; Can communicate.
  • teach pendant 130 causes robot controller 120 to measure information regarding the initial position of robot arm 110. Communicate with
  • FIG. 13 is a view illustrating a display screen 1200 of the teach pendant 130 when receiving job information regarding an operation of a robot according to an exemplary embodiment.
  • the display screen 1200 of the teach pendant 130 may include a "Please input a material loading position", "Please enter a workpiece unloading position", etc. A message can be output.
  • the teach pendant 130 when selecting the "Enter material loading location” message, is a chuck of the machine tool 510 or position information from which the robot controller 120 picks up material from the work tray 700.
  • the robot controller 120 may communicate with the robot controller 120 to receive location information on which the material is loaded at 520. For example, if the message "Enter the material loading location” is selected and the "Grip location: Set current location” icon is selected, the teach pendant 130 causes the robot controller 120 to pick up the material in the work tray 700.
  • the robot controller 120 may communicate with the robot controller 120 to measure position information.
  • the teach pendant 130 will be displayed by the robot controller 120.
  • the robot controller 120 may communicate with the robot controller 120 to measure the position information of the robot arm 110 picked up or the position information of the material loaded into the chuck 520 of the machine tool 510.
  • the teach pendant 130 when selecting the “Enter Workpiece Unloading Location” message, is the location information or workpiece from which the robot controller 120 picks up the workpiece from the chuck 520 of the machine tool 510. Communication with the robot controller 120 to receive the position information placed on the task tray 700. For example, if the message "Enter the workpiece unloading position" is selected and the "Grip position: Set current position” icon is selected, the teach pendant 130 causes the robot controller 120 to execute the chuck ( The robot controller 120 may communicate with the robot controller 120 to measure location information for picking up the workpiece at 520.
  • the teach pendant 130 causes the robot controller 120 to lower the workpiece onto the task tray 700.
  • the robot controller 120 may communicate with the robot controller 120 to measure the positioning information.
  • the method for inputting the work environment information of the robot using the teach pendant 130 is illustrated, but the movement of the robot may be controlled and taught using the teach pendant 130 having a touch screen.
  • the teach pendant 130 may show the robot in two or three dimensions, and the movement of the robot may be taught or controlled using the screen touch.
  • a jog function user interface may be defined.
  • the jog function consists of a joint jog function and a task jog function.
  • the task jog function can be divided into commands for global coordinates and commands for local coordinates.
  • view angle view angle
  • the teach pendant 130 may be touched or dragged on an empty space on the teach pendant 130 to adjust a viewing angle to teach a joint or a link to move the robot. 130 may be displayed on the screen. Then, the joint or link to be moved on the screen of the teach pendant 130 may be directly selected. The teach pendant 130 may display the selected joint or link in an active state. For this, the teach pendant 130 may display colors differently from other parts of the robot. Next, when the joint or link is selected, the selected joint or link may be dragged in a direction in which the selected joint or link should move.
  • the direction in which the joint moves is determined by the dragging direction, that is, a vector connecting the drag start point and the end point (hereinafter referred to as drag vector).
  • the jog speed may be generated in proportion to the size of the drag vector from 0 to the maximum jog speed set as the slide. The maximum jog speed can be set using the slide bar.
  • an arrow indicating rotation at a corresponding joint position is popped up to generate a jog command through the arrow.
  • the robot may be displayed on the screen of the teach pendant 130 by activating a default view button so as to view the robot in the teach pendant 130 or the human orientation.
  • the task jog function for the linear movement using the projection screen As an example of the implementation of robot control using the task jog function, the task jog function for the linear movement using the projection screen, the task jog function for the rotation movement, and the task jog for the linear movement using the isometric screen are shown. There may be a function jog function and a rotational jog function.
  • the basic teach pendant 130 configuration of the screen can be divided into xy plane, yz plane, zx plane and isometric view (isometric view) for the robot. If necessary, the screen can display the robot in the form of viewing the robot in the user's bearing using the isometric view and the default view button. Views of the xy, yz, and zx plane robots can be selected using the global / local toggle buttons, and the global / local buttons can be activated mutually exclusively. Drag motion on each plane can generate jog commands on the active coordinate system (global / local).
  • the size of the jog command is created in proportion to the size of the drag vector (the length of the line segment from the start point to the end point) and cannot exceed the maximum jog speed.
  • the horizontal and vertical axis components of the drag vector may be converted to the corresponding jog command, and the set maximum jog speed may be reset using the slide bar as in the joint jog.
  • a command on a particular plane generates only jog commands on that plane. For example, drag vectors on the xy plane cannot generate z-direction commands, and jog motion on the yz and zx planes cannot generate nonzero commands in the x and y directions, respectively.
  • a deadzone is placed at the horizontal / vertical axis edges of the xy plane, the yz plane, and the zx plane, so dragging on a horizontal dead zone may not generate a vertical command and dragging on a vertical dead zone may not generate a horizontal command.
  • the task jog function for rotation movement using the projection screen is selected by toggling a desired coordinate system (global / local), and the generation of the jog command is the same as the task jog for linear movement using the projection screen described above.
  • the segment perpendicular to the jog vector may be used as the axis of rotation, and the direction of rotation may coincide with the direction of the drag vector.
  • the rotational angular velocity is proportional to the size of the drag vector and does not exceed the preset jog maximum speed. The maximum jog speed can be reset with the slide bar.
  • the task early function for linear movement using an isometric screen may allow the screen to be displayed on the screen in the form of viewing the robot from the teach pendant 130 or the orientation of a person using a default view button as necessary. . If you select the isometric view screen, depending on the global / local coordinate system selection, the coordinate system may appear at the end of the teach pendant.
  • the jog command is executed by dragging from the center of the coordinate system to the unit vector of each coordinate system to create a drag vector.
  • the size of the jog is the same as before and is proportional to the size of the drag vector and does not exceed the maximum jog speed set in advance of the slide bar.
  • axes and action arrows of the toggled coordinate system may pop up. Then, you can select the axis of the desired rotation. First, the color is different from the selected axis and the corresponding action arrow to indicate that it is not selected. You can create a jog command by dragging along the action arrow for the selected axis of rotation. Jog speed is generated in proportion to the distance traveled along the drag vector or action arrow and does not exceed the maximum set jog speed just before the slide.
  • the robot control apparatus may receive information about a task type of a robot operation performed by a robot (step 1310).
  • the robot control device may include the robot controller 120 and / or the teach pendant 130 shown in FIG. 1.
  • the robot control apparatus may generate a workflow of the robot motion based on the received information about the task type of the robot motion (step 1320).
  • the robot controller eg, the workflow generator 340 of FIG. 3
  • the robot control unit may include a) an operating step located at an initial position, b) an opening step of a door in the machine room, c) a work tray (e.g.
  • Pallet picking up the workpiece from the pallet, d) passing the door of the machine tool room into the machine tool room, e) placing the picked up material at a specific position of the machine tool in the machine tool room, f) create a workflow consisting of operational steps of waiting for the workpiece to be machined by the machine tool to retrieve the workpiece.
  • the robot control device may be configured with operation steps suitable for the operation according to the type of work received, such as an injection molding machine auxiliary work, press auxiliary work, screw assembly work, welding work, bonding work, vision inspection work, etc. You can create different workflows.
  • the robot controller may control the robot to measure information regarding a work environment in which the robot operation is performed according to the work type and the workflow of the robot operation (step 1330).
  • the robot control apparatus for example, the work environment measurement unit 300 of FIG. 3 is a work robot (for example, the robot arm 110 of FIG. 2) in a specific operation step constituting the workflow.
  • information about the working environment can be measured.
  • the robot control device places the robot arm 110 at a specific point on the work tray and By storing the spatial coordinates, the working environment information indicating the position of the work tray to pick up the workpiece can be measured.
  • the robot control apparatus places the robot arm 110 at the arrival point to be moved and stores the spatial coordinates of the robot arm 110 at that time.
  • Work environment information about the destination can be measured.
  • the robot control apparatus places the robot arm 110 at the desired waypoint and stores the spatial coordinates at that time.
  • the movement environment information about the waypoint at the time of movement 110 may be measured. In this case, the robot arm 110 may be controlled to move through the stored waypoint.
  • information about the work environment may be measured according to the above-described workflow.
  • the steps of the above-described workflow a) it is possible to specify the position that the robot should be at the beginning of the operation for the operation step located in the initial position. Designation of the initial position may be taught by measuring spatial coordinates using the above-described method. However, if the recommendation position for each application included in the robot is used, work environment information on the initial position may be obtained without teaching.
  • the working environment information for the start and end positions of the door handles shall be measured.
  • the coordinates where the workpieces are located should be measured.
  • the built-in work tray makes it easy to measure the work environment information on the location of the material by teaching only the reference point or by teaching only three points including the reference point to measure stable work environment information about the vertical direction of the work tray. can do.
  • the built-in work tray can be easily used to teach the work environment information on the position of the workpiece by teaching only the reference point or by teaching only three points including the reference point to measure stable work environment information about the vertical direction of the work tray. It can be measured.
  • measuring work environment information along a workflow can be a significant effort and time-consuming task.
  • using a built-in work tray and / or a built-in gripper that matches the specifications built into the robot will significantly reduce the time to measure work environment information.
  • the robot controller may control the robot to receive job information about the robot motion according to the job type and the workflow of the robot motion (step 1340).
  • the operation information regarding the robot operation may be information for designating or indicating a characteristic of the robot operation such as approaching, retracting, picking, placing, and the like.
  • the operation information regarding the robot operation may be referred to or used to control the operation method or the operation mechanism of the robot.
  • the robot when the task information about the robot operation is approaching, the robot can move rapidly from the first point to the second point in the middle in order to move to the target point quickly and precisely. It may be controlled to move in the movement manner and move in the precision movement manner that can move precisely from the second point to the final third point.
  • the robot when the operation information about the robot operation is retracting, the robot accurately exits from the initial first point to the intermediate second point without departing the path in order to safely and quickly leave the position. So as to move in a precise movement manner, and move from the second intermediate point to the final third point in a rapid movement manner so as to quickly move out of position.
  • the robot when the task information about the robot motion is picking, the robot approaches the first point from the initial point to the second point where the object is located so as to be suitable for picking up an object at a specific position. The object may be controlled to pick up the object at the corresponding position and then move in a retracting manner from the second point to the final third point.
  • the robot when the job information about the robot motion is a placement, the robot approaches the first point from the initial point to the second point where the object is located so as to be suitable for positioning the object at a specific position. And, after laying down the object that was picked up at the position, it can be controlled to deviate from the second point to the final third point in a retracting manner.
  • the robot controller may control the robot based on the measured work environment information and the received work information on the robot operation to perform the robot operation according to the operation type and the workflow of the robot operation (step 1350).
  • the robot control apparatus selects a suitable work program according to the work type and workflow of the robot operation based on the information about the measured work environment and the received work information on the robot motion, and executes the selected work program. It is possible to control the performance of the robot operation.
  • the robot control apparatus generates a job program for performing the robot operation according to the job type and workflow of the robot operation based on the information about the measured working environment and the job information about the received robot operation, and the like. Execution of the generated work program can control the execution of the robot operation.
  • the robot control apparatus may then determine whether the task type of the robot operation has changed (step 1360). If it is determined that the operation type of the robot operation is changed, the robot control apparatus again receives information regarding the operation type of the robot operation performed by the robot (step 1310), and it is determined that the operation type of the robot operation has not been changed. In this case, the robot control apparatus may determine whether the work environment in which the robot operation is performed is changed (step 1370). If it is determined that the working environment in which the robot operation is performed is changed, the robot control device controls the robot to measure information about the working environment in which the robot operation is performed according to the operation type and workflow of the robot operation (step 1330).
  • the robot control apparatus may determine whether the job information regarding the robot operation is changed (step 1380). If it is determined that the job information related to the robot operation is changed, the robot control device controls the robot to receive the job information related to the robot operation again according to the operation type and the workflow of the robot operation (step 1340), and If it is determined that the job information has not been changed, the robot control device controls the robot based on the information about the measured work environment and the job information about the received robot motion to operate the robot according to the job type and workflow of the robot motion. May continue (step 1350).
  • the conventional measurement result may be used again. If only the size of the material to be processed is changed while the same operation is repeated or only the position of the tray is changed, only the changed part can be corrected and the same part as the existing work can be used without measurement. Measurement work to obtain working environment information takes a lot of effort and time, so you can reduce the time and effort required by not measuring the unchanged part. Such a task may be able to store past measurement results and retrieve and use past measurement results when a similar operation is performed.
  • the robot controller (for example, the robot motion controller 350 of FIG. 3) may be configured based on information about the measured work environment, job information about the received robot motion, job type and workflow of the robot motion.
  • At least one first level instruction for operation may be generated (step 1400).
  • the at least one first level instruction comprises a higher order comprising at least one of an approaching instruction, a retracting instruction, a picking instruction, or a placing instruction. It may be a level instruction.
  • the approaching instruction may be a high level instruction for the robot (eg, the robot arm 110 of FIG.
  • the retracting instruction may be a robot at a specific position. It may be a higher level instruction to effectively escape, the picking instruction may be a higher level instruction for the robot to catch the object at a specific position, and the placement instruction may be a higher level instruction for the robot to position the object at a specific position. Can be.
  • each of the approaching instructions, the retracting instructions, the picking instructions, and the placement instructions may correspond to the approaching, retracting, picking and placing work information of the robot.
  • the robot control apparatus may generate an approaching command corresponding to the job information.
  • the robot control device may generate a retracting command, picking command or a placement command in response to this job information.
  • the robot control apparatus may generate a plurality of second level instructions for the robot operation based on at least one first level instruction (step 1410).
  • the plurality of second level instructions may include a control instruction of an end effector, a control instruction of a target machine (eg, a machine tool), a control instruction of a peripheral device (eg, a work tray or a conveyor), a rapid movement instruction (or High-speed movement instructions), precise movement instructions, constant velocity movement instructions, repetitive instructions, condition determination instructions, and wait instructions.
  • the control command of the end effector may include a gripper open command or a gripper close command, which is a gripper control command
  • the control command of the machine tool may be a chuck open command or a chuck. It may include a close command.
  • the first level of instructions may include a combination of at least two or more second level of instructions.
  • the first level instruction approaching instruction may be composed of a combination of the rapid movement instruction and the precision movement instruction that are the second level instruction.
  • a retracting instruction which is a first level instruction
  • the picking instruction which is a first level instruction
  • the picking instruction may be configured by a combination of a rapid movement instruction, a precise movement instruction, or a gripper control instruction, which is a second level instruction.
  • a placement instruction which is a first level instruction, may also consist of a combination of a rapid movement instruction, a precise movement instruction, or a gripper control instruction, which is a second level instruction.
  • the robot control apparatus may generate a job program for robot operation based on the plurality of second level instructions (step 1420).
  • the robot control apparatus may generate a plurality of third level instructions that are lower level instructions based on the plurality of second level instructions.
  • the robot control apparatus may be configured to generate a work program for robot operation based on the plurality of third level instructions.
  • the robot control apparatus may control the performance of the robot operation based on the generated job program (step 1430).
  • DSPs digital signal processors
  • ASICs application-specific integrated circuits
  • ASSPs application-specific standard products
  • FPGAs field-programmable gate arrays
  • a processor may be implemented as a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.
  • Computer software or programs may include random access memory (RAM), read-only memory (ROM), nonvolatile RAM such as flash RAM, erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), registers, hard disks. It may reside in a disk, removable disk, CD-ROM, or any other form of storage medium known in the art, and may include machine readable instructions that may be executed by an array of logical elements such as a processor or a DSP. .
  • An exemplary storage medium can be combined with the processor, and the processor can read information from and write information to the storage medium.
  • the storage medium may be integral to the processor.
  • the processor and the storage medium may be located in an ASIC.
  • the ASIC may be located in a user terminal.
  • the processor and the storage medium may reside as discrete components in a user terminal.
  • the methods and techniques disclosed herein are one or more sets of instructions executable by a machine that includes an array of logic elements (eg, a processor, microprocessor, microcontroller, or other finite state machine, etc.), for example, It may be implemented in one or more computer readable recording media as listed herein.
  • a “computer readable recording medium” can include any medium including volatile, nonvolatile, removable or non-removable media that can store or transfer information.
  • Examples of computer-readable recording media include electronic circuitry, semiconductor memory devices, ROMs, flash memory, erasable ROM (EROM), floppy diskettes or other magnetic storage devices, CD-ROM / DVD or other optical storage devices, hard disks, optical fibers It may include a medium, a radio frequency (RF) link or any other medium that can be used and stored for storing desired information. All or part of one or more instruction sets executable by a machine may be downloaded via a computer network, such as the Internet or an intranet.
  • a computer network such as the Internet or an intranet.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Optics & Photonics (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

로봇을 제어하기 위한 방법 및 장치가 제공된다. 본 발명의 일 양태에 따르면, 본 방법은 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하는 단계, 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 로봇 동작의 워크플로우(workflow)를 생성하는 단계, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계, 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 수신하는 단계, 및 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보에 기초하여 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작을 수행하는 단계를 포함할 수 있다.

Description

로봇 제어 방법 및 장치
본 발명은 일반적으로 로봇 제어 방법 및 장치에 관한 것이며, 더 구체적으로는, 로봇 동작이 수행되는 작업 환경 또는 로봇 작업에 관한 정보에 기초하여 로봇을 제어하는 방법 및 장치에 관한 것이다.
종래의 산업용 로봇은 미리 정해진 작업 환경에서의 하나의 작업 유형만을 수행할 수 있도록 제조되어, 로봇이 새로운 작업을 수행해야 할 필요가 생기거나 로봇의 작업 환경에 변화가 생기는 경우, 그러한 새로운 작업 또는 작업 환경에 관한 정보들을 일일이 입력하여 새로운 로봇 제어 프로그램을 개발해야 하는 어려움이 있었다. 특히 기존의 로봇 제어 프로그램 개발은 로봇의 세부 동작에 관한 하위 레벨 명령어들에 기초하여 이루어졌으므로, 로봇의 구동에 관한 전문가만이 수행할 수 있었다. 따라서 로봇의 사용자가 그 로봇이 새로운 작업 유형을 수행할 수 있도록 하기 위해서는, 제어 프로그램을 새로 개발하거나 기존의 프로그램을 수정하는 데에 있어서 전문가의 도움이 필요하였으며, 그에 따른 시간 및 비용이 많이 소요되는 문제점이 있었다.
본 발명의 목적은, 로봇의 작업 유형 또는 작업 환경이 변경되는 경우, 로봇을 용이하게 제어할 수 있는 방법 또는 장치를 제공하는 데 있다.
전술한 목적을 달성하기 위한 본 발명에 따른 로봇의 제어 방법은 상기 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하는 단계, 상기 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여, 상기 로봇 동작의 워크플로우(workflow)를 생성하는 단계, 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계, 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작에 관한 작업 정보를 수신하는 단계, 및 상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 단계를 포함할 수 있다. 여기서 상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 로봇이 초기에 설치될 때 또는 상기 작업 환경이 변경되었을 때 수행될 수 있다.
그리고 상기 로봇은 로봇 암, 상기 로봇 암의 동작을 제어하는 제어기, 상기 제어기와 통신 가능하도록 연결되는 티치 펜던트(teach pendant), 및 상기 로봇 암의 말단에 부착되는 엔드 이펙터(end effector)를 포함할 수 있으며, 상기 로봇 동작의 수행과 관련하여 상기 로봇 동작의 대상 기계 또는 주변 기기와 통신하는 단계를 더 포함할 수 있다.
상기 로봇 동작의 작업 유형은 공작 기계 보조 작업, 사출기 보조 작업, 프레스 보조 작업, 픽 엔드 플레이스(pick and place) 작업, 나사 조립 작업, 일반 조립 작업, 용접 작업, 본딩(bonding) 작업, 비전(vision) 검사 작업 또는 분류 작업 중 적어도 하나와 관련되고, 상기 작업 환경에 관한 정보를 측정하는 단계는 상기 작업 환경에 관한 정보를 상기 로봇의 접촉 측정 장치에 의해 측정하는 단계, 또는 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 작업 환경에 관한 정보를 상기 로봇의 접촉 측정 장치에 의해 측정하는 단계, 또는 상기 작업 환경에 관한 정보를 상기 카메라 또는 레이저 빔 측정기를 포함할 수 있는 로봇의 비접촉 측정 장치에 의해 측정하는 단계를 포함할 수 있다.
상기 로봇 동작에 관한 작업 정보를 수신하는 단계는 상기 로봇이 사용자의 직접 교시에 의해 동작할 때의 상기 로봇의 동작 정보에 기초하여 생성되는 상기 작업 정보를 수신하는 단계를 포함할 수 있고, 상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 단계는 상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 단계 및 상기 작업 프로그램을 실행하여 상기 로봇 동작의 수행을 제어하는 단계를 포함할 수 있으며, 상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 단계는 상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성하는 단계 및 상기 적어도 하나의 제1 레벨의 명령어에 기초하여, 상기 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성하는 단계를 포함하고, 상기 적어도 하나의 제1 레벨의 명령어의 각각은, 상기 복수의 제2 레벨의 명령어들의 적어도 두 개 이상의 조합을 포함할 수 있는데, 상기 적어도 하나의 제1 레벨의 명령어는, 어프로칭(approaching) 명령어, 리트랙팅(retracting) 명령어, 피킹(picking) 명령어 또는 플레이싱(placing) 명령어 중 적어도 하나를 포함하는 상위 레벨의 명령어일 수 있고, 상기 복수의 제2 레벨의 명령어들은, 상기 엔드 이펙터의 제어 명령어, 상기 대상 기계의 제어 명령어, 상기 주변 기기의 제어 명령어, 급속 이동 명령어, 정밀 이동 명령어, 정속 이동 명령어, 반복 명령어, 조건 판단 명령어, 대기 명령어 중 적어도 두 개를 포함하는 하위 레벨의 명령어들일 수 있으며, 상기 로봇 동작의 작업 유형은 공작 기계의 보조 작업과 관련되고, 상기 엔드 이펙터는 그리퍼(gripper)를 포함하고, 상기 엔드 이펙터의 제어 명령어는 그리퍼 열림 명령어 또는 그리퍼 닫힘 명령어를 포함하고, 상기 대상 기계의 제어 명령어는 척(chuck) 열림 명령어 또는 척 닫힘 명령어를 포함할 수 있다.
상기 로봇 동작의 작업 유형은 공작 기계 보조 작업과 관련될 수 있으며, 이때 상기 작업 환경에 관한 정보는 상기 공작 기계의 척의 좌표계에 관한 정보, 상기 공작 기계의 도어의 위치에 관한 정보, 상기 로봇 동작의 수행을 위한 상기 로봇의 초기 위치에 관한 정보 또는 상기 공작 기계에 의해 가공되는 소재가 배치되는 작업 트레이의 위치에 관한 정보 중 적어도 하나를 포함할 수 있고, 상기 로봇 동작에 관한 작업 정보는 상기 작업 트레이 상의 소재를 픽업(pick up)하는 동작과 관련된 정보, 상기 소재를 상기 공작 기계의 척에 로딩(loading)하는 동작과 관련된 정보, 상기 공작 기계에 의해 가공된 상기 소재의 가공품을 상기 공작 기계의 척으로부터 언로딩(unloading)하는 동작과 관련된 정보, 상기 가공품을 상기 작업 트레이 상에 놓는 동작과 관련된 정보 또는 상기 소재의 가공품에 블로잉(blowing)을 수행하는 동작과 관련된 정보 중 적어도 하나를 포함할 수 있으며, 상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계 또는 상기 로봇 동작에 관한 작업 정보를 수신하는 단계는 상기 로봇의 방향을 상기 작업 트레이, 상기 공작 기계의 척 또는 상기 공작 기계의 도어 중 적어도 하나에 대해 정렬하는 단계를 포함할 수 있으며, 상기 작업 환경에 관한 정보를 측정하는 단계는 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보를 상기 로봇이 내장하고 있고, 상기 기준점 및 상기 작업 트레이에 대한 수직방향에 대한 정보를 위하여 1개 내지 3개의 교시점을 측정하여 상기 공작 기계에 의해 가공될 소재들의 위치에 관한 정보를 측정하는 단계 또는 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보를 상기 로봇이 내장하고 있고, 상기 기준점 및 상기 작업 트레이에 대한 수직방향에 대한 정보를 위하여 1개 내지 3개의 교시점을 측정하여 상기 공작 기계에 의해 가공된 소재 가공품이 언로딩될 위치에 관한 정보를 측정하는 단계 또는 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보를 상기 로봇이 내장하고 있고, 상기 그리퍼에 대한 사양 정보를 바탕으로 작업 환경에 관한 정보를 측정하는 단계를 포함할 수 있다.
전술한 목적을 달성하기 위한 본 발명에 따른 로봇의 제어 장치는 상기 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하고, 상기 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 상기 로봇 동작의 워크플로우를 생성하도록 구성되는 워크플로우 생성부, 상기 로봇을 제어하여 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 작업 환경 측정부, 상기 로봇을 제어하여 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작에 관한 작업 정보를 수신하는 작업 정보 수신부, 및 상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 로봇 동작 제어부를 포함할 수 있다.
여기서 상기 작업 환경 측정부는 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하거나, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하거나, 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보 및 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보 중 적어도 하나의 정보를 구비하고, 상기 적어도 하나의 정보를 바탕으로 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하거나, 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보 및 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보 중 적어도 하나의 정보를 구비하고, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 적어도 하나의 정보를 바탕으로 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하거나, 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보 및 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보 중 적어도 하나의 정보를 구비하고, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 적어도 하나의 정보를 바탕으로 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 카메라 또는 레이저 빔 측정기에 의해 측정되도록 할 수 있다.
상기 작업 정보 수신부는 상기 로봇이 사용자의 직접 교시에 의해 동작할 때의 상기 로봇의 동작 정보에 기초하여 생성되는 상기 작업 정보를 수신할 수 있고, 상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 작업 프로그램 생성부를 더 포함하고, 상기 로봇 동작 제어부는 상기 생성된 작업 프로그램에 기초하여 상기 로봇의 상기 로봇 동작의 수행을 제어할 수 있는데, 상기 작업 프로그램 생성부는 상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성하고, 상기 적어도 하나의 제1 레벨의 명령어에 기초하여, 상기 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성하고, 상기 적어도 하나의 제1 레벨의 명령어의 각각은, 상기 복수의 제2 레벨의 명령어들의 적어도 두 개 이상의 조합을 포함할 수 있다.
그리고 상기 로봇 동작의 수행과 관련하여 대상 기계 또는 주변 기기와 통신하는 통신 인터페이스부를 더 포함할 수 있고, 제1항 내지 제22항 중 어느 한 항의 로봇 제어 방법을 로봇 제어 장치에 의해 수행하도록 하는 프로그램을 저장하는 컴퓨터 판독가능 기록매체를 포함할 수 있다.
본 발명은 로봇의 작업 유형 또는 작업 환경이 변경되는 경우, 그 로봇의 사용자가 로봇 제어 프로그램을 효율적으로 생성하거나 수정하여 로봇을 제어할 수 있는 효과를 제공한다.
도 1은 본 개시의 일 실시 예에 따른 로봇 시스템의 개략적인 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 로봇 암의 개략적인 외부 구성을 보여주는 사시도이다.
도 3은 본 개시의 일 실시 예에 따른 로봇 제어기의 개략적인 블록도이다.
도 4는 본 개시의 일 실시 예에 따른 로봇 동작의 작업 유형에 관한 정보에 기초하여 생성된 로봇 동작의 워크플로우를 보여주는 도면이다.
도 5는 본 개시의 일 실 예에 따른 공작 기계(510)의 척(520)과 관련된 로봇의 작업 환경 측정 및 교시 방법을 보여주는 사시도이다.
도 6은 본 개시의 다른 실시 예에 따른 공작 기계(510)의 도어와 관련된 로봇의 작업 환경 측정 및 교시 방법을 보여주는 사시도이다.
도 7은 본 개시의 일 실시 예에 따른 작업 트레이(700)와 관련된 로봇의 작업 환경 측정 및 교시 방법을 보여주는 사시도이다.
도 8은 본 개시의 일 실시예에 따른 작업 트레이와 관련된 로봇의 동작에 관한 작업 정보 수신 방법을 보여주는 사시도이다.
도 9는 본 개시의 일 실시예에 따른 공작 기계와 관련된 로봇의 동작에 관한 작업 정보 수신 방법을 보여주는 사시도이다.
도 10은 본 개시의 다른 실시예에 따른 작업 트레이와 관련된 로봇의 동작에 관한 작업 정보 수신 방법을 보여주는 사시도이다.
도 11은 본 개시의 일 실시 예에 따른 내장 작업 트레이를 도시한 사시도이다.
도 12는 본 개시의 일 실시 예에 따른 로봇의 작업 환경을 측정하는 경우의 티치 펜던트(130)의 디스플레이 화면(1100)을 보여주는 도면이다.
도 13은 본 개시의 일 실시 예에 따른 로봇의 동작에 관한 작업 정보를 수신하는 경우의 티치 펜던트(130)의 디스플레이 화면(1200)을 보여주는 도면이다.
도 14는 본 개시의 일 실시 예에 따른 로봇의 제어 방법(1300)을 보여주는 흐름도이다.
도 15는 본 개시의 일 실시 예에 따른 로봇의 제어를 위한 작업 프로그램에 기초하여 로봇 동작의 수행을 제어하는 방법(1350)을 보여주는 흐름도이다.
본 개시 내용은 로봇 동작이 수행되는 작업 환경 또는 로봇 작업에 관한 정보에 기초하여 로봇을 제어하는 방법 및 장치를 제공한다. 이하, 첨부된 도면을 참조하여, 본 개시 내용을 구현하기에 적합한 구체적인 실시예들에 대하여 설명한다. 다만, 이는 예시적인 설명일 뿐이며 이하의 설명에 나타난 바와 같이 발명을 한정하고자 하는 것은 아니다.
도 1은 본 개시의 일 실시 예에 따른 로봇 시스템(100)의 개략적인 블록도이다. 로봇 시스템(100)은 로봇 암(110), 로봇 제어기(120), 티치 펜던트(130), 대상 기계(140) 및 주변 기기(150)를 포함할 수 있다. 로봇 암(robot arm)(110)은, 공작 기계 보조 작업, 사출기 보조 작업, 프레스 보조 작업, 픽 엔드 플레이스(pick and place) 작업, 나사 조립 작업, 일반 조립 작업, 용접 작업, 본딩(bonding) 작업, 비전(vision) 검사 작업 또는 분류 작업 등을 포함하는 다양한 작업을 수행할 수 있는 하나 이상의 관절 부분을 포함하는 다관절 로봇 암일 수 있으나, 로봇 암(110)의 구성은 이에 한정되지는 않는다. 로봇 제어기(120)는 로봇 암(110)의 동작을 제어하도록 구성될 수 있으며, 임의의 유선 또는 무선 인터페이스를 통해 로봇 암(110)과 통신할 수 있다.
일 실시 예에서, 로봇 제어기(120)는 임의의 유선 또는 무선 인터페이스를 통해 로봇 동작의 대상 기계(140) 또는 주변 기기(150)와 통신할 수 있다. 대상 기계(140)는 공작 기계, 사출기, 프레스 등 중의 하나 이상을 포함할 수 있고, 주변 기기(150)는 작업 트레이(예를 들어, 팔레트), 컨베이어 등 중의 하나 이상을 포함할 수 있다. 티치 펜던트(130)는 로봇 암(110)의 동작을 제어하기 위한 사용자 인터페이스를 포함하는 입출력 장치로서, 임의의 유선 또는 무선 인터페이스를 통해 로봇 제어기(120)와 통신할 수 있다. 티치 펜던트(130)는 입력 장치로서 키보드, 터치 스크린 등을 포함할 수 있으며, 출력 장치로서 디스플레이 등을 포함할 수 있다. 도 1에서 로봇 암(110)과 로봇 제어기(120)는 별개의 구성요소 또는 장치로서 도시되어 있으나, 로봇 암(110)과 로봇 제어기(120)는 하나의 장치로 결합될 수도 있다. 본 명세서에서, 로봇 제어기(120), 티치 펜던트(130) 또는 로봇 제어기(120)와 티치 펜던트(130)의 조합은, 포괄적으로 로봇 제어 장치로 불릴 수 있다.
도 2는 본 개시의 일 실시 예에 따른 로봇 암(110)의 개략적인 구성을 보여주는 사시도이다. 도시된 바와 같이, 로봇 암(110)은 복수의 관절 부분(210, 220, 230)을 포함할 수 있으며, 로봇 암(110)의 말단에는 엔드 이펙터(end effector)(200)가 부착될 수 있다. 도 2에는 엔드 이펙터(200)가 그리퍼(gripper)인 것으로 도시되어 있으나, 로봇 암(110)이 실행할 작업 유형에 따라 엔드 이펙터(200)는 그리퍼 뿐만 아니라, 용접 토치, 스프레이건, 너트 러너 등을 포함할 수 있다. 로봇 암(110)은 로봇 암(110)의 동작을 제어하도록 구성될 수 있는 로봇 제어기(120)와 통신할 수 있다. 도 2에는 로봇 암(110)이 로봇 제어기(120)와 유선 통신을 위한 케이블(240)로 연결된 것으로 도시되어 있으나, 로봇 암(110)과 로봇 제어기(120)는 임의의 유선 및/또는 무선 인터페이스를 통해 통신 가능하도록 연결될 수 있다. 또한, 도 2에서 로봇 암(110)과 로봇 제어기(120)는 별개의 장치로 도시되어 있으나 로봇 암(110)과 로봇 제어기(120)는 하나의 장치로 결합될 수도 있다. 로봇 제어기(120)는 임의의 유선 또는 무선 인터페이스를 통해 사용자 인터페이스를 포함하는 티치 펜던트(130)와 통신할 수 있다. 예를 들어, 사용자가 티치 펜던트(130)에서 로봇 암(110)을 제어하기 위한 명령을 입력하면, 이러한 제어 명령에 따라 로봇 제어기(120)는 로봇 암(110)을 제어할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 로봇 제어기(120)의 개략적인 블록도이다. 로봇 제어기(120)는 작업 환경 측정부(300), 작업 정보 수신부(310) 및 작업 관리부(320)를 포함할 수 있다. 또한, 로봇 제어기(120)는 통신 인터페이스부(330)를 포함할 수 있다. 예를 들어, 로봇 제어기(120)가 로봇 동작의 대상 기계(140)인 공작 기계와 통신하는 경우, 통신 인터페이스부(330)는 a) 공작 기계의 정상 작동 여부에 대한 확인 요청을 공작 기계로 전송하고, 이에 대한 응답을 공작 기계로부터 수신할 수 있고, b) 공작 기계로 가공 개시 명령을 전송하고, 이에 대한 응답을 공작 기계로부터 수신할 수 있으며, c) 공작 기계로 척(chuck) 열림 명령을 전송하고, 이에 대한 응답을 공작 기계로부터 수신할 수 있고, d) 공작 기계로 척 닫힘 명령을 전송하고, 이에 대한 응답을 공작 기계로부터 수신할 수 있다.
작업 환경 측정부(300)는 로봇 암(110)을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하도록 구성될 수 있다. 예를 들어, 로봇 동작이 수행되는 작업 환경에 관한 정보는 대상 기계(140)의 위치에 관한 정보(예를 들어, 공작 기계의 척의 좌표계에 관한 정보 또는 공작 기계의 도어의 위치에 관한 정보), 대상 기계(140)에 의해 가공되는 소재가 배치되는 작업 트레이의 위치에 관한 정보, 로봇 동작의 수행을 위한 로봇(예를 들어, 도 2의 로봇 암(110))의 초기 또는 경유 위치에 관한 정보 등을 포함할 수 있다. 일 실시예에서, 로봇 암(110)의 초기 위치에 관한 작업 환경 정보를 측정하는 경우, 작업 환경 측정부(300)는 이동할 초기 위치에 로봇 암(110)을 위치시킨 후 그때의 로봇 암(110)의 공간 좌표를 저장함으로써 로봇 암(110)의 초기 위치에 관한 작업 환경 정보를 측정할 수 있다. 유사하게, 로봇 암(110)이 이동할 경로 상의 경유 지점에 관한 작업 환경 정보를 측정하는 경우, 작업 환경 측정부(300)는 목표하는 경유 지점에 로봇 암(110)을 위치시킨 후 그때의 로봇 암(110)의 공간 좌표를 저장함으로써 로봇 암(110)의 경유 지점에 관한 작업 환경 정보를 측정할 수 있다.
작업 정보 수신부(310)는 로봇 암(110)을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 수신하도록 구성될 수 있다. 예를 들어, 로봇 동작에 관한 작업 정보는, 작업 트레이 상의 소재를 픽업(pick up)하는 것과 관련된 정보, 소재를 공작 기계의 척에 로딩(loading)하는 것과 관련된 정보, 공작 기계에 의해 가공된 소재의 가공품을 공작 기계의 척으로부터 언로딩(unloading)하는 것과 관련된 정보, 가공품을 작업 트레이 상에 놓는 것과 관련된 정보 또는 소재의 가공품에 존재하는 불순물을 제거하기 위해 블로잉(blowing) 작업을 수행하는 것과 관련된 정보 등을 포함할 수 있다.
일 실시예에서, 로봇 동작에 관한 작업 정보는 어프로칭(approaching), 리트랙팅(retracting), 피킹(picking), 플레이싱(placing) 등과 같은 로봇 동작의 특성을 지정 또는 표시하기 위한 정보일 수 있다. 이러한 로봇 동작에 관한 작업 정보는 로봇의 동작 방식 또는 동작 메커니즘을 제어하기 위해 참조되거나 사용될 수 있다. 일 실시예로서, 로봇 동작에 관한 작업 정보가 어프로칭인 경우, 로봇(예를 들어, 도 2의 로봇 암(110))은 빠르고 정밀하게 목표 지점으로 이동하기 위해, 초기의 제1 지점부터 중간의 제2 지점까지는 로봇이 가장 빠르게 이동할 수 있는 급속 이동 방식(또는 고속 이동 방식)으로 이동하고 제2 지점부터 최종의 제3 지점까지는 정밀하게 이동할 수 있는 정밀 이동 방식으로 이동하도록 제어될 수 있다.
다른 실시예로서, 로봇 동작에 관한 작업 정보가 리트랙팅인 경우, 로봇은 안전하면서도 빠르게 해당 위치를 벗어나기 위해, 초기의 제1 지점부터 중간의 제2 지점까지는 경로를 이탈함이 없이 정확히 빠져나가도록 정밀 이동 방식으로 이동하고, 중간의 제2 지점부터 최종의 제3 지점까지는 빠르게 위치를 벗어나도록 급속 이동 방식으로 이동하도록 제어될 수 있다. 또 다른 실시예로서, 로봇 동작에 관한 작업 정보가 피킹인 경우, 로봇은 특정 위치의 대상물을 픽업하는 데 적합하도록, 초기의 제1 지점부터 대상물이 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 대상물을 픽업하고, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다. 또 다른 실시예로서, 로봇 동작에 관한 작업 정보가 플레이싱인 경우, 로봇은 대상물을 특정 위치에 위치시키는 데 적합하도록, 초기의 제1 지점부터 대상물이 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 픽업하고 있던 대상물을 내려놓은 후, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다.
작업 관리부(320)는 워크플로우 생성부(340), 로봇 동작 제어부(350) 및 데이터 저장부(360)를 포함할 수 있다. 워크플로우 생성부(340)는 로봇 암(110)에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하고, 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 로봇 동작의 워크플로우를 생성하도록 구성될 수 있다. 예를 들어, 작업 유형이 공작 기계 보조 작업인 경우, 로봇 동작의 워크플로우는 a) 초기 위치에 위치하는 동작 단계, b) 공작 기계 룸의 도어를 여는 동작 단계, c) 작업 트레이(예를 들어, 팔레트)에서 소재를 픽업하는 동작 단계, d) 공작 기계 룸의 도어를 지나 공작 기계 룸으로 진입하는 동작 단계, e) 공작 기계 룸 내 공작 기계의 특정 위치에 픽업한 소재를 위치시키는 동작 단계, f) 공작 기계에 의해 소재가 가공되는 것을 기다려 소재를 회수하는 동작 단계들로 구성될 수 있다. 한편 이는 예시적인 것으로서, 그 외에도 워크플로우 생성부(340)는 사출기 보조작업, 프레스 보조작업, 나사 조립 작업, 일반 조립 작업, 용접 작업, 본딩 작업, 비전 검사 작업, 분류 작업 등 수신된 작업 유형에 따라, 해당 작업에 적합한 동작 단계들로 구성된 상이한 워크플로우를 생성할 수 있다.
로봇 동작 제어부(350)는 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보 등에 기초하여 로봇 암(110)을 제어하여, 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 암(110)이 로봇 동작을 수행하도록 구성될 수 있다. 일 실시예에서, 로봇 동작 제어부(350)는 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보 등에 기초하여 로봇 동작의 작업 유형 및 워크플로우에 따라 데이터 저장부(360)에 저장된 작업 프로그램 중 적합한 작업 프로그램을 선택하고, 선택된 작업 프로그램을 실행하여 로봇 암(110)을 제어할 수 있다.
다른 실시예에서, 로봇 동작 제어부(350)는 측정된 작업 환경에 관한 정보, 수신된 로봇 동작에 관한 작업 정보, 로봇 동작의 작업 유형 및 워크플로우 등에 기초하여, 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 작업 프로그램 생성부(미도시)를 포함할 수 있다. 이 경우, 로봇 동작 제어부(350)는 작업 프로그램 생성부에서 생성된 작업 프로그램을 실행하여 로봇 암(110)의 동작을 제어할 수 있다.
작업 프로그램 생성부는 측정된 작업 환경에 관한 정보, 수신된 로봇 동작에 관한 작업 정보, 로봇 동작의 작업 유형 및 워크플로우 등에 기초하여, 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성하도록 구성될 수 있다. 일 실시예에서, 적어도 하나의 제1 레벨의 명령어는, 어프로칭(approaching) 명령어, 리트랙팅(retracting) 명령어, 피킹(picking) 명령어 또는 플레이싱(placing) 명령어 중 적어도 하나를 포함하는 상위 레벨의 명령어일 수 있다. 예를 들어, 어프로칭 명령어는 로봇(예를 들어, 도 2의 로봇 암(110))이 특정 위치에 효과적으로 접근하기 위한 상위 레벨의 명령어일 수 있고, 리트랙팅 명령어는 로봇이 특정 위치에서 효과적으로 벗어나기 위한 상위 레벨의 명령어일 수 있으며, 피킹 명령어는 로봇이 특정 위치의 대상물을 잡기 위한 상위 레벨의 명령어일 수 있고, 플레이싱 명령어는 로봇이 특정 위치에 대상물을 위치시키기 위한 상위 레벨의 명령어일 수 있다.
일 실시예에서, 어프로칭 명령어, 리트랙팅 명령어, 피킹 명령어 및 플레이싱 명령어의 각각은, 로봇의 어프로칭, 리트랙팅, 피킹 및 플레이싱 작업 정보에 대응될 수 있다. 예를 들어, 수신된 로봇 동작에 관한 작업 정보가 어프로칭과 관련되는 경우, 작업 프로그램 생성부는 이러한 작업 정보에 대응하여 어프로칭 명령어를 생성할 수 있다. 유사하게, 수신된 로봇 동작에 관한 작업 정보가 리트랙팅, 피킹 또는 플레이싱과 관련되는 경우, 작업 프로그램 생성부는 이러한 작업 정보에 대응하여 리트랙팅 명령어, 피킹 명령어 또는 플레이싱 명령어를 생성할 수 있다.
작업 프로그램 생성부는 적어도 하나의 제1 레벨의 명령어에 기초하여, 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성하도록 구성될 수 있다. 복수의 제2 레벨의 명령어들은, 엔드 이펙터의 제어 명령어, 대상 기계(예를 들어, 공작 기계)의 제어 명령어, 주변 기기(예를 들어, 작업 트레이 또는 컨베이어)의 제어 명령어, 급속 이동 명령어(또는 고속 이동 명령어), 정밀 이동 명령어, 정속 이동 명령어, 반복 명령어, 조건 판단 명령어, 대기 명령어 중 적어도 두 개를 포함하는 하위 레벨의 명령어들일 수 있다. 예를 들어, 로봇 동작의 작업 유형이 공작 기계 보조 작업인 경우 엔드 이펙터의 제어 명령어는 그리퍼 제어 명령어인 그리퍼 열림 명령어 또는 그리퍼 닫힘 명령어를 포함할 수 있고, 대상 기계(예를 들어, 공작 기계)의 제어 명령어는 척 열림 명령어 또는 척 닫힘 명령어를 포함할 수 있다.
일 실시예에서, 제1 레벨의 명령어는 적어도 두 개 이상의 제2 레벨의 명령어들의 조합을 포함할 수 있다. 예를 들어, 제1 레벨의 명령어인 어프로칭 명령어는 제2 레벨의 명령어인 급속 이동 명령어와 정밀 이동 명령어의 조합으로 구성될 수 있다. 유사하게 제1 레벨의 명령어인 리트랙팅 명령어도 제2 레벨의 명령어인 급속 이동 명령어와 정밀 이동 명령어의 조합으로 구성될 수 있다. 또한, 제1 레벨의 명령어인 피킹 명령어는 제2 레벨의 명령어인 급속 이동 명령어, 정밀 이동 명령어 또는 그리퍼 제어 명령어의 조합으로 구성될 수 있다. 유사하게, 제1 레벨의 명령어인 플레이싱 명령어도 제2 레벨의 명령어인 급속 이동 명령어, 정밀 이동 명령어 또는 그리퍼 제어 명령어의 조합으로 구성될 수 있다.
작업 프로그램 생성부는 복수의 제2 레벨의 명령어들에 기초하여, 로봇 동작을 위한 작업 프로그램을 생성하도록 구성될 수 있다. 일 실시예에서, 작업 프로그램 생성부는 복수의 제2 레벨의 명령어들에 기초하여, 더 하위 레벨의 명령어들인 복수의 제3 레벨의 명령어들을 생성하도록 구성될 수 있다. 이 경우, 작업 프로그램 생성부는 복수의 제3 레벨의 명령어들에 기초하여, 로봇 동작을 위한 작업 프로그램을 생성하도록 구성될 수 있다.
데이터 저장부(360)는 로봇 동작의 작업 유형, 각각의 작업 유형별 로봇 동작의 워크플로우, 로봇 동작이 수행되는 작업 환경에 관한 정보, 로봇 동작에 관한 작업 정보 등을 저장할 수 있다. 또한, 데이터 저장부(360)는 각각의 작업 유형에 따라 로봇 동작 제어부(350)에서 실행될 수 있는 작업 프로그램 등을 저장할 수 있다.
도 4는 본 개시의 일 실시예에 따른 로봇 동작의 작업 유형에 관한 정보에 기초하여 생성된 로봇 동작의 워크플로우를 보여주는 도면이다. 로봇 제어 장치(예를 들어, 도 3의 워크플로우 생성부(340))는 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 로봇 동작의 워크플로우를 생성할 수 있다. 예를 들어, 작업 유형이 싱글 그리퍼를 이용한 공작 기계 보조 작업인 경우, 도 4에 도시된 것과 같은 워크플로우를 생성할 수 있다. 도 4를 참조하면, 싱글 그리퍼를 이용한 공작 기계 보조 작업의 워크플로우는 초기 위치에 로봇 암(110)을 위치시키는 동작 단계(단계 410), 공작 기계의 도어를 여는 동작 단계(단계 420), 작업 트레이의 소재를 공작 기계로 로딩시키는 동작 단계(단계 430), 공작 기계의 도어를 닫는 동작 단계(단계 440), 초기 위치에 로봇 암(110)을 위치시키는 동작 단계(단계 450), 공작 기계의 가공 사이클 동안 대기하는 동작 단계(단계 460), 공작 기계의 도어를 여는 동작 단계(단계 470), 소재의 가공품을 언로딩하는 동작 단계(단계 480) 등을 포함할 수 있다. 소재의 가공품을 언로딩한 후에는 다음 소재를 공장 기계로 로딩할 수 있다. 즉, 작업 트레이의 소재를 공작 기계로 로딩시키는 동작 단계(단계 430)부터 소재의 가공품을 언로딩하는 동작 단계(단계 480)는 작업 트레이에 구비되어 있는 소재의 수량만큼 반복하여 수행할 수 있다. 마찬가지로 작업 유형이 듀얼 그리퍼를 이용한 공작 기계 보조 작업인 경우에도 이에 따른 워크플로우를 생성할 수 있으며, 다른 작업 유형들에 대해서도 워크플로우가 생성될 수 있다.
전술한 워크플로우 생성 시에 각 동작 단계를 수행하기 위한 공작 기계(510)와 관련된 로봇의 작업 환경을 교시해 줄 필요가 있다. 일 예로서 초기 위치에 로봇 암(110)을 위치시키는 동작 단계(단계 410)에서는 초기 위치의 좌표를 교시해 주어야 하고, 공작 기계(510)의 도어를 여는 동작 단계(단계 420)에서는 도어 핸들의 위치를 교시해 줄 필요가 있다. 또한 작업 트레이의 소재를 공작 기계로 로딩시키는 동작 단계(단계 430) 및 소재의 가공품을 언로딩하는 동작 단계(단계 480)를 위해서는 픽업할 소재의 위치, 소재를 로딩시킬 척의 위치, 소재의 가공품을 언로딩할 트레이의 위치 등을 교시해 줄 필요가 있다. 이러한 로봇의 작업 환경에 관한 교시는 로봇을 직접 움직여서 위치를 알려주는 직접 교시에 의하여서도 가능하고 좌표를 입력하여 주는 간접 교시에 의하여서도 가능할 수 있다.
도 5는 본 개시의 일 실 예에 따른 공작 기계(510)의 척(520)과 관련된 로봇의 작업 환경 측정 및 교시 방법을 보여주는 사시도이다. 도 5를 참조하면, 로봇 암(110)의 엔드 이펙터(200)는 로봇의 작업 환경 중의 하나인 공작 기계(510)의 척(520)의 좌표에 관한 정보를 교시받고 측정하기 위해 접촉 측정 장치(500)를 잡고 있을 수 있다.
일 실시 예로서 로봇 제어 장치(예를 들어, 도 3의 작업 환경 측정부(300))는 접촉 측정 장치(500)로 공작 기계(510)의 척(520)과 관련된 하나 이상의 지점을 접촉하도록 로봇 암(110)을 제어함으로써, 공작 기계(510)의 척(520)의 좌표계에 관한 정보를 측정할 수 있다. 이때, 로봇 제어 장치는 특정 시점에 접촉 측정 장치(500)가 위치하는 지점의 공간 좌표를 저장함으로써 공작 기계(510)의 척(520)의 좌표에 관한 정보를 측정할 수 있다.
또 다른 일 실시 예로서 작업자의 직접적인 로봇 이동을 바탕으로 교시하는 직접 교시를 통해 접촉 측정 장치(500)가 공작 기계(510)의 척(520)과 관련된 하나 이상의 지점에 접촉되도록 로봇 암(110)이 조작되는 동안, 로봇 제어 장치는 공작 기계(510)의 척(520)의 좌표에 관한 정보를 측정할 수 있다.
또 다른 일 실시 예로서, 로봇 제어 장치는 접촉 측정 장치(500) 대신 카메라 또는 레이저 빔 측정기 등의 비접촉 측정 장치를 이용하여 공작 기계(510)의 척(520)의 좌표에 관한 정보를 측정할 수 있다.
도 5에는 공작 기계(510)와 관련된 로봇의 작업 환경 측정 방법이 도시되어 있으나, 로봇 제어 장치는 사출기, 프레스 등 로봇 동작의 다른 대상 기계들과 관련된 로봇의 작업 환경도 유사한 방법으로 측정할 수 있다.
도 6은 본 개시의 다른 실시 예에 따른 공작 기계(510)의 도어와 관련된 로봇의 작업 환경 측정 및 교시 방법을 보여주는 사시도이다. 도 6을 참조하면, 로봇 암(110)의 엔드 이펙터(200)는 로봇의 작업 환경 중의 하나인 공작 기계(510)의 도어(600)의 위치에 관한 정보를 측정하기 위해 도어(600)의 핸들(610) 근처에 위치할 수 있다. 이때, 로봇 암(110)의 엔드 이펙터(200)가 도어(600)의 핸들(610)을 밀어서 도어(600)를 열고 닫을 수 있도록, 로봇 암(110)의 엔드 이펙터(200)의 방향은 도어(600)의 핸들(610)의 방향에 맞추어 자동으로 정렬될 수 있다.
일 실시 예로서 로봇 제어 장치(예를 들어, 도 3의 작업 환경 측정부(300))는 로봇 암(110)의 엔드 이펙터(200)가 도어(600)의 핸들(610)을 밀어서 도어(600)를 열고 닫도록 로봇 암(110)을 제어함으로써, 공작 기계(510)의 도어(600)의 위치에 관한 정보를 측정할 수 있다. 이때, 로봇 제어 장치는 로봇 암(110)이 도어(600)를 여는 열림 동작의 시작, 로봇 암(110)이 도어(600)를 여는 열림 동작의 종료, 로봇 암(110)이 도어(600)를 닫는 닫힘 동작의 시작, 로봇 암(110)이 도어(600)를 닫는 닫힘 동작의 종료 등 특정 시점에 로봇 암(110)이 위치하는 공간 좌표를 저장함으로써 공작 기계(510)의 도어(600)의 위치에 관한 정보를 측정할 수 있다.
또 다른 일 실시 예로서, 작업자의 직접 교시를 통해 로봇 암(110)의 엔드 이펙터(200)가 도어(600)의 핸들(610)을 밀어서 도어(600)를 열고 닫도록 조작되는 동안, 로봇 제어 장치는 공작 기계(510)의 도어(600)의 위치에 관한 정보를 측정할 수 있다. 도 6에는 공작 기계(510)의 도어(600)와 관련된 로봇의 작업 환경 측정 방법이 도시되어 있으나, 로봇 제어 장치는 사출기, 프레스 등 로봇 동작의 다른 대상 기계들의 도어 또는 다른 개폐장치와 관련된 로봇의 작업 환경도 유사한 방법으로 측정할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 작업 트레이(700)와 관련된 로봇의 작업 환경 측정 및 교시 방법을 보여주는 사시도이다. 도 7을 참조하면, 로봇 암(110)의 엔드 이펙터(200)는 로봇의 작업 환경 중의 하나인 소재(710)가 배치되는 작업 트레이(700)의 위치에 관한 정보를 측정하기 위해 접촉 측정 장치(500)를 잡고 있을 수 있다.
일 실시 예로서 로봇 제어 장치(예를 들어, 도 3의 작업 환경 측정부(300))는 접촉 측정 장치(500)로 작업 트레이(700)의 하나 이상의 지점(예를 들어, 작업 트레이(700)의 모서리 지점)을 접촉하도록 로봇 암(110)을 제어함으로써, 작업 트레이(700)의 위치에 관한 정보를 측정할 수 있다. 이때, 로봇 제어 장치는 특정 시점에 접촉 측정 장치(500)가 위치하는 지점의 공간 좌표를 저장함으로써 작업 트레이(700)의 위치에 관한 정보를 측정할 수 있다.
또 다른 일 실시 예로서, 작업자의 직접 교시를 통해 접촉 측정 장치(500)가 작업 트레이(700)의 하나 이상의 지점에 접촉되도록 로봇 암(110)이 조작되는 동안, 로봇 제어 장치는 작업 트레이(700)의 위치에 관한 정보를 측정할 수 있다. 다른 실시예에서, 로봇 제어 장치는 접촉 측정 장치(500) 대신 카메라 또는 레이저 빔 측정기 등의 비접촉 측정 장치를 이용하여 작업 트레이(700)의 위치에 관한 정보를 측정할 수 있다. 도 7에는 작업 트레이(700)와 관련된 로봇의 작업 환경 측정 방법이 도시되어 있으나, 로봇 제어 장치는 컨베이어 등 로봇 동작의 다른 주변 기기와 관련된 로봇의 작업 환경도 유사한 방법으로 측정할 수 있다.
도 8은 본 개시의 일 실시예에 따른 작업 트레이(700)와 관련된 로봇의 동작에 관한 작업 정보의 수신 방법을 보여주는 사시도이다. 도 8을 참조하면, 로봇 암(110)의 엔드 이펙터(200)는 로봇의 동작에 관한 작업 정보(예를 들어, 작업 트레이(700) 상의 소재(710)를 픽업하는 동작과 관련된 정보)를 수신하기 위해 작업 트레이(700)의 소재(710) 근처에 위치할 수 있다. 이때, 로봇 암(110)의 엔드 이펙터(200)가 작업 트레이(700)의 소재(710)를 픽업할 수 있도록, 로봇 암(110)의 엔드 이펙터(200)의 방향은 작업 트레이(700)의 방향에 맞추어 자동으로 정렬될 수 있다.
로봇 제어 장치(예를 들어, 도 3의 작업 정보 수신부(310))는 로봇 암(110)의 엔드 이펙터(200)가 작업 트레이(700)의 소재(710)를 픽업하도록 제어함으로써, 작업 트레이(700) 상의 소재(710)를 픽업하는 동작과 관련된 작업 정보를 수신할 수 있다. 로봇 제어 장치는 이러한 픽업 과정의 특정 시점들에 있어서 로봇 암(110)이 위치하는 지점의 공간 좌표를 저장함으로써 작업 트레이(700) 상의 소재(710)를 픽업하는 동작과 관련된 작업 정보를 수신할 수 있다. 일 실시예에서, 작업자의 직접 교시를 통해 로봇 암(110)의 엔드 이펙터(200)가 소재(710)를 픽업하도록 조작되는 동안, 로봇 제어 장치는 작업 트레이(700) 상의 소재(710)를 픽업하는 동작과 관련된 작업 정보를 수신할 수 있다. 도 8에는 작업 트레이(700)와 관련된 로봇의 동작에 관한 작업 정보의 수신 방법이 도시되어 있으나, 로봇 제어 장치는 컨베이어 등 로봇 동작의 다른 주변 기기와 관련된 로봇의 작업 정보도 유사한 방법으로 수신할 수 있다.
일 실시예에서, 작업 트레이(700) 상의 소재(710)를 픽업하는 동작과 관련된 작업 정보는, 특정 위치의 대상물을 픽업하기 위한 작업 정보인 피킹에 대응될 수 있다. 이 경우, 작업 트레이(700) 상의 소재(710)를 픽업하는 동작과 관련된 작업 정보에 기초하여, 로봇 암(110)은 초기의 제1 지점(예를 들어, 로봇 암(110)의 초기 위치)부터 작업 트레이(700) 상의 소재(710)가 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 소재(710)를 픽업하고, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다.
도 9는 본 개시의 일 실시예에 따른 공작 기계(510)와 관련된 로봇의 동작에 관한 작업 정보의 수신 방법을 보여주는 사시도이다. 도 9를 참조하면, 소재(710)를 잡고 있는 로봇 암(110)의 엔드 이펙터(200)는 로봇의 동작에 관한 작업 정보(예를 들어, 소재(710)를 공작 기계(510)의 척(520)에 로딩하는 동작과 관련된 정보)를 수신하기 위해 공작 기계(510)의 척(520) 근처에 위치할 수 있다. 이때, 로봇 암(110)의 엔드 이펙터(200)가 소재(710)를 공작 기계(510)의 척(520)에 로딩할 수 있도록, 로봇 암(110)의 엔드 이펙터(200)의 방향은 공작 기계(510)의 척(520)의 방향에 맞추어 자동으로 정렬될 수 있다.
로봇 제어 장치(예를 들어, 도 3의 작업 정보 수신부(310))는 로봇 암(110)의 엔드 이펙터(200)가 소재(710)를 공작 기계(510)의 척(520)에 로딩하도록 제어함으로써, 소재(710)를 공작 기계(510)의 척(520)에 로딩하는 동작과 관련된 작업 정보를 수신할 수 있다. 로봇 제어 장치는 이러한 로딩 과정의 특정 시점들에 있어서 로봇 암(110)이 위치하는 지점의 공간 좌표를 저장함으로써 소재(710)를 공작 기계(510)의 척(520)에 로딩하는 동작과 관련된 작업 정보를 수신할 수 있다.
일 실시예에서, 작업자의 직접 교시를 통해 로봇 암(110)의 엔드 이펙터(200)가 소재(710)를 공작 기계(510)의 척(520)에 로딩하도록 조작되는 동안, 로봇 제어 장치는 소재(710)를 공작 기계(510)의 척(520)에 로딩하는 동작과 관련된 작업 정보를 수신할 수 있다. 도 9에는 공작 기계(510)의 척(520)과 관련된 로봇의 동작에 관한 작업 정보의 수신 방법이 도시되어 있으나, 로봇 제어 장치는 사출기, 프레스 등 로봇 동작의 다른 대상 기계들과 관련된 로봇의 작업 정보도 유사한 방법으로 수신할 수 있다.
일 실시예에서, 소재(710)를 공작 기계(510)의 척(520)에 로딩하는 것과 관련된 작업 정보는, 대상물을 특정 위치에 위치시키기 위한 작업 정보인 플레이싱에 대응될 수 있다. 이 경우, 소재(710)를 공작 기계(510)의 척(520)에 로딩하는 동작과 관련된 작업 정보에 기초하여, 로봇 암(110)은 초기의 제1 지점(예를 들어, 로봇 암(110)의 초기 위치)부터 공작 기계(510)의 척(520)이 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 픽업하고 있던 소재(710)를 내려놓은 후, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다.
소재(710)를 공작 기계(510)의 척(520)에 로딩하는 동작과 관련된 작업 정보를 수신하는 방법과 유사하게, 로봇 제어 장치는 소재(710)가 공작 기계(510)에 의해 가공된 후 가공품을 공작 기계(510)의 척(520)으로부터 언로딩하는 동작과 관련된 작업 정보도 수신할 수 있다. 일 실시예에서, 가공품을 공작 기계(510)의 척(520)으로부터 언로딩하는 동작과 관련된 작업 정보는, 특정 위치의 대상물을 픽업하기 위한 작업 정보인 피킹에 대응될 수 있다. 이 경우, 가공품을 공작 기계(510)의 척(520)으로부터 언로딩하는 동작과 관련된 작업 정보에 기초하여, 로봇 암(110)은 초기의 제1 지점부터 공작 기계(510)의 척(520)이 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 가공품을 픽업하고, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다.
도 10은 본 개시의 다른 실시예에 따른 작업 트레이(700)와 관련된 로봇의 동작에 관한 작업 정보의 수신 방법을 보여주는 사시도이다. 도 10을 참조하면, 가공품(1000)을 잡고 있는 로봇 암(110)의 엔드 이펙터(200)는 로봇의 동작에 관한 작업 정보(예를 들어, 공작 기계(510)에 의해 가공된 가공품(1000)을 작업 트레이(700) 상에 내려 놓는 동작과 관련된 작업 정보)를 수신하기 위해 작업 트레이(700)의 근처에 위치할 수 있다. 이때, 로봇 암(110)의 엔드 이펙터(200)가 가공품(1000)을 작업 트레이(700) 상에 내려 놓을 수 있도록, 로봇 암(110)의 엔드 이펙터(200)의 방향은 작업 트레이(700)의 방향에 맞추어 자동으로 정렬될 수 있다.
로봇 제어 장치(예를 들어, 도 3의 작업 정보 수신부(310))는 로봇 암(110)의 엔드 이펙터(200)가 가공품(1000)을 작업 트레이(700) 상에 내려 놓도록 제어함으로써, 가공품(1000)을 작업 트레이(700) 상에 내려 놓는 동작과 관련된 작업 정보를 수신할 수 있다. 로봇 제어 장치는 이러한 과정의 특정 시점들에 있어서 로봇 암(110)이 위치하는 지점의 공간 좌표를 저장함으로써 가공품(1000)을 작업 트레이(700) 상에 내려 놓는 동작과 관련된 작업 정보를 수신할 수 있다. 일 실시예에서, 작업자의 직접 교시를 통해 로봇 암(110)의 엔드 이펙터(200)가 가공품(1000)을 작업 트레이(700) 상에 내려 놓도록 조작되는 동안, 로봇 제어 장치는 가공품(1000)을 작업 트레이(700) 상에 내려놓는 동작과 관련된 작업 정보를 수신할 수 있다. 도 10에는 작업 트레이(700)와 관련된 로봇의 동작에 관한 작업 정보의 수신 방법이 도시되어 있으나, 로봇 제어 장치는 컨베이어 등 로봇 동작의 다른 주변 기기와 관련된 로봇의 작업 정보도 유사한 방법으로 수신할 수 있다.
일 실시예에서, 가공품(1000)을 작업 트레이(700) 상에 내려 놓는 동작과 관련된 작업 정보는, 대상물을 특정 위치에 위치시키기 위한 작업 정보인 플레이싱에 대응될 수 있다. 이 경우, 가공품(1000)을 작업 트레이(700) 상에 내려 놓는 동작과 관련된 작업 정보에 기초하여, 로봇 암(110)은 초기의 제1 지점부터 가공품(1000)이 놓일 작업 트레이(700)의 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 픽업하고 있던 가공품(1000)을 내려놓은 후, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다.
일 실시예에서, 작업 트레이(700) 상에 가공품(1000)을 내려 놓기 전에, 가공품(1000) 표면의 불순물 등을 제거하기 위해 블로잉(blowing) 작업이 수행될 수 있다. 이 경우, 로봇 제어 장치는 로봇 암(110)을 블로잉 작업을 수행할 위치에 위치시킨 후 로봇 암(110)이 위치하는 지점의 공간 좌표를 저장함으로써, 블로잉을 수행하는 위치와 관련된 작업 정보도 수신할 수 있다.
도 5 내지 도 10을 참조하여 전술한 내용을 바탕으로 도 4에 제시된 로봇 동작의 워크플로우를 수행하기 위하여 로봇 제어 장치가 측정 또는 교시받아야 할 위치 즉 교시점의 수는 다음 표 1과 같이 요약할 수 있다.
작업 정보 필요 작업환경 정보 교시점수
소재 피킹 로딩 작업 트레이 위치 3
로딩 작업 트레이 수직방향
i번째 소재 위치 n
공작 기계 도어열기/닫기 핸들 시작 위치 1
핸들 종료 위치 1
공작 기계로 로딩 에어블로잉 위치 1
척 수직 방향 4
소재 장착 위치 1
소재 가공품 탈착 에어블로잉 위치 1
척수직 방향 0
가공물 탈착 위치 1
외부 에어블로잉 에어블로잉 위치 1
측정 검사위치 1
소재 가공품 언로딩 언로딩 작업 트레이 위치 3
언로딩 작업 트레이 수직 방향
i번째 소재 위치 n
초기 위치 초기 위치 정보 1
총 교시점 수 19+2n
표 1을 참조하면, 로봇이 공작 기계(510)에 소재를 로딩하기 위하여 작업 트레이로부터 소재를 피킹하기 위해서는 로딩 작업 트레이 위치 및 수직방향을 지정하기 위한 3개의 교시점(좌표)가 필요하고, 또한 로딩 작업 트레이 내에서 소재가 위치하는 지점을 교시하기 위해 n개의 교시점이 필요하다. 그리고 공작 기계(510)의 도어를 열고 닫기 위하여서는 도어 핸들의 시작점 및 종료점에 대한 교시가 필요하다. 다만, 도어를 열 때와 닫을 때는 시작점이 종료점이 되고 종료점이 시작점이 되기 때문에 2개의 교시점만으로 가능할 수 있다. 피킹된 소재를 공작 기계(510)의 척(520)에 로딩하기 위해서는 먼지를 제거하기 위한 에어블로잉 위치, 척의 수직 방향을 나타내기 위한 4개의 교시점, 척의 위치를 나타내는 1개의 교시점이 필요할 수 있다.
그리고 공작 기계(510)가 소재를 가공한 이후 소재 가공품을 척(520)으로부터 탈착 후 언로딩 작업 트레이로 언로딩하기 위해서는 언로딩 작업 트레이 위치, 언로딩 작업 트레이 수직방향, 언로딩 작업 트레이 내에서 소재 가공품이 놓일 위치에 대한 교시점을 포함하여 8+n개의 교시점을 필요로 한다. 결론적으로 하나의 로딩 트레이에 있는 소재를 모두 가공하여 언로딩 트레이로 놓기 위하여서는 총 19+2n개의 교시점을 필요로 한다.
이렇게 많은 교시점을 로봇 제어기(120)에 알려주기 위해서는 상당한 노력과 시간을 필요로 한다. 교시점을 줄일 수 있다면 로봇의 동작을 위한 교시를 쉽고 짧은 시간 안에 할 수 있는 장점이 있게 된다..
본 발명에서는 로봇을 작업에 관련된 정보를 기초로 제어하는 방법에 더하여 로봇을 제어하기 위한 작업 정보를 최소화하는 방법을 같이 제시한다. 본 발명에 따른 방법에 의하여 교시점의 수를 줄이기 위하여 내장 작업 트레이 및 내장 그리퍼를 사용할 수 있다.
내장 작업 트레이 및 내장 그리퍼는 로봇 제어기(120)가 작업 트레이 및 그리퍼와 관련된 정보를 내장하고 있는 것을 의미한다. 즉, 로봇이 판매되어 생산될 때 이미 내장 작업 트레이 및 내장 그리퍼에 대한 정보를 로봇 제어기(120)가 내장되어 구매자에게 인도된다는 것을 의미한다.
도 11은 본 개시의 일 실시 예에 따른 내장 작업 트레이를 도시한 사시도이다.
도 11을 참조하면, 내장 작업 트레이의 경우에는 작업 트레이의 크기(x, y), 소재 또는 소재 가공품이 놓이는 위치 간의 간격(x1, y1), 기준점에서 최초 소재 또는 소재 가공품이 위치하는 곳까지의 상대적 위치(x2, y2) 등이 정해진다. 로봇은 생산시부터 전술한 작업 트레이에 대한 정보를 내장하고 있어, 기준점만 교시하면 로봇이 자동으로 소재를 픽업할 최초 위치를 설정할 수 있고, 그 다음 소재를 픽업할 위치 또한 자동으로 설정할 수 있다. 즉 1개의 교시점만으로 소재 피킹을 위한 교시 정보를 전부 제공할 수 있다. 다만, 작업 트레이의 수직방향에 대한 교시의 안정성을 위하여 기준점을 포함하는 3개의 교시점을 사용하여 기준점과 작업 트레이에 대한 수직방향을 교시할 수도 있다.
그리퍼는 로봇에 부착되는 엔드 이펙터 중의 하나로 소재 또는 소재 가공품을 잡는 기능을 수행할 수 있다. 로봇의 끝지점부터 그리퍼의 손가락과 같은 소재를 집는 장치까지의 거리가 변할 수 있다면 변할 때마다 교시를 새로 하여야 한다. 그래서 비록 모양은 다를 수 있더라도 상기 거리를 일정하게 유지한다면 그리퍼를 변경할 때마다 매선 새로운 교시를 할 필요가 없게 된다. 이에 더하여 소재가 척(520)의 수직방향으로 들어가서 로딩이 될 수 있도록 하기 위하여서는 그리퍼가 로봇에 부착되는 각도 정보도 필요하다. 각도 정보가 없으면 척의 수직방향을 인지하기 위하여 많은 교시점을 필요로 할 수 있다. 그러므로 형상, 그리퍼가 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양을 로봇 제어기(120)가 내장하고 사용한다면 교시점의 수를 줄일 수 있다.
다음 표 2는 내장 작업 트레이 및 내장 그리퍼를 사용한 경우의 교시점 수를 보여주는 도표이다.
작업 정보 필요 작업환경 정보 교시점수
소재 피킹 로딩 작업 트레이 위치 1(3)
로딩 작업 트레이 수직방향
i번째 소재 위치
공작 기계 도어열기/닫기 핸들 시작 위치 1
핸들 종료 위치 1
공작 기계로 로딩 에어블로잉 위치 1
척 수직 방향 1
소재 장착 위치
소재 가공품 탈착 에어블로잉 위치 1
척수직 방향 0
가공물 탈착 위치 1
외부 에어블로잉 에어블로잉 위치 1
측정 검사위치 1
소재 가공품 언로딩 언로딩 작업 트레이 위치 1(3)
언로딩 작업 트레이 수직 방향
i번째 소재 위치
초기 위치 초기 위치 정보 1
총 교시점 수 11(15)
표 1과 2를 비교하면 작업 트레이와 관련된 소재 픽업 및 소재 가공품 언로딩에 필요한 작업환경 정보를 내장 작업 트레이를 사용함으로써 많이 줄일 수 있고, 내장 그리퍼를 사용함으로써 공작 기계로 소재를 로딩 시에 필요한 교시점의 수를 줄일 수 있다. 결론적으로 전술한 예에서 내장 작업 트레이 및 내장 그리퍼를 사용함으로써 총 교시점의 수를 19+2n 개에서 11개 또는 15개로 크게 줄일 수 있다.
도 12는 본 개시의 일 실시 예에 따른 로봇의 작업 환경을 측정하는 경우의 티치 펜던트(130)의 디스플레이 화면(1100)을 보여주는 도면이다. 도 12를 참조하면, 로봇의 작업 환경 측정을 위해, 티치 펜던트(130)의 디스플레이 화면(1100)에 "공작 기계 척의 좌표계를 입력하세요", "공작 기계 도어 위치를 입력하세요", "소재 팔레트 좌표계를 입력하세요", "로봇 초기 위치를 입력하세요" 등의 메시지가 출력될 수 있다. 일 실시예에서, "공작 기계 척의 좌표계를 입력하세요" 메시지를 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 공작 기계(510)의 척(520)의 좌표계에 관한 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다.
일 실시예에서, "공작 기계 도어 위치를 입력하세요" 메시지를 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 공작 기계(510)의 도어(600)의 열림 동작의 시작 위치, 열림 동작의 종료 위치, 닫힘 동작의 시작 위치, 닫힘 동작의 종료 위치 등에 관한 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다. 예를 들어, "공작 기계 도어 위치를 입력하세요" 메시지를 선택하고 "열림 시작 위치: 현재 위치 설정" 아이콘을 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 공작 기계(510)의 도어의 열림 동작의 시작 위치에 관한 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다. 유사하게, "공작 기계 도어 위치를 입력하세요" 메시지를 선택하고 "열림 종료 위치: 현재 위치 설정", "닫힘 시작 위치: 현재 위치 설정" 또는 "닫힘 종료 위치: 현재 위치 설정" 아이콘을 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 공작 기계(510)의 도어의 열림 동작의 종료 위치, 닫힘 동작의 시작 위치 또는 닫힘 동작의 종료 위치에 관한 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다.
일 실시예에서, "소재 팔레트 좌표계를 입력하세요" 메시지를 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 작업 트레이(700)의 좌표계에 관한 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다. 일 실시예에서, "로봇 초기 위치를 입력하세요" 메시지를 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 로봇 암(110)의 초기 위치에 관한 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다.
도 13은 본 개시의 일 실시 예에 따른 로봇의 동작에 관한 작업 정보를 수신하는 경우의 티치 펜던트(130)의 디스플레이 화면(1200)을 보여주는 도면이다. 도 12를 참조하면, 로봇의 동작에 관한 작업 정보를 수신하기 위해, 티치 펜던트(130)의 디스플레이 화면(1200)에 "소재 로딩 위치를 입력하세요", "가공품 언로딩 위치를 입력하세요" 등의 메시지가 출력될 수 있다.
일 실시예에서, "소재 로딩 위치를 입력하세요" 메시지를 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 작업 트레이(700)의 소재를 픽업하는 위치 정보 또는 공작 기계(510)의 척(520)에 소재가 로딩되는 위치 정보를 수신하도록, 로봇 제어기(120)와 통신할 수 있다. 예를 들어, "소재 로딩 위치를 입력하세요" 메시지를 선택하고 "잡는 위치: 현재 위치 설정" 아이콘을 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 작업 트레이(700)의 소재를 픽업하는 위치 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다. 유사하게, "소재 로딩 위치를 입력하세요" 메시지를 선택하고 "경유 위치: 현재 위치 설정" 또는 "놓는 위치: 현재 위치 설정" 아이콘을 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 소재를 픽업한 로봇 암(110)의 경유 위치 또는 공작 기계(510)의 척(520)에 소재가 로딩되는 위치 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다.
일 실시예에서, "가공품 언로딩 위치를 입력하세요" 메시지를 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 공작 기계(510)의 척(520)에서 가공품을 픽업하는 위치 정보 또는 가공품을 작업 트레이(700)에 내려놓는 위치 정보를 수신하도록, 로봇 제어기(120)와 통신할 수 있다. 예를 들어, "가공품 언로딩 위치를 입력하세요" 메시지를 선택하고 "잡는 위치: 현재 위치 설정" 아이콘을 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 공작 기계(510)의 척(520)에서 가공품을 픽업하는 위치 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다. 유사하게, "가공품 언로딩 위치를 입력하세요" 메시지를 선택하고 "놓는 위치: 현재 위치 설정" 아이콘을 선택하면, 티치 펜던트(130)는 로봇 제어기(120)가 가공품을 작업 트레이(700)에 내려 놓는 위치 정보를 측정하도록, 로봇 제어기(120)와 통신할 수 있다.
전술한 바처럼 티치 펜던트(130)를 이용하여 로봇의 작업 환경 정보를 입력하기 위한 방법을 보여주었지만 터치스크린을 갖는 티치 펜던트(130)를 이용하여 로봇의 움직임을 제어 및 교시할 수 있다. 이 경우에 티치 펜던트(130)에 로봇을 2차원 또는 3차원으로 보여줄 수 있고, 화면터치를 이용하여 로봇의 움직임을 교시 또는 제어할 수 있다.
일 예로서 조그기능 사용자 인터페이스를 정의할 수 있다. 조그기능은 조인트 조그기능, 태스크 조그 기능으로 구성되며 태스크 조그 기능은 다시 글로벌(Global)좌표에 대한 명령과 로컬(local)좌표에 대한 명령으로 나누어질 수 있다. 또한, 로봇에 대한 티치 펜던트(130) 또는 사람의 위치를 방위각으로 환산하여 이를 이용해 실제 시뮬레이터에 대한 시야각(View angle)을 능동적으로 바꾸어 줄 수도 있다. 시야각 조정에 의하여 로봇의 어느 부분을 보고 있는 지를 조정할 수 있다. 즉 시야각을 조정함으로써 로봇의 옆 부분을 보는 것처럼 또는 정면에서 보는 것처럼 티치 펜던트(130)의 화면에 표시할 수 있다.
조인트 조그 기능을 이용한 로봇 제어의 일 구현 예를 보면 먼저 티치 펜던트(130) 화면상의 빈공간을 터치(touch)/드래그(drag)하여 시야각을 조정하여 로봇의 움직이고자 하는 관절 또는 링크를 티치 펜던트(130)의 화면에 표시할 수 있다. 그리고, 티치 펜던트(130)의 화면에서 움직이고자 하는 관절 또는 링크를 직접 선택할 수 있다. 티치 펜던트(130)는 선택된 관절 또는 링크를 액티브(active) 상태로 표시할 수 있는데 이를 위하여 로봇의 다른 부분과 색깔을 다르게 표시할 수 있다. 다음으로, 관절 또는 링크 선택시 팝업되는 액션 방향 화살표에 맞추어 선택된 관절 또는 링크가 움직여야 하는 방향으로 드래그할 수 있다. 즉, 관절이 움직이는 방향은 드래그하느 방향, 즉 드래그 시작점과 끝점을 잇는 백터(이하 드래그 백터로 칭함)에 의해 결정된다. 조그 속도는 0에서부터 슬라이드로 설정된 조그 최고속도까지 드래그 백터의 크기에 비례하여 명령이 생성될 수 있다. 조그 최고 속도는 슬라이드 바를 이용하여 세팅이 가능하다. 관절 또는 링크 선택시 해당 관절 위치에 회전을 나타내는 화살표가 팝업되어 화살표를 통해 조그 명령을 생성할 수도 있다. 디폴트 뷰(default view) 버튼을 활성화시켜 티치 펜던트(130) 또는 사람의 방위에서 로봇을 보는 형태로 로봇을 티치 펜던트(130)의 화면에 표시할 수도 있다.
태스크 조그 기능을 이용한 로봇 제어의 일 구현 예를 보면 프로젝션(projection) 화면을 이용한 직선이동을 위한 태스크 조그 기능과 회전이동을 위한 태스크 조그 기능, 아이소메트릭(isometric) 화면은 이용한 직선이동을 위한 태스크 조그 기능과 회전이동을 위한 태스트 조그 기능이 있을 수 있다.
프로젝션 화면을 이용한 직선이동을 위한 태스크 조그 기능은 기본적인 티치 펜던트(130) 화면의 구성은 로봇에 대한 xy평면, yz평면, zx평면 그리고 아이소메트릭 뷰(isometric view)로 나눌 수 있다. 필요에 따라 화면은 아이소메트릭 뷰를 디폴트 뷰 버튼을 이용해 사용자 방위에서 로봇을 보는 형태로 로봇을 화면에 표시할 수 있다. xy평면, yz평면, zx평면 로봇의 뷰는 글로벌/로컬 토글 버튼을 이용해 선택할 수 있으며 글로벌/로컬 버튼은 상호배타적으로 활성화 될 수 있다. 각 평면상에서 드래그 모션은 활성화된 좌표계상(글로벌/로컬)에서 조그 명령을 생성할 수 있다. 조그 명령의 크기는 드래그 백터의 크기(시작점에서 끝점을 있는 선분의 길이)에 비례하여 생성되며 설정된 최대 조그 속도를 넘을 수는 없다. 드래그 백터의 수평/수직축 성분을 통해 해당 조그 명령으로 환산되어 수행될 수 있고, 설정된 최대 조그 속도는 조인트 조그에서와 같이 슬라이드 바를 이용하여 재설정이 가능하다. 특정평면 상에서 명령은 해당 평면상에서의 조그 명령만을 생성한다. 예를 들어 xy평면 상에서 드래그 백터는 z방향 명령을 생성할 수 없으며 마찬가지로 yz, zx 평면에서 조그 모션은 각각 x방향, y방향으로 0이 아닌 명령을 생성할 수 없다. xy평면, yz평면, zx평면의 수평/수직축 가장자리에 데드존(deadzone)을 두어 수평축 데드존상에서의 드래그는 수직축 명령을, 수직축 데드존에서의 드래그는 수평축명령을 생성하지 못할 수 있다.
프로젝션 화면을 이용한 회전이동을 위한 태스크 조그 기능은 원하는 좌표계 (글로벌/로컬)을 토글링하여 선택하고, 조그 명령의 생성은 전술한 프로젝션 화면을 이용한 직선이동을 위한 태스크 조그와 같으나 조그명령의 환산은 조그 백터에 수직한 선분을 회전축으로 하며 회전방향은 드래그 백터의 방향과 일치하도록 할 수 있다. 회전 각속도는 드래그 백터의 크기에 비례하며 사전에 설정된 조그 최고 속도를 넘지 않는다. 조그 최고 속도는 슬라이드 바로 재설정이 가능한다.
아이소메트릭 화면을 이용한 직선이동을 위한 태스크 조기 기능은 필요에 따라 화면은 디폴트 뷰(default view) 버튼을 이용하여 티치 펜던트(130) 또는 사람의 방위에서 로봇을 보는 형태로 화면에 표시되게할 수도 있다. 아이소메트릭 뷰 화면을 선택하면 글로벌/로컬 좌표계 선택에 따라 해당 좌표계가 티치 팬던트 끝단에 나타날 수 있다. 조그 명령은 좌표계의 중심으로부터 각 좌표계의 단위벡터 방향으로 드래그하여 드래그 백터를 만들어 수행한다. 조그의 크기는 이전과 마찬가지고 드래크 백터의 크기에 비례하며 슬라이드 바로 사전에 설정되는 조그 최고 속도를 넘지 않는다.
아이소메트릭 화면을 이용한 회전이동을 위한 태스크 조기 기능은 회전이 토클된 상태에서 아이소메트릭 화면을 선택하면 토글된 좌표계의 축과 액션 화살표가 팝업될 수 있다. 그러면 먼저 원하는 회전운동의 축을 선택할 수 있다.. 선택된 축 및 해당 액션 화살표 이외는 색깔이 달라져 선택되지 않음을 나타낼 수 있다. 선택된 회전축에 대한 액션 화살표를 따라 드래그를 함으로써 조그명령을 생성할 수 있다. 조그 속도는 드래그 백터 또는 액션 화살표를 따라 움직이는 거리에 비례하여 생성되며 슬라이드 바로 사전에 설정된 최고 조그 속도를 넘지 않는다.
전술한 바와 같이 터치 스크린을 갖는 티치 펜던트(130)를 사용하면 용이하게 로봇 교시 및 제어가 가능할 수 있다.
도 14는 본 개시의 일 실시 예에 따른 로봇의 제어 방법(1300)을 보여주는 흐름도이다. 이하 도 14 내지 도 15의 흐름도에 도시된 단계들은 예시적인 것으로, 각 단계들은 결합, 분리 또는 생략될 수 있고, 각 단계의 순서는 변경될 수 있음을 유의한다. 먼저, 로봇 제어 장치는 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신할 수 있다(단계 1310). 일 실시예에서, 로봇 제어 장치는 도 1에 도시된 로봇 제어기(120) 및/또는 티치 펜던트(130)를 포함할 수 있다.
로봇 제어 장치는 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여, 로봇 동작의 워크플로우를 생성할 수 있다(단계 1320). 이 때, 로봇 제어 장치(예를 들어, 도 3의 워크플로우 생성부(340))는 수신된 로봇 동작의 작업 유형에 따라 상이한 동작 단계들로 구성된 워크플로우를 생성할 수 있다. 예를 들어, 수신된 작업 유형이 공작 기계 보조 작업인 경우, 로봇 제어 장치는 a) 초기 위치에 위치하는 동작 단계, b) 공작 기계 룸의 도어를 여는 동작 단계, c) 작업 트레이(예를 들어, 팔레트)에서 소재를 픽업하는 동작 단계, d) 공작 기계 룸의 도어를 지나 공작 기계 룸으로 진입하는 동작 단계, e) 공작 기계 룸 내 공작 기계의 특정 위치에 픽업한 소재를 위치시키는 동작 단계, f) 공작 기계에 의해 소재가 가공되는 것을 기다려 소재를 회수하는 동작 단계들로 구성된 워크플로우를 생성할 수 있다. 한편 이는 예시적인 것으로서, 그 외에도 로봇 제어 장치는 사출기 보조작업, 프레스 보조작업, 나사 조립작업, 용접작업, 본딩 작업, 비전 검사 작업 등 수신된 작업 유형에 따라, 해당 작업에 적합한 동작단계들로 구성된 상이한 워크플로우를 생성할 수 있다.
그리고 로봇 제어 장치는 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정할 수 있다(단계 1330). 이때, 로봇 제어 장치(예를 들어, 도 3의 작업 환경 측정부(300))는 워크플로우를 구성하는 특정 동작단계에서 작업 로봇(예를 들어, 도 2의 로봇 암(110))이 위치할 특정 지점을 입력받는 형태로서 작업 환경에 관한 정보를 측정할 수 있다. 예를 들어, 픽업할 소재가 놓여진 작업 트레이(예를 들어, 팔레트)의 위치에 대한 작업 환경 정보를 측정하는 경우, 로봇 제어 장치는 로봇 암(110)을 작업 트레이 상의 특정 지점에 위치시키고 해당 위치의 공간 좌표를 저장함으로써 소재를 픽업할 작업 트레이의 위치를 나타내는 작업 환경 정보를 측정할 수 있다.
또는, 로봇 암(110)이 이동될 도착점에 관한 작업 환경 정보를 측정하는 경우, 로봇 제어 장치는 이동할 도착점에 로봇 암(110)을 위치시키고 그 때의 공간 좌표를 저장함으로써 로봇 암(110)의 도착점에 관한 작업 환경 정보를 측정할 수 있다. 또는, 로봇 암(110)이 이동할 경로 상의 경유 지점에 대한 작업 환경 정보를 측정하는 경우, 로봇 제어 장치는 목표하는 경유 지점에 로봇 암(110)을 위치시키고 그 때의 공간 좌표를 저장함으로써 로봇 암(110)의 이동 시 경유 지점에 관한 작업 환경 정보를 측정할 수 있다. 이 경우, 저장된 경유 지점을 통과하여 이동하도록 로봇 암(110)이 제어될 수 있다.
예를 들어, 작업 유형이 공작 기계 보조 작업인 경우 전술한 워크플로우에 따라 작업환경에 관한 정보를 측정할 수 있다. 전술한 워크플로우의 단계별로 좀 더 상세히 기술하면 a) 초기 위치에 위치하는 동작 단계를 위하여 로봇이 작업 초기에 있어야 할 위치를 지정할 수 있다. 초기 위치의 지정은 전술한 방법을 이용하여 공간 좌표를 측정함으로써 교시할 수도 있지만 로봇에 내장되어 있는 어플리케이션(application) 별 추천 위치를 사용한다면 교시 없이도 초기 위치에 대한 작업 환경 정보를 획득할 수 있다. b) 공작 기계 룸의 도어를 여는 동작 단계를 위하여는 도어의 핸들의 시작 위치와 종료 위치에 대한 작업 환경 정보를 측정하여야 한다. 이는 전술한 것처럼 로봇 암(110)을 시작 위치와 종류 위치에 위치시키고 그 때의 공간 좌표를 저장함으로써 작업 환경 정보를 측정할 수 있다. c) 작업 트레이(예를 들어, 팔레트)에서 소재를 픽업하는 동작 단계를 위하여는 소재들이 위치하는 좌표를 측정하여야 한다. 이를 위하여 내장 작업 트레이를 사용하면 기준점만을 교시함으로써, 또는 작업 트레이의 수직방향에 대한 안정적인 작업 환경 정보를 측정하기 위하여 기준점을 포함하는 3개의 지점만을 교시함으로써 쉽게 소재의 위치에 대한 작업 환경 정보를 측정할 수 있다. d) 공작 기계 룸의 도어를 지나 공작 기계 룸으로 진입하는 동작 단계 및 e) 공작 기계 룸 내 공작 기계의 특정 위치에 픽업한 소재를 위치시키는 동작 단계를 위하여는 공작 기계 룸 내의 척(520)의 위치 및 수직방향에 대한 측정이 필요하다. 이는 전술한 것처럼 로봇 암(110)의 그리퍼가 척(520)의 수직방향으로 가도록 위치시킨 후 공간 좌표를 저장함으로써 측정할 수 있다. 이에 더하여 경유지로 소재에 있는 불순물들을 제거하기 위한 블로잉 작업이 이루어질 수 있는 위치를 추가할 수 있다. f) 공작 기계에 의해 소재가 가공되는 것을 기다려 소재를 회수하는 동작 단계에서는 소재 가공품들이 놓일 트레이 내의 위치들을 측정할 필요가 있다. 이를 위하여 내장 작업 트레이를 사용하면 기준점만을 교시함으로써, 또는 작업 트레이의 수직방향에 대한 안정적인 작업 환경 정보를 측정하기 위하여 기준점을 포함하는 3개의 지점만을 교시함으로써 쉽게 소재 가공품의 위치에 대한 작업 환경 정보를 측정할 수 있다.
전술한 바처럼 워크플로우에 따른 작업 환경 정보를 측정하는 것은 상당한 노력과 시간이 들어가는 작업이 될 수 있다. 하지만, 로봇에 내장되어 있는 사양과 일치하는 내장 작업 트레이 및/또는 내장 그리퍼를 사용한다면 작업 환경 정보를 측정하는 시간을 상당히 줄일 수 있을 것이다.
그리고 로봇 제어 장치(예를 들어, 도 3의 작업 정보 수신부(310))는 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 수신할 수 있다(단계 1340). 이때, 로봇 동작에 관한 작업 정보는 어프로칭(approaching), 리트랙팅(retracting), 피킹(picking), 플레이싱(placing) 등과 같은 로봇 동작의 특성을 지정 또는 나타내기 위한 정보일 수 있다. 이러한 로봇 동작에 관한 작업 정보는 로봇의 동작방식 또는 동작 메커니즘을 제어하기 위해 참조되거나 사용될 수 있다. 일 실시예로서, 로봇 동작에 관한 작업 정보가 어프로칭인 경우, 로봇은 빠르고 정밀하게 목표지점으로 이동하기 위해, 초기의 제1 지점부터 중간의 제2 지점까지는 로봇이 가장 빠르게 이동할 수 있는 급속 이동 방식으로 이동하고 제2 지점부터 최종의 제3 지점까지는 정밀하게 이동할 수 있는 정밀 이동 방식으로 이동하도록 제어될 수 있다.
다른 실시예로서, 로봇 동작에 관한 작업 정보가 리트랙팅인 경우, 로봇은 안전하면서도 빠르게 해당 위치를 벗어나기 위해, 초기의 제1 지점부터 중간의 제2 지점까지는 경로를 이탈함이 없이 정확히 빠져나가도록 정밀 이동 방식으로 이동하고, 중간의 제2 지점부터 최종의 제3 지점까지는 빠르게 위치를 벗어나도록 급속 이동 방식으로 이동하도록 제어될 수 있다. 또 다른 실시예로서, 로봇 동작에 관한 작업 정보가 피킹인 경우, 로봇은 특정 위치의 대상물을 픽업하는 데 적합하도록, 초기의 제1 지점부터 대상물이 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 대상물을 픽업하고, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다. 또 다른 실시예로서, 로봇 동작에 관한 작업 정보가 플레이싱인 경우, 로봇은 대상물을 특정 위치에 위치시키는 데 적합하도록, 초기의 제1 지점부터 대상물이 위치한 제2 지점까지는 어프로칭 방식으로 접근하고, 해당 위치에서 픽업하고 있던 대상물을 내려놓은 후, 이후 제2 지점에서 최종의 제3 지점까지 리트랙팅 방식으로 벗어나도록 제어될 수 있다.
로봇 제어 장치는 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보 등에 기초하여 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작을 수행할 수 있다(단계 1350). 일 실시예에서, 로봇 제어 장치는 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보 등에 기초하여 로봇 동작의 작업 유형 및 워크플로우에 따라 적합한 작업 프로그램을 선택하고, 선택된 작업 프로그램을 실행하여 로봇 동작의 수행을 제어할 수 있다. 다른 실시예에서, 로봇 제어 장치는 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보 등에 기초하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작의 수행을 위한 작업 프로그램을 생성하고, 생성된 작업 프로그램을 실행하여 로봇 동작의 수행을 제어할 수 있다.
이어서 로봇 제어 장치는 로봇 동작의 작업 유형이 변경되었는지를 판단할 수 있다(단계 1360). 로봇 동작의 작업 유형이 변경된 것으로 판단되는 경우, 로봇 제어 장치는 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 다시 수신하고(단계 1310), 로봇 동작의 작업 유형이 변경되지 않은 것으로 판단되는 경우, 로봇 제어 장치는 로봇 동작이 수행되는 작업 환경이 변경되었는지를 판단할 수 있다(단계 1370). 로봇 동작이 수행되는 작업 환경이 변경된 것으로 판단되는 경우, 로봇 제어 장치는 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작이 수행되는 작업 환경에 관한 정보를 다시 측정하고(단계 1330), 로봇 동작이 수행되는 작업 환경이 변경되지 않은 것으로 판단되는 경우, 로봇 제어 장치는 로봇 동작에 관한 작업 정보가 변경되었는지를 판단할 수 있다(단계 1380). 로봇 동작에 관한 작업 정보가 변경된 것으로 판단되는 경우, 로봇 제어 장치는 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작에 관한 작업 정보를 다시 수신하고(단계 1340), 로봇 동작에 관한 작업 정보가 변경되지 않은 것으로 판단되는 경우, 로봇 제어 장치는 측정된 작업 환경에 관한 정보 및 수신된 로봇 동작에 관한 작업 정보에 기초하여 로봇을 제어하여 로봇 동작의 작업 유형 및 워크플로우에 따라 로봇 동작을 계속 수행할 수 있다(단계 1350).
여기서 작업 환경이 변경되어 작업 환경에 관한 정보를 다시 측정하는 경우 종래의 측정 결과를 다시 이용할 수 있다. 동일한 작업을 반복하면서 단지 가공하고자 하는 소재의 크기만 변경되거나 단순히 트레이의 위치만 변경된 경우에는 변경된 부분만을 수정하고 기존 작업과 동일한 부분은 측정없이 그대로 사용할 수 있다. 작업 환경 정보를 얻기 위한 측정 작업은 많은 노력과 시간을 필요하므로 변경 없는 부분에 대하여는 측정을 하지 않도록 함으로써 여기에 드는 시간과 노력을 줄일 수 있다. 이러한 작업은 과거의 측정 결과를 저장하였다가 유사한 작업이 수행될 경우 과거의 측정 결과를 가져와서 사용하는 것도 가능할 수 있다.
도 15는 본 개시의 일 실시 예에 따른 로봇의 제어를 위한 작업 프로그램에 기초하여 로봇 동작의 수행을 제어하는 방법(1350)을 보여주는 흐름도이다. 먼저 로봇 제어 장치(예를 들어, 도 3의 로봇 동작 제어부(350))는 측정된 작업 환경에 관한 정보, 수신된 로봇 동작에 관한 작업 정보, 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성할 수 있다(단계 1400). 일 실시예에서, 적어도 하나의 제1 레벨의 명령어는, 어프로칭(approaching) 명령어, 리트랙팅(retracting) 명령어, 피킹(picking) 명령어 또는 플레이싱(placing) 명령어 중 적어도 하나를 포함하는 상위 레벨의 명령어일 수 있다. 예를 들어, 어프로칭 명령어는 로봇(예를 들어, 도 2의 로봇 암(110))이 특정 위치에 효과적으로 접근하기 위한 상위 레벨의 명령어일 수 있고, 리트랙팅 명령어는 로봇이 특정 위치에서 효과적으로 벗어나기 위한 상위 레벨의 명령어일 수 있으며, 피킹 명령어는 로봇이 특정 위치의 대상물을 잡기 위한 상위 레벨의 명령어일 수 있고, 플레이싱 명령어는 로봇이 특정 위치에 대상물을 위치시키기 위한 상위 레벨의 명령어일 수 있다.
일 실시예에서, 어프로칭 명령어, 리트랙팅 명령어, 피킹 명령어 및 플레이싱 명령어의 각각은, 로봇의 어프로칭, 리트랙팅, 피킹 및 플레이싱 작업 정보에 대응될 수 있다. 예를 들어, 수신된 로봇 동작에 관한 작업 정보가 어프로칭과 관련되는 경우, 로봇 제어 장치는 이러한 작업 정보에 대응하여 어프로칭 명령어를 생성할 수 있다. 유사하게, 수신된 로봇 동작에 관한 작업 정보가 리트랙팅, 피킹 또는 플레이싱과 관련되는 경우, 로봇 제어 장치는 이러한 작업 정보에 대응하여 리트랙팅 명령어, 피킹 명령어 또는 플레이싱 명령어를 생성할 수 있다.
로봇 제어 장치는 적어도 하나의 제1 레벨의 명령어에 기초하여, 상기 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성할 수 있다(단계 1410). 복수의 제2 레벨의 명령어들은, 엔드 이펙터의 제어 명령어, 대상 기계(예를 들어, 공작 기계)의 제어 명령어, 주변 기기(예를 들어, 작업 트레이 또는 컨베이어)의 제어 명령어, 급속 이동 명령어(또는 고속 이동 명령어), 정밀 이동 명령어, 정속 이동 명령어, 반복 명령어, 조건 판단 명령어, 대기 명령어 중 적어도 두 개를 포함하는 하위 레벨의 명령어들일 수 있다. 예를 들어, 로봇 동작의 작업 유형이 공작 기계 보조 작업인 경우 엔드 이펙터의 제어 명령어는 그리퍼 제어 명령어인 그리퍼 열림 명령어 또는 그리퍼 닫힘 명령어를 포함할 수 있고, 공작 기계의 제어 명령어는 척 열림 명령어 또는 척 닫힘 명령어를 포함할 수 있다.
일 실시예에서, 제1 레벨의 명령어는 적어도 두 개 이상의 제2 레벨의 명령어들의 조합을 포함할 수 있다. 예를 들어, 제1 레벨의 명령어인 어프로칭 명령어는 제2 레벨의 명령어인 급속 이동 명령어와 정밀 이동 명령어의 조합으로 구성될 수 있다. 유사하게 제1 레벨의 명령어인 리트랙팅 명령어도 제2 레벨의 명령어인 급속 이동 명령어와 정밀 이동 명령어의 조합으로 구성될 수 있다. 또한, 제1 레벨의 명령어인 피킹 명령어는 제2 레벨의 명령어인 급속 이동 명령어, 정밀 이동 명령어 또는 그리퍼 제어 명령어의 조합으로 구성될 수 있다. 유사하게, 제1 레벨의 명령어인 플레이싱 명령어도 제2 레벨의 명령어인 급속 이동 명령어, 정밀 이동 명령어 또는 그리퍼 제어 명령어의 조합으로 구성될 수 있다.
로봇 제어 장치는 복수의 제2 레벨의 명령어에 기초하여, 로봇 동작을 위한 작업 프로그램을 생성할 수 있다(단계 1420). 일 실시예에서, 로봇 제어 장치는 복수의 제2 레벨의 명령어들에 기초하여, 더 하위 레벨의 명령어들인 복수의 제3 레벨의 명령어들을 생성할 수 있다. 이 경우, 로봇 제어 장치는 복수의 제3 레벨의 명령어들에 기초하여, 로봇 동작을 위한 작업 프로그램을 생성하도록 구성될 수 있다. 로봇 제어 장치는 생성된 작업 프로그램에 기초하여 로봇 동작의 수행을 제어할 수 있다(단계 1430).
본 기술 분야의 통상의 지식을 가진 자들은 본 명세서에서 개시되는 구성들과 관련하여 설명되는 다양한 예시적인 블록, 장치 또는 동작들이 전자 하드웨어, 컴퓨터 소프트웨어 또는 이 둘의 조합으로서 구현될 수 있다는 것을 알 것이다. 이러한 블록, 장치 또는 동작들은 프로세서, DSP(digital signal processor), ASIC(application-specific integrated circuit) 또는 ASSP(application-specific standard product), FPGA(field-programmable gate array) 또는 다른 프로그래밍가능 논리 디바이스, 개별 게이트 또는 트랜지스터 논리, 개별 하드웨어 구성요소 또는 본 명세서에 개시되는 바와 같은 구성을 생성하도록 설계된 이들의 임의의 조합을 이용하여 구현 또는 수행될 수 있다. 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어 DSP와 마이크로 프로세서의 조합, 복수의 마이크로 프로세서, DSP 코어와 연계된 하나 이상의 마이크로프로세서 또는 임의의 다른 구성으로서 구현될 수 있다. 컴퓨터 소프트웨어 또는 프로그램은 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 플래시 RAM과 같은 비휘발성 RAM, 소거 및 프로그래밍 가능한 ROM(EPROM), 전기적으로 소거 및 프로그래밍 가능한 ROM(EEPROM), 레지스터, 하드 디스크, 이동식 디스크, CD-ROM 또는 본 기술 분야에 공지된 임의의 다른 형태의 저장 매체에 존재할 수 있으며, 프로세서 또는 DSP와 같은 논리 요소들의 어레이에 의해 실행될 수 있는 머신 판독 가능 명령어를 포함할 수 있다. 예시적인 저장 매체가 프로세서와 결합될 수 있고, 프로세서는 저장 매체로부터의 정보를 판독하고 저장 매체에 정보를 기록할 수 있다. 대안으로서, 저장 매체는 프로세서와 일체일 수 있다. 프로세서와 저장 매체는 ASIC 내에 위치할 수 있다. ASIC은 사용자 단말기 내에 위치할 수 있다. 대안으로서, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 구성요소로서 존재할 수 있다.
본 명세서에서 개시되는 방법 및 기술은 논리 요소들의 어레이(예를 들어, 프로세서, 마이크로 프로세서, 마이크로 컨트롤러 또는 다른 유한 상태 머신 등)를 포함하는 머신에 의해 실행 가능한 하나 이상의 명령어 세트로서, 예를 들어, 본 명세서에 열거된 바와 같은 하나 이상의 컴퓨터 판독가능 기록매체에 구현될 수 있다. "컴퓨터 판독가능 기록매체"는 정보를 저장하거나 전송할 수 있는, 휘발성, 비휘발성, 이동식 또는 비이동식 매체를 포함하는 임의의 매체를 포함할 수 있다. 컴퓨터 판독가능 기록매체의 예들은 전자 회로, 반도체 메모리 디바이스, ROM, 플래시 메모리, 소거 가능 ROM(EROM), 플로피 디스켓 또는 다른 자기 저장 장치, CD-ROM/DVD 또는 다른 광학 저장 장치, 하드 디스크, 광섬유 매체, 라디오 주파수(RF) 링크 또는 원하는 정보를 저장하는 데 사용될 수 있고 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 머신에 의해 실행 가능한 하나 이상의 명령어 세트의 전부 또는 일부는 인터넷 또는 인트라넷과 같은 컴퓨터 네트워크를 통해 다운로드될 수 있다.
이상의 실시예들은 발명의 이해를 돕기 위하여 도면에 도시된 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 형태의 실시예도 가능하다는 점을 이해할 것이다. 따라서, 당 분야에서 통상의 지식을 가진 자라면 첨부된 특허청구범위에 의해 정해지는 본 발명의 기술적 사상 및 범위를 벗어나지 않고 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다.

Claims (34)

  1. 로봇의 제어 방법으로서,
    상기 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하는 단계;
    상기 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여, 상기 로봇 동작의 워크플로우(workflow)를 생성하는 단계;
    상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계;
    상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작에 관한 작업 정보를 수신하는 단계; 및
    상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 단계를 포함하는,
    로봇 제어 방법.
  2. 제1항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 로봇이 초기에 설치될 때 또는 상기 작업 환경이 변경되었을 때 수행되는,
    로봇 제어 방법.
  3. 제1항에 있어서,
    상기 로봇은,
    로봇 암;
    상기 로봇 암의 동작을 제어하는 제어기;
    상기 제어기와 통신 가능하도록 연결되는 티치 펜던트(teach pendant); 및
    상기 로봇 암의 말단에 부착되는 엔드 이펙터(end effector)를 포함하는,
    로봇 제어 방법.
  4. 제3항에 있어서,
    상기 로봇 동작의 수행과 관련하여 상기 로봇 동작의 대상 기계 또는 주변 기기와 통신하는 단계를 더 포함하는,
    로봇 제어 방법.
  5. 제1항에 있어서,
    상기 로봇 동작의 작업 유형은 공작 기계 보조 작업, 사출기 보조 작업, 프레스 보조 작업, 픽 엔드 플레이스(pick and place) 작업, 나사 조립 작업, 일반 조립 작업, 용접 작업, 본딩(bonding) 작업, 비전(vision) 검사 작업 또는 분류 작업 중 적어도 하나와 관련되는,
    로봇 제어 방법.
  6. 제1항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 작업 환경에 관한 정보를 상기 로봇의 접촉 측정 장치에 의해 측정하는 단계를 포함하는,
    로봇 제어 방법.
  7. 제6항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 작업 환경에 관한 정보를 상기 로봇의 접촉 측정 장치에 의해 측정하는 단계를 포함하는,
    로봇 제어 방법.
  8. 제1항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는, 상기 작업 환경에 관한 정보를 상기 로봇의 비접촉 측정 장치에 의해 측정하는 단계를 포함하는,
    로봇 제어 방법.
  9. 제8항에 있어서,
    상기 비접촉 측정 장치는 카메라 또는 레이저 빔 측정기를 포함하는,
    로봇 제어 방법.
  10. 제1항에 있어서,
    상기 로봇 동작에 관한 작업 정보를 수신하는 단계는, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때의 상기 로봇의 동작 정보에 기초하여 생성되는 상기 작업 정보를 수신하는 단계를 포함하는,
    로봇 제어 방법.
  11. 제4항에 있어서,
    상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 단계는,
    상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 단계; 및
    상기 작업 프로그램을 실행하여 상기 로봇 동작의 수행을 제어하는 단계를 포함하는,
    로봇 제어 방법.
  12. 제11항에 있어서,
    상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 단계는,
    상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성하는 단계; 및
    상기 적어도 하나의 제1 레벨의 명령어에 기초하여, 상기 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성하는 단계를 포함하고,
    상기 적어도 하나의 제1 레벨의 명령어의 각각은, 상기 복수의 제2 레벨의 명령어들의 적어도 두 개 이상의 조합을 포함하는,
    로봇 제어 방법.
  13. 제12항에 있어서,
    상기 적어도 하나의 제1 레벨의 명령어는, 어프로칭(approaching) 명령어, 리트랙팅(retracting) 명령어, 피킹(picking) 명령어 또는 플레이싱(placing) 명령어 중 적어도 하나를 포함하는 상위 레벨의 명령어인,
    로봇 제어 방법.
  14. 제12항에 있어서,
    상기 복수의 제2 레벨의 명령어들은, 상기 엔드 이펙터의 제어 명령어, 상기 대상 기계의 제어 명령어, 상기 주변 기기의 제어 명령어, 급속 이동 명령어, 정밀 이동 명령어, 정속 이동 명령어, 반복 명령어, 조건 판단 명령어, 대기 명령어 중 적어도 두 개를 포함하는 하위 레벨의 명령어들인,
    로봇 제어 방법.
  15. 제14항에 있어서,
    상기 로봇 동작의 작업 유형은 공작 기계의 보조 작업과 관련되고,
    상기 엔드 이펙터는 그리퍼(gripper)를 포함하고,
    상기 엔드 이펙터의 제어 명령어는 그리퍼 열림 명령어 또는 그리퍼 닫힘 명령어를 포함하고,
    상기 대상 기계의 제어 명령어는 척(chuck) 열림 명령어 또는 척 닫힘 명령어를 포함하는,
    로봇 제어 방법.
  16. 제1항에 있어서,
    상기 로봇 동작의 작업 유형은 공작 기계 보조 작업과 관련되는,
    로봇 제어 방법.
  17. 제16항에 있어서,
    상기 작업 환경에 관한 정보는, 상기 공작 기계의 척의 좌표계에 관한 정보, 상기 공작 기계의 도어의 위치에 관한 정보, 상기 로봇 동작의 수행을 위한 상기 로봇의 초기 위치에 관한 정보 또는 상기 공작 기계에 의해 가공되는 소재가 배치되는 작업 트레이의 위치에 관한 정보 중 적어도 하나를 포함하는,
    로봇 제어 방법.
  18. 제17항에 있어서,
    상기 로봇 동작에 관한 작업 정보는, 상기 작업 트레이 상의 소재를 픽업(pick up)하는 동작과 관련된 정보, 상기 소재를 상기 공작 기계의 척에 로딩(loading)하는 동작과 관련된 정보, 상기 공작 기계에 의해 가공된 상기 소재의 가공품을 상기 공작 기계의 척으로부터 언로딩(unloading)하는 동작과 관련된 정보, 상기 가공품을 상기 작업 트레이 상에 놓는 동작과 관련된 정보 또는 상기 소재의 가공품에 블로잉(blowing)을 수행하는 동작과 관련된 정보 중 적어도 하나를 포함하는,
    로봇 제어 방법.
  19. 제17항에 있어서,
    상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 단계 또는 상기 로봇 동작에 관한 작업 정보를 수신하는 단계는,
    상기 로봇의 방향을 상기 작업 트레이, 상기 공작 기계의 척 또는 상기 공작 기계의 도어 중 적어도 하나에 대해 정렬하는 단계를 포함하는,
    로봇 제어 방법.
  20. 제16항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는,
    크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보를 상기 로봇이 내장하고 있고, 상기 기준점 및 상기 작업 트레이에 대한 수직방향에 대한 정보를 위하여 1개 내지 3개의 교시점을 측정하여 상기 공작 기계에 의해 가공될 소재들의 위치에 관한 정보를 측정하는 단계를 포함하는,
    로봇 제어 방법.
  21. 제16항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는,
    크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보를 상기 로봇이 내장하고 있고, 상기 기준점 및 상기 작업 트레이에 대한 수직방향에 대한 정보를 위하여 1개 내지 3개의 교시점을 측정하여 상기 공작 기계에 의해 가공된 소재 가공품이 언로딩될 위치에 관한 정보를 측정하는 단계를 포함하는,
    로봇 제어 방법.
  22. 제16항에 있어서,
    상기 작업 환경에 관한 정보를 측정하는 단계는,
    잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보를 상기 로봇이 내장하고 있고, 상기 그리퍼에 대한 사양 정보를 바탕으로 작업 환경에 관한 정보를 측정하는 단계를 포함하는,
    로봇 제어 방법.
  23. 로봇의 제어 장치로서,
    상기 로봇에 의해 수행되는 로봇 동작의 작업 유형에 관한 정보를 수신하고, 상기 수신된 로봇 동작의 작업 유형에 관한 정보에 기초하여 상기 로봇 동작의 워크플로우를 생성하도록 구성되는 워크플로우 생성부;
    상기 로봇을 제어하여 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작이 수행되는 작업 환경에 관한 정보를 측정하는 작업 환경 측정부;
    상기 로봇을 제어하여 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작에 관한 작업 정보를 수신하는 작업 정보 수신부; 및
    상기 측정된 작업 환경에 관한 정보 및 상기 수신된 로봇 동작에 관한 작업 정보에 기초하여 상기 로봇을 제어하여, 상기 로봇 동작의 작업 유형 및 워크플로우에 따라 상기 로봇 동작을 수행하는 로봇 동작 제어부를 포함하는,
    로봇 제어 장치.
  24. 제23항에 있어서,
    상기 작업 환경 측정부는, 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하는,
    로봇 제어 장치.
  25. 제24항에 있어서,
    상기 작업 환경 측정부는, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하는,
    로봇 제어 장치.
  26. 제23항에 있어서,
    상기 작업 환경 측정부는, 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 카메라 또는 레이저 빔 측정기에 의해 측정되도록 하는,
    로봇 제어 장치.
  27. 제23항에 있어서,
    상기 작업 환경 측정부는, 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보 및 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보 중 적어도 하나의 정보를 구비하고, 상기 적어도 하나의 정보를 바탕으로 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하는,
    로봇 제어 장치.
  28. 제23항에 있어서,
    상기 작업 환경 측정부는, 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보 및 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보 중 적어도 하나의 정보를 구비하고, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 적어도 하나의 정보를 바탕으로 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 접촉 측정 장치에 의해 측정되도록 하는,
    로봇 제어 장치.
  29. 제23항에 있어서,
    상기 작업 환경 측정부는, 크기, 소재가 놓이는 위치 간의 간격, 기준점에서 소재가 가장 가까이 위치할 수 있는 곳까지의 거리가 정해져 있는 작업 트레이에 대한 정보 및 잡을 수 있는 소재의 최대 직경, 손가락 길이, 부착 각도 등과 같은 그리퍼에 대한 사양 정보 중 적어도 하나의 정보를 구비하고, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때, 상기 적어도 하나의 정보를 바탕으로 상기 로봇을 제어하여 상기 작업 환경에 관한 정보가 상기 로봇의 카메라 또는 레이저 빔 측정기에 의해 측정되도록 하는,
    로봇 제어 장치.
  30. 제23항에 있어서,
    상기 작업 정보 수신부는, 상기 로봇이 사용자의 직접 교시에 의해 동작할 때의 상기 로봇의 동작 정보에 기초하여 생성되는 상기 작업 정보를 수신하는,
    로봇 제어 장치.
  31. 제23항에 있어서,
    상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작의 수행을 위한 작업 프로그램을 생성하는 작업 프로그램 생성부를 더 포함하고,
    상기 로봇 동작 제어부는 상기 생성된 작업 프로그램에 기초하여 상기 로봇의 상기 로봇 동작의 수행을 제어하는,
    로봇 제어 장치.
  32. 제31항에 있어서,
    상기 작업 프로그램 생성부는,
    상기 측정된 작업 환경에 관한 정보, 상기 수신된 로봇 동작에 관한 작업 정보, 상기 로봇 동작의 작업 유형 및 워크플로우에 기초하여, 상기 로봇 동작을 위한 적어도 하나의 제1 레벨의 명령어를 생성하고,
    상기 적어도 하나의 제1 레벨의 명령어에 기초하여, 상기 로봇 동작을 위한 복수의 제2 레벨의 명령어들을 생성하고,
    상기 적어도 하나의 제1 레벨의 명령어의 각각은, 상기 복수의 제2 레벨의 명령어들의 적어도 두 개 이상의 조합을 포함하는,
    로봇 제어 장치.
  33. 제23항에 있어서,
    상기 로봇 동작의 수행과 관련하여 대상 기계 또는 주변 기기와 통신하는 통신 인터페이스부를 더 포함하는,
    로봇 제어 장치.
  34. 제1항 내지 제22항 중 어느 한 항의 로봇 제어 방법을 로봇 제어 장치에 의해 수행하도록 하는 프로그램을 저장하는 컴퓨터 판독가능 기록매체.
PCT/KR2016/011591 2015-09-25 2016-10-14 로봇 제어 방법 및 장치 WO2017052350A2 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201680055650.3A CN108235696B (zh) 2015-09-25 2016-10-14 机器人控制方法和设备
EP16849075.3A EP3354418B1 (en) 2015-09-25 2016-10-14 Robot control method and device
KR1020187003468A KR102609030B1 (ko) 2015-09-25 2016-10-14 로봇 제어 방법 및 장치
US15/762,302 US11185984B2 (en) 2015-09-25 2016-10-14 Method and apparatus for controlling robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2015-0136814 2015-09-25
KR1020150136814A KR20180015774A (ko) 2015-09-25 2015-09-25 로봇 제어 방법 및 장치

Publications (2)

Publication Number Publication Date
WO2017052350A2 true WO2017052350A2 (ko) 2017-03-30
WO2017052350A3 WO2017052350A3 (ko) 2017-05-11

Family

ID=58386528

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/011591 WO2017052350A2 (ko) 2015-09-25 2016-10-14 로봇 제어 방법 및 장치

Country Status (5)

Country Link
US (1) US11185984B2 (ko)
EP (1) EP3354418B1 (ko)
KR (2) KR20180015774A (ko)
CN (1) CN108235696B (ko)
WO (1) WO2017052350A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017118985B4 (de) * 2017-04-23 2019-10-02 Franka Emika Gmbh Schraubvorrichtung
WO2018213931A1 (en) 2017-05-25 2018-11-29 Clearpath Robotics Inc. Systems and methods for process tending with a robot arm
US11392121B2 (en) 2017-10-31 2022-07-19 Clearpath Robotics Inc. Systems and methods for operating robotic equipment in controlled zones
CN108857093A (zh) * 2018-07-24 2018-11-23 湖北三江航天红阳机电有限公司 利用机器人激光切割的方法及装置
DE102018122376B3 (de) * 2018-09-13 2019-11-07 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
CN109035740A (zh) * 2018-09-27 2018-12-18 上海节卡机器人科技有限公司 机器人的控制方法、装置和远程控制***
BR102019005708A2 (pt) * 2019-03-22 2020-09-29 Máquinas Sanmartin Ltda Dispositivo para manipulação de produtos em contenedores, únicos ou agrupados, baseado em movimentação por pressão elástica na parte superior dos contenedores
CN111823238B (zh) * 2020-06-10 2021-12-28 杭州凯尔达机器人科技股份有限公司 机器人时序控制方法、电源时序管理单元以及控制***
JP7012181B1 (ja) 2021-06-15 2022-02-14 Dmg森精機株式会社 ロボットシステム
JP2024005094A (ja) * 2022-06-29 2024-01-17 川崎重工業株式会社 ロボット教示装置、外観検査システムおよびロボット教示方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05285800A (ja) 1992-04-13 1993-11-02 Yamazaki Mazak Corp 自動加工装置
JPH06134607A (ja) * 1992-10-26 1994-05-17 Sandvik Kk 工作機械のワーク、チャック等の交換装置
US5511147A (en) * 1994-01-12 1996-04-23 Uti Corporation Graphical interface for robot
WO1997010080A1 (fr) * 1995-09-14 1997-03-20 Kabushiki Kaisha Yaskawa Denki Unite d'enseignement pour robots
GB0125079D0 (en) * 2001-10-18 2001-12-12 Cimac Automation Ltd Auto motion:robot guidance for manufacturing
JP3671219B2 (ja) 2002-04-26 2005-07-13 独立行政法人 宇宙航空研究開発機構 多関節ロボットの制御方法
JP4167940B2 (ja) * 2003-05-29 2008-10-22 ファナック株式会社 ロボットシステム
JP3733364B2 (ja) * 2003-11-18 2006-01-11 ファナック株式会社 教示位置修正方法
JP4556617B2 (ja) * 2004-10-29 2010-10-06 株式会社デンソーウェーブ 自動作業システム
SE0402891D0 (sv) * 2004-11-26 2004-11-26 Abb Ab A system and a method for controlling movements of an industrial robot
KR100584474B1 (ko) * 2005-02-14 2006-05-29 주식회사 새화신 자동차 아암 용접용 지그
GR20050100456A (el) * 2005-09-09 2007-04-25 Πανος Τραχανιας Αυτονομο ρομποτικο συστημα παροχης πληροφοριων και τηλεξεναγησης
DK3045273T3 (en) 2006-03-03 2019-02-25 Universal Robots As Joint for a robot
JP4267005B2 (ja) * 2006-07-03 2009-05-27 ファナック株式会社 計測装置及びキャリブレーション方法
JP4271249B2 (ja) * 2007-06-14 2009-06-03 ファナック株式会社 嵌合装置
US9393691B2 (en) * 2009-02-12 2016-07-19 Mitsubishi Electric Corporation Industrial robot system including action planning circuitry for temporary halts
KR20110077556A (ko) 2009-12-30 2011-07-07 한국생산기술연구원 로봇 교시 시스템 및 방법
JP5311294B2 (ja) * 2010-04-28 2013-10-09 株式会社安川電機 ロボットの接触位置検出装置
JP5685027B2 (ja) * 2010-09-07 2015-03-18 キヤノン株式会社 情報処理装置、物体把持システム、ロボットシステム、情報処理方法、物体把持方法およびプログラム
JP5602076B2 (ja) 2011-03-22 2014-10-08 三菱電機株式会社 ロボットプログラミング装置および方法
JP5810582B2 (ja) * 2011-03-29 2015-11-11 セイコーエプソン株式会社 ロボットの制御方法、及びロボット
JP2013071239A (ja) 2011-09-29 2013-04-22 Panasonic Corp ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路
US20130345848A1 (en) * 2012-06-20 2013-12-26 Kabushiki Kaisha Yaskawa Denki Robot system and method for manufacturing fitting
DE102012013022A1 (de) * 2012-06-29 2014-04-24 Liebherr-Verzahntechnik Gmbh Vorrichtung zur automatisierten Handhabung von Werkstücken
EP2749974A2 (en) * 2012-12-28 2014-07-02 Kabushiki Kaisha Yaskawa Denki Robot teaching system, robot teaching assistant device, and robot teaching method
JP5702811B2 (ja) 2013-01-30 2015-04-15 ファナック株式会社 動作プログラム作成装置
JP6150386B2 (ja) * 2013-04-24 2017-06-21 国立大学法人横浜国立大学 ロボット教示方法
JP2015000455A (ja) 2013-06-17 2015-01-05 キヤノン株式会社 ロボット装置及びロボット装置の制御方法
JP5939213B2 (ja) * 2013-08-09 2016-06-22 株式会社安川電機 ロボット制御装置及びロボット制御方法
JP6511715B2 (ja) * 2013-10-31 2019-05-15 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、及びロボット
JP6005299B2 (ja) * 2013-11-28 2016-10-12 三菱電機株式会社 ロボットシステムおよびロボットシステムの制御方法
US9505133B2 (en) * 2013-12-13 2016-11-29 Canon Kabushiki Kaisha Robot apparatus, robot controlling method, program and recording medium
US9701018B2 (en) * 2014-04-01 2017-07-11 Bot & Dolly, Llc Software interface for authoring robotic manufacturing process
US9604357B2 (en) * 2014-07-30 2017-03-28 Kabushiki Kaisha Yaskawa Denki Robot and device having multi-axis motion sensor, and method of use thereof
EP3272473B1 (en) * 2015-03-20 2022-09-14 FUJI Corporation Teaching device and method for generating control information
KR101962889B1 (ko) * 2015-07-27 2019-03-28 한국전자통신연구원 작업환경 변화에 적응적인 로봇 동작 데이터 제공장치 및 그 방법

Also Published As

Publication number Publication date
KR20190055777A (ko) 2019-05-23
US20180264648A1 (en) 2018-09-20
EP3354418C0 (en) 2024-02-28
WO2017052350A3 (ko) 2017-05-11
KR20180015774A (ko) 2018-02-14
KR102609030B1 (ko) 2023-12-01
EP3354418B1 (en) 2024-02-28
EP3354418A2 (en) 2018-08-01
CN108235696B (zh) 2023-04-25
CN108235696A (zh) 2018-06-29
EP3354418A4 (en) 2019-05-01
US11185984B2 (en) 2021-11-30

Similar Documents

Publication Publication Date Title
WO2017052350A2 (ko) 로봇 제어 방법 및 장치
WO2018143607A1 (ko) 스킬 기반 로봇 프로그래밍 장치 및 방법
TWI595987B (zh) 機械臂系統
US10618181B2 (en) Robot control device, robot, and robot system
JP6450960B2 (ja) ロボット、ロボットシステム及び教示方法
CN113056351A (zh) 外部输入设备、机器人***、机器人***的控制方法、控制程序及记录介质
US20180029232A1 (en) Control apparatus and robot
JP2019214084A (ja) 経路計画装置、経路計画方法、及び経路計画プログラム
WO2004085120A1 (ja) ロボットシミュレーション装置、および、シミュレーションプログラム
US11958187B2 (en) Robot hand, robot and robot system
TW202122225A (zh) 使用先進掃描技術之用於機器人箱揀取的系統及方法
JP7259860B2 (ja) ロボットの経路決定装置、ロボットの経路決定方法、プログラム
JP2019188545A (ja) ロボット制御装置
KR20210118380A (ko) 로봇 제어 방법 및 장치
WO2016186061A1 (ja) ロボットシステム及びロボット装置
US20230161317A1 (en) Parametric and Modal Work-holding Method for Automated Inspection
CN111899629B (zh) 柔性机器人教学***和方法
CN111417496A (zh) 控制装置、工件作业装置、工件作业***以及控制方法
CN117177846A (zh) 设定安全参数的装置、示教装置以及方法
TWI818717B (zh) 作業程式作成系統以及作業程式作成方法
US20230158684A1 (en) Automated Work-holding for Precise Fastening of Light Parts during Automated Transfer
US20230160678A1 (en) Parametric and Modal Work-holding Apparatus
TW202348378A (zh) 非易失性的電腦可讀取媒體、標記位置登記裝置、方法以及其中使用的標記
WO2024063857A1 (en) Automated work-holding for precise fastening of light parts during automated transfer
JP2023017385A (ja) ロボット制御方法、ロボット制御システム、制御装置及び制御プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16849075

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase

Ref document number: 20187003468

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15762302

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016849075

Country of ref document: EP