Dynamically tilting flat table to impart a time-varying gravity-induced acceleration on a floating spacecraft simulator
10297168 ยท 2019-05-21
Assignee
Inventors
- Josep Virgili-Llop (Monterey, CA, US)
- Richard Salvatore Zappulla, II (Kirtland, NM, US)
- Marcello Romano (Monterey, CA, US)
Cpc classification
B23Q1/00
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
Disclosed is a planar test bed comprising a planar surface and further comprising mechanical couplings in mechanical communication with the planar table and the supporting legs. The mechanical couplings are translatable to provide three degrees of freedom for orientation of the planar surface. A processor receives position and velocity information describing an object on the planar surface, and calculates a relative acceleration typically using a function a.sub.R=f(t,x.sub.R,v.sub.R,.sub.t). The processor communicates with the mechanical couplings to establish an orientation where a local gravity vector projects onto the planar surface and generates acceleration with magnitude and direction substantially equal to the desired acceleration a.sub.R The operations occur in cyclic fashion so the desired accelerations and planar orientations are updated as an object transits over the planar surface.
Claims
1. A planar test bed for creating time-varying gravity-induced accelerations comprising: a planar table, the planar table comprising a planar surface and the planar surface comprising a first location, and where the planar surface comprises an axis x.sub.p and an axis y.sub.p where the axis x.sub.p is perpendicular to the axis y.sub.p; one or more mechanical couplings, where each mechanical coupling is in mechanical communication with the planar table and a supporting leg, and where the each mechanical coupling is mechanically translatable, where a mechanical translation of the each mechanical coupling alters a position vector between a specific point on the planar table and a specific point on the supporting leg; and a processor in data communication with the one or more mechanical couplings where the processor is programmed to perform steps comprising: retrieving a quantified local gravity vector; and performing a cyclic operation to create the time-varying gravity-induced accelerations by: receiving an object location at a time t.sub.0, where the object location at the time t.sub.0 is a location on the planar surface; obtaining an object velocity, where the object velocity is a relative velocity between the object location at the time t.sub.0 and the first location comprising the planar surface; computing a desired acceleration vector a.sub.R, where the desired acceleration vector a.sub.R is a function of at least the first location comprising the planar surface, the object location at the time t.sub.0, and the object velocity; calculating a desired planar surface orientation comprising: projecting the quantified local gravity vector onto the axis x.sub.p to generate an a.sub.x1, projecting the quantified local gravity vector onto the axis y.sub.p to generate an a.sub.y1, projecting the desired acceleration vector a.sub.R onto the axis x.sub.p to generate an a.sub.x2, and projecting the desired acceleration vector a.sub.R onto the axis y.sub.p to generate an a.sub.y2, and wherein 0.9(a.sub.x1/a.sub.x2)1.1 and 0.9(a.sub.y1/a.sub.y2)1.1; mimicking the desired acceleration vector a.sub.R on the planar surface, by communicating with one or more mechanical couplings and directing the one or more mechanical couplings to mechanically translate and establish the planar surface in the desired planar surface orientation; and receiving a subsequent object location at a time t.sub.i, where the time t.sub.i is later than the time t.sub.0, and repeating the obtaining the object velocity step, the computing the desired acceleration vector a.sub.R step, the calculating the desired planar surface orientation step, and the mimicking the desired acceleration vector a.sub.R on the planar surface step using the subsequent object location at the time t.sub.j as the object location at the time t.sub.0, thereby creating the time-varying gravity-induced acceleration.
2. The planar test bed of claim 1 where the planar surface comprises an axes origin, and where an axis x.sub.0, and axis y.sub.o, and an axis z.sub.o intersect at the axes origin, where the axis x.sub.0 is perpendicular to the axis y.sub.0 and the axis z.sub.0 is perpendicular to the axis y.sub.0 and the axis x.sub.0, and where when the axis z.sub.0 is parallel to the quantified local gravity vector and the planar surface is perpendicular to the axis z.sub.o, the mechanical translation of the one or more mechanical couplings provides three degrees of freedom to the planar table, where the first degree of freedom is a rotation around the axis x.sub.0, the second degree of freedom is a rotation around the axis y.sub.0, and the third degree of freedom is a translation parallel to the axis z.sub.0.
3. The planar test bed of claim 2 where the desired planar surface orientation calculated by the processor defines an angle .sub.x between the axis x.sub.P and the axis x.sub.o and an angle .sub.y between the axis y.sub.P and the axis y.sub.o, and at least one of the angle .sub.x and the angle .sub.z is greater than zero.
4. The planar test bed of claim 1 where the processor is programmed to obtain the object velocity by performing steps comprising: collecting a plurality of object locations where the plurality of object locations comprises the object location at the time t.sub.0 and the subsequent object location at the time t.sub.i; and calculating the object velocity using the plurality of object locations, the time t.sub.o, and the time t.sub.i.
5. The planar test bed of claim 4 further comprising a motion sensing system comprising a camera, where the camera has a field of view and where the planar table comprises at least some portion of the field of view, and where the camera is in data communication with the processor, and where the processor is further programmed to perform steps comprising: receiving a plurality of images from the camera where the plurality of images comprises an image for the time t.sub.o and an image for the time t.sub.i; determining the object location at the time t.sub.0 using at least the image for the time t.sub.o and determining the subsequent object location at the time t.sub.i using at least the image for the time t.sub.i.
6. The planar test bed of claim 4 further comprising an object in data communication with the processor, where the processor is further programmed to receive the object location at the time t.sub.0 and the subsequent object location at the time t.sub.i from the object.
7. The planar test bed of claim 1 where the planar table further comprises one or more inclinometers, where the one or more inclinometers have a first measurement axis parallel to the axis x.sub.p and a second measurement axis parallel to the axis y.sub.p, and the one or more inclinometers in data communication with the processor, and where the processor is further programmed to receive a first inclination from the one or more inclinometers and a second inclination from the one or more inclinometers and determine a current planar surface orientation utilizing the first inclination and the second inclination.
8. The planar test bed of claim 1 where the planar table further comprises one or more distance meters in data communication with the processor, and where the processor is further programmed to receive a one or more distance measures from the one or more distance meters and determine a current planar surface orientation utilizing the one or more distance measures.
9. A system for creating time-varying gravity-induced acceleration on a planar surface, the system comprising: a planar table, the planar table comprising a planar surface and the planar surface comprising a first location, and the planar surface comprising an axis x.sub.p and an axis y.sub.p where the axis x.sub.p is perpendicular to the axis y.sub.p, and a local gravity vector acting on the planar table; an object in contact with the planar surface and moving across the planar surface, and the object residing at an object location, where the object location is a location of the object on the planar surface relative to the first location comprising the planar surface; one or more mechanical couplings where each mechanical coupling is in mechanical communication with the planar table and a supporting leg, and where the each mechanical coupling is mechanically translatable, where a mechanical translation of the each mechanical coupling alters a position vector between a specific point on the planar table and a specific point on the supporting leg; a processor in data communication with the one or more mechanical couplings and performing steps comprising: receiving the object location; obtaining an object velocity, where the object velocity is a relative velocity between the object and the first location comprising the planar surface; computing a desired acceleration vector a.sub.R, where the desired acceleration vector a.sub.R is a function of at least the first location comprising the planar surface, the object location, and the object velocity; calculating a desired orientation of the planar surface comprising: projecting the local gravity vector onto the axis x.sub.p to generate an a.sub.x1, projecting the local gravity vector onto the axis y.sub.p to generate an a.sub.y1, projecting the desired acceleration vector a.sub.R onto the axis x.sub.p to generate an a.sub.x2, and projecting the desired acceleration vector a.sub.R onto the axis y.sub.p to generate an a.sub.y2, wherein 0.9(a.sub.x1/a.sub.x2)1.1 and 0.9(a.sub.y1/a.sub.y2)1.1; communicating the desired orientation of the planar surface to one or more mechanical couplings, where each mechanical coupling is in mechanical communication with the planar table and a supporting leg, and where the each mechanical coupling is mechanically translatable, where a mechanical translation of the each mechanical coupling alters a position vector between a specific point on the planar table and a specific point on the supporting leg; the one or more mechanical couplings mechanically translating, and the mechanical translations of the one or more mechanical couplings establishing the planar surface in the desired orientation of the planar surface; and the object transiting over the planar surface from the object location to a subsequent object location, where the subsequent object location is another location of the object on the planar surface relative to the first location comprising the planar surface, and the system repeating the receiving the object location step, the obtaining the object velocity step, the computing the desired acceleration vector a.sub.R step, the calculating the desired orientation of the planar surface step, the communicating the desired orientation of the planar surface to the one or more mechanical couplings step, and the one or more mechanical couplings mechanically translating step using the subsequent object location as the object location, thereby creating the time-varying gravity-induced acceleration.
10. The system of claim 9 where the planar table comprises an origin O, and where an axis z.sub.o is parallel to the local gravity vector and intersects the origin O, and where an axis x.sub.0 is perpendicular to the axis z.sub.0 and an axis y.sub.0 is perpendicular to both the axis z.sub.0 and the axis x.sub.0, and where the desired orientation of the planar surface defines an angle .sub.x between the axis x.sub.P and the axis x.sub.o and an angle .sub.y between the axis y.sub.P and the axis y.sub.o, and further comprising the one or more mechanical couplings mechanically translating and establishing the angle .sub.x and the angle .sub.y.
11. The system of claim 10 further comprising: a motion sensing system comprising a camera, where the camera has a field of view and where the object is within the field of view, and the camera communicating a plurality of images to the processor; and the processor receiving the plurality of images and determining the object location and the subsequent object location using the plurality of images.
12. The system of claim 11 further comprising the processor determining the object velocity using the plurality of images.
13. The system of claim 10 further comprising the object communicating the object location and the subsequent object location to the processor.
14. The system of claim 10 further comprising: one or more inclinometers having a first measurement axis parallel to the axis x.sub.p and a second measurement axis parallel to the axis y.sub.p, and the one or more inclinometers communicating a first inclination and a second inclination to the processor, where the first inclination describes an angle between the axis x.sub.P and the local gravity vector and the second inclination describes an angle between the axis y.sub.P and the local gravity vector; and the processor utilizing the first inclination and the second inclination to determine a current planar surface orientation.
15. The system of claim 10 further comprising: one or more distance meters communicating one or more distances to the processor where the one or more distances are parallel to the local gravity vector; and the processor utilizing the one or more distances to determine a current planar surface orientation.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9) Embodiments in accordance with the invention are further described herein with reference to the drawings.
DETAILED DESCRIPTION OF THE INVENTION
(10) The following description is provided to enable any person skilled in the art to use the invention and sets forth the best mode contemplated by the inventor for carrying out the invention. Various modifications, however, will remain readily apparent to those skilled in the art, since the principles of the present invention are defined herein specifically to provide an apparatus and method for the generation of a time-varying gravity-induced acceleration on a test vehicle operating on top of the planar test bed surface.
(11) A particular embodiment of the planar test bed is illustrated at
(12) As discussed, test beds involving planar surfaces and intended to support test vehicles on air bearings have been used to simulate free-flying spacecraft environments. The air bearings allows quasi-frictionless translational and rotational freedom of the test vehicle over the planar surface, and often provide for supporting leg adjustment in order to level the planar surface with the local horizontal, achieving a reduced gravity environment on the plane. See e.g., Rybus, et al., Planar air-bearing microgravity simulators: Review of applications, existing solutions and design parameters, Acta Astronautica 120 (2016), among others. However, these planar test beds are established in a given, fixed orientation so that the simulated acceleration on the planar surface is some constant value independent of test vehicle location. This presents significant limitation in systems where a relative acceleration imparted to the test vehicle is expected to vary based, for example, on the test vehicle position and velocity. For example,
(13) The relative acceleration {umlaut over ()}(t) between the two bodies can be seen as the superposition of multiple accelerations caused by multiple physical phenomena. First, there is the acceleration between the two spacecraft arising from non-inertial nature of the reference frame and from the relative orbital dynamics {umlaut over ()}.sub.rod(t). The relative dynamics acceleration {umlaut over ()}.sub.rod(t) can be modelled, in the case of circular orbits and for small relative orbital distances, with the Hill-Clohessy-Wiltshire equations. In more general terms, the relative orbital dynamics acceleration between the two bodies might be expressed by some function {umlaut over ()}.sub.rod(t)=f(t,,,.sub.e), with .sub.rod denoting the relevant orbital parameters, such as: mean motion, eccentricity, true anomaly, etc. In addition to the acceleration caused by the relative dynamics, the target or chaser spacecraft may be subject to a relative acceleration {umlaut over ()}.sub.e(t) caused by other environmental disturbances, such as: aerodynamic drag, solar radiation pressure, etc. This relative acceleration between the two bodies might also be expressed by some function {umlaut over ()}.sub.e(t)=f(t,,{dot over ()},.sub.e), with .sub.e denoting the relevant environmental parameters (e.g., atmospheric density, orbital elements, spacecraft attitude, etc.). Finally, the action of the chaser or target actuators may also cause a relative acceleration {umlaut over ()}.sub.a(t). The resulting relative acceleration is then the combination of these {umlaut over ()}(t)={umlaut over ()}.sub.rod(t)+{umlaut over ()}.sub.e(t)+{umlaut over ()}.sub.a(t). The relative acceleration {umlaut over ()}.sub.a(t) is recreated by the chaser and target actuators, while the relative acceleration due to the relative orbital dynamics {umlaut over ()}.sub.rod(t) or the environmental forces {umlaut over ()}.sub.e(t) is recreated by tilting the test bed operating surface {umlaut over ()}.sub.t(t)={umlaut over ()}.sub.rod (t)+{umlaut over ()}.sub.e(t). This acceleration to be provided by the operating surface tilt might be expressed by some function {umlaut over ()}.sub.t(t)=f(t,,{dot over ()},.sub.t), with .sub.t denoting the relevant orbital .sub.rod and environmental parameters .sub.e.
(14) As is additionally understood, the relative position vectors (t), (t.sub.2), (t.sub.3), and (t.sub.4) between the target and the chaser can be represented on a planar test bed surface such as that illustrated at
(15) The planar test bed disclosed herein greatly mitigates this issue by providing one or more mechanical couplings capable of establishing a planar surface orientation as directed by a controller in data communication with the mechanical couplings. In brief and as will be discussed further, the controller receives an object location describing a point on the planar surface from, for example, a camera vision sensing system monitoring the planar surface, a communication from a maneuvering test vehicle, or some other means, and additionally either receives or determines a velocity vector describing the state of the object. In operation, the object in terms of both location and velocity refers generally to some test vehicle operating on the planar surface during a simulation. The controller takes the object location and velocity and, based on the position and velocity relative to first location 302, determines a relative acceleration using a function of the form {umlaut over ()}.sub.t(t)=f(t,,{dot over ()},.sub.t) or equivalently a.sub.R=f(t,x.sub.R,v.sub.R,.sub.t). The controller then communicates with the mechanical couplings to establish an orientation of planar surface P such that the local gravity vector projected onto planar surface P mimics the relative acceleration vector a.sub.R determined for the situation as reported by the system. Generally a.sub.R comprises a first component parallel to the axis x.sub.p comprising planar surface P and a second component comprising the axis y.sub.p comprising planar surface P. In this manner, the processor cyclically operates such that the planar test bed provides time-varying relative accelerations on a test vehicle which appropriately vary as the test vehicle assumes various states during a simulation. For example, relative to
(16) As discussed, the particular embodiment of the planar test bed 100 illustrated at
(17) Planar test bed 100 further comprises one or more mechanical couplings such as mechanical couplings 103, 105, and 107, as earlier indicated. Each mechanical coupling is in mechanical communication with planar table 101 and further in mechanical communication with a supporting leg. For example, at
(18) Planar test bed 100 further comprises processor 109 in data communication with the one or more mechanical couplings. Data communication as used here means that a connectivity sufficient to allow data to pass between a first component and a second component is present, regardless of whether any such data is presently passing from the first component to the second component. For example at
(19) Processor 109 is programmed to provide commands to the mechanical couplings by executing a series of programmed steps in a generally cyclic fashion. As discussed, the commands generated orient planar surface P such that the gravity vector g acts through planar surface P in a manner representing a relative acceleration expected between two bodies in a simulated situation. Generally, processor 109 establishes the location of one body to the first location 102 of planar surface P while tracking the varying position of a second body over planar surface P, such that the observed motion of the second body with respect to the fixed first location 102 models the relative spatial parameters such as the relative position between the two bodies, the relative velocity between the two bodies, and the relative acceleration between the two bodies. For example at
(20) In order to provide the necessary orientations of planar surface P, processor 109 is programmed to retrieve a quantified local gravity vector. The quantified local gravity vector provides a value for the local gravity expected such as g, and may be retrieved through any appropriate means, such as retrieval from an embedded memory device, receipt through a manual input, communication with an instrument such as an accelerometer, or other means. Processor 109 is further programmed to receive an object location at a time t.sub.0, and programmed to treat the object location at the time t.sub.0 as representative of a location on planar surface P, such as L.sub.1. Processor 109 may retrieve the object location from any source. In a particular embodiment, processor 109 retrieves the object location via communication with a camera vision sensing system such as that comprising camera 113 and camera 114.
(21) Processor 109 is further programmed to obtain an object velocity and treat the object velocity as a directional velocity of the object location received relative to first location 102. Processor 109 may obtain the object velocity from any source and any appropriate method. Typically processor 109 obtains the object velocity through communication with employed velocity sensing elements. In a particular embodiment, processor 109 obtains the velocity from communications with the camera vision sensing system comprising cameras 113 and 114. In another embodiment, processor 109 is programmed to obtain the velocity through communication with instrumentation comprising a test vehicle moving over planar surface P. Processor 109 treats the object velocity obtained as representative of a velocity at a time t.sub.i. For example, when processor receives an object location L.sub.1 corresponding to a time t.sub.1, and additionally obtains an object velocity corresponding to the object location L.sub.1, it treats the corresponding object velocity as representative of the directional velocity of the object at the time t.sub.1 with the object generally situated at location L.sub.1.
(22) Processor 109 is further programmed to compute a desired acceleration vector, where the desired acceleration vector is a function of at least the first location 102, the object location at a time t.sub.i such as L.sub.1 at the time t.sub.1, and the corresponding object velocity. In typical embodiments, processor 109 is further programmed to obtain other parameters .sub.t, with these parameters being used to modify the acceleration to be applied. Generally, the function defining the desired acceleration vector may be expressed as a.sub.R=f(t,x.sub.R,v.sub.R,.sub.t), where t is the time associated with the object location received, x.sub.R is the relative spatial relationship as represented by the object location received, v.sub.R is the object velocity obtained, .sub.t denote other relevant fixed, or time-varying parameters at time t, and a.sub.R is the desired acceleration vector. Typically x.sub.R, v.sub.R and .sub.t are expressed and utilized as vector quantities. The desired acceleration a.sub.R may be determined using any appropriate expression, provided the expression is a function of t, x.sub.R, v.sub.R and .sub.t. In a typical embodiment, the function models inertial or non-inertial accelerations describing the motion of target and chaser spacecraft during proximity maneuvers. In other embodiments the function models inertial or non-inertial accelerations of a spacecraft relative to an object considered stationary. In most cases, appropriate scaling terms necessary to accurately reduce an expected scenario to the dimension of the planar surface P. In a particular embodiment, the function is a linearized equation of relative motion with variables expressed in an LVLH frame. In another embodiment, the linearized equation of relative motion describes relative motion between two spacecraft orbiting a third body. In some embodiments, the function comprises the orbital rate of a target spacecraft.
(23) Having determined the desired acceleration vector a.sub.R, processor 109 is programmed to calculate a desired planar surface orientation in which a vector projection of the quantified local gravity vector onto planar surface P mimics the desired acceleration vector a.sub.R. Processor 109 calculates the desired planar surface orientation by determining an orientation where, when the planar surface is in the desired planar surface orientation, the quantified local gravity vector projected onto the axis x.sub.p generates an a.sub.x1 and the quantified local gravity vector projected onto the axis y.sub.p generates an a.sub.y1, and the desired acceleration vector projected onto the axis x.sub.p generates an a.sub.x2 and the desired acceleration vector projected onto the axis y.sub.p generates an a.sub.y2, and 0.9(a.sub.x1/a.sub.x2)1.1 and 0.9(a.sub.y1/a.sub.y2)1.1. In some embodiments, 0.95(a.sub.x1/a.sub.x2)1.05 and 0.95(a.sub.y1/a.sub.y2)1.05, and in other embodiments, 0.99(a.sub.x1/a.sub.x2)1.01 and 0.99(a.sub.y1/a.sub.y2)1.01. Stated equivalently, the desired planar surface orientation is an orientation of planar surface P where a.sub.x1 divided by a.sub.x2 is greater than or equal to 0.9 and less than or equal to 1.1, in some embodiments greater than or equal to 0.95 and less than or equal to 1.05, and in other embodiments greater than or equal to 0.99 and less than or equal to 1.01, and where a.sub.y1 divided by a.sub.y2 is greater than or equal to 0.9 and less than or equal to 1.1, in some embodiments greater than or equal to 0.95 and less than or equal to 1.05, and in other embodiments greater than or equal to 0.99 and less than or equal to 1.01.
(24) As used here, the desired planar surface orientation means an orientation of a coordinate system comprising the x.sub.P and y.sub.P of planar surface P with respect to a coordinate system comprising an axis x.sub.o, an axis y.sub.0, and an axis z.sub.o, where the axis x.sub.o, the axis y.sub.0, and the axis z.sub.o intersect at an origin O comprising planar table 101, and where the axis z.sub.0 is parallel to the quantified local gravity vector, the axis x.sub.0 is perpendicular to the axis y.sub.0, and the axis y.sub.0 is perpendicular to both the axis z.sub.0 and the axis x.sub.0. Processor 109 may calculate this desired planar surface orientation using any appropriate methodology known in the art, provided that the orientation establishes a geometry where at least 0.9(a.sub.x1/a.sub.x2)1.1 and 0.9(a.sub.y1/a.sub.y2)1.1. An appropriate x.sub.o-y.sub.o-z.sub.o coordinate system is illustrated at
(25) As an example of an appropriate orientation,
(26) In the orientation depicted at
(27) Having calculated the desired planar surface orientation, processor 109 is programmed to issue commands to the one or more mechanical couplings and direct mechanical translations sufficient to establish planar surface P in the desired planar surface orientation. In this manner, processor 109 directs an orientation of planar surface P such that the local gravity vector g projected onto planar surface P acts to mimic the desired acceleration vector a.sub.R on planar surface P.
(28) Test bed 100 operates cyclically to generate the time-varying gravity-induced acceleration by receiving a subsequent object location at a time t.sub.i, for example L.sub.2 at
(29) The mechanical couplings as discussed are generally slidably translatable, rotably translatable, or both, such that a mechanical translation of the one or more mechanical couplings alters a position vector between some specific, fixed point comprising the planar table and some specific, fixed point comprising the supporting leg. In embodiments where the planar test bed 100 comprises the origin O, the axis x.sub.0, the axis y.sub.o, and the axis z.sub.o, when the axis z.sub.0 is parallel to the quantified local gravity vector and the planar surface P is perpendicular to the axis z.sub.o, the rotatable, slidable or other mechanical translation of the one or more mechanical couplings provides three degrees of freedom to planar table 100, with the first degree of freedom a rotation around the axis x.sub.0, the second degree of freedom a rotation around the axis y.sub.0, and the third degree of freedom a translation parallel to the axis z.sub.0. Such mechanical couplings are known in the art and may be one of or a combination of mechanical couplings generally referred to as leveling wedges, leveling mounts, ball-and-socket joints, hinge joints, slider joints, universal joints, piston joints, and others. Typically the one or more mechanical joints comprise a motorized element in data communication and receiving commands from processor 109, and the motorized element generates motive force acting on and repositioning the mechanical joint in order to provide the desired orientation of planar surface P. In some embodiments, the motorized elements may communicate back to processor 109 in order to report a current mechanical posture of the mechanical coupling.
(30) In some embodiments, planar table 101 further comprises one or more inclinometers in data communication with processor 109 and providing indications to processor 109 describing a current orientation of planar surface P. For example, in one embodiment, planar table 101 comprises inclinometers 118 and 119 where inclinometer 118 has a measurement axis parallel to axis x.sub.p of planar surface P and provides an inclination relative to axis x.sub.o, and inclinometer 119 has a measurement axis parallel to axis y.sub.p of planar surface P and provides inclination relative to axis y.sub.o. Such inclinometers are known in the art and generally determine inclinations using a local gravity vector such as g. As is understood, a single biaxial inclinometer may also be employed. In an embodiment, planar table 101 comprises one or more inclinometers in data communication with processor 109, and processor 109 is further programmed to receive a first inclination and a second inclination, treat the first inclination and second inclination as indicative of the current orientation of the axes x.sub.p and y.sub.p relative to at least the axis x.sub.o and the axis y.sub.o, and determine a current planar surface orientation of planar surface P utilizing the first inclination and the second inclination.
(31) In other embodiments, planar test bed 100 comprises one or more and typically a plurality of laser distance meters in data communication with processor 109 and providing distance measures to processor 109 in order to describe a current orientation of planar surface P. For example, at
(32) In certain embodiments, processor 109 obtains an object position via communication with a camera vision sensing system such as that comprising camera 113, camera 114, and image processor 115. Image processor 115 may be a processor wholly distinct from processor 109 and in data communication with processor 109 via 123 as illustrated, or image processor 115 may be a set of instructions residing within processor 109. In these embodiments, cameras 113 and 114 are oriented such that the field-of-view (FOV) of each camera includes at least some portion of planar surface P. In other embodiments, processor 109 or image processor 115 obtains an object velocity using two or more images received from one or more of the cameras based on a displacement depicted and an elapsed time.
(33) The cyclic nature of the operations of processor 109 is depicted generally at
(34) At 530, processor 109 computes a desired acceleration a.sub.R for the time t.sub.i using a function comprising time t, the object location x.sub.R retrieved, the object velocity v.sub.R obtained, and typically the required relevant orbital, environmental, and scaling parameters .sub.t. In a typical embodiment, the desired acceleration is determined with a function a.sub.R=f(t,x.sub.R,v.sub.R,.sub.t). When applicable, the processor may receive the required parameters .sub.t from any source. Some of the parameters .sub.t utilized in the function results from communications with a test vehicle operating on planar surface P.
(35) At 531, processor 109 calculates the desired planar surface orientation to reproduce the desired acceleration a.sub.R on planar surface P, by determining an orientation where a vector projection of the quantified local gravity vector g.sub.v onto a plane comprising the x.sub.p and y.sub.p axes of the planar surface P sufficiently mimics the desired acceleration a.sub.R. The appropriate orientation is an orientation where the quantified local gravity vector g.sub.v projected onto the axis x.sub.p generates an acceleration a.sub.x1 and the desired acceleration vector projected onto the axis x.sub.p generates an a.sub.x2, with 0.9(a.sub.x1/a.sub.x2)1.1, and also where the quantified local gravity vector projected onto the axis y.sub.p generates an a.sub.y1 and the desired acceleration vector projected onto the axis y.sub.p generates an a.sub.y2, with 0.9(a.sub.y1/a.sub.y2)1.1.
(36) At 532, the processor directs the one or more mechanical couplings such as M.sub.1, M.sub.2, and M.sub.3 to mechanically translate and establish planar surface P in the desired planar surface orientation.
(37) At 533, the processor determines if continued operations are required, and if so, increments t.sub.i at 534 to establish a new t.sub.i, and repeats at least steps 527-533. At 533, processor 109 may use any indication to determine continuation, such as a maximum t.sub.i, a particular relative position x.sub.R received, a manual input, or any other criteria by which continuation of the process may be affirmed. Further, it is understood that the duration of the time interval t at
(38) In a particular embodiment, the rigid flat table (e.g. a granite monolith) is mounted on top of three height-adjustable pedestals. By changing the height of the pedestals the orientation of the table's flat surface with respect to the local gravity is adjusted. When the table deviates from its leveled orientation, a gravitational acceleration is imparted to the test vehicles. The actuators that regulate the height of the pedestals are connected to a central controller (i.e. a computer) that coordinates their action so that the desired table orientation (i.e. acceleration) is obtained. Two high precision inclinometers (or one two-axis inclinometer) measure the orientation of the operating surface with respect to the local gravity and provide feedback to the controller. By measuring the height of three points of the flat table the orientation of the table can also be determined. Three high precision laser distance meters can be used for this task.
(39) Assume, without loss of generality, that the three pedestals to surface contact point positions are known with respect to a fixed reference frame with a Cartesian Coordinate System having the z-axis aligned with the local gravity. Let the vector from the origin of this reference frame to the three supports be denoted by p.sub.i with i=1, 2, 3. A vector n that is normal to the table's surface can be easily computed as follows.
n=(p.sub.3p.sub.1)(p.sub.2p.sub.1).
(40) Define, without a loss in generality, a reference frame that is attached to the test bed flat table with its z.sup.0-axis perpendicular to the surface (i.e. along n). If {circumflex over (n)} denotes the normalized n vector and g=9.81 m/s.sup.2 denotes local surface gravity magnitude, then the acceleration imparted on a test vehicle floating on the flat table frame can be determined as follows.
a.sub.x=g{circumflex over (n)}.sub.x
a.sub.y=g{circumflex over (n)}.sub.y
(41) The orientation of the flat table can be time-varying in order to impart a time-varying acceleration a.sub.R(t). In general, a model f can be used to determine the required acceleration a.sub.R given the current time t, as well as the position x.sub.R and velocity v.sub.R based on the test vehicle. Other time-varying parameters .sub.t(t) may also be used to drive the f model.
a.sub.R=f(t,x.sub.R,v.sub.R,.sub.t)
(42) As the f model may depend on the state of the test vehicle (x.sub.R and v.sub.R) this state must be known by the controller. Different methods can be used to determine the state of the vehicles (for example a motion capture system or state estimation provided by the test vehicle(s)). A wireless link between the test vehicle and the controller can be used by the vehicle to transmit some of the .sub.t parameters that may be needed by the f model. The controller can also inform the test vehicle of the flat table orientation and the resulting acceleration a.sub.R.
(43) A particularly suitable disposition to actuate the height-adjustable pedestals is a leveling wedge actuated by an electric motor.
(44) The central controller is used to coordinate the electric motors that actuate the wedge leveling mounts. Although an open-loop scheme could be used to control the three motors, two high precision inclinometers or three laser distance meters can be used to provide feedback to the controller. An overview of all the elements in an embodiment of the system is shown in
(45) An alternative realization uses a linear motor in conjunction with one or more supporting legs as shown in
(46) Additional relevant information on the operations of a particular embodiment of the planar test bed is presented below.
(47) Description of a Specific Embodiment
(48) The invention disclosed provides a floating spacecraft simulator that comprises a flat table that can dynamically change its orientation with respect to the local gravity and thus impart a time-varying acceleration to the test vehicles. This capability can be used to impart arbitrary time-varying accelerations to the test vehicles without using their actuators, thus greatly extending the applicability of planar air bearing test beds.
(49) The non-inertial accelerations that appear when studying the motion of spacecraft during proximity maneuvers provide a paradigmatic example of the utility of this concept. By tilting the flat table these non-inertial accelerations can be imparted to the test vehicles. As these accelerations are dependent on the relative state between the spacecraft and the origin of the non-inertial frame (e.g. see the Hill-Clohessy-Wiltshire equations) the tilt of the flat table must constantly change to impart the correct acceleration (magnitude and direction).
(50) A spacecraft orbiting a small and irregular planetary body is another example where a spacecraft would be subject to a time-varying residual acceleration that can be recreated by continuously tilting the flat table. In some other scenarios, other orbital perturbations cannot be neglected either (e.g. aerodynamic forces or solar radiation pressure perturbations). By tilting the flat table, the effects of these time-varying perturbations can also be recreated. By tilting the flat table all the vehicles floating on its top experience the same acceleration.
(51) Unfortunately air-bearing test beds have operating tables limited dimensions and in most instances the considered problems span much larger distances. To accommodate these test scenarios, generic scaling of the system dynamics allows to replication on small operating surfaces.
(52) Scaling of the Problem Dynamics:
(53) The Buckingham's Pi theorem is utilized to derive the scaling laws. This theorem states that for a system described by p variables which involve q independent dimensional units, there exists p-q dimensionless 7L parameters that must remain invariant during the scaling process in order to guarantee dynamic similitude. The following vectorial relationships can be used to fully describe the test vehicle's translational dynamics, with F denoting the resultant force acting on the vehicle, m its mass, t time, and a, v, and r denoting the vehicle's acceleration, velocity and position respectively
(54)
(55) As the test vehicle is moving on a plane, Eq. 2 can be decomposed into two systems of scalar equations.
(56)
(57) Focusing in any of these two systems it is immediate to observe that it contains p=6 relevant variables (F.sub.i, m, a.sub.i, v.sub.i, r.sub.i, t) which involve q=3 independent dimensional units (mass M, length L, and time T). According to Buckingham's Pi theorem, there are pq=3 independent dimensionless parameters.
(58) A systematic method to derive these dimensionless parameters is to select q core variables from the p set to represent the q independent dimensional units. For example, we can select m for the mass M, x.sub.i for distance L, and t for time T. The pq dimensionless parameters can be found by finding the combination of the core variables that when multiplied with each of the remaining p variables produces a dimensionless parameter. This problem can be formulated as finding the coefficients that make the following parameters dimensionless.
.sub.1=t.sup.1,1r.sub.i.sup.2,1m.sup.3,1v.sub.i(3a)
.sub.2=t.sup.1,2r.sub.i.sup.2,2m.sup.3,2a.sub.i(3b)
.sub.3=t.sup.1,3r.sub.i.sup.2,3m.sup.3,3F.sub.i(3c)
(59) It is then straightforward to find the p coefficients and thus the dimensionless parameters that must be kept constant in order to preserve the dynamic similitude are the following.
(60)
(61) If a variable on the original problem is denoted by Q its scaled version will be denoted by Q.sup.0. We can then define its scaling factor as follows.
(62)
(63) By imposing the invariance of the Eq. 4 dimensionless parameters the following scaling laws between the different scaling factors can be derived.
.sub.ri=.sub.t.sub.vi(6a)
.sub.ri=.sub.2t.sub.ai(6b)
.sub.m.sub.ri=.sub.2t.sub.Fi(6c)
(64) For a one-dimensional case, there are 6 scaling parameters .sub.Q to set and only 3 linearly independent nonlinear equations.
(65) These scaling laws can be utilized to greatly expand the applicability of the test bed. Assume emulation of the Apollo Moon landings on the POSEIDYN test bed. See Zappulla II, R., Virgili-Llop, J., Zagaris, C., Park, H., and Romano, M., Dynamic Air-Bearing Hardware-in-the-Loop Testbed to Experimentally Evaluate Autonomous Spacecraft Proximity Maneuvers, Journal of Spacecraft and Rockets, in press, 2017. The mass of the Lunar Module was approximately 15000 kg and it maximum thrust of 45 kN. The POSEIDYN test vehicle's mass is 10 kg and their maximum thrust is 0.3 N. Therefore, select .sub.m=10 and .sub.F=500/3. To recreate the last 300 m of landing phase in the 4 m granite monolith then .sub.x=10. It thus follows that .sub.t=0.87, .sub.a=100, and .sub.v=86. The Moon's surface gravity of g=1.625 m/s.sup.2 will have to be simulated in the test bed as a g=0.01625 m/s.sup.2, which corresponds to tilting the table 0.095. As the scaled Moon acceleration g is several orders of magnitude larger than the 19 g of residual acceleration on the POSEIDYN test bed (equivalent to a surface tilt of 0.0011), the scaled Moon gravity could be recreated without being significantly impacted by the test bed residual acceleration. Another interesting point to note about this example is that the maneuver time on the air bearing test bed will only be 13% slower than the real landing maneuver. By forcing the flight computer to be idle for 13% of the time, the guidance navigation and control software can be tested with equivalent real-time conditions.
(66) An upcoming mission might attempt to perform a touch-and go maneuver on the near-Earth asteroid Bennu. With the appropriate scaling, this maneuver can also be practiced on the POSEIDYN test bed. The spacecraft mass is approximately 1500 kg and uses two 0.08 N thrusters. The final touch-and-go maneuver occurs from an altitude of 125 m. The resulting scaling is .sub.m=150, .sub.F=0.53, and .sub.x=31.2, .sub.t=93.8, .sub.a=0.0036, and .sub.v=0.33. The surface gravity of Bennu is g.sub.B2.110.sup.5 m/s.sup.2, which is well below the residual acceleration of the POSEIDYN test bed. When the scaling is factored in then g.sub.B.sup.00.0059 m/s.sup.2 (corresponding with a tilt of 0.034), which is approximately 30 times larger than the test bed residual acceleration. In this case the maneuver in the test bed occurs much faster than the real maneuver (.sub.t times faster) and thus if the guidance and control software can meet the more stringent time requirements in the test bed it will have time to spare once in space.
(67) This analysis can be easily extended to the two-dimensional case. In that case there are p=9 relevant variables (F.sub.1,2,m,a.sub.1,2,v.sub.1,2,r.sub.1,2,t) and still q=3 independent dimensional units. Therefore pq=6 independent 7r dimensionless parameters can be defined.
(68)
(69) The scaling factor relationships also double when the additional dimension is introduced.
.sub.r1=.sub.t.sub.v1 .sub.r2=.sub.t.sub.v2(8a)
.sub.r1=.sub.2t.sub.a1 .sub.r2=.sub.2t.sub.a2(8b)
.sub.m.sub.r1=.sub.2t.sub.F1 .sub.m.sub.r2=.sub.2t.sub.F2(8c)
(70) These scaling relationships show that the scaling in the two different dimensions can be different. In the case of the planetary landings this can be used to scale the along track landing dimension, which may not be of the same magnitude that the maneuver's vertical dimension.
(71) The scaling can also be used to recreate the relative orbital dynamics. Assume a standard case of a spacecraft operating in close proximity of a Resident Space Object (RSO) that is in a circular orbit around the Earth. The relative motion of the spacecraft in relation to the RSO can be approximated, in the local-vertical local-horizontal frame, by the well known Hill-Clohessy-Wiltshire equations shown in Eq. 9.
(72)
(73) In Eq. 9, the x direction is along the RSO orbital velocity (V-bar), y points towards the center of the Earth (R-bar) and z is perpendicular to the orbit plane. The mean motion of the orbit is denoted by n and can be computed by Eq. 10, where is the Earth's and a denotes the orbit's semi-major axis. It is worth pointing out at this point that the relationship between the orbit's period P and the mean motion can be expressed as in Eq. 11 and then it is straightforward to derive the relationship between .sub.n and .sub.t.
(74)
(75) In this approximation the relative motion occurring out of the orbit's plane is independent from the in-plane motion and can be then controlled independently. For a planar test bed it may be more interesting to simulate the in-plane relative orbital dynamics. By appropriately scaling the problem and by dynamically tilting the test bed's operating surface the relative orbital dynamics effects can be emulated.
(76) To illustrate the procedure on how to determine the scale factors and the operating surface tilt time history an example is here provided. Assume that the spacecraft is simply in a relative periodic orbit around the RSO. If there are no external forces on the spacecraft F.sub.x,y,z=0 the in-plane Clohessy-Wiltshire equations have the following closed form solution.
(77)
(78) By selecting the Eq. 14 initial conditions, the periodic orbit described in Eq. 15 is obtained.
(79)
(80) The velocities and accelerations can be computed as follows.
v.sub.x(t)=2v.sub.0 sin nt a.sub.x(t)=2nv.sub.0 cos nt(16a)
v.sub.y(t)=v.sub.0 cos nt a.sub.y(t)=nv.sub.0 sin nt(16b)
(81) Assume simulating a circumnavigation of the International Space Station (ISS), so let x.sub.0=450 m so that the m is bigger than the ISS keep-out zone. As the POSEIDYN granite table is 4-by-4 meters let .sub.rx=62.50 and .sub.ry=31.25. The ISS orbital altitude is approximately 400 km which makes its period around 92 minutes. To limit the circumnavigation to around 4 minutes then .sub.t=23.10. From these scaling factors it follows .sub.ax=0.21 and .sub.qy=0.11. In this circumnavigation case, the relative orbital dynamics acceleration ranges from 0 to max(a.sub.x)=2nv.sub.0 and max(a.sub.y)=nv.sub.0. When the .sub.ax,y scaling is applied these maximum accelerations correspond to a tilt angle of 0.016 (in either direction).
(82) Another interesting aspect may be to compute which is the percentage of this relative orbit where the relative accelerations fall below a certain threshold (so that they cannot be accurately reproduced in the test bed).
a.sub.xa(17)
a.sub.ya(18)
(83) Define that threshold as 2 times the POSEIDYN residual acceleration a.sub.tres=38 g. In this case study that would occur 17% of the orbit (around the vertex and co-vertex of the ellipse).
(84) It is interesting to note that the scaled acceleration is independent of the size of the relative orbit. It only depends in the size of the test bed operating surface and the scaled orbit period (see Eq. 19).
(85)
(86) This similitude equivalence far from being specific for a circumnavigation case is shared with the general relative orbital dynamics accelerations, making the scaling very simple and convenient. A maneuver performed in the test bed shares the dynamic simulated with the same maneuver regardless of the RSO orbiting altitude and relative distance.
i.sub.x=2nv.sub.y(20a)
(a.sub.y=3n.sup.2e.sub.y+2nv.sub.x(20a)
i.sub.z=n.sup.2r.sub.z(20c)
(87) These relative orbital dynamics accelerations are generated by tilting the operating surface. The remaining acceleration from the onboard thrusters can be scaled using Eq. 6c, and in this case the operating altitude and maneuver distance will have an effect on the scaling.
(88) The FSS has a mass of 10 kg. Assume that we want to simulate the Cygnus spacecraft that approximately has a berthing mass of 5300 kg, then .sub.m=530. That leaves .sub.Fx=113.7 and .sub.Fy=56.9. The FSS has a maximum thrust per axis of 0.3 N which when scaled would represent a maximum thrust of F.sub.x=34 N and F.sub.y=17 N which are smaller but similar to the Cygnus capabilities.
(89) Although the Clohessy-Wiltshire equations are a simplification of the relative orbital dynamics they can be used to quickly derive the scaling factors. For a more generic case, use where a.sub.R as the relative orbital dynamics acceleration,
(90)
to represent the acceleration induced by the control forces (i.e. by the thrusters) and a.sub.others to denote the acceleration by other perturbations (e.g. solar radiation pressure or drag).
(91)
(92) Regardless of how the relative orbital dynamics a.sub.R and other perturbations. a.sub.others are computed, these accelerations are recreated by tilting the planar air bearing operating surface.
(93) Thus provided here is planar test bed comprising a planar table having a planar surface for the simulation or relative accelerations between a first location on the planar surface and an object location. The planar test bed comprises one or more mechanical couplings with each in mechanically communication with the planar table a supporting leg, with the mechanical couplings mechanically translatable to provide three degrees of freedom to the planar table. A processor in data communication with the mechanical couplings and issues commands to the mechanical couplings to alter the spatial orientation of the planar table in a transient process, in order to allow a local gravity vector g to mimic an anticipated relative acceleration between two bodies in a simulated environment, typically using a function a.sub.R=f(t,x.sub.R,v.sub.R,.sub.t). The planar test bed operates in a cyclic manner so that desired accelerations and planar orientations are updated as an object transits over the planar surface. In a particular embodiment, the system further comprises a camera vision sensing system providing at least positional data to the processor during the cyclic process.
(94) Accordingly, this description provides exemplary embodiments of the present invention. The scope of the present invention is not limited by these exemplary embodiments. Numerous variations, whether explicitly provided for by the specification or implied by the specification or not, may be implemented by one of skill in the art in view of this disclosure.
(95) It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the present invention and it is not intended to be exhaustive or limit the invention to the precise form disclosed. Numerous modifications and alternative arrangements may be devised by those skilled in the art in light of the above teachings without departing from the spirit and scope of the present invention. It is intended that the scope of the invention be defined by the claims appended hereto.
(96) In addition, the previously described versions of the present invention have many advantages, including but not limited to those described above. However, the invention does not require that all advantages and aspects be incorporated into every embodiment of the present invention.
(97) All publications and patent documents cited in this application are incorporated by reference in their entirety for all purposes to the same extent as if each individual publication or patent document were so individually denoted.