Not applicable.
Not applicable.
This disclosure relates to a movement simulator, comprising a base; a platform movable relative to said base; actuators having a controllable length, said actuators being coupled with said base and carrying said platform, wherein the dimensions of the base, platform and the variable lengths of the actuators determine a workspace within which the platform can move; and a controller operable to provide a motion cueing algorithm having a demanded state as output and a washout controller having a washout adaptation as output, which washout controller keeps the platform within its workspace by adapting the demanded state to a commanded state using the washout adaptation, wherein the commanded state controls the length of the actuators.
An example of such an apparatus that is most commonly used for movement simulators is the so-called Stewart platform which comprises a fixed base, moving platform and 6 actuators. An example of such a Stuart Platform is described in EP-A-446786. A Stewart Platform is a kind of parallel manipulator using an octahedral assembly of struts. A Stewart platform has six degrees of freedom (x, y, z, pitch, roll, & yaw), also referred to as the platform domain coordinates. There are six independently actuated elements or legs, where the lengths of the legs are changed to position and orient the platform. The status of the platform can also be expressed by the actual length of the legs. This is referred to as the so-called actuator domain and is different from the platform domain coordinates.
Many movement simulators have been developed for many different types of vehicles. In order to make a simulation more realistic, linear accelerations and angular rates are exerted on the user by moving the platform. This activity is also referred to as motion cueing. The movement of the simulator is controlled by a so-called motion cueing algorithm. These platform movements however should not drive the simulator out of its workspace. The software component that is in charge of keeping the simulator platform within its workspace is commonly referred to as a washout filter. The washout filter aims to bring the platform back into a substantially central position whereby the forces exerted on the user are minimal. Thus the user preferably does not experience the lower-frequency washout movement of the platform to its central position as opposed to the high frequency movements caused by the motion cueing algorithm.
US-A-2009/0047636 describes a method for controlling the movements of a flight simulator, wherein a 2nd order high pass filter and a conventional 1st order washout filter are used. Such a washout filter will act irrespective of the actual position of the platform. This results in that the washout filter will also act when the platform itself is not far away from its central position and therefore no washout action is actually required.
The present invention aims at providing a movement-simulator which has a more optimal washout filter.
This aim is achieved by the following movement simulator, comprising a base; a platform movable relative to said base; actuators having a controllable length, said actuators being coupled with said base and carrying said platform, wherein the dimensions of the base, platform and the variable lengths of the actuators determine a workspace within which the platform can move; and a controller operable to provide a motion cueing algorithm having a demanded platform state as output and a washout controller having a washout adaptation as output, which washout controller keeps the platform within its workspace by adapting the demanded platform state to a commanded platform state using the washout adaptation, wherein the commanded platform state controls, via a kinematic transformation, the length of the actuators and wherein the washout adaptation is calculated using a model predictive control algorithm comprising a cost-minimizing control strategy for position, velocity and washout acceleration of the platform and wherein the model predictive control algorithm continuously uses the demanded platform state and current washout adaptation as inputs to compute a predicted platform state at t+Δt, subsequently the algorithm quantifies the first and second order gradient of the costs J, wherein a new value for the optimal washout adaptation is obtained which results in minimal total costs, and wherein the washout adaptation is used to continuously modify the demanded platform state to a commanded platform state for a next computational step t+dt, wherein dt is smaller than Δt.
The disclosure is also directed to a method to operate a movement simulator comprising a base, a platform movable relative to said base, actuators having a controllable length, said actuators being coupled with said base and carrying said platform, and wherein the dimensions of the base, platform and the variable lengths of the actuators determine a workspace within which the platform can move, wherein a motion cueing algorithm provides a demanded platform state as output, wherein a washout controller keeps the platform within its workspace by adapting the demanded platform state to a commanded platform state using a washout adaptation, which washout adaptation is calculated using a model predictive control algorithm adaptation, and wherein the lengths of the actuators are controlled by the commanded platform state via a kinematic transformation.
By using a model predictive control algorithm an adaptive 2nd order washout filter results, which is controlled by the size of the workspace and the platform position relative to the boundaries of said workspace. This results in that the movement-simulator according to the disclosure and its method of operation makes much better use of its available workspace than the prior art movement simulator having a prior art washout filter.
The preferred embodiments will be further illustrated making use of the following figures.
The movement simulator may be any system having from 1 to and including 6 degrees of freedom, wherein the degrees of freedom (DOF) can be any of x, y, z, pitch, roll & yaw. A preferred movement simulator has 6 degrees of freedom. The description will illustrate a movement-simulator having 6 degrees of freedom. A skilled person can easily understand how this disclosure will work for a movement simulator having fewer degrees of freedom based on said description.
The above referred to platform state is expressed in the platform domain position coordinates. The number of different platform domain position coordinates used will preferably be the same as the number of degrees of freedom of the movement simulator itself.
The demanded and commanded platform states are preferably expressed in terms of position, velocity and acceleration. Using the same coordinates, relative platform position can be expressed with respect to the positive or negative workspace boundaries or with respect to the workspace center.
Preferably the model predictive control algorithm comprises a cost-minimizing control strategy for relative platform position, platform velocity and platform washout acceleration. More preferably the model predictive control algorithm continuously uses the demanded platform state and current washout adaptation as inputs to compute a commanded platform state. The commanded platform state is then used to predict a platform state at t+Δt (the predicted platform state); subsequently the algorithm quantifies the first and second order gradient of the costs J. In this manner an optimal washout adaptation is obtained which results in minimal total costs. The term “minimal total costs” does not relate to money. It is a term often used in MPC to describe the difference between the optimal platform state and the best achievable platform state at t+Δt. The washout adaptation is used to continuously modify the demanded platform state to a commanded platform state for a next computational step t+dt, wherein dt is smaller than Δt. For a typical 1.5 GHz computer Δt can for example be 0.5 seconds and dt can for example be 2 milliseconds.
The above is illustrated by the block diagram given in
The weight function can also be made time dependant, shown as the optional feed forward in
The optimal change in washout is obtained at minimal costs. By means of a single integration optimum washout acceleration is obtained. By means of a double integration the optimal washout adaptation at minimal total costs is obtained. In state integration at dt only the first computational step (after time period dt) of the control strategy is implemented as the washout adaptation to the commanded platform state.
The washout adaptation is the integration of washout acceleration which is preferably calculated by the following equation:
wherein {right arrow over (a)}WO is the washout acceleration, {right arrow over ({dot over (a)}WO is the optimum rate of change of the washout acceleration and J is the total costs. J is a summation of Jp, Jv and Ja, wherein Jp is position cost, Jv is velocity cost and Ja is acceleration cost. Suitably J is the summation of Jp which is derived from the relative position in the workspace, Jv which is derived from the velocity through the workspace and Ja which is derived from the washout acceleration through the workspace.
K is a constant which will, in an ideal mathematical situation, be equal to −1. Applicants believe that K may vary while still achieving the benefits of the present invention.
Jp is the result of multiplying the predicted position relative to the workspace center with a position weight function which uses the position relative to the workspace center and the position relative to a positive and negative workspace boundary as inputs.
Jv is the result of multiplying the predicted velocity with a velocity weight function which uses the position relative to the workspace center and the position relative to a positive and negative workspace boundary as inputs.
Ja is the result of multiplying the predicted washout acceleration with an acceleration weight function. The weight function may be a constant or alternatively be a function which uses the position relative to the workspace center and the position relative to a positive and negative workspace boundary as inputs. The objective of using non-constant position dependent weight functions is to implement adaptive dynamic behavior of the washout optimization for various areas of the workspace. Other different, but mathematically equivalent, methods exist. For example, the same effect is achieved by choosing constant weight functions and non-constant scaling functions for normalized position, velocity and acceleration coordinates.
Since the platform can move in 6 degrees of freedom, the MPC control problem is multi-variable and therefore all cost functions Jp, Jv and Ja contain the contributions of each degree of freedom.
The acceleration cost Ja depends on the difference between demanded and commanded platform acceleration. In this respect the demanded platform acceleration is the acceleration as computed by the motion cueing algorithm. The commanded acceleration refers to the platform acceleration as computed by the washout controller. For example, the value of the acceleration cost function is minimal when the commanded acceleration closely follows the demanded acceleration. In motion cueing terms: the demanded acceleration represents the acceleration cue where the difference between demanded and commanded acceleration represents the washout.
For each predicted value of platform position, the washout optimization, and more specifically, the cost function J requires computation of the workspace boundaries and center. Additionally the first and second order derivatives of J require computation of the first and second order derivative of the predicted workspace boundaries and center for variations of the washout acceleration. The used algorithm preferably integrates a method for efficiently computing these quantities as will be described below.
The workspace position coordinate {right arrow over (e)} is expressed in platform domain coordinates x, y, z, pitch, roll, & yaw according to the following formula:
{right arrow over (e)}=(x y z φ θ ψ)T=ei (2)
wherein x, y and z are the position coordinates for platform translation and φ, θ and ψ are the platform angular position in pitch, roll & yaw. An index ei is added as a subscript to indicate the DOF of the coordinate system, i.e., ei is the excursion value for the i-th DOF, wherein for 6 degrees of freedom (DOF) i runs from 1 to 6 for x, y, z, pitch, roll, & yaw respectively. Likewise ei+ and ei− are the positive and negative excursion limits for the i-th DOF, where eic is the center excursion for the i-th degree of freedom.
Coordinates {right arrow over (e)} representing combinations of degrees of freedom, i.e. the possible platform position coordinates x, y, z, φ, θ and ψ, that can be realized by the platform 3, are mapped within the workspace. When a coordinate is mapped outside of the workspace, one or more of the actuators 4 are either too long or too short. The outside surface of the workspace is continuous but not completely smooth. It is characterized by adjacent patches. On each of these patches a single combination of one or multiple actuators 4 are at their excursion limit. The surface of each patch is continuous and smooth; however, when moving from one patch to another, a different set of actuators 4 becomes the limiting factor and a discontinuous transition occurs in the gradient of the surface. At some places the transition between two adjacent workspace surface areas will be relatively smooth. At other places sharp edges are present.
The above is illustrated in
The single DOF excursion analysis is illustrated in
For any given platform state within the workspace, the minimum, maximum and center coordinate values of the SDE workspace for any degree of freedom are determined by the values of the other degrees of freedom which are assumed to be fixed. In practical cases where a platform is moving through its workspace, the minimum, maximum and center values of the SDE workspaces will constantly change.
Preferably, for any given platform position within the workspace {right arrow over (e)}, the SDE workspaces are sequentially computed for each degree of freedom using an SDE analysis which allows the platform only to move in the analyzed free degree of freedom while keeping the remaining 5 degrees of freedom fixed at their value ei.
This results in the values for ei+, ei− and eic.
For the SDE analysis, an iterative method can be used where the platform is moved stepwise along its free degree of freedom until a position is found where one or more actuators is either fully extended or fully retracted. Each step requires a Forward Kinematics analysis in which actuators' lengths are computed for a defined platform position. Preferably use is made of the Jacobian matrix which expresses the partial derivatives of actuator length for displacements of the platform along its degree of freedom for the current position of the estimator in the workspace. By using a Jacobian matrix, a relatively fast iteration is possible which will nevertheless require between 3-4 steps to converge with sufficient accuracy.
The more preferred method for SDE analysis makes use of two persistent SDE estimators for each degree of freedom, one estimating the minimum excursion and one estimating the maximum excursion, and each having its own Jacobian matrix. While the motion system is moving through its workspace, the fixed degrees of freedom of the SDE estimators need to be aligned with the predicted position of the motion system at the fixed time horizon Δt. At each cycle of the algorithm, each estimator copies the values of the fixed degrees of freedom from current predicted position ei which leads to a new position of the estimator, possible slightly away from the workspace boundary. A Forward Kinematics analysis is then used to update the Jacobian matrix for the new position and to adjust the free degree of freedom such that the estimator is repositioned accurately on the workspace boundary. This leads to 12 platform extreme positions, 2 per degree of freedom (either e+ or e−) in just one iteration step per degree of freedom. Subsequently, the center of the workspace is computed using equation (3).
The SDE workspace acceleration derivatives are defined as the partial derivatives of the SDE workspaces maximum, minimum and center values for variations of the platform acceleration applied during the finite time horizon Δt. They are noted as ∂ei+/∂aj, ∂ei−/∂aj and ∂eic/∂aj in which index i defines the degree of freedom of the SDE workspace, and index j defines the degree of freedom of the acceleration perturbation.
Likewise, the SDE workspace position derivatives are defined as the partial derivatives of the SDE workspaces maximum, minimum and center values for variations of the predicted platform position due to variations of the platform acceleration during the finite time horizon Δt. They are notated as ∂ei+/∂aj, ∂ei−/∂aj and ∂eic/∂aj in which index i defines the degree of freedom of the SDE workspace, and index j defines the degree of freedom of the position perturbation. The SDE workspace acceleration derivatives can be computed from the SDE workspace position derivatives using:
wherein the partial derivative ∂ej/∂aj represents the partial derivative of the predicted platform position for the j-th degree with platform acceleration in the same degree of freedom. Taking into account that the a constant acceleration perturbation is applied during a finite time horizon of Δt, its value is constant and equals Δt2/2.
Computation of the cost derivatives in equation (1) requires computation of the SDE workspace acceleration derivatives which are in turn computed from the SDE workspace position derivatives using equation (4).
Theoretically, the SDE workspace position derivatives can be obtained numerically by numerical differentiation of the SDE analysis for the current predicted platform position. This, however, required 120 SDE analyses per time step dt which is generally too much to be done in real-time.
The preferred method for computation of the SDE workspace position derivatives is to proceed from a linear analysis given by of equation:
JcΔei+JcΔej={right arrow over (0)} (5)
which expresses how much excursion Δei in direction of the SDE workspace free degree of freedom (index i) is required to get back on the workspace extreme when a position perturbation of Δej is applied, wherein Jc is the Jacobian matrix for the considered SDE workspace extreme position and j identifies the degree of freedom of the position perturbation.
Using the edge blending technique, the SDE workspace derivatives for ei+ and ei− are give by:
wherein Wk is the edge blending function which is a function of available free travel of the k-th actuator 4 to its critical excursion limit. Generally a function is chosen in which Wk is zero when the available travel is larger than the edge blending distance and then linearly approaches a value of 1 when the available length is zero. Edge blending is cancelled when Wk=1 for critical actuators and when Wk=0 for non-critical actuators.
The position derivative of the SDE workspace center is the average of the derivative for the positive and negative SDE workspace limits:
The cost function for platform position (symbol Jp) is calculated by:
Jp={right arrow over (C)}p·{right arrow over (C)}p=(P({right arrow over (e)})({right arrow over (e)}−{right arrow over (e)}c))·(P({right arrow over (e)})({right arrow over (e)}−{right arrow over (e)}c)) (8)
wherein {right arrow over (C)}p is a cost vector that is the result of multiplying the position weight function P with the predicted position {right arrow over (e)}, with {right arrow over (e)} given by:
{right arrow over (e)}=ei(x y z φ θ ψ)predictedT (9)
The position weight function P is chosen to be a fully diagonal matrix. In this way, a cost is assigned to usage of workspace for each degree of freedom separately. This is advantageous because it allows tuning of the algorithm.
The cost function for platform velocity (symbol Jv) is given by:
Jv={right arrow over (C)}v·{right arrow over (C)}V=(V({right arrow over (e)}){right arrow over (ė)})·(V({right arrow over (e)}){right arrow over (ė)})· (11)
wherein {right arrow over (C)}v is the velocity cost vector that is the result of multiplying the velocity weight function V with the predicted platform velocity {right arrow over (ė)} that is given by:
{right arrow over (ė)}=ėi({dot over (x)} {dot over (y)} ż {dot over (φ)} {dot over (θ)} {dot over (ψ)})predictedT (12)
The velocity weight function is chosen to be a fully diagonal matrix. In this way, a cost is assigned to platform velocity for each degree of freedom separately. This is advantageous because it allows tuning of the algorithm.
For motion cueing applications, the platform acceleration must closely match the acceleration set point of the motion cueing algorithm. Any deviation of the demanded platform acceleration is penalized with a cost factor. The cost function for platform acceleration is suitably given by:
Ja={right arrow over (C)}a·{right arrow over (C)}a=(A({right arrow over (e)}){right arrow over (a)}WO)·(A({right arrow over (e)}){right arrow over (a)}WO) (14)
wherein {right arrow over (C)}a is the acceleration cost vector that is the result of multiplying the velocity weight function A with the predicted acceleration {right arrow over (ė)} which is given by:
{right arrow over (ë)}=ëi=({umlaut over (x)} ÿ {umlaut over (φ)} {umlaut over (θ)} {umlaut over (ψ)})predictedT (15)
In this cost equation, A is a weight function which is chosen to be a fully diagonal matrix. In this way, a cost is assigned to deviation from demanded platform acceleration for each degree of freedom separately. The weight function is preferably independent of the position in the workspace.
The partial derivatives of the position, velocity, and acceleration cost with washout acceleration can be worked out by straight forward differentiation. This leads to partial derivatives of predicted platform position, velocity and acceleration with washout acceleration. These derivatives are non-zero when a time horizon of Δt is considered:
The differentiation of the position, velocity and acceleration cost function also leads to SDE workspace acceleration derivatives which are computed from the SDE workspace position derivatives using equation 4.
The disclosure is also directed to a computer-readable recording medium that stores a computer program for use as a washout controller according to the present disclosure. Thus the computer program has a washout adaptation as output which is calculated using a model predictive control algorithm. The computer readable recording medium is suitably used as part of a controller of a motion-system as described above.
Number | Date | Country | Kind |
---|---|---|---|
2005174 | Jul 2010 | NL | national |
Number | Name | Date | Kind |
---|---|---|---|
5623878 | Baxter et al. | Apr 1997 | A |
5752834 | Ling | May 1998 | A |
20100279255 | Williams, II | Nov 2010 | A1 |
Entry |
---|
Nehaoua et al., Motion Cueing Algorithms for Small Driving Simulator, Proceedings of the 2006 IEEE International Conference on Robotics and Automation, Orlando, Florida—May 2006, p. 3189-3194. |
Search Report from the Dutch Patent Office on co-pending NL application (NL2005174) dated Mar. 21, 2011. |
Hwang et al.; “Adaptive motion washout filter desing by using self-tuning fuzzy control”; Advanced Intelligent Mechatronics, 2009; IEEE/ASME International Conference on, IEEE, Piscataway, NJ, USA; Jul. 14, 2009; pp. 811-815; XP031524110. |
Nehaoua et al.; “Design and control of a small-clearance driving simulator”; IEEE Transactions on Vehicular Technology; IEEE Service Center; Piscataway, NJ, USA; Mar. 1, 2008; pp. 736-746; XP011201791. |
Chang et al.; “Optimal motion cueing for 5-DOF motion simulations via a 3-DOF motion simulator”; Control Engineering Practice; Pergamon Press, Oxford, GB; Jan. 1, 2009; pp. 170-184; XP025535015. |
Chen et al.; “Predictive washout filter design using the forward kinematics and a Kalman filter”; Intelligent Control; IEEE 22nd International Symposiu M ON, IEEE, PI; Oct. 1, 2007; pp. 420-425; XP031151850. |
Number | Date | Country | |
---|---|---|---|
20120029703 A1 | Feb 2012 | US |