DE602006000587T2 - Method and system for determining a pulse path without singularity - Google Patents

Method and system for determining a pulse path without singularity Download PDF

Info

Publication number
DE602006000587T2
DE602006000587T2 DE602006000587T DE602006000587T DE602006000587T2 DE 602006000587 T2 DE602006000587 T2 DE 602006000587T2 DE 602006000587 T DE602006000587 T DE 602006000587T DE 602006000587 T DE602006000587 T DE 602006000587T DE 602006000587 T2 DE602006000587 T2 DE 602006000587T2
Authority
DE
Germany
Prior art keywords
perp
line
path
pulse
point
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
DE602006000587T
Other languages
German (de)
Other versions
DE602006000587D1 (en
Inventor
Michael R. Plymouth Elgersma
Daniel P. Fridley Johnson
Gunter St. Paul Stein
Blaise G. Minnetonka Morton
Dennice F. Pasadena Gayme
Mason A. Ithaca PECK
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell International Inc
Original Assignee
Honeywell International Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell International Inc filed Critical Honeywell International Inc
Publication of DE602006000587D1 publication Critical patent/DE602006000587D1/en
Application granted granted Critical
Publication of DE602006000587T2 publication Critical patent/DE602006000587T2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64GCOSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
    • B64G1/00Cosmonautic vehicles
    • B64G1/22Parts of, or equipment specially adapted for fitting in or to, cosmonautic vehicles
    • B64G1/24Guiding or controlling apparatus, e.g. for attitude control
    • B64G1/28Guiding or controlling apparatus, e.g. for attitude control using inertia or gyro effect
    • B64G1/286Guiding or controlling apparatus, e.g. for attitude control using inertia or gyro effect using control momentum gyroscopes (CMGs)

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

Diese Erfindung betrifft das Gebiet der Steuerung von Weltraumfahrzeugen und insbesondere ein Verfahren und ein System zum Bestimmen eines singularitätfreien Impulspfades.These The invention relates to the field of spacecraft control and more particularly to a method and system for determining a singularity free Pulse path.

Um die Lage eines Weltraumfahrzeugs zu steuern, können verschiedene Rotationsträgheitselemente verwendet werden. Ein solches Trägheitselement ist ein Steuerimpulsgyroskop (CMG). Ein CMG weist in der Regel ein Schwungrad mit einer festen oder variablen Umdrehungsgeschwindigkeit auf, das an einer Kardanringbaugruppe montiert ist. Die Drehachse des CMG kann geneigt werden, indem man das CMG mit Hilfe der Kardanringbaugruppe bewegt. Diese Bewegung erzeugt ein gyroskopisches Drehmoment orthogonal zur Drehachse und Kardanringachse.Around To control the position of a spacecraft, various rotational inertial elements can be used become. Such an inertia element is a control pulse gyroscope (CMG). A CMG usually has one Flywheel with a fixed or variable speed of rotation mounted on a gimbal assembly. The rotation axis The CMG can be tilted by using the CMG with the gimbal assembly emotional. This movement generates a gyroscopic torque orthogonal to the axis of rotation and gimbal axis.

Um die volle Lagekontrolle über ein Weltraumfahrzeug zu erhalten, können mindestens drei CMGs, die so angeordnet sind, dass jedes CMG in der CMG-Anordnung ein Drehmoment um eine linear unabhängige Achse herum wirken lässt, verwendet werden. In der Regel sind noch weitere CMGs aus Redundanzgründen und zum Unterstützen des Vermeidens von Singularitäten vorhanden. Zu einer Singularität kommt es, wenn sich die Impulsvektoren der CMGs so aneinanderreihen, dass eine oder mehrere Komponenten des gewünschten Drehmoments nicht bereitgestellt werden können.Around the full position control over A spacecraft can receive at least three CMGs are arranged so that each CMG in the CMG arrangement has a torque around a linear independent axis works around, be used. In general, there are other CMGs for redundancy and to support avoiding singularities available. To a singularity does it happen when the momentum vectors of the CMGs line up like this, that one or more components of the desired torque are not provided can be.

Es sind mehrere verschiedene Techniken zum Vermeiden von Singularitäten entwickelt worden. In einem dieser Verfahren ist als erstes festzustellen, dass ein Jacobisches A die CMG-Kardanringraten in ein Drehmoment einer dreidimensionalen Anordnung hinein abbildet: Aω = τ (1)wobei A eine Jacobische 3×n-Matrix ist, ω eine n×1- Anordnung von Kardanringraten für die n Kardanringe ist und τ eine 3×1-Anordnung von Drehmomentkomponenten ist, die auf das Weltraumfahrzeug einwirken sollen. Aus der obigen Gleichung und mit einem bekannten Drehmomentbefehl, τ, können die individuellen Kardanringraten für jedes CMG berechnet werden. Unter Verwendung der bekannten Moore-Penrose-Pseudoinversen zum Invertieren der Jacobischen Matrix ist ein Satz möglicher Kardanringraten: ω = AT(AAT)–1τ (2) Several different techniques for avoiding singularities have been developed. In one of these methods, it is first noted that a Jacobian A maps the CMG gimbals into a torque of a three-dimensional array: Aω = τ (1) where A is a 3 × n Jacobian matrix, ω is an n × 1 array of gimbals for the n gimbals, and τ is a 3 × 1 array of torque components intended to act on the spacecraft. From the above equation and with a known torque command, τ, the individual gimbal rates for each CMG can be calculated. Using the well-known Moore-Penrose pseudo inverse for inverting the Jacobian matrix, one set of possible gimbal rates is: ω = A T (AA T ) -1 τ (2)

Wie zuvor besprochen, besteht bei der Verwendung von CMGs inhärent die Möglichkeit, dass die Impulsvektoren der CMGs sich so aneinanderreihen können, dass ein Singularitätszustand erreicht wird. Mathematisch können Singularitäten auftreten, wenn sich die Eigenwerte von AAT null nähern, wodurch (AAT)–1 in Richtung Unendlichkeit geht. Oder Singularitäten können gleichermaßen auftreten, wenn die Determinante der Matrix AAT gleich null ist (algebraisch als det(AAT) = 0 ausgedrückt). Im Fall einer 3×n-Matrix A ist dies gleichbedeutend mit der Feststellung, dass der Rang der Matrix AAT zwei oder weniger ist.As previously discussed, the use of CMGs inherently allows for the pulse vectors of the CMGs to line up to achieve a singularity state. Mathematically, singularities can occur when the eigenvalues of AA T approach zero, causing (AA T ) -1 to go toward infinity. Or singularities can equally occur if the determinant of the matrix AA T is zero (expressed algebraically as det (AA T ) = 0). In the case of a 3 × n matrix A, this is equivalent to the statement that the rank of the matrix AA T is two or less.

Es sind verschiedene Lösungsansätze zum Vermeiden von Singularitäten in der Bewegung von CMGs entwickelt worden. Bei einem Lösungsansatz wird, um sicher zu gehen, dass (AAT)–1 niemals 0 ist, (AAT)–1 durch (AAT + εI)–1 ersetzt, wobei I die Identitätsmatrix ist und ε eine kleine Zahl ist. Die Verwendung eines positiven ε gewährleistet, dass det(AAT + εI)–1 niemals 0 wird.Various approaches to avoid singularities in the motion of CMGs have been developed. In one approach, to ensure that (AA T ) -1 is never 0, (AA T ) -1 is replaced by (AA T + εI) -1 , where I is the identity matrix and ε is a small number. The use of a positive ε ensures that det (AA T + εI) -1 never becomes 0.

Zwar ist dieser Lösungsansatz in einigen Fällen brauchbar, aber ein Nachteil ist, dass dieser Lösungsansatz die Kardanringratenberechnung verändert. Im Fall des Jacobischen A bedeutet die Verwendung der Pseudoinversen, dass die Kardanringraten aufgrund des durch ε hervorgerufenen Fehlers nicht mehr exakt in die befohlenen Drehmomente hinein abgebildet werden. Dieser resultierende Fehler lenkt das Weltraumfahrzeug in die falsche Richtung und kann ein erhebliches unerwünschtes Drehmoment, insbesondere nahe der Singularität, hervorrufen.Though is this approach in some cases usable, but a disadvantage is that this approach uses the gimbal rate calculation changed. In the case of Jacobian A, the use of pseudo inverses, that the Kardanringraten due to the error caused by ε not more accurately mapped into the commanded torques. This resulting error deflects the spacecraft into the wrong one Direction and can be a significant unwanted torque, in particular near the singularity, cause.

Ein zweiter Lösungsansatz besteht darin, die Impulsabgabe der CMG-Anordnung auf einen kleineren Bereich innerhalb einer Impuls-Enveloppe zu begrenzen. Die Impuls-Enveloppe ist der Impuls, der in allen möglichen Kombinationen der CMGs in der CMG-Anordnung abgegeben wird. Je nach der CMG-Anordnung lassen sich – in einer Ausführungsform – durch Operieren innerhalb maximal eines Drittels der Impuls-Gesamtenveloppen Singularitäten vermeiden. Dieser Lösungsansatz vergeudet allerdings potenzielles Drehmoment und führt zu Systemen, die viel größer und schwerer als erforderlich sind.One second approach is the pulse output of the CMG array to a smaller area within a pulse envelope. The pulse envelope is the impulse that is in all possible Combinations of CMGs in the CMG arrangement is delivered. Depending on the CMG arrangement can be - in an embodiment - by Operate within a maximum of one third of the total impulse envelopes singularities avoid. This approach but wastes potential torque and leads to systems the much bigger and harder than necessary.

Ein weiterer Lösungsansatz ist die Verwendung von Lenkgesetzen, die Singularitäten vermeiden. Lenkgesetze ermöglichen das Bestimmen eines singularitätsfreien Impulspfades vor dem Bewegen der CMGs. Die Schwierigkeit bei Lenkgesetzen ist, dass das Bestimmen des Pfades in der Regel ein mit hohem Rechenaufwand verbundenes Unterfangen ist, das zu einer übermäßigen Verzögerung zwischen dem Befehl zum Drehen des Weltraumfahrzeugs und der eigentlichen Einleitung der Drehung führt. Es wird ein Lenkgesetz gebraucht, dass effizient und schnell einen singularitätfreien Impulspfad bestimmen kann.Another approach is to use steering laws that avoid singularities. Steering laws allow the determination of a singularity-free pulse path before moving the CMGs. The difficulty with steering laws is that determining the path is typically a high-computational effort that results in an excessive delay between the spacecraft command and the actual initiation of the rotation. It uses a steering law that can efficiently and quickly determine a singularity-free pulse path.

WO-A-99/47419 , "Constrained steering law of pyramidtype control moment gyros and ground tests", Journal of Guidance and Control and Dynamics, Band 20, Nummer 3, Mai 1997, Seiten 445 bis 449, und "Inverse-free technique for attitude control of spacecraft", ACTA astronautica, Band 39, Nummer 6, September 1996, Seiten 431 bis 438, offenbaren beide Verfahren und Vorrichtungen zum Ermöglichen einer Lagesteuerung von Weltraumfahrzeugen. WO-A-99/47419 "Constrained steering law of pyramid type control moment gyros and ground tests", Journal of Guidance and Control and Dynamics, Vol. 20, Number 3, May 1997, pages 445 to 449, and "Inverse-free technique for attitude control of spacecraft", ACTA astronautica, vol. 39, number 6, September 1996, pages 431 to 438, disclose both methods and apparatus for enabling attitude control of spacecraft.

Gemäß der Erfindung wird ein Verfahren zum Vermeiden von Singularitäten in der Bewegung von CMGs in einer Anordnung von CMGs in einem Weltraumfahrzeug bereitgestellt, das folgende Schritte aufweist:
Empfangen eines Befehls zum Ändern einer Orientierung des Weltraumfahrzeugs; und
Berechnen eines Drehmoments, das benötigt wird, um den Befehl auszuführen;
gekennzeichnet durch folgende Schritte:
Integrieren des Drehmoments, um einen Impulspfad zu bestimmen;
Approximieren des Impulspfades mit mehreren geraden Liniensegmenten; für jedes Liniensegment der mehreren Liniensegmente:
Bestimmen eines Einheitsvektors entlang den geraden Liniensegmenten;
Bestimmen, ob es einen durchgängigen Pfad gibt, der einen Startpunkt und einen Endpunkt des Liniensegments in einer Ebene senkrecht zu dem Einheitsvektor verbindet;
Bestimmen eines Satzes Impulsvektoren; und
Berechnen einer erforderlichen Kardanringbewegung für die CMGs in der Anordnung von CMGs für den Satz Impulsvektoren, die für jedes Liniensegment bestimmt wurden.
According to the invention, there is provided a method of avoiding singularities in the movement of CMGs in an array of CMGs in a spacecraft, comprising the steps of:
Receiving a command to change an orientation of the spacecraft; and
Calculating a torque needed to execute the command;
characterized by the following steps:
Integrating the torque to determine a pulse path;
Approximating the pulse path with multiple straight line segments; for each line segment of the multiple line segments:
Determining a unit vector along the straight line segments;
Determining if there is a continuous path connecting a starting point and an end point of the line segment in a plane perpendicular to the unit vector;
Determining a set of impulse vectors; and
Calculating a required gimbal movement for the CMGs in the array of CMGs for the set of impulse vectors determined for each line segment.

Ein System gemäß der Erfindung ist in Anspruch 6 definiert.One System according to the invention is defined in claim 6.

In den Zeichnungen:In the drawings:

Die vorliegende Erfindung wird im Weiteren in Verbindung mit den folgenden Zeichnungsfiguren beschrieben, in denen gleiche Bezugszahlen gleiche Elemente bezeichnen und in denen Folgendes dargestellt ist:The The present invention will be further described in connection with the following Drawing figures described in which like reference numerals are the same Denote elements and in which:

1 ist ein Blockschaubild, das ein beispielhaftes CMG-Steuersystem gemäß den Lehren der vorliegenden Erfindung veranschaulicht. 1 FIG. 12 is a block diagram illustrating an exemplary CMG control system in accordance with the teachings of the present invention. FIG.

2 ist ein Flussdiagramm eines Roadmap-Algorithmus zur Verwendung bei der CMG-Pfadplanung gemäß den Lehren der vorliegenden Erfindung und 2 FIG. 10 is a flowchart of a roadmap algorithm for use in CMG path planning according to the teachings of the present invention and FIG

3 veranschaulicht eine torusförmige Impuls-Enveloppe, die auf eine Ebene projiziert wird, gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung. 3 FIG. 12 illustrates a toroidal pulse envelope projected onto a plane according to an exemplary embodiment of the present invention. FIG.

4 veranschaulicht die Projektion einer Impuls-Enveloppe für w_perp' × (h1 + h2) gemäß den Lehren der vorliegenden Erfindung. 4 illustrates the projection of a pulse envelope for w_perp '× (h 1 + h 2 ) according to the teachings of the present invention.

5 veranschaulicht die Projektion einer Impuls-Enveloppe für w_perp' × (h0 – (h3 + h4)) gemäß den Lehren der vorliegenden Erfindung. 5 illustrates the projection of a pulse envelope for w_perp '× (h 0 - (h 3 + h 4 )) according to the teachings of the present invention.

6 veranschaulicht 4 und 5 in Kombination gemäß den Lehren der vorliegenden Erfindung. 6 illustrates 4 and 5 in combination according to the teachings of the present invention.

7 veranschaulicht die Bildung von Straßen und Kreuzungspunkten in einer Projektion der Impuls-Enveloppe einer CMG-Anordnung gemäß den Lehren der vorliegenden Erfindung und 7 Figure 4 illustrates the formation of roads and intersections in a projection of the pulse envelope of a CMG array according to the teachings of the present invention and

8 ist ein Flussdiagramm, das ein Verfahren zum Manövrieren eines Weltraumfahrzeugs gemäß den Lehren der vorliegenden Erfindung veranschaulicht. 8th FIG. 10 is a flow chart illustrating a method of maneuvering a spacecraft in accordance with the teachings of the present invention. FIG.

Die folgende detaillierte Beschreibung ist lediglich von beispielhafter Natur und soll weder die Erfindung noch deren Anwendungen und Nutzungsmöglichkeiten einschränken. Des Weiteren besteht nicht die Absicht, durch eine ausdrückliche oder implizierte Theorie gebunden zu sein, die in den vorangegangenen Abschnitten Technisches Gebiet, Allgemeiner Stand der Technik und Kurzdarstellung oder in der folgenden detaillierten Beschreibung dargestellt wurden bzw. werden.The The following detailed description is merely exemplary Nature and should neither the invention nor its applications and uses limit. Furthermore, there is no intention, by an express or to be bound by implied theory in previous ones Sections Technical Field, State of the Art and Abstract or in the following detailed description have been or will be presented.

Die folgende detaillierte Beschreibung beschreibt die Verwendung der vorliegenden Erfindung im Hinblick auf ihre Verwendung in einem beispielhaften System zum Vermeiden von Singularität in CMG-Anordnungen. Allerdings sind die Anwendungsmöglichkeiten der vorliegenden Erfindung nicht auf eine bestimmte Anwendung oder Ausführungsform beschränkt, sondern sie sind auf vielen verschiedenen Arbeitsgebieten von Nutzen.The The following detailed description describes the use of the present invention with a view to their use in one exemplary system for avoiding singularity in CMG arrangements. However, the applications are the present invention is not limited to a particular application or embodiment limited, but they are useful in many different fields.

Ein beispielhaftes Steuersystem 100 zum Implementieren der vorliegenden Erfindung ist in 1 veranschaulicht. Die Komponenten des Steuersystems 100 sind dem Fachmann bekannt und können auf verschiedene Weisen zusammengesetzt werden unter Verwendung verschiedener Prozessoren, Software, Steuereinheiten, Sensoren und dergleichen. Außerdem können verschiedene Rechenfunktionen, die in der Regel durch einen Teil des Systems ausgeführt werden, ebenso durch einen anderen Teil ausgeführt werden. Das System 100, wie in 1 gezeigt, enthält Teile, die für die Besprechung der vorliegenden Erfindung relevant sind, und das System 100 kann auch andere Elemente oder Systeme enthalten, die in einem Steuersystem vorhanden sein könnten und die alle bestens bekannt sind und nicht in 1 gezeigt sind.An exemplary control system 100 for implementing the present invention is in 1 illustrated. The components of the control system 100 are known to those skilled in the art and may be assembled in various ways using various processors, software, controllers, sensors, and the like. In addition, various computational functions, which are typically performed by one part of the system, may also be performed by another part. The system 100 , as in 1 includes portions relevant to the discussion of the present invention and the system 100 may also contain other elements or systems that might be present in a control system and which are all well known and not in 1 are shown.

Das Steuersystem 100 enthält ein Lagesteuersystem 102, das mit einem Impulsauslöse-Steuerprozessor 104 gekoppelt ist. CMGs 106 sind mit dem Impulsauslöse-Steuerprozessor 104 gekoppelt. Jedem CMG 106 sind ein oder mehrere CMG-Sensoren 108 zugeordnet, die Informationen bezüglich des Zustands des CMG 106 an das Steuersystem übermitteln. Das Steuersystem 100 ist in einer Ausführungsform an einem Weltraumfahrzeug, wie zum Beispiel einem erdumkreisenden Satelliten, montiert.The tax system 100 contains a location control system 102 that with a pulse trigger control processor 104 is coupled. CMGs 106 are with the impulse trigger control processor 104 coupled. Every CMG 106 are one or more CMG sensors 108 associated with the information regarding the state of the CMG 106 to the tax system. The tax system 100 In one embodiment, it is mounted on a spacecraft, such as a terrestrial orbiting satellite.

Das Lagesteuersystem 102 steuert die Positionierung eines Weltraumfahrzeugs. Das Lagesteuersystem 102 empfängt Daten bezüglich eines gewünschten Manövers des Weltraumfahrzeugs und legt einen geeigneten Drehmomentbefehl fest, um das gewünschte Manöver auszuführen. Die Drehmomentbefehle können an den Impulsauslöse-Steuerprozessor 104 übermittelt werden. Der Impulsauslöse-Steuerprozessor 104 kann in Reaktion auf die Drehmomentbefehle die Kardanringraten berechnen, die zum Erzeugen des befohlenen Drehmoments nötig sind. Außerdem kann der Impulsauslöse-Steuerprozessor 104 die Kardanringbewegung anhand eines Impulspfades berechnen, der durch ein Lenkgesetz bestimmt wurde.The attitude control system 102 controls the positioning of a spacecraft. The attitude control system 102 receives data regarding a desired maneuver of the spacecraft and determines an appropriate torque command to perform the desired maneuver. The torque commands may be sent to the Pulse Trip Control Processor 104 be transmitted. The impulse trigger control processor 104 In response to the torque commands, it may calculate the gimbals needed to generate the commanded torque. In addition, the impulse trigger control processor can 104 calculate the gimbal movement using a pulse path determined by a steering law.

Der Impulsauslöse-Steuerprozessor 104 gibt auf der Grundlage der oben genannten Berechnungen die nötigen Befehle an die CMGs 106 aus, so dass die CMG-Bewegung das befohlene Drehmoment erzeugt und – gemäß den Lehren der vorliegenden Erfindung – das Drehmoment abgibt, während Singularitäten vermieden werden.The impulse trigger control processor 104 Gives the necessary commands to the CMGs based on the above calculations 106 so that the CMG motion generates the commanded torque and, in accordance with the teachings of the present invention, releases the torque while avoiding singularities.

2 ist ein Flussdiagramm einer beispielhaften Ausführungsform eines Verfahrens 200, das einen geraden Pfad im Impulsraum erzeugt, der Singularitäten vermeidet, und einen entsprechenden Pfad im Kardanringwinkelraum für – in diesem Beispiel – einen Satz aus vier CMGs erzeugt, die auf den Flächen einer vierseitigen Pyramide ausgerichtet sind. Es werden drei CMGs benötigt, um drei Freiheitsgrade zu erhalten, und der vierte CMG kann für Redundanzzwecke verwendet werden, und um zu helfen, Singularitäten zu vermeiden. 2 FIG. 10 is a flowchart of an exemplary embodiment of a method. FIG 200 which generates a straight path in the momentum space that avoids singularities and creates a corresponding path in gimbal angle space for, in this example, a set of four CMGs aligned on the faces of a quadrilateral pyramid. Three CMGs are needed to get three degrees of freedom, and the fourth CMG can be used for redundancy purposes and to help avoid singularities.

In einem ersten Schritt, Schritt 202, wird der dreidimensionale Impulsraum, der durch die Bewegung der vier CMGs gebildet wird, in eine zweidimensionale Projektion zerlegt. Zunächst ist zu beachten, dass der gegebene Impuls für alle vier CMGs ist: h = h1 + h2 + h3 + h4 (3)wobei jede tiefgestellte Zahl ein individuelles CMG darstellt. In diesem verfahren liegt der befohlene Impulspfad auf der Linie: h(t) = h0 + t × w (4)wobei h0 ein Punkt auf der Impulslinie ist, t eine skalare Quantität ist, die sich entlang der Linie bewegt (zum Beispiel ein Zeitparameter), und w ein Einheitsvektor entlang der Richtung der Linie ist.In a first step, step 202 , the three-dimensional momentum space formed by the movement of the four CMGs is decomposed into a two-dimensional projection. First, note that the given momentum is for all four CMGs: h = h 1 + h 2 + h 3 + h 4 (3) where each subscript number represents an individual CMG. In this procedure, the commanded pulse path is on the line: h (t) = h 0 + t × w (4) where h 0 is a point on the impulse line, t is a scalar quantity that moves along the line (for example, a time parameter), and w is a unit vector along the direction of the line.

Ein Gleichsetzen der Gleichungen 3 und 4 ergibt: h1 + h2 + h3 + h4 = h0 + t × w (5) Equating Equations 3 and 4 yields: H 1 + h 2 + h 3 + h 4 = h 0 + t × w (5)

Da w ein Einheitsvektor entlang der Linie ist, kann w_perp als eine Projektion auf die Ebenen orthogonal zu w definiert werden. Wenn zum Beispiel w ein Einheitsvektor ist, der sich in der x-Achse bewegt, dann ist w_perp die y- und z-Ebene.There w is a unit vector along the line, w_perp may be one Projection can be defined on the planes orthogonal to w. If for example, w is a unit vector moving in the x-axis, then w_perp is the y and z plane.

Das Multiplizieren beider Seiten von Gleichung 5 mit der Transponierten von w_perp ergibt: w_perp' × (h1 + h2) = w_perp' × (h0 – (h3 + h4)) (6)da w_perp' × w = [0, 0].Multiplying both sides of Equation 5 with the transpose of w_perp yields: w_perp '× (h 1 + h 2 ) = w_perp '× (h 0 - (H 3 + h 4 )) (6) there w_perp '× w = [0, 0].

Gleichung 6 stellt eine zweidimensionale Projektion der Impuls-Enveloppe der CMGs dar. In der Projektion werden sowohl h1 + h2 als auch h0 – (h3 + h4) auf die w_perp-Ebene projiziert. Da sich der Impulspfad entlang einer Linie in der w-Ebene bewegt, muss jede Bewegung von h1 + h2 in der w_perp-Ebene exakt durch die Bewegung von h3 + h4 in der w_perp-Ebene ausgelöscht werden, da Gleichung 4 verlangt, dass alle Impulse entlang der geraden Linie verlaufen. Darum sind Bereiche, wo die Projektion von h1 + h2 sich mit der Projektion von h0 – (h3 + h4) in der w_perp-Ebene überlappt, mögliche Bereiche, wo ein Impulspfad entlang der w-Linie existiert, mit einem konstanten Effektivimpuls von w_perp' × h0 in dem zweidimensionalen Raum senkrecht zu w.Equation 6 represents a two-dimensional projection of the momentum envelope of the CMGs. In the projection, both h 1 + h 2 and h 0 - (h 3 + h 4 ) are projected onto the w_perp plane. Since the pulse path moves along a line in the w plane, any movement of h 1 + h 2 in the w_perp plane must be canceled out exactly by the movement of h 3 + h 4 in the w_perp plane, because Equation 4 requires in that all pulses run along the straight line. Therefore, areas where the projection of h 1 + h 2 overlaps with the projection of h 0 - (h 3 + h 4 ) in the w_perp plane, possible areas where a pulse path exists along the w-line are one constant effective momentum of w_perp '× h 0 in the two-dimensional space perpendicular to w.

Als ein Beispiel der Projektion von h1 + h2 auf die w_perp-Ebene ist zu beachten, dass der Impuls, h1, eines ersten CMG auf einem Kreis liegt und der Impuls, h2, eines zweiten CMG auf einem anderen Kreis liegt. In dieser beispielhaften Ausführungsform sind die relativen Geschwindigkeiten des Schwungrades des CMGs so bemessen, dass h1 + h2 zusammen eine Doughnut-förmige Figur bilden können, die gemeinhin als ein Torus bezeichnet wird. Wenden wir uns 3 zu, wo ein Torus 302 den Impulsraum darstellt, der durch h1 + h2 gebildet wird. In 3 wird der Torus 302 auf eine zweidimensionale Impuls-Enveloppe 304 projiziert, wodurch eine Impuls-Projektion 303 entsteht. Eine vertikale Linie kann den Torus 302 an 0, 2 oder 4 Stellen durchdringen. Wenn zum Beispiel eine erste Linie 306 außerhalb des Torus 302 liegt oder durch das Loch des Torus 302 verläuft, dann schneidet die erste Linie 306 den Torus 302 an 0 Stellen. Eine zweite Linie 307 schneidet die Oberfläche des Torus 302 an zwei Stellen, Punkt 308 und Punkt 310. Außerdem kann eine dritte Linie 309 in den Torus 302 eintreten und durch zwei Punkte hindurch verlaufen und sich dann durch das Loch hindurch fortsetzen und auf einer gegenüberliegenden Seite des Torus 302 austreten, wo die Linie dann an zwei weiteren Stellen, also insgesamt vier Stellen, den Torus durchdringt. Zum Beispiel kann die dritte Linie 309 den Torus 302 an Punkt 312, an Punkt 314, an Punkt 316 und an Punkt 318 schneiden.As an example of the projection of h 1 + h 2 onto the w_perp plane, note that the pulse, h 1 , of a first CMG lies on one circle and the pulse, h 2 , of a second CMG lies on another circle. In this exemplary embodiment, the relative speeds of the flywheel of the CMG are such that h 1 + h 2 together can form a donut-shaped figure, commonly referred to as a torus. Let us turn 3 to where a torus 302 represents the momentum space formed by h 1 + h 2 . In 3 becomes the torus 302 on a two-dimensional pulse envelope 304 projected, creating a momentum projection 303 arises. A vertical line can be the torus 302 penetrate at 0, 2 or 4 digits. If, for example, a first line 306 outside the torus 302 lies or through the hole of the torus 302 runs, then cuts the first line 306 the torus 302 at 0 places. A second line 307 cuts the surface of the torus 302 in two places, period 308 and point 310 , Also, a third line 309 in the torus 302 enter and pass through two points and then continue through the hole and on an opposite side of the torus 302 emerge where the line then penetrates the torus at two other places, that is a total of four places. For example, the third line 309 the torus 302 at point 312 , at point 314 , at point 316 and at point 318 to cut.

Um die Anzahl der Stellen zu bestimmen, an denen eine Linie eine Impuls-Enveloppe an jedem beliebigen Punkt (y, z) in der Projektionsebene schneiden kann, können die Winkel θ1 und θ2 unter Verwendung von w_perp × (h11) + h22)) = [y, z] gelöst werden. Das Lösen dieser Gleichungen erzeugt ein Polynom vierter Ordnung, das vier Lösungen über das Feld der komplexen Zahlen hat. Das Ignorieren der komplexen (nicht-physikalischen) Lösung führt zu der Schlussfolgerung, dass es 0, 2 oder 4 reale Lösungen geben kann, was im dreidimensionalen Raum der Anzahl von Punkten entspricht, wo eine Linie die Impuls-Enveloppe schneidet.In order to determine the number of points at which a line can intersect a pulse envelope at any point (y, z) in the plane of projection, the angles θ 1 and θ 2 can be calculated using w_perp × (h 11 ) + h 22 )) = [y, z]. Solving these equations produces a fourth-order polynomial that has four solutions over the complex number field. Ignoring the complex (non-physical) solution leads to the conclusion that there can be 0, 2, or 4 real solutions, which in three-dimensional space corresponds to the number of points where a line intersects the impulse envelope.

Wenden wir uns 4 zu. 4 veranschaulicht eine Projektion 400 von w_perp × (h1 + h2) für eine bestimmte CMG-Anordnung. Die Projektion 400 enthält eine Außengrenze 402 und eine Innengrenze 404. Die Grenzen trennen Regionen unterschiedlicher Lösungen für w_perp × (h11) + h22)) = [y, z]. In einer ersten Region 406, die durch die Innengrenze 404 umschlossen wird, gibt es vier reale Lösungen. In einer zweiten Region 408 zwischen der Innengrenze 404 und der Außengrenze 402 gibt es zwei reale Lösungen. Außerhalb der Außengrenze 402 gibt es keine realen Lösungen.Let us turn 4 to. 4 illustrates a projection 400 from w_perp × (h 1 + h 2 ) for a given CMG array. The projection 400 contains an outer border 402 and an inner border 404 , The boundaries separate regions of different solutions for w_perp × (h 11 ) + h 22 )) = [y, z]. In a first region 406 passing through the inner border 404 there are four real solutions. In a second region 408 between the inner border 404 and the external border 402 There are two real solutions. Outside the external border 402 There are no real solutions.

5 veranschaulicht eine beispielhafte Projektion 500 von w_perp' × (h0 – (h3 + h4)). Die Grenzen trennen Regionen unterschiedlicher Lösungen für w_perp × (h0 – (h33) + h44))) = [y, z]. In 5 gibt es eine Außengrenze 502 und eine Innengrenze 504, die sich an zwei Enden selbst überkreuzt. In einer ersten Region 506 zwischen der Außengrenze 502 und der Innengrenze 504 gibt es zwei reale Lösungen. In einer zweiten Region 508, die relativ elliptisch ist und durch die Innengrenze umschlossen wird, gibt es keine realen Lösungen. In den dritten Regionen 510, die etwas dreieckig sind und durch die Innengrenze 504 umschlossen werden, gibt es vier reale Lösungen. 5 illustrates an exemplary projection 500 from w_perp '× (h 0 - (h 3 + h 4 )). The boundaries separate regions of different solutions for w_perp × (h 0 - (h 33 ) + h 44 ))) = [y, z]. In 5 there is an external border 502 and an inner border 504 which crosses itself at two ends. In a first region 506 between the outer border 502 and the inner border 504 There are two real solutions. In a second region 508 , which is relatively elliptical and enclosed by the inner boundary, there are no real solutions. In the third regions 510 that are slightly triangular and through the inner border 504 there are four real solutions.

Freilich ist, wie oben besprochen, der interessierende Bereich die Überlappung der zwei Projektionen. 6 veranschaulicht die Projektion von 4 und die Projektion von 5. Ein erster Bereich 602 stellt einen Bereich dar, wo Lösungen für die Projektion w_perp' × (h1 + h2) und die Projektion w_perp' × (h0 – (h3 + h4)) einander überlappen. Da jedes hi einen Kreis umschreibt, der seine Mitte am Ursprung hat, ist w_perp' × (hi + hj) am Ursprung zentriert, und w_perp' × h0 ist die Trennung zwischen den Mitten der zwei Doughnut-förmigen Regionen. Genauer gesagt, stellt der erste Bereich 602 die Überlappung der zweiten Region 408 der Projektion 400 und der ersten Region 506 der Projektion 500 dar. Bereiche, wo es entweder keine Überlappung gibt, wie zum Beispiel die zweite Region 604, oder wo sich ein Bereich mit null Lösungen mit einem Bereich mit zwei oder vier Lösungen überlappt, wie zum Beispiel die dritte Region 606, gibt es keine Lösungen. Ein vierter Bereich 608 stellt die Überlappung der ersten Region 406 der Projektion 400 und der ersten Region 506 der zweiten Projektion 500 dar. Ein fünfter Bereich 610 stellt die Überlappung der zweiten Region 408 der Projektion 400 und der dritten Region 510 der zweiten Projektion 500 dar.Of course, as discussed above, the region of interest is the overlap of the two projections. 6 illustrates the projection of 4 and the projection of 5 , A first area 602 represents an area where solutions for the projection w_perp '× (h 1 + h 2 ) and the projection w_perp' × (h 0 - (h 3 + h 4 )) overlap each other. Since each h i circumscribes a circle having its center at the origin, w_perp '× (h i + h j ) is centered at the origin, and w_perp' × h 0 is the separation between the centers of the two donut-shaped regions. Specifically, the first range represents 602 the overlap of the second region 408 the projection 400 and the first region 506 the projection 500 areas where there is either no overlap, such as the second region 604 or where an area with zero solutions overlaps a two or four area area, such as the third area 606 There are no solutions. A fourth area 608 represents the overlap of the first region 406 the projection 400 and the first region 506 the second projection 500 a fifth area 610 represents the overlap of the second region 408 the projection 400 and the third region 510 the second projection 500 represents.

Da verschiedene Regionen verschiedene Anzahlen von Lösungen haben, kann es sein, dass es beim Bewegen entlang der Impulslinie – wenn der Pfad in der w_perp- Ebene in einem Bereich beginnt, der mehr Lösungen hat als der Bereich, in dem der Pfad endet, und wenn am Anfang der falsche Pfad gewählt wird – möglicherweise keine durchgängige Lösung zwischen den zwei Regionen gibt, und es muss möglicherweise ein anderer Pfad gewählt werden, um den Endpunkt zu erreichen. Dies ist ein Beispiel einer Kardanringarretierung innerhalb des Impulsraums.There different regions have different numbers of solutions It may be that when moving along the impulse line - if the Path in the w_perp level starts in an area that has more solutions than the area, in which the path ends, and if the wrong path is chosen at the beginning - possibly no consistent solution between the two regions, and there may be another path chosen to reach the endpoint. This is an example of one Gimbal lock within the pulse space.

Kehren wir zu 2 zurück. In Schritt 204 werden die ersten Teile der Roadmap erzeugt, wenn die Grenzkurven für die Regionen w_perp × (h1 + h2) und w_perp' × (h0 – (h3 + h4)) konstruiert werden. Die Grenzkurven sind als Grenzen definiert, die Regionen mit verschiedenen Anzahlen von Lösungen trennen. Mathematisch lassen sie sich finden, indem man hi als den Winkelimpuls des i-ten CMG und ∥⁣hi∥⁣ als die konstante Impulsgrößenordnung nimmt. Jeder Impulsvektor hi bewegt sich entlang eines Kreises. Wenn wir ei als den konstanten Einheitsvektor senkrecht zu der Ebene nehmen, die diesen Kreis enthält, so ist ei' × hi = 0.Let's go back 2 back. In step 204 The first parts of the roadmap are generated when the limit curves for the regions w_perp × (h 1 + h 2 ) and w_perp '× (h 0 - (h 3 + h 4 )) are constructed. The limit curves are defined as boundaries that separate regions with different numbers of solutions. Mathematically, they can be found by taking h i as the angular momentum of the ith CMG and ∥⁣h i ∥⁣ as the constant momentum order. Each pulse vector h i moves along a circle. If we take e i as the constant unit vector perpendicular to the plane containing this circle, then e i '× h i = 0.

Bei einer gegebenen Impulslinie h = h0 + w × t muss der Impuls senkrecht zu dieser Linie null sein, so dass w_perp' × (h1 + h2 + h3 + h4) = w_perp' × h0, da w_perp' × w = [ 0 / 0]. Dies impliziert, dass w_perp' × (h1 + h2) = w_perp' × (h0 – (h3 + h4)). Da sich jedes hi entlang einem Kreis bewegt, ergeben Kombinationen aus zwei von ihnen eine zweidimensionale Region. In der Ebene senkrecht zu w ist die zweidimensionale Region, die durch [y, z] = w_perp' × (h1 + h2) bestrichen wird, durch zwei Kurven begrenzt. Diese zwei eindimensionalen Kurven sind dort, wo die Funktion von zwei Variablen singulär ist, so dass die Funktion keine zweidimensionale Region ergibt, sondern zu einer eindimensionalen Grenzkurve degeneriert. Eine Funktion von zwei Variablen ist singulär, wenn die Jacobische Zwei-mal-zwei-Matrix singulär ist. Die Funktion [y, z] = w_perp' × (hi + hj) hat eine Jacobisches Matrix [dy, dz] = w_perp' × (dhi + dhj), wobei dhi = ei × hi der Vektor senkrecht zu hi in der Richtung ist, in der sich hi ändert, wenn sich hi entlang seinem Kreis bewegt. Die Jacobische ist singulär, wenn, und nur wenn, es einen zweidimensionalen Einheitsvektor vij gibt (vij also auf einem Kreis liegt), den die Jacobische zu null sendet, d. h. Vij' × w_perp' × ⌊ei × hiej × hj⌋ = [0 0]. (7) For a given impulse line h = h 0 + w × t, the impulse perpendicular to this line must be zero, so that w_perp '× (h 1 + h 2 + h 3 + h 4 ) = w_perp' × h 0 , since w_perp ' × w = [0/0]. This implies that w_perp '× (h 1 + h 2 ) = w_perp' × (h 0 - (h 3 + h 4 )). As each h i moves along a circle, combinations of two of them make a two-dimensional region. In the plane perpendicular to w, the two-dimensional region which is crossed by [y, z] = w_perp '× (h 1 + h 2 ) is bounded by two curves. These two one-dimensional curves are where the function of two variables is singular, so that the function does not yield a two-dimensional region but degenerates to a one-dimensional limit curve. A function of two variables is singular if the Jacobian two-by-two matrix is singular. The function [y, z] = w_perp '× (h i + h j ) has a Jacobian matrix [dy, dz] = w_perp' × (ie i + dh j ), where dh i = e i × h i is the vector is perpendicular to h i in the direction in which h i changes as h i moves along its circle. The Jacobian is singular if, and only if, there is a two-dimensional unit vector v ij (v ij thus lies on a circle), which the Jacobian sends to zero, ie V ij '× w_perp' × ⌊e i × h i e j × h j ⌋ = [0 0]. (7)

Gleichermaßen hat die Funktion [y, z] = w_perp' × (h0 – (h3 + ... + hn)) eine Jacobische Matrix [dy, dz] = –w_perp' × (h3 + ... + dhn), die singulär ist, wenn, und nur wenn, es einen zweidimensionalen Einheitsvektor v3... n gibt (v3...n also auf einem Kreis liegt), den die Jacobische zu null sendet, d. h. v3...n × w_perp' ×[e2 × h3...en × hn] = [0...0] (8) Likewise, the function [y, z] = w_perp '× (h 0 - (h 3 + ... + h n )) has a Jacobian matrix [dy, dz] = -w_perp' × (h 3 + ... + ie n ), which is singular if, and only if, there is a two-dimensional unit vector v 3 ... n (v 3 ... n thus lies on a circle), which the Jacobian sends to zero, ie v 3 ... n × w_perp '× [e 2 × h 3 ... e n × h n ] = [0 ... 0] (8)

Aber für jeweils drei Vektoren a, b, c kann die Vektoridentität a' × (b × c) = det[a b c] mit a = w_perp × vij, b = ei und c = hi verwendet werden, um jede Hälfte der obigen Gleichung umzuwandeln in: 0 = vij' × w_perp' × (ei × hi) = (w_perp × vij)' × (ei × hi) = det[w_perp × vijeihi] = –hi' × (ei × (w_perp × vij)) (9) But for every three vectors a, b, c, the vector identity a '× (b × c) = det [a bc] with a = w_perp × v ij , b = e i and c = h i can be used to form each half to convert the above equation into: 0 = v ij '× w_perp' × (e i × h i ) = (w_perp × v ij ) '× (e i × h i ) = det [w_perp × v ij e i H i ] = -H i '× (e i × (w_perp × v ij )) (9)

Somit ist hi orthogonal zu ei × (w_perp × vij), und hi ist orthogonal zu ei, so dass hi in der Richtung des Kreuzprodukts aus diesen zwei Vektoren verläuft. Somit sind Einheitsvektoren in diesen Richtungen gleich, bis zu einer möglichen Vorzeichenänderung:

Figure 00130001
Thus, h i is orthogonal to e i × (w_perp × v ij ), and h i is orthogonal to e i , so that h i is in the direction of the cross product of these two vectors. Thus, unit vectors in these directions are the same until a possible sign change:
Figure 00130001

Das Multiplizieren dieser Gleichung mit w_perp ergibt:

Figure 00140001
wobei die letzte Gleichheit die folgenden Vektoridentitäten verwendete, wobei alle Vektoren b, c, und Einheitsvektor e:
Figure 00140002
Multiplying this equation by w_perp yields:
Figure 00140001
where the last equality used the following vector identities, all vectors b, c, and unit vector e:
Figure 00140002

Eine symmetrische zwei-mal-zwei-Matrix Ai kann definiert werden als: Ai = w_perp × (I – ei × ei') × w_perp (13) A symmetric two-by-two matrix A i can be defined as: A i = w_perp × (I - e i × e i ') × w_perp (13)

Die Verwendung dieser Matrix in der letzten Gleichung w_perp' × hi ergibt:

Figure 00140003
The use of this matrix in the last equation w_perp '× h i yields:
Figure 00140003

Die inneren und äußeren (unten mit den Vorzeichen + und – zu verwenden) Grenzkurven der Region w_perp' × (h1 + h2) entstehen durch Bewegen von v12 entlang einem Kreis und Berechnen von:

Figure 00140004
The inner and outer boundary curves of the region w_perp '× (h 1 + h 2 ) (to be used with the + and - signs below) are obtained by moving v 12 along a circle and computing:
Figure 00140004

Die inneren und äußeren (unten mit den Vorzeichen + und – zu verwenden) Grenzkurven der Region w_perp' × (h0 – (h3 + h4)) entstehen durch Bewegen von v34 entlang einem Kreis und Berechnen von:

Figure 00150001
The inner and outer boundary curves of the region w_perp '× (h 0 - (h 3 + h 4 )) (to be used with the + and - signs below) are obtained by moving v 34 along a circle and calculating:
Figure 00150001

Die Grenzkurven 2n-3 (gilt unten für alle Vorzeichenauswahlen) der Region w_perp' × (h0 – (h3 + ... + hn)) entstehen durch Bewegen von v3...n entlang einem Kreis und Berechnen von:

Figure 00150002
The limit curves 2 n-3 (valid below for all sign selections) of the region w_perp '× (h 0 - (h 3 + ... + h n )) are obtained by moving v 3 ... n along a circle and computing :
Figure 00150002

Während des Berechnens der Kurven für die Region w_perp' × (h1 + h2) und die Region w_perp' × (h0 – (h3 + h4)) werden Schnittpunkte von Kurven gespeichert, und Kuspidalpunkte von Kurven werden gespeichert, um sie später bei den Roadmap-Berechnungen zu verwenden.While calculating the curves for the region w_perp '× (h 1 + h 2 ) and the region w_perp' × (h 0 - (h 3 + h 4 )), intersections of curves are stored and cuspid points of curves are stored to to use them later in the roadmap calculations.

Wenden wir uns 7 zu. 7 veranschaulicht eine weitere Anordnung von vier CMGs mit einer w_perp-Projektion von h1 + h2 und h0 – (h3 + h4). In diesem Beispiel unterscheiden sich die Werte von h1, h2, h3 und h4 von denen aus den 46. Die Projektion von w_perp' × (h1 + h2) ist durch die durchgezogene Linie dargestellt, und die Projektion von w_perp' × (h0 – (h3 + h4)) ist durch durchbrochene Linien dargestellt. Es gibt vier Regionen. Die erste Region 702 hat insgesamt 16 Lösungen, eine zweite Region 704 hat 8 Lösungen, eine dritte Region 706 hat 4 Lösungen, und eine vierte Region 708 hat 0 Lösungen. Wie zu sehen ist, trennt eine erste Grenzkurve 710 die erste und die zweite Region, eine zweite Grenzkurve 712 trennt die zweite Region und die dritte Region, eine dritte Grenzkurve 714 trennt die dritte Region 706 und die vierte Region 708, und eine vierte Grenzkurve 716 trennt die vierte Region 708 von Punkten außerhalb der Projektion.Let us turn 7 to. 7 illustrates another arrangement of four CMGs with a w_perp projection of h 1 + h 2 and h 0 - (h 3 + h 4 ). In this example, the values of h 1 , h 2 , h 3 and h 4 differ from those of the 4 - 6 , The projection of w_perp '× (h 1 + h 2 ) is through the solid Line, and the projection of w_perp '× (h 0 - (h 3 + h 4 )) is represented by broken lines. There are four regions. The first region 702 has a total of 16 solutions, a second region 704 has 8 solutions, a third region 706 has 4 solutions, and a fourth region 708 has 0 solutions. As can be seen, a first limit curve separates 710 the first and the second region, a second limit curve 712 separates the second region and the third region, a third limit curve 714 separates the third region 706 and the fourth region 708 , and a fourth limit curve 716 separates the fourth region 708 of points outside the projection.

Die Grenzkurven fungieren als Straßen oder Pfade in der Projektion. Das Bewegen aus einer Region in eine andere kann durch Bewegen entlang einer Grenzkurve geschehen, bis eine andere Grenzkurve oder eine überschneidende Straße oder ein überschneidender Pfad erreicht ist. In 6 überschneiden sich die Grenzkurven. In 7 überschneiden sich die Grenzkurven nicht. Das bedeutet nicht, dass es in 7 keine Pfade von einer Region zu einer anderen gibt. Es impliziert, dass zusätzliche Straßen in der Roadmap benötigt werden.The boundary curves act as roads or paths in the projection. Moving from one region to another can be done by moving along a limit curve until another boundary curve or intersecting road or intersecting path is reached. In 6 overlap the limit curves. In 7 the limit curves do not overlap. That does not mean it is in 7 There are no paths from one region to another. It implies that additional roads are needed in the roadmap.

In Schritt 206 werden zusätzliche Straßen für die Roadmap festgelegt, indem horizontale Tangentenlinien konstruiert werden, die Grenzkurven verbinden. Die Tangentenlinien werden so konstruiert, dass sie tangential zu den Grenzkurven verlaufen. Da die Tangentenlinien horizontal verlaufen, verlaufen sie tangential zu Grenzkurven an lokalen Maxima und Minima. In 7 sind beispielhafte horizontale Tangentenlinien 720 veranschaulicht, welche die Grenzkurven überschneiden.In step 206 additional roads are defined for the roadmap by constructing horizontal tangent lines connecting boundary curves. The tangent lines are designed to be tangent to the boundary curves. Since the tangent lines are horizontal, they run tangentially to limit curves at local maxima and minima. In 7 are exemplary horizontal tangent lines 720 illustrates which overlap the limit curves.

Außerdem sind horizontale Linien durch alle Kuspidalpunkte der Grenzkurven gezogen. Ein Kuspidalpunkt ist als ein Punkt definiert, wo sich die Richtung der Grenzkurve abrupt ändert. Wie in 7 zu sehen, hat die erste Grenzkurve 710 einen ersten Kuspidalpunkt 722, einen zweiten Kuspidalpunkt 724, einen dritten Kuspidalpunkt 726 und einen vierten Kuspidalpunkt 728. Die Kuspidallinien 730 sind durch die Kuspidalpunkte gezogen.In addition, horizontal lines are drawn through all the cuspid points of the boundary curves. A cuspid point is defined as a point where the direction of the limit curve changes abruptly. As in 7 to see, has the first limit curve 710 a first cuspid point 722 , a second cuspid point 724 , a third cuspid point 726 and a fourth cuspid point 728 , The cuspidines 730 are pulled through the cuspid points.

Die Kuspidalpunkte können, wo die Kurve abrupt die Richtung ändert, berechnet werden, indem man zuerst feststellt, dass die Formeln für Grenzkurven des zweidimensionalen [y, z] = w_perp' × (h1 + h2) gegeben sind durch:

Figure 00160001
The cuspid points, where the curve abruptly changes direction, can be calculated by first determining that the formulas for limit curves of the two-dimensional [y, z] = w_perp 'x (h 1 + h 2 ) are given by:
Figure 00160001

Damit die Kurve abrupt ihre Richtung ändert, müssen alle Komponenten ihrer Ableitung auf null gehen. Um die Ableitung der rechten Seite der obigen Gleichung mit Bezug auf den zweidimensionalen Einheitsvektorparameter v12 zu berechnen, müssen wir

Figure 00170001
auswerten.For the curve to change direction abruptly, all components of its derivative must go to zero. To calculate the derivative of the right side of the above equation with respect to the two-dimensional unit vector parameter v 12 , we must
Figure 00170001
evaluate.

Da v' × v = 1, muss die Änderung von v senkrecht zu v verlaufen:

Figure 00170002
so dassSince v '× v = 1, the change from v must be perpendicular to v:
Figure 00170002
so that

Figure 00170003
Figure 00170003

Der 2×2-Matrix-Ausdruck (v' × A × v) × A – A × v × v' × A in der obigen Gleichung kann vereinfacht werden, indem alle skalaren Terme herausmultipliziert werden, wobei

Figure 00170004
verwendet werden, so dass man
Figure 00170005
erhält.The 2 × 2 matrix expression (v '× A × v) × A-A × v × v' × A in the above equation can be simplified by multiplying out all scalar terms, where
Figure 00170004
be used, so that one
Figure 00170005
receives.

Die Verwendung dieser Identität in der vorherigen Gleichung und die Feststellung, dass ∥⁣v∥⁣2 = 1 und (I – v × v') × (I – v × v') = (I – v × v'), ergibt:

Figure 00170006
The use of this identity in the previous equation and the statement that ∥⁣v∥⁣ 2 = 1 and (I -v × v ') × (I -v × v') = (I -v × v ') :
Figure 00170006

Die Verwendung dieser Art von Ausdruck für beide Teile A1 und A2 der Kurvengleichung ergibt die Bedingungen für Kurvenkuspidalpunkte, die auftreten, wo die Ableitung der Kurve null ist:

Figure 00180001
The use of this type of expression for both parts A 1 and A 2 of the curve equation gives the conditions for curve cusp points that occur where the derivative of the curve is zero:
Figure 00180001

Darum muss der Skalar, der die Matrix (I – v12 × v12') multipliziert, null sein. Die äußere Grenzkurve entspricht dem Vorzeichen + in der obigen Formel, und die Summe zweier positiver Terme kann nicht null sein, so dass die äußere Grenzkurve keinerlei Kuspidalpunkte aufweisen kann. Die innere Grenzkurve entspricht dem Vorzeichen – in der obigen Formel, so dass Kuspidalpunkte auf der inneren Grenzkurve auftreten, wo:

Figure 00180002
Therefore, the scalar that multiplies the matrix (I - v 12 × v 12 ') must be zero. The outer limit curve corresponds to the sign + in the above formula, and the sum of two positive terms can not be zero, so that the outer limit curve can not have any cuspid points. The inner limit curve corresponds to the sign - in the above formula, so that cuspid points occur on the inner limit curve, where:
Figure 00180002

Das Multiplizieren der obigen Gleichung mit (v12' × A1 × v12)3/2 × (v12' × A2 × v12)3/2 ergibt: ∥⁣h1∥⁣ × det(A1) × (v12' × A2 × v12)3/2 = ∥⁣h2∥⁣ × det(A2) × (v12' × A1 × v12)3/2 (27) Multiplying the above equation by (v 12 'x A 1 x v 12 ) 3/2 x (v 12 ' x A 2 x v 12 ) 3/2 yields: ∥⁣h 1 ∥⁣ × det (A 1 ) × (v 12 '× A 2 × v 12 ) 3.2 = ∥⁣h 2 ∥⁣ × det (A 2 ) × (v 12 '× A 1 × v 12 ) 3.2 (27)

Das Erheben beider Seiten zur Potenz von 2/3 ergibt: (∥⁣h1∥⁣ × det (A1))2/3 × (v12' × A2 × v12) = (∥⁣h2∥⁣ × det(A2))2/3 × (v12' × A1 × v12) (28) The elevation of both sides to the power of 2/3 yields: (∥⁣h 1 ∥⁣ × det (A 1 )) 3.2 × (v 12 '× A 2 × v 12 ) = (∥⁣h 2 ∥⁣ × det (A 2 )) 3.2 × (v 12 '× A 1 × v 12 ) (28)

Wenn wir ci = (∥⁣hi∥⁣ × det(Ai))2/3 nehmen, so ergibt das Herausrechnen von v12' auf der linken Seite und v12 auf der rechten Seite: 0 = v12' × (c1 × A2 – C2 × A1) × v12 (29) Taking c i = (∥⁣h i ∥⁣ × det (A i )) 2/3 results in taking v 12 'on the left side and v 12 on the right side: 0 = v 12 '× (c 1 × A 2 - C 2 × A 1 ) × v 12 (29)

Um diese Gleichung für v12 zu lösen, nehmen wir die Eigenzerlegungen der symmetrischen 2×2-Matrix als:

Figure 00180003
To solve this equation for v 12 , we take the eigen-decompositions of the symmetric 2 × 2 matrix as:
Figure 00180003

Mit [ p1 / p2] = U × v12 wird die Kuspidalgleichung zu:

Figure 00190001
With [p1 / p2] = U × v 12 , the co-seeding equation becomes:
Figure 00190001

Diese Gleichung hat Lösungen, wenn, und nur wenn, λ1 und λ2 entgegengesetzte Vorzeichen haben, da

Figure 00190002
Nehmen wir λ1 als den größten Eigenwert, dann sind, wenn λ2 negativ ist, die vier Kuspidallösungen für den Einheitsvektor v12:
Figure 00190003
This equation has solutions if, and only if, λ 1 and λ 2 have opposite signs
Figure 00190002
Taking λ 1 as the largest eigenvalue, then, if λ 2 is negative, then the four cusp solutions for the unit vector v 12 are :
Figure 00190003

Gleichermaßen sind die Kuspidalpunkte auf der inneren Grenzkurve der Region w_perp' × (h0 – (h3 + h4)) durch Lösungen von: 0 = v34' × (c3 × A4 – c4 × A3) × v34 (33)gegeben.Likewise, the cusp points on the inner limit curve of the region w_perp '× (h 0 - (h 3 + h 4 )) are given by solutions of: 0 = v 34 '× (c 3 × A 4 - c 4 × A 3 ) × v 34 (33) given.

Nachdem die Kuspidalpunkte ermittelt sind, können horizontale Linien durch die Kuspidalpunkte gezogen werden, wodurch zusätzliche Straßen entstehen, welche die Grenzkurven verbinden.After this The cuspid points are determined by horizontal lines the cuspid points are pulled, creating additional roads, which connect the limit curves.

Gleichermaßen sind, bei Erweiterung auf N CMGs, die Kuspidalpunkte auf der inneren Grenzkurve der Region w_perp' × (h0 – (h3 + ... + hn)) durch Lösungen Von:

Figure 00190004
gegeben.Likewise, when extended to N CMGs, the cuspid points on the inner limit curve of the region w_perp '× (h 0 - (h 3 + ... + h n )) are by solutions From:
Figure 00190004
given.

Das Multiplizieren der obigen Gleichung mit (v3...n' × A3 × v3...n)3/2 × ... × (v3...n' × An × v3...n)3/2 ergibt:

Figure 00200001
Multiplying the above equation by (v 3 ... n '× A 3 × v 3 ... n ) 3/2 × ... × (v 3 ... n ' × A n × v 3 ... n ) 3/2 gives:
Figure 00200001

Das Erheben beider Seiten solcher Gleichungen zur Potenz von 2/3, das Umordnen und erneute Erheben zur Potenz von 2/3 und das Wiederholen des Prozesses n – 3-mal ergibt ein sehr hochgradiges (um die 2n-2) Polynom im Verhältnis der zwei Komponenten des Einheitsvektors v3...n. Das Bilden und Lösen solcher Polynome hoher Ordnung ist sehr schwierig für n > 4, so dass statt dessen Kuspidalpunkte der Grenzkurven

Figure 00200002
unter der Feststellung berechnet werden sollten, wann sich die Richtung der Kurve abrupt ändert, wenn die Kurve numerisch berechnet wird, wenn v3...n einen Einheitskreis umschreibt.Raising both sides of such equations to the power of 2/3, rearranging and repeating to the power of 2/3, and repeating the process n - 3 times gives a very high (by 2 n-2 ) polynomial in the ratio of two components of the unit vector v 3 ... n . Forming and solving such high-order polynomials is very difficult for n> 4, so that instead of these, cuspidal points of the boundary curves
Figure 00200002
should be calculated by determining when the direction of the curve changes abruptly when calculating the curve numerically when v 3 ... n circumscribes a unit circle.

Mit diesen zusätzlichen "Straßen" kann eine Bewegung von einer Grenzkurve zu einer anderen erfolgen, indem man sich entlang der Grenzkurve bewegt, bis eine Tangentenlinie erreicht ist, und dann weiter entlang der Tangentenlinie zu einer weiteren Grenzkurve bewegt. Zusätzlich zu den Linien, die im letzten Schritt konstruiert wurden, werden zusätzliche Linien benötigt, um die Startpunkte und die Endpunkte mit den Grenzkurven, den Tangentenlinien und den Kuspidallinien zu verbinden. Darum wird in Schritt 208 eine horizontale Linie 743 von einem Startpunkt 740 über alle Grenzkurven hinweg konstruiert, und eine horizontale Linie 745 wird von einem Endpunkt 742 über alle Grenzkurven hinweg konstruiert. Da der Impulspfad eine gerade Linie in einer Ebene orthogonal zur w_perp-Ebene ist, stimmen eine Projektion des Start- und des Stopppunktes überein. Somit erscheint eine Stopplinie in Übereinstimmung mit der Startlinie. Jedoch existieren die Linien auf verschiedenen Schichten der Projektion, etwa wie bei einer Brücke oder Autobahn mit zwei übereinanderliegenden Fahrbahnen, da sich die Start- und Stopppunkte in verschiedenen Entfernungen entlang der w-Linie befinden. Wenn zum Beispiel, womit wir zu 3 zurückkehren, der Startpunkt mit dem Punkt 312 und der Endpunkt mit Punkt 318 übereinstimmt, so sind in dreidimensionalen Räumen die zwei Punkte klar voneinander verschiedene Punkte. Nach einer Projektion in einen zweidimensionalen Raum scheinen der Startpunkt und der Endpunkt jedoch übereinzustimmen.These additional "roads" can move from one limit curve to another by moving along the limit curve until a tangent line is reached and then moving further along the tangent line to another limit curve. In addition to the lines constructed in the last step, additional lines are needed to connect the starting points and the end points to the limit curves, the tangent lines, and the cusp lines. That's why in step 208 a horizontal line 743 from a starting point 740 constructed across all boundary curves, and a horizontal line 745 is from an endpoint 742 constructed across all boundary curves. Since the pulse path is a straight line in a plane orthogonal to the w_perp plane, a projection of the start point and the stop point coincide. Thus, a stop line appears in accordance with the start line. However, the lines exist on different layers of the projection, as in a bridge or highway with two superimposed lanes, as the start and stop points are at different distances along the w-line. If, for example, what we do with 3 return, the starting point with the point 312 and the endpoint with point 318 In three-dimensional spaces, the two points are clearly different points. However, after projecting into a two-dimensional space, the starting point and end point appear to agree.

Nachdem alle Straßen konstruiert sind, können die Schnittpunkte der Linien und Kurven in Schritt 210 berechnet werden. Der Schnittpunkt stellt dar, wo ein Lösungspfad von einer Region mit Lösungen zu einer anderen Region mit Lösungen übergehen kann. Somit fungieren Kreuzungspunkte wie Autobahnausfahrten und -auffahrten im Straßenverkehr. Zum Beispiel beginnt der Startpunkt 740 in der ersten Region 702. Um sich zur zweiten Region 704 zu bewegen, kann die Bewegung von der Linie 743 zur ersten Grenzkurve 710 erfolgen, wo es einen Schnittpunkt gibt. Dann kann die Bewegung entlang der ersten Grenzkurve 710 zu einer Stelle erfolgen, wo eine der horizontalen Tangentenlinien 720 die Grenzkurve schneidet. An diesem Schnittpunkt kann die Bewegung entlang der horizontalen Tangentenlinie 720 in die zweite Region 704 hinein erfolgen.After all the roads are constructed, the intersections of the lines and curves in step 210 be calculated. The intersection represents where a solution path from one region with solutions to another region can transition to solutions. Thus, crossing points such as motorway exits and driveways function in traffic. For example, the starting point starts 740 in the first region 702 , To become the second region 704 To move, the movement of the line 743 to the first limit curve 710 take place where there is an intersection. Then the movement can be along the first limit curve 710 to a place where one of the horizontal tangent lines 720 the limit curve intersects. At this intersection, the movement can be along the horizontal tangent line 720 in the second region 704 into it.

Nachdem die Straßen und die Schnittpunkte in den zwei Dimensionen konstruiert sind, muss in Schritt 212 ermittelt werden, welche dieser Schnittpunkte auch Schnittpunkte im dreidimensionalen Raum sind. Die Schnittpunkte, zugehörigen Grenzkurven und horizontalen Linien in drei Dimensionen stellen dann die Roadmap dar.After the roads and the intersections are constructed in the two dimensions, in step 212 determine which of these intersections are intersections in three-dimensional space. The intersection points, associated boundary curves and horizontal lines in three dimensions then represent the roadmap.

Dann kann in Schritt 214 der beste Pfad, der vom Start zum Ziel zu nehmen ist, durch einen Algorithmus wie zum Beispiel den Dijkstra-Algorithmus bestimmt werden. Der Dijkstra-Algorithmus ist nach E. W. Dijkstra benannt, der einen Algorithmus entwickelt hat, um den kürzesten Pfad von einem ersten Punkt auf einer Kurve (dem Startpunkt 740) zu einem zweiten Punkt auf der Kurve (dem Endpunkt 742) zu finden. In diesem Algorithmus werden die Schnittpunkte als Scheitelpunkte in der Kurve betrachtet, und die Grenzkurven und horizontalen Kurven sind Kurvenränder.Then in step 214 the best path to take from start to finish is determined by an algorithm such as the Dijkstra algorithm. The Dijkstra algorithm is named after EW Dijkstra, who developed an algorithm to find the shortest path from a first point on a curve (the starting point 740 ) to a second point on the curve (the end point 742 ) to find. In this algorithm, the intersection points are considered as vertices in the curve, and the boundary curves and horizontal curves are curve edges.

8 veranschaulicht ein Verfahren 800 zum Steuern eines Weltraumfahrzeugs gemäß den Lehren der vorliegenden Erfindung. Zuerst wird in Schritt 802 ein Manövrierbefehl zum Drehen der Orientierung des Weltraumfahrzeugs empfangen. In einer beispielhaften Ausführungsform wird der Manövrierbefehl von einer Bodenkontrollstation an das Lagesteuersystem 102 des Weltraumfahrzeugs gesendet. Alternativ kann der Manövrierbefehl durch das Weltraumfahrzeug auf der Grundlage eines vorher festgelegten Bewegungsplanes erzeugt werden. 8th illustrates a method 800 for controlling a spacecraft according to the teachings of the present invention. First, in step 802 receive a maneuver command to rotate the orientation of the spacecraft. In an exemplary embodiment, the maneuvering command is transmitted from a ground control station to the attitude control system 102 of the spacecraft. Alternatively, the maneuvering command may be generated by the spacecraft based on a predetermined motion plan.

Nachdem der Manövrierbefehl empfangen wurde, wird in Schritt 804 das Drehmoment als eine Funktion der Zeit, die zum Manövrieren des Weltraumfahrzeugs benötigt wird, im Steuersystem 100 berechnet. Dies kann in einer Ausführungsform in dem Lagesteuersystem 102 erfolgen.After the maneuver command has been received, in step 804 the torque as a function of the time required to maneuver the spacecraft in the control system 100 calculated. This may, in one embodiment, be in the attitude control system 102 respectively.

In Schritt 806 wird das in Schritt 804 berechnete Drehmoment integriert, um einen Impulspfad als eine Funktion der Zeit zu finden. Diese Berechnung kann in dem Lagesteuersystem 102 stattfinden. In Schritt 808 wird der Impulspfad in eine Reihe gerader Liniensegmente zerlegt. Als nächstes kann dann für jedes der individuellen Liniensegmente bestimmt werden, ob es einen durchgängigen Pfad von einem Startpunkt zu einem Endpunkt eines jeden der Liniensegmente gibt. Die Anzahl der Liniensegmente, die zum Approximieren eines Impulspfades benötigt wird, richtet sich danach, wie genau die Reihe der Liniensegmente an die ursprüngliche übergangslose Impulskurve angenähert werden muss.In step 806 will that be in step 804 calculated torque is integrated to find a pulse path as a function of time. This calculation may be in the position control system 102 occur. In step 808 the pulse path is split into a series of straight line segments. Next, it may then be determined for each of the individual line segments whether there is a continuous path from a starting point to an end point of each of the line segments. The number of line segments needed to approximate a pulse path depends on how closely the row of line segments must approximate the original transitionless pulse curve.

In Schritt 810 wird für jedes Liniensegment ein Einheitsvektor w bestimmt. Wie zuvor besprochen, kann der Impuls für ein Liniensegment unter Verwendung des Einheitsvektors als: h(t) = h0 + t × w (37)ausgedrückt werden, wobei t ein Parameter, wie zum Beispiel die Zeit, ist, w der Einheitsvektor ist und h0 ein Punkt am Anfang des Liniensegments ist.In step 810 For each line segment, a unit vector w is determined. As previously discussed, the pulse for a line segment can be calculated using the unit vector as: h (t) = h 0 + t × w (37) where t is a parameter, such as time, w is the unit vector and h0 is a point at the beginning of the line segment.

Als nächstes wird in Schritt 814 der Roadmap-Algorithmus verwendet, um zu bestimmen, ob es einen Pfad in der w_perp-Ebene gibt, der die Start- und Endpunkte für ein Liniensegment verbindet. Dann können, wenn es einen Pfad gibt, in Schritt 816 für jeden Punkt entlang dem Pfad in der w_perp-Ebene die individuellen Impulsvektoren h1 und h2 für jedes Liniensegment bestimmt werden.Next will be in step 814 the roadmap algorithm is used to determine if there is a path in the w_perp plane that connects the start and end points for a line segment. Then, if there is a path, in step 816 for each point along the path in the w_perp plane, determine the individual impulse vectors h 1 and h 2 for each line segment.

Bei gegebenen Werten für den Punkt [y, z] in der Ebene senkrecht zu w kann die Gleichung [y, z] = w_perp' × (h1 + h2) verwendet werden, um individuelle Impulsvektoren h1 und h2 zu lösen. Der komplette Satz Gleichungen, die gelöst werden müssen, ist:
[y, z] = w_perp' × (h1 + h2): zwei lineare Gleichungen in h1 und h2 ∥⁣h1∥⁣2 = h1' × h1: quadratisch in h1 ∥⁣h2∥⁣2 = h2 × h2: quadratisch in h2 e1' × h1 = 0: lineare Gleichung in h1 e2' × h2 = 0: lineare Gleichung in h2 (38)
Given values for the point [y, z] in the plane perpendicular to w, the equation [y, z] = w_perp '× (h 1 + h 2 ) can be used to solve individual pulse vectors h 1 and h 2 . The complete set of equations that must be solved is:
[y, z] = w_perp '× (h 1 + h 2 ): two linear equations in h 1 and h 2 ∥⁣h 1 ∥⁣ 2 = h 1 '× h 1 : square in h 1 ∥⁣h 2 ∥⁣ 2 = h 2 × h 2 : square in h 2 e 1 '× h 1 = 0: linear equation in h 1 e 2 '× h 2 = 0: linear equation in h 2 (38)

Da y, z, w_perp, ∥⁣h1∥⁣2, ∥⁣h2∥⁣2, e1 und e2 bekannt sind, können wir die obigen sechs Gleichungen für die sechs unbekannten Komponenten der Vektoren h1 und h2 lösen. Da vier der obigen sechs Gleichungen linear sind, können sie verwendet werden, um vier der Variablen auszuschalten, wodurch zwei quadratische Gleichungen in zwei verbleibenden Variablen übrig bleiben. Mit Hilfe von Standardtechniken, wie zum Beispiel Resultanten, können die zwei quadratischen Gleichungen in zwei Variablen verwendet werden, um eine einzelne quartische Gleichung (der vierten Ordnung) in einer einzigen Variable zu erhalten. Durch Lösen der vier Wurzeln der quartischen Gleichung und anschließende Rücksubstitution können die übrigen fünf Variablen gelöst werden. Dies ergibt vier Lösungen für die Vektoren h1 und h2.Since y, z, w_perp, ∥⁣h 1 ∥⁣ 2 , ∥⁣h 2 ∥⁣ 2 , e 1 and e 2 are known, we can solve the above six equations for the six unknown components of the vectors h 1 and h 2 , Since four of the above six equations are linear, they can be used to turn off four of the variables, leaving two quadratic equations in two remaining variables. Using standard techniques, such as resultants, the two quadratic equations in two variables can be used to obtain a single quadratic equation (the fourth order) in a single variable. By solving the four roots of the quadratic equation and then backsetting, the remaining five variables can be solved. This gives four solutions for the vectors h 1 and h 2 .

Gleichermaßen kann, bei gegebenen Werten für den Punkt [y, z] in der Ebene senkrecht zu w und bei gegebenen beliebigen Werten für die Impulse h5 bis hn, die Gleichung [y, z] = w_perp' × (h0 – (h3 + h4 + h5 + ... + hn)) verwendet werden, um individuelle Impulsvektoren h3 und h4 zu lösen. Der komplette Satz Gleichungen, die gelöst werden müssen, ist:
[y, z] = w_perp' × (h0 – (h3 + h4 + h5 + ... + hn)): zwei lineare Gleichungen in unbekannten h3 und h4 ∥⁣h3∥⁣2 = h3' × h3: quadratisch in h3 ∥⁣h4∥⁣2 = h4' × h4: quadratisch in h4 e3' × h3 = 0: lineare Gleichungen in h3 e4' × h4 = 0: lineare Gleichungen in h4 (39)
Similarly, given values for the point [y, z] in the plane perpendicular to w and given any values for the pulses h 5 to h n , the equation [y, z] = w_perp '× (h 0 - ( h 3 + h 4 + h 5 + ... + h n )) can be used to solve individual impulse vectors h 3 and h 4 . The complete set of equations that must be solved is:
[y, z] = w_perp '× (h 0 - (h 3 + h 4 + h 5 + ... + h n )): two linear equations in unknown h 3 and h 4 ∥⁣h 3 ∥⁣ 2 = h 3 '× h 3 : square in h 3 ∥⁣h 4 ∥⁣ 2 = h 4 '× h 4 : square in h 4 e 3 '× h 3 = 0: linear equations in h 3 e 4 '× h 4 = 0: linear equations in h 4 (39)

Da y, z, w_perp, ∥⁣h3∥⁣2, ∥⁣h4∥⁣2, e3, e4 und h5 bis hn bekannt sind, können wir die obigen sechs Gleichungen für die sechs unbekannten Komponenten der Vektoren h3 und h4 lösen. Da vier der obigen sechs Gleichungen linear sind, können sie verwendet werden, um vier der Variablen auszuschalten, wodurch zwei quadratische Gleichungen in zwei verbleibenden Variablen übrig bleiben. Mit Hilfe von Standardtechniken, wie zum Beispiel Resultanten, können die zwei quadratischen Gleichungen in zwei Variablen verwendet werden, um eine einzelne quartische Gleichung in einer einzigen Variable zu erhalten. Durch Lösen der vier Wurzeln der quartischen Gleichung und anschließende Rücksubstitution können die verbleibenden 5 Variablen gelöst werden. Dies ergibt vier Lösungen für die Vektoren h3 und h4.Since y, z, w_perp, ∥⁣h 3 ∥⁣ 2 , ∥⁣h 4 ∥⁣ 2 , e 3 , e 4, and h 5 to h n are known, we can use the above six equations for the six unknown components of the vectors Release h 3 and h 4 . Since four of the above six equations are linear, they can be used to turn off four of the variables, leaving two quadratic equations in two remaining variables. Using standard techniques, such as resultants, the two quadratic equations in two variables can be used to obtain a single quadratic equation in a single variable. By solving the four roots of the quadratic equation and then backsetting, the remaining 5 variables can be solved. This gives four solutions for the vectors h 3 and h 4 .

Die obige Lösungstechnik vermeidet das Verwenden von Trigonometrie. Eine alternative Lösungstechnik ist, h1 und h2 als Summen konstanter Vektoren mal den Sinus und den Kosinus der Kardanringwinkel θ1 und θ2 zu schreiben und dann die obigen vier linearen Gleichungen zusammen mit den folgenden zwei quadratischen Gleichungen zu lösen: (cos(θ1))2 + (sin(θ1))2 = 1 und (cos(θ2))2 + (sin(θ2))2 = 1.The above solution technique avoids the use of trigonometry. An alternative solution technique is to write h 1 and h 2 as sums of constant vectors times the sine and cosine of the gimbals θ 1 and θ 2 and then solve the above four linear equations together with the following two quadratic equations: (cos (θ 1 )) 2 + (sin (θ 1 )) 2 = 1 and (cos (θ 2 )) 2 + (sin (θ 2 )) 2 = 1.

Schließlich können die Impulsvektoren dann an den Impulsauslöse-Steuerprozessor 104 gesendet werden, und die richtigen Kardanringbewegungen können bestimmt werden. Wenn die Werte für θ1 und θ2 in Schritt 816 ermittelt werden, können in Schritt 818 die Kardanringwinkel auf der Grundlage der Werte, die für jeden Punkt in dem Pfad in der w_perp-Ebene bestimmt wurden, geändert werden.Finally, the impulse vectors can then be sent to the impulse trigger control processor 104 can be sent, and the correct gimbal movements can be determined. If the values for θ 1 and θ 2 in step 816 can be determined in step 818 the gimbals angles are changed based on the values determined for each point in the path in the w_perp plane.

Obgleich in der vorangegangenen detaillierten Beschreibung mindestens eine beispielhafte Ausführungsform vorgestellt wurde, versteht es sich, dass es eine sehr große Anzahl von Varianten gibt. Es versteht sich des Weiteren, dass die beispielhafte Ausführungsform oder die beispielhaften Ausführungsformen lediglich Beispiele sind und den Geltungsbereich, die Anwendbarkeit oder die Konfiguration der Erfindung in keiner Weise einschränken sollen. Vielmehr gibt die vorangegangene detaillierte Beschreibung dem Fachmann einen bequemen Wegweiser zum Implementieren der beispielhaften Ausführungsform oder beispielhaften Ausführungsformen in die Hand. Es versteht sich, dass verschiedene Änderungen an der Funktion und Anordnung von Elementen vorgenommen werden können, ohne den Geltungsbereich der Erfindung, wie er in den angehängten Ansprüchen dargelegt ist, zu verlassen.Although at least one in the foregoing detailed description exemplary embodiment It is understood that it is a very large number of variants. It is further understood that the exemplary embodiment or the exemplary embodiments are just examples and scope, applicability or in no way limit the configuration of the invention. Rather, the foregoing detailed description gives those skilled in the art a convenient guide to implementing the exemplary embodiment or exemplary embodiments In the hand. It is understood that various changes can be made on the function and arrangement of elements without the scope of the invention as set forth in the appended claims is to leave.

Claims (10)

Verfahren zum Vermeiden von Singularitäten in der Bewegung von CMGs (106) in einer Anordnung von CMGs (106) in einem Weltraumfahrzeug, das folgende Schritte aufweist: Empfangen eines Befehls zum Ändern einer Orientierung des Weltraumfahrzeugs; und Berechnen eines Drehmoments, das benötigt wird, um den Befehl auszuführen; gekennzeichnet durch folgende Schritte: Integrieren des Drehmoments, um einen Impulspfad zu bestimmen; Approximieren des Impulspfades mit mehreren geraden Liniensegmenten; für jedes Liniensegment der mehreren Liniensegmente: Bestimmen eines Einheitsvektors entlang den geraden Liniensegmenten; Bestimmen, ob es einen durchgängigen Pfad gibt, der einen Startpunkt und einen Endpunkt des Liniensegments in einer Ebene senkrecht zu dem Einheitsvektor verbindet; Bestimmen eines Satzes Impulsvektoren; und Berechnen einer erforderlichen Kardanringbewegung für die CMGs (106) in der Anordnung von CMGs (106) für den Satz Impulsvektoren, die für jedes Liniensegment bestimmt wurden.Method for avoiding singularities in the movement of CMGs ( 106 ) in an array of CMGs ( 106 in a spacecraft, comprising the steps of: receiving a command to change an orientation of the spacecraft; and calculating a torque required to execute the command; characterized by the steps of: integrating the torque to determine a pulse path; Approximating the pulse path with multiple straight line segments; for each line segment of the plurality of line segments: determining a unit vector along the straight line segments; Determining if there is a continuous path connecting a starting point and an end point of the line segment in a plane perpendicular to the unit vector; Determining a set of impulse vectors; and calculating a required gimbal movement for the CMGs ( 106 ) in the arrangement of CMGs ( 106 ) for the set of impulse vectors determined for each line segment. Verfahren nach Anspruch 1, wobei der Schritt des Bestimmens eines Einheitsvektors des Weiteren aufweist, jedes Liniensegment zu einem Einheitsvektor und einem skalaren Parameter, der sich entlang der Linie h(t) = h0 + t × wbewegt, wobei h(t) der Impulspfad für das Liniensegment ist, t ein skalarer Parameter ist und w der Einheitsvektor ist, gleichzusetzen.The method of claim 1, wherein the step of determining a unit vector further comprises, each line segment, a unit vector and a scalar parameter extending along the line h (t) = h 0 + t × w where h (t) is the pulse path for the line segment, t is a scalar parameter and w is the unit vector. Verfahren nach Anspruch 1, wobei der Schritt des Bestimmens, ob es einen durchgängigen Pfad gibt, der einen Startpunkt und einen Endpunkt des Liniensegments in einer senkrechten Ebene verbindet, des Weiteren enthält, eine Ebene senkrecht zu dem Einheitsvektor, w_perp-Ebene, zu berechnen.The method of claim 1, wherein the step of Determine if it is a consistent one Path that specifies a start point and an end point of the line segment in a vertical plane connects, further includes, a Plane perpendicular to the unit vector, w_perp plane, to calculate. Verfahren nach Anspruch 1, das des Weiteren das Senden des Impulsvektors zu einem Impulsauslöse-Steuerprozessor enthält, um die erforderliche Kardanringbewegung zu bestimmen.The method of claim 1, further comprising transmitting of the pulse vector to a pulse trigger control processor to provide the required gimbal movement to determine. Verfahren nach Anspruch 1, wobei der Schritt des Bestimmens, ob es einen durchgängigen Pfad gibt, der einen Startpunkt und einen Endpunkt des Liniensegments in einer senkrechten Ebene verbindet, des Weiteren Folgendes enthält: Projizieren eines dreidimensionalen Impulsraumes auf eine zweidimensionale Ebene, um eine w_perp-Projektion zu bilden; Bestimmen von Grenzkurven der w_perp-Projektion; Verbinden der Grenzkurven mit einer Reihe horizontaler Tangentenlinien, wobei jede der horizontalen Tangentenlinien tangential zu einer der Grenzkurven verläuft und sich durch die Grenzkurven hindurch erstreckt; Verbinden der Grenzkurven mit einer Reihe horizontaler Kuspidallinien, wobei jede der Kuspidallinien tangential zu einem Kuspidalpunkt einer der Grenzkurven verläuft und sich durch die Grenzkurven hindurch erstreckt; Konstruieren einer Startlinie von dem Startpunkt, wobei die Startlinie die w_perp-Projektion kreuzt; Konstruieren einer Endlinie von dem Endpfad, wobei die Linie die w_perp-Projektion kreuzt; Wählen von Stellen als Überschneidungspunkte, wo die Grenzkurven, die Horizontale, die Tangentenlinien, die Kuspidallinien, die Startlinien und die Endlinien einander treffen; und Bestimmen eines optimalen Pfades von dem Startpunkt zu dem Endpunkt unter Nutzung der Überschneidungspunkte.The method of claim 1, wherein the step of Determine if it is a consistent one Path that specifies a start point and an end point of the line segment in a vertical plane, further includes: Project a three-dimensional momentum space on a two-dimensional plane, a w_perp projection to build; Determining limit curves of the w_perp projection; Connect the boundary curves with a series of horizontal tangent lines, where each of the horizontal tangent lines is tangent to one of the boundary curves extends and extending through the limit curves; Connect the limit curves with a series of horizontal Cuspidallinien, wherein each of the cusp lines tangent to a cuspid point of a the limit curves runs and extending through the limit curves; To construct a start line from the start point, where the start line is the w_perp projection crosses; Construct an end line from the end path, where the line crosses the w_perp projection; Choosing digits as crossover points, where the boundary curves, the horizontal, the tangent lines, the cuspidines, the start lines and the end lines meet each other; and Determine an optimal path from the starting point to the end point below Use of the overlap points. Steuersystem (100) für ein Weltraumfahrzeug, das Folgendes aufweist: mehrere Steuermomentgyroscope (106), die mit einem Impulsauslöse-Steuerprozessor (104) verbunden sind und dafür konfiguriert sind, Befehle von dem Impulsauslöse-Steuerprozessor (104) zu empfangen, um die Orientierung des Weltraumfahrzeugs zu ändern; ein Lagesteuersystem (102), das dazu dient: einen Befehl zum Ändern der Orientierung des Weltraumfahrzeugs zu empfangen; und ein Drehmoment zu berechnen, das benötigt wird, um die Orientierung des Weltraumfahrzeugs zu drehen; dadurch gekennzeichnet, dass das Lagesteuersystem dafür konfiguriert ist: das Drehmoment zu integrieren, um einen Impulspfad zu bestimmen; den Impulspfad mit mehreren geraden Liniensegmenten zu approximieren; für jedes Liniensegment der mehreren Liniensegmente einen Einheitsvektor entlang den geraden Liniensegmenten zu bestimmen; und zu bestimmen, ob es einen durchgängigen Pfad gibt, der einen Startpunkt und einen Endpunkt des Liniensegments in einer Ebene senkrecht zu dem Einheitsvektor verbindet; für jedes Liniensegment der mehreren Liniensegmente einen Satz Impulsvektoren zu bestimmen; und den Impulsauslöse-Steuerprozessor (104), der mit dem Lagesteuersystem (102) verbunden ist, wobei der Impulsauslöse-Steuerprozessor (104) dafür konfiguriert ist, einen Satz Kardanringbewegungen für jeden Impulsvektor zu bestimmen, der für jedes Liniensegment bestimmt wurde.Tax system ( 100 ) for a spacecraft, comprising: a plurality of momentum gyroscopes ( 106 ) with a pulse-trigger control processor ( 104 ) and are configured to execute commands from the impulse triggering control processor ( 104 ) to change the orientation of the spacecraft; a position control system ( 102 ), which serves to: receive a command to change the orientation of the spacecraft; and calculate a torque needed to rotate the orientation of the spacecraft; characterized in that the attitude control system is configured to: integrate the torque to determine a pulse path; to approximate the pulse path with several straight line segments; for each line segment of the plurality of line segments, a unit vector along the straight line segment to determine and determine if there is a continuous path connecting a starting point and an end point of the line segment in a plane perpendicular to the unit vector; for each line segment of the plurality of line segments, determine a set of impulse vectors; and the impulse trigger control processor ( 104 ), which is compatible with the position control system ( 102 ), the impulse trigger control processor ( 104 ) is configured to determine a set of gimbals for each pulse vector determined for each line segment. System nach Anspruch 6, wobei das Lagesteuersystem (102) des Weiteren dafür konfiguriert ist, jedes Liniensegment zu einem Einheitsvektor und einem skalaren Parameter, der sich entlang der Linie h(t) = h0 + t × w bewegt, wobei h(t) der Impulspfad für ein Liniensegment ist, t ein skalarer Parameter ist und w der Einheitsvektor ist, gleichzusetzen.A system according to claim 6, wherein the attitude control system ( 102 ) is further configured to form each line segment into a unit vector and a scalar parameter extending along the line h (t) = h 0 + t × w where h (t) is the pulse path for a line segment, t is a scalar parameter and w is the unit vector. System nach Anspruch 6, wobei der Impulsauslöse-Steuerprozessor dafür konfiguriert ist, eine erforderliche Kardanringbewegung für jeden Punkt (y(t), z(t)) entlang des Pfades zu berechnen.The system of claim 6, wherein the pulse firing control processor is configured therefor is a required gimbal movement for each point (y (t), z (t)) to calculate along the path. System nach Anspruch 6, wobei der Impulsauslöse-Steuerprozessor (104) dafür konfiguriert ist, die Kardanringwinkel an die mehreren Steuermomentgyroscope (106) zu senden, um die Kardanringwinkel zu ändern.A system according to claim 6, wherein said impulse triggering control processor ( 104 ) is configured to apply the gimbal angles to the multiple control gyroscopes ( 106 ) to change the gimbals angle. System nach Anspruch 6, wobei das Lagesteuersystem (102) beim Bestimmen, ob es einen durchgängigen Pfad gibt, der einen Startpunkt und einen Endpunkt des Liniensegments in einer senkrechten Ebene verbindet, des Weiteren dafür konfiguriert ist: einen dreidimensionalen Impulsraum auf eine zweidimensionale Ebene zu projizieren, um eine w_perp-Projektion zu bilden; die Grenzkurven der w_perp-Projektion zu bestimmen; die Grenzkurven mit einer Reihe horizontaler Tangentenlinien zu verbinden, wobei sich jede der horizontalen Tangentenlinien durch die Grenzkurven hindurch erstreckt; die Grenzkurven mit einer Reihe horizontaler Kuspidallinien zu verbinden, wobei jede der Kuspidallinien tangential zu einem Kuspidalpunkt einer der Grenzkurven verläuft, wobei sich die Kuspidallinien durch die Grenzkurven hindurch erstrecken; eine Startlinie von dem Startpunkt zu konstruieren, wobei die Startlinie die w_perp-Projektion kreuzt; eine Endlinie von dem Endpfad zu konstruieren, wobei die Endlinie die w_perp-Projektion kreuzt; Stellen als Überschneidungspunkte zu wählen, wo die Grenzkurven, die Horizontale, die Tangentenlinien, die Kuspidallinien, die Startlinien und die Endlinien einander treffen; und einen optimalen Pfad von dem Startpunkt zu dem Endpunkt unter Nutzung der Überschneidungspunkte zu bestimmen.A system according to claim 6, wherein the attitude control system ( 102 ) in determining whether there is a continuous path connecting a start point and an end point of the line segment in a vertical plane, further configured to: project a three-dimensional momentum space onto a two-dimensional plane to form a w_perp projection; to determine the limit curves of the w_perp projection; connecting the boundary curves to a series of horizontal tangent lines, each of the horizontal tangent lines extending through the boundary curves; connecting the limit curves to a series of horizontal cuspid lines, each of the cuspid lines being tangent to a cuspid point of one of the limit curves, the cuspid lines extending through the boundary curves; construct a start line from the start point, the start line crossing the w_perp projection; construct an end line from the end path, the end line crossing the w_perp projection; To choose points as points of overlap where the limit curves, the horizontal, the tangent lines, the cusp lines, the start lines and the end lines meet; and determine an optimal path from the starting point to the end point using the overlap points.
DE602006000587T 2005-08-03 2006-08-02 Method and system for determining a pulse path without singularity Active DE602006000587T2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/197,047 US7464899B2 (en) 2005-08-03 2005-08-03 Method and system for determining a singularity free momentum path
US197047 2005-08-03

Publications (2)

Publication Number Publication Date
DE602006000587D1 DE602006000587D1 (en) 2008-04-10
DE602006000587T2 true DE602006000587T2 (en) 2009-03-26

Family

ID=37400863

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602006000587T Active DE602006000587T2 (en) 2005-08-03 2006-08-02 Method and system for determining a pulse path without singularity

Country Status (4)

Country Link
US (1) US7464899B2 (en)
EP (1) EP1749743B1 (en)
JP (1) JP4944534B2 (en)
DE (1) DE602006000587T2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7464899B2 (en) 2005-08-03 2008-12-16 Honeywell International Inc. Method and system for determining a singularity free momentum path
JP5556782B2 (en) * 2011-10-04 2014-07-23 三菱電機株式会社 Satellite attitude control device
US9038958B1 (en) * 2012-05-29 2015-05-26 United States Of America As Represented By The Secretary Of The Navy Method and apparatus for contingency guidance of a CMG-actuated spacecraft
US8880246B1 (en) * 2012-08-22 2014-11-04 United States Of America As Represented By The Secretary Of The Navy Method and apparatus for determining spacecraft maneuvers
RU2562466C1 (en) * 2014-04-29 2015-09-10 Акционерное общество "Ракетно-космический центр "Прогресс" (АО "РКЦ "Прогресс") Spacecraft orientation control method and device for its implementation
US10005568B2 (en) 2015-11-13 2018-06-26 The Boeing Company Energy efficient satellite maneuvering
JP6556371B2 (en) * 2016-09-09 2019-08-07 三菱電機株式会社 Attitude control device, attitude control system, ground station, artificial satellite, attitude control method and program
US10175700B2 (en) * 2017-03-22 2019-01-08 The Boeing Company Methods and apparatus to minimize command dynamics of a satellite
US10484095B2 (en) * 2017-06-15 2019-11-19 The Aerospace Corporation Communications relay satellite with a single-axis gimbal
CN108319143B (en) * 2018-02-11 2021-02-09 北京控制工程研究所 Method for planning maneuvering target of spacecraft to moving coordinate system in real time
CN110990943B (en) * 2019-11-13 2023-10-20 上海航天控制技术研究所 Singular point judgment method based on singular geometric meaning of control moment gyro group

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5681012A (en) * 1995-01-05 1997-10-28 Hughes Electronics Spacecraft control with skewed control moment gyros
US6047927A (en) * 1998-03-16 2000-04-11 Honeywell Inc. Escaping singularities in a satellite attitude control
US6131056A (en) * 1998-03-16 2000-10-10 Honeywell International Inc. Continuous attitude control that avoids CMG array singularities
US6039290A (en) 1998-03-16 2000-03-21 Honeywell Inc. Robust singularity avoidance in satellite attitude control
FR2826470B1 (en) * 2001-06-26 2003-09-19 Astrium Sas METHOD AND DEVICE FOR STEERING THE ATTITUDE AND GUIDANCE OF A SATELLITE BY A GYRODYNES CLUSTER
JP4511390B2 (en) * 2005-03-01 2010-07-28 三菱電機株式会社 Satellite attitude control device
US7464899B2 (en) 2005-08-03 2008-12-16 Honeywell International Inc. Method and system for determining a singularity free momentum path

Also Published As

Publication number Publication date
US20070029447A1 (en) 2007-02-08
US7464899B2 (en) 2008-12-16
JP2007042109A (en) 2007-02-15
EP1749743A1 (en) 2007-02-07
DE602006000587D1 (en) 2008-04-10
JP4944534B2 (en) 2012-06-06
EP1749743B1 (en) 2008-02-27

Similar Documents

Publication Publication Date Title
DE602006000587T2 (en) Method and system for determining a pulse path without singularity
DE60215174T2 (en) METHOD AND DEVICE FOR REGULATING SATELLITE POSITION AND CONTROL WITH A GYRODYN CLUSTER
EP0601051B1 (en) Measurement arrangement useful for controlling the attitude of a three-axis stabilized satellite, corresponding evaluation process, regulating system and process
DE69828339T2 (en) Program for creating maneuvers
DE4129627C2 (en) Device and method for position control of a spacecraft to be rotated about a body-fixed axis
DE202011110906U1 (en) Path planning for street level navigation in a three dimensional environment and applications thereof
DE3436839C2 (en) Steering processor
DE2436641A1 (en) METHOD, SYSTEM AND DEVICE FOR TRACKING AND DETERMINING AN OBJECT
DE69630767T2 (en) Position control for spacecraft using gimbaled engines
DE4124654A1 (en) Continuous automatic vehicle orientation on road - using monocular image and modelling to estimate road curvature and width from geometry and dynamic aspects of scene
DE2804290A1 (en) RING LASER GYROSCOPE
DE102020212520B3 (en) Horizontal position definition for the display of virtual objects in a head-up display device
DE60008103T2 (en) MOMENTS POSITION CONTROL
DE3734941C2 (en)
EP3575912A1 (en) Robotic mower
DE102015102459B4 (en) Method and device for driving a simulator
EP0335116A2 (en) Method of aligning a two axis platform
DE2744431C2 (en) Navigation device for navigating land vehicles
DE10341893B4 (en) Method for reducing the Doppler in a coherent pulse radar system and use of the method
EP0557592B1 (en) Device for calibrating a measuring device
JP5052852B2 (en) Method and system for determining momentum paths without singularities
EP0733546B1 (en) Three axis stabilized spacecraft and method of sun acquisition
DE60130627T2 (en) Guidance method for a moment control gyroscope
DE10100023A1 (en) Redundant flywheel device for storing energy
DE2150734A1 (en) Control system for direction adjustment

Legal Events

Date Code Title Description
8364 No opposition during term of opposition