KR100818059B1 - Method for controlling human arm motion reproduction of humanoid robot - Google Patents
Method for controlling human arm motion reproduction of humanoid robot Download PDFInfo
- Publication number
- KR100818059B1 KR100818059B1 KR1020060098156A KR20060098156A KR100818059B1 KR 100818059 B1 KR100818059 B1 KR 100818059B1 KR 1020060098156 A KR1020060098156 A KR 1020060098156A KR 20060098156 A KR20060098156 A KR 20060098156A KR 100818059 B1 KR100818059 B1 KR 100818059B1
- Authority
- KR
- South Korea
- Prior art keywords
- humanoid robot
- arm
- human
- joint
- motion
- Prior art date
Links
Images
Classifications
-
- 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/02—Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/04—Viewing devices
-
- 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/1628—Programme controls characterised by the control loop
- B25J9/1638—Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
-
- 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
- G05B11/00—Automatic controllers
- G05B11/01—Automatic controllers electric
- G05B11/32—Automatic controllers electric with inputs from more than one sensing element; with outputs to more than one correcting element
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
Description
도 1은 본 발명에 따른 인간형 로봇의 인간 팔 동작 재현을 제어하는 방법의 흐름도이다. 1 is a flowchart of a method for controlling the reproduction of a human arm motion of a humanoid robot according to the present invention.
도 2는 인간과 인간형 로봇의 팔 길이 차이를 설명하기 위한 예시도로써, 도 2a는 인간 모형도이고, 도 2b는 인간형 로봇의 모형도이다.2 is an exemplary diagram for explaining the difference in arm length between a human and a humanoid robot. FIG. 2A is a human model and FIG. 2B is a model diagram of a humanoid robot.
도 3은 인간과 인간형 로봇의 위팔의 위상 차이를 설명하기 위한 예시도로써, 도 3a는 인간 모형도이고, 도 3b는 인간형 로봇의 모형도이다.3 is an exemplary view for explaining the phase difference between the upper arm of a human and a humanoid robot, FIG. 3A is a human model, and FIG. 3B is a model diagram of a humanoid robot.
도 4은 인간형 로봇의 특이 자세에서 발생하는 불필요 동작을 설명하기 위한 예시도로써, 도 4a는 본 발명의 목적함수에서 셋째항을 추가하기 전 특이 자세에서 발생하는 불필요 동작을 모니터링한 화면이고, 도 4b는 셋째항을 추가한 후 특이 자세에서 발생하는 불필요 동작 제거를 모니터링한 화면이다.FIG. 4 is an exemplary diagram for describing unnecessary motions occurring in a singular posture of a humanoid robot, and FIG. 4A is a screen for monitoring unnecessary motions occurring in a singular posture before adding a third term in the objective function of the present invention. 4b is a screen for monitoring the removal of unnecessary motion occurring in a particular posture after adding the third term.
본 발명은 인간형 로봇의 동작을 제어하기 위한 것으로, 특히 인간형 로봇이 인간의 팔 동작과 유사하게 동작을 재현할 수 있도록 동작을 제어하는 방법에 관한 것이다. The present invention relates to controlling the motion of a humanoid robot, and more particularly, to a method of controlling the motion so that the humanoid robot can reproduce the motion similar to the human arm motion.
인간형 로봇이란 인간의 지능, 행동, 상호작용 등을 모방하여 인간을 대신하거나 인간과 공동작업을 통해 각종 서비스를 제공하는 로봇을 말한다. 인간형 로봇의 개발로 인하여 특정 산업분야의 자동화 시스템을 구현하기 위하여 사용되던 로봇의 활용범위가 인간의 생활 영역까지 넓어질 수 있게 되었다. Humanoid robots are robots that provide various services on behalf of humans or through collaboration with humans by imitating human intelligence, behavior, and interaction. With the development of humanoid robots, the scope of use of robots used to implement automation systems in specific industries can be extended to human life.
인간과 인간형 로봇이 서로 공존하며 원활한 상호작용을 하기 위해서는 인간형 로봇의 외형뿐만 아니라 동작이 인간에게 친화적이고 예측가능하여야 한다. 만약 인간형 로봇의 동작이 서툴고 예측 불가능한 상태라면, 서로 간에 의사소통이 원활하게 이루어질 수 없고 오히려 인간에게 위협적인 요소로 작용될 수 있기 때문이다. In order for humans and humanoid robots to coexist and interact smoothly, not only the appearance of humanoid robots but also their human behavior must be friendly and predictable. If humanoid robots are in a poor and unpredictable state, they cannot communicate with each other smoothly but rather act as a threat to humans.
이 중에서도 특히 인간과 인간형 로봇 사이에 의사소통을 위해 가장 기본적으로 자연스럽게 모방되어야 할 동작은 팔 동작일 것이다. 왜냐하면, 인간은 의사소통 시 여러가지 팔 동작을 구사하여 본인이 의도하고자 하는 내용과 감정을 풍부하게 표시하기 때문이다. Among these, the most basic movement that should be naturally imitated for communication between humans and humanoid robots will be arm movements. This is because humans use various arm movements in communication to express their content and feelings in abundance.
종래에도 인간의 동작을 인간형 로봇에서 모방하기 위한 노력은 다음과 같은 여러 학자들에 의해 꾸준히 계속되어 왔다. In the past, efforts to imitate human motion in a humanoid robot have been steadily continued by various scholars as follows.
Dasgupta와 Nakamura(A. Dasgupta and Y. Nakamura. Making feasible walking of humanoid robots from human motion capture data. In International Conference on Robotics and Automation, pages 1044 ~ 1049, May 1999. Detroit, Michigan)는 인간형 로봇의 보행 행태를 얻기 위해 인간 보행에 대한 캡처 데이터 를 사용하였다. 이 방법에서는 캡쳐 데이터로부터 목표 ZMP(Zero Moment Point)의 시간 궤적을 얻기 위해 퓨리에 전개식(Fourier expansion)을 사용하였다. 이를 이용하여 목표 ZMP의 궤적에 따라 지면에 대한 발의 반력을 최적화 기법을 사용하여 구한 것이다. 하지만, 이와 같은 기법은 현실적으로 발과 팔의 자유도 차이나, 행동 경계의 차이로 인하여 팔 동작 재현에 그대로 적용되는 것이 쉽지 않다. Dasgupta and Nakamura (A. Dasgupta and Y. Nakamura.Making feasible walking of humanoid robots from human motion capture data.In International Conference on Robotics and Automation, pages 1044 ~ 1049, May 1999.Detroit, Michigan) Capture data for human walking was used to obtain. In this method, Fourier expansion was used to obtain the time trace of the target ZMP (Zero Moment Point) from the capture data. Based on this, the reaction force of the foot against the ground according to the trajectory of the target ZMP was obtained using the optimization technique. However, such a technique is not easy to be applied to the reproduction of the arm motion due to the difference in the degree of freedom of the foot and the arm and the difference of the behavior boundary.
Zhao와 Huang 등(X. Zhao, Q. Huang, Z. Peng, and K. Li. Kinematics mapping and similarity evaluation of humanoid motion based on human motion capture. In International Conference on Intelligent Robots and Systems, volume 1, pages 840 ~ 845, September 28 ~ October 2 2004. Sendai, Japan)은 유사함수를 정의하고 이를 이용하여 캡처한 동작을 인간형 로봇에 적용하는 방법을 제한하였다. 유사함수는 인간과 인간형 로봇의 관절 변위의 차이를 최소화하는 것으로 정의되었다. 하지만, 여기서는 인간형 로봇의 자유도를 인간과 동일하다고 가정하여 현실성이 떨어진다는 문제점이 있었다. Zhao and Huang et al. (X. Zhao, Q. Huang, Z. Peng, and K. Li. Kinematics mapping and similarity evaluation of humanoid motion based on human motion capture.In International Conference on Intelligent Robots and Systems, volume 1, pages 840 845, September 28 ~ October 2 2004. Sendai, Japan) defined similar functions and limited the method of applying captured motions to humanoid robots. The similar function is defined to minimize the difference in joint displacement between human and humanoid robots. However, here, there is a problem that the degree of reality is assuming that the degree of freedom of the humanoid robot is the same as the human.
위와 같은 논문들은 인간의 동작을 인간형 로봇으로 전환하기 위한 여러가지 아이디어를 제공하고 있기는 하지만, 인간의 동작을 인간형 로봇에 적용시키는데 있어서, 양자 간의 차이점을 정확하게 반영하지 못한 채 단순히 모방하는 기술만을 설명하고 있어, 실제 인간의 팔 동작을 인간형 로봇이 자연스럽게 재현해내는 것은 쉽지 않다. Although these papers provide various ideas for converting human motions into humanoid robots, they only describe the techniques of applying imitations of human motions to humanoid robots without simply reflecting the differences between them. Therefore, it is not easy for a humanoid robot to reproduce the actual human arm motion naturally.
따라서, 본 발명의 목적은 인간의 동작처럼 부드럽고 유연한 동작을 인간형 로봇에서 재현할 수 있도록 하는 인간형 로봇의 인간 팔 동작 재현을 제어하는 방법을 제공하는데 있다. Accordingly, it is an object of the present invention to provide a method for controlling the reproduction of the human arm motion of a humanoid robot such that the humanoid robot can reproduce a smooth and flexible motion as a human motion.
본 발명의 다른 목적은 인간형 로봇의 크기 및 팔의 자유도(4자유도 이상)에 관계없이 섬세한 인간의 팔 동작을 재현할 수 있도록 하는 인간형 로봇의 인간 팔 동작 재현을 제어하는 방법을 제공하는데 있다. It is another object of the present invention to provide a method for controlling the reproduction of the human arm motion of the humanoid robot, which enables to reproduce the delicate human arm motion regardless of the size of the humanoid robot and the degree of freedom of the arm (more than 4 degrees of freedom). .
상술한 문제점을 해결하기 위한 본 발명의 인간형 로봇의 인간 팔 동작 재현을 제어하는 방법은 인간의 팔 동작을 캡쳐한 시각 궤적을 얻는 단계; 인간의 팔 동작과 인간형 로봇의 팔 동작 간에 차이를 최소화하는 목적함수를 상기 캡쳐한 시간 궤적의 각 시간값에 대해 계산하여 최적의 관절 변위량을 구하는 단계; 및 상기 구해진 각 시간당 최적의 관절 변위량을 이용해 인간형 로봇이 전환된 동작을 수행하도록 제어하는 단계;를 포함한다. The method for controlling the reproduction of the human arm motion of the humanoid robot of the present invention for solving the above problems comprises the steps of: obtaining a visual trajectory capturing the human arm motion; Calculating an objective function for minimizing the difference between the arm motion of the human arm and the arm motion of the humanoid robot for each time value of the captured time trajectory to obtain an optimal amount of joint displacement; And controlling the humanoid robot to perform the converted operation by using the obtained optimum amount of joint displacement per hour.
여기서, 상기 인간형 로봇의 인간 팔 동작 제현을 제어하는 방법은 상기 인간의 팔 길이와 상기 인간형 로봇의 팔 길이의 차를 고려하여 상기 인간과 인간형 로봇의 팔 작업공간의 경계를 동일하게 하는 단계;를 더 포함한다. Here, the method for controlling the human arm motion representation of the humanoid robot comprises the step of equalizing the boundary between the arm work space of the human and the humanoid robot in consideration of the difference between the human arm length and the arm length of the humanoid robot; It includes more.
여기서, 상기 최적의 관절 변위량은, 상기 인간형 로봇의 팔 관절의 최소 변위 변화량 내지 최대 변위 변화량 사이 범위와 상기 인간형 로봇의 팔 관절의 최소 변위속도 변화량 및 최대 변위속도 변화량 사이 범위에 해당하며, 상기 목적함수를 최소화시키는 값이다. Here, the optimal joint displacement amount corresponds to a range between the minimum displacement change amount and the maximum displacement change amount of the arm joint of the humanoid robot and the minimum displacement speed change amount and the maximum displacement speed change amount of the arm joint of the humanoid robot. Minimize the function.
여기서, 상기 인간형 로봇이 전환된 동작을 수행하도록 제어하는 단계는, 상 기 최적의 관절 변위량을 이용한 관절 궤도를 상기 캡쳐한 시간 궤적 시간 범위에 대해 곡선화를 수행하는 과정과, 상기 곡선화된 관절 궤적을 이용하여 각 관절의 변위와 속도 궤적을 결정하는 과정과, 상기 결정된 각 관절의 변위와 속도 궤적을 동작 제어기의 목표궤적으로 사용하여 인간형 로봇이 전환된 동작을 수행하도록 제어하는 과정을 포함한다. The controlling of the humanoid robot to perform the converted operation may include performing a curve on the captured time trajectory time range of the joint trajectory using the optimal joint displacement amount, and performing the curved joint. Determining the displacement and velocity trajectory of each joint using the trajectory, and controlling the humanoid robot to perform the switched motion using the determined displacement and velocity trajectory as the target trajectory of the motion controller. .
여기서, 상기 목적함수는, 상기 인간 팔동작 캡쳐 시 인간의 손에 부착된 복수개의 마커들과 상기 복수개의 마커들에 대응하는 인간형 로봇의 가상 점들간에 위치차를 최소화하는 첫째항과, 상기 인간의 위팔과 상기 인간형 로봇의 위팔간에 위상차를 최소화하는 둘째항과, 상기 인간의 팔과 상기 인간형 로봇의 팔의 관절값 변화량을 최소화하는 셋째항의 합으로 구성된다. Here, the objective function is a first term for minimizing a positional difference between a plurality of markers attached to a human hand and virtual points of a humanoid robot corresponding to the plurality of markers when capturing the human arm motion; The sum of the second term for minimizing the phase difference between the upper arm and the upper arm of the humanoid robot, and the third term for minimizing the amount of change in the joint value of the human arm and the arm of the humanoid robot.
이하, 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진자가 용이하게 실시할 수 있도록 상세히 설명한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings so that those skilled in the art may easily implement the present invention.
도 1은 본 발명에 따른 인간형 로봇의 인간 팔 동작 재현을 제어하는 방법의 흐름도이다.1 is a flowchart of a method for controlling the reproduction of a human arm motion of a humanoid robot according to the present invention.
우선, 인간형 로봇에서 재현되고자 하는 인간의 팔 동작을 캡쳐한 시간 궤적이 획득된다(S10). 인간의 팔 동작은 일반적으로 모션캡쳐시스템을 이용하여 시간 궤적을 얻을 수 있다. 모션캡쳐시스템은 시간 궤적을 얻고자 하는 인체에 복수개의 마커를 부착하고 각 마커의 움직임을 모니터링하여 동작에 따른 시간 궤적을 얻어내는 장치이다. First, a time trajectory for capturing a human arm motion to be reproduced in a humanoid robot is obtained (S10). Human arm motion can generally be obtained by using the motion capture system. The motion capture system is a device that attaches a plurality of markers to a human body to obtain a time trace and monitors the movement of each marker to obtain a time trace according to the motion.
다음으로, 인간과 인간형 로봇간의 팔의 작업공간 경계가 일치하도록 조절한 다(S20). 인간과 인간형 로봇간에는 팔 길이차이로 인하여 팔이 도달할 수 있는 작업공간이 서로 다르기 때문에, 상술한 바와 같이 모션캡쳐시스템을 이용하여 인간의 팔 동작을 캡쳐한 시간 궤적 데이터를 바로 인간형 로봇에게 적용한다면 유사한 동작을 재현해낼 수 없다. 이에 대하여 도 2를 참조하면서 좀 더 구체적으로 설명하기로 한다. Next, it adjusts to match the work space boundary of the arm between the human and the humanoid robot (S20). Since the working space that the arm can reach is different between the human and the humanoid robot due to the difference in arm length, if the time trajectory data capturing the motion of the human arm using the motion capture system is directly applied to the humanoid robot as described above. Similar behavior cannot be reproduced. This will be described in more detail with reference to FIG. 2.
도 2는 인간과 인간형 로봇의 팔 길이 차이를 설명하기 위한 예시도로써, 도 2a는 인간 모형도이고, 도 2b는 인간형 로봇의 모형도이다. 도 2에 도시된 바와 같이 인간과 인간형 로봇 간에는 팔 길이의 차이를 보인다. 따라서, 두 개체간에 팔 길이 비율을 이용하여 두 개체의 작업 공간의 바깥쪽 경계범위를 비슷하게 조절할 필요가 있다. 2 is an exemplary diagram for explaining the difference in arm length between a human and a humanoid robot. FIG. 2A is a human model and FIG. 2B is a model diagram of a humanoid robot. As shown in FIG. 2, there is a difference in arm length between a human and a humanoid robot. Therefore, it is necessary to similarly adjust the outer boundary of the working space of the two objects by using the arm length ratio between the two objects.
즉, 인간형 로봇의 팔 길이와 인간의 팔 길이의 비를 이용하여 로봇의 팔 길이를 인간의 팔 길이와 동일하게 조절한다. 여기서, Lhuman과 Lrobot은 각각 인간과 로봇의 팔 길이이다. 그러므로, 위 비율을 이용하여 인간형 로봇의 위팔과 아래팔의 길이는 과 로 조절된다. 이로 인해 인간형 로봇 팔의 작업 공간의 경계는 인간 팔의 작업 공간의 경계와 유사하게 조절될 수 있다. That is, the ratio of the arm length of the humanoid robot to the length of the human arm Adjust the arm length of the robot to be the same as the length of the human arm. Where L human and L robot are the arm lengths of the human and the robot, respectively. Therefore, using the above ratio, the length of the upper and lower arms of the humanoid robot is and Is adjusted. As a result, the boundary of the working space of the humanoid robot arm can be adjusted similarly to the boundary of the working space of the human arm.
하지만, 팔 길이가 조절된 후에도 인간형 로봇은 인간에 비해 적은 자유도를 갖고 아래팔과 위팔의 길이 비율도 차이를 갖기 때문에 인간의 작업공간과 정확하 게 일치하지는 않는다. 이를 해결하기 위하여 일반적인 역기구학을 이용하여 인간의 손의 방향과 위치 궤적을 이용하여 로봇에 맞는 동작으로 바꿀 수도 있다. 하지만, 이 방법에 의한 인간 팔 동작의 모방은 두 개체의 동작에 있어 상당한 차이를 만들어 낼 수 있다. 특히, 위팔과 아래팔의 길이 차이와 자유도 차이에 따라 작업공간 내에 팔꿈치나 손이 도달할 수 있는 위치와 자세 등이 달라질 수 있다. However, even after the arm length is adjusted, the humanoid robot has less freedom than the human and the difference in the ratio of the length of the lower arm to the upper arm does not exactly match the human workspace. In order to solve this problem, the general inverse kinematics can be used to change the motion of the robot using the direction and position of the human hand. However, imitation of human arm motion by this method can make a significant difference in the behavior of the two individuals. In particular, the position and posture that the elbow or hand can reach within the workspace may vary according to the difference in the length and freedom of the upper and lower arms.
팔의 작업 공간 경계를 일치시킨 후에도 발생하는 이러한 문제점을 해결할 수 있도록 본 발명에서는 목적함수를 도입하여 최적화된 동작형태로 전환하는 방법을 아래와 같이 제안하고 있다. In order to solve this problem that occurs even after matching the working space boundary of the arm, the present invention proposes a method of switching to an optimized operation form by introducing an objective function as follows.
다음으로, 목적함수를 캡쳐된 시간 궤적의 각 시간값에 대해 계산하여 최적의 관절 변위량을 획득한다(S30). Next, the objective function is calculated for each time value of the captured time trajectory to obtain an optimal joint displacement amount (S30).
전체 동작 시간 중에 i번째 시간에서의 관절값은 다음과 같은 수학식 1로 정리될 수 있다. The joint value at the i th time of the entire operation time may be summarized by Equation 1 below.
여기서, 은 전체 동작 시간 중 i번째 시간에서의 j번째 관절 값을 의미한다. 는 j번째 관절의 i-1번째 시간과 i번째 시간 사이의 관절 값 변화량이다. N은 인간형 로봇 팔의 관절 수이다. 은 이전 시간, 즉, i-1번째 시간 에 푼 최적해로써 i번째 시간에서는 알고 있는 값이다. 따라서, 을 알기 위해서는 를 계산하여야 한다. 그러므로, 최적의 관절 변위량 를 최적화 문제의 변수로 사용한다. here, Denotes the j-th joint value at the i-th time of the entire operation time. Is the amount of change in the joint value between the i-1 th time and the i th time of the j th joint. N is the number of joints of the humanoid robot arm. Is the optimal solution solved for the previous time, i-1th time, and is known at the i time. therefore, To know Should be calculated. Therefore, the optimal amount of joint displacement Is used as a variable in the optimization problem.
i번째 시간, 즉 t=ti에서 최소화하려는 목적함수는 다음 수학식 2와 같이 정의된다. The objective function to be minimized at the i th time, that is, t = t i , is defined as in Equation 2 below.
여기서, 첫째항은 인간의 손과 인간형 로봇의 손 위치 사이에 오차를 최소화하기 위한 항이고, 둘째항은 인간의 위팔과 인간형 로봇의 위팔간의 위상 차이를 최소화하기 위한 항이며, 셋째항은 상기 인간의 팔과 상기 인간형 로봇의 팔의 관절값 변화량을 최소화항이다. 상기 각 항들에서 정의하는 동작들간의 차이를 조화시키기 위하여 각 항들에는 각 항들에는 적절한 소정의 가중치 W, W10 및 W11 가 부가된다. i번째 시간에서 관절각 변화량 벡터는 로 표시된다. Here, the first term is a term for minimizing an error between the position of the human hand and the humanoid robot, the second term is a term for minimizing the phase difference between the human upper arm and the upper arm of the humanoid robot, and the third term is the term of the human Minimized amount of change in the joint value of the arm and the arm of the humanoid robot. In order to reconcile the differences between the operations defined in the respective terms, each term has a predetermined weight W, W 10 appropriate to each term. And W 11 is added. At the i time, the joint angle variation vector is Is displayed.
첫째항은 상기 인간의 손과 인간형 로봇의 손 위치 사이에 오차를 고려하기 위해서, 상기 인간의 손에 부착되는 마커들과 인간형 로봇의 가상 점들 간에 위치 차이를 최소화하는 항으로 구성된다. The first term consists of terms that minimize the positional difference between the markers attached to the human hand and the virtual points of the humanoid robot in order to consider an error between the position of the human hand and the humanoid robot.
여기서, , 로 및 는 각각 인간의 팔목, 엄지, 약지에 위치한 마커에서 측정된 궤적이고, , 및 는 인간형 로봇의 팔목, 엄지, 약지에 정의된 점의 궤적이다. 이때 정의된 각 점들은 관절값으로 표현되고, 이러한 관절값은 다시 관절 변위량 에 의해 얻어진다. here, , By And Are traces measured from markers located on the human wrist, thumb, and ring finger, respectively. , And Is the trajectory of the point defined in the wrist, thumb and ring finger of the humanoid robot. Each defined point is expressed as a joint value, and this joint value is again a joint displacement amount Obtained by
상기 첫째항을 최소화하는 경우 인간의 손 위치와 인간형 로봇의 손 위치차가 최소화되어 손동작을 유사하게 재현해낼 수 있다. 하지만, 이 경우에 있어서도 인간의 위팔과 인간형 로봇의 위팔간의 위상차에 의하여 팔꿈치 동작이 서로 달라질 가능성이 존재한다. 따라서, 이를 보완하기 위하여 둘째항이 추가되었다. When the first term is minimized, the difference in the position of the human hand and the position of the humanoid robot can be minimized to reproduce the hand motion similarly. However, even in this case, there is a possibility that the elbow movements are different from each other due to the phase difference between the upper arm of the human upper arm and the upper arm of the humanoid robot. Therefore, the second paragraph was added to compensate for this.
둘째항은 인간의 위팔과 인간형 로봇의 위팔간의 위상 차이를 최소화하는 항이다. 도 3은 인간과 인간형 로봇의 위팔의 위상 차이를 설명하기 위한 예시도로써, 도 3a는 인간 모형도이고, 도 3b는 인간형 로봇의 모형도이다.The second term is to minimize the phase difference between the human upper arm and the upper arm of the humanoid robot. 3 is an exemplary view for explaining the phase difference between the upper arm of a human and a humanoid robot, FIG. 3A is a human model, and FIG. 3B is a model diagram of a humanoid robot.
도 3을 참조하면, 인간의 위팔과 인간형 로봇의 위팔 간에는 백터 Sclbow 로 표시되는 위상차가 존재한다. Sclbow 는 도시된 바와 같이 의 끝 점과 그 점 의 으로의 수직 투영점을 연결하는 벡터로써, 이 벡터 크기의 제곱은 다음과 같이 관절 변위의 변화량 에 수학식 3으로 표현될 수 있다. Referring to FIG. 3, there is a phase difference represented by the vector S clbow between the human upper arm and the upper arm of the humanoid robot. S clbow is shown as End point of and that point of A vector that connects the vertical projection points to, the square of the magnitude of the vector is the amount of change in joint displacement as It can be represented by the equation (3).
여기서, ,이며, 과 는 시간 ti 에서 캡쳐된 인간의 팔꿈치와 어깨의 위치벡터이고, 과 는 시간 ti 에서 계산된 인간형 로봇의 팔꿈치와 어깨의 위치벡터이다. here, , Is, and Is the position vector of human elbow and shoulder captured at time t i , and Is the position vector of the elbow and shoulder of the humanoid robot calculated at time t i .
이와 같은 둘째항의 값을 최소화시킴으로써 인간의 위팔과 인간형 로봇의 위팔의 위상이 일치되도록 하여 팔꿈치 동작을 서로 일치시킬 수 있다. By minimizing the value of the second term as described above, the phases of the upper arm of the human upper arm and the upper arm of the humanoid robot can be matched to match the elbow movements.
일반적인 동작에 있어서는 위와 같은 항들로 인하여 동작이 적절하게 전환되었지만, 소수의 특이 자세에서 여전히 동작의 차이가 발생하였다. 예를 들면, 팔이 아래를 향하고 있는 자세에 있어서, 인간형 로봇의 위팔이 아래팔과 서로 반대방향으로 회전하게 되더라도 인간형 로봇의 손의 위치와 위상이 인간의 것과 일치하기 때문에, 특정 자세에 있어서 필요없이 팔이 360도 더 회전하는 등의 현상이 발생될 수 있는 것이다. 따라서, 이를 해결하기 위하여 셋째항이 추가되었다. In the general motion, the motions were properly converted due to the above terms, but the motion still occurred in a few singular positions. For example, in a posture with the arm facing down, even if the upper arm of the humanoid robot rotates in the opposite direction to the lower arm, the position and phase of the humanoid robot's hand coincide with that of the human, so that it is necessary in a particular posture. Without this, the arm can rotate 360 degrees, and so on. Therefore, the third term was added to solve this problem.
셋째항은 특이 자세에서 불필요한 동작을 막기 위하여 가장 최소의 관절각의 변위를 사용하도록 제어하는 항이다. The third term is a term that controls the use of the minimum displacement of the joint angle to prevent unnecessary movement in the singular posture.
셋째항 중 i번째 시간에서 관절각 변화량은 상술한 바와 같이 로 표시된다.As described above, the amount of change in the joint angle at the i th time of the third term is Is displayed.
도 4은 인간형 로봇의 특이 자세에서 발생하는 불필요 동작을 설명하기 위한 예시도로써, 도 4a는 본 발명의 목적함수에서 셋째항을 추가하기 전 특이 자세에서 발생하는 불필요 동작을 모니터링한 화면이고, 도 4b는 셋째항을 추가한 후 특이 자세에서 발생하는 불필요 동작 제거를 모니터링한 화면이다 . 도면을 참고하면, 도 4a에 점선으로 표시된 부분처럼 셋째항을 추가하기 전에는 동작중에 필요없는 위상값이 존재하였으나, 셋째항을 추가한 후에는 이러한 위상값이 사라져 최소의 관절각 변화로 동일한 동작을 수행할 수 있게 되었다. FIG. 4 is an exemplary diagram for describing unnecessary motions occurring in a singular posture of a humanoid robot, and FIG. 4A is a screen for monitoring unnecessary motions occurring in a singular posture before adding a third term in the objective function of the present invention. 4b is a screen that monitors the removal of unnecessary motion that occurs in a singular posture after adding the third term. Referring to the drawings, as shown by the dotted line in FIG. 4A, the unnecessary phase value existed during the operation before adding the third term, but after adding the third term, the phase value disappeared to perform the same operation with the minimum joint angle change. It can be done.
위와 같은 항들로 목적함수를 구성함으로써, 손의 위치와 위팔의 위상 차이를 최소화하면서 최소의 관절변위를 이용하여 인간의 팔 동작을 모방할 수 있게 된다. By constructing the objective function as the above terms, it is possible to mimic the human arm motion using the minimum joint displacement while minimizing the difference in the position of the hand and the upper arm.
하지만, 인간형 로봇은 자유도가 제한적이기 때문에, 로봇에 의한 인간 팔동작의 모방은 인간형 로봇의 팔 관절의 최소 변위 변화량 내지 최대 변위 변화량 사이 범위와 최소 변위속도 변화량 및 최대 변위속도 변화량 사이 범위 내에 이루어져야 한다는 제약을 받는다. However, since humanoid robots have limited degrees of freedom, the imitation of human arm motion by the robot must be within the range between the minimum and maximum displacement variation of the arm joint of the humanoid robot and between the minimum and maximum displacement velocity variations. Restricted
관절의 구동 한계각은 아래와 같이 수학식 4로 정해진다. The driving limit angle of the joint is determined by Equation 4 as follows.
여기서, 와 는 팔 관절의 최소 구동각과 최대 구동각이다. 이 수학식 4를 수학식 1에 대입하면 다음과 같이 최소 변위 변화량과 최대 변위 변화량을 나타내는 수학식 5를 얻을 수 있다. here, Wow Is the minimum and maximum driving angle of the arm joint. Substituting Equation 4 into Equation 1, Equation 5 representing the minimum displacement change amount and the maximum displacement change amount can be obtained as follows.
아래 수학식 6은 각 관절의 각속도의 한계값을 나타낸 것이다. 여기서, 이고 이다. Equation 6 below shows the limit value of the angular velocity of each joint. here, ego to be.
여기서, 과 는 각 관절의 변위 속도의 최대값과 최소값이다.here, and Is the maximum and minimum values of the displacement velocity of each joint.
ti 에서 관절의 속도는 Backward Difference Method(BDM)을 사용하면, 으로 표현할 수 있다. 이 식을 수학식 6에 대입하면, 다음과 같은 최소 관절 변위속도와 최대 관절 변위속도를 나타내는 수학식 7이 얻어진다. The velocity of the joint at t i is obtained using the Backward Difference Method (BDM), It can be expressed as Substituting this equation into Equation 6, Equation 7 representing the following minimum and maximum joint displacement speeds is obtained.
여기서, 이고, 이다. 는 인간 동작의 시간 간격이다. here, ego, to be. Is the time interval of human motion.
상기 수학식 5 및 7에 의해 시간 ti 에서의 목적함수의 최적의 관절 변위량은 제한된다. Equations 5 and 7 limit the optimal amount of joint displacement of the objective function at time t i .
따라서, 매 시간 인간의 팔 동작은 상기 수학식 5 및 7의 관절 변위량을 만족하면서, 수학식 2의 목적함수를 최소화하는 최적 관절 변화량을 구함으로써 실현된다. 이러한 최적화 문제는 Quadratic Programming Problem으로 Sequential Quadratic Programming(SQP)와 같이 잘 알려진 알고리즘을 이용하여 풀 수 있다. Therefore, the human arm motion every time is realized by obtaining the optimum joint variation amount that minimizes the objective function of Equation 2 while satisfying the joint displacement amounts of Equations 5 and 7. This optimization problem is a quadratic programming problem that can be solved using well-known algorithms such as sequential quadratic programming (SQP).
다음으로, 목적함수를 계산하여 각 시간별로 얻어진 최적의 관절 변위량을 3차 스플라인(cubic spline)을 이용한 보간법을 이용하여 관절 궤도의 곡선화를 수행한다(S40). 이때에는 캡쳐받은 시간 궤적의 범위에 대해 곡선화를 수행하여 관절의 궤적을 형성하는 것이다. Next, the curve of the joint trajectory is calculated by using an interpolation method using cubic splines for the optimal amount of joint displacement obtained for each time by calculating the objective function (S40). At this time, the trajectory of the joint is formed by performing a curve on the captured time trajectory.
다음으로, 각 시간에서 관절 위치와 속도 궤적을 결정한다(S50). 관절 위치와 속도 궤적은 곡선화된 관절 궤적과 1차 미분한 궤적을 이용하여 얻어낼 수 있다. Next, the joint position and the velocity trajectory are determined at each time (S50). Joint position and velocity trajectories can be obtained using curved joint trajectories and first-order differential trajectories.
마지막으로, 인간형 로봇이 전환된 동작을 수행하도록 제어한다(S60). 이때에는 결정된 각 관절의 변위와 속도 궤적을 비례-적분-미분(Proportional-Integral-Derivative)와 같은 동작 제어기의 목표궤적으로 사용하여 인간형 로봇이 전환된 동작을 수행하도록 제어하는 것이다. Finally, the humanoid robot controls to perform the switched operation (S60). At this time, the displacement and velocity trajectory of each joint is used as the target trajectory of the motion controller such as proportional-integral-derivative to control the humanoid robot to perform the changed motion.
이상의 실시예들은 본 발명을 설명하기 위한 것으로, 본 발명의 범위는 실시예들에 한정되지 아니하며, 첨부된 청구 범위에 의거하여 정의되는 본 발명의 범주 내에서 당업자들에 의하여 변형 또는 수정될 수 있다. The above embodiments are only for explaining the present invention, and the scope of the present invention is not limited to the embodiments, and may be modified or modified by those skilled in the art within the scope of the present invention defined by the appended claims. .
위와 같이 본 발명의 인간형 로봇의 인간 팔 동작 재현을 제어하는 방법에 따르면, 인간의 팔 동작을 인간형 로봇이 재현 가능한 동작으로 전환시켜, 인간의 동작처럼 부드럽고 유연한 동작을 인간형 로봇에서 재현할 수 있다. According to the method for controlling the reproduction of the human arm motion of the humanoid robot of the present invention as described above, by converting the human arm motion into a reproducible motion of the humanoid robot, the humanoid robot can reproduce the smooth and flexible motion as the human motion.
특히, 인간형 로봇의 팔 관절의 변위 변화량과 변위속도 변화량을 고려하여 최적화된 동작을 얻어냄으로써, 인간형 로봇의 크기 및 팔의 자유도(4자유도 이상)에 관계없이 섬세한 인간의 팔 동작을 재현할 수 있다. In particular, by obtaining the optimized motion in consideration of the displacement variation and displacement velocity of the arm joint of the humanoid robot, it is possible to reproduce the delicate human arm movement regardless of the size of the humanoid robot and the degree of freedom of the arm (more than 4 degrees of freedom). Can be.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060098156A KR100818059B1 (en) | 2006-10-09 | 2006-10-09 | Method for controlling human arm motion reproduction of humanoid robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060098156A KR100818059B1 (en) | 2006-10-09 | 2006-10-09 | Method for controlling human arm motion reproduction of humanoid robot |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100818059B1 true KR100818059B1 (en) | 2008-03-31 |
Family
ID=39412133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060098156A KR100818059B1 (en) | 2006-10-09 | 2006-10-09 | Method for controlling human arm motion reproduction of humanoid robot |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100818059B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110047842A (en) * | 2009-10-30 | 2011-05-09 | 삼성전자주식회사 | Robot and control method thereof |
CN102298649A (en) * | 2011-10-09 | 2011-12-28 | 南京大学 | Space trajectory retrieval method of body movement data |
KR101760883B1 (en) * | 2010-09-09 | 2017-08-04 | 삼성전자주식회사 | Robot and control method thereof |
-
2006
- 2006-10-09 KR KR1020060098156A patent/KR100818059B1/en not_active IP Right Cessation
Non-Patent Citations (2)
Title |
---|
Ales Ude et al., Programming full-body movements for humanoid robots by observation, Robotics and Autonomous Systems, Vol. 47, No. 2-3, June 2004, pp 93-108* |
강진구, 이관형, 가격 함수 및 비젼 정보를 이용한 이동매니퓰레이터의 작업 수행, 한국컴퓨터정보학회논문지, 2005, 10(6,38), pp.345-354 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110047842A (en) * | 2009-10-30 | 2011-05-09 | 삼성전자주식회사 | Robot and control method thereof |
KR101691940B1 (en) * | 2009-10-30 | 2017-01-02 | 삼성전자주식회사 | Robot and control method thereof |
KR101760883B1 (en) * | 2010-09-09 | 2017-08-04 | 삼성전자주식회사 | Robot and control method thereof |
CN102298649A (en) * | 2011-10-09 | 2011-12-28 | 南京大学 | Space trajectory retrieval method of body movement data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hannan et al. | Kinematics and the implementation of an elephant's trunk manipulator and other continuum style robots | |
Goza et al. | Telepresence control of the NASA/DARPA robonaut on a mobility platform | |
CN108241339A (en) | The movement solution of apery mechanical arm and configuration control method | |
CN106695797A (en) | Compliance control method and system based on collaborative operation of double-arm robot | |
JP7324932B2 (en) | dynamic planning controller | |
JPH09109072A (en) | Control method for redundant manipulator | |
KR20110041950A (en) | Teaching and playback method using redundancy resolution control for manipulator | |
WO2007076118A2 (en) | Reconstruction, retargetting, tracking, and estimation of motion for articulated systems | |
Naceri et al. | Towards a virtual reality interface for remote robotic teleoperation | |
Sun et al. | Single master bimanual teleoperation system with efficient regulation | |
Salvietti et al. | Multicontact bilateral telemanipulation with kinematic asymmetries | |
Nemec et al. | A virtual mechanism approach for exploiting functional redundancy in finishing operations | |
KR100818059B1 (en) | Method for controlling human arm motion reproduction of humanoid robot | |
Bergamasco et al. | Exoskeletons as man-machine interface systems for teleoperation and interaction in virtual environments | |
Aleotti et al. | Position teaching of a robot arm by demonstration with a wearable input device | |
Rosado et al. | Reproduction of human arm movements using Kinect-based motion capture data | |
Liu et al. | Multi-fingered tactile servoing for grasping adjustment under partial observation | |
Koeppe et al. | Learning compliant motions by task-demonstration in virtual environments | |
JP2003266347A (en) | Motion editing device for leg type moving robot and motion editing method | |
Gienger et al. | Imitating object movement skills with robots—A task-level approach exploiting generalization and invariance | |
Sarakoglou et al. | Integration of a tactile display in teleoperation of a soft robotic finger using model based tactile feedback | |
Stanczyk et al. | Development of a high-performance haptic telemanipulation system with dissimilar kinematics | |
Hwang et al. | Human interface, automatic planning, and control of a humanoid robot | |
Leininger et al. | Pole placement self-tuning control of manipulators | |
Pradhan | Design and Development of a Multi-Control Gesture-Recognition based Robotic Arm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120228 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20130304 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140924 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |