force feedback in large, immersive environments is provided by device which a gyro- stabilization to generate a fixed point of leverage for the requisite forces and/or torques. In one embodiment, one or more orthogonally oriented rotating gyroscopes are used to provide a stable platform to which a force-reflecting device can be mounted, thereby coupling reaction forces to a user without the need for connection to a fixed frame. In one physical realization, a rigid handle or joystick is directly connected to the three-axis stabilized platform and using an inventive control scheme to modulate motor torques so that only the desired forces are felt. In an alternative embodiment, a reaction sphere is used to produce the requisite inertial stabilization. Since the sphere is capable of providing controlled torques about three arbitrary, linearly independent axes, it can be used in place of three reaction wheels to provide three-axis stabilization for a variety of space-based and terrestrial applications.
|
0. 25. A spatially unrestricted force-feedback device, comprising:
a first body;
a plurality of motors, each of said motors capable of imparting an inertial force about an associated axis of rotation to change rotational momentum of a spinning body, each of said motors connected to said first body to provide computer controllable tactile sensations on said first body about said associated axis, the tactile sensations provided by changing the rotational momentum of the spinning body to cause a torque to be applied to the first body;
a user-interactable member connected to said first body, wherein said user-interactable member is in communication with a host computer system modeling a simulated environment including one or more simulated objects, said host computer system commanding said tactile sensations on said first body as a function of a simulated activity involving at least one object within said simulated environment; and
a computer mediated controller electrically connected to said motors and in communication with said host computer system, said controller receiving signals from said host computer system and simultaneously controlling each of said motors in response such that said motors produce said inertial forces about said axes, and said controller sending data to said host computer system, said data responsive to user manipulation of said user-interactable member.
0. 1. A spatially unrestricted force-feedback device, comprising:
a body;
gyroscopic means connected to the body to provide an inertial reference to stabilize the body in at least one spatial dimension;
a user-interactable member connected to the body; and
force-feedback means coupled to the member, enabling a user of the device to experience the feedback of forces relative to the gyroscopically stabilized body.
0. 2. The device of
0. 3. The device of
0. 4. The device of
0. 5. The device of
0. 6. The device of
a computer system modeling a virtual environment including one or more virtual objects; and wherein
the user-interactable member is in electrical communication with the computer system to generate forces on the member as a function of an activity involving an object within the virtual environment.
0. 7. The device of
0. 8. The device of
0. 9. The device of
0. 10. The device of
0. 11. The device of
0. 12. The device of
0. 13. The device of
0. 14. The device of
0. 15. The device of
0. 16. The device of
0. 17. A spatially unrestricted force-feedback device, comprising:
a body;
an active control system to stabilize the body in space;
three rotatable reaction wheels coupled to the body;
means for determining the angular velocity of each wheel;
an angular position measuring device to determine the state of the body in the space;
a user-interactable member connected to the body; and
force-feedback means using the angular velocity and position of the body as inputs to produce torque on the member about three arbitrary axes through the coordinated acceleration and deceleration of the angular velocity of each wheel.
0. 18. The device of
0. 19. The device of
0. 20. A method of generating a spatially unrestricted haptic environment, comprising the steps of:
providing a body in space having a user-interactable force-feedback device;
geo-stabilizing the body in one or more dimensions;
simulating a virtual environment modeling one or more virtual objects; and
interfacing the user-interactable force-feedback device to the virtual environment, enabling the user to experience a force representative of an activity within the virtual environment involving one or more of the objects.
0. 21. The method of
slowly and continually removing angular momentum from the body so as to minimize the effect on a user.
0. 22. The method of
receiving an input disturbance on the body;
stabilizing the body through a pole placement, with the location of the poles being determined through optimal control theory; and
canceling out the disturbance inputs to produce a desired torque output immune to the input disturbance.
0. 23. The method of
receiving an external force generated through a remote physical device; and
producing a scaled representation of the force received relative to a point on the physical device.
0. 24. The method of
0. 26. A spatially unrestricted force-feedback device as described in claim 25, wherein said computer mediated controller decodes commands received from said host computer system.
0. 27. A spatially unrestricted force-feedback device as described in claim 25, wherein said computer mediated controller decodes commands received on a serial communication bus.
0. 28. A spatially unrestricted force-feedback device as described in claim 25, wherein said user-interactable member is a joystick.
0. 29. A spatially unrestricted force-feedback device as described in claim 25, wherein said user-interactable member is a steering wheel.
0. 30. A spatially unrestricted force-feedback device as described in claim 25, wherein said user-interactable member is associated with the simulation of a sport.
0. 31. A spatially unrestricted force-feedback device as described in claim 25, wherein said computer mediated controller includes a processor that runs motor control code stored in Read-Only memory.
0. 32. A spatially unrestricted force-feedback device as described in claim 25, wherein at least a portion of said computer controllable inertial forces stabilize said first body in at least one spatial dimension to counteract undesired torques produced by at least one of said motors.
0. 33. A spatially unrestricted force-feedback device as described in claim 25, wherein said computer controllable inertial forces stabilize said first body in at least one spatial dimension.
|
The center of mass of the frame is located at the origin of the B reference frame. The frame is assumed to be a cube with a mass of M and height of R. The location of the center of mass of the wheel, d, is given by the vector pd,
Bpd=lb1 (2)
where l is the offset from the center of the frame (in meters) and is a run-time parameter. The notation AvB denotes some vector v in reference frame B with respect to reference frame A. The mass of the (assuming without loss of generality a solid cylindrical disk) wheel is given by
m=πρr2h (3)
where ρ is the density of the material of the wheel, r is the radius of the disk and h is the height of the wheel; and have the units of kg/m3, meters and meters respectively.
The central inertia dyadic of the wheel is given by
Id/d*=I2b1b1 (4)
where
The orientation of the wheel with respect to the frame is given by the generalized coordinates q3. This generalized coordinate is about the b1 axis.
The central inertia dyadic of the frame is given by
If/f*=I6b1b1 (6)
where (assuming without loss of generality that the frame is cubic)
Since there are two rigid bodies in this model (the frame and the wheel), the angular velocities and accelerations for both must be developed.
The reference frame B is said to have a simple angular velocity in the reference frame A because there exists for all time a unit vector whose orientation in both the reference frame B and reference frame A is independent of time. This allows writing the angular velocity of reference frame B as the magnitude of its angular velocity times the fixed unit vector
AωB={dot over (q)}1b1. (8)
To make the equations of motion concise, a generalized velocity will be defined as
u1={dot over (q)}1. (9)
Using the definition in Equation (8), AωB can be rewritten as
AωB=u1b1 (10)
The wheel is said to have a simple angular velocity in the reference frame B because there exists for all time a unit vector whose orientation in both the wheel reference frame and reference frame B is independent of time. This allows writing the angular velocity of the wheel as the magnitude of its angular velocity times the fixed unit vector
Bωd={dot over (q)}7b1. (11)
The angular velocity of the wheel in reference frame A is given by
Aωd=(u1+{dot over (q)}7)b1. (12)
Defining another generalized velocity,
u7={dot over (q)}7 (13)
allows expressing Equation (12) in terms of generalized velocities only as
Aωd=(u1+u7)b1. (14)
The angular acceleration of reference frame B is found to be
AαB={dot over (u)}1b1. (15)
and the angular acceleration of the wheel can be written as
Aαd=({dot over (u)}1+{dot over (u)}7)b1. (16)
The location of reference frame B is given by
ApB=q4α1. (17)
The velocity AvB and acceleration AaB of this frame are found to be
AvB={dot over (q)}4α1 AαB={dot over (q)}4α1 (18)
since the unit vectors ai are fixed in reference frame A.
Defining a generalized velocity
u4={dot over (q)}4 (19)
allows rewriting Equation (18) as
AvB=u4α1 AαB={dot over (u)}4α1 (10)
By defining the disturbance forces acting at the origin of reference frame B as
F=fxα1, (21)
the disturbance torque acting on the frame as
Tδ=τxα1, and (22)
and the motor torque, applied to the wheel, as
Td=τdb1 (23)
the equations of motion are found to be:
τx−((I2+I6){dot over (u)}1+I2{dot over (u)}7)=0
fx−(M+m){dot over (u)}4=0
τd−(I2{dot over (u)}1+I2{dot over (u)}7)=0 (24)
Rewriting Equation (24) in matrix form yields
To control this system, an expression for τd that allows the system to move from any value of {q1,u1} to any other value of {q1,u1} in the presence of disturbance torques τx must be developed (see Section below). To gain a understanding of the system, first set τx=0. Equation (25) can now be written as
τd+I2{dot over (u)}1=0. (26)
From control theory, it is known that this equation is not stable since the poles lie on the imaginary axis. Thus, the form of τd required to satisfy stability criteria must meet the following two criteria:
1. It must move the poles of Equation (26) into the left-half plane.
2. It should utilise values of {q1, u1, q7, u7} to control the system as these state variables can be measured.
If the disturbance torque is not set equal to zero, then Equation (26) is rewritten as
τd+I2{dot over (u)}1=τx (27)
and a third requirement for the control torque is added:
3. It must be robust for a specified set of disturbance torque values and functional forms.
Some simple relationships are also developed to suggest appropriate motor parameter values and sizes for the momentum wheels. For real world application, it is important to be able to specify certain aspects of the problem, such as force produced, the period of time for which it is produced and the mass of the device. Also, to stay firmly rooted in reality, it is important to specify the power output of the motor.
Equation (28) shows the basic equations
I=mr2 τ=Iα
ω=αr P=τω (28)
where I is the moment of inertia of the momentum wheel (assuming that it is a thin hoop; for a solid disk, I=mr2/2 and, in reality, the actual value will fall some place in between), m is the mass of the momentum wheel, r is the radius of the momentum wheel, τ is the torque applied to the operator (which is the same as the torque produce by the motor), (τ is the angular acceleration of the momentum wheel, ω is the angular velocity of the momentum wheel, t is the period of time for which the torque is felt and P is the power output of the motor.
To feel a torque produced by a motor that is not attached to some fixed structure, the motor rotor must be accelerating. The rotor will continue to accelerate until the motor reaches its maximum angular velocity, a value that is determined by motor parameters (but the calculation of which is not important for this analysis). To increase the amount of time during which the torque can be felt, it is necessary to slow down the angular acceleration of the motor by increasing the moment of inertia of the rotor.
Equation (28) has four equations and eight parameters. Of these parameters, an equation is formed that relates m,r,t,τ and P because these are the parameters that can be controlled during the design of the device. One such form of this equation is
To generate arbitrary torques, a 3D platform consisting of three spinning wheels attached to three non-coplanar axes of a frame is required. (For simplicity, and without loss of generality, this work assumes that the axes are mutually perpendicular.) There is a reference frame, B, embedded in the frame and a fixed reference frame, A, in the world. Reference frame B is aligned with the axes of the three spinning wheels, thus defining a set of mutually perpendicular unit vectors. The system is shown in
The reference frame B has six degrees of freedom with respect to reference frame A. These degrees of freedom are described by generalized coordinates q1, . . . . , q6, where q1, . . . , q3 represent the angular degrees of freedom about unit vectors a1,a2,a3 respectively and q4, . . . , q6 represent the linear degrees of freedom along unit vectors a1,a2,a3 respectively. The orientation of reference frame B with respect to reference frame A is described using a Body 3: 1-2-3 representation. Table 1 shows the relationship between the unit vectors a1, a2, a3 and b1, b2, b3.
TABLE 1
Direction cosines
b1
b2
b3
a1
c2c3
−c2s3
s2
a2
s1s2c3 + s3c1
−s1s2s3 + c3c1
−s1c2
a3
−c1s2c3 + s3s1
c1s2s3 + c3s1
c1c2
The terms ci,si are defined as cos (qi) and sin (qi) respectively.
To simplify some expressions, the following terms are defined:
Since the equations of motion will be developed using the unit vectors in reference frame B, the unit vectors in reference frame A are explicitly presented using the terms Zi defined in Equation (30).
α1=Z1b1+Z4b2+Z7b3
α2=Z2b1+Z5b2+Z8b3
α3=Z3b1+Z6b2+Z9b3 (31)
For simplicity, and without loss of generality, the center of mass of the frame is located at the origin of the B reference frame and the frame is assumed to be cubical with a mass of M and height of R.
The central inertia dyadics of the frame is given by
If/f*=I6b1b1+I6b2b2+I6b3b3 (32)
where
The locations of the center of mass of the wheels, di, are given by the vectors pd
Bpd
where l is the offset from the center of the frame (in meters). The mass of each wheel (assuming without loss of generality that each wheel is a solid cylinder) is given by
m=πρr2h (35)
where ρ is the density of the material of the wheel, r is the radius of the fisk and h is the height of the wheel and have the units of kg/m3, meters and meters respectively.
The central inertia dyadics of the wheels are given by
Id
Id
Id
where
The orientation of the wheels with respect to the frame are given by the generalized coordinates q7, . . . , q9. These generalized coordinates are about the b1, b2, b3 axes respectively.
Since there are four rigid bodies in this model (the frame and the three wheels), the angular velocities and accelerations for all four must be developed.
The angular velocity of the frame, AωB is found to be
AωB=(c2c3{dot over (q)}1+s3{dot over (q)}2)b1+(−c2s3{dot over (q)}1+c3{dot over (q)}2)b2+(s2{dot over (q)}1+{dot over (q)}3)b3. (38)
To make the equations of motion concise, three generalized velocities will be defined as
u1=c2c3{dot over (q)}1+s3{dot over (q)}2 u2=−c2s3{dot over (q)}1+c3{dot over (q)}2 u3=s2{dot over (q)}1+{dot over (q)}3. (39)
Using the definition in Equation (39) AωB can be rewritten as
AωB=u1b1+u2b2+u3b3 (40)
The wheels are said to have a simple angular velocity in the reference frame B because there exists for all time a unit vector whose orientation in both the wheel reference frames and reference frame B is independent of time. This allows writing the angular velocities of the wheels as the magnitude of their angular velocity times the fixed unit vector
Bωd
The angular velocities of the wheels in reference frame A are given by
Aωd
Aωd
Aωd
Defining three more generalized velocities,
u7={dot over (q)}7 u8={dot over (q)}8 u9={dot over (q)}9 (43)
allows expressing Equation (42) in terms of generalized velocities only as
Aωd
Aωd
Aωd
The angular acceleration of reference frame B is found to be
AαB={dot over (u)}1b1+{dot over (u)}2b2+{dot over (u)}3b3. (45)
The angular accelerations of the wheels can be written as
Aαd
Aαd
Aαd
The following terms are defined to simplify the equations
thus allowing Equation (46) to be rewritten as
Aαd
Aαd
Aαd
There are four points of interest in this problem: the location of reference frame B and the locations of the centers of mass for each of the wheels. The location of reference frame B is given by
ApB=q4α1+q5α2+q6α3. (49)
and its velocity AvB and acceleration AaB are found to be
AvB={dot over (q)}4α1+{dot over (q)}5α2+{dot over (q)}6α3 AαB=
since the unit vectors ai are fixed in reference frame A.
Defining generalized velocities
u4={dot over (q)}4 u5={dot over (q)}5 u6={dot over (q)}6 (51)
allows rewriting Equation (50) as
AvBu4α1+u5α2+u6α3 AαB{dot over (u)}4α1+{dot over (u)}5α2+{dot over (u)}6α3 (52)
The velocities of the centers of masses of the wheels are found to be
Avd
Avd
Avd
and the accelerations of the centers of masses of the wheels are found to be
Aαd
Aαd
There are three sets of forces acting on this system: the applied disturbance forces and torques applied to reference frame B that represent, the gravity forces acting on the wheel and frame masses and the motor torques applied to the wheels.
The disturbance forces acting at the origin of reference frame B is defined as
F=fxα1+fyα2+fzα3 (55)
the gravity force on the frame is defined as
Gf=Mgα3 (56)
or equivalently as
Gf=−Mg(Z3b1+Z6b2+Z9b3); (57)
and three gravity forces, which act at the center of the wheels, are defined as
Gd
or equivalently as
Gd
Gd
Gd
The disturbance torque acting on the frame is defined as
Tδ=τxα1+τyα2+τzα3 (60)
and the three motor torques are defined as
Td
with the positive sense of the torque being applied to the wheel. However, Newton's second law demands that there be an equal and opposite torque applied to the frame, body B. Thus, the resultant acting on body B is given by
T=τxα1+τyα2+τzα3−τd
The definitions of the generalized inertia forces was facilitated by defining the following terms:
The equations of motion are found to be:
τxZ1+τyZ2+τzZ3+mgl(Z6−Z9)−[(2I1+I2+I6){dot over (u)}1+I2{dot over (u)}7+I2(u2u9−u3u8)]+ml[(Z4−Z7){dot over (u)}4+(Z5−Z8){dot over (u)}5+(Z6−Z9){dot over (u)}6−2l{dot over (u)}1]=0
τxZ4+τyZ5+τzZ6+mgl(Z9−Z3)−[(2I1+I2+I6){dot over (u)}2+I2{dot over (u)}8+I2(u3u7−u1u9)]+ml[(Z7−Z1){dot over (u)}4+(Z8−Z2){dot over (u)}5+(Z9−Z3){dot over (u)}6−2l{dot over (u)}2]=0
τxZ7τyZ8+τzZ9+mgl(Z3−Z6)−[(2I1+I2+I6){dot over (u)}3+I2{dot over (u)}9+I2(u1u8−u2u7)]+ml[(Z1−Z4){dot over (u)}4+(Z2−Z5){dot over (u)}5+(Z3−Z6){dot over (u)}6−2l{dot over (u)}3]=0
fx−m(3{dot over (u)}4+(−Z19+Z20+Z21)Z1+(Z22−Z23+Z24)Z4+(Z25+Z26−Z27)Z7)−M{dot over (u)}4=0
fy−m(3{dot over (u)}5+(−Z19+Z20+Z21)Z2+(Z22−Z23+Z24)Z5+(Z25+Z26−Z27)Z8)−M{dot over (u)}5=0
fz−m(3g+3{dot over (u)}6+(−Z19+Z20Z21)Z3+(Z22−Z23+Z24)Z6+(Z25+Z26−Z27)Z9)−M{dot over (u)}6=0 (64)
τd
τd
τd
Since there are nine generalized coordinates, there are 18 equations of motion, nine kinematics and nine dynamic. To solve these equations numerically, they must be written in the form
{dot over (y)}=f(y) (65)
where the state vector y has the form y={qi, . . . , qn, u1, . . . , un}. This necessitates rewriting Equation (39) to solve for the qi in terms of the ui. The nine kinematic equations of motion can now be written as
To write the dynamical equations of motion in the same manner, Equation (64) must be solved for the {dot over (u)}i. Since several of the Zi include {dot over (u)}i, these terms will need to be expanded. As a first step, the following terms are defined
Z28=u1u2 Z29=u1u3 Z30=u2u3 (67)
K1=I2(u2u9−u3u8)−mlg(Z6−Z9)−τxZ1−τyZ2−τzZ3
K2=I2(u3u7−u1u9)−mlg(Z9−Z3)−τxZ4−τyZ5−τzZ6
K3=I2(u1u8−u2u7)−mlg(Z3−Z6)−τxZ7−τyZ8−τzZ9 (68)
K4=m((l(Z28+Z29)−Z19)Z1+(l(Z28+Z30)−Z23)Z4+(l(Z29+Z30)−Z27)Z7)−fx
K5=m((l(Z28+Z29)−Z19)Z2+(l(Z28+Z30)−Z23)Z5+(l(Z29+Z30)−Z27)Z8)−fy
K6=m(3g+(l(Z28+Z29)−Z19)Z3+(l(Z28+Z30)−Z23)Z6+(l(Z29+Z30)−Z27)Z9)−fz
K7=−τd
Next, Equation (64) is rewritten in the form A{dot over (u)}i=Ki, thus providing a means for solving for the {dot over (u)}i. Ki is given in Equation (68) and A is defined as
where I4=2I1+I2+I6.
A discussion of the control system is presented in below. To simplify the equations of motion to facilitate control development, those terms and equations that deal with the linear position/force are eliminated because a gyro-stabilized platform can only counteract torques, not forces. Rewriting Equation (69) as indicated yields
This equation can also be rewritten to explicitly express {dot over (u)}i
where I5=(I4+2ml2)−I2.
The equations of motion for the sphere, see
τxZ1+τyZ2+τzZ3−[(I1+I6){dot over (u)}1+I1{dot over (u)}7+I1(u2u9−u3u9)]=0
τxZ4+τyZ3+τzZ6−[(I1+I6){dot over (u)}2+I1{dot over (u)}8+I1(u3u7−u1u9)]=0
τxZ7+τyZ8+τzZ9−[(I1+I6){dot over (u)}3+I1{dot over (u)}9+I1(u1u8−u2u7)]=0
fx−(m+M){dot over (u)}4=0
fy−(m+M){dot over (u)}5=0
fz−(m+M)3{dot over (u)}6−mg=0
τd
τd
τd
Because the cross-coupling through the linear velocity terms does not exist for this device, controlling a system that employs this device for stabilization is easier than controlling a system that employs three reactions wheels for stabilization.
Control theory is defined as a division of engineering mathematics that attempts, through modeling, to analyze and to command a system in a desired manner. Of particular interest are closed-loop systems. In a closed-loop system, the forcing signals of the system (calling inputs) are determined (at least partially) by the responses (or outputs) of the system. In this manner, the inputs and outputs are interrelated. In
Control theory can be classified in two categories: classical and modern. Classical control theory is generally a trial-and-error system in which various type of analyses are used iteratively to force a electromechanical system to behave in an acceptable manner. In classical control design, the performance of a system is measured by such elements as settling time, overshoot and bandwidth. However, for highly complex, multi-input/multi-output (MIMO) systems entirely different methods of control system design should be implemented to meet the demands of modern technology. Modern control has seen wide-spread usage within the last fifteen years or so. Advancements in technology, such as faster computers, cheaper and more reliable sensors and the integration of control considerations in product design, have made it possible to extend the practical applications of automatic control to systems that were impossible to deal with in the past using classical approaches. Modern control theories are capable of dealing with issues such as performance and robustness. The spatially-unrestricted force-feedback system makes use of two modern control design methods: disturbance rejection and optimal control.
In the design of electromechanical systems, one can consider that the system will be exposed to disturbances. A disturbance may be defined as any unwanted input. In
Disturbance rejection design can be used to create a compensator which is able to ignore the disturbance and cause the desired plant output. In this section, the basic method of disturbance rejection design is presented using a MIMO model. For this model, notation must be established to designate the various elements of the control design; let:
[A, B, C, D] be a state-space representation of the plant (with state x), assuming (A,B) is completely controllable,
x(t)εn be the plant state,
u(t)εn
w(t)εd be the disturbance input
r(t)εn
y(t)εn
e(t)εn
The lumped MIMO linear, time-invariant (LTI) system, may be expressed as:
{dot over (x)}=Ax+Bu+Ew (73)
y=Cx+Du+Fw (74)
e=r−y (75)
The model for the input (Equations (76)-(77)) and the noise (Equations (78)-(79)) are:
{dot over (x)}r=Arxr (76)
r=Crxr (77)
{dot over (x)}w=Awxw (78)
w=Cwxw (79)
The objectives in the design of the feedback system in
If this is true, then for all initial states of the system, e(t)→0εn
Given the system [A,B,C,D], suppose it is minimal. Let the compensator be given by
{dot over (x)}c=Acx+Bce (80)
where
Ac=diag[Γ1,Γ2, . . . , Γnn
Bc=diag[γ1, γ2, . . . , γn]εn
with
Since Aw and Ar are known, [83] can be derived from the equation
Φ(Aw,A4)=sq+α1sq-1+. . . +αq-1s+α1 (85)
which is the least-common multiple of the characteristic equations of Aw and Ar.
Under these conditions, if
(which guarantees that the system is still completely controllable with the addition of the compensator) then
The discussion contained here is establishes a mathematical basis for the invention. Control of a gyro-stabilized force feedback device is based on its ability to respond robustly to a control signal and to respond correctly despite system noise. For the single-input/single-output (SISO) case, this theorem reduces to the classical control case where an integrator is required for robust performance. This result is used in the design of the 1D experiment which is similar to the classical satellite control problem.
Optimal control theory can be used to design compensators which are able to take into account the cost of performing a particular action. A classical example of optimal control is the use of fuel to maneuver a satellite in orbit above the earth. Two extreme scenarios are possible: movement taking minimum time or movement taking minimum fuel. In the following section, discussion will focus on the fundamental principles of optimal-control design.
The optimal control problem is to find a control u*(t) which causes the system {dot over (x)}(t)=a[x(t), u(t), t] to follow a desired trajectory x* that minimizes the performance measure
Other names for J include cost function, penalty function, and performance index. Assume that the admissible state and control regions are not bounded. (This removes all mechanical constraints; these can be included in later development) Let the initial states, x(to)=xo, of the system and initial time, to, be known. Also, let xεn and uε
m. The goal now is to establish tote necessary conditions for optimality:
Assuming that h is differentiable and that initial conditions are fixed and do not affect minimization, [b 87] can be expressed as
For generality, apply the chain rule and include differential equation constraints to form an augmented cost function:
using Lagrange multipliers p1(t), . . . , pn(t). To simplify the notation, rewrite [ ] as follows:
The necessary conditions for optimal control can be derived using calculus of variations. Specifically, take the variations of the functional Ja(u) by δx, δ{dot over (x)}, δu, δp and δtf. (Increment of the functional J is defined as: ΔJ(x, δx)=δJ(x, δx)+g(x, δx)·∥δx∥; δJ is linear with respect to δx; δx is called the variation of the function x.) From this, the necessary conditions may be derived:.
for all tε[to, tf], and
where
N(x(t),u(t),p(t),t)≡g(x(t),u(t),p(t),t)+pT[a(x(t),u(t),p(t),t)] (95)
The principles of calculus of variations are applied to the design of a linear regulator. The linear regulator is used in the control of the motors used to spin the inertial masses to change the attitude of the satellite system. The regulator design is particularly useful in controlling unstable systems through optimal pole placement. First, recall the state equation of a linear, time-varying plant:
{dot over (x)}(t)=A(t)x(t)+B(t)u(t) (96)
The cost function to be used is
where tfis fixed, H and Q are real, positive-semi-definite matrices, and R is a real, positive-definite matrix. The purpose of the regulator is to maintain the state of the system as close to a desired set of parameters as possible without excessive control effort. The necessary conditions for optimality to be used are:
{dot over (x)}*(t)=A(t)x*(t)+B(t)u*(t) (98)
{dot over (p)}*(t)=−Q(t)x*(t)−AT(t)p*(t) (99)
0=R(t)u*(t)+BT(t)p*(t) (100)
where the Hamiltonian is defined as
Equation (100) is easily solved for the optimal input for the regulator, yielding
u*(t)=−R−1(t)BT(t)p*(t) (102)
It is now possible to form an augmented, closed-loop state-space equation of the regulated system:
These 2n differential equations have a solution of the form:
Note: φ(tf,t) is called the transition matrix, define by d/dtφ(tf,t)=A(t)φ(tf,t) with the initial condition of φ(to,to)=I and is solved through numerical integration. By partitioning the state transition matrix, φ(tf,t), the following solution for p*(t) can be reached;
p*(t)=K(t)x*(t). (105)
Therefore, the optimal control law is
u*(t)=−R−1(t)BT(t)K(t)x*(t)=F(t)(x*(t)); (106)
the next step is to define a method of solving for K. This is achieved using a Riccati-type differential equation:
{dot over (K)}(t)=−K(t)A(t)−AT(t)K(t)−Q(t)+K(t)B(t)R−1(t)BT(t)K(t) (107)
which involves solving n(n+1)/2 first-order differential equations. Fortunately, the motor system involved in the hand controller control system can be considered time invariant. This simplifies the previous equations, which can be summarized as:
{dot over (x)}(t)=Ax(t)+Bu(t) (108)
{dot over (K)}=−KA−ATK−Q+KBR−1BTK=0 (110)
and the optimal control law is
u*(t)=−R−1BTKx*(t)=Fx*(t). (111)
As long as Q is positive definite, the closed-loop system is guaranteed to be stable and the controller may be used for pole placement design of the system, as shown in
The design of the controller system for the 1D model is now presented. The first segment of the design is a optimal pole-placement. This is needed because a the 1D model of the spatially unrestricted force feedback device (which is a simplified version of the actual 3D version), which can be considered a second-order system, is inherently unstable. Definitions of “stable” vary; here, “stable” is considered any plant which has only poles and zeros to the left of the imagery axis in the complex plane (i.e., left-hand poles and zeros). Using previously established results the poles of the system are placed optimally based on the inertia of a second-order linear model. Lastly, disturbance rejection is augmented to the control system for robustness.
The plant for a single DOF hand controller,
where α(t) is the angular acceleration, I6 is the inertial mass, and τ(t) is the torque.
Since the stability of this system is (at best) marginal, a pole placement is performed. Further, optimal methods are employed for placing these poles at the best locations. The new plant will follow the model in
The first step is to choose the cost function to minimize, set initial conditions, and select the necessary conditions and boundary conditions which apply to this problem. Let the initial states of the satellite be zero: x(0)=0; {dot over (x)}(0)=0. The cost function for minimal control effort is
such that the amount of acceleration of the system, whether it is positive or negative, for all time is minimal. This is frequently used for satellites because the amount of acceleration is the magnitude of the control input, or for satellite, the amount of fuel, which is a limited resource. For this system, the following parameters are known:
with a state defined by
and choose
and R=1.
For the LTI Ricatti equation, [110], K has four solutions, but the only positive-definite solution is
which results in a regulator, F, of the following form:
The two terms of the F vector are the position feedback and velocity feedback required for optimal tracking, as in
The final step is to include an integrator which provides the SISO case with robustness. The final controller design is shown in
There are some control issues that are specific to the momentum wheel concept. These issues are those that deal with determining the state of the sphere, which must be known to calculate the sphere's angular momentum vector. Since the nature of a spherical object allows it to be at any orientation relative to it's cavity, a method that can detect the sphere's exact orientation relative to the three fixed orthogonal axis of the sphere housing is used. This is illustrated in
Each of the three sphere housing axis is outfitted with a band of optical infra-red emitters to detect the relative position of the sphere. Each emitter will be placed between two (or more) infra-red detectors as shown in
The sphere is equipped with a single great circle band of reflective material as illustrated in
The IR emitter/detector sensors are located directly on the cavity face to simplify construction of the sphere housing. Each emitter and detector is directly interfaced to the housing cavity by a fiber optic cable that ends at a lens mounted on the cavity face as shown in
As shown in
There are two inter-related branches of mechanics that are used to spacecraft control: celestial mechanics and attitude mechanics. The former deals with the position and velocity of the center of mass of the spacecraft as it travels through space, whereas the latter deals with the motion of the spacecraft about its center of mass, see
Attitude mechanics is divided into three components: determination, prediction and control. Attitude determination is the process of computing the current orientation of the spacecraft with respect to some specified inertial frame. Attitude prediction is the process of computing the future attitude of the spacecraft based on its current state and motion. Attitude control is the process of applying torques to the spacecraft to reorient it into some desired future state. The devices mentioned in this patent deal primarily with the control aspect of attitude mechanics.
For most modern spacecraft applications, three-axis control is required. This method of control allows mission planners to specify the orientation of the spacecraft at all times during the course of a mission. Missions that employ this type of control include all communications satellites, the space shuttle and earth-orbiting scientific satellites.
To function properly, three axis stabilized spacecraft employ sensing devices that identify the spacecraft's attitude by determining two mutually perpendicular orientation vectors. Some typical examples include two-axis sun sensors and magnetic field sensors. Once the spacecraft's attitude is determined, the mission profile determines the control requirements. Certain scientific satellites require extremely precise attitude control (arc-seconds) for the purpose of data collection. Others, such as C-band television satellite, require less precise control (arc-minutes). Since all satellites are subject to disturbances, some method of maintaining proper orientation is required.
There are three primary means for controlling a satellites attitude: gas jets, electromagnets and reaction wheels. Reaction jets operate by expelling gas through an orifice to impart a moment on the spacecraft. These devices can produce large (but imprecise) torques, but since they expend fuel, there on-station operating time is limited. Electromagnets operate by creating magnet fields that interact with the magnetic field of a nearby body to produce a torque on the satellite. Although these systems do not expend fuel, they only function near bodies with large magnetic fields. Reaction wheels operate by way of Newton's third law by accelerating a wheel to absorb torque that is applied to the satellite. If the applied disturbances are cyclic, these systems can operate indefinitely since there is not net gain/loss of energy. For real-world systems, reaction wheels typically operate in conjunction with gas jets, which are used to bleed off excess momentum as the wheels approach their operating condition boundaries. Reaction wheels provide a very fine degree of attitude control.
What differentiates space-based applications from other applications is not the lack of gravity but rather the fact that gravity is the same in all directions. Similar situations can occur on the Earth: system with neutral buoyancy in a liquid and systems that are fixed in the direction of gravity operate under similar principals as space-based systems, see
For example, consider the case where a sensor platform is to collect data from a lake over a period of time. If this platform is required to maintain a particular attitude, a gyroscopic system can be used for stabilization. Similarly, a sensor platform mounted on a research balloon may be required to maintain two-axis attitude control for the duration of the mission. Again, a gyroscopic system can be used to stabilize the two rotational degrees of freedom of this system.
Two sets of experiments were carried out with the single degree of freedom device. The first experiment was intended to validate Equation (119). A second experiment was intended to demonstrate a control system for a three DOF system.
To carry out these tests, a test stand was developed, as shown in
This test setup consists of the following components:
The position, velocity, and/or acceleration provided on a user-interactable member is sensed and transmitted as a command to a computer model or simulation which implements a virtual reality force field. In turn, the force field value for the given position, velocity, and/or acceleration is sent back to the member, which generates a force command, thereby providing the user with direct kinesthetic feedback from the virtual environment traversed. Although applicable to controlling a virtual or simulated environment, the technology is also well suited to the control of a remote or physical device. Further, the present invention is suited for application to any number of axes.
The operation of the IMC system and PC interface will be best understood by referring to commonly assigned U.S. Pat. Nos. 5,389,865 and 5,459,382, and pending applications Ser. Nos. 08/513,488 and 08/543,606, the contents of each of which are incorporated herein in their entirety by reference. These patents and co-pending applications describe systems and methods for presenting forces to an operator of a remote device or to a user interacting with a virtual environment in multiple axes simultaneously mediated through a computer controlled interface system which provides a position, velocity, and/or acceleration (to be referred to generally as “force”) to a user interface which, in turn, generates an electrical signal for each of a plurality of degrees of freedom. These electrical signals are fed to a virtual reality force field generator which calculates force field values for a selected force field. These force field values are fed to the force signal generator which generates a force signal for each of the plurality of degrees of freedom of the user as a function of the generated force field. These motion commands are fed back to actuators of the user interface which provide force to the user interface and, thus, to the user in contact with the interface device.
Before discussing these applications in further detail, a background will be provided with respect to inertial stabilization as its relates to reaction wheels and space-based applications, as certain principles of spacecraft platform stabilization have, for the first time according to this invention, been applied to spatially unrestricted terrestrial control.
Since a known momentum wheel was used, the form of Equation (29) is not quite right for this experiment. Instead, this equation is rewritten as
where the factor of two is used because a solid disk, not a thin hoop, was used. The mass of the momentum wheel is 0.277 kg (measured) and the inertia of the motor rotor is ignored.
Using the motor electrical parameters and the electrical characteristics of the IMC chassis, the maximum torque that can be applied by the motor is known to be 0.18 Nm. Inserting these values into Equation (119) yields a time of 0.09 seconds.
To measure the torque, a spring with a spring constant 110 N/m was attached to the adaptor block by way of a bolt, at a distance of 0.050 m from the center of rotation. Since F=kx and τ=Fd, these terms can be related in the following manner
Of course, the equations used are very primitive and do not account for many of the real-world affects. The affects, which are primarily frictive in nature, should tend to make the displacement less than predicted and the time greater than predicted. The results of these experiments are shown in
Experiments were also performed to control the position of the turntable, in the face of disturbances, by controlling the speed of the momentum wheel. The equations and methods used to develop this control scheme were discussed previously. For this experiment, the same setup was used as for the previous experiment with several small modifications:
Using MATLAB, which is a PC based mathematical tool designed to aid engineers in the development of complex mathematical systems, the controller and plant were simulated. Since the amount of control input is not a particular concern, optimal control parameters were selected to produce a system that responds quickly. In the following experiments, the values q1=q2=10 and R=1 were selected. To select an appropriate value for the disturbance rejection gain, a root locus plot of the system,
The control parameters determined using the optimal control techniques and the root-locus method were applied to the system shown in
In this particular device, there was a great deal of Coulomb friction in the base bearing. The components mounted to the base would not complete a single rotation before coming to a halt after an initial spin. This has the effect of adding instability to the system. In particular, what tends to happen is that the system will stay at some point for some period of time while the integrator error (the disturbance rejection) adds up. At some point, there is sufficient energy to overcome the static friction, which is less than the dynamic friction. Once moving, the system will tend to overshoot the desired point and try to compensate, but the same sequence of events occurs.
An experiment was also performed to determine if the forces generated were noticeable by a human. To perform this experiment, three motors with momentum wheels were mounted onto the adapter block used in the previous experiments.
The motors were spun up to a speed of 5000 RPM. Individuals were asked to handle the device and to make subjective evaluations of the torques felt as the device was moved about. In all cases, the subjects reported feeling appreciable forces that were deemed to be sufficient for carrying out meaningful tasks. A picture of the device is shown in
The torques felt were generated because the control system had been commanded to maintain the momentum wheels at a constant angular velocity. By moving the device about, the angular momentum vectors were changed, thus causing a torque. The control system compensated for these motions by adjusting the output to the motors. Since the motors were already spinning at high speed, the period of time for which a torque could be applied was far more limited than for the case where the motor is initially at rest.
Having demonstrated that forces can be generated in any direction, the final task is to control the motors in an appropriate manner so as to provide haptic feedback to the user. This task requires a sophisticated control algorithm for two reasons: first, the platform will be grossly displaced from its nominal operating orientation, and second, for any motion of the platform (for simplicity consider just rotations about the world coordinate axes with which the device is initially oriented), some subset of the motors will produce torques (due to changes in the orientation of the angular momentum vectors) that are undesired. To counteract these undesired torques, some subset of the motors will need to be accelerated to produce counter torques. The control system must model the full, non-linear dynamics of the system, have a high speed attitude sensor and possibly a control to smoothly generate the prescribed forces. A block diagram of the system is shown in
As discussed above, one family of applications for the devices described above utilizes inputs received from a virtual environment. For this type of application, the virtual environment models some set of objects, and hand controller or other force-reflection device produces forces that are representative of some activity within the virtual environment. Since it is not required that the forces produced correlate to any specific activity, the only restriction placed on the commands sent to the gyro-stabilized device is that the output forces be within the range of forces that the device can produce. An alternative family of applications for these devices produces forces in accordance with inputs received from a (possibly remote) physical device. For this type of application, the forces produced are typically a scaled representation of the actual forces produced at some point on the actual physical device. To provide the widest range of haptic input, the scaling is typically designed such that the maximum force that can be applied to the physical device is mapped into the maximum force that the haptic device can produce.
To the first order, the devices described are marginally stable at best. To control these devices to produce desired torque outputs in the face of input disturbances, a two step controller is preferably utilized. The first step stabilizes the controller by doing a pole placement. The location of the poles can be determined using any applicable method although optimal control is preferred. The second step creates a robust controller by canceling out disturbance inputs. Robust control theory is applied for this task.
With specific regard to platform stabilization, the desired input is typically a zero input, i.e., that the system should not change state. For these applications, sensor are employed to determine when the system changes state due to disturbances and the controller acts to return the system to the zero state.
The human operator who controls the haptic device is, from the perspective of the momentum device, equivalent to group. Although any amount of angular momentum can be removed from the device when it is coupled to ground, since this is a haptic device, the strategy is to slowly and continually remove angular momentum so as to have as minimal affect on the user as possible. In particular, the momentum sphere has a maximum speed at which it can operate due to the materials and construction techniques employed. When the sphere approaches this maximum velocity, momentum must be unloaded from the sphere for it to continue to function. To do this requires the application of an external torque that will cause the angular momentum vector to be diminished. This can be accomplished in three ways: reaction jets, magnetic field torquers and/or spacecraft reorientation. The first two methods work by applying a torque to the spacecraft that diminished the angular momentum of the sphere. The third method works if the following two conditions are met: the disturbances to the spacecraft are primarily applied in the same direction and the spacecraft can continue to operate at different attitudes. If these conditions are met, the spacecraft can be reoriented such that the disturbance torque act to cancel the sphere's angular momentum. It may also be feasible to rigidly couple the platform to ground for a brief period of time. While coupled to ground, any amount of angular momentum can be removed from the stabilized platform.
Roston, Gerald P., Jacobus, Charles J.
Patent | Priority | Assignee | Title |
10010286, | Jan 19 2013 | Bertec Corporation | Force measurement system |
10231662, | Jan 19 2013 | Bertec Corporation | Force measurement system |
10413230, | Jan 19 2013 | Bertec Corporation | Force measurement system |
10646153, | Jan 19 2013 | Bertec Corporation | Force measurement system |
10856796, | Jan 19 2013 | Bertec Corporation | Force measurement system |
11052288, | Jan 19 2013 | Bertec Corporation | Force measurement system |
11311209, | Jan 19 2013 | Bertec Corporation | Force measurement system and a motion base used therein |
11540744, | Jan 19 2013 | Bertec Corporation | Force measurement system |
11857331, | Jan 19 2013 | Bertec Corporation | Force measurement system |
12161477, | Jan 19 2013 | Bertec Corporation | Force measurement system |
8704855, | Jan 19 2013 | Bertec Corporation | Force measurement system having a displaceable force measurement assembly |
8847989, | Jan 19 2013 | Bertec Corporation | Force and/or motion measurement system and a method for training a subject using the same |
9081436, | Jan 19 2013 | Bertec Corporation | Force and/or motion measurement system and a method of testing a subject using the same |
9526443, | Jan 19 2013 | Bertec Corporation | Force and/or motion measurement system and a method of testing a subject |
9770203, | Jan 19 2013 | Bertec Corporation | Force measurement system and a method of testing a subject |
Patent | Priority | Assignee | Title |
4443952, | Nov 09 1981 | The Bendix Corporation | Gyroscopic apparatus |
5044956, | Jan 12 1989 | WARNER BROS ENTERTAINMENT INC | Control device such as a steering wheel for video vehicle simulator with realistic feedback forces |
5103404, | Dec 06 1985 | TENSOR DEVELOPMENT, INC , A CORP OF CO | Feedback for a manipulator |
5389865, | Dec 02 1992 | Immersion Corporation | Method and system for providing a tactile virtual reality and manipulator defining an interface device therefor |
5481914, | Mar 28 1994 | The Charles Stark Draper Laboratory, Inc. | Electronics for coriolis force and other sensors |
5577981, | Jan 19 1994 | Virtual reality exercise machine and computer controlled video system | |
5589854, | Jun 22 1995 | IMMERSION CORPORATION DELAWARE CORPORATION | Touching feedback device |
5709219, | Jan 27 1994 | Microsoft Technology Licensing, LLC | Method and apparatus to create a complex tactile sensation |
5742278, | Jan 27 1994 | Microsoft Technology Licensing, LLC | Force feedback joystick with digital signal processor controlled by host processor |
5872438, | Dec 02 1992 | Cybernet Haptic Systems Corporation | Whole-body kinesthetic display |
5889672, | Oct 24 1991 | IMMERSION CORPORATION DELAWARE CORPORATION | Tactiley responsive user interface device and method therefor |
6004134, | May 19 1994 | Microsoft Technology Licensing, LLC | Interactive simulation including force feedback |
6111577, | Apr 04 1996 | Massachusetts Institute of Technology | Method and apparatus for determining forces to be applied to a user through a haptic interface |
6219034, | Feb 23 1998 | Tactile computer interface | |
JP2185278, | |||
JP48381, | |||
JP5192449, | |||
JP724147, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 09 2002 | Cybernet Haptic Systems Corporation | Immersion Corporation | MERGER SEE DOCUMENT FOR DETAILS | 027865 | /0575 | |
Jul 25 2007 | Immersion Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Date | Maintenance Schedule |
Jul 30 2016 | 4 years fee payment window open |
Jan 30 2017 | 6 months grace period start (w surcharge) |
Jul 30 2017 | patent expiry (for year 4) |
Jul 30 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 30 2020 | 8 years fee payment window open |
Jan 30 2021 | 6 months grace period start (w surcharge) |
Jul 30 2021 | patent expiry (for year 8) |
Jul 30 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 30 2024 | 12 years fee payment window open |
Jan 30 2025 | 6 months grace period start (w surcharge) |
Jul 30 2025 | patent expiry (for year 12) |
Jul 30 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |