WO2021141336A1 - 로봇 제어 시스템 및 방법 - Google Patents

로봇 제어 시스템 및 방법 Download PDF

Info

Publication number
WO2021141336A1
WO2021141336A1 PCT/KR2021/000030 KR2021000030W WO2021141336A1 WO 2021141336 A1 WO2021141336 A1 WO 2021141336A1 KR 2021000030 W KR2021000030 W KR 2021000030W WO 2021141336 A1 WO2021141336 A1 WO 2021141336A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
area
driving speed
user
safe
Prior art date
Application number
PCT/KR2021/000030
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 WO2021141336A1 publication Critical patent/WO2021141336A1/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/1602Programme controls characterised by the control system, structure, architecture
    • 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/06Safety devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • B25J9/046Revolute coordinate type
    • 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/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion

Definitions

  • Various embodiments of the present disclosure relate to a robot control system and method.
  • a collaborative robot refers to a robot that helps a user perform a specific task through direct interaction with a human.
  • the operating speed of the collaborative robot can be adjusted according to the position between the user and the collaborative robot in order to prevent injury to the user (or worker) during the work process. For example, if the user is located in an area adjacent to the collaborative robot, the collaborative robot may be driven at a low speed or stopped to prevent injury to the user. Conversely, if the user is located at a location a specified distance from the collaborative robot, Collaborative robots can be driven at high speed to increase productivity.
  • the present disclosure provides a robot control system and method that can secure both work productivity and user stability by calculating the drop point of the work and controlling the driving speed of the collaborative robot based on the calculated drop point. .
  • a robot control system is a robot that is driven with a specified motion and can grip an object, a sensor unit that detects a user's position, a drop point of an object gripped by the robot, or driving of the robot a memory in which instructions for calculating speed are stored, and a control unit operatively connected to the sensor unit and the memory, wherein the sensor unit is based on the position of the user sensed through the sensor unit , set a virtual danger area and a virtual safe area surrounding the danger area, and the control unit, based on the instruction stored in the memory, the safety of the robot for the fall point of the object to be located in the danger area and calculate a driving speed and control the driving speed of the robot based on the calculated safe driving speed.
  • the method controls driving of a robot including a plurality of bars, a joint for rotatably connecting the plurality of bars, and a gripper coupled to one end of the plurality of bars and gripping an object
  • the robot based on the position detection operation for detecting the user's position, the area setting operation for setting a virtual danger area and a virtual safe area surrounding the danger area based on the sensed user's position, the robot A control operation for controlling the driving speed of the robot based on a safe driving speed calculation operation for calculating the safe driving speed of the robot so that the falling point of the gripped object is located within the danger area and the calculated safe driving speed may include.
  • a robot includes a plurality of bars, a plurality of joints rotatably connecting the plurality of bars, and a gripper coupled to one end of the plurality of bars and gripping an object, the robot comprising: may be driven at a safe driving speed for positioning the falling point of the object within a virtual danger area set based on the distance between the robot and the user when the object falls.
  • the robot control system may secure the user's stability even when a work piece gripped by the collaborative robot falls.
  • the robot control system can improve work productivity while securing user safety by driving the collaborative robot at an optimal speed.
  • the robot control system can ensure the safety of the user regardless of the presence or absence of a safety fence in the work space.
  • FIG. 1 is a diagram illustrating a working process of a robot and a user.
  • FIG. 2 is a perspective view illustrating a robot according to an embodiment.
  • FIG. 3 is a diagram illustrating components of a robot control system according to an embodiment.
  • FIG. 4 is a flowchart illustrating an operation of controlling a robot, according to an embodiment.
  • FIG. 5 is a flowchart illustrating an operation of controlling a robot, according to an embodiment.
  • 6A is a view for explaining an operation of setting a danger area and a safe area according to the positions of the user and the robot according to an exemplary embodiment.
  • 6B is a diagram for explaining an operation of setting a danger area and a safe area according to the positions of the user and the robot, according to another embodiment.
  • 6C is a diagram for explaining a process of calculating a drop point of an object, according to an embodiment.
  • FIG. 7 is a flowchart illustrating an operation of controlling a robot when a safety fence is present.
  • FIG. 8 is a view for explaining a process of calculating a drop point of an object when a safety fence exists.
  • first”, “second”, or “first” or “second” may simply be used to distinguish the component from other components in question, and may refer to components in other aspects (e.g., importance or order) is not limited. It is said that one (eg, first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively”. When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • FIG. 1 is a diagram illustrating a working process of a robot 100 and a user 10
  • FIG. 2 is a perspective view illustrating a robot according to an embodiment.
  • a user 10 (or an operator) in an industrial site may collaborate with a robot 100 to perform various types of tasks.
  • the user 10 may perform tasks such as assembling parts or transporting parts in cooperation with the robot 100 .
  • the robot 100 capable of cooperating or cooperating with the user 10 may be referred to as a collaborative robot (or “collaborative robot”), and the fixing unit 110 . ), a plurality of bars 120 , a plurality of joints 130 , and a gripper 140 may be included.
  • the robot 100 may be fixed to a specific area through the fixing unit 110 , and the plurality of bars 120 are rotatably coupled to the fixing unit 110 , and the fixing unit 110 . can be rotated based on
  • the plurality of bars 120 may be rotatably coupled by the plurality of joints 130 , and various operations of the robot 100 may be implemented through the plurality of bars 120 .
  • the plurality of bars 120 include a first bar 121 , a second bar 122 , a third bar 123 , a fourth bar 124 , a fifth bar 125 , and a sixth bar ( 126)
  • the plurality of joints 130 include a first joint 131, a second joint 132, a third joint 133, a fourth joint 134, a fifth joint 135, and a sixth joint.
  • a joint 136 may be included.
  • the first bar 121 may be rotatably coupled to the fixing unit 110 through the first joint 131 , and accordingly, the first bar 121 may be rotatably coupled to the fixing unit 110 according to the movement of the robot 100 . ) can be rotated within a specified rotation angle range (eg, rotation in the r z direction in FIG. 2 ).
  • the second bar 122 may be rotatably coupled to the first bar 121 through the second joint 132
  • the third bar 123 may be rotatably coupled to the third bar 123 through the third joint 133 . 2 may be rotatably coupled to the bar 122 .
  • the fourth bar 124 is rotatably coupled to the third bar 123 through the fourth joint 134
  • the fifth bar 125 is connected to the fourth bar 124 through the fifth joint 135
  • the sixth bar 126 may be rotatably coupled to the fifth bar 125 through the sixth joint 136 .
  • the robot 100 moves in six degrees of freedom (6-DOF: 6 degrees of freedom) (eg, x in FIG. 2 , y, z, r x , r y , r z direction), and as a result, the robot 100 can move in various motions in the course of work.
  • 6 degrees of freedom 6 degrees of freedom
  • the present invention is not limited thereto.
  • the number of the plurality of bars 120 and the plurality of joints 130 may be four, seven, or eight.
  • FIG. 1 and FIG. 2 show only the case where the robot 100 has a type of arm structure, according to another embodiment, the robot 100 may be formed with a structure other than the arm structure. .
  • the gripper 140 may be coupled to one end of the plurality of bars 120 to grip the object 20 (eg, a part).
  • the gripper 140 may be coupled to one end of the sixth bar 126 among the plurality of bars 120 , and as a result, the gripper 140 may be driven together with the sixth bar 126 .
  • the robot 100 may perform various tasks through the above-described gripper 140 while driving at a specified operation and/or driving speed.
  • the robot 100 may grip the object 20 through the gripper 140 and transport the gripped object 20 to a designated location.
  • the robot 100 may grip the object 20 through the gripper 140 , and assemble the above-described object 20 to another object (not shown).
  • the robot control system may include a sensor unit 200 and a control unit (not shown), detect the position of the user 10, based on the sensed position of the user 10, the robot ( By controlling the driving of 100 , it is possible to prevent the user 10 from being injured by the robot 100 .
  • the sensor unit 200 is located in the work environment and can detect the position of the user 10 , and based on the sensed position of the user 10 , a virtual danger area and It is possible to create a safety area surrounding the hazard area.
  • the sensor unit 200 may generate a virtual danger area and/or safety area based on the distance between the user 10 and the robot 100, but is not limited thereto.
  • the control unit may control the robot ( ) based on whether the position of the user 10 is in the danger area or in the safe area. 100) can be controlled.
  • the controller in one example, may drive the robot 100 at the first driving speed when it is determined that the user 10 is located in the safe area.
  • the control unit drives the robot 100 at a second driving speed slower than the first driving speed, or by stopping the driving of the robot 100, A collision between the robot 100 and the user 10 can be prevented.
  • control unit drives the robot 100 at a relatively high speed when the user 10 is located in the safe area, and operates the robot 100 at a relatively slow speed when the user 10 is located in the danger area. By driving or stopping the driving of the robot 100, it is possible to prevent injury to the user 10.
  • some components (eg, the gripper) of the robot 100 may be damaged, or the object 20 gripped by the robot 100 may be missed due to insufficient air pressure supplied to the robot 100 . That is, the object 20 may fall from the robot 100 due to a failure in grip of the robot 100 , and as a result, the user 10 located in the safe area also falls from the robot 100 . Injuries may occur due to
  • control unit calculates the drop point of the object 20 gripped by the robot 100 and controls the driving speed of the robot 100 based on the calculated drop point, thereby the falling object It is possible to prevent the user 10 from being injured by the (20).
  • a detailed description thereof will be provided later.
  • FIG. 3 is a diagram illustrating components of a robot control system according to an embodiment.
  • the robot control system includes a robot 100 (eg, the robot 100 of FIGS. 1 and 2 ), a sensor unit 200 (eg, the sensor unit 200 of FIG. 1 ). )), a memory 300 , and a control unit 400 .
  • the robot 100 may be driven at a motion and/or driving speed specified by motion planning, and may perform various tasks in cooperation with a user (or 'worker').
  • the robot 100 is, for example, a plurality of bars (eg, a plurality of bars 120 in FIG. 2 ), a plurality of joints (eg, a plurality of joints 130 in FIG. 2 ) for rotatably coupling the plurality of bars. ), a gripper coupled to one end of the plurality of bars (eg, the gripper 140 of FIG. 2 ).
  • the above-described robot 100 may grip an object (eg, the object 20 of FIGS. 1 and 2 ) through the gripper, and as a result, the robot 100 may perform various tasks in the industrial field.
  • the sensor unit 200 may include at least one sensor 210 and an area setting unit 220 , detect a user's location, and create a virtual risk based on the sensed user's location. You can set a danger area and a safety area.
  • the at least one sensor 210 may measure the distance between the user and the robot 100 by detecting the location of the user.
  • the at least one sensor 210 may include, but is not limited to, a camera sensor, a laser sensor, and/or a location sensor, for example, and the at least one sensor 210 may detect a user's location. If there is, it may include other sensors in addition to the position sensor.
  • the area setting unit 220 may set a virtual danger area and a safe area based on the location of the user detected by the at least one sensor 210 .
  • the danger area means an area in which the user is likely to be injured by the robot 100 in the process of collaboration between the user and the robot 100 .
  • the safe area means an area formed to surround the edge of the danger area, and the distance between the user and the robot 100 is relatively far away so that the user is not likely to be injured by the robot 100. it means.
  • the area setting unit 220 may set a virtual danger area and a safe area based on the distance between the user and the robot 100 detected by the at least one sensor 210 , a detailed description thereof is to be described later.
  • the memory 300 may store various instructions for driving the controller 400 .
  • the memory 300 has a first instruction for calculating the drop point of the object when the object held by the robot 100 falls, the robot that may not be injured by the falling object Second instructions for calculating the safe driving speed of 100 may be stored.
  • the memory 300 may be operatively connected to the control unit 400 , and when commands stored in the memory 300 are input to the control unit 400 , the control unit 400 may drop the object based on the commands. A point may be calculated, or a safe driving speed of the robot 100 may be calculated.
  • the memory 300 may be located within the control unit 400 , but is not limited thereto, and in another example, the memory 300 may be located outside the control unit 400 .
  • control unit 400 may be operatively connected to the sensor unit 200 and the memory 300 , and the virtual danger area, the stable area and the memory 300 set by the sensor unit 200 . ) may control the driving operation and/or driving speed of the robot 100 based on the commands stored in the .
  • the grip portion of the robot 100 eg, the grip portion 140 of FIG. 2
  • the grip portion of the robot 100 may be damaged, or the object gripped by the robot 100 may fall due to insufficient air pressure supplied to the robot 100 , and accordingly A case in which a user located in a virtual safe area is injured by an object falling from the robot 100 may occur.
  • control unit 400 calculates the fall point of the object and the safe driving speed of the robot 100 for the object to fall within the danger area, and controls the robot 100 at the safe driving speed, thereby It can prevent user injury.
  • the control unit 400 calculates the fall point of the object and the safe driving speed of the robot 100 for the object to fall within the danger area, and controls the robot 100 at the safe driving speed, thereby It can prevent user injury.
  • a detailed description of the operation of calculating the drop point of the object of the control unit 400 and calculating the safe driving speed of the robot 100 will be described later.
  • FIG. 4 is a flowchart illustrating an operation of controlling a robot, according to an embodiment.
  • the robot control system may detect the user's position through a sensor unit (eg, the sensor unit 200 of FIGS. 1 and 3 ).
  • the sensor unit may include at least one sensor (eg, at least one sensor 210 of FIG. 3 ) and/or a region setting unit (eg, the region setting unit 220 of FIG. 3 ), and the robot
  • the control system may detect the location of the user through at least one sensor of the sensor unit.
  • the area setting unit of the robot control system may set a virtual area based on the position of the user detected in operation 401 .
  • the area setting unit of the sensor unit may calculate the distance between the user and the robot based on the position of the user detected through operation 401, and based on the calculated distance between the user and the robot, the virtual danger area and A safe area can be set.
  • the danger area means an area in which a user is highly likely to be injured by the robot in the work process
  • the safe area means an area in which the user is likely to be injured by the robot in a relatively low manner.
  • the area setting unit may set an area within a designated distance from the robot among areas between the robot and the user as the danger area.
  • the above-described area setting unit may set an area that is more than a specified distance from the robot and surrounds at least one area of the danger area as the safe area.
  • the controller of the robot control system may calculate a safe driving speed for locating the falling point of the object within the danger area set in operation 402 when the object gripped by the robot falls.
  • the control unit may calculate the fall point of the object based on the current position of the gripper and the driving speed of the gripper, and whether the calculated fall point of the object is located within the danger area set in operation 402 or within the safe area. location can be determined.
  • the controller may calculate a safe driving speed for the falling point of the object to be located in the danger area.
  • a detailed description of the operation of calculating the fall point of the object of the control unit and calculating the safe driving speed will be described later.
  • the controller of the robot control system may control the driving speed of the robot based on the safe driving speed calculated in operation 403. Accordingly, the robot control system according to an embodiment may prevent the drop point of the object from leaving the danger zone when the object gripped by the robot falls due to factors such as breakage of the gripper and/or insufficient pneumatic pressure. That is, the robot control system according to an embodiment can secure the safety of the user even when the object gripped by the robot falls through the above-described operations 401 to 404.
  • FIG. 5 is a flowchart illustrating an operation of controlling a robot, according to an embodiment.
  • FIG. 6A is a view for explaining an operation of setting a danger area and a safe area according to the positions of the user and the robot according to an embodiment
  • FIG. 6B is, according to another embodiment, a risk according to the positions of the user and the robot It is a diagram for explaining an operation of setting a region and a safety region
  • FIG. 6C is a diagram for explaining a process of calculating a drop point of an object, according to an embodiment.
  • the robot control system performs a user 10 through a sensor unit (eg, the sensor unit 200 of FIGS. 1 and 3). ) can be detected.
  • the sensor unit may include, for example, at least one sensor (eg, at least one sensor 210 of FIG. 3 ), and may detect the user's location through the at least one sensor.
  • the sensor unit of the robot control system is based on the position of the user 10 detected in operation 501, a virtual danger area (eg, area D 1 in FIG. 6A ) and a virtual safe area ( Example: S 1 region of FIG. 6A) can be set.
  • the sensor unit may further include a region setting unit (eg, the region setting unit 220 of FIG. 3 ) in addition to the at least one sensor described above.
  • the area setting unit may calculate a distance (eg, L 1 in FIG. 6A or L 2 in FIG.
  • a virtual danger area (eg, D 1 , D 2 area) and a virtual safe area (eg, S 1 , S 2 area) may be set.
  • the area setting unit for example, when the distance between the user and the robot is a first length (L 1 ), a predetermined area between the user and the robot is a virtual first danger area (D) 1 ), and a predetermined area surrounding the first danger area D 1 may be set as the first safe area S 1 .
  • the area setting unit when the distance between the user and the robot, a first length (L 1) is shorter than the second length (L 2), the first red zone (D 1) relative to a virtual agent of the narrow region relative to The second danger area D 2 may be set, and a predetermined area surrounding the second danger area D 2 may be set as the second safe area S 2 . That is, the area setting unit may increase the area of the virtual danger area as the distance between the user and the robot increases.
  • 6A and/or 6B only the embodiment in which the hazardous area (eg , D 1 , D 2 area) and the safe area (eg, S 1 , S 2 area) are formed in a rectangular shape is illustrated in FIG. 6A and/or FIG.
  • the danger area and the safety area may be formed in a polygonal shape other than a circle, an oval, and a square.
  • the control unit of the robot control system drives the robot 100 based on the dangerous area (eg, D 1 , D 2 area) and the safe area (eg, S 1 , S 2 area) set in operation 502 You can control the speed.
  • the controller may slow the driving speed of the robot 100 to prevent injury of the user 10 .
  • the control unit may increase the work productivity by increasing the driving speed of the robot 100 again.
  • the control unit of the robot control system based on instructions stored in a memory (eg, the memory 300 of FIG. 3 ), the position of the holding unit 140 and / or the holding unit can calculate the driving speed. Since the gripper 140 is coupled to one end of the plurality of bars (eg, the plurality of bars 120 in FIG. 2 ), the controller controls the positions (q) of the plurality of bars and/or the driving speed ( ), the position p of the gripper 140 and/or the driving speed v of the gripper 140 may be calculated in real time.
  • the controller may calculate the position p of the gripper 140 and/or the driving speed v of the gripper through Equations 1 and 2 below.
  • p x in Equation 1 is the position of the holding unit 140 in the x direction (eg, the x direction of FIG. 6A ), and p y is the y direction of the holding unit 140 (eg, the y direction of FIG. 6A ).
  • the position of p z denotes a position in the z-direction (eg, the z-direction of FIG. 6A ) of the gripper 140
  • f denotes a forward kinematics equation of the robot 100 .
  • v x in Equation 2 is the speed of the holding unit 140 in the x direction (eg, the x direction of FIG. 6A ), and v y is the y direction of the holding unit 140 (eg, the y direction of FIG. 6A ).
  • Velocity means the speed in the z-direction (eg, the z-direction in FIG. 6A ) of the gripper 140
  • J means the Jacobian matrix of the robot 100 , denotes a speed vector indicating a driving speed of each bar among the plurality of bars.
  • the Jacobian matrix J of Equation 2 may be obtained by partial derivatives of the static kinematic expression f of the robot 100 of Equation 1 as shown in Equation 3 below.
  • the control unit analyzes the positions q of the plurality of bars (eg, the plurality of bars 120 in FIG. 2 ) of the plurality of bars as shown in Equation 1 through regular kinematics, so that one end of the plurality of bars is It is possible to calculate the position (p) of the combined grip portion (140). Specifically, since the positions of the plurality of bars and/or the connection relationships of the plurality of bars are preset in the design process of the robot 100, the control unit is configured to control the plurality of bars based on the positions and/or the connection relationships of the plurality of bars. , the position p of the gripper 140 may be calculated.
  • control unit is a Jacobian matrix (J) determined according to the position of the plurality of bars and/or the connection relationship of the plurality of bars as shown in Equation (2) and the driving speed of the plurality of bars ( ), the driving speed v of the gripper 140 coupled to one end of the plurality of bars may be calculated.
  • the controller of the robot control system is based on the position p of the holding unit 140 and the driving speed v of the holding unit 140 calculated in operation 503 . Based on this, when the object 20 gripped by the robot 100 falls, a drop point of the object 20 may be calculated.
  • Equation 4 means the gravitational acceleration in the -z-axis direction of FIG. 6C .
  • the control unit determines the speed of the object 20 .
  • the fall time (t) can be calculated.
  • the controller may calculate the falling point P L of the object 20 through Equation 5 below.
  • the above-described control unit is based on the calculated fall time (t) and the driving speed of the grip unit 140 calculated in operation 503, the specific position (x L and / or y L of the falling point of the object 20) ) can be calculated.
  • f p in Equation 5 is the position (q) of the plurality of bars and the driving speed of the plurality of bars ( ) may mean a function for the drop point of the object 20 as a variable.
  • control unit determines whether the drop point of the object calculated in operation 504 is located within the danger area (eg, area D of FIG. 6C) or within the safety area (eg, area S of FIG. 6C). can judge In one example, the controller may determine the location of the drop point of the object 20 through Equation 6 below.
  • the controller may determine that the falling point of the object 20 is located within a safe area (eg, area S of FIG. 6C ). Conversely, when it is determined that V(P L ) ⁇ 0, the controller may determine that the falling point of the object 20 is located within the danger area (eg, area D of FIG. 6C ).
  • the controller of the robot control system changes a separate driving speed Without it, it is possible to control the robot 100 to drive at the current driving speed.
  • the controller may control the robot 100 to drive in the current state.
  • operation 505 when it is determined that the falling point of the object 20 is located within the safe area (eg, the S area of FIG. 6C ), even if the user 10 is located within the safe area (S area), the robot ( There is a possibility of being injured by the object 20 falling from 100).
  • the safe area eg, the S area of FIG. 6C
  • the control unit of the robot control system can be calculated.
  • the control unit uses a numerical method (numerical method) to provide a safe driving speed ( ) can be calculated.
  • the control unit uses the Newton-Raphson method, so that the drop point of the object 20 in the current driving position (or the position of a plurality of bars) of the robot 100 is located in the danger area.
  • safe drive speed ( ) can be calculated.
  • the Newton-Raphson technique is currently From the value, find the tangent to V, and if the tangent is to the point where the axis meets While moving the value, the driving speed of the robot that starts to become V(x,y) ⁇ 0, that is, the safe driving speed ( ) is the process of calculating
  • the control unit uses other numerical calculation methods to calculate the safe driving speed ( ) can also be calculated.
  • the control unit of the robot control system may cause the robot 100 to operate at the safe driving speed calculated in operation 507 ( ), the driving of the robot 100 can be controlled. That is, the robot control system according to an embodiment provides a safe driving speed ( ) and calculate the safe drive speed ( ), by controlling the driving of the robot 100 based on, it is possible to prevent injury to the user due to the fall of the object 20 .
  • the robot control system performs operation 506, operation 507, or operation 508, and then, when the movement of the robot 100 changes (eg, a change in the position of a plurality of bars), operation 503, operation 504, By performing operation 505 again, the fall point of the object 20 and the safe driving speed of the robot 100 may be recalculated. That is, even when the safety fence 30 is present, the robot control system according to an embodiment may calculate the drop point of the object substantially the same as or similarly to the case in which there is no safety fence.
  • FIG. 7 is a flowchart illustrating an operation of controlling a robot when a safety fence is present
  • FIG. 8 is a diagram for explaining a process of calculating a fall point of an object when a safety fence is present.
  • FIG. 8 in describing the operation of controlling the robot of FIG. 7 , it will be described with reference to FIG. 8 .
  • the robot control system includes a case where there is no safety fence 30 as described above (eg, refer to FIG. 6c ), as well as some of the areas adjacent to the robot 100 . Even when the safety fence 30 is disposed on the , it is possible to control the operation of the robot 100 .
  • the control unit (eg, the control unit 400 of FIG. 3 ) of the robot control system considers the existence of the safety fence 30 disposed in the area adjacent to the robot 100 and a virtual risk You can set a zone and a virtual safe zone.
  • the controller may detect the location of the user (eg, the user 10 of FIG. 6A ) substantially the same as or similar to the operation 501 described above.
  • the controller may set a virtual danger area (eg, area D and B of FIG. 8 ) and a virtual safe area (eg, area S of FIG. 8 ) based on the sensed location of the user.
  • the control unit of the robot control system unlike the previous embodiment, in consideration of the area blocked by the safety fence 30 (eg, area B in FIG. 8 ), may set the danger area and the safe area, A detailed description will be given later.
  • the controller of the robot control system may calculate a drop point of the object 20 .
  • the controller controls the grip unit 140 (eg, the wave of FIG. 6A ) of the robot 100 (eg, the robot 100 of FIG. 6A ) substantially the same or similar to the operation 503 and/or operation 504 described above.
  • the position of the holding unit 140 and/or the driving speed of the holding unit 140 are calculated, and the object 20 (eg, the object of FIG. 6C ) is calculated based on the calculated position and/or driving speed of the holding unit 140 . (20)) can be calculated. Since operation 702 described above is substantially the same as or similar to operation 504 of FIG. 5 , a redundant description will be omitted below.
  • the controller of the robot control system may determine whether the drop point of the object 20 calculated in operation 701 is located within a virtual safe area or a danger area.
  • the robot control system in which the safety fence 30 is disposed in the area adjacent to the robot 100 unlike the robot control system of the previous embodiment (eg, the robot control system of FIG. 5 ), detects the existence of the safety fence 30 . In consideration of this, it may be determined whether the drop point of the object 20 is located within the danger area or the safety area.
  • the safety fence 30 may block the object 20 from falling.
  • the area (area B) blocked by the safety fence 30 is an extension line between the edge of the robot 100 and the safety fence 30 among the virtual safety areas (eg, area S in FIG. 8 ) (eg: E 1 , E 2 of FIG. 8 means an area separated from other safe areas.
  • the safety fence 30 can protect the user from the falling object 20 , so that the user The chances of being injured by a fall may not be high. Accordingly, even when it is calculated that the control unit of the robot control system according to an embodiment is located in an area (eg, area S in FIG. 8 ) where the drop point of the object 20 is more than a specified distance away from the robot 100 (eg, area S in FIG. 8 ). , if the falling point of the object 20 is located in the area (area B) blocked by the safety fence 30 , it may be determined that the falling point of the object 20 is located in the danger area.
  • control unit determines whether the falling point of the object 20 is located in the virtual danger area (area D, area B) or located in the virtual safety area (area S) based on Equation 7 below. can judge whether the falling point of the object 20 is located in the virtual danger area (area D, area B) or located in the virtual safety area (area S) based on Equation 7 below. can judge whether the falling point of the object 20 is located in the virtual danger area (area D, area B) or located in the virtual safety area (area S) based on Equation 7 below. can judge
  • P L may mean the coordinates of the drop point of the object 20 .
  • the control unit determines that the fall point of the object 20 is located within the safe area (eg, area S in FIG. 8 ). can do. Conversely, when it is determined that V'(PL ) ⁇ 0, the control unit may determine that the drop point of the object 20 is located in a danger area (eg, area D and/or area B in FIG. 8). .
  • the controller controls a separate driving speed Without change, it is possible to control the robot 100 to drive at the current driving speed.
  • the control unit may control the robot 100 to be driven in the current state, thereby improving the productivity of the work.
  • the controller when it is determined in operation 703 that the falling point of the object 20 is located in the safe area (eg, the S area of FIG. 8 ), in operation 705 , the controller according to an embodiment controls the object 20 to fall.
  • Safe drive speed ( ) can be calculated.
  • the control unit uses a numerical method to calculate a safe driving speed ( ) can be calculated.
  • the control unit uses the Newton-Raphson method to determine the safe driving speed ( ) can be calculated, and operation 705 is the same as or similar to operation 507 of FIG. 5 , so a redundant description will be omitted below.
  • the control unit controls the safe driving speed calculated in operation 705 ( ), it is possible to control the driving of the robot 100 to drive the robot 100 at a safe driving speed. That is, the robot control system according to an embodiment provides a safe driving speed ( ) and calculate the safe drive speed ( ), by controlling the driving of the robot 100 based on, it is possible to prevent injury to the user due to the fall of the object 20 .
  • the robot control system calculates the expected fall point of the object 20 even when the safety fence 30 exists in the area adjacent to the robot 100 through the above-described operations 701 to 706 and , it is possible to prevent injury to the user due to the fall of the object 20 .
  • the robot control system does not decelerate the driving speed of the robot 100 , thereby increasing work productivity.
  • a robot control system is a robot (eg, the robot of FIGS. 1 and 2 ) that is driven with a specified motion and can grip an object (eg, the object 20 of FIGS. 1 and 2 ). (100)), a sensor unit (eg, the sensor unit 200 of FIGS. 1 and 3 ) that detects the position of the user (eg, the user 10 of FIG. 1 ), the drop point of the object gripped by the robot, or A memory (eg, the memory 300 of FIG. 3 ) in which instructions for calculating the driving speed of the robot are stored and the sensor unit and a control unit operatively connected to the memory (eg, in FIG.
  • control unit 400 calculates a safe driving speed of the robot for the fall point of the object to be located in the danger area, based on the command stored in the memory, Based on the calculated safe driving speed, it may be configured to control the driving speed of the robot.
  • the sensor unit 200 includes at least one sensor 210 for detecting a user's position, and the danger area and the safe area based on the position sensed through the at least one sensor. may include a region setting unit 220 for setting the .
  • the area setting unit may be configured to set the danger area and the safe area based on a distance between the user and the robot (eg, L 1 in FIG. 6A or L 2 in FIG. 6B ).
  • the robot includes a plurality of bars (eg, a plurality of bars 120 in FIG. 2 ), and a plurality of joints (eg, FIG. 2 ) for rotatably connecting the plurality of bars. of the plurality of joints 130) and a gripper coupled to one end of the plurality of bars (eg, the gripper 140 of FIG. 2 ) for gripping the object.
  • a plurality of bars eg, a plurality of bars 120 in FIG. 2
  • a plurality of joints eg, FIG. 2
  • a gripper coupled to one end of the plurality of bars for gripping the object.
  • control unit may be configured to calculate a position of the gripper for gripping the object and a driving speed of the gripper based on the positions of the plurality of joints and the driving speeds of the plurality of joints.
  • the controller may be configured to calculate a drop point of the object gripped by the robot, based on the calculated position of the gripper and the driving speed of the gripper.
  • control unit may be configured not to change the driving speed of the robot when it is determined that the falling point of the object is located in the dangerous area.
  • the controller may be configured to recalculate the drop point of the object.
  • control unit may be configured to calculate a safe driving speed of the robot so that the falling point of the object is located in the danger area using a numerical method.
  • a safety fence (eg, the safety fence 30 of FIG. 8 ) disposed in an area adjacent to the robot and preventing the object from falling within a designated area may be further included. .
  • control unit determines whether the falling point of the object is located in the area blocked by the safety fence, and the falling point of the object is located in the area blocked by the safety fence.
  • the falling point of the object may be configured to determine that it is located in the danger area.
  • the method controls driving of a robot including a plurality of bars, a joint for rotatably connecting the plurality of bars, and a gripper coupled to one end of the plurality of bars and gripping an object
  • the robot based on the position detection operation for detecting the user's position, the area setting operation for setting a virtual danger area and a virtual safe area surrounding the danger area based on the sensed user's position, the robot A control operation for controlling the driving speed of the robot based on a safe driving speed calculation operation for calculating the safe driving speed of the robot so that the falling point of the gripped object is located within the danger area and the calculated safe driving speed may include.
  • the operation of setting the area may set the danger area and the safe area based on a distance between the user and the robot.
  • the operation of calculating the safe driving speed may include determining the position of the gripping part for gripping the object and the driving speed of the gripping part based on the positions of the plurality of joints and the driving speeds of the plurality of joints. It may include the operation of calculating.
  • the operation of calculating the safe driving speed may further include calculating a fall point of the object based on the calculated position of the gripper and the driving speed of the gripper.
  • the safe driving speed calculation operation may recalculate the drop point of the object when the positions of the plurality of joints and the driving speeds of the plurality of joints are changed.
  • the operation of calculating the safe driving speed may further include determining whether the falling point of the object is located in an area blocked by a safety fence.
  • the safe driving speed calculation operation when it is determined that the falling point of the object is located in an area blocked by the safety fence, it is determined that the falling point of the object is located in the dangerous area can do.
  • the safe driving speed calculation operation may use a numerical method to calculate a safe driving speed of the robot for the falling point of the object to be located in the dangerous area.
  • a robot (eg, the robot 100 of FIG. 2 ) according to an embodiment of the present disclosure includes a plurality of bars (eg, a plurality of bars 120 of FIG. 2 ) and a plurality of rotatably connecting the plurality of bars.
  • a joint eg, a plurality of joints 130 in FIG. 2
  • a gripper eg, a gripper in FIG. 2
  • an object eg, the object 20 in FIG. 2
  • the robot is driven at a safe driving speed so that the falling point of the object is located within a virtual danger area set based on the distance between the robot and the user.

Abstract

본 개시는 로봇 제어 시스템 및 방법에 관한 것으로, 본 개시의 일 실시예에 따른 로봇 제어 시스템은, 지정된 동작으로 구동되고, 객체를 파지할 수 있는 로봇, 사용자의 위치를 감지하는 센서부, 상기 로봇이 파지하는 객체의 낙하 지점 또는 상기 로봇의 구동 속도를 계산하는 명령어들(instructions)이 저장된 메모리 및 상기 센서부 및 상기 메모리와 작동적으로(operatively) 연결되는 제어부를 포함하고, 상기 센서부는, 상기 센서부를 통해 감지된 상기 사용자의 위치에 기초하여, 가상의 위험 영역과 상기 위험 영역을 둘러싸는 가상의 안전 영역을 설정하고, 상기 제어부는, 상기 메모리에 저장된 명령어에 기초하여, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하기 위한 상기 로봇의 안전 구동 속도를 계산하고, 상기 계산된 안전 구동 속도에 기초하여, 상기 로봇의 구동 속도를 제어하도록 구성될 수 있다.

Description

로봇 제어 시스템 및 방법
본 개시의 다양한 실시예들은 로봇 제어 시스템 및 방법에 관한 것이다.
협업 로봇(collaborative robot)(또는 '협동 로봇')은 인간과의 직접적인 상호 작용을 통해 사용자가 특정 작업을 수행하는 것을 도와주는 로봇을 의미한다.
각종 센서 기술, 로봇 기술 및 인공지능 기술 등이 혁신적으로 발달함에 따라, 협업 로봇의 개발이 활발하게 이루어지고 있으며, 협업 로봇이 적용되는 분야 또한 산업 분야에서 서비스 분야로 점차 확대되고 있다.
특히, 산업 분야에서 협업 로봇이 적용됨으로써, 인간은 작업 과정을 모니터링하고, 로봇이 신체적으로 부담이 되는 작업을 대신할 수 있으며, 그 결과 생산성 및 품질을 높이고, 작업자의 위험 부담을 줄일 수 있으므로, 산업 분야에서 협업 로봇에 대한 필요성이 점차 증가하고 있다.
협업 로봇이 산업 분야에 적용되는 경우, 작업 과정에서 사용자(또는 작업자)의 부상을 방지하는 차원에서 사용자와 협업 로봇 사이의 위치에 따라 협업 로봇의 구동 속도를 조절할 수 있다. 예를 들어, 사용자가 협업 로봇과 인접한 영역에 위치한 경우, 사용자의 부상을 방지하기 위하여 협업 로봇을 저속으로 구동하거나 구동을 멈출 수 있으며, 반대로 사용자가 협업 로봇으로부터 지정된 거리만큼 떨어진 위치에 위치한 경우, 협업 로봇을 고속으로 구동하여 생산성을 높일 수 있다.
다만, 협업 로봇이 고속으로 구동되는 동안 툴(tool) 파손 또는 공압 부족 등의 이유로 협업 로봇이 파지하고 있는 작업물을 놓치는 경우가 발생할 수 있으며, 그 결과 사용자가 협업 로봇으로부터 지정된 거리 이상 떨어져 있음에도 사용자가 부상당하는 경우가 종종 발생하였다.
작업물의 낙하에 의한 사용자의 부상을 방지하는 방안으로, 협업 로봇을 저속으로 구동하거나, 구동을 멈추는 영역을 더 넓게 설정하거나, 협업 로봇의 구동 속도를 감속하는 방안 등이 제안된 바 있다. 다만, 상술한 방안들의 경우, 사용자의 안전성을 확보할 수 있는 반면, 작업 생산성은 떨어질 수밖에 없으므로, 작업 생산성 및 사용자의 안정성을 동시에 확보할 수 있는 새로운 방안이 요구되는 실정이다.
이에, 본 개시는 작업물의 낙하 지점을 계산하고, 계산된 낙하 지점에 기초하여 협업 로봇의 구동 속도를 제어함으로써, 작업 생산성과 사용자의 안정성을 모두 확보할 수 있는 로봇 제어 시스템 및 방법을 제공하고자 한다.
본 개시의 일 실시예에 따른 로봇 제어 시스템은, 지정된 동작으로 구동되고, 객체를 파지할 수 있는 로봇, 사용자의 위치를 감지하는 센서부, 상기 로봇이 파지하는 객체의 낙하 지점 또는 상기 로봇의 구동 속도를 계산하는 명령어들(instructions)이 저장된 메모리 및 상기 센서부 및 상기 메모리와 작동적으로(operatively) 연결되는 제어부를 포함하고, 상기 센서부는, 상기 센서부를 통해 감지된 상기 사용자의 위치에 기초하여, 가상의 위험 영역과 상기 위험 영역을 둘러싸는 가상의 안전 영역을 설정하고, 상기 제어부는, 상기 메모리에 저장된 명령어에 기초하여, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하기 위한 상기 로봇의 안전 구동 속도를 계산하고, 상기 계산된 안전 구동 속도에 기초하여, 상기 로봇의 구동 속도를 제어하도록 구성될 수 있다.
본 개시의 일 실시예에 따른 방법은, 복수 개의 바, 상기 복수 개의 바를 회전 가능하게 연결하는 조인트 및 상기 복수 개의 바의 일단에 결합되고, 객체를 파지하는 파지부를 포함하는 로봇의 구동을 제어하는 방법에 있어서, 사용자의 위치를 감지하는 위치 감지 동작, 감지된 상기 사용자의 위치에 기초하여, 가상의 위험 영역과 상기 위험 영역을 둘러싸는 가상의 안전 영역을 설정하는 영역 설정 동작, 상기 로봇이 파지하는 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하기 위한 상기 로봇의 안전 구동 속도를 계산하는 안전 구동 속도 계산 동작 및 계산된 상기 안전 구동 속도에 기초하여, 상기 로봇의 구동 속도를 제어하는 제어 동작을 포함할 수 있다.
본 개시의 일 실시예에 따른 로봇은, 복수 개의 바, 상기 복수 개의 바를 회전 가능하게 연결하는 복수 개의 조인트 및 상기 복수 개의 바의 일단에 결합되고, 객체를 파지하는 파지부를 포함하고, 상기 로봇은, 상기 객체가 낙하하는 경우, 상기 객체의 낙하 지점이 상기 로봇과 사용자 사이의 거리에 기초하여 설정된 가상의 위험 영역 내에 위치하기 위한 안전 구동 속도로 구동될 수 있다.
본 개시의 일 실시예에 따른 로봇 제어 시스템은, 협업 로봇이 파지하고 있던 작업물이 낙하하는 경우에도 사용자의 안정성을 확보할 수 있다.
또한, 본 개시의 일 실시예에 따른 로봇 제어 시스템은, 협업 로봇을 최적의 속도로 구동함으로써, 사용자의 안전성을 확보하면서 작업 생산성까지 향상시킬 수 있다.
아울러, 본 개시의 일 실시예에 따른 로봇 제어 시스템은, 작업 공간 내에 안전 펜스의 유무에 관계없이 사용자의 안전성을 확보할 수 있다.
도 1은, 로봇과 사용자의 작업 과정을 나타내는 도면이다.
도 2는, 일 실시예에 따른 로봇을 나타내는 사시도이다.
도 3은, 일 실시예에 따른 로봇 제어 시스템의 구성 요소를 나타내는 도면이다.
도 4는, 일 실시예에 따라, 로봇을 제어하는 동작을 나타내는 순서도이다.
도 5는, 일 실시예에 따라, 로봇을 제어하는 동작을 나타내는 흐름도이다.
도 6a는, 일 실시예에 따라 사용자와 로봇의 위치에 따라 위험 영역과 안전 영역을 설정하는 동작을 설명하기 위한 도면이다.
도 6b는, 다른 실시예에 따라, 사용자와 로봇의 위치에 따라 위험 영역과 안전 영역을 설정하는 동작을 설명하기 위한 도면이다.
도 6c는, 일 실시예에 따라, 객체(object)의 낙하 지점을 계산하는 과정을 설명하기 위한 도면이다.
도 7은, 안전 펜스가 존재할 때, 로봇을 제어하는 동작을 나타내는 흐름도이다.
도 8은, 안전 펜스가 존재할 때, 객체(object)의 낙하 지점을 계산하는 과정을 설명하기 위한 도면이다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
도 1은, 로봇(100)과 사용자(10)의 작업 과정을 나타내는 도면이고, 도 2는, 일 실시예에 따른 로봇을 나타내는 사시도이다.
도 1을 참조하면, 일 실시예에 따르면, 산업 현장에서 사용자(10)(또는 작업자)는 로봇(100)과 함께 협업하여 다양한 종류의 작업을 수행할 수 있다. 일 예시에서, 사용자(10)는 로봇(100)과 협업하여 부품을 조립하거나, 부품을 운반하는 등의 작업을 수행할 수 있다.
도 2를 참조하면, 일 실시예에 따르면, 사용자(10)와 협업 또는 협동 가능한 로봇(100)은, 협업 로봇(collaborative robot)(또는 "협동 로봇")으로 지칭될 수 있으며, 고정부(110), 복수 개의 바(bar)(120), 복수 개의 조인트(joint)(130), 파지부(140)를 포함할 수 있다.
일 실시예에 따르면, 로봇(100)은 고정부(110)를 통해 특정 영역에 고정될 수 있으며, 복수 개의 바(120)는 고정부(110)에 회전 가능하게 결합되어, 고정부(110)를 기준으로 회전 운동할 수 있다.
일 실시예에 따르면, 복수 개의 바(120)는 복수 개의 조인트(130)에 의해 회전 가능하게 결합될 수 있으며, 복수 개의 바(120)를 통해 로봇(100)의 다양한 동작이 구현될 수 있다. 일 예시에서, 복수 개의 바(120)는 제1 바(121), 제2 바(122), 제3 바(123), 제4 바(124), 제5 바(125), 제6 바(126)을 포함하고, 복수 개의 조인트(130)는 제1 조인트(131), 제2 조인트(132), 제3 조인트(133), 제4 조인트(134), 제5 조인트(135), 제6 조인트(136)를 포함할 수 있다. 제1 바(121)는 제1 조인트(131)를 통해 고정부(110)와 회전 가능하게 결합될 수 있으며, 이에 따라 제1 바(121)는 로봇(100)의 움직임에 따라 고정부(110)를 기준으로 지정된 회전 각도 범위 내에서 회전(예: 도 2의 rz 방향의 회전)할 수 있다. 이와 유사하게, 제2 바(122)는 제2 조인트(132)를 통해 제1 바(121)와 회전 가능하게 결합될 수 있고, 제3 바(123)는 제3 조인트(133)를 통해 제2 바(122)와 회전 가능하게 결합될 수 있다. 또한, 제4 바(124)는 제4 조인트(134)를 통해 제3 바(123)와 회전 가능하게 결합되고, 제5 바(125)는 제5 조인트(135)를 통해 제4 바(124)와 회전 가능하게 결합되며, 제6 바(126)는 제6 조인트(136)를 통해 제5 바(125)와 회전 가능하게 결합될 수 있다. 상술한 복수 개의 바(120)와 복수 개의 조인트(130)가 각각 6개로 구성됨에 따라, 로봇(100)은 6 자유도(6 -DOF: 6 degree of freedom) 운동(예: 도 2의 x, y, z, rx, ry, rz 방향의 운동)을 할 수 있으며, 그 결과 로봇(100)은 작업 과정에서 다양한 동작으로 운동할 수 있다.
다만, 상술한 실시예에서는 복수 개의 바(120)와 복수 개의 조인트(130)가 6개인 경우에 대해서만 언급하였으나 이에 한정되는 것은 아니다. 다른 실시예에 따르면 복수 개의 바(120)와 복수 개의 조인트(130)의 개수는 4개이거나, 7개, 8개일 수도 있다. 또한, 도 1 및 도 2에는 로봇(100)이 일종의 암(arm) 구조인 경우에 대해서만 도시되어 있으나, 다른 실시예에 따르면 로봇(100)은 암(arm) 구조 외에 다른 구조로 형성될 수도 있다.
일 실시예에 따르면, 파지부(140)는 복수 개의 바(120)의 일단에 결합되어, 객체(object)(20)(예: 부품)을 파지할 수 있다. 일 예시에서, 파지부(140)는 복수 개의 바(120) 중에서 제6 바(126)의 일단에 결합될 수 있으며, 그 결과 파지부(140)는 제6 바(126)와 함께 구동될 수 있다. 일 실시예에 따른 로봇(100)은 지정된 동작 및/또는 구동 속도로 구동하면서, 상술한 파지부(140)를 통해 다양한 작업을 수행할 수 있다. 예를 들어, 로봇(100)은 파지부(140)를 통해 객체(20)를 파지하고, 파지한 객체(20)를 지정된 위치에 운반하는 작업을 수행할 수 있다. 또한, 로봇(100)은 파지부(140)를 통해 객체(20)를 파지하고, 상술한 객체(20)를 다른 객체(미도시)에 조립할 수도 있다.
다만, 로봇(100)이 지정된 동작 및/또는 구동 속도로 구동되는 과정에서 로봇(100)과 사용자(10)이 충돌하거나, 로봇(100)이 파지하는 객체(20)와 사용자(10)가 충돌하여, 사용자(10)가 부상당하는 경우가 발생할 수 있다. 일 실시예에 따르면, 로봇 제어 시스템은 센서부(200) 및 제어부(미도시)를 포함할 수 있으며, 사용자(10)의 위치를 감지하고, 감지된 사용자(10)의 위치에 기초하여 로봇(100)의 구동을 제어함으로써, 로봇(100)에 의해 사용자(10)가 부상당하는 것을 방지할 수 있다.
일 실시예에 따르면, 센서부(200)는 작업 환경 내에 위치하여, 사용자(10)의 위치를 감지할 수 있고, 감지된 사용자(10)의 위치에 기초하여 가상의 위험 영역(danger area) 및 위험 영역을 둘러싸는 안전 영역(safety area)를 생성할 수 있다. 일 예시에서, 센서부(200)는 사용자(10)와 로봇(100) 사이의 거리에 기초하여 가상의 위험 영역 및/또는 안전 영역을 생성할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 따르면, 제어부는 센서부(200)에서 가상의 위험 영역 및/또는 안전 영역이 설정된 후, 사용자(10)의 위치가 위험 영역 내에 존재하는지 또는 안전 영역에 존재하는지에 기반하여 로봇(100)의 구동을 제어할 수 있다. 제어부는, 일 예시에서, 사용자(10)가 안전 영역 내에 위치하는 것으로 판단되는 경우, 로봇(100)을 제1 구동 속도로 구동시킬 수 있다. 반면, 제어부는 사용자(10)가 위험 영역 내에 위치하는 것으로 판단되는 경우, 로봇(100)을 제1 구동 속도보다 느린 제2 구동 속도로 구동시키거나, 또는 로봇(100)의 구동을 멈춤으로써, 로봇(100)과 사용자(10)가 충돌하는 것을 방지할 수 있다.
즉, 제어부는 사용자(10)가 안전 영역 내에 위치하는 경우에는 로봇(100)을 상대적으로 빠른 속도로 구동시키고, 사용자(10)가 위험 영역 내에 위치하는 경우에는 로봇(100)을 상대적으로 느린 속도로 구동시키거나, 로봇(100)의 구동을 중지시킴으로써, 사용자(10)의 부상을 방지할 수 있다.
다만, 로봇(100)의 일부 구성(예: 파지부)이 손상되거나, 로봇(100)에 공급되는 공압이 부족하여 로봇(100)이 파지하고 있던 객체(20)를 놓치는 경우가 발생할 수 있다. 즉, 로봇(100)의 파지 실패로 인해 객체(20)가 로봇(100)에서 떨어지는 경우가 발생할 수 있으며, 그 결과 안전 영역 내에 위치하고 있는 사용자(10)도 로봇(100)에서 떨어지는 객체(20)에 의해 부상을 입는 경우가 발생할 수 있다.
이에, 일 실시예에 따른 제어부는, 로봇(100)이 파지하고 있는 객체(20)의 낙하 지점을 계산하고, 계산된 낙하 지점에 기초하여 로봇(100)의 구동 속도를 제어함으로써, 낙하하는 객체(20)에 의해 사용자(10)가 부상당하는 것을 방지할 수 있다. 다만, 이에 대한 구체적인 설명은 후술하도록 한다.
도 3은, 일 실시예에 따른 로봇 제어 시스템의 구성 요소를 나타내는 도면이다.
도 3을 참조하면, 일 실시예에 따른 로봇 제어 시스템은, 로봇(100)(예: 도 1, 도 2의 로봇(100)), 센서부(200)(예: 도 1의 센서부(200)), 메모리(300), 제어부(400)를 포함할 수 있다.
일 실시예에 따르면, 로봇(100)은 모션 플래닝(motion planning)에 의해 지정된 동작 및/또는 구동 속도로 구동될 수 있으며, 사용자(또는 '작업자')와 협업하여 다양한 작업을 수행할 수 있다. 로봇(100)은, 예를 들어, 복수 개의 바(예: 도 2의 복수 개의 바(120)), 복수 개의 바를 회전 가능하게 결합하는 복수 개의 조인트(예: 도 2의 복수 개의 조인트(130)), 복수 개의 바의 일단에 결합되는 파지부(예: 도 2의 파지부(140))를 포함할 수 있다. 상술한 로봇(100)은 파지부를 통해 객체(예: 도 1, 도 2의 객체(20))을 파지할 수 있으며, 그 결과 로봇(100)의 산업 현장에서 다양한 작업을 수행할 수 있다.
일 실시예에 따르면, 센서부(200)는 적어도 하나의 센서(210), 영역 설정부(220)를 포함할 수 있으며, 사용자의 위치를 감지하고, 감지된 사용자의 위치에 기초하여 가상의 위험 영역(danger area)과 안전 영역(safety area)을 설정할 수 있다.
일 예시에서, 적어도 하나의 센서(210)는 사용자의 위치를 감지하여, 사용자와 로봇(100) 사이의 거리를 측정할 수 있다. 적어도 하나의 센서(210)는, 예를 들어, 카메라 센서, 레이저 센서, 및/또는 위치 센서를 포함할 수 있으나 이에 한정되는 것은 아니며, 적어도 하나의 센서(210)는 사용자의 위치를 감지할 수 있다면 위치 센서 외에 다른 센서를 포함할 수도 있다.
일 예시에서, 영역 설정부(220)는 적어도 하나의 센서(210)에서 감지된 사용자의 위치에 기초하여, 가상의 위험 영역 및 안전 영역을 설정할 수 있다. 이 때, 위험 영역은 사용자와 로봇(100)의 협업 과정에서 사용자가 로봇(100)에 의해 부상을 당할 가능성이 있는 영역을 의미한다. 또한, 안전 영역은 위험 영역의 가장자리를 둘러싸도록 형성되는 영역을 의미하며, 사용자와 로봇(100) 사이의 거리가 상대적으로 멀리 떨어져 있어 사용자가 로봇(100)에 의해 부상당할 가능성이 높지 않은 영역을 의미한다. 일 예시에서, 영역 설정부(220)는 적어도 하나의 센서(210)에서 감지된 사용자와 로봇(100) 사이의 거리에 기초하여, 가상의 위험 영역 및 안전 영역을 설정할 수 있으며, 이에 대한 구체적인 설명은 후술하도록 한다.
일 실시예에 따르면, 메모리(300)는 제어부(400)를 구동시키기 위한 다양한 명령어들(instructions)이 저장되어 있을 수 있다. 일 예시에서, 메모리(300)에는 로봇(100)이 파지하고 있는 객체가 낙하할 때, 객체의 낙하 지점을 계산하는 제1 명령어(instruction), 낙하하는 객체에 의해 사용자가 부상당하지 않을 수 있는 로봇(100)의 안전 구동 속도를 계산하는 제2 명령어들(instructions)이 저장되어 있을 수 있다. 메모리(300)는 제어부(400)와 작동적으로(operatively) 연결될 수 있으며, 제어부(400)에 메모리(300)에 저장된 명령어들이 입력되는 경우, 제어부(400)는 명령어들에 기초하여 객체의 낙하 지점을 계산하거나, 로봇(100)의 안전 구동 속도를 계산할 수 있다. 일 예시에서, 메모리(300)는 제어부(400) 내에 위치할 수 있으나 이에 한정되는 것은 아니며, 다른 예시에서, 메모리(300)는 제어부(400) 외부에 위치할 수도 있다.
일 실시예에 따르면, 제어부(400)는 센서부(200) 및 메모리(300)와 작동적으로(operatively) 연결될 수 있으며, 센서부(200)에서 설정된 가상의 위험 영역과 안정 영역 및 메모리(300)에 저장된 명령어들에 기초하여 로봇(100)의 구동 동작 및/또는 구동 속도를 제어할 수 있다. 로봇(100)의 파지부(예: 도 2의 파지부(140))가 손상되거나, 로봇(100)에 공급되는 공압 부족으로 로봇(100)이 파지하고 있던 객체가 낙하할 수 있으며, 이에 따라 로봇(100)으로부터 낙하되는 객체에 의해 가상의 안전 영역 내에 위치하는 사용자가 부상당하는 경우가 발생할 수 있다. 이에 따라, 제어부(400)는 객체의 낙하 지점 및 객체가 위험 영역 내에 낙하하기 위한 로봇(100)의 안전 구동 속도를 계산하고, 로봇(100)을 안전 구동 속도로 제어함으로써, 낙하하는 객체의 의한 사용자의 부상을 방지할 수 있다. 다만, 제어부(400)의 객체의 낙하 지점을 계산하고, 로봇(100)의 안전 구동 속도를 계산하는 동작에 대한 구체적인 설명은 후술하도록 한다.
도 4는, 일 실시예에 따라, 로봇을 제어하는 동작을 나타내는 순서도이다.
도 4를 참조하면, 401 동작에서, 일 실시예에 따른 로봇 제어 시스템은 센서부(예: 도 1, 도 3의 센서부(200))를 통해 사용자의 위치를 감지할 수 있다. 일 예시에서, 센서부는 적어도 하나의 센서(예: 도 3의 적어도 하나의 센서(210)) 및/또는 영역 설정부(예: 도 3의 영역 설정부(220))를 포함할 수 있으며, 로봇 제어 시스템은 센서부의 적어도 하나의 센서를 통해 사용자의 위치를 감지할 수 있다.
402 동작에서, 일 실시예에 따른 로봇 제어 시스템의 영역 설정부는 401 동작에서 감지된 사용자의 위치에 기초하여, 가상(virtual)의 영역을 설정할 수 있다. 일 예시에서, 센서부의 영역 설정부는 401 동작을 통해 감지된 사용자의 위치에 기초하여, 사용자와 로봇 사이의 거리를 계산할 수 있으며, 계산된 사용자와 로봇 사이의 거리에 기초하여, 가상의 위험 영역과 안전 영역을 설정할 수 있다. 이 때, 위험 영역은 작업 과정에서 사용자가 로봇에 의해 부상당할 가능성이 높은 영역을 의미하고, 안전 영역은 사용자가 로봇에 의해 부상당할 가능성이 상대적으로 낮은 영역을 의미한다. 일 예시에서, 영역 설정부는, 로봇과 사용자 사이의 영역 중 로봇으로부터 지정된 거리 이내의 영역을 위험 영역으로 설정할 수 있다. 또한, 상술한 영역 설정부는 로봇으로부터 지정된 거리 이상 떨어져 있으며, 위험 영역의 적어도 일 영역을 둘러싸는 영역을 안전 영역으로 설정할 수 있다.
403 동작에서, 일 실시예에 따른 로봇 제어 시스템의 제어부는, 로봇이 파지하고 있는 객체가 낙하하는 경우, 객체의 낙하 지점이 402 동작에서 설정된 위험 영역 내에 위치하기 위한 안전 구동 속도를 계산할 수 있다. 일 예시에서, 제어부는 현재 파지부의 위치, 파지부의 구동 속도에 기초하여, 객체의 낙하 지점을 계산할 수 있으며, 계산된 객체의 낙하 지점이 402 동작에서 설정된 위험 영역 내에 위치하는지 또는 안전 영역 내에 위치하는지 판단할 수 있다. 객체의 낙하 지점이 안전 영역 내에 위치하는 경우, 사용자가 작업 과정에서 낙하하는 객체에 의해 부상당할 수 있으므로, 제어부는 객체의 낙하 지점이 위험 영역 내에 위치하기 위한 안전 구동 속도를 계산할 수 있다. 다만, 제어부의 객체의 낙하 지점을 계산하고, 안전 구동 속도를 계산하는 동작에 관한 구체적인 설명은 후술하도록 한다.
404 동작에서, 일 실시예에 따른 로봇 제어 시스템의 제어부는 403 동작에서 계산된 안전 구동 속도에 기초하여, 로봇의 구동 속도를 제어할 수 있다. 이에 따라, 일 실시예에 따른 로봇 제어 시스템은 파지부의 파손 및/또는 공압 부족 등의 요인으로 로봇이 파지하고 있던 객체가 낙하하는 경우, 객체의 낙하 지점이 위험 영역을 벗어나지 않도록 할 수 있다. 즉, 일 실시예에 따른 로봇 제어 시스템은 상술한 401 동작 내지 404 동작을 통해 로봇이 파지하고 있던 객체가 낙하하는 경우에도 사용자의 안전성을 확보할 수 있다.
도 5는, 일 실시예에 따라, 로봇을 제어하는 동작을 나타내는 흐름도이다.
도 6a는, 일 실시예에 따라 사용자와 로봇의 위치에 따라 위험 영역과 안전 영역을 설정하는 동작을 설명하기 위한 도면이며, 도 6b는, 다른 실시예에 따라, 사용자와 로봇의 위치에 따라 위험 영역과 안전 영역을 설정하는 동작을 설명하기 위한 도면이고, 도 6c는, 일 실시예에 따라, 객체(object)의 낙하 지점을 계산하는 과정을 설명하기 위한 도면이다.
이하, 도 5의 로봇을 제어하는 동작을 설명함에 있어, 도 6a 내지 도 6c를 참고하여 설명하도록 한다.
도 5, 도 6a, 도 6b 및 도 6c를 참조하면, 501 동작에서, 일 실시예에 따른 로봇 제어 시스템은 센서부(예: 도 1, 도 3의 센서부(200))를 통해 사용자(10)의 위치를 감지할 수 있다. 센서부는, 예를 들어, 적어도 하나의 센서(예: 도 3의 적어도 하나의 센서(210))를 포함할 수 있으며, 적어도 하나의 센서를 통해 사용자의 위치를 감지할 수 있다.
502 동작에서, 일 실시예에 따른 로봇 제어 시스템의 센서부는 501 동작에서 감지된 사용자(10)의 위치에 기초하여, 가상의 위험 영역(예: 도 6a의 D1 영역)과 가상의 안전 영역(예: 도 6a의 S1 영역)을 설정할 수 있다. 일 예시에서, 센서부는 상술한 적어도 하나의 센서 외에 영역 설정부(예: 도 3의 영역 설정부(220))를 더 포함할 수 있다. 영역 설정부는 501 동작에서 감지된 사용자의 위치에 기초하여, 사용자(10)와 로봇(100) 사이의 거리(예: 도 6a의 L1 또는 도 6b의 L2)를 계산할 수 있으며, 계산된 사용자(10)와 로봇(100) 사이의 거리에 기초하여 가상의 위험 영역(예: D1, D2 영역)과 가상의 안전 영역(예: S1, S2 영역)을 설정할 수 있다. 도 6a 및 도 6b를 참조하면, 영역 설정부는, 예를 들어, 사용자와 로봇 사이의 거리가 제1 길이(L1)인 경우, 사용자와 로봇 사이의 일정 영역을 가상의 제1 위험 영역(D1)으로 설정하고, 제1 위험 영역(D1)을 둘러싸는 일정 영역을 제1 안전 영역(S1)으로 설정할 수 있다. 또한, 영역 설정부는, 사용자와 로봇 사이의 거리가 제1 길이(L1)보다 짧은 제2 길이(L2)인 경우, 제1 위험 영역(D1)에 비해 상대적으로 좁은 영역을 가상의 제2 위험 영역(D2)으로 설정하고, 제2 위험 영역(D2)을 둘러싸는 일정 영역을 제2 안전 영역(S2)으로 설정할 수 있다. 즉, 영역 설정부는 사용자와 로봇 사이의 거리가 멀어질수록, 가상의 위험 영역의 면적을 크게 형성할 수 있다. 도 6a 및/또는 도 6b 상에는 위험 영역(예: D1, D2 영역)과 안전 영역(예: S1, S2 영역)이 사각형 형상으로 형성된 실시예에 대해서만 도시되어 있으나, 다른 실시예(미도시)에 따르면 위험 영역과 안전 영역은 원형, 타원형, 사각형 외의 다른 다각형 형상으로 형성될 수도 있다. 일 실시예에 따른 로봇 제어 시스템의 제어부는 502 동작에서 설정된 위험 영역(예: D1, D2 영역)과 안전 영역(예: S1, S2 영역)에 기초하여, 로봇(100)의 구동 속도를 제어할 수 있다. 일 예시에서, 사용자(10)가 502 동작에서 설정된 위험 영역 내로 접근하는 경우, 제어부는 로봇(100)의 구동 속도를 느리게 하여 사용자(10)의 부상을 방지할 수 있다. 반대로, 사용자(10)가 위험 영역에서 안전 영역으로 나가는 경우, 제어부는 로봇(100)의 구동 속도를 다시 빠르게 하여 작업 생산성을 높일 수 있다.
503 동작에서, 일 실시예에 따른 로봇 제어 시스템의 제어부는 메모리(예: 도 3의 메모리(300))에 저장된 명령어들(instructions)에 기초하여, 파지부(140)의 위치 및/또는 파지부의 구동 속도를 계산할 수 있다. 파지부(140)는 복수 개의 바(예: 도 2의 복수 개의 바(120))의 일단에 결합되므로, 제어부는 복수 개의 바의 위치(q) 및/또는 복수 개의 바의 구동 속도(
Figure PCTKR2021000030-appb-I000001
)에 기초하여, 파지부(140)의 위치(p) 및/또는 파지부(140)의 구동 속도(v)를 실시간으로 계산할 수 있다.
일 실시예에 따르면, 제어부는 하기 수학식 1 및 수학식 2를 통해 파지부(140)의 위치(p) 및/또는 파지부의 구동 속도(v)를 계산할 수 있다.
Figure PCTKR2021000030-appb-I000002
Figure PCTKR2021000030-appb-I000003
이 때, 수학식 1의 px는 파지부(140)의 x 방향(예: 도 6a의 x 방향)의 위치, py는 파지부(140)의 y 방향(예: 도 6a의 y 방향)의 위치, pz는 파지부(140)의 z 방향(예: 도 6a의 z 방향)의 위치를 의미하며, f는 로봇(100)의 정기구학(forward kinematics) 식을 의미한다.
또한, 수학식 2의 vx는 파지부(140)의 x 방향(예: 도 6a의 x 방향)의 속도, vy는 파지부(140)의 y 방향(예: 도 6a의 y 방향)의 속도, vz는 파지부(140)의 z 방향(예: 도 6a의 z 방향)의 속도를 의미하고, J는 로봇(100)의 자코비안 행렬(jacobian matrix)를 의미하며,
Figure PCTKR2021000030-appb-I000004
은 복수 개의 바 중 각각의 바의 구동 속도를 나타내는 속도 벡터를 의미한다. 특히, 수학식 2의 자코비안 행렬 J는 하기 수학식 3과 같이 수학식 1의 로봇(100)의 정기구학 식 f를 편미분(partial derivatives)하여, 획득될 수 있다.
Figure PCTKR2021000030-appb-I000005
일 예시에서, 제어부는 수학식 1과 같이 복수 개의 바의 복수 개의 바(예: 도 2의 복수 개의 바(120))의 위치(q)를 정기구학을 통해 분석함으로써, 복수 개의 바의 일단에 결합된 파지부(140)의 위치(p)를 계산할 수 있다. 구체적으로, 로봇(100)의 설계 과정에서 복수 개의 바의 위치 및/또는 복수 개의 바의 연결 관계가 미리 설정되어 있으므로, 제어부는 복수 개의 바의 위치 및/또는 복수 개의 바의 연결 관계에 기초하여, 파지부(140)의 위치(p)를 계산할 수 있다.
일 예시에서, 제어부는 수학식 2와 같이 복수 개의 바의 위치 및/또는 복수 개의 바의 연결 관계에 따라 결정되는 자코비안 행렬(J) 및 복수 개의 바의 구동 속도(
Figure PCTKR2021000030-appb-I000006
)에 기초하여, 복수 개의 바의 일단에 결합된 파지부(140)의 구동 속도(v)를 계산할 수 있다.
도 6c를 참조하면, 504 동작에서, 일 실시예에 따른 로봇 제어 시스템의 제어부는, 503 동작에서 계산된 파지부(140)의 위치(p) 및 파지부(140)의 구동 속도(v)에 기초하여, 로봇(100)이 파지하고 있는 객체(20)가 낙하하는 경우, 객체(20)의 낙하 지점을 계산할 수 있다.
일 예시에서, 제어부는 하기 수학식 4을 통해 로봇(100)으로부터 낙하하는 객체(20)가 지면에 접촉할 때(예: 도 6c의 z=0일 때)까지 걸리는 시간(이하, '낙하 시간(t)'으로 지칭함)을 계산할 수 있다.
Figure PCTKR2021000030-appb-I000007
이 때, 수학식 4의 g는 도 6c의 -z축 방향의 중력 가속도를 의미한다.
구체적으로, 제어부는 504 동작에서 계산된 파지부(140)의 지면 방향(예: 도 6c의 +z 방향)의 위치(pz) 및 구동 속도(vz)에 기초하여, 객체(20)의 낙하 시간(t)를 계산할 수 있다.
일 예시에서, 제어부는 객체(20)의 낙하 시간(t)을 계산한 후, 하기 수학식 5를 통해 객체(20)의 낙하 지점(PL)을 계산할 수 있다. 구체적으로, 상술한 제어부는 계산된 낙하 시간(t) 및 503 동작에서 계산된 파지부(140)의 구동 속도에 기초하여, 객체(20)의 낙하 지점의 구체적인 위치(xL 및/또는 yL)를 계산할 수 있다.
Figure PCTKR2021000030-appb-I000008
이 때, 수학식 5의 fp는 복수 개의 바의 위치(q) 및 복수 개의 바의 구동 속도(
Figure PCTKR2021000030-appb-I000009
)를 변수로 하는 객체(20)의 낙하 지점에 대한 함수를 의미할 수 있다.
505 동작에서, 일 실시예에 따른 제어부는 504 동작에서 계산된 객체의 낙하 지점이 위험 영역(예: 도 6c의 D 영역) 내에 위치하는지 또는 안전 영역(예: 도 6c의 S 영역) 내에 위치하는지 판단할 수 있다. 일 예시에서, 제어부는 하기 수학식 6을 통해 객체(20)의 낙하 지점의 위치를 파악할 수 있다.
Figure PCTKR2021000030-appb-I000010
이 때, 수학식 6의 V=0 또는 V(x,y)=0은 502 동작에서 설정된 위험 영역과 안전 영역 사이의 경계를 나타내며, 상기 경계의 외부에 위치하는 안전 영역은 V(x,y)≥0으로 나타내고, 상기 경계의 내부에 위치하는 위험 영역은 V(x,y)<0으로 나타낼 수 있다.
일 예시에서, 제어부는 V(PL)≥0인 것으로 판단되는 경우, 객체(20)의 낙하 지점이 안전 영역(예: 도 6c의 S 영역) 내에 위치하는 것으로 판단할 수 있다. 반대로, 제어부는 V(PL)<0인 것으로 판단되는 경우, 객체(20)의 낙하 지점이 위험 영역(예: 도 6c의 D 영역) 내에 위치하는 것으로 판단할 수 있다.
505 동작에서 객체(20)의 낙하 지점이 위험 영역(예: 도 6c의 D 영역) 내에 위치하는 것으로 판단되는 경우, 506 동작에서, 일 실시예에 따른 로봇 제어 시스템의 제어부는 별도의 구동 속도 변경 없이, 로봇(100)이 현재 구동 속도로 구동하도록 제어할 수 있다. 객체(20)의 낙하 예상 지점이 위험 영역 내에 위치하는 것으로 판단되는 경우, 사용자(10)가 로봇(100)의 구동 및/또는 로봇(100)으로부터 낙하하는 객체(20)에 의해 부상당할 가능성이 높지 않으므로, 제어부는 로봇(100)이 현재 상태로 구동하도록 제어할 수 있다.
이와 달리, 505 동작에서 객체(20)의 낙하 지점이 안전 영역(예: 도 6c의 S 영역) 내에 위치하는 것으로 판단되는 경우, 사용자(10)가 안전 영역(S 영역) 내에 위치하고 있더라도, 로봇(100)으로부터 낙하하는 객체(20)에 의해 부상당할 가능성이 있다.
이에 따라, 일 실시예에 따른 로봇 제어 시스템의 제어부는, 507 동작에서, 객체(20)의 낙하 지점이 위험 영역 내에 위치하기 위한 로봇(100)의 구동 속도(이하, '안전 구동 속도(
Figure PCTKR2021000030-appb-I000011
)'로 지칭함)를 계산할 수 있다. 제어부는 수치 계산법(numerical method)을 이용하여, 객체(20)의 낙하 지점이 위험 영역 내에 위치하기 위한 안전 구동 속도(
Figure PCTKR2021000030-appb-I000012
)를 계산할 수 있다. 예를 들어, 제어부는 뉴턴-랩슨 기법(Newton-Raphson method)를 이용하여, 현재 로봇(100)의 구동 위치(또는 복수 개의 바의 위치)에서 객체(20)의 낙하 지점이 위험 영역 내에 위치하기 위한 안전 구동 속도(
Figure PCTKR2021000030-appb-I000013
)를 계산할 수 있다. 본 개시에서 뉴턴-랩슨 기법은 현재
Figure PCTKR2021000030-appb-I000014
값에서, V의 접선을 구하고, 접선이
Figure PCTKR2021000030-appb-I000015
축과 만나는 지점으로
Figure PCTKR2021000030-appb-I000016
값을 이동시키면서, V(x,y)<0이 되기 시작하는 로봇의 구동 속도 즉, 안전 구동 속도(
Figure PCTKR2021000030-appb-I000017
)를 계산하는 과정을 의미한다. 다만, 제어부는 상술한 뉴턴-랩슨 기법 외에도 다른 수치 계산법을 통해 안전 구동 속도(
Figure PCTKR2021000030-appb-I000018
)를 계산할 수도 있다.
508 동작에서, 일 실시예에 따른 로봇 제어 시스템의 제어부는, 로봇(100)이 507 동작에서 계산된 안전 구동 속도(
Figure PCTKR2021000030-appb-I000019
)로 구동하도록, 로봇(100)의 구동을 제어할 수 있다. 즉, 일 실시예에 따른 로봇 제어 시스템은 507 동작 및 508 동작을 통해 객체(20)의 예상 낙하 지점이 위험 영역 내에 위치하기 위한 안전 구동 속도(
Figure PCTKR2021000030-appb-I000020
)를 계산하고, 안전 구동 속도(
Figure PCTKR2021000030-appb-I000021
)에 기초하여 로봇(100)의 구동을 제어함으로써, 객체(20)의 낙하에 의한 사용자의 부상을 방지할 수 있다.
일 실시예에 따른 로봇 제어 시스템은 506 동작 또는 507 동작, 508 동작을 수행한 후, 로봇(100)의 움직임이 변화(예: 복수 개의 바의 위치의 변화)하는 경우, 503 동작, 504 동작, 505 동작을 재 수행하여, 객체(20)의 낙하 지점 및 로봇(100)의 안전 구동 속도를 다시 계산할 수 있다. 즉, 일 실시예에 따른 로봇 제어 시스템은 안전 펜스(30)가 존재하는 경우에도 안전 펜스가 없는 경우와 실질적으로 동일 또는 유사하게 객체의 낙하 지점을 계산할 수 있다.
도 7은, 안전 펜스가 존재할 때, 로봇을 제어하는 동작을 나타내는 흐름도이고, 도 8은, 안전 펜스가 존재할 때, 객체(object)의 낙하 지점을 계산하는 과정을 설명하기 위한 도면이다. 이하, 도 7의 로봇을 제어하는 동작을 설명함에 있어, 도 8을 참고하여 설명하도록 한다.
도 7 및 도 8을 참조하면, 일 실시예에 따른 로봇 제어 시스템은 앞서 설명한 바와 같이 안전 펜스(30)가 없는 경우(예: 도 6c 참조)는 물론, 로봇(100)과 인접한 영역 중 일부 영역에 안전 펜스(safety fence)(30)가 배치된 경우에도 로봇(100)의 구동을 제어할 수 있다.
701 동작에서, 일 실시예에 따른 로봇 제어 시스템의 제어부(예: 도 3의 제어부(400))는, 로봇(100)과 인접한 영역에 배치된 안전 펜스(30)의 존재를 고려하여 가상의 위험 영역과 가상의 안전 영역을 설정할 수 있다. 일 예시에서, 제어부는 가상의 위험 영역과 안전 영역을 설정하기에 앞서, 상술한 501 동작과 실질적으로 동일 또는 유사하게 사용자(예: 도 6a의 사용자(10))의 위치를 감지할 수 있다. 제어부는 감지된 사용자의 위치에 기초하여 가상의 위험 영역(예: 도 8의 D 영역, B 영역)과 가상의 안전 영역(예: 도 8의 S 영역)을 설정할 수 있다. 이 때, 로봇 제어 시스템의 제어부는, 앞선 실시예와 달리, 안전 펜스(30)에 의해 차단되는 영역(예: 도 8의 B 영역)을 고려하여, 위험 영역과 안전 영역을 설정할 수 있으며, 이에 대한 구체적인 설명은 후술하도록 한다.
702 동작에서, 일 실시예에 따른 로봇 제어 시스템의 제어부는 객체(20)의 낙하 지점을 계산할 수 있다. 일 예시에서, 제어부는 상술한 503 동작 및/또는 504 동작과 실질적으로 동일 또는 유사하게 로봇(100)(예: 도 6a의 로봇(100))의 파지부(140)(예: 도 6a의 파지부(140))의 위치 및/또는 파지부(140)의 구동 속도를 계산하고, 계산된 파지부(140)의 위치 및/또는 구동 속도에 기초하여 객체(20)(예: 도 6c의 객체(20))의 낙하 지점을 계산할 수 있다. 상술한 702 동작은 도 5의 504 동작과 실질적으로 동일 또는 유사하므로, 이하 중복되는 설명은 생략하도록 한다.
703 동작에서, 일 실시예에 따른 로봇 제어 시스템의 제어부는, 701 동작에서 계산된 객체(20)의 낙하 지점이 가상의 안전 영역 내에 위치하는지 또는 위험 영역 내에 위치하는지 여부를 판단할 수 있다. 다만, 로봇(100)과 인접한 영역에 안전 펜스(30)가 배치된 로봇 제어 시스템은, 앞선 실시예의 로봇 제어 시스템(예: 도 5의 로봇 제어 시스템)과 달리, 안전 펜스(30)의 존재를 고려하여 객체(20)의 낙하 지점이 위험 영역 내 또는 안전 영역 내에 위치하는지 판단할 수 있다.
객체(20)의 낙하 지점이 로봇(100)으로부터 지정된 거리 이상 떨어진 영역(예: 도 8의 S 영역)에 계산되더라도, 상기 낙하 지점이 안전 펜스(30)에 의해 차단되는 영역(예: 도 8의 B 영역) 내에 위치하는 경우, 안전 펜스(30)가 객체(20)의 낙하를 차단할 수 있다. 이 때, 안전 펜스(30)에 의해 차단되는 영역(B 영역)은 가상의 안전 영역(예: 도 8의 S 영역) 중에서도 로봇(100)과 안전 펜스(30)의 가장자리 사이의 연장선(예: 도 8의 E1, E2)에 의해 다른 안전 영역과 구분되는 영역을 의미한다. 즉, 사용자가 안전 펜스(30)에 의해 차단되는 영역(B 영역) 내에 위치하는 경우, 안전 펜스(30)가 낙하하는 객체(20)로부터 사용자를 보호할 수 있으므로, 사용자가 객체(20)의 낙하에 의해 부상당할 가능성은 높지 않을 수 있다. 이에 따라, 일 실시예에 따른 로봇 제어 시스템의 제어부는, 객체(20)의 낙하 지점이 로봇(100)으로부터 지정된 거리 이상 떨어진 영역(예: 도 8의 S 영역)에 위치하는 것으로 계산된 경우라도, 객체(20)의 낙하 지점이 안전 펜스(30)에 의해 차단되는 영역(B 영역) 내에 위치한다면, 객체(20)의 낙하 지점이 위험 영역 내에 위치하는 것으로 판단할 수 있다.
일 예시에서, 제어부는 하기 수학식 7에 기초하여, 객체(20)의 낙하 지점이 가상의 위험 영역(D 영역, B 영역) 내에 위치하는지 또는 가상의 안전 영역(S 영역) 내에 위치하는지 여부를 판단할 수 있다.
Figure PCTKR2021000030-appb-I000022
이 때, V'=0 또는 V'(x,y)=0은 앞선 실시예와 달리, 안전 펜스(30)에 의해 차단되는 영역(B 영역)을 고려하여 설정된 가상의 안전 영역과 위험 영역 사이의 경계를 의미하며, PL은 객체(20)의 낙하 지점의 좌표를 의미할 수 있다.
일 예시에서, 제어부는 상기 수학식 7과 같이 V'(PL)≥0인 것으로 판단되는 경우, 객체(20)의 낙하 지점이 안전 영역(예: 도 8의 S 영역) 내에 위치하는 것으로 판단할 수 있다. 반대로, 제어부는 V'(PL)<0인 것으로 판단되는 경우, 객체(20)의 낙하 지점이 위험 영역(예: 도 8의 D 영역 및/또는 B 영역) 내에 위치하는 것으로 판단할 수 있다.
703 동작에서 객체(20)의 낙하 지점이 위험 영역(예: 도 8의 D 영역 및/또는 B 영역) 내에 위치하는 것으로 판단되는 경우, 704 동작에서, 일 실시예에 따른 제어부는 별도의 구동 속도 변경 없이, 로봇(100)이 현재 구동 속도로 구동하도록 제어할 수 있다. 객체(20)의 낙하 예상 지점이 위험 영역 내에 위치하는 것으로 판단되는 경우, 사용자(10)가 로봇(100)의 구동 및/또는 로봇(100)으로부터 낙하하는 객체(20)에 의해 부상당할 가능성이 높지 않다. 이에 따라, 제어부는 로봇(100)이 현재 상태로 구동하도록 제어하여, 작업의 생산성을 향상시킬 수 있다.
이와 달리, 703 동작에서 객체(20)의 낙하 지점이 안전 영역(예: 도 8의 S 영역)에 위치하는 것으로 판단되는 경우, 705 동작에서, 일 실시예에 따른 제어부는 객체(20)의 낙하 지점이 위험 영역 내에 위치하기 위한 안전 구동 속도(
Figure PCTKR2021000030-appb-I000023
)를 계산할 수 있다. 제어부는 수치 계산법(numerical method)를 이용하여, 객체(20)의 낙하 지점이 위험 영역 내에 위치하기 위한 안전 구동 속도(
Figure PCTKR2021000030-appb-I000024
)를 계산할 수 있다. 예를 들어, 제어부는 뉴턴-랩슨 기법(Newton-Raphson method)를 이용하여 객체(20)의 낙하 지점이 위험 영역 내에 위치하기 시작하는 안전 구동 속도(
Figure PCTKR2021000030-appb-I000025
)를 계산할 수 있으며, 705 동작은 도 5의 507 동작과 동일 또는 유사하므로, 이하 중복되는 설명은 생략하도록 한다.
706 동작에서, 일 실시예에 따른 제어부는 705 동작에서 계산된 안전 구동 속도(
Figure PCTKR2021000030-appb-I000026
)에 기초하여, 로봇(100)이 안전 구동 속도로 구동하도록 로봇(100)의 구동을 제어할 수 있다. 즉, 일 실시예에 따른 로봇 제어 시스템은 상술한 704 동작 및 705 동작을 통해 객체(20)의 예상 낙하 지점이 위험 영역 내에 위치하기 위한 안전 구동 속도(
Figure PCTKR2021000030-appb-I000027
)를 계산하고, 안전 구동 속도(
Figure PCTKR2021000030-appb-I000028
)에 기초하여 로봇(100)의 구동을 제어함으로써, 객체(20)의 낙하에 의한 사용자의 부상을 방지할 수 있다.
즉, 일 실시예에 따른 로봇 제어 시스템은, 상술한 701 동작 내지 706 동작을 통해 로봇(100)과 인접한 영역에 안전 펜스(30)가 존재하는 경우에도 객체(20)의 예상 낙하 지점을 계산하고, 객체(20)의 낙하에 의한 사용자의 부상을 방지할 수 있다. 또한, 로봇 제어 시스템은 객체(20)의 낙하 지점이 안전 펜스(30)에 의해 차단되는 영역인 경우에는 로봇(100)의 구동 속도를 감속하지 않음으로써, 작업의 생산성을 높일 수 있다.
본 개시의 일 실시예에 따른 로봇 제어 시스템은, 지정된 동작으로 구동되고, 객체(예: 도 1, 도 2의 객체(20))를 파지할 수 있는 로봇(예: 도 1, 도 2의 로봇(100)), 사용자(예: 도 1의 사용자(10))의 위치를 감지하는 센서부(예: 도 1, 도 3의 센서부(200)), 상기 로봇이 파지하는 객체의 낙하 지점 또는 상기 로봇의 구동 속도를 계산하는 명령어들(instructions)이 저장된 메모리(예: 도 3의 메모리(300)) 및 상기 센서부 및 상기 메모리와 작동적으로(operatively) 연결되는 제어부(예: 도 3의 제어부(400))를 포함하고, 상기 센서부는, 상기 센서부를 통해 감지된 상기 사용자의 위치에 기초하여, 가상의 위험 영역(예: 도 6a의 D 영역)과 상기 위험 영역을 둘러싸는 가상의 안전 영역(예: 도 6a의 S 영역)을 설정하고, 상기 제어부는, 상기 메모리에 저장된 명령어에 기초하여, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하기 위한 상기 로봇의 안전 구동 속도를 계산하고, 상기 계산된 안전 구동 속도에 기초하여, 상기 로봇의 구동 속도를 제어하도록 구성될 수 있다.
일 실시예에 따르면, 상기 센서부(200)는, 사용자의 위치를 감지하는 적어도 하나의 센서(210), 및 상기 적어도 하나의 센서를 통해 감지된 위치에 기초하여, 상기 위험 영역과 상기 안전 영역을 설정하는 영역 설정부(220)를 포함할 수 있다.
일 실시예에 따르면, 상기 영역 설정부는, 상기 사용자와 상기 로봇 사이의 거리(예: 도 6a의 L1 또는 도 6b의 L2)에 기초하여, 상기 위험 영역과 상기 안전 영역을 설정하도록 구성될 수 있다.
일 실시예에 따르면, 상기 로봇은, 복수 개의 바(bar)(예: 도 2의 복수 개의 바(120)), 상기 복수 개의 바를 회전 가능하게 연결하는 복수 개의 조인트(joint)(예: 도 2의 복수 개의 조인트(130)) 및 상기 복수 개의 바의 일단에 결합되고, 객체를 파지하는 파지부(예: 도 2의 파지부(140))를 포함할 수 있다.
일 실시예에 따르면, 상기 제어부는, 상기 복수 개의 조인트의 위치 및 상기 복수 개의 조인트의 구동 속도에 기초하여, 상기 객체를 파지하는 상기 파지부의 위치 및 상기 파지부의 구동 속도를 계산하도록 구성될 수 있다.
일 실시예에 따르면, 상기 제어부는, 상기 계산된 파지부의 위치 및 상기 파지부의 구동 속도에 기초하여, 상기 로봇이 파지하는 객체의 낙하 지점을 계산하도록 구성될 수 있다.
일 실시예에 따르면, 상기 제어부는, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하는 것으로 판단되는 경우, 상기 로봇의 구동 속도를 변경하지 않도록 구성될 수 있다.
일 실시예에 따르면, 상기 제어부는, 상기 복수 개의 조인트의 위치 및 상기 복수 개의 조인트의 구동 속도가 변경되는 경우, 상기 객체의 낙하 지점을 다시 계산하도록 구성될 수 있다.
일 실시예에 따르면, 상기 제어부는, 수치 계산법(numerical method)을 이용하여, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하기 위한 상기 로봇의 안전 구동 속도를 계산하도록 구성될 수 있다.
일 실시예에 따르면, 상기 로봇과 인접한 영역에 배치되고, 상기 객체가 지정된 영역 내에 낙하하는 것을 차단하는 안전 펜스(safety fence)(예: 도 8의 안전 펜스(30))를 더 포함할 수 있다.
일 실시예에 따르면, 상기 제어부는, 상기 객체의 낙하 지점이 상기 안전 펜스에 의해 차단되는 영역 내에 위치하는지 여부를 판단하고, 상기 객체의 낙하 지점이 상기 안전 펜스에 의해 차단되는 영역 내에 위치하는 것으로 판단되는 경우, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하는 것으로 판단하도록 구성될 수 있다.
본 개시의 일 실시예에 따른 방법은, 복수 개의 바, 상기 복수 개의 바를 회전 가능하게 연결하는 조인트 및 상기 복수 개의 바의 일단에 결합되고, 객체를 파지하는 파지부를 포함하는 로봇의 구동을 제어하는 방법에 있어서, 사용자의 위치를 감지하는 위치 감지 동작, 감지된 상기 사용자의 위치에 기초하여, 가상의 위험 영역과 상기 위험 영역을 둘러싸는 가상의 안전 영역을 설정하는 영역 설정 동작, 상기 로봇이 파지하는 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하기 위한 상기 로봇의 안전 구동 속도를 계산하는 안전 구동 속도 계산 동작 및 계산된 상기 안전 구동 속도에 기초하여, 상기 로봇의 구동 속도를 제어하는 제어 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 영역 설정 동작은, 상기 사용자와 상기 로봇 사이의 거리에 기초하여, 상기 위험 영역과 상기 안전 영역을 설정할 수 있다.
일 실시예에 따르면, 상기 안전 구동 속도 계산 동작은, 상기 복수 개의 조인트의 위치 및 상기 복수 개의 조인트의 구동 속도에 기초하여, 상기 객체를 파지하는 상기 파지부의 위치 및 상기 파지부의 구동 속도를 계산하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 안전 구동 속도 계산 동작은, 상기 계산된 파지부의 위치 및 상기 파지부의 구동 속도에 기초하여, 상기 객체의 낙하 지점을 계산하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 안전 구동 속도 계산 동작은, 상기 복수 개의 조인트의 위치 및 상기 복수 개의 조인트의 구동 속도가 변경되는 경우, 상기 객체의 낙하 지점을 다시 계산할 수 있다.
일 실시예에 따르면, 상기 안전 구동 속도 계산 동작은, 상기 객체의 낙하 지점이 안전 펜스에 의해 차단되는 영역 내에 위치하는지 여부를 판단하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 안전 구동 속도 계산 동작은, 상기 객체의 낙하 지점이 상기 안전 펜스에 의해 차단되는 영역 내에 위치하는 것으로 판단되는 경우, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하는 것으로 판단할 수 있다.
일 실시예에 따르면, 상기 안전 구동 속도 계산 동작은, 수치 계산법(numerical method)을 이용하여, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하기 위한 상기 로봇의 안전 구동 속도를 계산할 수 있다.
본 개시의 일 실시예에 따른 로봇(예: 도 2의 로봇(100))은, 복수 개의 바(예: 도 2의 복수 개의 바(120)), 상기 복수 개의 바를 회전 가능하게 연결하는 복수 개의 조인트(예: 도 2의 복수 개의 조인트(130)) 및 상기 복수 개의 바의 일단에 결합되고, 객체(예: 도 2의 객체(20))를 파지하는 파지부(예: 도 2의 파지부(140))를 포함하고, 상기 로봇은, 상기 객체가 낙하하는 경우, 상기 객체의 낙하 지점이 상기 로봇과 사용자 사이의 거리에 기초하여 설정된 가상의 위험 영역 내에 위치하기 위한 안전 구동 속도로 구동될 수 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편, 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위 뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (15)

  1. 로봇 제어 시스템에 있어서,
    지정된 동작으로 구동되고, 객체를 파지할 수 있는 로봇;
    사용자의 위치를 감지하는 센서부;
    상기 로봇이 파지하는 객체의 낙하 지점 또는 상기 로봇의 구동 속도를 계산하는 명령어들(instructions)이 저장된 메모리; 및
    상기 센서부 및 상기 메모리와 작동적으로(operatively) 연결되는 제어부;를 포함하고,
    상기 센서부는,
    상기 센서부를 통해 감지된 상기 사용자의 위치에 기초하여, 가상의 위험 영역과 상기 위험 영역을 둘러싸는 가상의 안전 영역을 설정하고,
    상기 제어부는,
    상기 메모리에 저장된 명령어에 기초하여, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하기 위한 상기 로봇의 안전 구동 속도를 계산하고,
    상기 계산된 안전 구동 속도에 기초하여, 상기 로봇의 구동 속도를 제어하도록 구성되는, 로봇 제어 시스템.
  2. 청구항 1에 있어서,
    상기 센서부는,
    사용자의 위치를 감지하는 적어도 하나의 센서; 및
    상기 적어도 하나의 센서를 통해 감지된 위치에 기초하여, 상기 위험 영역과 상기 안전 영역을 설정하는 영역 설정부;를 포함하는, 로봇 제어 시스템.
  3. 청구항 1에 있어서,
    상기 로봇은,
    복수 개의 바(bar);
    상기 복수 개의 바를 회전 가능하게 연결하는 복수 개의 조인트(joint); 및
    상기 복수 개의 바의 일단에 결합되고, 객체를 파지하는 파지부;를 포함하는, 로봇 제어 시스템.
  4. 청구항 3에 있어서,
    상기 제어부는,
    상기 복수 개의 조인트의 위치 및 상기 복수 개의 조인트의 구동 속도에 기초하여, 상기 객체를 파지하는 상기 파지부의 위치 및 상기 파지부의 구동 속도를 계산하도록 구성되는, 로봇 제어 시스템.
  5. 청구항 4에 있어서,
    상기 제어부는,
    상기 계산된 파지부의 위치 및 상기 파지부의 구동 속도에 기초하여, 상기 로봇이 파지하는 객체의 낙하 지점을 계산하도록 구성되는, 로봇 제어 시스템.
  6. 청구항 5에 있어서,
    상기 제어부는,
    상기 복수 개의 조인트의 위치 및 상기 복수 개의 조인트의 구동 속도가 변경되는 경우, 상기 객체의 낙하 지점을 다시 계산하도록 구성되는, 로봇 제어 시스템.
  7. 청구항 5에 있어서,
    상기 제어부는,
    수치 계산법(numerical method)을 이용하여, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하기 위한 상기 로봇의 안전 구동 속도를 계산하도록 구성되는, 로봇 제어 시스템.
  8. 청구항 5에 있어서,
    상기 로봇과 인접한 영역에 배치되고, 상기 객체가 지정된 영역 내에 낙하하는 것을 차단하는 안전 펜스(safety fence)를 더 포함하고,
    상기 제어부는,
    상기 객체의 낙하 지점이 상기 안전 펜스에 의해 차단되는 영역 내에 위치하는지 여부를 판단하고,
    상기 객체의 낙하 지점이 상기 안전 펜스에 의해 차단되는 영역 내에 위치하는 것으로 판단되는 경우, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하는 것으로 판단하도록 구성되는, 로봇 제어 시스템.
  9. 복수 개의 바, 상기 복수 개의 바를 회전 가능하게 연결하는 조인트 및 상기 복수 개의 바의 일단에 결합되고, 객체를 파지하는 파지부를 포함하는 로봇의 구동을 제어하는 방법에 있어서,
    사용자의 위치를 감지하는 위치 감지 동작;
    감지된 상기 사용자의 위치에 기초하여, 가상의 위험 영역과 상기 위험 영역을 둘러싸는 가상의 안전 영역을 설정하는 영역 설정 동작;
    상기 로봇이 파지하는 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하기 위한 상기 로봇의 안전 구동 속도를 계산하는 안전 구동 속도 계산 동작; 및
    계산된 상기 안전 구동 속도에 기초하여, 상기 로봇의 구동 속도를 제어하는 제어 동작;을 포함하는, 방법.
  10. 청구항 9에 있어서,
    상기 영역 설정 동작은,
    상기 사용자와 상기 로봇 사이의 거리에 기초하여, 상기 위험 영역과 상기 안전 영역을 설정하는, 방법.
  11. 청구항 9에 있어서,
    상기 안전 구동 속도 계산 동작은,
    상기 복수 개의 조인트의 위치 및 상기 복수 개의 조인트의 구동 속도에 기초하여, 상기 객체를 파지하는 상기 파지부의 위치 및 상기 파지부의 구동 속도를 계산하는 동작;을 포함하는, 방법.
  12. 청구항 11에 있어서,
    상기 안전 구동 속도 계산 동작은,
    상기 계산된 파지부의 위치 및 상기 파지부의 구동 속도에 기초하여, 상기 객체의 낙하 지점을 계산하는 동작;을 더 포함하는, 방법.
  13. 청구항 12에 있어서,
    상기 안전 구동 속도 계산 동작은,
    상기 복수 개의 조인트의 위치 및 상기 복수 개의 조인트의 구동 속도가 변경되는 경우, 상기 객체의 낙하 지점을 다시 계산하는, 방법.
  14. 청구항 12에 있어서,
    상기 안전 구동 속도 계산 동작은,
    상기 객체의 낙하 지점이 안전 펜스에 의해 차단되는 영역 내에 위치하는 것으로 판단되는 경우, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하는 것으로 판단하는, 방법.
  15. 청구항 12에 있어서,
    상기 안전 구동 속도 계산 동작은,
    수치 계산법(numerical method)을 이용하여, 상기 객체의 낙하 지점이 상기 위험 영역 내에 위치하기 위한 상기 로봇의 안전 구동 속도를 계산하는, 방법.
PCT/KR2021/000030 2020-01-09 2021-01-04 로봇 제어 시스템 및 방법 WO2021141336A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200003305A KR20210090020A (ko) 2020-01-09 2020-01-09 로봇 제어 시스템 및 방법
KR10-2020-0003305 2020-01-09

Publications (1)

Publication Number Publication Date
WO2021141336A1 true WO2021141336A1 (ko) 2021-07-15

Family

ID=76788808

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/000030 WO2021141336A1 (ko) 2020-01-09 2021-01-04 로봇 제어 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR20210090020A (ko)
WO (1) WO2021141336A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050006702A (ko) * 2003-07-10 2005-01-17 고등기술연구원연구조합 로봇의 작업자 감지 안전 시스템
JP2007283450A (ja) * 2006-04-18 2007-11-01 National Institute Of Advanced Industrial & Technology 人間ロボット共存作業用安全装置
US20140025204A1 (en) * 2010-12-16 2014-01-23 Peter Schlaich Method for operating a safety device for a handling device, safety device for a handling device, and handling device
US20140067121A1 (en) * 2012-08-31 2014-03-06 Rodney Brooks Systems and methods for safe robot operation
US20180304469A1 (en) * 2017-04-21 2018-10-25 Omron Corporation Robot system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050006702A (ko) * 2003-07-10 2005-01-17 고등기술연구원연구조합 로봇의 작업자 감지 안전 시스템
JP2007283450A (ja) * 2006-04-18 2007-11-01 National Institute Of Advanced Industrial & Technology 人間ロボット共存作業用安全装置
US20140025204A1 (en) * 2010-12-16 2014-01-23 Peter Schlaich Method for operating a safety device for a handling device, safety device for a handling device, and handling device
US20140067121A1 (en) * 2012-08-31 2014-03-06 Rodney Brooks Systems and methods for safe robot operation
US20180304469A1 (en) * 2017-04-21 2018-10-25 Omron Corporation Robot system

Also Published As

Publication number Publication date
KR20210090020A (ko) 2021-07-19

Similar Documents

Publication Publication Date Title
WO2020101097A1 (ko) 공정 및 생산관리를 위한 모바일 로봇 플랫폼 시스템
CN210678714U (zh) 具有移动机器人的机器人系统
US10603798B2 (en) Robot
US11717964B2 (en) Control device for robot that works collaboratively with people
JP2004322244A (ja) ロボット動作規制方法とその装置およびそれを備えたロボット
US10695879B2 (en) Machining system
EP0260326A1 (en) Robot controller
WO2021141336A1 (ko) 로봇 제어 시스템 및 방법
WO2020246808A1 (ko) 피니싱 작업을 위한 매니퓰레이터 및 그의 제어 방법
US20230052058A1 (en) Continuum arm robot system
JP3328414B2 (ja) ロボットハンドの姿勢制御装置
WO2021029484A1 (ko) 재난 구조 로봇 제어시스템 및 방법
JP4289219B2 (ja) 人間介入型ロボットの制御装置
WO2020138587A1 (ko) 다축기계의 최대직각프리즘 작업공간 산출방법
WO2020105983A1 (ko) 로봇팔을 이용한 정밀 가공장치 및 이의 작동방법
CN113771026A (zh) 一种提升安全控制性能的工业机器人及其控制方法
WO2021241397A1 (ja) ロボットシステム
JP2015155135A (ja) ロボット、制御装置、及び制御方法
WO2023054749A1 (ko) 로봇 강성 유지 자세를 구현하는 가공 장치 및 이를 이용한 로봇 강성 유지 자세를 구현하는 가공 방법
JP7418119B2 (ja) ロボットシステムの制御方法、ロボットシステム、ロボットシステムを用いた物品の製造方法、制御プログラム及び記録媒体
CN112638600B (zh) 机器人的控制装置
WO2022250423A1 (ko) 충돌감지 기능을 갖는 협동로봇 및 협동로봇의 충돌감지 방법
US20210268651A1 (en) Robot control method
JP7384005B2 (ja) 制御方法およびロボットシステム
US20230191610A1 (en) Continuum arm robot system

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

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

Country of ref document: EP

Kind code of ref document: A1