I have a set of industrial machines, for which I collect measurements from a few sensors (say, $d=20$) in time. So I have a $d-$variate time series for each machine. Let $t=0$ denote the start of my study: machine $j$ starts working at $t^j_{start}\geq 0$, and it either fails at $t^j_{fail}\geq t^j_{start}$, or it keeps working until the end of my study (so I have right-censored data). The machines work in very harsh environments, and often sensors measurement are temporarily not available. In other words, I have many missing data (say, about 50% of all sensor measurements are missing). Sensor time series are extremely long (say, one measurement/minute), but I can downsample them to daily measurements if necessary, maybe increasing $d$ to compensate (i.e., instead than $d$ instantaneous measurements per minute, $4d$ measurements for day, i.e., min, max, median and IQR for each sensor). After this downsampling, the lengths of the time series go from $50$ to $730^+$, more or less (i.e., the "worst" machines die after less than two months of operation, and the "best" ones are still running at the end of the study, after 2 years).
I would like to predict the Residual Useful Life, i.e., the remaining days until failure for a new machine. If $T$ is the useful life of a machine (thus a random variable) then
$$\text{RUL}(t)=\mathbf{E}[T|T\geq t]$$
In other words, let $\mathbf{x}(t)=(x_1(t),\dots,x_d(t))$ be the set of sensor measurements at time $t$ for the new machine, where possibly $x_i(t)=NA$ for one or more $i$: given in input the sequence $T=[\mathbf{x}(t_0),\dots,\mathbf{x}(t)]$, I want to estimate $\text{RUL}(t)\geq 0$, and as new data $\mathbf{x}(t)$ come in, I want to update my estimate $\text{RUL}(t)$.
I would like to use a Neural Network to do this: I was thinking of a Recurrent Neural Networks, because it's the architecture I'm more familiar with, for what it concerns time series forecasting, but I'm open to other suggestions, as long as open source implementations are available. I found this paper, but the authors are not willing to share code, and I feel the description is not detailed/clear enough to reimplement the code on my own. Can you help me? I'll also accept other suggestions.
PS for now I don't have static covariates for each machine, but in the future I'd like to include them in the analysis, things like for example the coordinates of the installation site of the machine, the type of the design of the machine, etc. In a "classical" survival analysis, these would correspond to things like height, weight, age, sex, etc. of each individual, while the sensor data would be for example time series of blood pressure, heart rate, body temperature, etc. Thus I'd like an approach which in the future can be extended by including such covariates.