The present invention relates to a control of a moving object, and more particularly, an apparatus and method for controlling a trajectory so that a moving object arrives at a target point and a computer-readable recording medium having a program recorded therein for executing the method in a computer.
Along with the advance of technology associated with various moving objects such as an atmospheric aircraft, for example, unmanned reconnaissance aircraft, a drone, and a precision guided weapon, a spacecraft, for example, a satellite and a lunar lander, a soccer robot, and an unmanned submarine, there is a need for a technology for efficiently controlling a moving object.
In particular, it is necessary to accurately move a moving object from a start point to a target point. To this end, there is a need to move a moving object to a target point at a desired angle.
Although various trajectory guidance algorithms have been introduced to move a moving object to a target point, there is no technology to accurately enter the target point at a desired angle.
The present invention provides an apparatus and method for controlling a moving object by controlling a trajectory of the moving object and allowing the moving object to enter a target point at a desired angle.
According to an embodiment of the present invention, there is provided an apparatus for controlling a moving object, the apparatus including a trajectory control unit configured to control a trajectory of the moving object and a position control unit configured to control a position of the moving object.
The trajectory control unit and the position control unit may use an error quaternion of the moving object to control the trajectory of the moving object and the position of the moving object, respectively.
The error quaternion of the moving object may be extracted from a quaternion indicating a trajectory of a current point of the moving object and a quaternion indicating a trajectory of a target point of the moving object.
The error quaternion qe of the moving object may be obtained by the following equation:
qe=qt*∘q
where qt is a target quaternion q, i.e., the trajectory of the target point, qt* is a conjugate of the quaternion qt, which indicates the trajectory of the target point, and q is the quaternion indicating the trajectory of the current point, and ∘ is multiplication of a preceding quaternion of ∘ and a following quaternion of ∘ and an operational expression of a vector and a scalar.
The trajectory of the moving object and position information including the trajectory may be expressed by the following equation:
{circumflex over (q)}e=qe+εqe′
where {circumflex over (q)}e is a dual quaternion and represents trajectory information qe of the moving object and position information qe′ including the trajectory information of the moving object.
The position control unit may further use a difference between a position of the target point of the moving object and a position of the current point of the moving object to control the position of the moving object.
The position control unit may control the position of the moving object by the following equation:
qe′=½(pe∘qe)
where pe is the difference between the position pt of the target point of the moving object and the position p of the current point of the moving object, and qe′ represents a position value including the trajectory information of the moving object.
The apparatus may further include an update unit configured to update the trajectory of the current point of the moving object and the position of the current point of the moving object.
The update unit may update the trajectory of the current point of the moving object and the position of the current point of the moving object by integrating a result of the following equation:
{circumflex over ({dot over (p)})}=½{circumflex over (q)}e∘{circumflex over (ω)}
where {circumflex over (ω)}. {circumflex over (ω)} is a trajectory changing rate and a position changing rate over time of the moving object and the trajectory changing rate, that is, a curvature may be represented as uT, which is a torque value that represents a rotational force, and the position changing rate may be represented as uF, which is a force for controlling the position.
A part for setting an entry angle at the target point of the moving object expresses a desired entry angle ρt of Xt, Yt, and Zt of
According to an embodiment of the present invention, there is provided a computer-readable recording medium having a program for executing a method of controlling a moving object stored therein, the method including controlling a trajectory of the moving object and controlling a position of the moving object.
According to an embodiment of the present invention, it is possible for a moving object to accurately move from a start point to a target point. In particular, according to an embodiment of the present invention, it is possible to accurately control an entry angle when a moving object reaches a target point by controlling a trajectory of the moving object.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the invention to the particular forms disclosed, but on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
Although the terms “first,” “second,” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of the present invention. The term “and/or” includes any and all combinations of one or more of associated listed items.
It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. Conversely, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” “including,” and/or “having,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which example embodiments belong. It will be further understood that terms, e.g., those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Hereinafter, example embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the figures, the same reference numerals are used to denote the same elements throughout the drawings and redundant descriptions thereof will be omitted.
An apparatus and method for controlling a moving object according to an embodiment of the present invention controls a trajectory and a position of a moving object using a dual quaternion to enter a desired target point at a desired angle.
A dual quaternion is formed by expanding a quaternion, which is calculated in a linear differential equation, to a dual number system, in which rotary motion and translational motion are handled at the same time. By using a dual quaternion, it is possible to simultaneously express attitude and a position in a three-dimensional space and represent a single state variable with eight values.
Thus, a dual quaternion has advantages in terms of compactness, no singularity, and low computational complexity.
Referring to
Referring to
Here, the trajectory control unit 110 and the position control unit 120 may use an error quaternion of the moving object to control the trajectory and position of the moving object, respectively. Here, a trajectory refers to a path along which a moving object moves, that is, a curved shape formed by the movement of a moving object. There are an unlimited number of trajectories along a moving object may move from a start point to a target point, and an angle at which the moving object enters the target point may be adjusted depending on the trajectory of the moving object.
Here, the error quaternion of the moving object may be extracted from a quaternion of a current position of the moving object and a quaternion of a target point of the moving object.
The error quaternion qe of the moving object may be obtained by the following Equation:
qe=qt*∘q
where qt* is a conjugate of the quaternion qt that represents the trajectory of the target point, and q is the quaternion that represents the trajectory of the current point. Here, the trajectory of the target point refers to an instantaneous trajectory of the target point, and the trajectory of the current point refers to an instantaneous trajectory of the current point.
Also, the position control unit 120 may further use a difference between a position of the target point of the moving object and a position of the current point of the moving object to control the position of the moving object.
That is, the position control unit 120 may control the position of the moving object by using the following equation:
qe′=½(pe∘qe)
where pe is the difference between the position pt of the target point of the moving object and the position p of the current point of the moving object.
The update unit 130 updates the trajectory of the current point of the moving object and the position of the current point of the moving object (S120). In this case, the update unit 130 may use quaternion kinematics to update the trajectory of the current point of the moving object and the position of the current point of the moving object. That is, the update unit 130 may update the trajectory of the current point of the moving object and the position of the current point of the moving object by integrating a result of the following equation:
{dot over ({circumflex over (p)})}=½{circumflex over (q)}e∘{circumflex over (ω)}
where {circumflex over (ω)}=[uT:0]+ε[uF:0], {circumflex over (q)}e=qe+εqe′, uT is a torque for controlling the trajectory of the moving object, and uF is a force for controlling the position of the moving object.
The concept of a dual quaternion will be briefly described before the apparatus and method for controlling a moving object according to an embodiment of the present invention are described in detail.
A dual quaternion will be expressed as the following equation:
{circumflex over (q)}=q+εq′
where {circumflex over (q)} is a dual quaternion, q is a real part of the dual quaternion, q′ is a dual part of the dual quaternion, and c is a separator for separating the real part and the dual part of the dual quaternion from each other ε2=0 and ε≠0.
According to an embodiment of the present invention, the dual quaternion {circumflex over (q)} may be expressed using q, which represents an angle of the trajectory of the moving object, and q′, which represents the position of the moving object. Here, q′ may be derived from q, and specifically, may be derived as the following equation:
q′=½(p∘q)
where ∘ indicates multiplication. q1∘q2 may be represented as qs1qv2+qs2qv1+qv1×qv2, qsqs2−qv1qv2 when a quaternion q1 has a scalar value qs1 and a vector value qv1 and a quaternion q2 has a scalar value qs2 and a vector value qv2.
Such a dual quaternion may be described in further detail by using the Plücker coordinates of
Referring to
Such a principle may be applied to a three-dimensional space, as shown in
{circumflex over (l)}1=l1+ε(p1×l1)
{circumflex over (l)}2=l2+ε(p2×l2)
Dual Angle
{circumflex over (θ)}=θ+εd{circumflex over (n)}=n+ε(c×n)
{circumflex over (l)}1,{circumflex over (l)}2=cos {circumflex over (θ)}
{circumflex over (l)}1,{circumflex over (l)}2=sin {circumflex over (θ)}{circumflex over (n)}
A method of controlling a moving object using a dual quaternion according to an embodiment of the present invention will be described below in further detail.
Referring to
The point C, which is a central point through which the vector n, which is a rotational axis, passes, serves as a center of a circle, a moving object starts and arrives as an arrow from Pi, which is the start point, to Pt, which is the destination point, and θ is 90 degrees.
From
{circumflex over (q)}t=qi+εqi′=qi+ε½(pi∘qi)
Similarly, qt at the target point Pt may also be found and may be expressed by the following equation:
{circumflex over (q)}t=qt+εqt′=qt+ε½(pt∘qt)
According to an embodiment of the present invention, the trajectory control unit 110 may use an error quaternion of a moving object to control a trajectory of the moving object. The effort quaternion of the moving object may be extracted through a difference between a quaternion of a current point of the moving object, i.e., q and a quaternion of a target point of the moving object, i.e., qt. Here, the quaternion of the current point of the moving object may be a quaternion of a start point of the moving object when the moving object has not yet moved and may be a quaternion of a point at which the moving object is currently positioned when the moving object is moving.
That is, qe=qt*∘q, qt* is a conjugate of the quaternion qt of the target point, and q is the quaternion of the current point.
The trajectory control unit 110 may extract uT using the error quaternion qe. That is, uT may be extracted as uT=−K1qe, K1 is a gain, and uT is a torque for controlling the trajectory of the moving object. uT may represent a curved shape of the trajectory of the moving object. This serves to form a curved shape while moving the point C that has an angle θi and is a rotational center point through which the vector n of
Also, the position control unit 120 may use a dual part qe′ of an error dual quaternion to control the position of the moving object. As described above, a dual quaternion of the quaternion q of the current point and a dual quaternion of the quaternion qt of the target point are found as {circumflex over (q)} and {circumflex over (q)}t, respectively, and an error dual quaternion is found as {circumflex over (q)}e={circumflex over (q)}t*∘{circumflex over (q)} from the dual quaternions. The error dual quaternion may be expressed as {circumflex over (q)}e=qe+εqe′ and may be extracted using qe′=½(pe∘qe). Here, Pe is a difference between the position Pt of the target point of the moving object and the position P of the current point of the moving object, that is, Pe=Pt−P.
The position control unit 120 may extract uF using the dual part qe′ of the error dual quaternion. That is, uF may be extracted as uF=K2qe′, K2 is a gain, and uF is a control force.
Since the moving object moves from the start point to the target point, the quaternion of the moving object continues to change. Thus, the update unit 130 updates the trajectory of the current point of the moving object and the position of the current point of the moving object. When the update unit 130 extracts the trajectory of the current point of the moving object and the position of the current point of the moving object, the trajectory control unit 110 and the position control unit 120 may control the trajectory and position of the moving object by using a result value of the update unit 130 as the trajectory and position of the current point of the moving object.
To this end, the update unit 130 may use quaternion kinematics. That is, the update unit 130 may update the trajectory and position of the current point of the moving object by using the following equation:
{circumflex over ({dot over (p)})}=½{circumflex over (q)}e∘{circumflex over (ω)}
where {circumflex over (ω)}=[uT:0]+[uF:0], {circumflex over (q)}e=qe+εqe′, uT is a torque for controlling the trajectory of the moving object, and uF is a force for controlling the position of the moving object.
A result value {circumflex over ({dot over (P)})} of the above equation represents an instantaneous rate of change of the dual quaternion of the moving object. Thus, when {circumflex over ({dot over (P)})} is integrated, an angle and a position of the current point of the moving object may be calculated.
Referring to
As described above, according to an embodiment of the present invention, the moving object may control a trajectory when the target point is reached. The method and apparatus according to an embodiment of the present invention may be applied to a soccer robot, an unmanned submarine, etc., as well as a missile and a lunar lander.
The exemplary embodiment of the present invention is not only implemented by an apparatus and a method, but also can be implemented through a program for realizing functions corresponding to the configuration of the exemplary embodiment of the present invention or a recording medium having the program recorded thereon.
While the present invention has been described with reference to exemplary embodiments, it will be understood by those of ordinary skill in the art that variations and modifications of the invention may be made without departing from the spirit and scope of the invention as defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2014-0179463 | Dec 2014 | KR | national |
10-2015-0174307 | Dec 2015 | KR | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/KR2015/013421 | 12/9/2015 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2016/093607 | 6/16/2016 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5875993 | Weiss | Mar 1999 | A |
6154691 | Bailey | Nov 2000 | A |
6860451 | Wang | Mar 2005 | B1 |
20070164167 | Bachelder | Jul 2007 | A1 |
20170326730 | Kwon | Nov 2017 | A1 |
Number | Date | Country |
---|---|---|
2002274499 | Sep 2002 | JP |
100765671 | Oct 2007 | KR |
1020120069510 | Jun 2012 | KR |
1020120070291 | Jun 2012 | KR |
101456576 | Oct 2014 | KR |
Number | Date | Country | |
---|---|---|---|
20170326730 A1 | Nov 2017 | US |