WO2023003217A1 - 매니퓰레이터 및 그 제어 방법 - Google Patents
매니퓰레이터 및 그 제어 방법 Download PDFInfo
- Publication number
- WO2023003217A1 WO2023003217A1 PCT/KR2022/009633 KR2022009633W WO2023003217A1 WO 2023003217 A1 WO2023003217 A1 WO 2023003217A1 KR 2022009633 W KR2022009633 W KR 2022009633W WO 2023003217 A1 WO2023003217 A1 WO 2023003217A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- manipulator
- coordinate system
- link
- user
- posture
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004891 communication Methods 0.000 claims abstract description 30
- 239000013598 vector Substances 0.000 claims description 135
- 239000011159 matrix material Substances 0.000 claims description 44
- 230000033001 locomotion Effects 0.000 claims description 36
- 230000009466 transformation Effects 0.000 claims description 26
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000003252 repetitive effect Effects 0.000 claims description 3
- 230000036544 posture Effects 0.000 description 129
- 230000008569 process Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 11
- 210000003811 finger Anatomy 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000003205 muscle Anatomy 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J3/00—Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements
- B25J3/04—Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements involving servo mechanisms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36184—Record actions of human expert, teach by showing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36442—Automatically teaching, teach by showing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37388—Acceleration or deceleration, inertial measurement
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40391—Human to robot skill transfer
Definitions
- the present disclosure relates to a manipulator and a control method thereof, and more particularly, to a manipulator that moves along a motion of a user's arm and a control method thereof.
- robot arm that is, a manipulator, which moves according to the motion of a user's (ie, human) arm has been actively conducted.
- the manipulator can be used in various application fields, such as shopping for the user, organizing things in a shopping mall, cooking at home, or giving a massage.
- the manipulator can be widely used in fields such as logistics, medical care, education, and other fields requiring non-face-to-face/non-contact depending on epidemics.
- a conventional manipulator determines the position and posture of a user's arm using a visual sensor or a wireless signal.
- additional equipment having a function of a camera or a radio signal transmitter/receiver had to be installed in the conventional manipulator, which led to an increase in manufacturing cost of the manipulator.
- the conventional manipulator cannot accurately follow the user's motion because the link is not mapped one-to-one with the link of the user's arm.
- the user wears a device similar to the joint structure of the manipulator, which causes fatigue or discomfort due to the limitation of the range of motion to the user when used for a long time. Since the position of the hand is controlled, it is pointed out that it is not intuitive to grasp and control the actual movement of the manipulator on the screen from a remote location.
- the posture of the manipulator's hand is estimated using quaternion information obtained from a sensor mounted on the user's hand. According to this, a posture error may occur according to the movement of the user's arm. This is because the degree of freedom (DOF) of the manipulator is smaller than the degree of freedom for the movement of the user's arm. will increase cumulatively.
- DOF degree of freedom
- the present disclosure is to solve the problems of the prior art as described above, and an object of the present disclosure is to provide a manipulator and a control method of the manipulator capable of precisely following the movement of a user's arm.
- the manipulator includes a plurality of links corresponding to each of the user's upper arm, lower arm, and hand, a plurality of motors rotating the plurality of links, a communication interface, A memory for storing at least one instruction and a processor for executing the at least one instruction, wherein the processor is configured to perform rotation angle information of motors corresponding to the upper arm and the lower arm among the plurality of motors based on first rotation angle information.
- the processor is configured to perform rotation angle information of motors corresponding to the upper arm and the lower arm among the plurality of motors based on first rotation angle information.
- second rotation angle information for motors corresponding to the hand among the plurality of motors is obtained based on the sensing value and the balance angle information, and based on the second rotation angle information to control the motors corresponding to the hand.
- the processor calculates a coordinate transformation matrix for converting the first rotation angle information into sensing values representing the posture of the upper arm and the posture of the lower arm, and based on the coordinate transformation matrix, a body coordinate system corresponding to the lower arm. information can be obtained.
- the balance angle information includes roll balance angle information and pitch balance angle information
- the roll balance angle information is the body when the body coordinate system is rotated with respect to the first axis of the body coordinate system.
- An angle at which the second axis of the coordinate system is parallel to the xy plane of the reference coordinate system may be indicated.
- the pitch equilibrium angle information is such that when the body coordinate system is rotated based on the second axis of the body coordinate system rotated according to the roll equilibrium angle information, the third axis of the body coordinate system coincides with the z-axis of the reference coordinate system. angle can be indicated.
- the processor acquires third rotation angle information about motors corresponding to the hand based on a sensing value indicating the posture of the hand, and corrects the third rotation angle information based on the balance angle information to obtain the second rotation angle information.
- Each piece of information can be obtained.
- the plurality of links include a first link corresponding to the upper arm, a second link corresponding to the lower arm, and a third link corresponding to the hand, and the plurality of motors drive the first link to a first axis.
- It may include a fourth motor for rotating, a fifth motor for rotating the third link based on the first axis, and a sixth motor for rotating the third link based on the second axis.
- the processor deactivates an external sensor for recognizing the posture of the arm of the first user, stops the operation of the manipulator, and operates the manipulator. to transmit information on a guide screen for compensating for a difference between a posture of the manipulator and a posture of an arm of the second user to a user terminal of the second user when a second user's command to start an operation for control is received
- the communication interface is controlled, and when it is identified that the difference between the posture of the manipulator and the posture of the arms of the second user is within a preset threshold range, the plurality of motors are controlled based on the posture of the arms of the second user.
- the processor controls the plurality of motors based on the posture of the user's arm when the user's command to start the repeated motion is received, and when the command to stop the repeated motion is received, the command to start the repeated motion is received.
- a control signal corresponding to the operation of the manipulator from the time of reception to the time of receiving the command to stop the repeated operation is stored in the memory, and when the control signal is stored, the maximum number of motors corresponding to the control signal.
- control of a manipulator including a plurality of links corresponding to each of a user's upper arm, lower arm, and hand, and a plurality of motors rotating the plurality of links.
- the method includes obtaining information on a body coordinate system of a link corresponding to the lower arm based on first rotation angle information of motors corresponding to the upper arm and the lower arm among the plurality of motors, Obtaining equilibrium angle information to achieve equilibrium with a defined reference coordinate system, when a sensing value representing the posture of the hand is received from an external sensor, the hand among the plurality of motors based on the sensed value and the equilibrium angle information Obtaining second rotation angle information for motors corresponding to and controlling the motors corresponding to the hand based on the second rotation angle information.
- the acquiring of the information on the body coordinate system includes calculating a coordinate transformation matrix for converting the first rotation angle information into sensed values representing the posture of the upper arm and the posture of the lower arm, and and obtaining information on a moving body coordinate system corresponding to the lower arm based on the lower arm.
- the balance angle information includes roll balance angle information and pitch balance angle information
- the roll balance angle information is the body when the body coordinate system is rotated with respect to the first axis of the body coordinate system.
- An angle at which the second axis of the coordinate system is parallel to the xy plane of the reference coordinate system may be indicated.
- the pitch equilibrium angle information is such that when the body coordinate system is rotated based on the second axis of the body coordinate system rotated according to the roll equilibrium angle information, the third axis of the body coordinate system coincides with the z-axis of the reference coordinate system. angle can be indicated.
- the obtaining of the second rotation angle information may include obtaining third rotation angle information of motors corresponding to the hand based on a sensing value representing a posture of the hand and third rotation angle information based on the balance angle information. It may include obtaining second rotation angle information by correcting rotation angle information.
- the plurality of links include a first link corresponding to the upper arm, a second link corresponding to the lower arm, and a third link corresponding to the hand, and the plurality of motors drive the first link to a first axis.
- It may include a fourth motor for rotating, a fifth motor for rotating the third link based on the first axis, and a sixth motor for rotating the third link based on the second axis.
- a manipulator includes a plurality of links including a first link and a second link, a plurality of motors rotating the plurality of links, and a circuit. It includes a communication interface, a memory for storing at least one instruction, and a processor, wherein the processor receives a sensed value of an external sensor for detecting a posture of a user's arm through the communication interface, and obtains a value obtained based on the sensed value.
- a second vector corresponding to the posture of the user's arm is obtained based on a matrix and a first vector previously stored in the memory, posture information of the user's arm is obtained based on the second vector, and posture of the user's arm Controls driving of the plurality of motors based on information, and the processor acquires a third vector corresponding to the first link based on a sensing value of a first external sensor, and based on a sensing value of a second external sensor. to obtain a fourth vector corresponding to the second link, obtain attitude information corresponding to the second link based on the third vector and the fourth vector, and obtain attitude information corresponding to the second link Based on the control to drive the plurality of motors corresponding to the second link.
- the processor obtains a quaternion vector corresponding to the posture of the user's arm by applying the sensed value to an Altitude and Heading Reference System (AHRS) algorithm stored in the memory, and based on the quaternion vector, the processor matrix can be obtained.
- AHRS Altitude and Heading Reference System
- the second vector includes a 2-1 vector corresponding to the x-axis and a 2-2 vector corresponding to the z-axis
- the posture information of the user's arm includes a roll angle corresponding to the x-axis, A pitch angle corresponding to the y-axis and a yaw angle corresponding to the z-axis
- the processor obtains a first yaw angle based on the 2-1 vector
- the 2-2 A second yaw angle may be obtained based on the vector
- the yaw angle may be obtained based on the first yaw angle and the second yaw angle.
- the processor may obtain the yaw angle by applying weights to the first yaw angle and the second yaw angle based on a predefined weight function.
- the processor acquires a first matrix based on a first sensed value corresponding to an initially set posture of the user's arm, stores it in the memory, and based on a second sensed value corresponding to a current posture of the user's arm
- the matrix may be obtained based on the obtained second matrix and the first matrix.
- the processor obtains an angle corresponding to the x-axis based on a dot product of the third vector and the fourth vector, and obtains an angle corresponding to the z-axis based on a cross product of the third vector and the fourth vector.
- FIG. 1A is a diagram for explaining a concept of a manipulator according to an embodiment of the present disclosure.
- 1B is a diagram showing the structure of a manipulator according to an embodiment of the present disclosure.
- FIG. 2 is a block diagram showing the configuration of a manipulator according to an embodiment of the present disclosure.
- 3 is a diagram for explaining coordinate conversion of vectors.
- FIG. 5 is a diagram for explaining a method of controlling driving of a motor according to an embodiment of the present disclosure.
- FIG. 6 is a diagram for explaining a method of obtaining a second angle according to an embodiment of the present disclosure.
- FIG. 7 is a flowchart illustrating a method of controlling a manipulator according to an embodiment of the present disclosure.
- FIG. 8 is a flowchart illustrating a control method of a manipulator according to an embodiment of the present disclosure.
- FIG. 9 is a view for explaining a coordinate system according to an embodiment of the present disclosure and a process of obtaining information on a moving body coordinate system of a link corresponding to a lower arm.
- FIG. 10 is a diagram for explaining in detail a process of obtaining a roll equilibrium angle according to an embodiment of the present disclosure.
- FIG. 11 is a diagram for explaining in detail a process of obtaining a pitch equilibrium angle according to an embodiment of the present disclosure.
- FIG. 12 is a diagram for explaining an embodiment related to a process of controlling a manipulator by a plurality of users according to an embodiment of the present disclosure.
- FIG. 13 is a diagram for explaining an embodiment related to controlling a repetitive motion of a manipulator according to an embodiment of the present disclosure.
- Embodiments of the present disclosure may apply various transformations and may have various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope to specific embodiments, and should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of technology disclosed. In describing the embodiments, if it is determined that a detailed description of a related known technology may obscure the subject matter, the detailed description will be omitted.
- FIG. 1A is a diagram for explaining a concept of a manipulator according to an embodiment of the present disclosure.
- the manipulator 100 may follow the movement of the user's arm 1 based on the sensing value of the external sensor 10 for detecting the posture of the user's arm 1 .
- the manipulator 100 may obtain posture information of the user's arm 1 based on a sensing value of the external sensor 10 (eg, an IMU sensor or a geomagnetic sensor).
- the external sensor 10 is a first external sensor 11 attached to the upper arm (A) of the user's arm 1, a second external sensor 12 attached to the lower arm (B), and attached to the back of the hand (C). It may include a third external sensor 13 and a flex sensor 14 attached to the finger D.
- the manipulator 100 may include a first link 111 corresponding to the upper arm A of the user's arm 1 and a second link 112 corresponding to the lower arm B. Also, the manipulator 100 may include a hand 120 including a plurality of fingers 121 . The manipulator 100 may operate based on posture information of the user's arm 1 . For example, the manipulator 100 may grip an object using the hand 120 .
- 1B is a diagram showing the structure of a manipulator according to an embodiment of the present disclosure.
- the manipulator 100 may include a link 110 , a hand 120 and a motor 130 .
- the link 110 may include a first link 111 and a second link 112 .
- the motor 130 may include first to sixth motors 131 , 132 , 133 , 134 , 135 , and 136 .
- the first motor 131 and the second motor 132 may be connected to the first link 111 to rotate the first link 111 .
- the first motor 131 may rotate the first link 111 based on the first axis.
- the first axis means the x-axis of the moving body coordinate system to be described later.
- the second motor 132 may rotate the first link 111 based on the second axis.
- the second axis means the y-axis of the moving body coordinate system.
- the third motor 133 and the fourth motor 134 may be connected to the first link 111 and the second link 112 to rotate the second link 112 .
- the third motor 133 may rotate the second link 112 based on the first axis.
- the fourth motor 134 may rotate the second link 112 based on the third axis.
- the third axis means the z-axis of the moving body coordinate system.
- the fifth motor 135 and the sixth motor 136 may be connected to the second link 112 and the hand 120 to rotate the hand 120 . Specifically, the fifth motor 135 may rotate the hand 120 based on the first axis. The sixth motor 136 may rotate the hand 120 based on the second axis.
- the number of links 110 and motors 130 according to FIG. 1B is just an example, and the number of links 110 and motors 130 is not limited thereto.
- the manipulator 100 may include a link 110 , a hand 120 , a motor 130 , a communication interface 140 , a memory 150 and a processor 160 .
- the link 110 may include a first link 111 corresponding to the upper arm of the user's (ie, human) arm and a second link 112 corresponding to the lower arm.
- the first link 111 and the second link 112 are connected through a motor 120, and may rotate along three axes according to the drive of the motor 120.
- Hand 120 may include a plurality of fingers. The hand 120 may move each finger under the control of the processor 160 to grip the object or release the grip.
- the motor 130 may include a plurality of motors 131 , 132 , 133 , 134 , 135 , and 136 .
- the motor 130 may be driven under the control of the processor 160 to move the link 110 and the hand 120 .
- the communication interface 140 includes at least one circuit and can perform communication with various types of external devices according to various types of communication methods.
- the communication interface 140 may receive a sensing value of the external sensor 10 from the external sensor 10 .
- the external sensor 10 may include a plurality of Inertial Measurement Unit (IMU) sensors, a plurality of geomagnetic sensors, and a flex sensor as a configuration for detecting the motion or posture of the user's arm 1 .
- IMU Inertial Measurement Unit
- a first external sensor 11 including a first IMU sensor and a first geomagnetic sensor may be attached to the upper arm of the user's arm 1 .
- the second external sensor 12 including the second IMU sensor and the second geomagnetic sensor may be attached to the lower arm of the user's arm 1 .
- a third external sensor 13 including a third IMU sensor and a third geomagnetic sensor may be attached to the back of the hand of the user's arm 1 .
- the flex sensor 14 may be attached to a user's finger. Each external sensor may detect the posture of the user's arm (1). Meanwhile, in FIG. 1A, the first external sensor 11, the second external sensor 12, the third external sensor 13, and the flex sensor 14 are each shown attached to the user's arm 1, but the user It is also possible to wear one wearable device including the first external sensor 11 , the second external sensor 12 , the third external sensor 13 and the flex sensor 14 .
- the communication interface 140 may include a wireless communication module and a wired communication module.
- Wireless communication modules include BLE (Bluetooth Low Energy) module, Wi-Fi communication module, cellular communication module, 3G (3rd generation) mobile communication module, 4G (4th generation) mobile communication module, 4th generation LTE (Long Term Evolution) communication module, 5G (5th generation) may include at least one of mobile communication modules.
- the wired communication module may include an Ethernet module.
- the communication interface 140 may include at least one communication terminal.
- the memory 150 may store an Operating System (OS) for controlling overall operations of the components of the manipulator 100 and commands or data related to the components of the manipulator 100 .
- OS Operating System
- the memory 150 may store data related to an Altitude and Heading Reference System (AHRS) algorithm for obtaining quaternion information based on a value sensed by the external sensor 10 .
- AHRS Altitude and Heading Reference System
- the memory 150 may be implemented as a non-volatile memory (ex: hard disk, solid state drive (SSD), flash memory), volatile memory, or the like.
- the processor 160 includes at least one circuit (eg, processing circuitry) and is electrically connected to the memory 150 to control overall functions and operations of the manipulator 100.
- the processor 160 may control driving of the motor 130 that rotates the link 110 and the hand 120 .
- the body coordinate system is a coordinate system that changes according to the movement of the manipulator 100 .
- the first link 111, the second link 112, and the hand 120 of the manipulator 100 are aligned in a downward direction, that is, in the direction of gravity.
- the X axis of the body coordinate system is defined as the direction of the first link 111
- the Z axis is the first link 111 when the manipulator 100 is moved by the second motor 132 so as to be perpendicular to the direction of gravity.
- the Y-axis of the body coordinate system is determined by the direction of the thumb when the right hand is closed in the direction from the Z-axis to the X-axis (right-hand coordinate system).
- the X axis of the moving body coordinate system is also referred to as a first axis
- the Y axis as a second axis
- the Z axis as a third axis.
- the navigation coordinate system is a fixed coordinate system regardless of the movement of the manipulator 100 .
- a coordinate conversion matrix between the navigation coordinate system and the moving body coordinate system may be obtained based on quaternion information or Euler angles.
- the processor 160 may obtain quaternion information based on a sensing value of an external sensor.
- the quaternion information represents information about the rotation of the user's arm, and may include a rotation vector and a rotation angle.
- the processor 160 may obtain quaternion information by applying the sensing value of the external sensor to the AHRS algorithm stored in the memory 150 .
- quaternion information may be a vector (q) such as [Equation 1].
- the processor 160 obtains a vector for each axis of the body coordinate system analyzed in the navigation coordinate system using a matrix obtained based on quaternion information. For example, the processor 160 converts the coordinates from the quaternion information to the navigation coordinate system from the moving body coordinate system based on [Equation 3] below ( ) can be obtained.
- the coordinate conversion matrix means a matrix for converting a first vector based on the manipulator 100 into a second vector of the reference coordinate system.
- 3 is a diagram for explaining coordinate conversion of vectors.
- a first vector based on the manipulator 100 ( ) is a unit vector in the x-axis direction, each expressed in the body coordinate system ( ) and the unit vector in the z-axis direction ( ) can be.
- the first vector ( ) may be stored in the memory 150 as a predetermined value.
- the processor 160 is a coordinate transformation matrix from the body coordinate system to the navigation coordinate system ( ) and the first vector ( ) based on the second vector ( ) can be obtained. Specifically, the processor 160 is a second vector expressed in the navigation coordinate system based on [Equation 4] ( ) can be obtained. The second vector ( ) is the 2-1 vector ( ) and the 2-2 vector ( ) may be included. Meanwhile, superscripts b and n of the vectors of the present disclosure mean position vectors analyzed in the body coordinate system and the navigation coordinate system, respectively.
- the processor 160 generates a second vector ( ), posture information of the user's arm may be obtained.
- the posture information of the user's arm may include a roll angle corresponding to the x-axis, a pitch angle corresponding to the y-axis, and a yaw angle corresponding to the z-axis.
- the roll angle of the first link 111 is ignored.
- Changes in posture of the second link 112 and the hand 120 due to the roll rotation angle of the first link 111 may be expressed by the third motor 133 .
- all position vectors of the first link 111 may be expressed as yaw angles and pitch angles by the first motor 131 and the second motor 132, respectively.
- the processor 160 may obtain the pitch angle (pitch), the first yaw angle (yaw1), and the second yaw angle (yaw2) based on [Equation 5].
- the processor 160 is the 2-1 vector ( ) or the 2-1 vector ( ) is a vector projected onto the xy plane ( ), the pitch angle pitch and the first yaw angle yaw1 may be obtained.
- the processor 160 is a 2-2 vector ( ) or the 2-2 vector ( ) is a vector projected onto the xy plane ( ), the second yaw angle yaw2 may be obtained.
- the processor 160 determines the final yaw angle (based on the first yaw angle yaw1 , the second yaw angle yaw2 , and a predefined weight function W). ) can be obtained. Specifically, the processor 160 based on [Equation 6] the final yaw angle ( ) can be obtained.
- the processor 160 applies weights based on the weight function W to the first yaw angle yaw1 and the second yaw angle yaw2 to obtain a final yaw angle ( ) can be obtained.
- the weight function W can be plotted as shown in FIG. 4 .
- the processor 160 determines the final yaw angle ( ), it is possible to control the first motor 131 based on. Also, the processor 160 may control driving of the second motor 132 based on the obtained pitch angle. Accordingly, the manipulator 100 can follow the movement of the upper arm of the user's arm 1 .
- FIG. 5 is a diagram for explaining a method of controlling driving of a motor according to an embodiment of the present disclosure.
- the 2-1-1 vector corresponding to the direction of the first link 111 ( ) and the 2-2-2 vector corresponding to the direction of the second link 112 ( ) can be defined.
- the first angle ( ) Is a third vector representing the direction of the first link 111 and the second link 112 ( ) and the fourth vector ( ) means the angle between
- the second angle ( ), the following two vectors are defined.
- the fourth vector ( ) to the third vector ( ), the fifth vector projected in the direction ( ) is defined.
- the fifth vector ( ) as the center and the radius is the fourth vector ( ) and the fifth vector ( ) is the fifth vector ( ) and may exist on a plane perpendicular to At this time, the Z-axis vector and the fifth vector ( ) From the intersection vector of the plane containing the sixth vector ( ) is defined.
- the second angle ( ) is the fifth vector ( ) and the sixth vector ( ) means the angle between
- the processor 160 has a first angle ( ) and controls the driving of the fourth motor 134 based on the second angle ( ), it is possible to control the driving of the third motor 133 based on.
- the first angle ( ) and the second angle Let's look at the operation of the processor 160 for calculating ).
- the processor 160 generates a third vector ( ) and the fourth vector ( ) can be obtained.
- the third vector ( ) is the 2-1 vector of FIG. 3 ( ), the detailed description thereof is omitted.
- the fourth vector ( ) is the 2-1 vector ( ) can be obtained in the same way as Specifically, the processor 160 may obtain a sensing value of the second external sensor 12 attached to the lower arm of the user's arm 1 .
- the processor 160 may obtain quaternion information corresponding to the sensed value of the second external sensor 12 using the AHRS algorithm.
- the processor 160 may obtain a coordinate conversion matrix corresponding to the sensed value of the second external sensor 12 based on [Equation 3]. Based on [Equation 4], the processor 160 generates a fourth vector ( ) can be obtained.
- the processor 160 generates a third vector ( ) and the fourth vector ( Based on the dot product of ), the first angle of the second link 112 ( ) can be obtained. Specifically, the processor 160, based on [Equation 7], the first angle ( ) can be obtained.
- FIG. 6 is a diagram for explaining a method of obtaining a second angle according to an embodiment of the present disclosure.
- the processor 160 calculates a second angle based on [Equation 8] and [Equation 9]. ) can be obtained.
- Equation 8 and [Equation 9] may be derived by the geometric relationship shown in FIG. 6 .
- the posture of the back of the hand of the user's arm 1 is influenced by the posture of the upper arm and lower arm of the user's arm 1, and the posture of the lower arm of the user's arm 1 is influenced by the posture of the upper arm of the user's arm 1.
- receive Therefore, the posture of the back of the hand independent of the posture of the upper arm and lower arm of the user's arm 1 ( ) is the posture of the lower arm in which the posture of the upper arm of the user's arm 1 is reflected ( ) can be obtained by correcting [Equation 9-2].
- the sensing value of the external sensor 10 attached to the user's arm 1 may include an error due to differences in physical characteristics (eg, muscle mass, skin curvature, etc.) for each user.
- the processor 160 generates an initial coordinate transformation matrix (for example, an operation of extending an arm horizontally to the ground) of a user's initial setting posture. ) can be used to correct the error.
- the processor 160 is a coordinate transformation matrix in which the error is corrected based on [Equation 10] ( ) can be obtained.
- the processor 160 uses the aforementioned second vector ( ), the third vector ( ) and the fourth vector ( ), the error-corrected coordinate transformation matrix ( ) can be used.
- the processor 160 performs an initial coordinate transformation matrix (based on the sensing value of the external sensor 10 obtained when the user assumes the initial setting posture and [Equation 3]). ) may be acquired and stored in the memory 150.
- the processor 160 may apply an IIR filter to motor control information for motion smoothing of the manipulator 100 .
- the processor 160 may adjust the size of the control input applied to the motor 130 based on [Equation 11].
- TH is a predetermined value (eg, 10 degrees) for limiting the input of the motor 130
- k means a predetermined value (eg, 0.7).
- the processor 160 may control driving of the fifth motor 135 and the sixth motor 136 to control the movement of the hand 120 .
- the processor 160 may obtain posture information of the user's hand based on a sensing value of the third external sensor 13 attached to the wrist of the user's arm 1 .
- the processor 160 may control driving of the fifth motor 135 and the sixth motor 136 based on the acquired attitude information.
- the processor 160 may control operations of fingers included in the hand 120 .
- the processor 160 may obtain posture information of the user's finger based on the sensing value of the flex sensor 14 received through the communication interface 140 .
- the processor 160 may control the operation of the finger based on the acquired posture information.
- the sensing value of the flex sensor 14 may include an error due to a difference in the shape or size of the user's hand.
- the processor 160 detects the error corrected based on [Equation 12] ( ) is obtained, and the corrected sensing value ( ), it is possible to control the operation of the finger.
- Is the sensing value of the flex sensor 14 obtained at the current time point Is the minimum value of the sensing values of the flex sensor 14 stored in the memory 150, Means the maximum value of the sensed values of the flex sensor 14 stored in the memory 150.
- the processor 160 may accumulate and store the sensed values of the flex sensor 14 in the memory 150 .
- the sensed values of the flex sensor 14 corresponding to the user's initially set posture eg, fist clenched posture or open palm posture
- the processor 160 may identify the minimum and maximum values among the stored sensing values of the flex sensor 14 .
- FIG. 7 is a flowchart illustrating a method of controlling a manipulator according to an embodiment of the present disclosure.
- the manipulator 100 may receive a sensing value of an external sensor for detecting the posture of the user's arm (S710).
- the external sensors may include a first external sensor attached to the upper arm of the user's arm, a second external sensor attached to the lower arm, a third external sensor attached to the wrist, and a flex sensor attached to the finger.
- the manipulator 100 may obtain a second vector corresponding to the posture of the user's arm based on the matrix obtained based on the sensed value of the external sensor and the first vector pre-stored in the memory (S720).
- the manipulator 100 may acquire posture information of the user's arm based on the second vector (S730).
- the manipulator 100 may obtain a quaternion vector corresponding to the posture of the user's arm by applying the sensed value to an Altitude and Heading Reference System (AHRS) algorithm stored in the manipulator 100.
- AHRS Altitude and Heading Reference System
- the manipulator 100 may obtain a matrix based on the quaternion vector (quaternion information).
- the manipulator 100 may obtain a matrix based on [Equation 3].
- the obtained matrix may be a value obtained by correcting an error according to a difference in physical characteristics of each user.
- the manipulator 100 may obtain a first matrix based on a first sensing value corresponding to an initially set posture of the user's arm and store the first matrix in the manipulator 100 .
- the manipulator 100 may obtain a corrected matrix based on the second matrix obtained based on the second sensing value corresponding to the current posture of the user's arm and the stored first matrix.
- the second vector may include a 2-1 vector corresponding to the x-axis and a 2-2 vector corresponding to the z-axis.
- the posture information of the user's arm may include a roll angle corresponding to the x-axis, a pitch angle corresponding to the y-axis, and a yaw angle corresponding to the z-axis.
- the manipulator 100 may obtain the first yaw angle based on the 2-1 vector.
- the manipulator 100 may obtain the second yaw angle based on the 2-2 vector.
- the manipulator 100 may obtain the yaw angle by applying weights to the first yaw angle and the second yaw angle based on a predefined weight function.
- the manipulator 100 may obtain the yaw angle based on [Equation 5] and [Equation 6] described above.
- the manipulator 100 may obtain posture information of the lower arm of the user's arm and control the movement of the second link 112 based on the posture information of the lower arm of the user's arm.
- the manipulator 100 may obtain a third vector corresponding to the first link 111 based on a sensing value of a first external sensor attached to the upper arm of the user's arm.
- the manipulator 100 may obtain a fourth vector corresponding to the second link 112 based on a sensing value of a second external sensor attached to the lower arm of the user's arm.
- the manipulator 100 may obtain posture information corresponding to the second link 112 based on the third vector and the fourth vector. For example, the manipulator 100 may obtain posture information corresponding to the second link 112 based on [Equation 7], [Equation 8], and [Equation 9] described above. The manipulator 100 may control driving of a plurality of motors corresponding to the second link 112 based on posture information corresponding to the second link 112 (S740).
- FIG. 8 is a flowchart illustrating a control method of a manipulator according to an embodiment of the present disclosure.
- All quaternion information estimated from the upper arm, lower arm, or hand of the user represents the posture of an independent body coordinate system centered on the reference coordinate system. This means that if the Euler angle is calculated from quaternion information estimated for each part, the posture of the moving body coordinate system can be matched to the posture of the reference coordinate system through coordinate transformation.
- the posture of the manipulator's hand is independent of the posture of the manipulator's upper arm and lower arm, as in the case of the actual hand posture of the user, the posture of the manipulator's hand can be determined only with quaternion information estimated from the user's hand, which is This means that the posture of the manipulator's hand can be easily implemented.
- the posture of the manipulator hand changes according to the posture of the manipulator lower arm
- the posture of the manipulator lower arm changes according to the posture of the manipulator upper arm. That is, it can be said that the posture of the manipulator's hand is dependent on the postures of the upper arm and lower arm of the manipulator. Therefore, in order to accurately control the posture of the manipulator hand, the posture of the upper arm and the lower arm of the manipulator should be considered.
- the manipulator according to the present disclosure can estimate the posture of the manipulator's upper arm and lower arm and the posture of the hand independently, and this process may be referred to as a hand balancing process.
- this process may be referred to as a hand balancing process.
- an embodiment related to a hand balancing process according to the present disclosure will be described.
- the manipulator includes the configuration shown in FIG. 1B.
- the manipulator may include a plurality of links, a plurality of motors, a communication interface, a memory, and a processor.
- the plurality of links include a first link corresponding to the upper arm, a second link corresponding to the lower arm, and a third link corresponding to the hand, and the plurality of motors rotate the first link about the first axis.
- a motor, a second motor for rotating the first link with respect to the second axis, a third motor for rotating the second link with respect to the first axis, a fourth motor for rotating the second link with respect to the third axis, and a third link It may include a sixth motor for rotating the fifth motor and the third link relative to the first axis for rotating the second axis.
- the manipulator may obtain information about the body coordinate system of the link corresponding to the lower arm based on first rotation angle information of motors corresponding to the upper arm and lower arm among a plurality of motors (S810). .
- the manipulator calculates a coordinate transformation matrix for converting the first rotation angle information into sensing values representing the posture of the upper arm and the posture of the lower arm, and obtains information on the body coordinate system corresponding to the lower arm based on the coordinate transformation matrix. can do.
- the manipulator does not use quaternion information corresponding to the upper arm and lower arm, and calculates a coordinate transformation matrix inversely based on the first rotation angle information, which is an actual motor input value for the motors corresponding to the upper arm and lower arm. Based on this, it is possible to obtain information on a body coordinate system representing a posture of a link corresponding to an actual lower arm. This is to reduce an error occurring when the high-dimensional posture information expressed in the user's arm is reduced in dimension to the low-dimensional posture expressed in the link corresponding to the manipulator's arm.
- the manipulator may obtain balance angle information for equilibrating the body coordinate system with a predefined reference coordinate system (S820).
- the balance angle information may include roll balance angle information and pitch balance angle information.
- the roll equilibrium angle information may indicate an angle at which a second axis of the body coordinate system is parallel to the xy plane of the reference coordinate system when the body coordinate system is rotated based on the first axis of the body coordinate system
- the pitch equilibrium angle information is the roll equilibrium angle information.
- first axis, the second axis, and the third axis of the moving body coordinate system are used as terms for specifying the x-axis, y-axis, and z-axis of the moving body coordinate system by distinguishing them from the x-axis, y-axis, and z-axis of the reference coordinate system.
- the manipulator rotates the lower arm body coordinate system based on the first axis of the body coordinate system based on the posture information of the lower chest body coordinate system expressed around the reference coordinate system
- the second axis is included in the xy plane of the reference coordinate system.
- the roll equilibrium angle can be calculated.
- the manipulator rotates the lower arm body coordinate system based on the second axis based on the posture information of the newly created lower arm body coordinate system when the lower arm body coordinate system is rotated by the roll equilibrium angle with respect to the first axis.
- the pitch equilibrium angle can be calculated so that the three axes coincide with the z-axis of the reference coordinate system.
- the plane composed of the first axis and the second axis of the lower arm body coordinate system becomes perpendicular to the earth's gravitational acceleration vector, and thus the hand Balancing can be done. This means that independent hand postures can be obtained regardless of the rotation angles of the motors that drive the upper arm and lower arm of the manipulator.
- the manipulator When a sensing value representing the hand position is received from an external sensor after the equilibrium angle information is acquired, the manipulator generates second rotation angle information for motors corresponding to the hand among a plurality of motors based on the sensing value and the equilibrium angle information. It can be obtained (S830). When the second rotation angle information is acquired, the manipulator may control motors corresponding to the hand based on the second rotation angle information (S840).
- the manipulator obtains third rotation angle information for motors corresponding to the hand based on a sensing value representing the posture of the hand, and corrects the third rotation angle information based on the equilibrium angle information to obtain the second rotation angle information.
- information can be obtained.
- the manipulator obtains second rotation angle information according to a result of correcting the third rotation angle information by adding equilibrium angle information to third rotation angle information for motors corresponding to the hand, and obtains second rotation angle information according to a result of correcting the third rotation angle information.
- Motors corresponding to the hand may be controlled based on the rotation angle information.
- the degree to which the hand posture is distorted with respect to the reference coordinate system is compensated.
- hand balancing it is possible to minimize a posture error generated from an external sensor attached to the user's arm and estimate a hand posture independent of the postures of the upper arm and lower arm of the manipulator. And, accordingly, the user can quickly and precisely perform the desired task.
- FIG. 9 is a view for explaining a coordinate system according to an embodiment of the present disclosure and a process of obtaining information on a moving body coordinate system of a link corresponding to a lower arm.
- the coordinate systems shown in FIG. 9 are a reference frame according to the present disclosure and body coordinate systems corresponding to each of a plurality of links included in the manipulator, that is, a body coordinate system corresponding to the user's upper arm, lower arm (fore arm).
- the body coordinate system corresponding to the arm and the body coordinate system corresponding to the hand are respectively indicated.
- the yaw angle of the reference coordinate system is defined as a coordinate system that moves equally according to the yaw angle of the upper arm, and all body coordinate systems are interpreted centering on the reference coordinate system. And, according to the yaw and pitch angles corresponding to the rotation of the third axis and the second axis in the body coordinate system of the manipulator upper arm, and the roll angle and yaw angle corresponding to the rotation of the first and third axes in the body coordinate system of the manipulator lower arm, the upper arm of the manipulator and the posture of the lower arm is determined.
- the posture of the upper arm and lower arm of the manipulator should be considered.
- quaternion information obtained from the IMU and geomagnetic sensor mounted on the user's hand to obtain the coordinate transformation matrix between the body coordinate system of the hand and the reference coordinate system, and the inverse matrix of the coordinate transformation matrix between the body coordinate system and the reference coordinate system.
- the relative posture of the hand with respect to the lower arm can be obtained.
- an error may occur when the posture of the IMU and the geomagnetic sensor attached to the user's arm is changed while the user bends and straightens the arm or raises and lowers the arm.
- the posture of the IMU and the geomagnetic sensor attached to the user's arm is changed while the user bends and straightens the arm or raises and lowers the arm.
- the tilt of the surface on which the sensor is mounted changes, and this phenomenon is reflected in the quaternion information and may appear as an error in the posture of the upper arm.
- a posture error may occur due to a similar reason as the case of the upper arm.
- the posture error of the upper arm and the lower arm causes the hand posture error, and as a result, it is difficult for the user to perform an intuitive and fast operation according to the difference between the actual hand posture and the manipulator's hand posture.
- the present disclosure is to solve the problems of the prior art as described above, and according to the present disclosure, when obtaining the posture of the upper arm and the lower arm, quaternion information obtained from the IMU and geomagnetic sensor mounted on the upper arm and the lower arm are not used, and the actual manipulator's By using the quaternion information obtained based on the rotation angles of motors mounted on the upper arm and lower arm, the hand of the manipulator can maintain equilibrium in the reference coordinate system. This means that the posture of the manipulator's hand is affected only by quaternion information obtained from the IMU and geomagnetic sensor attached to the user's hand.
- Equation 13 shows a process of obtaining transformed vectors X1, Y1, and Z1 when unit vectors X, Y, and Z are coordinately transformed through rotation of the yaw angle of the lower arm.
- Equation 14 shows a process of obtaining transformed vectors X2, Y2, Z2 when coordinate transformation is performed on vectors X1, Y1, and Z1 through rotation of the roll angle of the upper arm.
- Equation 15 represents transformed vectors X3, Y3, and Z3 when coordinate transformation is performed on vectors X2, Y2, and Z2 through rotation of the pitch angle of the upper arm.
- the vectors X3, Y3, and Z3 are the result of analyzing X, Y, and Z, which are unit vectors of the body coordinate system of the manipulator lower arm, in the reference coordinate system through coordinate transformation, and are shown in FIG. 10.
- the rotation amount of the two motors corresponding to the manipulator's hand is 0, the body coordinate system of the lower arm is always the same as the body coordinate system of the back of the hand. Therefore, in order to keep the body coordinate system of the hand in an equilibrium state in the reference coordinate system, it is necessary to find the equilibrium conditions of X3, Y3, and Z3 of the body coordinate system of Habak viewed from the reference coordinate system. This will be described with reference to FIGS. 10 and 11 below.
- FIG. 10 is a diagram for explaining in detail a process of obtaining a roll equilibrium angle according to an embodiment of the present disclosure.
- a roll equilibrium angle (roll_hand in FIG. 10) can be defined such that the vector Y3 exists on the XY plane of the reference coordinate system. That is, the roll equilibrium angle is the angle formed by the vector Y3 and the vector Vinter of the intersection of the Y3Z3 plane and the XY plane.
- the intersection vector Vinter can be calculated according to [Equation 16] below. [Equation 16] includes a plurality of equations and an operation process for them.
- Equation 17 includes a plurality of equations and an operation process for them.
- Vcross be the cross product of vector Y3 and vector Vinter
- Vcross cross_product (Y3, Vinter).
- FIG. 11 is a diagram for explaining in detail a process of obtaining a pitch equilibrium angle according to an embodiment of the present disclosure.
- the angle formed by the vector Z4 and the unit vector Z of the reference coordinate system is defined as the pitch equilibrium angle (pitch_hand in FIG. 11)
- pitch_hand the angle formed by the vector Z4 and the unit vector Z of the reference coordinate system
- the vector Z4 When the vector X3 and the vector Z4 are rotated by -1.0 * pitch_hand with respect to the vector Y4, the vector Z4
- the direction of the vector transformed through the rotation of is coincident with the direction of the Z axis of the reference coordinate system, and the vector transformed through the rotation of the vector X3 exists on the XY plane of the reference coordinate system. Accordingly, the hand balancing process according to the present disclosure may be performed based on the roll equilibrium angle and the pitch equilibrium angle.
- Equation 18 includes a plurality of equations and an operation process for them.
- Equation 19 shows this process. [Equation 19] includes a plurality of equations and an operation process for them.
- Equation 20 includes a plurality of equations and an operation process for them.
- Vcross [Vcross[0], Vcross[1], Vcross[2]] means the cross product of Z and Z4.
- pitch_hand asin(
- pitch_hand -1.0*asin(
- the manipulator rotates the two motors corresponding to the hand by the roll balance angle and the pitch balance angle to perform hand balancing. .
- FIG. 12 is a diagram for explaining an embodiment related to a process of controlling a manipulator by a plurality of users according to an embodiment of the present disclosure.
- the process of acquiring the input values of the motors corresponding to the upper arm and lower arm and the hand balancing process described above can be performed even when a plurality of users remotely control one manipulator. can be applied
- the manipulator may receive an operation stop command from the first user while the manipulator is operating (S1210). Also, when the first user's operation stop command is received, the manipulator deactivates an external sensor for recognizing the first user's arm posture (S1220) and stops the manipulator operation (S1230).
- the manipulator may deactivate the external sensor by transmitting a control signal for deactivating the external sensor to the external sensor, and even if a sensing value is received from the external sensor after an operation stop command, the manipulator operates based on the received sensing value. It is possible to stop the operation of the manipulator in such a way as not to control it.
- the manipulator When the second user's command to start an operation for controlling the manipulator is received (S1240), the manipulator transmits information on a guide screen for compensating for a difference between the posture of the manipulator and the posture of the arm of the second user to the second user. It can be transmitted to the user terminal (S1250).
- the manipulator transmits information on the guide screen to the user terminal of the second user so that it is displayed on the display of the user terminal of the second user.
- the guide screen may include information about the posture of the manipulator according to the last posture of the arm of the first user and information about the current posture of the arm of the second user. You can change the motion of your arm to match the posture of your arm with the posture of the manipulator according to the last posture of .
- the manipulator may control the operation of the manipulator based on the posture of the arm of the second user (S1270). Meanwhile, the manipulator continuously determines whether the difference between the posture of the manipulator and the posture of the arm of the second user is within the threshold range until it is identified that the difference between the posture of the manipulator and the posture of the arm of the second user is within the threshold range. It can be identified periodically (S1260-N).
- the manipulator according to the present disclosure even when a plurality of users remotely control the manipulator, the plurality of users can quickly understand the movement situation of the manipulator and intuitively attempt correct control, and accordingly, the plurality of users It is possible to stably operate the manipulator while ensuring continuity between operations. Meanwhile, the embodiment of FIG. 12 may be similarly applied even when one user controls manipulators located in several places.
- FIG. 13 is a diagram for explaining an embodiment related to controlling a repetitive motion of a manipulator according to an embodiment of the present disclosure.
- the process of acquiring the input values of the motors corresponding to the upper arm and lower arm and the hand balancing process described above can be applied to a process in which the manipulator repeatedly performs a certain motion. .
- the manipulator may receive a user's command to start repeating motion (S1310). Also, when the user's command to start a repeated motion is received, the manipulator may control the motion of the manipulator based on the posture of the user's arm (S1320).
- the manipulator stores control signals corresponding to the manipulator's motions from the time the command to start the repeated motion is received to the time the command to stop the repeated motion is received. It can (S1340).
- the manipulator may transmit information on the maximum work speed of each motor of the manipulator corresponding to the control signal to the user terminal (S1350). Specifically, the manipulator transmits information on the maximum working speed of each motor of the manipulator corresponding to the control signal to the user's terminal, so that it is displayed on the display of the user's terminal.
- the manipulator can control the manipulator based on the set working speed (S1370).
- the user can designate the repetition speed of the manipulator within the maximum permissible torque range of each motor as needed, and accordingly, the user's work efficiency can be remarkably improved.
- the manipulator can accurately follow the movement of the user's arm. Accordingly, user convenience and satisfaction are improved. Also, since the manipulator can operate without a visual sensor, manufacturing cost of the manipulator can be reduced.
- embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
- the embodiments described herein may be implemented in a processor itself.
- embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
- Computer instructions for performing processing operations according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium.
- Computer instructions stored in such a non-transitory computer readable medium may cause a specific device to perform processing operations according to various embodiments described above when executed by a processor.
- a non-transitory computer readable medium is a medium that stores data semi-permanently and is readable by a device, not a medium that stores data for a short moment, such as a register, cache, or memory.
- Specific examples of the non-transitory computer readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
Abstract
Description
Claims (15)
- 매니퓰레이터에 있어서,사용자의 상박, 하박 및 손 각각에 대응되는 복수의 링크;상기 복수의 링크를 회전시키는 복수의 모터;통신 인터페이스;적어도 하나의 인스트럭션을 저장하는 메모리; 및상기 적어도 하나의 인스트럭션을 실행하는 프로세서; 를 포함하고,상기 프로세서는,상기 복수의 모터 중 상기 상박 및 상기 하박에 대응되는 모터들에 대한 제1 회전각 정보에 기초하여, 상기 하박에 대응되는 링크의 동체 좌표계에 대한 정보를 획득하고,상기 동체 좌표계가 기 정의된 기준 좌표계와 평형을 이루도록 하는 평형각 정보를 획득하며,상기 통신 인터페이스를 통해 외부 센서로부터 상기 손의 자세를 나타내는 센싱값이 수신되면, 상기 센싱값 및 상기 평형각 정보에 기초하여 상기 복수의 모터 중 상기 손에 대응되는 모터들에 대한 제2 회전각 정보를 획득하며,상기 제2 회전각 정보에 기초하여 상기 손에 대응되는 모터들을 제어하는매니퓰레이터.
- 제1 항에 있어서,상기 프로세서는,상기 제1 회전각 정보를 상기 상박의 자세 및 상기 하박의 자세를 나타내는 센싱값으로 변환하기 위한 좌표변환행렬을 산출하고,상기 좌표변환행렬에 기초하여 상기 하박에 대응되는 동체 좌표계에 대한 정보를 획득하는매니퓰레이터.
- 제1 항에 있어서,상기 평형각 정보는 롤(roll) 평형각 정보 및 피치(pitch) 평형각 정보를 포함하고,상기 롤 평형각 정보는 상기 동체 좌표계의 제1 축을 기준으로 상기 동체 좌표계를 회전하는 경우 상기 동체 좌표계의 제2 축이 상기 기준 좌표계의 xy 평면과 평행이 되도록 하는 각도를 나타내는매니퓰레이터.
- 제3 항에 있어서,상기 피치 평형각 정보는 상기 롤 평형각 정보에 따라 회전된 상기 동체 좌표계의 제2 축을 기준으로 상기 동체 좌표계를 회전하는 경우 상기 동체 좌표계의 제3 축이 상기 기준 좌표계의 z축과 일치되도록 하는 각도를 나타내는매니퓰레이터.
- 제4 항에 있어서,상기 프로세서는,손의 자세를 나타내는 센싱값에 기초하여 손에 대응되는 모터들에 대한 제3 회전각 정보를 획득하며,상기 평형각 정보에 기초하여 제3 회전각 정보를 보정함으로써 제2 회전각 정보를 획득하는매니퓰레이터.
- 제5 항에 있어서,상기 복수의 링크는 상기 상박에 대응되는 제1 링크, 상기 하박에 대응되는 제2 링크, 상기 손에 대응되는 제3 링크를 포함하고,상기 복수의 모터는 상기 제1 링크를 제1 축을 기준으로 회전시키는 제1 모터, 상기 제1 링크를 제2 축을 기준으로 회전시키는 제2 모터, 상기 제2 링크를 상기 제1 축을 기준으로 회전시키는 제3 모터, 상기 제2 링크를 제3 축을 기준으로 회전시키는 제4 모터, 상기 제3 링크를 상기 제1 축을 기준으로 회전시키는 제5 모터 및 상기 제3 링크를 상기 제2 축을 기준으로 회전시키는 제6 모터를 포함하는매니퓰레이터.
- 제1 항에 있어서,상기 프로세서는,상기 매니퓰레이터가 동작하는 동안 제1 사용자의 동작 중지 명령이 수신되면, 상기 제1 사용자의 팔의 자세를 인식하기 위한 외부 센서를 비활성화하고 상기 매니퓰레이터의 동작을 중지하며,상기 매니퓰레이터를 제어하기 위한 제2 사용자의 동작 개시 명령이 수신되면, 상기 매니퓰레이터의 자세와 상기 제2 사용자의 팔의 자세 사이의 차이를 보상하기 위한 가이드 화면에 대한 정보를 상기 제2 사용자의 사용자 단말로 전송하도록 상기 통신 인터페이스를 제어하고,상기 매니퓰레이터의 자세와 상기 제2 사용자의 팔의 자세의 차이가 기 설정된 임계 범위 내인 것으로 식별되면, 상기 제2 사용자의 팔의 자세에 기초하여 상기 복수의 모터를 제어하는매니퓰레이터.
- 제1 항에 있어서,상기 프로세서는,상기 사용자의 반복 동작 개시 명령이 수신되면, 상기 사용자의 팔의 자세에 기초하여 상기 복수의 모터를 제어하고,상기 사용자의 반복 동작 중지 명령이 수신되면, 상기 반복 동작 개시 명령이 수신된 시점부터 상기 반복 동작 중지 명령이 수신된 시점까지의 상기 매니퓰레이터의 동작에 대응되는 제어 신호를 상기 메모리에 저장하며,상기 제어 신호가 저장되면, 상기 제어 신호에 대응되는 상기 복수의 모터 별 최대 작업 속도에 대한 정보를 상기 사용자의 사용자 단말로 전송하도록 상기 통신 인터페이스를 제어하고,상기 최대 작업 속도에 대한 정보에 기초하여 상기 매니퓰레이터의 작업 속도를 설정하기 위한 사용자 입력이 수신되면, 상기 설정된 작업 속도에 기초하여 상기 복수의 모터를 제어하는매니퓰레이터.
- 사용자의 상박, 하박 및 손 각각에 대응되는 복수의 링크와 상기 복수의 링크를 회전시키는 복수의 모터를 포함하는 매니퓰레이터의 제어 방법에 있어서,상기 복수의 모터 중 상기 상박 및 상기 하박에 대응되는 모터들에 대한 제1 회전각 정보에 기초하여, 상기 하박에 대응되는 링크의 동체 좌표계에 대한 정보를 획득하는 단계;상기 동체 좌표계가 기 정의된 기준 좌표계와 평형을 이루도록 하는 평형각 정보를 획득하는 단계;외부 센서로부터 상기 손의 자세를 나타내는 센싱값이 수신되면, 상기 센싱값 및 상기 평형각 정보에 기초하여 상기 복수의 모터 중 상기 손에 대응되는 모터들에 대한 제2 회전각 정보를 획득하는 단계; 및상기 제2 회전각 정보에 기초하여 상기 손에 대응되는 모터들을 제어하는 단계;를 포함하는매니퓰레이터의 제어 방법.
- 제9 항에 있어서,상기 동체 좌표계에 대한 정보를 획득하는 단계는,상기 제1 회전각 정보를 상기 상박의 자세 및 상기 하박의 자세를 나타내는 센싱값으로 변환하기 위한 좌표변환행렬을 산출하는 단계; 및상기 좌표변환행렬에 기초하여 상기 하박에 대응되는 동체 좌표계에 대한 정보를 획득하는 단계; 를 포함하는매니퓰레이터의 제어 방법.
- 제9 항에 있어서,상기 평형각 정보는 롤(roll) 평형각 정보 및 피치(pitch) 평형각 정보를 포함하고,상기 롤 평형각 정보는 상기 동체 좌표계의 제1 축을 기준으로 상기 동체 좌표계를 회전하는 경우 상기 동체 좌표계의 제2 축이 상기 기준 좌표계의 xy 평면과 평행이 되도록 하는 각도를 나타내는매니퓰레이터의 제어 방법.
- 제11 항에 있어서,상기 피치 평형각 정보는 상기 롤 평형각 정보에 따라 회전된 상기 동체 좌표계의 제2 축을 기준으로 상기 동체 좌표계를 회전하는 경우 상기 동체 좌표계의 제3 축이 상기 기준 좌표계의 z축과 일치되도록 하는 각도를 나타내는매니퓰레이터의 제어 방법.
- 제12 항에 있어서,상기 제2 회전각 정보를 획득하는 단계는,손의 자세를 나타내는 센싱값에 기초하여 손에 대응되는 모터들에 대한 제3 회전각 정보를 획득하는 단계; 및상기 평형각 정보에 기초하여 제3 회전각 정보를 보정함으로써 제2 회전각 정보를 획득하는 단계; 를 포함하는매니퓰레이터의 제어 방법.
- 제13 항에 있어서,상기 복수의 링크는 상기 상박에 대응되는 제1 링크, 상기 하박에 대응되는 제2 링크, 상기 손에 대응되는 제3 링크를 포함하고,상기 복수의 모터는 상기 제1 링크를 제1 축을 기준으로 회전시키는 제1 모터, 상기 제1 링크를 제2 축을 기준으로 회전시키는 제2 모터, 상기 제2 링크를 상기 제1 축을 기준으로 회전시키는 제3 모터, 상기 제2 링크를 제3 축을 기준으로 회전시키는 제4 모터, 상기 제3 링크를 상기 제1 축을 기준으로 회전시키는 제5 모터 및 상기 제3 링크를 상기 제2 축을 기준으로 회전시키는 제6 모터를 포함하는매니퓰레이터의 제어 방법.
- 매니퓰레이터에 있어서,제1 링크 및 제2 링크를 포함하는 복수의 링크;상기 복수의 링크를 회전시키는 복수의 모터;회로를 포함하는 통신 인터페이스;적어도 하나의 인스트럭션을 저장하는 메모리; 및프로세서;를 포함하고,상기 프로세서는,상기 통신 인터페이스를 통해 사용자 팔의 자세를 감지하기 위한 외부 센서의 센싱값을 수신하고,상기 센싱값에 기초하여 획득된 행렬 및 상기 메모리에 기저장된 제1 벡터에 기초하여 상기 사용자 팔의 자세에 대응되는 제2 벡터를 획득하고,상기 제2 벡터에 기초하여 상기 사용자 팔의 자세 정보를 획득하고,상기 사용자 팔의 자세 정보에 기초하여 상기 복수의 모터의 구동을 제어하고,상기 프로세서는,제1 외부 센서의 센싱값에 기초하여 상기 제1 링크에 대응되는 제3 벡터를 획득하고,제2 외부 센서의 센싱값에 기초하여 상기 제2 링크에 대응되는 제4 벡터를 획득하고,상기 제3 벡터 및 상기 제4 벡터에 기초하여 상기 제2 링크에 대응되는 자세 정보를 획득하고,상기 제2 링크에 대응되는 자세 정보에 기초하여 상기 제2 링크에 대응되는 상기 복수의 모터의 구동을 제어하는매니퓰레이터.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22846089.5A EP4309859A1 (en) | 2021-07-21 | 2022-07-05 | Manipulator and control method therefor |
CN202280042963.0A CN117500644A (zh) | 2021-07-21 | 2022-07-05 | 机械手及其控制方法 |
US18/305,671 US20230256587A1 (en) | 2021-07-21 | 2023-04-24 | Manipulator and method for controlling thereof |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0095697 | 2021-07-21 | ||
KR20210095697 | 2021-07-21 | ||
KR10-2022-0002833 | 2022-01-07 | ||
KR1020220002833A KR20230014611A (ko) | 2021-07-21 | 2022-01-07 | 매니퓰레이터 및 그 제어 방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/305,671 Continuation US20230256587A1 (en) | 2021-07-21 | 2023-04-24 | Manipulator and method for controlling thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023003217A1 true WO2023003217A1 (ko) | 2023-01-26 |
Family
ID=84980240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/009633 WO2023003217A1 (ko) | 2021-07-21 | 2022-07-05 | 매니퓰레이터 및 그 제어 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230256587A1 (ko) |
EP (1) | EP4309859A1 (ko) |
WO (1) | WO2023003217A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09109069A (ja) * | 1995-10-13 | 1997-04-28 | Gen Sugano | パワード・インテリジェント方法及びユニット |
JP2006107024A (ja) * | 2004-10-04 | 2006-04-20 | Tamagawa Seiki Co Ltd | 三次元入力装置 |
KR20130094128A (ko) * | 2012-02-15 | 2013-08-23 | 삼성전자주식회사 | 원격조정시스템 및 그 제어방법 |
JP2018153873A (ja) * | 2017-03-15 | 2018-10-04 | 株式会社オカムラ | マニピュレータの制御装置、制御方法およびプログラム、ならびに作業システム |
KR20200091238A (ko) * | 2019-01-22 | 2020-07-30 | 한국원자력연구원 | 로봇의 마스터 장치 및 이를 구비하는 로봇 제어 시스템 |
-
2022
- 2022-07-05 EP EP22846089.5A patent/EP4309859A1/en active Pending
- 2022-07-05 WO PCT/KR2022/009633 patent/WO2023003217A1/ko active Application Filing
-
2023
- 2023-04-24 US US18/305,671 patent/US20230256587A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09109069A (ja) * | 1995-10-13 | 1997-04-28 | Gen Sugano | パワード・インテリジェント方法及びユニット |
JP2006107024A (ja) * | 2004-10-04 | 2006-04-20 | Tamagawa Seiki Co Ltd | 三次元入力装置 |
KR20130094128A (ko) * | 2012-02-15 | 2013-08-23 | 삼성전자주식회사 | 원격조정시스템 및 그 제어방법 |
JP2018153873A (ja) * | 2017-03-15 | 2018-10-04 | 株式会社オカムラ | マニピュレータの制御装置、制御方法およびプログラム、ならびに作業システム |
KR20200091238A (ko) * | 2019-01-22 | 2020-07-30 | 한국원자력연구원 | 로봇의 마스터 장치 및 이를 구비하는 로봇 제어 시스템 |
Also Published As
Publication number | Publication date |
---|---|
EP4309859A1 (en) | 2024-01-24 |
US20230256587A1 (en) | 2023-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018124662A1 (en) | Method and electronic device for controlling unmanned aerial vehicle | |
WO2019156518A1 (en) | Method for tracking hand pose and electronic device thereof | |
WO2018199701A1 (en) | Method for providing content and apparatus therefor | |
WO2020111808A1 (ko) | 자율주행 카트 | |
WO2012064106A2 (en) | Method and apparatus for video stabilization by compensating for view direction of camera | |
WO2018074893A1 (ko) | 디스플레이 장치 및 디스플레이 장치의 영상 처리 방법 | |
WO2016017956A1 (en) | Wearable device and method of operating the same | |
WO2016200197A1 (ko) | 사용자 기준 공간좌표계 상에서의 제스처 검출 방법 및 장치 | |
WO2022039560A1 (en) | Angle of arrival capability in electronic devices with motion sensor fusion | |
WO2023048380A1 (ko) | 카메라뷰 뎁스맵을 활용하여 이동체의 전방향에 위치한 적어도 하나의 물체에 대한 거리를 획득하는 방법 및 이를 이용한 이미지 처리 장치 | |
WO2023003217A1 (ko) | 매니퓰레이터 및 그 제어 방법 | |
EP4111230A1 (en) | Angle of arrival capability in electronic devices | |
WO2022139461A1 (en) | Three-dimensional angle of arrival capability in electronic devices | |
WO2022086157A1 (ko) | 전자 장치 및 그 제어 방법 | |
WO2022065763A1 (en) | Display apparatus and method for controlling thereof | |
EP4172644A1 (en) | Angle of arrival determination in electronic devices with fused decision from motion | |
WO2022045490A1 (en) | Method for providing three dimensional input and electronic device supporting the same | |
WO2023018115A1 (ko) | 신호의 도달 각도를 결정하기 위한 전자 장치 및 전자 장치의 동작 방법 | |
WO2021071030A1 (ko) | 센싱 디바이스 및 이를 포함한 로봇 매니퓰레이터 | |
WO2021045291A1 (ko) | 안테나 제어 방법 및 장치 | |
WO2017078396A1 (ko) | 데이터 요청을 제어하기 위한 장치 및 방법 | |
WO2019108002A1 (ko) | 관절 로봇의 관절각 산출 방법 | |
WO2022045478A1 (en) | Electronic device and method for identifying relevant device in augmented reality mode of electronic device | |
WO2023054751A1 (ko) | 윤곽제어 알고리즘을 이용한 로봇 제어 방법 | |
WO2017155365A1 (en) | Electronic apparatus for providing panorama image and control method thereof |
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: 22846089 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 22846089.5 Country of ref document: EP Ref document number: 2022846089 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2022846089 Country of ref document: EP Effective date: 20231020 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202280042963.0 Country of ref document: CN |
|
NENP | Non-entry into the national phase |
Ref country code: DE |