WO2018169210A1 - 모션 처리 시스템 - Google Patents

모션 처리 시스템 Download PDF

Info

Publication number
WO2018169210A1
WO2018169210A1 PCT/KR2018/001635 KR2018001635W WO2018169210A1 WO 2018169210 A1 WO2018169210 A1 WO 2018169210A1 KR 2018001635 W KR2018001635 W KR 2018001635W WO 2018169210 A1 WO2018169210 A1 WO 2018169210A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion
nurbs
modeling
unit
equation
Prior art date
Application number
PCT/KR2018/001635
Other languages
English (en)
French (fr)
Inventor
백대균
양승한
Original Assignee
경북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020170078345A external-priority patent/KR101896845B1/ko
Application filed by 경북대학교 산학협력단 filed Critical 경북대학교 산학협력단
Publication of WO2018169210A1 publication Critical patent/WO2018169210A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments

Definitions

  • the present invention relates to a motion processing system, and more particularly, to a motion processing system for measuring a motion of an object and modeling the measured data as a NURBS equation or a NURBS curve.
  • the motion of the human body is measured by a goniometer (Goniometer), a motion capture system (motion capture system), etc. are widely used in the field of ergonomics and control.
  • a goniometer Noniometer
  • motion capture system motion capture system
  • After measuring the motion of the human body is mathematically modeled to perform a variety of analysis, and is also used for the control of the robot.
  • the most widely used method is to model and use data measured by a spline curve.
  • the robot controlled by the motion of the human body is a wearable robot and a lot of rehabilitation robots and augmented robots are also used. Also, industrial robots are controlled by modeling human motion. Specifically, a control method used in many rehabilitation robots is a method of controlling the robot according to the motion path of the human body to give a command, and a method commonly used in augmented robots grasps the intention of the human body based on a sensor signal and inputs a path previously input This is how to give a control command.
  • An object according to an embodiment is to provide a motion processing system capable of modeling a motion of an object with a NURBS equation or a NURBS curve and generating a motion using the modeled NURBS equation.
  • An object according to an embodiment may be used by varying the modeled result by adjusting the adjustment point or weight in the modeled NURBS equation according to the characteristics and requirements of the object, generating a control signal for controlling the movement of the object To provide a motion processing system that can be.
  • An object according to an embodiment is to provide a motion processing system in which a plurality of NURBS curves representing a motion of an object can express a plurality of motions over time by sharing the same time axis.
  • An object of an embodiment is to provide a motion processing system capable of precisely controlling a motion of an object by interpolating a time axis at a predetermined interval (sampling time) in a plurality of free curves.
  • An object according to an embodiment is to model the speed or torque for the motion based on the data on the joint motion measured by the motion measuring unit in the NURBS equation or NURBS curve, to control the speed or torque during the motion of the object, NURBS curves representing the position of motion and NURBS curves representing the velocity or torque for joint motion provide a motion processing system that shares the same time axis.
  • a motion processing system includes: a motion measuring unit measuring a motion of an object; A motion modeling unit for modeling the motion with a Non-Uniform Rational B-Splines (NURBS) formula based on data about the motion measured by the motion measuring unit; And a motion generation unit configured to regenerate the motion of the object by adjusting the NURBS equation modeled by the motion modeling unit, wherein the NURBS curve is represented by the NURBS equation, and the plurality of NURBS curves have the same time axis. You can share them to represent different motions over time.
  • NURBS Non-Uniform Rational B-Splines
  • the motion modeling unit includes one NURBS formula, it is possible to model different motions through the one NURBS formula.
  • the motion measuring unit a plurality of motion measuring instruments for measuring different motions of the object
  • the motion modeling unit includes a plurality of NURBS formula, each NURBS formula and each motion measuring instrument You can work together to model different motions.
  • P (u) is a position vector at an arbitrary value u
  • Ti is an adjustment point for indicating the time of motion
  • Yi and Zi are adjustment points for representing different motions of the object
  • w i is a weight
  • the motion generation unit and adjusts the adjustment point or weight in the NURBS equation, interpolating the plurality of NURBS curves so that the data interval on the time axis of the plurality of NURBS curves have the same value as the sampling time (interpolation) )can do.
  • the motion generation unit calculates the parameter increment from the plurality of NURBS curves to update the parameter for each sampling, and input the parameter to the NURBS equation to input the position vector (P (u)) Can be calculated.
  • the parameter increment is calculated by the following equation,
  • Motion processing system for measuring the motion or joint motion of the object; A first motion modeling unit modeling a position of the motion by a NURBS equation based on data about the motion measured by the motion measuring unit; And a second motion modeling unit for modeling a torque or a velocity for the motion with a NURBS equation based on the data on the joint motion measured by the motion measuring unit.
  • the first motion modeling unit and the second motion The modeling unit may include a function for the same parameter and share the same time axis to represent the motion or torque of the object.
  • the second motion modeling unit According to one side, the second motion modeling unit,
  • the second motion modeling unit According to one side, the second motion modeling unit,
  • V j is the velocity
  • vt (uj) is the time base
  • vy (u j ) is the velocity for the first motion
  • vz (u j ) is the velocity for the second motion
  • a motion of an object may be modeled using a NURBS equation or a NURBS curve, and a motion may be generated using the modeled NURBS equation.
  • the modeled result may be variously changed and used by adjusting an adjustment point or weight in a modeled NURBS equation according to the characteristics and requirements of the object, and for controlling the motion of the object.
  • a control signal can be generated.
  • a plurality of NURBS curves representing a motion of an object may express the plurality of motions according to time by sharing the same time axis.
  • the motion of an object may be precisely controlled by interpolating a time axis at a predetermined interval (sampling time) in a plurality of NURBS curves.
  • a speed or torque of a motion is modeled using a NURBS equation or a NURBS curve based on data about joint motion measured by a motion measuring unit to control the speed or torque of the object during motion.
  • the NURBS curves representing the position of motion and the NURBS curves representing the velocity or torque for joint motion can share the same time axis.
  • FIG. 1 illustrates a configuration of a motion processing system according to an embodiment.
  • FIG. 3 illustrates a configuration of controlling a driver using a plurality of NURBS equations.
  • FIG. 4 illustrates hip data measured by a motion measuring unit when the human body walks.
  • FIG. 5 illustrates a result of modeling the data measured in FIG. 4 as a free curve.
  • FIG. 6 illustrates a result of generating a human body motion in several cycles using the results modeled in FIG. 5.
  • FIG. 7 illustrates a result of generating hip joint motion by varying an adjustment point using the results modeled in FIG. 5.
  • Figure 10 shows the results of the same sampling time in Nongs interpolation.
  • FIG. 11 illustrates a configuration of a motion processing system according to another embodiment.
  • FIG. 13 shows the result of calculating the velocity of hip motion with a velocity modeling equation when interpolating the position of a curve.
  • first, second, A, B, (a), and (b) may be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms. If a component is described as being “connected”, “coupled” or “connected” to another component, that component may be directly connected or connected to that other component, but between components It will be understood that may be “connected”, “coupled” or “connected”.
  • FIG. 1 illustrates a configuration of a motion processing system according to an embodiment
  • FIG. 2 schematically illustrates a process of motion processing
  • FIG. 3 illustrates a configuration of controlling a driver using a plurality of NURBS equations
  • FIG. 4 shows hip joint data measured by the motion measuring unit when the human body walks
  • FIG. 5 shows the results of modeling the data measured in FIG. 4 in a free curve
  • FIG. 6 shows the results modeled in FIG.
  • FIG. 7 illustrates the results of generating a hip joint motion by varying an adjustment point using the results modeled in FIG. 5, and
  • FIG. 8 illustrates the same parameters.
  • 9 shows the sampling time
  • FIG. 9 shows the result of interpolating the free curve with the same sampling time
  • FIG. 10 shows the result of the same sampling time in NORFF interpolation.
  • the motion processing system 10 may include a motion measuring unit 100, a motion modeling unit 110, and a motion generating unit 120.
  • the motion measuring unit 100 is for measuring a motion (or motion) of an object.
  • the motion measuring unit 100 measures a position of a motion in conjunction with a sensor attached to a body part for which the human body is to be modeled and the sensor. It may include a motion meter.
  • the motion measuring unit 100 may measure and store the position of the sensor according to time, and thereby data about the motion may be generated.
  • the motion modeling unit 110 may model the motion with a NURBS equation based on data about the motion measured by the motion measuring unit 100.
  • the motion modeling unit 110 may include one Non-Uniform Rational B-Splines (NURBS) equation, and the motion of the object may be modeled as a NURBS equation or a NURBS free curve.
  • NURBS Non-Uniform Rational B-Splines
  • the NURBS formula may include the following.
  • N i, k (u) is defined as the basis function as follows.
  • P (u) is also a position vector at any value u
  • Ti is an adjustment point for indicating the time of motion
  • Yi and Zi are adjustment points for representing different motions of the object.
  • w i is a weight
  • different motions of the object may be represented through one NURBS equation
  • different motions may be modeled into a plurality of free curves, that is, a plurality of NURBS curves, through one NURBS equation.
  • one axis of the NURBS curve modeled by the motion modeling unit 110 is a time axis
  • the other two axes for example, the second axis and the third axis, are arranged in different motion positions.
  • the two free curves can represent different motions over time by sharing the same time axis.
  • the motion generator 120 may regenerate the motion of the object by adjusting a plurality of NURBS equations modeled by the motion modeling unit 110.
  • the motion generator 120 may remodel the time and the motion position with respect to the motion of the object by adjusting the adjustment point or the weight in the NURBS equation.
  • a plurality of free curves modeled by the motion modeling unit 110 may be variously represented by variously adjusting adjustment points or weights with respect to characteristics and requirements of the human body.
  • NURBS curves must be interpolated when adjusting adjustment points or weights in NURBS equations.
  • the parameter increment of the NURBS curve ( ) To calculate the parameters , And the parameters ( ) Can be entered into the NURBS formula to calculate the position of the NURBS curve. For example, when simply indicating the motion position of an object, ) Can be calculated as a constant.
  • the incremental value of the NURBS curve's time axis is interpolated at the same time interval (sampling time). It is desirable to control the robot by calculating
  • the motion may be processed by the motion processing system 10 according to one embodiment, including the configuration described above.
  • the motion is measured in the motion measuring unit 100.
  • the motion modeling unit 110 models the motion of the object with a NURBS equation based on the data about the motion measured by the motion measuring unit 100.
  • the motion modeling unit 110 models the motion of the object by the following NURBS equation.
  • the motion generator 120 adjusts the adjustment point Bi (u) or the weight w i in the NURBS equation, and accordingly interpolation algorism Apply to regenerate the motion of the object.
  • the motion of the plurality of objects may be modeled by a plurality of NURBS equations, and the motion of the object may be controlled using the modeled plurality of NURBS equations.
  • the motion measuring unit 100 may include a plurality of motion measuring instruments measuring different motions of the object.
  • the sensor may be attached to different parts of the body part of the subject.
  • the motion modeling unit 110 may include a plurality of NURBS formulas, and each NURBS formula may be linked to each motion meter individually to model different motions.
  • the motion measuring unit 100 measures the first motion, the modeling NURBS for the first motion in the motion modeling unit 110 based on the data for the first motion, the motion measuring unit 100 ) Measures the second motion, models a NURBS equation for the second motion in the motion modeling unit 110 based on the data for the second motion, measures the third motion in the motion measuring unit 100,
  • the NURBS equation for the third motion may be modeled by the motion modeling unit 110 based on the data for the third motion.
  • the motion generator 120 regenerates the motion of the object by individually adjusting or interpolating a plurality of NURBS equations modeled by the motion modeling unit 100, and transmitting a motion control signal to a motion driver (or actuator). It may be used to control the motion of the object.
  • the rotation angle of the hip joint may be measured by the motion measuring unit 100 when the object, for example, the human body walks.
  • the first axis may be the time axis
  • the second axis may be the rotation angle of the hip joint
  • the motion position of the human body may be expressed according to time.
  • the rotation angle of the hip joint is measured at a sampling time of 0.01 seconds.
  • the stride length is changed, the hip joint movement is changed over time, and the number of walking cycles is determined.
  • the data of FIG. 4 may be modeled using the NURBS equation.
  • the first axis as the time axis in the NURBS curve, the second axis and the third axis can be modeled as the human body motion position to represent two human body motion position by one NURBS equation.
  • a NURBS curve modeled by the motion modeling unit 110 may be expressed based on the rotation angle of the hip joint measured by the motion measuring unit 100, and the weight may be expressed in the NURBS equation in the motion generation unit 120. Is 1 and the control point is changed to recreate the motion.
  • the motion of the hip joint may be reproduced more precisely by adjusting the adjustment point or the weight of the NURBS curve modeled by the motion modeling unit 110.
  • the time axis of FIG. 5 may not appear at the same time interval (sampling time).
  • the motion of the hip joint may be reproduced more precisely by adjusting the adjustment point or the weight of the NURBS curve modeled by the motion modeling unit 110.
  • the motion of the human body for example, the rotation angle of the hip joint, may be reproduced by several cycles using the NURBS curve modeled by the motion modeling unit 110.
  • the hip joint motion may be variously reproduced by changing the control point vector by the motion generator 120 using the NURBS curve modeled by the motion modeling unit 110.
  • the motion generation unit 120 applies different adjustment point vectors to one NURBS equation, or the motion modeling unit 110.
  • the motion generation unit 120 may apply different control point vectors to the plurality of NURBS equations.
  • the sampling time ( ) always have a constant value You must find In order to simultaneously control all motions of the human body modeled by the motion modeling unit 110, the parameters must be found such that the sampling time is the same in each NURBS equation.
  • An interpolation algorithm of one NURBS curve may be applied to another NURBS equation on the same principle, and will be described below with one NURBS equation.
  • the data interval on the time axis of the NURBS curve is the sampling time ( Parameter increment in the NURBS curve to match ), So that every sampling , Parameter You can calculate the position of the NURBS curve at every sampling by entering into the NURBS equation.
  • FIG. 9 illustrates a motion generated by adjusting weights and adjustment point data of a NURBS equation modeling a hip joint rotation angle and interpolating a sampling time of 0.004 seconds.
  • a motion processing system has been described above, and a motion processing system according to another exemplary embodiment will be described below.
  • FIG. 11 illustrates a configuration of a motion processing system according to another embodiment
  • FIG. 12 illustrates a joint trajectory and an original control speed
  • FIG. 13 illustrates a joint trajectory when controlled by an equation modeled with respect to curvature of hip joint motion
  • FIG. 14 shows the result of calculating the torque of the hip joint motion with a formula modeled in relation to the curvature of the hip joint motion
  • FIG. 15 shows the result of calculating the torque of the hip joint motion as a function of time. do.
  • the motion processing system 20 may include a motion measuring unit 200 that measures a motion position or joint motion of an object, and data about the motion position measured by the motion measuring unit 200. Based on the first motion modeling unit 210 to model the position of the motion by the NURBS equation, the motion or torque for the motion based on the data on the joint motion measured by the motion measuring unit 210 NURBS equation For controlling the motion position or joint motion of the object by adjusting the second motion modeling unit 220, and the NURBS equation modeled by the first motion modeling unit 210 or the second motion modeling unit 220 It may include a motion generator 230 for generating a signal.
  • the motion measuring unit 200, the first motion modeling unit 210, and the motion generating unit 230 may include the motion measuring unit 100, the motion modeling unit 110, and the motion processing system 10 of the motion processing system 10 according to an exemplary embodiment. Detailed descriptions of the components corresponding to the motion generator 120 will be omitted.
  • the motion measuring unit 200 may include a first motion measuring unit measuring the motion position of the object and a second motion measuring unit measuring the joint motion of the object.
  • the motion generator 230 may adjust the NURBS equation modeled by the first motion modeler 210 to generate a signal for controlling a motion position of the object.
  • the second motion generator may be configured to adjust a NURBS equation modeled at 220 to generate a signal for controlling joint motion of the object.
  • the torque or the speed for the motion may be modeled using the NURBS equation, similar to the motion position.
  • the torque may be calculated at each sampling time according to a function of the path section and the curve of the joint motion input through the motion measuring unit 200. have.
  • the second motion modeling unit 220 may include a formula for expressing the torque and the speed of the joint.
  • V j velocity
  • vt (u j ) is the time base
  • vy (u j ) is the velocity for the first motion
  • vz (u j ) is the velocity for the second motion
  • the first motion modeling unit 210 and the second motion modeling unit 220 may include a function for the same parameter and represent the motion or joint motion of the object by sharing the same time axis.
  • the function of time at the speed of the hip joint is set to 1, and the speed of the hip joint may be modeled as follows.
  • FIG. 12 shows the joint trajectory and the original control speed
  • FIG. 13 shows the joint trajectory and the control speed when controlled by the above-described equation.
  • hip joint torque can be modeled by the following equations related to hip joint motion.
  • the first motion modeling unit 210 and the second motion modeling unit 220 may separately express the NURBS curve for the position of the hip joint over time and the NURBS curve for the torque over time.
  • a plurality of NURBS curves share the time axis, and hip position and torque can be represented in both axes.
  • the NURBS curve modeled by the second motion modeling unit 220 in the motion generator 230 may also be interpolated so that the data interval on the time axis has the same value as the sampling time. It is natural that an algorithm may be applied and weights or adjustment points may be adjusted in a plurality of NURBS equations modeled by the second motion modeling unit 220.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Feedback Control In General (AREA)

Abstract

일 실시예에 따른 모션 처리 시스템은, 대상체의 모션을 측정하는 모션 측정부; 상기 모션 측정부에서 측정된 모션에 대한 데이터에 기초하여 상기 모션을 NURBS(Non-Uniform Rational B-Splines) 수식으로 모델링하는 모션 모델링부; 및 상기 모션 모델링부에서 모델링된 NURBS 수식을 조정하여 상기 대상체의 모션을 재생성하는 모션 생성부;를 포함하고, 상기 NURBS 수식에 의해 복수 개의 NURBS 곡선이 표현되고, 상기 복수 개의 NURBS 곡선은 동일한 시간 축을 공유하여 시간에 따른 서로 다른 모션을 나타낼 수 있다.

Description

모션 처리 시스템
본 발명은 모션 처리 시스템에 관한 것으로서, 보다 구체적으로는 대상체의 모션을 측정하고 측정된 데이터를 NURBS 수식 또는 NURBS 곡선으로 모델링하는 모션 처리 시스템에 관한 것이다.
일반적으로 인체의 모션을 고니오미터(Goniometer), 모션캡쳐 시스템(motion capture system) 등으로 측정하여 인체공학 및 제어분야에 다양하게 사용되고 있다. 예를 들어, 인체의 모션을 측정한 후 수학적으로 모델링하여 다양한 해석을 수행하고, 또한 로봇의 제어에 활용되고 있다.
그 중에 가장 많이 사용되고 있는 방법은 스플라인(Spline) 곡선으로 측정된 데이터를 모델링하여 사용하는 것이다.
인체의 모션으로 제어되는 로봇은 착용로봇으로 재활로봇과 증강로봇이 많이 사용되고 있고, 또한 산업용 로봇에서도 사람의 모션을 모델링하여 제어하고 있다. 구체적으로, 재활로봇에 많이 사용되는 제어방법은 명령을 내려주는 인체의 모션 경로대로 로봇을 제어하는 방법이고 증강로봇에서 많이 사용하는 방법은 센서 신호를 기준으로 인체의 의도를 파악하여 미리 입력된 경로대로 제어 명령을 주는 방법이다.
그러나 이러한 방법에 사용되는 인체의 모션 모델링에 측정 노이즈가 있으면 정확한 모델링이 어렵고, 또한 모델링된 스플라인 곡선을 다양하게 변화시켜 목적에 맞게 사용하기 어렵다.
일 실시예에 따른 목적은 대상체의 모션을 NURBS(넙스) 수식 또는 NURBS 곡선으로 모델링하고, 모델링된 NURBS 수식을 이용하여 모션을 생성할 수 있는 모션 처리 시스템을 제공하는 것이다.
일 실시예에 따른 목적은 대상체의 특성 및 요구조건에 따라서 모델링된 NURBS 수식에서 조정점 또는 가중치를 조정함으로써 모델링된 결과를 다양하게 변화시켜 활용할 수 있고, 대상체의 운동을 제어하기 위한 제어 신호를 발생시킬 수 있는 모션 처리 시스템을 제공하는 것이다.
일 실시예에 따른 목적은 대상체의 모션을 나타내는 복수 개의 NURBS 곡선이 동일한 시간 축을 공유하여 복수 개의 모션을 시간에 따라 표현할 수 있는 모션 처리 시스템을 제공하는 것이다.
일 실시예에 따른 목적은 복수 개의 자유곡선에서 시간 축을 일정한 간격(샘플링 시간)으로 보간(interpolation)하여 대상체의 모션을 정밀하게 제어할 수 있는 모션 처리 시스템을 제공하는 것이다.
일 실시예에 따른 목적은 모션 측정부에서 측정된 관절 운동에 대한 데이터에 기초하여 모션에 대한 속도 또는 토크를 NURBS 수식 또는 NURBS 곡선으로 모델링하여, 대상체의 모션 중 속도 또는 토크를 제어할 수 있고, 모션의 위치를 나타내는 NURBS 곡선과 관절 운동에 대한 속도 또는 토크를 나타내는 NURBS 곡선은 동일한 시간 축을 공유하는 모션 처리 시스템을 제공하는 것이다.
상기 목적을 달성하기 위한 일 실시예에 따른 모션 처리 시스템은, 대상체의 모션을 측정하는 모션 측정부; 상기 모션 측정부에서 측정된 모션에 대한 데이터에 기초하여 상기 모션을 NURBS(Non-Uniform Rational B-Splines) 수식으로 모델링하는 모션 모델링부; 및 상기 모션 모델링부에서 모델링된 NURBS 수식을 조정하여 상기 대상체의 모션을 재생성하는 모션 생성부;를 포함하고, 상기 NURBS 수식에 의해 복수 개의 NURBS 곡선이 표현되고, 상기 복수 개의 NURBS 곡선은 동일한 시간 축을 공유하여 시간에 따른 서로 다른 모션을 나타낼 수 있다.
일 측에 의하면, 상기 모션 모델링부는 하나의 NURBS 수식을 포함하고, 상기 하나의 NURBS 수식을 통해 서로 다른 모션을 모델링할 수 있다.
일 측에 의하면, 상기 모션 측정부는, 상기 대상체의 서로 다른 모션을 측정하는 복수 개의 모션 측정기;를 포함하고, 상기 모션 모델링부는 복수 개의 NURBS 수식을 포함하며, 각각의 NURBS 수식은 각각의 모션 측정기와 개별적으로 연동되어 서로 다른 모션을 모델링할 수 있다.
일 측에 의하면, 상기 NURBS 수식은,
Figure PCTKR2018001635-appb-img-000001
Figure PCTKR2018001635-appb-img-000002
을 포함하고,
이때, P(u)는 임의의 값(u)에서 위치 벡터이고,
B i(u)는 조정점 벡터이고,
Ti는 모션의 시간을 나타내기 위한 조정점이고,
Yi, Zi는 상기 대상체의 서로 다른 모션을 나타내기 위한 조정점이고,
w i 는 가중치이다.
일 측에 의하면, 상기 모션 생성부는, 상기 NURBS 수식에서 조정점 또는 가중치를 조정하고, 상기 복수 개의 NURBS 곡선의 시간 축에서 데이터 간격이 샘플링 시간과 동일한 값을 갖도록 상기 복수 개의 NURBS 곡선을 보간(interpolation)할 수 있다.
일 측에 의하면, 상기 모션 생성부는, 상기 복수 개의 NURBS 곡선에서 매개변수 증분치를 계산하여 매 샘플링마다 매개변수를 업데이트하고, 상기 매개변수를 상기 NURBS 수식에 입력하여 위치 벡터(P(u))를 산출할 수 있다.
일 측에 의하면, 상기 매개변수 증분치는 다음의 식에 의해 계산되고,
Figure PCTKR2018001635-appb-img-000003
이때,
Figure PCTKR2018001635-appb-img-000004
는 매개변수 증분치이고,
Figure PCTKR2018001635-appb-img-000005
는 샘플링 시간이고,
Figure PCTKR2018001635-appb-img-000006
는 이전 매개변수 증분치이고,
Figure PCTKR2018001635-appb-img-000007
는 이전 시간 데이터 간격이다.
상기 목적을 달성하기 위한 일 실시예에 따른 모션 처리 시스템은, 대상체의 모션 또는 관절 운동을 측정하는 모션 측정부; 상기 모션 측정부에서 측정된 모션에 대한 데이터에 기초하여 상기 모션의 위치를 NURBS 수식으로 모델링하는 제1 모션 모델링부; 및 상기 모션 측정부에서 측정된 관절 운동에 대한 데이터에 기초하여 상기 모션에 대한 토크 또는 속도를 NURBS 수식으로 모델링하는 제2 모션 모델링부;를 포함하고, 상기 제1 모션 모델링부 및 상기 제2 모션 모델링부는 동일한 매개변수에 대한 함수를 포함하고, 동일한 시간 축을 공유하여 상기 대상체의 모션 또는 토크를 나타낼 수 있다.
일 측에 의하면, 상기 제2 모션 모델링부는,
Figure PCTKR2018001635-appb-img-000008
를 포함하고,
이때, Q j는 토크이고,
qt(u j)는 시간 축이고,
qy(u j)는 제1 모션에 대한 토크이고,
qz(u j)는 제2 모션에 대한 토크이고,
Figure PCTKR2018001635-appb-img-000009
는 상기 제1 모션 모델링부에서 모델링한 NURBS 수식과 동일한 매개변수 u j에 대하여 토크를 모델링한 함수이고,
Figure PCTKR2018001635-appb-img-000010
는 u j에 대한 시간 함수이다.
일 측에 의하면, 상기 제2 모션 모델링부는,
Figure PCTKR2018001635-appb-img-000011
를 포함하고,
이때, V j는 속도이고,
vt(uj)는 시간 축이고,
vy(u j)는 제1 모션에 대한 속도이고,
vz(u j)는 제2 모션에 대한 속도이고,
Figure PCTKR2018001635-appb-img-000012
는 상기 제1 모션 모델링부에서 모델링한 NURBS 수식과 동일한 매개변수 u j에 대하여 속도를 모델링한 함수이고,
Figure PCTKR2018001635-appb-img-000013
는 u j에 대한 시간 함수이다.
일 실시예에 따른 모션 처리 시스템에 의하면, 대상체의 모션을 NURBS 수식 또는 NURBS 곡선으로 모델링하고, 모델링된 NURBS 수식을 이용하여 모션을 생성할 수 있다.
일 실시예에 따른 모션 처리 시스템에 의하면, 대상체의 특성 및 요구조건에 따라서 모델링된 NURBS 수식에서 조정점 또는 가중치를 조정함으로써 모델링된 결과를 다양하게 변화시켜 활용할 수 있고, 대상체의 운동을 제어하기 위한 제어 신호를 발생시킬 수 있다.
일 실시예에 따른 모션 처리 시스템에 의하면, 대상체의 모션을 나타내는 복수 개의 NURBS 곡선이 동일한 시간 축을 공유하여 복수 개의 모션을 시간에 따라 표현할 수 있다.
일 실시예에 따른 모션 처리 시스템에 의하면, 복수 개의 NURBS 곡선에서 시간 축을 일정한 간격(샘플링 시간)으로 보간(interpolation)하여 대상체의 모션을 정밀하게 제어할 수 있다.
일 실시예에 따른 모션 처리 시스템에 의하면, 모션 측정부에서 측정된 관절 운동에 대한 데이터에 기초하여 모션에 대한 속도 또는 토크를 NURBS 수식 또는 NURBS 곡선으로 모델링하여, 대상체의 모션 중 속도 또는 토크를 제어할 수 있고, 모션의 위치를 나타내는 NURBS 곡선과 관절 운동에 대한 속도 또는 토크를 나타내는 NURBS 곡선은 동일한 시간 축을 공유할 수 있다.
도 1은 일 실시예에 따른 모션 처리 시스템의 구성을 도시한다.
도 2는 모션 처리되는 과정을 개략적으로 도시한다.
도 3은 복수 개의 NURBS 수식을 이용하여 구동기를 제어하는 구성을 도시한다.
도 4는 인체가 도보할 때 모션 측정부에 의해 측정된 고관절 데이터를 도시한다.
도 5는 도 4에서 측정된 데이터가 자유곡선으로 모델링된 결과를 도시한다.
도 6은 도 5에서 모델링된 결과를 이용하여 인체의 모션을 여러 사이클로 생성한 결과를 도시한다.
도 7은 도 5에서 모델링된 결과를 이용하여 조정점을 변화시켜 모션을 고관절 모션을 생성한 결과를 도시한다.
도 8은 동일한 매개변수일 때 샘플링 시간을 나타낸다.
도 9는 동일한 샘플링 시간으로 자유곡선을 보간한 결과를 도시한다.
도 10은 넙스 보간에서 동일한 샘플링 시간의 결과를 도시한다.
도 11은 다른 실시예에 따른 모션 처리 시스템의 구성을 도시한다.
도 12는 관절 궤적과 원래 제어 속도를 도시한다.
도 13은 곡선의 위치를 보간할 때 속도 모델링 수식으로 고관절 모션의 속도를 계산한 결과를 도시한다.
도 14는 토크 모델링 수식과 시간 함수에 따라 고관절 모션의 토크를 계산한 결과를 도시한다.
도 15는 시간 함수에 따라 고관절 모션의 토크를 계산한 결과를 도시한다.
이하, 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 실시예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시예에 기재한 설명은 다른 실시예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 모션 처리 시스템의 구성을 도시하고, 도 2는 모션 처리되는 과정을 개략적으로 도시하고, 도 3은 복수 개의 NURBS 수식을 이용하여 구동기를 제어하는 구성을 도시하고, 도 4는 인체가 도보할 때 모션 측정부에 의해 측정된 고관절 데이터를 도시하고, 도 5는 도 4에서 측정된 데이터가 자유곡선으로 모델링된 결과를 도시하고, 도 6은 도 5에서 모델링된 결과를 이용하여 인체의 모션을 여러 사이클로 생성한 결과를 도시하고, 도 7은 도 5에서 모델링된 결과를 이용하여 조정점을 변화시켜 모션을 고관절 모션을 생성한 결과를 도시하고, 도 8은 동일한 매개변수일 때 샘플링 시간을 나타내고, 도 9는 동일한 샘플링 시간으로 자유곡선을 보간한 결과를 도시하고, 도 10은 넙스 보간에서 동일한 샘플링 시간의 결과를 도시한다.
도 1을 참조하여, 일 실시예에 따른 모션 처리 시스템(10)은 모션 측정부(100), 모션 모델링부(110) 및 모션 생성부(120)를 포함할 수 있다.
상기 모션 측정부(100)는 대상체의 모션(또는 운동)을 측정하기 위한 것으로서, 예를 들어, 인체의 모션에 대한 모델링을 원하는 신체 부위에 부착된 센서 및 상기 센서와 연동되어 모션의 위치를 측정하는 모션 측정기를 포함할 수 있다.
이때, 모션 측정부(100)에서는 시간에 따른 센서의 위치를 측정하여 저장할 수 있으며, 이에 의해 모션에 대한 데이터가 생성될 수 있다.
상기 모션 모델링부(110)는 모션 측정부(100)에서 측정된 모션에 대한 데이터에 기초하여 모션을 NURBS 수식으로 모델링할 수 있다.
예를 들어, 모션 모델링부(110)는 하나의 NURBS(Non-Uniform Rational B-Splines) 수식을 포함하여, 대상체의 모션이 NURBS 수식 또는 NURBS 자유곡선으로 모델링될 수 있다.
구체적으로, NURBS 수식은 다음을 포함할 수 있다.
Figure PCTKR2018001635-appb-img-000014
Figure PCTKR2018001635-appb-img-000015
여기서, N i,k(u)는 기저함수로서 다음과 같이 정의된다.
Figure PCTKR2018001635-appb-img-000016
그리고,
Figure PCTKR2018001635-appb-img-000017
여기서, [u i, ..., u i +k]는 절점 벡터이고, u i는 절점이다.
또한, P(u)는 임의의 값(u)에서 위치 벡터이고,
B i(u)는 조정점 벡터이고,
Ti는 모션의 시간을 나타내기 위한 조정점이고,
Yi, Zi는 대상체의 서로 다른 모션을 나타내기 위한 조정점이고,
w i 는 가중치이다.
이와 같이 하나의 NURBS 수식을 통하여 대상체의 서로 다른 모션을 나타낼 수 있으므로, 서로 다른 모션이 하나의 NURBS 수식을 통하여 복수 개의 자유곡선, 다시 말해서 복수 개의 NURBS 곡선으로 모델링할 수 있다.
이때, 모션 모델링부(110)에서 모델링된 NURBS 곡선의 한 축, 예를 들어 제1 축을 시간 축으로 하고, 나머지 두 축, 예를 들어 제2 축 및 제3 축을 서로 다른 모션 위치로 함으로써, 복수 개의 자유곡선은 동일한 시간 축을 공유하여 시간에 따른 서로 다른 모션을 나타낼 수 있다.
또한, 모션 생성부(120)는 모션 모델링부(110)에서 모델링된 복수 개의 NURBS 수식을 조정하여, 대상체의 모션을 재생성할 수 있다.
구체적으로, 모션 생성부(120)에서는 NURBS 수식에서 조정점 또는 가중치를 조정하여 대상체의 모션에 대하여 시간 및 모션 위치를 재모델링할 수 있다.
특히 인체의 특성 및 요구조건에 대하여 조정점 또는 가중치를 다양하게 변화시켜 모션 모델링부(110)에서 모델링된 복수 개의 자유곡선을 다양하게 표현할 수 있다.
또한, NURBS 수식에서 조정점 또는 가중치를 조정할 때에는 NURBS 곡선을 보간해야 한다.
구체적으로, NURBS 곡선의 매개변수 증분치를(
Figure PCTKR2018001635-appb-img-000018
)를 계산하여 매개변수
Figure PCTKR2018001635-appb-img-000019
를 업데이트하고, 상기 매개변수(
Figure PCTKR2018001635-appb-img-000020
)를 NURBS 수식에 입력하여 NURBS 곡선의 위치를 계산할 수 있다. 예를 들어 단순히 대상체의 모션 위치를 나타낼 때에는 증분치를(
Figure PCTKR2018001635-appb-img-000021
)를 상수로 두고 계산할 수 있다.
게다가, 대상체의 모션을 로봇의 제어나 다른 목적에 사용할 때는 매번 증분치를(
Figure PCTKR2018001635-appb-img-000022
)를 목적에 맞게 계산하여 매개변수
Figure PCTKR2018001635-appb-img-000023
를 업데이트하여 NURBS 곡선의 위치를 나타낼 수 있다.
특히 로봇 제어의 경우에는 NURBS 곡선의 시간 축이 동일한 시간간격(샘플링 시간)으로 보간되도록 증분치(
Figure PCTKR2018001635-appb-img-000024
)를 계산하여 로봇을 제어하는 것이 바람직하다.
특히, 도 2를 더 참조하여, 전술된 구성을 포함하여, 일 실시예에 따른 모션 처리 시스템(10)에 의해 다음과 같이 모션이 처리될 수 있다.
우선, 모션 측정부(100)에서 모션이 측정된다.
그런 다음, 모션 측정부(100)에서 측정된 모션에 대한 데이터에 기초하여 모션 모델링부(110)에서 대상체의 모션을 NURBS 수식으로 모델링한다.
이때, 모션 모델링부(110)에서는 전술된 바와 같이 아래 NURBS 수식에 의해 대상체의 모션을 모델링한다.
Figure PCTKR2018001635-appb-img-000025
Figure PCTKR2018001635-appb-img-000026
이어서, 모션 생성부(120)에서는 상기 NURBS 수식에서 조정점(B i(u)) 또는 가중치(w i)를 조정하고, 그에 따라서 보간 알고리즘(interpolation algorism)
Figure PCTKR2018001635-appb-img-000027
을 적용하여, 대상체의 모션을 재생성한다.
한편, 도 3을 참조하여, 복수 개의 대상체의 모션을 복수 개의 NURBS 수식으로 모델링하고, 모델링된 복수 개의 NURBS 수식을 이용하여 대상체의 모션을 제어할 수 있다.
구체적으로, 모션 측정부(100)는 대상체의 서로 다른 모션을 측정하는 복수 개의 모션 측정기를 포함할 수 있다. 이때, 대상체의 신체 부위에서 서로 다른 부위에 센서가 부착될 수 있음은 당연하다.
또한, 모션 모델링부(110)는 복수 개의 NURBS 수식을 포함할 수 있고, 각각의 NURBS 수식은 각각의 모션 측정기와 개별적으로 연동되어 서로 다른 모션을 모델링할 수 있다.
예를 들어, 모션 측정부(100)에서 제1 모션을 측정하여, 제1 모션에 대한 데이터에 기초하여 모션 모델링부(110)에서 제1 모션에 대한 NURBS 수식을 모델링하고, 모션 측정부(100)에서 제2 모션을 측정하여, 제2 모션에 대한 데이터에 기초하여 모션 모델링부(110)에서 제2 모션에 대한 NURBS 수식을 모델링하고, 모션 측정부(100)에서 제3 모션을 측정하여, 제3 모션에 대한 데이터에 기초하여 모션 모델링부(110)에서 제3 모션에 대한 NURBS 수식을 모델링할 수 있다.
이때, 복수 개의 NURBS 수식에 의한 복수 개의 NURBS 곡선에서 시간 축을 일치시키면 여러 개의 모션 위치를 시간에 따라 표현할 수 있다.
이를 위해, 복수 개의 NURBS 곡선에서 시간 축을 일정한 간격으로 보간하여 동일한 샘플링 시간으로 대상체의 모션을 표현할 필요성이 있다. 복수 개의 NURBS 곡선의 보간은 이전에 간략히 설명되었으며, 이하에서 상술된다.
또한, 모션 생성부(120)에서는 모션 모델링부(100)에서 모델링된 복수 개의 NURBS 수식을 개별적으로 조정 또는 보간하여 대상체의 모션을 재생성하고, 모션 구동기(또는 액추에이터)에 모션 제어 신호를 전달하여, 대상체의 모션을 제어하는 데 활용될 수 있다.
특히, 도 4를 참조하여, 대상체, 예를 들어 인체가 도보할 때 모션 측정부(100)에서 고관절의 회전각이 측정될 수 있다.
이때, 제1 축은 시간 축이 되고, 제2 축은 고관절의 회전각이 될 수 있으며, 인체의 모션 위치가 시간에 따라 표현될 수 있다.
또한, 도 4는 고관절의 회전각을 샘플링 시간 0.01초로 측정한 예시로서, 도보를 빠르게 하는 경우, 보폭을 변화시키는 경우, 고관절의 움직임을 시간에 따라 변화시키는 경우, 도보 사이클 수를 정하는 경우 등 다양하게 인체의 모션을 생성하기 위해 도 4의 데이터를 이용하여 NURBS 수식으로 모델링할 수 있다.
이때, NURBS 곡선에서 제1 축을 시간 축으로 하고, 제2 축 및 제3 축을 인체 모션 위치로 모델링하여 한 개의 NURBS 수식으로 두 개의 인체 모션 위치를 표현할 수 있다.
도 5를 참조하여, 모션 측정부(100)에서 측정된 고관절의 회전각에 기초하여 모션 모델링부(110)에서 모델링된 NURBS 곡선이 표현될 수 있고, 모션 생성부(120)에서 NURBS 수식에서 가중치는 1로 하고 조정점을 변화시켜 모션을 재생성하였다.
이와 같이 모션 모델링부(110)에서 모델링된 NURBS 곡선의 조정점 또는 가중치를 조정함으로써 고관절의 모션을 보다 정밀하게 재생할 수 있다.
이때, 도 5에서 시간에 따른 고관절의 모션을 재생하기 위해 매개변수 증분치(
Figure PCTKR2018001635-appb-img-000028
)를 일정한 값 0.001로 두고 시간에 따른 고관절의 회전각을 재생하였다. 그 결과, 도 4 및 5가 잘 일치함을 알 수 있다.
다만, NURBS 곡선의 특성 때문에 매개변수 증분치(
Figure PCTKR2018001635-appb-img-000029
)를 일정한 값으로 했을 때, 도 5의 시간 축이 동일한 시간 간격(샘플링 시간)으로 나타나지 않을 수 있다.
이와 같이 모션 모델링부(110)에서 모델링된 NURBS 곡선의 조정점 또는 가중치를 조정함으로써 고관절의 모션을 보다 정밀하게 재생할 수 있다.
도 6을 참조하여, 모션 모델링부(110)에서 모델링된 NURBS 곡선을 이용하여 인체의 모션, 예를 들어 고관절의 회전각을 여러 사이클로 재생할 수 있다.
이 또한, 모션 생성부(120)에서 NURBS 수식을 조정하는 것에 의해 인체의 모션을 여러 사이클로 확장시킬 수 있다.
도 7을 참조하여, 모션 모델링부(110)에서 모델링된 NURBS 곡선을 이용하여 모션 생성부(120)에서 조정점 벡터를 변화시켜 고관절 모션을 다양하게 재생할 수 있다.
예를 들어, 모션 모델링부(110)에 하나의 NURBS 수식이 포함되어 있는 경우, 모션 생성부(120)에서 하나의 NURBS 수식에 대하여 서로 다른 조정점 벡터를 적용하거나, 모션 모델링부(110)에 복수 개의 NURBS 수식이 포함되어 있는 경우, 모션 생성부(120)에서 복수 개의 NURBS 수식에 대하여 서로 다른 조정점 벡터를 적용할 수 있음은 당연하다.
또한, 도 8을 참조하여, 전술된 바와 같이 NURBS 곡선의 특성 때문에 매개변수 증분치(
Figure PCTKR2018001635-appb-img-000030
)를 일정한 값으로 했을 때, 동일한 시간 간격(샘플링 시간,
Figure PCTKR2018001635-appb-img-000031
)으로 나타나지 않을 수 있다.
따라서, 인체 모션을 로봇에 적용하여 NURBS 곡선을 제어할 때, 샘플링 시간(
Figure PCTKR2018001635-appb-img-000032
)이 항상 일정한 값을 갖도록 매개변수
Figure PCTKR2018001635-appb-img-000033
를 찾아야 한다. 모션 모델링부(110)에서 모델링된 인체의 모든 모션을 동시에 제어하기 위해서는 각각의 NURBS 수식에서 샘플링 시간이 동일하도록 매개변수를 찾아야 한다.
한 개의 NURBS 곡선의 보간 알고리즘이 동일한 원리로 다른 NURBS 수식에 적용될 수 있으며, 이하에서는 한 개의 NURBS 수식으로 설명하기로 한다.
NURBS 곡선의 시간 축의 데이터 간격이 샘플링 시간(
Figure PCTKR2018001635-appb-img-000034
)과 일치하도록 NURBS 곡선의 매개변수 증분치(
Figure PCTKR2018001635-appb-img-000035
)를 계산하여 매 샘플링마다 매개변수
Figure PCTKR2018001635-appb-img-000036
를 계산하고, 매개변수
Figure PCTKR2018001635-appb-img-000037
를 NURBS 수식에 입력하여 매 샘플링마다 NURBS 곡선의 위치를 계산할 수 있다.
Figure PCTKR2018001635-appb-img-000038
여기서
Figure PCTKR2018001635-appb-img-000039
이고,
Figure PCTKR2018001635-appb-img-000040
이며, k는 임의로 사용자가 정할 수 있는 상수로 계산시간과 관련된 상수이며 예를 들어 m=8일 경우
Figure PCTKR2018001635-appb-img-000041
로 되어 매개변수 증분치를(
Figure PCTKR2018001635-appb-img-000042
)를 m-1번, 즉 7번 재귀적으로 업데이트하여 구하고, 증분치를 구하기 위해서는 항상 앞선 시간의 차이값(
Figure PCTKR2018001635-appb-img-000043
)과 앞선 증분치(
Figure PCTKR2018001635-appb-img-000044
)가 있어야 하므로 맨 처음 증분치
Figure PCTKR2018001635-appb-img-000045
는 Taylor 1차 전개를 이용하여 구한다.
도 9는 고관절 회전각을 모델링한 NURBS 수식의 가중치와 조정점 데이터를 조정하고, 샘플링 시간을 0.004초로 하여 보간하여 모션을 생성한 것이다.
도 10에 도시된 바와 같이, NURBS 곡선의 보간을 통하여 각 시간에서 샘플링 시간이 항상 일정하게 유지되는 것을 확인할 수 있다.
이상 일 실시예에 따른 모션 처리 시스템에 대하여 설명되었으며, 이하에서는 다른 실시예에 따른 모션 처리 시스템에 대하여 설명된다.
도 11은 다른 실시예에 따른 모션 처리 시스템의 구성을 도시하고, 도 12는 관절 궤적과 원래 제어 속도를 도시하고, 도 13은 고관절 모션의 곡률과 관련하여 모델링된 수식으로 제어할 때의 관절 궤적과 제어속도를 도시하고, 도 14는 고관절 모션의 곡률과 관련하여 모델링된 수식으로 고관절 모션의 토크를 계산한 결과를 도시하고, 도 15는 시간 함수에 따라 고관절 모션의 토크를 계산한 결과를 도시한다.
도 11을 참조하여, 다른 실시예에 따른 모션 처리 시스템(20)은 대상체의 모션 위치 또는 관절 운동을 측정하는 모션 측정부(200), 상기 모션 측정부(200)에서 측정된 모션 위치에 대한 데이터에 기초하여 상기 모션의 위치를 NURBS 수식으로 모델링하는 제1 모션 모델링부(210), 상기 모션 측정부(210)에서 측정된 관절 운동에 대한 데이터에 기초하여 상기 모션에 대한 토크 또는 속도를 NURBS 수식으로 모델링하는 제2 모션 모델링부(220), 및 상기 제1 모션 모델링부(210) 또는 제2 모션 모델링부(220)에서 모델링된 NURBS 수식을 조정하여 대상체의 모션 위치 또는 관절 운동을 제어하기 위한 신호를 생성하는 모션 생성부(230)를 포함할 수 있다.
상기 모션 측정부(200), 제1 모션 모델링부(210) 및 모션 생성부(230)는 일 실시예에 따른 모션 처리 시스템(10)의 모션 측정부(100), 모션 모델링부(110) 및 모션 생성부(120)에 대응하는 구성요소로서 상세한 설명은 생략하기로 한다.
도 11에는 구체적으로 도시되지는 않았으나, 모션 측정부(200)는 대상체의 모션 위치를 측정하는 제1 모션 측정부 및 대상체의 관절 운동을 측정하는 제2 모션 측정부를 포함할 수 있음은 당연하다.
이와 마찬가지로, 모션 생성부(230)는 제1 모션 모델링부(210)에서 모델링된 NURBS 수식을 조정하여 대상체의 모션 위치를 제어하기 위한 신호를 생성하는 제1 모션 생성부 및 제2 모션 모델링부(220)에서 모델링된 NURBS 수식을 조정하여 대상체의 관절 운동을 제어하기 위한 신호를 생성하는 제2 모션 생성부를 포함할 수 있음은 당연하다.
전술된 바와 같이, 제2 모션 모델링부(220)에서는 모션에 대한 토크 또는 속도가 모션 위치와 마찬가지로 NURBS 수식으로 모델링될 수 있다.
또한, 매 샘플링 시간마다 계산된 인체 모션의 궤적을 구동기로 제어함에 있어서, 매 샘플링 시간마다 토크의 계산은 모션 측정부(200)를 통하여 입력된 관절 운동의 경로 구간 및 곡선의 함수에 따라 계산할 수 있다.
이를 위해 제2 모션 모델링부(220)는 관절의 토크 및 속도를 표현하는 수식을 포함할 수 있다.
Figure PCTKR2018001635-appb-img-000046
이때, Q j는 토크이고,
qt(u j)는 시간 축이고,
qy(u j)는 제1 모션에 대한 토크이고,
qz(u j)는 제2 모션에 대한 토크이고,
Figure PCTKR2018001635-appb-img-000047
는 제1 모션 모델링부(210)에서 모델링한 NURBS 수식과 동일한 매개변수 u j에 대하여 토크를 모델링한 함수이고,
Figure PCTKR2018001635-appb-img-000048
는 u j에 대한 시간 함수이다.
또한, V j는 속도이고,
vt(u j)는 시간 축이고,
vy(u j)는 제1 모션에 대한 속도이고,
vz(u j)는 제2 모션에 대한 속도이고,
Figure PCTKR2018001635-appb-img-000049
는 제1 모션 모델링부(210)에서 모델링한 NURBS 수식과 동일한 매개변수 uj에 대하여 속도를 모델링한 함수이고,
Figure PCTKR2018001635-appb-img-000050
는 u j에 대한 시간 함수이다.
이와 같이 제1 모션 모델링부(210) 및 제2 모션 모델링부(220)는 동일한 매개변수에 대한 함수를 포함하고, 동일한 시간 축을 공유하여 대상체의 모션 또는 관절 운동을 나타내는 나타낼 수 있다.
구체적으로, 고관절의 속도에서 시간에 대한 함수를 1로 두고, 고관절의 속도를 고관절 모션과 관련된 다음의 식과 같이 모델링할 수 있다.
Figure PCTKR2018001635-appb-img-000051
도 12는 관절 궤적과 원래 제어 속도를 나타낸 것이고, 도 13은 전술된 수식으로 제어할 때의 관절 궤적과 제어 속도를 나타낸 것이다.
한편, 고관절 토크에서 시간에 대한 함수를 1로 두고 고관절의 토크를 고관절 모션과 관련된 다음의 식과 같이 모델링할 수 있다.
Figure PCTKR2018001635-appb-img-000052
상기 수식을 이용하여 고관절의 토크를 계산한 결과는 도 14와 같다.
이때, 제1 모션 모델링부(210) 및 제2 모션 모델링부(220)에 의해 시간에 따른 고관절 위치에 대한 NURBS 곡선 및 시간에 따른 토크에 대한 NURBS 곡선이 개별적으로 표현될 수 있다. 다시 말해서, 복수 개의 NURBS 곡선이 시간 축을 공유하고 있으며, 두 축에서 고관절 위치 및 토크가 나타내질 수 있다.
또한, 도 14와 같이 연속된 관절의 사이클 운동에서 시간의 함수로 일정 시간에서 구동 토크를 0으로 하여 계산한 결과는 도 15과 같다.
이는 제2 모션 모델링부(220)에서 모델링된 NURBS 곡선이 일정 시간에서 구동 토크가 0이 되도록 모션 생성부(230)에서 조정 또는 보간된 결과이다.
또한, 전술된 바와 같이 모션 생성부(230)에서 제2 모션 모델링부(220)에서 모델링된 NURBS 곡선, 예를 들어 토크에 대한 NURBS 곡선 또한 시간 축에서 데이터 간격이 샘플링 시간과 동일한 값을 갖도록 보간 알고리즘을 적용하고, 제2 모션 모델링부(220)에서 모델링된 복수 개의 NURBS 수식에서 가중치 또는 조정점을 조정할 수 있음은 당연하다.
이상과 같이 본 발명의 실시예에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 청구범위뿐 아니라 이 청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (10)

  1. 대상체의 모션을 측정하는 모션 측정부;
    상기 모션 측정부에서 측정된 모션에 대한 데이터에 기초하여 상기 모션을 NURBS(Non-Uniform Rational B-Splines) 수식으로 모델링하는 모션 모델링부; 및
    상기 모션 모델링부에서 모델링된 NURBS 수식을 조정하여 상기 대상체의 모션을 재생성하는 모션 생성부;
    를 포함하고,
    상기 NURBS 수식에 의해 복수 개의 NURBS 곡선이 표현되고,
    상기 복수 개의 NURBS 곡선은 동일한 시간 축을 공유하여 시간에 따른 서로 다른 모션을 나타내는 모션 처리 시스템.
  2. 제1항에 있어서,
    상기 모션 모델링부는 하나의 NURBS 수식을 포함하고,
    상기 하나의 NURBS 수식을 통해 서로 다른 모션을 모델링하는 모션 처리 시스템.
  3. 제1항에 있어서,
    상기 모션 측정부는,
    상기 대상체의 서로 다른 모션을 측정하는 복수 개의 모션 측정기;
    를 포함하고,
    상기 모션 모델링부는 복수 개의 NURBS 수식을 포함하며,
    각각의 NURBS 수식은 각각의 모션 측정기와 개별적으로 연동되어 서로 다른 모션을 모델링하는 모션 처리 시스템.
  4. 제2항 또는 제3항에 있어서,
    상기 NURBS 수식은,
    Figure PCTKR2018001635-appb-img-000053
    Figure PCTKR2018001635-appb-img-000054
    을 포함하고,
    이때, P(u)는 임의의 값(u)에서 위치 벡터이고,
    B i(u)는 조정점 벡터이고,
    Ti는 모션의 시간을 나타내기 위한 조정점이고,
    Yi, Zi는 상기 대상체의 서로 다른 모션을 나타내기 위한 조정점이고,
    w i 는 가중치인 모션 처리 시스템.
  5. 제4항에 있어서,
    상기 모션 생성부는,
    상기 NURBS 수식에서 조정점 또는 가중치를 조정하고,
    상기 복수 개의 NURBS 곡선의 시간 축에서 데이터 간격이 샘플링 시간과 동일한 값을 갖도록 상기 복수 개의 NURBS 곡선을 보간(interpolation)하는 모션 처리 시스템.
  6. 제4항에 있어서,
    상기 모션 생성부는,
    상기 복수 개의 NURBS 곡선에서 매개변수 증분치를 계산하여 매 샘플링마다 매개변수를 업데이트하고, 상기 매개변수를 상기 NURBS 수식에 입력하여 위치 벡터(P(u))를 산출하는 모션 처리 시스템.
  7. 제6항에 있어서,
    상기 매개변수 증분치는 다음의 식에 의해 계산되고,
    Figure PCTKR2018001635-appb-img-000055
    이때,
    Figure PCTKR2018001635-appb-img-000056
    는 매개변수 증분치이고,
    Figure PCTKR2018001635-appb-img-000057
    는 샘플링 시간이고,
    Figure PCTKR2018001635-appb-img-000058
    는 이전 매개변수 증분치이고,
    Figure PCTKR2018001635-appb-img-000059
    는 이전 시간 데이터 간격인 모션 처리 시스템.
  8. 대상체의 모션 또는 관절 운동을 측정하는 모션 측정부;
    상기 모션 측정부에서 측정된 모션에 대한 데이터에 기초하여 상기 모션의 위치를 NURBS 수식으로 모델링하는 제1 모션 모델링부; 및
    상기 모션 측정부에서 측정된 관절 운동에 대한 데이터에 기초하여 상기 모션에 대한 토크 또는 속도를 NURBS 수식으로 모델링하는 제2 모션 모델링부;
    를 포함하고,
    상기 제1 모션 모델링부 및 상기 제2 모션 모델링부는 동일한 매개변수에 대한 함수를 포함하고, 동일한 시간 축을 공유하여 상기 대상체의 모션 또는 토크를 나타내는 모션 처리 시스템.
  9. 제8항에 있어서,
    상기 제2 모션 모델링부는,
    Figure PCTKR2018001635-appb-img-000060
    를 포함하고,
    이때, Q j는 토크이고,
    qt(u j)는 시간 축이고,
    qy(u j)는 제1 모션에 대한 토크이고,
    qz(u j)는 제2 모션에 대한 토크이고,
    Figure PCTKR2018001635-appb-img-000061
    는 상기 제1 모션 모델링부에서 모델링한 NURBS 수식과 동일한 매개변수 u j에 대하여 토크를 모델링한 함수이고,
    Figure PCTKR2018001635-appb-img-000062
    는 u j에 대한 시간 함수인 모션 처리 시스템.
  10. 제8항에 있어서,
    상기 제2 모션 모델링부는,
    Figure PCTKR2018001635-appb-img-000063
    를 포함하고,
    이때, V j는 속도이고,
    vt(u j)는 시간 축이고,
    vy(u j)는 제1 모션에 대한 속도이고,
    vz(u j)는 제2 모션에 대한 속도이고,
    Figure PCTKR2018001635-appb-img-000064
    는 상기 제1 모션 모델링부에서 모델링한 NURBS 수식과 동일한 매개변수 u j에 대하여 속도를 모델링한 함수이고,
    Figure PCTKR2018001635-appb-img-000065
    는 u j에 대한 시간 함수인 모션 처리 시스템.
PCT/KR2018/001635 2017-03-15 2018-02-07 모션 처리 시스템 WO2018169210A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2017-0032656 2017-03-15
KR20170032656 2017-03-15
KR1020170078345A KR101896845B1 (ko) 2017-03-15 2017-06-21 모션 처리 시스템
KR10-2017-0078345 2017-06-21

Publications (1)

Publication Number Publication Date
WO2018169210A1 true WO2018169210A1 (ko) 2018-09-20

Family

ID=63523521

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/001635 WO2018169210A1 (ko) 2017-03-15 2018-02-07 모션 처리 시스템

Country Status (1)

Country Link
WO (1) WO2018169210A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100073175A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 다시점 영상기반 동적 개체의 디지털 클론 생성 방법
KR20110032351A (ko) * 2009-09-22 2011-03-30 삼성전자주식회사 영상 처리 장치 및 방법
KR20120014106A (ko) * 2010-08-06 2012-02-16 허니웰 인터내셔널 인코포레이티드 이미지 형성을 위한 모션 블러 모델링

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100073175A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 다시점 영상기반 동적 개체의 디지털 클론 생성 방법
KR20110032351A (ko) * 2009-09-22 2011-03-30 삼성전자주식회사 영상 처리 장치 및 방법
KR20120014106A (ko) * 2010-08-06 2012-02-16 허니웰 인터내셔널 인코포레이티드 이미지 형성을 위한 모션 블러 모델링

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BAEK, DAE KYUN ET AL.,: "A Study on the Acceleration and Deceleration Control of Free-form Surfaces", JOURNAL OF THE KOREAN SOCIETY OF PRECISION ENGINEERING, vol. 33, no. 9, September 2016 (2016-09-01), pages 745 - 751, XP055608795 *
TIKHON, MARCHENKO ET AL.,: "Adaptive Feedrate Interpolator for NURBS Curve", PROCEEDINGS OF THE KOREAN SOCIETY OF MANUFACTURING TECHNOLOGY ENGINEERS CONFERENCE, April 2002 (2002-04-01), pages 94 - 99 *

Similar Documents

Publication Publication Date Title
WO2015183049A1 (ko) 옵티컬 트래킹 시스템 및 옵티컬 트래킹 시스템의 마커부 자세 산출방법
WO2009125916A1 (ko) 차량의 조향방법 및 그 장치
WO2019017696A1 (ko) 신발 끈 조절장치 및 이를 구비하는 신발
WO2015156635A1 (ko) 상태 변분 원리를 이용한 진동 변위 측정 방법
WO2012064106A2 (en) Method and apparatus for video stabilization by compensating for view direction of camera
WO2015030343A1 (en) Optical element rotation type mueller-matrix ellipsometer and method for measuring mueller-matrix of sample using the same
WO2011065697A2 (ko) 레이저 거리측정기를 이용한 맥파측정로봇장치 및 이를 이용한 맥파측정방법
WO2015156469A1 (en) Three-dimensional (3d) emitting apparatus
WO2017022893A1 (ko) 작업공간에서의 강성 개선을 위한 여자유도 로봇 제어 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체
WO2013065955A1 (ko) 실시간 위빙 모션 제어 장치 및 그 방법
WO2016144057A1 (ko) 공간 순응 손가락 모듈 및 이를 구비한 그리퍼
WO2019088681A1 (ko) 로봇의 안전성 향상 및 안전성 평가 방법
WO2018214147A1 (zh) 一种机器人标定方法、系统、机器人及存储介质
WO2021071030A1 (ko) 센싱 디바이스 및 이를 포함한 로봇 매니퓰레이터
WO2018169210A1 (ko) 모션 처리 시스템
WO2019189993A1 (ko) 스마트 칫솔 및 이동 단말기
WO2014175628A1 (ko) 서보 모터 제어기 및 그것의 제어 방법
WO2020027605A1 (ko) 평행축 방식의 양안 카메라 시스템에서 근거리 물체의 입체영상을 위한 영상처리 방법 및 장치
WO2022059960A1 (ko) 배관의 이상 상태 모니터링 시스템, 장치 및 방법
WO2024096387A1 (ko) Gnss 오차 공유를 이용한 드론 협동 항법
WO2023229116A1 (ko) 상관성을 고려한 시간이력풍하중 산정 방법
WO2020145509A2 (ko) 디제이 변환에 의한 주파수 추출 방법
WO2015167164A1 (en) Radiographic system and control method thereof
WO2021221345A1 (ko) 양방향 선도 추미 대차
WO2019017710A1 (ko) 다회전 검출 장치 및 방법

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18768719

Country of ref document: EP

Kind code of ref document: A1