WO2020171527A1 - 이동형 로봇 및 그것의 로봇 암 정렬 방법 - Google Patents

이동형 로봇 및 그것의 로봇 암 정렬 방법 Download PDF

Info

Publication number
WO2020171527A1
WO2020171527A1 PCT/KR2020/002290 KR2020002290W WO2020171527A1 WO 2020171527 A1 WO2020171527 A1 WO 2020171527A1 KR 2020002290 W KR2020002290 W KR 2020002290W WO 2020171527 A1 WO2020171527 A1 WO 2020171527A1
Authority
WO
WIPO (PCT)
Prior art keywords
posture
robot
rotation matrix
work area
tip
Prior art date
Application number
PCT/KR2020/002290
Other languages
English (en)
French (fr)
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 삼성전자 주식회사
Publication of WO2020171527A1 publication Critical patent/WO2020171527A1/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/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • 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/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • 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

Definitions

  • Embodiments disclosed in this document relate to a technique of aligning a tool connected to a tip of a robot of a mobile robot in a work area.
  • a mobile robot may align a tool and a work area to be connected to the end of the robot arm using a camera located at the end of the robot arm.
  • the mobile robot may perform posture alignment between the tool and the work area by recognizing a specific pattern (eg, a visual marker) located in a work space through the camera or matching a known target object in advance.
  • a specific pattern eg, a visual marker
  • the posture alignment method using such a camera requires a high-resolution camera for precise posture alignment, resulting in an increase in cost, and a number of coordinate system transformations are accompanied in the posture alignment process, and there is a disadvantage in that the probability of an error occurs in the process.
  • Various embodiments of the present invention provide a mobile robot that performs work between a plurality of work areas, through a first posture measurement sensor attached to an end of a robot arm to which a tool is coupled, and a second posture measurement sensor attached to the work area.
  • An object is to provide a mobile robot that aligns the posture of the tool and the posture of the work area based on a fixed coordinate system (eg, a gravity coordinate system).
  • a mobile robot that performs a task specified in a work area using a tool is installed at a tip of the robot connected to the tool, and at the tip of the robot, based on a fixed coordinate system.
  • a first posture measurement sensor for measuring current posture information a posture calculating device for calculating a first rotation matrix of the robot tip based on the current posture information, the first rotation matrix and a second rotation matrix corresponding to the work area
  • a posture correction calculating device that calculates a third rotation matrix based on the difference between and converts the third rotation matrix into robot angle information for controlling the robot tip, and the robot tip and the robot based on the robot angle information. It may include a robot controller to align the work area.
  • a method for aligning a posture of a mobile robot performing a designated work in a selected work area among at least one work area using a tool connected to a tip end of the robot may include: Moving to an area and moving the tool to a measurement posture, an operation of measuring a current tool posture using a first posture measurement sensor installed at the tip of the robot, and a target posture for the selected work area from a target posture storage device Checking for, calculating a first rotation matrix through a posture calculating device based on the current tool posture, and correcting a posture based on a difference between the first rotation matrix and a second rotation matrix corresponding to the target posture An operation of calculating a third rotation matrix through an operation device, an operation of generating a robot rotation angle for controlling the tip of the robot by transforming the third rotation matrix through the posture correction operation device, and based on the robot rotation angle It may include an operation of aligning the tool and the selected work area by changing the position of the tip of the robot.
  • a posture alignment cost may be reduced by using a posture measuring sensor instead of a high-performance camera.
  • FIG. 1 is a view showing a mobile robot according to an embodiment of the present invention.
  • FIG. 2 and 1 are block diagrams illustrating an example of a method of aligning a posture by the mobile robot of FIG. 1.
  • FIG. 3 is a block diagram illustrating an example of the first posture measurement sensor of FIG. 2.
  • FIG. 4 is a diagram illustrating a method of moving a plurality of work areas by a mobile robot according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a method of aligning a tool posture of a mobile robot according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a method of setting a target posture for a tool posture of a mobile robot according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating an example of a combined state of a tool and a work area when setting a target posture of the mobile robot in FIG. 6.
  • FIG. 8 is a flowchart illustrating a method of setting a target posture for a tool posture of a mobile robot according to various embodiments of the present disclosure.
  • FIG. 9 is a diagram illustrating an example of a work area when setting a target posture of a mobile robot in FIG. 8.
  • FIG. 1 is a view showing a mobile robot according to an embodiment of the present invention.
  • 2 and 1 are block diagrams illustrating an example of a method of aligning a posture by the mobile robot of FIG. 1.
  • the mobile robot 100 includes a robot controller 101, a robot base 110, a robot arm 120, a robot tip 130, a tool 140, a camera 150, and 1 It may include a posture measurement sensor 160, a posture calculating device 170, a target posture storage device 180, and a posture correction calculating device 190.
  • the work object 200 may include a work table 210, a work area 240, a posture alignment pattern 250 (eg, a marker), and a second posture measurement sensor 260.
  • the mobile robot 100 may move to at least one work target 200 and perform a predetermined task.
  • the mobile robot 100 moves to the work target 200 and performs an operation of aligning the tool 140 connected to the robot tip 130 and the work area 240 of the work target 200 before performing a predetermined task. can do.
  • the mobile robot 100 may move the robot arm 120 to a measurement posture.
  • the mobile robot 100 may move to the selected work object 200.
  • the mobile robot 100 may move the robot arm 120 to a measurement posture using the camera 150.
  • the robot controller 101 may detect the posture alignment pattern 250 through the camera 150.
  • the robot arm 120 may include at least one joint.
  • the robot controller 101 uses the coordinate system of the robot base 110, the coordinate system of at least one joint of the robot arm 120, the coordinate system of the camera 150, and the coordinate system of the posture alignment pattern 250 to the robot tip 130. Can be moved to the measurement position.
  • the robot controller 101 may perform a coordinate system transformation through Hand-Eye calibration or a camera calibration, and may move the robot tip 130 to an approximate measurement posture using the result of the coordinate system transformation.
  • the mobile robot 100 may perform a precise posture alignment operation with respect to the tool 140 connected to the robot tip 130 and the work area 240. For example, the mobile robot 100 compares the current tool posture with the target posture for the work area 240 of the selected work object 200 based on a fixed coordinate system (eg, gravity coordinate system), and The work area 240 can be aligned.
  • a fixed coordinate system eg, gravity coordinate system
  • the mobile robot 100 may measure a current tool posture (eg, a posture of the robot tip 130).
  • a current tool posture eg, a posture of the robot tip 130.
  • the first posture measurement sensor 160 may measure a gravity direction and a geomagnetic direction corresponding to the current tool posture.
  • the first posture measurement sensor 160 may output Euler angle information (eg, roll, pitch, yaw) corresponding to the current tool posture based on the gravity direction and the geomagnetic direction.
  • the first posture measurement sensor 160 may be installed (or detached from) the robot tip 130.
  • the first posture measurement sensor 160 may include a coupling member (eg, a clasp, an adhesive layer, a coupling groove) to be attached to and detached from the robot tip 130.
  • the posture calculating apparatus 170 may calculate a rotation matrix corresponding to a current tool posture.
  • the posture calculating device 170 may receive Euler angle information of the tip 130 of the robot from the first posture measurement sensor 160.
  • the posture calculating device 170 may calculate a rotation matrix corresponding to the posture of the robot tip 130 (hereinafter, a current rotation matrix) using Euler angle information of the robot tip 130.
  • a rotation matrix for Yaw angle ( ⁇ ) information can be calculated as in Equation 1.
  • the rotation matrix for the pitch angle ⁇ information can be calculated as in Equation 2.
  • Equation 3 The rotation matrix for the roll angle ( ⁇ ) information can be calculated as in Equation 3.
  • Equation 4 the entire rotation matrix (eg, a rotation matrix corresponding to the current tool posture) can be calculated as shown in Equation 4.
  • the first posture measurement sensor 160 may have a sensor coordinate system.
  • the sensor coordinate system may be inclined with respect to the fixed coordinate system according to the attitude of the first attitude measurement sensor 160.
  • the posture calculating apparatus 170 may calculate a rotation matrix corresponding to inclination between the fixed coordinate system and the sensor coordinate system.
  • the posture calculation apparatus 170 may calculate a rotation matrix using a Kalman filter, which is one of the probabilistic methods.
  • the posture correction calculating apparatus 190 may calculate a correction rotation matrix corresponding to a current tool posture.
  • the posture correction calculating device 190 may receive the current rotation matrix from the posture calculating device 170.
  • the posture correction calculating device 190 may check a target posture for the work area 240 of the selected work object 200.
  • the posture correction operation device 190 may receive a rotation matrix corresponding to the target posture (hereinafter, a target rotation matrix) from the target posture storage device 180.
  • the posture correction operation apparatus 190 may calculate the correction rotation matrix Rc based on the current rotation matrix R0 and the target rotation matrix Rd as in Equation (5).
  • the mobile robot 100 may store a target posture for each of the work targets in the target posture storage device 180 in advance.
  • the posture correction calculating device 190 may generate a robot rotation angle for correcting the posture of the robot arm 120.
  • the posture correction operation device 190 may convert the correction rotation matrix into a robot rotation angle (eg, a 3-axis angle value) for controlling the robot arm 120 and the robot tip 130.
  • a robot rotation angle eg, a 3-axis angle value
  • the Euler angle corresponding to an arbitrary rotation matrix can be calculated as in Equation 6.
  • the robot controller 101 may drive the robot arm 120 based on the robot rotation angle.
  • the robot controller 101 may move the robot tip 130 in a three-axis direction based on a fixed coordinate system based on the robot rotation angle.
  • the tool 140 may be connected to the robot tip 130 according to a designated direction.
  • the tool 140 may move in the same manner according to the movement of the robot tip 130. Therefore, the tool 140 may have the same coordinate value as the robot tip 130 in a fixed coordinate system, and when the robot tip 130 is aligned with the work area 240, the tool 140 is also The same may be arranged on the work area 240.
  • the mobile robot 100 may determine whether the tool posture alignment has been completed.
  • the posture calculating device 170 may receive Euler angle information measured after the posture alignment operation is performed from the first posture measuring device 160.
  • the posture calculating device 170 may receive Euler angle information corresponding to the target posture of the work area 240 from the target posture storage device 180.
  • the posture calculating apparatus 170 may compare the difference between the Euler angle information measured after the posture alignment operation is performed and the Euler angle information corresponding to the target posture (hereinafter, posture error) with a reference error. When the posture error is smaller than the reference error, the posture calculating device 170 may notify the robot controller 101 that the posture alignment of the tool 140 is completed. When the posture error is greater than the reference error, the mobile robot 100 may repeat the posture alignment operation of the tool 140.
  • the mobile robot 100 may set a target posture in advance. For example, after the tool 140 connected to the robot tip 130 is coupled to the work area 240 of the work target 200, the posture calculating device 170 is measured using the first posture measurement sensor 160 The posture of the robot tip 130 (or the tool 140) may be set as a target posture for the work area 240. Alternatively, the posture calculating device 170 may set the posture of the work area 240 measured by using the second posture measurement sensor 260 installed in the work area 240 as a target posture for the work area 240. For example, the second posture measurement sensor 260 may be attached to and detached from the work area 240.
  • the second posture measurement sensor 260 may include a coupling member (eg, a clasp, an adhesive layer, and a coupling groove) that is detachably attached to the work area 240.
  • the target posture may be expressed as Euler angle information based on a fixed coordinate system or a rotation matrix in which Euler angle information is converted.
  • the set target posture may be stored in the target posture storage device 180.
  • FIG. 3 is a block diagram illustrating an example of the first posture measurement sensor of FIG. 2.
  • the first posture measurement sensor 160 may include an acceleration sensor 161 and a geomagnetic sensor 162.
  • the first posture measurement sensor 160 may be installed at the tip 130 of the robot.
  • the second posture measurement sensor 260 installed in the work area 240 may also have the same or similar configuration as the first posture measurement sensor 160.
  • the acceleration sensor 161 may measure a direction of gravity corresponding to a posture of the tip 130 of the robot.
  • the geomagnetic sensor 162 may measure the direction of the geomagnetism corresponding to the posture of the robot tip 130.
  • the first posture measurement sensor 160 determines the current posture of the robot tip 130 based on the gravity direction and the geomagnetic direction, based on a fixed coordinate system (eg, a gravity coordinate system), and Euler angle information (eg, roll, pitch, yaw). ) Can be printed.
  • a fixed coordinate system eg, a gravity coordinate system
  • Euler angle information eg, roll, pitch, yaw
  • FIG. 4 is a diagram illustrating a method of moving a plurality of work areas by a mobile robot according to an embodiment of the present invention.
  • a work place 400 may include a plurality of work objects 200-1 to 200 -n.
  • the mobile robot 100 may perform predetermined tasks by moving between the work objects 200-1 to 200 -n.
  • the mobile robot 100 may move based on the work path 401 corresponding to the arrangement of the work objects 200-1 to 200 -n.
  • the positions in which the work areas included in the work targets 200-1 to 200-n are arranged are different from each other, or the position of the tip of the robot (eg, the tip of the robot 130) is changed while the mobile robot 100 is moving. Therefore, the mobile robot 100 may perform a posture alignment operation after stopping in front of a selected work target (eg, work target 200 in FIG. 1) among work targets 200-1 to 200-n. .
  • a mobile robot that performs a specified task on a work area (eg, work area 240) using a tool (eg, tool 140) is, the tool
  • a first posture measurement sensor eg, a first posture measurement sensor
  • the robot tip eg, robot tip 130
  • a posture calculating device for example, posture calculating device 170
  • a posture correction calculating device e.g., posture correction calculating device 190
  • a robot controller e.g, robot controller 101
  • the fixed coordinate system may include a coordinate system set based on gravity.
  • the mobile robot may further include a target posture storage device (eg, target posture storage device 180) that stores the second rotation matrix.
  • the work area includes a selected one of a plurality of work areas
  • the target posture storage device may store data on a target posture corresponding to each of the plurality of work areas in advance.
  • the posture calculating apparatus calculates the second rotation matrix based on a measurement value of the first posture measurement sensor measured while the tool is aligned within a certain range of the work area, and 2 The rotation matrix may be previously stored in the target posture storage device.
  • the posture calculating device calculates the second rotation matrix based on a measurement value of a second posture measurement sensor (eg, second posture measurement sensor 260) attached to the work area, and the The second rotation matrix may be previously stored in the target posture storage device.
  • each of the first posture measurement sensor and the second posture measurement sensor measures an acceleration sensor (for example, an acceleration sensor 161) that measures an inclination of the tip of the robot with respect to the direction of gravity and a direction of a geomagnetic It may include at least one of the geomagnetic sensor (eg, the geomagnetic sensor 162).
  • each of the first posture measurement sensor and the second posture measurement sensor calculates Euler angle information of the tip of the robot in the fixed coordinate system based on a measurement result of the acceleration sensor and a measurement result of the geomagnetic sensor. Can be generated.
  • the second posture measurement sensor may include a coupling member that is detachably attached to the work area.
  • the current posture information may include Euler angle information of the tip of the robot.
  • the mobile robot further includes a camera (eg, camera 150) that detects a posture alignment pattern (eg, posture alignment pattern 250) installed in the work area, and the robot controller The front end of the robot may be moved to the measurement posture based on a result of detection by the camera for the posture alignment pattern.
  • a camera eg, camera 150
  • a posture alignment pattern eg, posture alignment pattern 250
  • FIG. 5 is a flowchart illustrating a method of aligning a tool posture of a mobile robot according to an embodiment of the present invention.
  • the mobile robot 100 includes a first posture measurement sensor 160 and a second posture measurement sensor 260 that measure a posture using a fixed coordinate system (eg, a gravity coordinate system).
  • a fixed coordinate system eg, a gravity coordinate system.
  • the posture of the tool 140 connected to the robot tip 130 may be aligned.
  • the mobile robot 100 may move to a working position and control the robot arm 120 to take a measurement posture.
  • the mobile robot 100 may move to the selected work object 200.
  • the mobile robot 100 may control the robot arm 120 to take a measurement posture using the camera 150 and the posture alignment pattern 250.
  • the mobile robot 100 may measure a current tool posture.
  • the mobile robot 100 may measure Euler angle information corresponding to the current tool posture through the first posture measurement sensor 160.
  • the first posture measurement sensor 160 may be attached to the tip 130 of the robot.
  • the first posture measurement sensor 160 may measure Euler angle information of the tip 130 of the robot based on a fixed coordinate system.
  • the mobile robot 100 may check a target posture with respect to the current (or selected work target 200) work area 240.
  • the mobile robot 100 may check the target posture for the current work area 240 in the target posture storage device 180.
  • the mobile robot 100 may store a target posture for each of the work targets (eg, 200-1 to 200-n in FIG. 4) in the work place in the target posture storage device 180 in advance.
  • the mobile robot 100 couples the tool 140 connected to the robot tip 130 to the work area 240 of the work target 200 and then the robot tip 130 measured using the first posture measurement sensor 160 ( Alternatively, the posture of the tool 140 may be set as a target posture for the work area 240.
  • the mobile robot 100 may set the posture of the work area 240 measured using the second posture measurement sensor 260 attached to the work area 240 as a target posture with respect to the work area 240.
  • the mobile robot 100 may calculate a rotation matrix through the posture calculating device 170.
  • the posture calculating device 170 may receive Euler angle information of the tip 130 of the robot from the first posture measurement sensor 160.
  • the posture calculating device 170 may calculate a rotation matrix corresponding to the posture of the robot tip 130 (hereinafter, a current rotation matrix) using Euler angle information of the robot tip 130.
  • the mobile robot 100 may calculate a correction rotation matrix through the posture correction operation device 190.
  • the posture correction calculating device 190 may receive the current rotation matrix from the posture calculating device 170.
  • the posture correction operation device 190 may receive a rotation matrix corresponding to the target posture (hereinafter, a target rotation matrix) from the target posture storage device 180 in operation 515.
  • the posture correction operation device 190 may calculate a correction rotation matrix based on the current rotation matrix and the target rotation matrix.
  • the mobile robot 100 may generate a robot rotation angle for correcting the posture of the robot arm 120 through the posture correction calculating device 190.
  • the posture correction operation device 190 may convert the correction rotation matrix into a robot rotation angle (eg, a 3-axis angle value) for controlling the robot arm 120 and the robot tip 130.
  • the mobile robot 100 may drive the robot arm 120 based on the robot rotation angle.
  • the robot controller 101 may move the robot tip 130 in a three-axis direction based on a fixed coordinate system based on the robot rotation angle.
  • the tool 140 connected to the robot tip 130 may move in the same manner according to the movement of the robot tip 130.
  • the mobile robot 100 may measure a current tool posture (eg, a state after operations 515 to 535 are performed). For example, the mobile robot 100 may measure Euler angle information of the current robot tip 130 through the first posture measurement sensor 160 in the same manner as in operation 510.
  • a current tool posture eg, a state after operations 515 to 535 are performed.
  • the mobile robot 100 may measure Euler angle information of the current robot tip 130 through the first posture measurement sensor 160 in the same manner as in operation 510.
  • the mobile robot 100 may determine whether the tool posture alignment has been completed through the posture calculating device 170.
  • the posture calculating device 170 may receive Euler angle information measured in operation 540 from the first posture measuring device 160.
  • the posture calculating device 170 may receive Euler angle information corresponding to the target posture of the work area 240 from the target posture storage device 180.
  • the posture calculating apparatus 170 may compare a difference between Euler angle information corresponding to the current tool posture and Euler angle information corresponding to the target posture (hereinafter, posture error) with a reference error.
  • posture error Euler angle information corresponding to the current tool posture
  • FIG. 6 is a flowchart illustrating a method of setting a target posture for a tool posture of a mobile robot according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating an example of a combined state of a tool and a work area when setting a target posture of the mobile robot in FIG. 6.
  • the mobile robot 100 is a selected task from among work objects (eg, 200-1 to 200-n in FIG. 4) in a work place (eg, work place 400 in FIG. 4).
  • a target posture for the selected work area 240 may be set. .
  • the mobile robot 100 includes the tool 140 so that the tool 140 connected to the robot tip 130 is aligned within a certain range of the work area 240 of the selected work object 200.
  • the tool 140 may include a torque sensor 701 (eg, a force torque (FT) sensor).
  • FT force torque
  • the robot controller 101 may receive torque information from the torque sensor 701 in real time. The robot controller 101 may move the tool 140 so that the workpiece is mounted on the work area 240 without damage based on the torque information.
  • the mobile robot 100 may measure the current tool posture.
  • the first posture measurement sensor 160 may be installed (or detached from) the robot tip 130.
  • the first posture measurement sensor 160 may include a coupling member (eg, a clasp, an adhesive layer, a coupling groove) to be attached to and detached from the robot tip 130.
  • the mobile robot 100 uses the first posture measurement sensor 160 to provide Euler angle information corresponding to the current tool posture (eg, roll, pitch, yaw). ) Can be measured.
  • the first posture measurement sensor 160 may measure Euler angle information of the tip 130 of the robot based on a fixed coordinate system.
  • the mobile robot 100 may set the measured tool posture as a target posture for the selected work area 240.
  • the posture calculating apparatus 170 may receive Euler angle information measured in operation 620 from the first posture measurement sensor 160.
  • the posture calculating device 170 may store the Euler angle information as a target posture in the target posture storage device 180.
  • the posture calculating device 170 may calculate a current rotation matrix using the Euler angle information.
  • the posture calculating device 170 may store the current rotation matrix as a target posture in the target posture storage device 180.
  • the mobile robot 100 may determine whether a target posture has been set for work areas of all work objects in the work place. For example, when target posture setting for all work areas is completed, the mobile robot 100 may end the target posture setting operation. When there is a work area in which the target posture setting has not been completed, the mobile robot 100 may perform an operation 650.
  • the mobile robot 100 may move to the next work area. For example, the mobile robot 100 may repeatedly perform operations 610 to 630 for the next work area.
  • FIG. 8 is a flowchart illustrating a method of setting a target posture for a tool posture of a mobile robot according to various embodiments of the present disclosure.
  • 9 is a diagram illustrating an example of a work area when setting a target posture of a mobile robot in FIG. 8.
  • the mobile robot 100 may set a target posture for the selected work area 240 using the second posture measurement sensor 260 attached to the selected work area 240.
  • the second posture measurement sensor 260 may be installed (or detached) by aligning it with the work area 240 of the selected work object 200.
  • the mobile robot 100 may move to the selected work target 200 and attach the second posture measurement sensor 260 to the selected work area 240.
  • the second posture measurement sensor 260 may be attached to one side of the selected work area 240.
  • the second posture measurement sensor 260 may include a coupling member (eg, a clasp, an adhesive layer, and a coupling groove) to be detachably attached to the selected working area 240.
  • the second posture measurement sensor 260 may be manually attached by a user.
  • the second posture measurement sensor 260 may measure the work area posture of the selected work area 240.
  • the second posture measurement sensor 260 may measure Euler angle information (eg, roll, pitch, yaw) corresponding to the posture of the selected work area 240.
  • the second posture measurement sensor 260 may measure the Euler angle information based on a fixed coordinate system.
  • the mobile robot 100 may set the measured work area posture as a target posture for the selected work area 240.
  • the posture calculating apparatus 170 may receive Euler angle information measured in operation 820 from the second posture measurement sensor 260.
  • the posture calculating device 170 may store the Euler angle information as a target posture in the target posture storage device 180.
  • the posture calculating device 170 may calculate a current rotation matrix using the Euler angle information.
  • the posture calculating device 170 may store the current rotation matrix as a target posture in the target posture storage device 180.
  • the mobile robot 100 performs all work objects (eg, work objects 200-1 to 200 in FIG. 4) in a work place (eg, work place 400 in FIG. 4 ). It can be determined whether the target posture has been set for the working areas of -n)). For example, when target posture setting for all work areas is completed, the mobile robot 100 may end the target posture setting operation. When there is a work area in which the target posture setting has not been completed, the mobile robot 100 may repeatedly perform operations 810 to 830 with respect to the remaining work areas.
  • a selected work area (eg, the work area 240) among at least one work area is
  • the posture alignment method of a mobile robot (eg, mobile robot 100) that performs a designated task includes moving the mobile robot to the selected work area and moving the tool to the measurement posture.
  • An operation of confirming a target posture an operation of calculating a first rotation matrix through a posture calculating device (eg, posture calculating device 170) based on the current tool posture, corresponding to the first rotation matrix and the target posture
  • An operation of calculating a third rotation matrix through a posture correction calculating device eg, posture correction calculating device 190
  • an operation of generating a rotation angle of the robot for controlling the tip of the robot and an operation of aligning the tool with the selected work area by changing a position of the tip of the robot based on the rotation angle of the robot.
  • the method of aligning the posture of the mobile robot includes changing a position of the tip of the robot based on the rotation angle of the robot, and receiving posture information of the tip of the robot through a first posture measurement sensor, and An operation of measuring the current tool posture or determining whether an operation of aligning the tool and the selected work area is repeatedly performed based on the posture information and the posture error of the target posture.
  • the mobile robot may couple the tool to the work area.
  • the operation of measuring the current tool posture or the alignment of the tool and the selected work area may be repeatedly performed.
  • the posture calculating apparatus calculates the second rotation matrix based on a measurement value of the first posture measurement sensor measured while the tool is aligned within a certain range of the work area, and 2
  • the rotation matrix may be previously stored in the target posture storage device.
  • the posture calculating device calculates the second rotation matrix based on a measurement value of a second posture measurement sensor (eg, second posture measurement sensor 260) attached to the work area, and the The second rotation matrix may be previously stored in the target posture storage device.
  • each of the first posture measurement sensor and the second posture measurement sensor measures an acceleration sensor (for example, an acceleration sensor 161) that measures an inclination of the tip of the robot with respect to the direction of gravity and a direction of a geomagnetic It may include a geomagnetic sensor (eg, geomagnetic sensor 162).
  • each of the first posture measurement sensor and the second posture measurement sensor calculates Euler angle information of the tip of the robot in the fixed coordinate system based on a measurement result of the acceleration sensor and a measurement result of the geomagnetic sensor. Can be generated.
  • the second posture measurement sensor may include a coupling member that is detachably attached to the work area.
  • a certain (eg, first) component is “(functionally or communicatively) connected” or “connected” to another (eg, second) component
  • the certain component is It may be directly connected to the component, or may be connected through another component (eg, a third component).
  • adapted to or configured to means “adapted to or configured to” depending on the situation, for example, in hardware or software, “suitable for”, “having the ability to ", “changed to” , “Made to”, “can do”, or “designed to” can be used interchangeably.
  • the expression “a device configured to” may mean that the device “can” along with other devices or parts.
  • a processor configured (or configured) to perform A, B, and C refers to a processor dedicated to performing the operations (eg, an embedded processor), or one stored in a memory device (eg, memory 130).
  • a general-purpose processor eg, CPU or AP
  • module used in this document includes a unit composed of hardware, software, or firmware, and is used interchangeably with terms such as logic, logic blocks, parts, or circuits. I can.
  • the “module” may be an integrally configured component or a minimum unit that performs one or more functions, or a part thereof.
  • Modules can be implemented mechanically or electronically, for example, known or future development, application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), or It may include a programmable logic device.
  • ASIC application-specific integrated circuit
  • FPGAs field-programmable gate arrays
  • At least a part of an apparatus (eg, modules or their functions) or a method (eg, operations) according to various embodiments is a command stored in a computer-readable storage medium (eg, memory 130) in the form of a program module Can be implemented as When the command is executed by a processor (for example, the processor 120), the processor may perform a function corresponding to the command.
  • Computer-readable recording media include hard disks, floppy disks, magnetic media (eg, magnetic tape), optical recording media (eg, CD-ROM, DVD, magnetic-optical media (eg, floppy disks)), internal memory, etc.
  • the instruction may include code generated by a compiler or code that can be executed by an interpreter.
  • Each of the constituent elements may be composed of a singular or a plurality of entities, and some of the aforementioned sub-elements may be omitted, or other sub-elements may be omitted. It may contain more. Alternatively or additionally, some constituent elements (eg, a module or a program module) may be integrated into a single entity to perform the same or similar functions performed by each corresponding constituent element before the consolidation. Operations performed by modules, program modules, or other components according to various embodiments may be sequentially, parallel, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations. Can be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

공구를 이용하여 작업 영역에 지정된 작업을 수행하는 이동형 로봇에 있어서, 상기 공구와 연결되는 로봇 선단, 상기 로봇 선단에 설치되며, 고정 좌표계에 기반하여 상기 로봇 선단의 현재 자세 정보를 측정하는 제1 자세 측정 센서, 상기 현재 자세 정보에 기초하여 상기 로봇 선단의 제1 회전 행렬을 연산하는 자세 연산 장치, 상기 제1 회전 행렬 및 상기 작업 영역에 대응하는 제2 회전 행렬의 차이에 기초하여 제3 회전 행렬을 연산하고, 상기 제3 회전 행렬을 상기 로봇 선단을 제어하기 위한 로봇 각도 정보로 변환하는 자세 보정 연산 장치, 및 상기 로봇 각도 정보에 기초하여 상기 로봇 선단과 상기 작업 영역을 정렬하는 로봇 제어기를 포함하는 이동형 로봇이 개시된다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

이동형 로봇 및 그것의 로봇 암 정렬 방법
본 문서에서 개시되는 실시 예들은, 이동형 로봇의 로봇 선단에 연결된 공구를 작업 영역에 정렬하는 기술과 관련된다.
최근 산업 현장에서 생산성 향상, 인력 감소, 품질 향상 등을 위해 로봇 매니퓰레이터(robot manipulator)를 이용한 공장 자동화가 빠르게 확산되고 있는 추세이다. 일반적인 산업용 로봇 시스템은 로봇의 기저부를 고정시켜서 한정된 공간에서만 사용하는데 반하여, 이동형 로봇은 다수의 작업 공간에서 작업을 수행할 수 있는 특징이 있다. 이동형 로봇은 다른 작업 공간으로 이동할 때마다 로봇 암의 정렬 상태가 달라지기 때문에 매번 작업 공간에 대한 확인 및 정렬 과정이 필요하다.
일반적으로 이동형 로봇은 로봇 암의 종단에 위치한 카메라를 이용하여 로봇 암의 종단에 연결될 공구와 작업 영역을 정렬을 수행할 수 있다. 이동형 로봇은 상기 카메라를 통해 작업 공간에 위치한 특정 패턴(예: 시각적 마커)을 인식하거나 사전에 알고 있는 대상 물체를 매칭하여 상기 공구와 상기 작업 영역 사이의 자세 정렬을 수행할 수 있다. 다만, 이러한 카메라를 이용한 자세 정렬 방법은 정밀한 자세 정렬을 위해서 고해상도 카메라 요구되어 비용 증가가 수반되며, 자세 정렬 과정에서 다수의 좌표계 변환이 동반되고 그 과정에서 오차 발생의 확률이 높아지는 단점이 있다.
본 발명의 다양한 실시 예들은 다수의 작업 영역 간에 작업을 수행하는 이동형 로봇에 있어서, 공구가 결합되는 로봇 암의 종단에 부착된 제1 자세 측정 센서 및 작업 영역에 부착된 제2 자세 측정 센서를 통해 고정 좌표계(예: 중력 좌표계)에 기반하여 상기 공구의 자세 및 상기 작업 영역의 자세를 정렬하는 이동형 로봇을 제공하고자 한다.
본 문서에 개시되는 일 실시 예에 따른 공구를 이용하여 작업 영역에 지정된 작업을 수행하는 이동형 로봇은, 상기 공구와 연결되는 로봇 선단, 상기 로봇 선단에 설치되며, 고정 좌표계에 기반하여 상기 로봇 선단의 현재 자세 정보를 측정하는 제1 자세 측정 센서, 상기 현재 자세 정보에 기초하여 상기 로봇 선단의 제1 회전 행렬을 연산하는 자세 연산 장치, 상기 제1 회전 행렬 및 상기 작업 영역에 대응하는 제2 회전 행렬의 차이에 기초하여 제3 회전 행렬을 연산하고, 상기 제3 회전 행렬을 상기 로봇 선단을 제어하기 위한 로봇 각도 정보로 변환하는 자세 보정 연산 장치, 및 상기 로봇 각도 정보에 기초하여 상기 로봇 선단과 상기 작업 영역을 정렬하는 로봇 제어기를 포함할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 로봇 선단에 연결된 공구를 이용하여 적어도 하나의 작업 영역 중 선택된 작업 영역에 지정된 작업을 수행하는 이동형 로봇의 자세 정렬 방법은, 상기 이동형 로봇을 상기 선택된 작업 영역으로 이동시키고, 상기 공구를 측정 자세로 이동시키는 동작, 상기 로봇 선단에 설치된 제1 자세 측정 센서를 이용하여 현재의 공구 자세를 측정하는 동작, 목표 자세 저장 장치로부터 상기 선택된 작업 영역에 대한 목표 자세를 확인하는 동작, 상기 현재의 공구 자세에 기초하여 자세 연산 장치를 통해 제1 회전 행렬을 연산하는 동작, 상기 제1 회전 행렬 및 상기 목표 자세에 대응하는 제2 회전 행렬의 차이에 기초하여 자세 보정 연산 장치를 통해 제3 회전 행렬을 연산하는 동작, 상기 자세 보정 연산 장치를 통해 상기 제3 회전 행렬을 변환하여 상기 로봇 선단을 제어하기 위한 로봇 회전 각도를 생성하는 동작, 상기 로봇 회전 각도에 기초하여 상기 로봇 선단의 위치를 변경하여 상기 공구와 상기 선택된 작업 영역을 정렬하는 동작을 포함할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 고정 좌표계 기반으로 공구와 작업 영역을 정렬하여 좌표계 변환에 따른 오류를 방지하고 정밀한 자세 정렬이 가능하다.
본 문서에 개시되는 실시 예들에 따르면, 고성능 카메라를 대신하여 자세 측정 센서를 사용하여 자세 정렬 비용을 절감할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 이동형 로봇을 나타내는 도면이다.
도 2, 도 1의 이동형 로봇이 자세를 정렬하는 방법의 일 예를 나타내는 블록도이다.
도 3은, 도 2의 제1 자세 측정 센서의 일 예를 나타내는 블록도이다.
도 4는 본 발명의 일 실시 예에 따른 이동형 로봇이 복수의 작업 영역을 이동하는 방법을 나타내는 도면이다.
도 5는 본 발명의 일 실시 예에 따른 이동형 로봇의 공구 자세를 정렬하는 방법을 나타내는 순서도이다.
도 6은 본 발명의 일 실시 예에 따른 이동형 로봇의 공구 자세에 대한 목표 자세를 설정하는 방법을 나타내는 순서도이다.
도 7은, 도 6에서 이동형 로봇의 목표 자세 설정 시 공구와 작업 영역의 결합 상태의 일 예를 나타내는 도면이다.
도 8은 본 발명의 다양한 실시 예에 따른 이동형 로봇의 공구 자세에 대한 목표 자세를 설정하는 방법을 나타내는 순서도이다.
도 9는, 도 8에서 이동형 로봇의 목표 자세 설정 시 작업 영역의 일 예를 나타내는 도면이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시 예에 따른 이동형 로봇을 나타내는 도면이다. 도 2, 도 1의 이동형 로봇이 자세를 정렬하는 방법의 일 예를 나타내는 블록도이다.
도 1 및 도 2를 참조하면, 이동형 로봇(100)은 로봇 제어기(101), 로봇 기저부(110), 로봇 암(120), 로봇 선단(130), 공구(140), 카메라(150), 제1 자세 측정 센서(160), 자세 연산 장치(170), 목표 자세 저장 장치(180) 및 자세 보정 연산 장치(190)를 포함할 수 있다. 작업 대상(200)은 작업대(210), 작업 영역(240), 자세 정렬 패턴(250)(예: 마커) 및 제2 자세 측정 센서(260)를 포함할 수 있다.
일 실시 예에 따르면, 이동형 로봇(100)은 적어도 하나의 작업 대상(200)으로 이동하여 미리 정해진 작업을 수행할 수 있다. 이동형 로봇(100)은 작업 대상(200)으로 이동하여 미리 정해진 작업을 수행하기 전에 로봇 선단(130)에 연결된 공구(140)와 작업 대상(200)의 작업 영역(240)을 정렬하는 동작을 수행할 수 있다.
일 실시 예에 따르면, 이동형 로봇(100)은 로봇 암(120)을 측정 자세로 이동시킬 수 있다. 예를 들면, 이동형 로봇(100)은 선택된 작업 대상(200)으로 이동할 수 있다. 이동형 로봇(100)은 카메라(150)를 이용하여 로봇 암(120)을 측정 자세로 이동시킬 수 있다. 로봇 제어기(101)는 카메라(150)를 통해 자세 정렬 패턴(250)을 감지할 수 있다. 예컨대, 로봇 암(120)은 적어도 하나의 관절을 포함할 수 있다. 로봇 제어기(101)는 로봇 기저부(110)의 좌표계, 로봇 암(120)의 적어도 하나의 관절의 좌표계, 카메라(150)의 좌표계 및 자세 정렬 패턴(250)의 좌표계를 이용하여 로봇 선단(130)을 측정 자세로 이동시킬 수 있다. 로봇 제어기(101)는 Hand-Eye 캘리브레이션 또는 카메라 캘리브레이션을 통해 좌표계 변환을 수행하고, 좌표계 변환 결과를 이용하여 로봇 선단(130)을 대략적인 측정 자세로 이동시킬 수 있다.
일 실시 예에 따르면, 측정 자세에서, 이동형 로봇(100)은 로봇 선단(130)에 연결된 공구(140)와 작업 영역(240)에 대하여 정밀 자세 정렬 동작을 수행할 수 있다. 예를 들면, 이동형 로봇(100)은 고정 좌표계(예: 중력 좌표계)를 기반으로 현재의 공구 자세와 선택된 작업 대상(200)의 작업 영역(240)에 대한 목표 자세를 비교하여 공구(140)와 작업 영역(240)을 정렬할 수 있다.
일 실시 예에 따르면, 이동형 로봇(100)은 현재의 공구 자세(예: 로봇 선단(130)의 자세)를 측정할 수 있다. 예를 들면, 제1 자세 측정 센서(160)는 현재의 공구 자세에 대응하는 중력 방향 및 지자기 방향을 측정할 수 있다. 제1 자세 측정 센서(160)는 상기 중력 방향 및 상기 지자기 방향에 기초하여 현재의 공구 자세에 대응하는 오일러 각도 정보(예: roll, pitch, yaw)를 출력할 수 있다. 다양한 실시 예로서, 제1 자세 측정 센서(160)는 로봇 선단(130)에 설치(또는 탈부착)될 수 있다. 제1 자세 측정 센서(160)는 로봇 선단(130)에 탈부착되도록 하는 결합 부재(예: 걸쇠, 접착층, 결합용 홈)를 포함할 수 있다.
일 실시 예에 따르면, 자세 연산 장치(170)는 현재의 공구 자세에 대응하는 회전 행렬을 연산할 수 있다. 예를 들면, 자세 연산 장치(170)는 제1 자세 측정 센서(160)로부터 로봇 선단(130)의 오일러 각도 정보를 수신할 수 있다. 자세 연산 장치(170)는 로봇 선단(130)의 오일러 각도 정보를 이용하여 로봇 선단(130)의 자세에 대응하는 회전 행렬(이하, 현재 회전 행렬)을 연산할 수 있다. 예컨대, Yaw 각도(α) 정보에 대한 회전 행렬은 수학식 1과 같이 연산할 수 있다.
Figure PCTKR2020002290-appb-M000001
Pitch 각도(β) 정보에 대한 회전 행렬은 수학식 2와 같이 연산할 수 있다.
Figure PCTKR2020002290-appb-M000002
Roll 각도(γ) 정보에 대한 회전 행렬은 수학식 3과 같이 연산할 수 있다.
Figure PCTKR2020002290-appb-M000003
고정 축 기반 Roll-Pitch-Yaw 순서로 회전함을 가정했을 때, 전체 회전 행렬(예: 현재의 공구 자세에 대응하는 회전 행렬)은 수학식 4와 같이 연산할 수 있다.
Figure PCTKR2020002290-appb-M000004
다양한 실시 예에 따르면, 고정 좌표계에 대하여 제1 자세 측정 센서(160)는 센서 좌표계를 가질 수 있다. 센서 좌표계는 제1 자세 측정 센서(160)의 자세에 따라 고정 좌표계에 대하여 기울어질 수 있다. 자세 연산 장치(170)는 고정 좌표계와 센서 좌표계 사이의 기울어짐에 대응하는 회전 행렬을 연산할 수 있다. 예컨대, 자세 연산 장치(170)는 확률론적인 방법의 하나인 칼만 필터(Kalman filter)를 이용하여 회전 행렬을 연산할 수 있다.
일 실시 예에 따르면, 자세 보정 연산 장치(190)는 현재의 공구 자세에 대응하는 보정 회전 행렬을 연산할 수 있다. 예를 들면, 자세 보정 연산 장치(190)는 자세 연산 장치(170)로부터 현재 회전 행렬을 수신할 수 있다. 자세 보정 연산 장치(190)는 선택된 작업 대상(200)의 작업 영역(240)에 대한 목표 자세를 확인할 수 있다. 자세 보정 연산 장치(190)는 목표 자세 저장 장치(180)로부터 목표 자세에 대응하는 회전 행렬(이하, 목표 회전 행렬)을 수신할 수 있다. 자세 보정 연산 장치(190)는 현재 회전 행렬(R0) 및 목표 회전 행렬(Rd)에 기초하여 보정 회전 행렬(Rc)을 수학식 5와 같이 연산할 수 있다.
Figure PCTKR2020002290-appb-M000005
다양한 실시 예에 따르면, 작업 장소 내에 복수의 작업 대상들이 존재하는 경우, 이동형 로봇(100)은 작업 대상들 각각에 대한 목표 자세를 목표 자세 저장 장치(180)에 미리 저장할 수 있다.
일 실시 예에 따르면, 자세 보정 연산 장치(190)는 로봇 암(120)의 자세 보정을 위한 로봇 회전 각도를 생성할 수 있다. 예를 들면, 자세 보정 연산 장치(190)는 보정 회전 행렬을 로봇 암(120) 및 로봇 선단(130)을 제어하기 위한 로봇 회전 각도(예: 3축 각도 값)로 변환할 수 있다. 예컨대, 임의의 회전 행렬에 해당하는 오일러 각도는 수학식 6과 같이 연산할 수 있다.
Figure PCTKR2020002290-appb-M000006
일 실시 예에 따르면, 로봇 제어기(101)는 로봇 회전 각도에 기초하여 로봇 암(120)을 구동할 수 있다. 예를 들면, 로봇 제어기(101)는 로봇 회전 각도에 기초하여 로봇 선단(130)을 고정 좌표계에 기반한 3축 방향으로 이동할 수 있다. 공구(140)는 지정된 방향에 따라 로봇 선단(130)에 연결될 수 있다. 공구(140)는 로봇 선단(130)의 이동에 따라 동일하게 이동할 수 있다. 따라서, 공구(140)는 고정 좌표계에서 로봇 선단(130)과 동일한 좌표값을 가질 수 있고, 로봇 선단(130)이 작업 영역(240)에 정렬되면, 공구(140)도 로봇 선단(130)과 동일하게 작업 영역(240)에 정렬될 수 있다.
일 실시 예에 따르면, 이동형 로봇(100)은 공구 자세 정렬이 완료되었는지 판단할 수 있다. 예를 들면, 자세 연산 장치(170)는 자세 정렬 동작이 수행된 후 측정된 오일러 각도 정보를 제1 자세 측정 장치(160)로부터 수신할 수 있다. 자세 연산 장치(170)는 목표 자세 저장 장치(180)로부터 작업 영역(240)의 목표 자세에 대응하는 오일러 각도 정보를 수신할 수 있다. 자세 연산 장치(170)는 자세 정렬 동작이 수행된 후 측정된 오일러 각도 정보와 목표 자세에 대응하는 오일러 각도 정보의 차이(이하, 자세 오차)를 기준 오차와 비교할 수 있다. 상기 자세 오차가 기준 오차보다 작은 경우, 자세 연산 장치(170)는 공구(140)의 자세 정렬이 완료되었음을 로봇 제어기(101)로 통보할 수 있다. 상기 자세 오차가 기준 오차보다 큰 경우, 이동형 로봇(100)은 공구(140)의 자세 정렬 동작을 반복하여 수행할 수 있다.
다양한 실시 예에 따르면, 이동형 로봇(100)은 사전에 목표 자세를 설정할 수 있다. 예를 들면, 로봇 선단(130)에 연결된 공구(140)가 작업 대상(200)의 작업 영역(240)에 결합된 후, 자세 연산 장치(170)는 제1 자세 측정 센서(160)를 이용해 측정된 로봇 선단(130)(또는 공구(140))의 자세를 작업 영역(240)에 대한 목표 자세로 설정할 수 있다. 또는 자세 연산 장치(170)는 작업 영역(240)에 설치된 제2 자세 측정 센서(260)를 이용해 측정된 작업 영역(240)의 자세를 작업 영역(240)에 대한 목표 자세로 설정할 수 있다. 예컨대, 제2 자세 측정 센서(260)는 작업 영역(240)에 탈부착될 수 있다. 제2 자세 측정 센서(260)는 작업 영역(240)에 탈부착되도록 하는 결합 부재(예: 걸쇠, 접착층, 결합용 홈)를 포함할 수 있다. 목표 자세는 고정 좌표계에 기반하여 오일러 각도 정보로 표현되거나 오일러 각도 정보가 변환된 회전 행렬로 표현될 수 있다. 설정된 목표 자세는 목표 자세 저장 장치(180)에 저장될 수 있다.
도 3은, 도 2의 제1 자세 측정 센서의 일 예를 나타내는 블록도이다.
도 1 및 도 3을 참조하면, 제1 자세 측정 센서(160)는 가속도 센서(161) 및 지자계 센서(162)를 포함할 수 있다. 제1 자세 측정 센서(160)는 로봇 선단(130)에 설치될 수 있다. 작업 영역(240)에 설치되는 제2 자세 측정 센서(260)도 제1 자세 측정 센서(160)와 동일 또는 유사한 구성을 포함할 수 있다.
일 실시 예에 따르면, 가속도 센서(161)는 로봇 선단(130)의 자세에 대응하는 중력 방향을 측정할 수 있다. 지자계 센서(162)는 로봇 선단(130)의 자세에 대응하는 지자기의 방향을 측정할 수 있다. 제1 자세 측정 센서(160)는 상기 중력 방향 및 상기 지자기 방향에 기초하여 로봇 선단(130)의 현재 자세를 고정 좌표계(예: 중력 좌표계)에 기반하여 오일러 각도 정보(예: roll, pitch, yaw)로 출력할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 이동형 로봇이 복수의 작업 영역을 이동하는 방법을 나타내는 도면이다.
도 4를 참조하면, 작업 장소(400)(예: 자동화 공장)는 복수의 작업 대상들(200-1 내지 200-n)을 포함할 수 있다. 이동형 로봇(100)은 작업 대상들(200-1 내지 200-n) 사이를 이동하여 미리 정해진 작업들을 수행할 수 있다.
일 실시 예에 따르면, 이동형 로봇(100)은 작업 대상들(200-1 내지 200-n)의 배치에 대응하는 작업 경로(401)에 기초하여 이동할 수 있다. 작업 대상들(200-1 내지 200-n)에 포함된 작업 영역들이 배치된 위치가 서로 다르거나 이동형 로봇(100)이 이동하는 동안 로봇 선단(예: 로봇 선단(130))의 위치가 변경될 수 있기 때문에, 이동형 로봇(100)은 작업 대상들(200-1 내지 200-n) 중 선택된 작업 대상(예: 도 1의 작업 대상(200)) 앞에 정지한 후 자세 정렬 동작을 수행할 수 있다.
다양한 실시 예에 따르면, 공구(예: 공구(140))를 이용하여 작업 영역(예: 작업 영역(240))에 지정된 작업을 수행하는 이동형 로봇(예: 이동형 로봇(100))은, 상기 공구와 연결되는 로봇 선단(예: 로봇 선단(130)), 상기 로봇 선단에 설치되며, 고정 좌표계에 기반하여 상기 로봇 선단의 현재 자세 정보를 측정하는 제1 자세 측정 센서(예: 제1 자세 측정 센서(160)), 상기 현재 자세 정보에 기초하여 상기 로봇 선단의 제1 회전 행렬을 연산하는 자세 연산 장치(예: 자세 연산 장치(170)), 상기 제1 회전 행렬 및 상기 작업 영역에 대응하는 제2 회전 행렬의 차이에 기초하여 제3 회전 행렬을 연산하고, 상기 제3 회전 행렬을 상기 로봇 선단을 제어하기 위한 로봇 각도 정보로 변환하는 자세 보정 연산 장치(예: 자세 보정 연산 장치(190)), 및 상기 로봇 각도 정보에 기초하여 상기 로봇 선단과 상기 작업 영역을 정렬하는 로봇 제어기(예: 로봇 제어기(101))를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 이동형 로봇은 상기 고정 좌표계는 중력을 기반으로 설정되는 좌표계를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 이동형 로봇은 상기 제2 회전 행렬을 저장하는 목표 자세 저장 장치(예: 목표 자세 저장 장치(180))를 더 포함할 수 있다. 다양한 실시 예에 따르면, 상기 작업 영역은 복수의 작업 영역들 중 선택된 하나를 포함하고, 상기 목표 자세 저장 장치는 상기 복수의 작업 영역들 각각에 대응하는 목표 자세에 대한 데이터를 미리 저장할 수 있다. 다양한 실시 예에 따르면, 상기 자세 연산 장치는 상기 공구가 상기 작업 영역의 일정 범위 이내에 정렬된 상태에서 측정된 상기 제1 자세 측정 센서의 측정값에 기초하여 상기 제2 회전 행렬을 연산하고, 상기 제2 회전 행렬을 상기 목표 자세 저장 장치에 미리 저장할 수 있다.
다양한 실시 예에 따르면, 상기 자세 연산 장치는 상기 작업 영역에 부착된 제2 자세 측정 센서(예: 제2 자세 측정 센서(260))의 측정값에 기초하여 상기 제2 회전 행렬을 연산하고, 상기 제2 회전 행렬을 상기 목표 자세 저장 장치에 미리 저장할 수 있다. 다양한 실시 예에 따르면, 상기 제1 자세 측정 센서 및 상기 제2 자세 측정 센서 각각은 상기 로봇 선단의 중력 방향에 대한 기울어짐을 측정하는 가속도 센서(예: 가속도 센서(161)) 및 지자기의 방향을 측정하는 지자계 센서(예: 지자계 센서(162)) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면, 상기 제1 자세 측정 센서 및 상기 제2 자세 측정 센서 각각은 상기 가속도 센서의 측정 결과 및 상기 지자계 센서의 측정 결과에 기초하여 상기 고정 좌표계에서 상기 로봇 선단의 오일러 각도 정보를 생성할 수 있다.
다양한 실시 예에 따르면, 상기 제2 자세 측정 센서는 상기 작업 영역에 탈부착되도록 하는 결합 부재를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 현재 자세 정보는 상기 로봇 선단의 오일러 각도 정보를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 이동형 로봇은 상기 작업 영역에 설치되는 자세 정렬 패턴(예: 자세 정렬 패턴(250))을 감지하는 카메라(예: 카메라(150))를 더 포함하고, 상기 로봇 제어기는 상기 자세 정렬 패턴에 대한 상기 카메라의 감지 결과에 기초하여 상기 로봇 선단을 측정 자세로 이동시킬 수 있다.
도 5는 본 발명의 일 실시 예에 따른 이동형 로봇의 공구 자세를 정렬하는 방법을 나타내는 순서도이다.
도 1, 도 2 및 도 5를 참조하면, 이동형 로봇(100)은 고정 좌표계(예: 중력 좌표계)에 의한 자세를 측정하는 제1 자세 측정 센서(160) 및 제2 자세 측정 센서(260)를 이용하여 로봇 선단(130)에 연결된 공구(140)의 자세를 정렬할 수 있다.
일 실시 예에 따르면, 동작 505에서, 이동형 로봇(100)은 작업 위치로 이동하고, 로봇 암(120)을 제어하여 측정 자세를 취할 수 있다. 예를 들면, 이동형 로봇(100)은 선택된 작업 대상(200)으로 이동할 수 있다. 또한, 이동형 로봇(100)은 카메라(150)와 자세 정렬 패턴(250)을 이용하여 로봇 암(120)이 측정 자세를 취하도록 제어할 수 있다.
일 실시 예에 따르면, 동작 510에서, 이동형 로봇(100)은 현재의 공구 자세를 측정할 수 있다. 예를 들면, 이동형 로봇(100)은 제1 자세 측정 센서(160)를 통해 현재의 공구 자세에 대응하는 오일러 각도 정보를 측정할 수 있다. 제1 자세 측정 센서(160)는 로봇 선단(130)에 부착될 수 있다. 제1 자세 측정 센서(160)는 고정 좌표계에 기반하여 로봇 선단(130)의 오일러 각도 정보를 측정할 수 있다.
일 실시 예에 따르면, 동작 515에서, 이동형 로봇(100)은 현재의(또는 선택된 작업 대상(200)의) 작업 영역(240)에 대한 목표 자세를 확인할 수 있다. 이동형 로봇(100)은 현재의 작업 영역(240)에 대한 목표 자세를 목표 자세 저장 장치(180)에서 확인할 수 있다. 예를 들면, 이동형 로봇(100)은 작업 장소 내의 작업 대상들(예: 도 4의 200-1 내지 200-n) 각각에 대한 목표 자세를 목표 자세 저장 장치(180)에 미리 저장할 수 있다. 이동형 로봇(100)은 로봇 선단(130)에 연결된 공구(140)를 작업 대상(200)의 작업 영역(240)에 결합한 후 제1 자세 측정 센서(160)를 이용해 측정된 로봇 선단(130)(또는 공구(140))의 자세를 작업 영역(240)에 대한 목표 자세로 설정할 수 있다. 또는 이동형 로봇(100)은 작업 영역(240)에 부착된 제2 자세 측정 센서(260)를 이용해 측정된 작업 영역(240)의 자세를 작업 영역(240)에 대한 목표 자세로 설정할 수 있다.
일 실시 예에 따르면, 동작 520에서, 이동형 로봇(100)은 자세 연산 장치(170)를 통해 회전 행렬을 연산할 수 있다. 예를 들면, 자세 연산 장치(170)는 제1 자세 측정 센서(160)로부터 로봇 선단(130)의 오일러 각도 정보를 수신할 수 있다. 자세 연산 장치(170)는 로봇 선단(130)의 오일러 각도 정보를 이용하여 로봇 선단(130)의 자세에 대응하는 회전 행렬(이하, 현재 회전 행렬)을 연산할 수 있다.
일 실시 예에 따르면, 동작 525에서, 이동형 로봇(100)은 자세 보정 연산 장치(190)를 통해 보정 회전 행렬을 연산할 수 있다. 예를 들면, 자세 보정 연산 장치(190)는 자세 연산 장치(170)로부터 현재 회전 행렬을 수신할 수 있다. 자세 보정 연산 장치(190)는 동작 515에서 목표 자세 저장 장치(180)로부터 목표 자세에 대응하는 회전 행렬(이하, 목표 회전 행렬)을 수신할 수 있다. 자세 보정 연산 장치(190)는 현재 회전 행렬 및 목표 회전 행렬에 기초하여 보정 회전 행렬을 연산할 수 있다.
일 실시 예에 따르면, 동작 530에서, 이동형 로봇(100)은 자세 보정 연산 장치(190)를 통해 로봇 암(120)의 자세 보정을 위한 로봇 회전 각도를 생성할 수 있다. 예를 들면, 자세 보정 연산 장치(190)는 보정 회전 행렬을 로봇 암(120) 및 로봇 선단(130)을 제어하기 위한 로봇 회전 각도(예: 3축 각도 값)로 변환할 수 있다.
일 실시 예에 따르면, 동작 535에서, 이동형 로봇(100)은 로봇 회전 각도에 기초하여 로봇 암(120)을 구동할 수 있다. 예를 들면, 로봇 제어기(101)는 로봇 회전 각도에 기초하여 로봇 선단(130)을 고정 좌표계에 기반한 3축 방향으로 이동할 수 있다. 로봇 선단(130)에 연결된 공구(140)는 로봇 선단(130)의 이동에 따라 동일하게 이동할 수 있다.
일 실시 예에 따르면, 동작 540에서, 이동형 로봇(100)은 현재의(예: 동작 515 내지 동작 535가 수행된 이후의 상태) 공구 자세를 측정할 수 있다. 예를 들면, 이동형 로봇(100)은 동작 510과 동일하게 제1 자세 측정 센서(160)를 통해 현재 로봇 선단(130)의 오일러 각도 정보를 측정할 수 있다.
일 실시 예에 따르면, 동작 545에서, 이동형 로봇(100)은 자세 연산 장치(170)를 통해 공구 자세 정렬이 완료되었는지 판단할 수 있다. 예를 들면, 자세 연산 장치(170)는 동작 540에서 측정된 오일러 각도 정보를 제1 자세 측정 장치(160)로부터 수신할 수 있다. 자세 연산 장치(170)는 목표 자세 저장 장치(180)로부터 작업 영역(240)의 목표 자세에 대응하는 오일러 각도 정보를 수신할 수 있다. 자세 연산 장치(170)는 현재의 공구 자세에 대응하는 오일러 각도 정보와 목표 자세에 대응하는 오일러 각도 정보의 차이(이하, 자세 오차)를 기준 오차와 비교할 수 있다. 상기 자세 오차가 기준 오차보다 작은 경우, 자세 연산 장치(170)는 공구(140)의 자세 정렬이 완료되었음을 로봇 제어기(101)로 통보하고, 로봇 제어기(101)는 상기 공구를 상기 작업 영역에 결합할 수 있다. 상기 자세 오차가 기준 오차보다 큰 경우, 이동형 로봇(100)은 동작 510 내지 동작 545를 반복하여 수행할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 이동형 로봇의 공구 자세에 대한 목표 자세를 설정하는 방법을 나타내는 순서도이다. 도 7은, 도 6에서 이동형 로봇의 목표 자세 설정 시 공구와 작업 영역의 결합 상태의 일 예를 나타내는 도면이다.
도 6 및 도 7을 참조하면, 이동형 로봇(100)은 작업 장소(예: 도 4의 작업 장소(400)) 내의 작업 대상들(예: 도 4의 200-1 내지 200-n) 중 선택된 작업 대상(200)으로 이동하여, 로봇 선단(130)에 연결된 공구(140)를 선택된 작업 대상(200)의 작업 영역(240)에 결합한 후, 선택된 작업 영역(240)에 대한 목표 자세를 설정할 수 있다.
일 실시 예에 따르면, 동작 610에서, 이동형 로봇(100)은 로봇 선단(130)에 연결된 공구(140)가 선택된 작업 대상(200)의 작업 영역(240)의 일정 범위 이내에 정렬되도록 공구(140)를 위치시킬 수 있다. 예를 들면, 공구(140)는 토크 센서(701)(예: FT(Force Torque) 센서)를 포함할 수 있다. 공구(140)에 의해 파지된 작업물이 작업 영역(240)에 거치되는 동안, 로봇 제어기(101)는 토크 센서(701)로부터 실시간으로 토크 정보를 수신할 수 있다. 로봇 제어기(101)는 토크 정보에 기초하여 상기 작업물이 작업 영역(240)에 손상없이 거치되도록 공구(140)을 이동시킬 수 있다.
일 실시 예에 따르면, 동작 620에서, 이동형 로봇(100)은 현재의 공구 자세를 측정할 수 있다. 예를 들면, 제1 자세 측정 센서(160)는 로봇 선단(130)에 설치(또는 탈부착)될 수 있다. 제1 자세 측정 센서(160)는 로봇 선단(130)에 탈부착되도록 하는 결합 부재(예: 걸쇠, 접착층, 결합용 홈)를 포함할 수 있다. 공구(140)와 작업 영역(240)이 결합된 상태에서, 이동형 로봇(100)은 제1 자세 측정 센서(160)를 통해 현재의 공구 자세에 대응하는 오일러 각도 정보(예: roll, pitch, yaw)를 측정할 수 있다. 제1 자세 측정 센서(160)는 고정 좌표계에 기반하여 로봇 선단(130)의 오일러 각도 정보를 측정할 수 있다.
일 실시 예에 따르면, 동작 630에서, 이동형 로봇(100)은 측정된 공구 자세를 선택된 작업 영역(240)에 대한 목표 자세로 설정할 수 있다. 예를 들면, 자세 연산 장치(170)는 동작 620에서 측정된 오일러 각도 정보를 제1 자세 측정 센서(160)로부터 수신할 수 있다. 자세 연산 장치(170)는 상기 오일러 각도 정보를 목표 자세로서 목표 자세 저장 장치(180)에 저장할 수 있다. 또한, 자세 연산 장치(170)는 상기 오일러 각도 정보를 이용하여 현재 회전 행렬을 연산할 수 있다. 자세 연산 장치(170)는 상기 현재 회전 행렬을 목표 자세로서 목표 자세 저장 장치(180)에 저장할 수 있다.
일 실시 예에 따르면, 동작 640에서, 이동형 로봇(100)은 작업 장소 내의 모든 작업 대상들의 작업 영역들에 대하여 목표 자세를 설정하였는지 판단할 수 있다. 예를 들면, 모든 작업 영역들에 대하여 목표 자세 설정이 완료된 경우, 이동형 로봇(100)은 목표 자세 설정 동작을 종료할 수 있다. 목표 자세 설정이 완료되지 않은 작업 영역이 존재하는 경우, 이동형 로봇(100)은 동작 650을 수행할 수 있다.
일 실시 예에 따르면, 동작 650에서, 목표 자세 설정이 완료되지 않은 작업 영역이 존재하는 경우, 이동형 로봇(100)은 다음 작업 영역으로 이동할 수 있다. 예를 들면, 이동형 로봇(100)은 다음 작업 영역에 대하여 동작 610 내지 동작 630을 반복하여 수행할 수 있다.
도 8은 본 발명의 다양한 실시 예에 따른 이동형 로봇의 공구 자세에 대한 목표 자세를 설정하는 방법을 나타내는 순서도이다. 도 9는, 도 8에서 이동형 로봇의 목표 자세 설정 시 작업 영역의 일 예를 나타내는 도면이다.
도 8 및 도 9를 참조하면, 작업 장소(예: 도 4의 작업 장소(400)) 내의 작업 대상들(예: 도 4의 200-1 내지 200-n) 중 선택된 작업 대상(200)에 대하여, 이동형 로봇(100)은 선택된 작업 영역(240)에 부착된 제2 자세 측정 센서(260)를 이용하여 선택된 작업 영역(240)에 대한 목표 자세를 설정할 수 있다.
일 실시 예에 따르면, 동작 810에서, 제2 자세 측정 센서(260)는 선택된 작업 대상(200)의 작업 영역(240)에 정렬하여 설치(또는 탈부착)될 수 있다. 예를 들면, 이동형 로봇(100)은 선택된 작업 대상(200)으로 이동하여 선택된 작업 영역(240)에 제2 자세 측정 센서(260)를 부착할 수 있다. 예컨대, 제2 자세 측정 센서(260)는 선택된 작업 영역(240)의 일 측면에 부착될 수 있다. 제2 자세 측정 센서(260)는 선택된 작업 영역(240)에 탈부착되도록 하는 결합 부재(예: 걸쇠, 접착층, 결합용 홈)를 포함할 수 있다. 다양한 실시 예에 따르면, 제2 자세 측정 센서(260)는 사용자에 의해 수동으로 부착될 수 있다.
일 실시 예에 따르면, 동작 820에서, 제2 자세 측정 센서(260)는 선택된 작업 영역(240)의 작업 영역 자세를 측정할 수 있다. 예를 들면, 제2 자세 측정 센서(260)는 선택된 작업 영역(240)의 자세에 대응하는 오일러 각도 정보(예: roll, pitch, yaw)를 측정할 수 있다. 제2 자세 측정 센서(260)는 고정 좌표계에 기반하여 상기 오일러 각도 정보를 측정할 수 있다.
일 실시 예에 따르면, 동작 830에서, 이동형 로봇(100)은 측정된 작업 영역 자세를 선택된 작업 영역(240)에 대한 목표 자세로 설정할 수 있다. 예를 들면, 자세 연산 장치(170)는 동작 820에서 측정된 오일러 각도 정보를 제2 자세 측정 센서(260)로부터 수신할 수 있다. 자세 연산 장치(170)는 상기 오일러 각도 정보를 목표 자세로서 목표 자세 저장 장치(180)에 저장할 수 있다. 또한, 자세 연산 장치(170)는 상기 오일러 각도 정보를 이용하여 현재 회전 행렬을 연산할 수 있다. 자세 연산 장치(170)는 상기 현재 회전 행렬을 목표 자세로서 목표 자세 저장 장치(180)에 저장할 수 있다.
일 실시 예에 따르면, 동작 840에서, 이동형 로봇(100)은 작업 장소(예: 도 4의 작업 장소(400)) 내의 모든 작업 대상들(예: 도 4의 작업 대상들(200-1 내지 200-n))의 작업 영역들에 대하여 목표 자세를 설정하였는지 판단할 수 있다. 예를 들면, 모든 작업 영역들에 대하여 목표 자세 설정이 완료된 경우, 이동형 로봇(100)은 목표 자세 설정 동작을 종료할 수 있다. 목표 자세 설정이 완료되지 않은 작업 영역이 존재하는 경우, 이동형 로봇(100)은 나머지 작업 영역들에 대하여 동작 810 내지 동작 830을 반복하여 수행할 수 있다.
다양한 실시 예에 따르면, 로봇 선단(예: 로봇 선단(130))에 연결된 공구(예: 공구(140))를 이용하여 적어도 하나의 작업 영역 중 선택된 작업 영역(예: 작업 영역(240))에 지정된 작업을 수행하는 이동형 로봇(예: 이동형 로봇(100))의 자세 정렬 방법은, 상기 이동형 로봇을 상기 선택된 작업 영역으로 이동시키고, 상기 공구를 측정 자세로 이동시키는 동작, 상기 로봇 선단에 설치된 제1 자세 측정 센서(예: 제1 자세 측정 센서(160))를 이용하여 현재의 공구 자세를 측정하는 동작, 목표 자세 저장 장치(예: 목표 자세 저장 장치(180))로부터 상기 선택된 작업 영역에 대한 목표 자세를 확인하는 동작, 상기 현재의 공구 자세에 기초하여 자세 연산 장치(예: 자세 연산 장치(170))를 통해 제1 회전 행렬을 연산하는 동작, 상기 제1 회전 행렬 및 상기 목표 자세에 대응하는 제2 회전 행렬의 차이에 기초하여 자세 보정 연산 장치(예: 자세 보정 연산 장치(190))를 통해 제3 회전 행렬을 연산하는 동작, 상기 자세 보정 연산 장치를 통해 상기 제3 회전 행렬을 변환하여 상기 로봇 선단을 제어하기 위한 로봇 회전 각도를 생성하는 동작, 상기 로봇 회전 각도에 기초하여 상기 로봇 선단의 위치를 변경하여 상기 공구와 상기 선택된 작업 영역을 정렬하는 동작을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 이동형 로봇의 자세 정렬 방법은 상기 로봇 회전 각도에 기초하여 상기 로봇 선단의 위치를 변경한 후, 제1 자세 측정 센서를 통해 상기 로봇 선단의 자세 정보를 수신하는 동작, 및 상기 자세 정보와 상기 목표 자세의 자세 오차에 기초하여 상기 현재의 공구 자세를 측정하는 동작 내지 상기 공구와 상기 선택된 작업 영역을 정렬하는 동작의 반복 수행 여부를 판단하는 동작을 더 포함할 수 있다. 다양한 실시 예에 따르면, 상기 자세 오차가 기준 오차보다 작은 경우, 상기 이동형 로봇은 상기 공구를 상기 작업 영역에 결합할 수 있다.
다양한 실시 예에 따르면, 상기 자세 오차가 기준 오차보다 큰 경우, 상기 현재의 공구 자세를 측정하는 동작 내지 상기 공구와 상기 선택된 작업 영역을 정렬하는 동작은 반복하여 수행될 수 있다.
다양한 실시 예에 따르면, 상기 자세 연산 장치는 상기 공구가 상기 작업 영역의 일정 범위 이내에 정렬된 상태에서 측정된 상기 제1 자세 측정 센서의 측정값에 기초하여 상기 제2 회전 행렬을 연산하고, 상기 제2 회전 행렬을 상기 목표 자세 저장 장치에 미리 저장할 수 있다.
다양한 실시 예에 따르면, 상기 자세 연산 장치는 상기 작업 영역에 부착된 제2 자세 측정 센서(예: 제2 자세 측정 센서(260))의 측정값에 기초하여 상기 제2 회전 행렬을 연산하고, 상기 제2 회전 행렬을 상기 목표 자세 저장 장치에 미리 저장할 수 있다. 다양한 실시 예에 따르면, 상기 제1 자세 측정 센서 및 상기 제2 자세 측정 센서 각각은 상기 로봇 선단의 중력 방향에 대한 기울어짐을 측정하는 가속도 센서(예: 가속도 센서(161)) 및 지자기의 방향을 측정하는 지자계 센서(예: 지자계 센서(162))를 포함할 수 있다. 다양한 실시 예에 따르면, 상기 제1 자세 측정 센서 및 상기 제2 자세 측정 센서 각각은 상기 가속도 센서의 측정 결과 및 상기 지자계 센서의 측정 결과에 기초하여 상기 고정 좌표계에서 상기 로봇 선단의 오일러 각도 정보를 생성할 수 있다.
다양한 실시 예에 따르면, 상기 제2 자세 측정 센서는 상기 작업 영역에 탈부착되도록 하는 결합 부재를 포함할 수 있다.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 설정된(adapted to or configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한", "~하는 능력을 가지는", "~하도록 변경된", "~하도록 만들어진", "~를 할 수 있는", 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 설정된 (또는 구성된) 프로세서"는 해당 동작들을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치(예: 메모리 130)에 저장된 하나 이상의 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 AP)를 의미할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어(firmware)로 구성된 유닛(unit)을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다.
다양한 실시 예들에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예: 메모리(130))에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체(예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램 모듈) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소를 더 포함할 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램 모듈)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른 모듈, 프로그램 모듈 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.

Claims (15)

  1. 공구를 이용하여 작업 영역에 지정된 작업을 수행하는 이동형 로봇에 있어서,
    상기 공구와 연결되는 로봇 선단;
    상기 로봇 선단에 설치되며, 고정 좌표계에 기반하여 상기 로봇 선단의 현재 자세 정보를 측정하는 제1 자세 측정 센서;
    상기 현재 자세 정보에 기초하여 상기 로봇 선단의 제1 회전 행렬을 연산하는 자세 연산 장치;
    상기 제1 회전 행렬 및 상기 작업 영역에 대응하는 제2 회전 행렬의 차이에 기초하여 제3 회전 행렬을 연산하고, 상기 제3 회전 행렬을 상기 로봇 선단을 제어하기 위한 로봇 각도 정보로 변환하는 자세 보정 연산 장치; 및
    상기 로봇 각도 정보에 기초하여 상기 로봇 선단과 상기 작업 영역을 정렬하는 로봇 제어기를 포함하는 이동형 로봇.
  2. 청구항 1에 있어서,
    상기 고정 좌표계는 중력을 기반으로 설정되는 좌표계를 포함하는 이동형 로봇.
  3. 청구항 1에 있어서,
    상기 제2 회전 행렬을 저장하는 목표 자세 저장 장치를 더 포함하는 이동형 로봇.
  4. 청구항 3에 있어서,
    상기 작업 영역은 복수의 작업 영역들 중 선택된 하나를 포함하고,
    상기 목표 자세 저장 장치는 상기 복수의 작업 영역들 각각에 대응하는 목표 자세에 대한 데이터를 미리 저장하는 이동형 로봇.
  5. 청구항 4에 있어서,
    상기 자세 연산 장치는 상기 공구가 상기 작업 영역의 일정 범위 이내에 정렬된 상태에서 측정된 상기 제1 자세 측정 센서의 측정값에 기초하여 상기 제2 회전 행렬을 연산하고, 상기 제2 회전 행렬을 상기 목표 자세 저장 장치에 미리 저장하는 이동형 로봇.
  6. 청구항 4에 있어서,
    상기 자세 연산 장치는 상기 작업 영역에 부착된 제2 자세 측정 센서의 측정값에 기초하여 상기 제2 회전 행렬을 연산하고, 상기 제2 회전 행렬을 상기 목표 자세 저장 장치에 미리 저장하는 이동형 로봇.
  7. 청구항 6에 있어서,
    상기 제1 자세 측정 센서 및 상기 제2 자세 측정 센서 각각은 상기 로봇 선단의 중력 방향에 대한 기울어짐을 측정하는 가속도 센서 및 지자기의 방향을 측정하는 지자계 센서 중 적어도 하나를 포함하는 이동형 로봇.
  8. 청구항 7에 있어서,
    상기 제1 자세 측정 센서 및 상기 제2 자세 측정 센서 각각은 상기 가속도 센서의 측정 결과 및 상기 지자계 센서의 측정 결과에 기초하여 상기 고정 좌표계에서 상기 로봇 선단의 오일러 각도 정보를 생성하는 이동형 로봇.
  9. 청구항 1에 있어서,
    상기 현재 자세 정보는 상기 로봇 선단의 오일러 각도 정보를 포함하는 이동형 로봇.
  10. 로봇 선단에 연결된 공구를 이용하여 적어도 하나의 작업 영역 중 선택된 작업 영역에 지정된 작업을 수행하는 이동형 로봇의 자세 정렬 방법에 있어서,
    상기 이동형 로봇을 상기 선택된 작업 영역으로 이동시키고, 상기 공구를 측정 자세로 이동시키는 동작;
    상기 로봇 선단에 설치된 제1 자세 측정 센서를 이용하여 현재의 공구 자세를 측정하는 동작;
    목표 자세 저장 장치로부터 상기 선택된 작업 영역에 대한 목표 자세를 확인하는 동작;
    상기 현재의 공구 자세에 기초하여 자세 연산 장치를 통해 제1 회전 행렬을 연산하는 동작;
    상기 제1 회전 행렬 및 상기 목표 자세에 대응하는 제2 회전 행렬의 차이에 기초하여 자세 보정 연산 장치를 통해 제3 회전 행렬을 연산하는 동작;
    상기 자세 보정 연산 장치를 통해 상기 제3 회전 행렬을 변환하여 상기 로봇 선단을 제어하기 위한 로봇 회전 각도를 생성하는 동작;
    상기 로봇 회전 각도에 기초하여 상기 로봇 선단의 위치를 변경하여 상기 공구와 상기 선택된 작업 영역을 정렬하는 동작을 포함하는 자세 정렬 방법.
  11. 청구항 10에 있어서,
    상기 로봇 회전 각도에 기초하여 상기 로봇 선단의 위치를 변경한 후, 제1 자세 측정 센서를 통해 상기 로봇 선단의 자세 정보를 수신하는 동작; 및
    상기 자세 정보와 상기 목표 자세의 자세 오차에 기초하여 상기 현재의 공구 자세를 측정하는 동작 내지 상기 공구와 상기 선택된 작업 영역을 정렬하는 동작의 반복 수행 여부를 판단하는 동작을 더 포함하는 자세 정렬 방법.
  12. 청구항 11에 있어서,
    상기 자세 오차가 기준 오차보다 작은 경우, 상기 공구를 상기 작업 영역에 결합하는 자세 정렬 방법.
  13. 청구항 11에 있어서,
    상기 자세 오차가 기준 오차보다 큰 경우, 상기 현재의 공구 자세를 측정하는 동작 내지 상기 공구와 상기 선택된 작업 영역을 정렬하는 동작은 반복하여 수행되는 자세 정렬 방법.
  14. 청구항 10에 있어서,
    상기 자세 연산 장치는 상기 공구가 상기 작업 영역의 일정 범위 이내에 정렬된 상태에서 측정된 상기 제1 자세 측정 센서의 측정값에 기초하여 상기 제2 회전 행렬을 연산하고, 상기 제2 회전 행렬을 상기 목표 자세 저장 장치에 미리 저장하는 자세 정렬 방법.
  15. 청구항 10에 있어서,
    상기 자세 연산 장치는 상기 작업 영역에 부착된 제2 자세 측정 센서의 측정값에 기초하여 상기 제2 회전 행렬을 연산하고, 상기 제2 회전 행렬을 상기 목표 자세 저장 장치에 미리 저장하는 자세 정렬 방법.
PCT/KR2020/002290 2019-02-20 2020-02-18 이동형 로봇 및 그것의 로봇 암 정렬 방법 WO2020171527A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190020127A KR102658278B1 (ko) 2019-02-20 2019-02-20 이동형 로봇 및 그것의 로봇 암 정렬 방법
KR10-2019-0020127 2019-02-20

Publications (1)

Publication Number Publication Date
WO2020171527A1 true WO2020171527A1 (ko) 2020-08-27

Family

ID=72143566

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/002290 WO2020171527A1 (ko) 2019-02-20 2020-02-18 이동형 로봇 및 그것의 로봇 암 정렬 방법

Country Status (2)

Country Link
KR (1) KR102658278B1 (ko)
WO (1) WO2020171527A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114310877A (zh) * 2021-03-09 2022-04-12 香港科能有限公司 机器人协同系统及其应用和加工精度评价方法
CN114750153A (zh) * 2022-04-13 2022-07-15 上海电气集团股份有限公司 机器人机械臂的运动控制系统、协作机器人及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102320854B1 (ko) * 2020-12-03 2021-11-02 임경철 카메라 성능 평가를 위한 비전 시스템 및 그 제어 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4453085A (en) * 1981-05-11 1984-06-05 Diffracto Ltd. Electro-optical systems for control of robots, manipulator arms and co-ordinate measuring machines
US5392384A (en) * 1991-04-09 1995-02-21 Kabushiki Kaisha Yaskawa Denki Method of calibrating an industrial robot
KR100244758B1 (ko) * 1996-07-31 2000-03-02 김덕중 수직 다관절 용접 로봇의 캘리브레이션 방법 및 그 장치
US7443124B2 (en) * 2004-05-28 2008-10-28 Kuka Roboter Gmbh Method and device for operating a machine, such as a multiaxial industrial robot
KR100956520B1 (ko) * 2002-04-26 2010-05-06 혼다 기켄 고교 가부시키가이샤 다리식 이동 로봇의 자기위치 추정 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6462986B2 (ja) * 2014-02-07 2019-01-30 キヤノン株式会社 ロボット制御方法、物品の製造方法、及び制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4453085A (en) * 1981-05-11 1984-06-05 Diffracto Ltd. Electro-optical systems for control of robots, manipulator arms and co-ordinate measuring machines
US5392384A (en) * 1991-04-09 1995-02-21 Kabushiki Kaisha Yaskawa Denki Method of calibrating an industrial robot
KR100244758B1 (ko) * 1996-07-31 2000-03-02 김덕중 수직 다관절 용접 로봇의 캘리브레이션 방법 및 그 장치
KR100956520B1 (ko) * 2002-04-26 2010-05-06 혼다 기켄 고교 가부시키가이샤 다리식 이동 로봇의 자기위치 추정 장치
US7443124B2 (en) * 2004-05-28 2008-10-28 Kuka Roboter Gmbh Method and device for operating a machine, such as a multiaxial industrial robot

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114310877A (zh) * 2021-03-09 2022-04-12 香港科能有限公司 机器人协同系统及其应用和加工精度评价方法
CN114310877B (zh) * 2021-03-09 2024-05-07 香港科能有限公司 机器人协同系统及其应用和加工精度评价方法
CN114750153A (zh) * 2022-04-13 2022-07-15 上海电气集团股份有限公司 机器人机械臂的运动控制系统、协作机器人及存储介质
CN114750153B (zh) * 2022-04-13 2024-03-19 上海电气集团股份有限公司 机器人机械臂的运动控制系统、协作机器人及存储介质

Also Published As

Publication number Publication date
KR20200101796A (ko) 2020-08-28
KR102658278B1 (ko) 2024-04-18

Similar Documents

Publication Publication Date Title
WO2020171527A1 (ko) 이동형 로봇 및 그것의 로봇 암 정렬 방법
EP1607194B1 (en) Robot system comprising a plurality of robots provided with means for calibrating their relative position
WO2013077623A1 (ko) 구조물 변위 측정 시스템 및 방법
WO2004007150A1 (ja) 搬送用ロボットシステムおよび搬送用ロボットの制御方法
US11400602B2 (en) Robot system
WO2019112158A1 (ko) 관절센서를 이용한 센서 오차 보정장치, 보정방법
WO2018066754A1 (ko) 라이다 센서를 이용한 차량의 자세 추정 방법
WO2021132947A1 (ko) 실내 측위를 제공하는 전자 장치 및 그 방법
WO2021221334A1 (ko) Gps정보 및 라이다 신호를 기초로 형성되는 컬러 맵 생성 장치 및 그 제어방법
CN111618843A (zh) 机器人系统以及控制方法
JP3339090B2 (ja) 位置検出方法
JP2019113348A (ja) 物体検査システム及び物体検査方法
WO2011034343A2 (ko) 단일 광원과 평면 센서부를 이용하여 물체의 물리량을 측정하는 방법 및 이를 이용하는 가상 골프 시스템
WO2021075828A1 (ko) 레이저를 이용한 거리측정장치 및 거리측정방법
US20180243909A1 (en) Electronic device manufacturing apparatus and electronic device manufacturing method
CN115200475B (zh) 一种臂载式多视觉传感器快速校正方法
WO2021182793A1 (ko) 단일 체커보드를 이용하는 이종 센서 캘리브레이션 방법 및 장치
WO2021096320A1 (ko) 3차원 스캐너를 이용한 로봇의 위치 보정 방법 및 장치
CN109167902A (zh) 一种具有角度检测功能的摄像机
WO2020116836A1 (ko) 인체 무게 중심의 이동을 이용한 모션 캡쳐 장치 및 그 방법
WO2017039054A1 (ko) 카메라를 이용한 골프공 인식장치
WO2023106569A1 (ko) 다중 측위 방법 및 장치
JPH04269194A (ja) 平面計測方法
WO2019039654A1 (ko) 로봇의 교시 장치, 방법 및 시스템
EP4382258A1 (en) Robot control device, robot control system, and robot control method

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: 20759485

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20759485

Country of ref document: EP

Kind code of ref document: A1