3 ms·
In similar systems, the position is generally tracked with the combination of interial sensors (accelerometer / gyro / angular rate sensors) and external refere
by leecb 7y ago
In similar systems, the position is generally tracked with the combination of interial sensors (accelerometer / gyro / angular rate sensors) and external references like GPS and star trackers.
Inertial sensors are able to provide high frequency data on change in position and orientation. Higher frequency means the software can make much more rapid decisions to steer the rocket, on the order of 1000 a second or so, much more often than can be achieved with GPS.
The fact that inertial sensors don't rely on external signals (like GPS does) means that there is some degree of robustness- for instance, if there is a temporary disruption in GPS signal reception, the rocket will still have some idea of its position.
Over time, integration and measurement error accumulate from the inertial sensors. (Remember that they generally measure changes in position / orientation, not absolute position or orientation). For this reason, it is usually necessary to use external position and orientation references to correct the error that accumulates over time. GPS is used for this, and in some applications, star trackers can be used as an absolute orientation reference.
On the algorithm side, a Kalman filter combines measurements from all of the position and orientation sensors to generate a prediction of the current position / orientation / velocity / acceleration etc.
- Symmetry 7y agoA minor addendum, you should feed your Kalman filter the gimbal and thrust of the rocket too, it'll happily chow down and combine that with everything else to further improve its estimate.
- tlb 7y agoIt's dangerous to throw extra sensors into a Kalman filter, because if the sensor goes bad it'll corrupt the output. Angular rate sensors are extremely accurate, far more accurate than a thrust sensor could be, so it probably wouldn't improve the overall accuracy anyway.
- Symmetry 7y agoAh, I guess I'm used to wheeled robots where odometers are often your most accurate gauges of position.
- phkahler 7y ago>> It's dangerous to throw extra sensors into a Kalman filter, because if the sensor goes bad it'll corrupt the output. Not necessarily. A Kalman filter uses a covariance matrix to account for noise in the input signals. Another technique can be used to dynamically adjust that matrix while it's running. If a signal doesn't agree with everything else going on, it's noise level is effectively increased to the point that it doesn't contribute any more. I know someone who implemented a system like that and it could drop sensor inputs and bring them back in real-time. I realized that all the traditional sensor diagnostics others had used in similar systems might be obsolete with something like that. It was a pure math-based system, no logic or thresholds for sensor diagnostics and it just worked (TM).
- tlb 7y agoI've tried to make adaptive Kalman filters work, and it's not easy. For something like a rocket, the covariance of all the sensors is very low while it's sitting on the launch pad. As soon as you light the engines, the covariances jump up. So an adaptive filter will try to adjust its weights during the first few seconds of flight, which is a terrible time to change everything. Usually it's better to lock down all the filter coefficients. Also, an adaptive Kalman filter measures noise on each input to estimate error, usually by looking at the autocovariance. This turns out to be maximally bad when a sensor fails and emits a constant value, because the autocovariance becomes zero and the adaptive filter will decide it's the most accurate of all the inputs and weight it heavily. Before a Kalman filter, you need redundant sensors and logic to discard ones that disagree with the majority. Angular rate sensors and accelerometers are cheap and light, so I'm sure they have at least 3 sets. Maybe 5.
- phkahler 7y agoA friend of mine used an adaptive Kalman filter to estimate vehicle speed in a car using the 4 wheel speed signals, and steering angle IIRC. They tested on special surfaces (alternating ice patches or something) that caused wheels to lock or slip. He said it was able to track actual vehicle speeds very well down to a single valid wheel speed. I think the key is not to just measure the noise of the signal itself, but its deviation from "everything else". Probably simpler in a car than on a rocket? Anyway, these things are possible to varying degrees. Nor did I say it was easy - I've only implemented one, never designed one ;-)