# Lab blog

### June 2018

Lauren Lieu will be joining the lab later this Summer as a Research Specialist. Lauren is currently wrapping up her Master’s thesis – in robotics at Carnegie Mellon. Congratulations Lauren, and hurry up😊!

The mass-shifter fault-isolation paper to PHM was accepted. A pdf of the manuscript can be found here.  One of the referees very perceptively asked about parameter sensitivity of the prediction. The equations are basically linear so I should be able to answer the stability question from the poles of the dynamic matrix – gut feeling is that it’s stable. To assess sensitivity, I’ll need to get the parameter variance info from the multiple data files, then use Monte-Carlo to compute the prediction variance.

The extended abstract of our next paper was submitted to the Intelligent Systems track of AIAA SciTech 2019. The general idea for this paper is to extend the formalism we used on the mass-shifter to a thruster. The two actuators are similar in the sense that they’re both electro-mechanical and they’re both running close-loop control on speed, but that’s where the similarities end. The biggest difference is in their dynamics: whereas the load on the mass-shifter load is constant – Coulomb friction + a pitch-dependent gravity term – the load on the thruster depends on propeller type, vehicle speed, and whether the propeller is fully or partially submerged. There are good naval architecture models to describe the first two – not the third, – but unfortunately we can’t use them directly on a custom propeller and unlike the mass-shifter, it’s very hard to measure these quantities in-vitro. Need to think …

The other difference with the mass-shifter is that the thruster uses a brushless DC motor with Hall effect sensor – instead of a brushed DC motor with a quad encoder. In other words, we have to measure 3 currents and 3 voltages, and determine the electrical phase from 3 counters.

Speaking of counter, one of the things that was solved this month is how to hardware-synchronize data acquisition hardware (NI-DAQ 9227 and 9229 A to D, NI-DAQ 9361 counter). National Instruments has a very nice framework (DQAQmx) that automatically synchronizes multiple cards provided they’re analog inputs and that they’re sampled at the same rate – what they call a task. You can’t mix an analog signal and a counter signal in the same task however, and you can’t mix two analog signal collected at different rates.

This technical note  (Figures 6 and 7) provided some hints. It didn’t quite work out of the box but once I got the logic of it I was able to adapt it. The short of it is that you need to sync the start time on the devices, and you need to slave the device sampling clocks s/t they don’t drift. Simple enough right? The problem is that you need to understand enough of the DAQmx state machine to force the master to pick a timing engine early, else you can’t export the master sampling clock. Second, you need to force the slave device to trigger on the master’s start trigger: that’s done by adding a start trigger node, and then clustering the two error signals.

I attended IC-PHM for the first time 2 weeks ago. I’m not sure why, but the attendance was really low, and the presentations were not what I would have expected of an IEEE conference. The highlight of the conference was Bill Tonti’s keynote: outstanding speaker, he showed data on chip temperature vs year and why it’s the driving factor in following Moore’s law. He showed a couple of slides summarizing the chip industry’s effort in chip-level fault detection/recovery – absolutely stunning the creativity that went into delivering faster and faster technology – and discussed hardware burn-in in a way I’d never heard before.

### May 2018

As discussed last month, the first order of business is to add a redundant estimate of speed using the current and voltage sensors. That turned out to work spectacularly well: using the motor manufacturer’s data, and comparing it to the encoder data, showed complete agreement. When we compared the integrated speed with the absolute position data, we were pleasantly surprised to discover both backlash and run-to-run variability of the mass-shifter alignment, because it also suggested that the absolute position sensor was probably the reason the fault-detection false-alarm rate was so high.  Based on this, we changed the set of state variables used to described that system from battery speed and motor current, to motor speed and motor current

Our latest paper, Fault Isolation of an Electro-Mechanical Linear Actuator, was just submitted to the PHM Society conference proceedings.  The problem it addresses is fault-isolation on a system that’s not stationary. We started by deriving the equations of motion for a DC-motor-driven linear actuator in nominal conditions and for two faults. We then used partitioning to do parameter identification from time-domain data. Finally, we used the model to do time-dependent fault isolation: we ran the nominal model until it detected a fault from the residuals, then we initialized the fault models, and ran them in parallel; the model with the smallest residual is the one that was selected. Pretty straightforward stuff, and what we found is that it works really well – probably because the models we derived turned out to be spot on. We expect the paper to be in print early October.

We haven’t had time yet to measure the run-to-run the sensitivity analysis, or to do the misclassification analysis – that’s next.  There’s also something interesting we saw during the initialization phase that will deserve scrutiny.

### April 2018

The project is moving along: whereas the focus last year was fault detection, this year it’s fault isolation. Detection for a mass-shifter or a thruster, we found, was nearly trivial. Isolation’s another matter: one of the issues we have to solve is that two of the faults – the coupling fault and the stuck sensor fault – look very similar in current/speed space. We need sensor redundancies.

The strategy we’re following is to test two types of redundancies. The first one is an analytical redundancy: a speed estimate from the existing current and voltage sensors. The second one is to get speed from the quadrature encoder.

### February 2018

I met with the Naval Research Lab’s weather forecasting group in Monterey. It’s surprising how much similarity there is between the tools used for weather forecasting and PHM – KF, particle filters, UKF, MC. The differences are also impressive- their covariance matrix is so large (10^9 x 10^9) that it can’t be inverted! Thanks to Sergey Frolov for hosting the visit!

The Research Engineer posting is now live! If you have math game, you want to do cutting edge research, and you love to play with big expensive toys, MBARI’s the place for you! BTW, the ocean view isn’t bad either …

### January 2018

The Fault Prognostication project is moving into Phase 2. Our 2018 goal is to design a strap-down predictive fault detection system for the LRAUV. Mark Chaffey, Eric Martin, and Tom O’Reilly joined the team. A new research engineer will be added soon.

The team met with Kai Goebel at NASA Ames’ Prognostics Center of Excellence: Kai’s team developed a S/W framework for fault prognostication called GSAP that we’re considering. The lab visit was particularly eye-opening, and emphasized the need to develop the payload using actual fault injection. Many thanks to Kai and his team for hosting us!

### November 2017

The paper Detection of Unanticipated Faults for Autonomous Underwater Vehicle Using Online Topic Models was published in the Journal of Field Robotics.

### October 2017

The mass-shifter and thruster work was presented at PHM 2017. This was my first time at PHM, and I really liked the conference: 2 full days of tutorials, a crowd evenly composed of model-based PHM and data analytics people, and good participation from the automotive, aerospace, and mining sectors.

### September 2017

We tried a data-centric method to isolate signal transients from the steady-state – using an unsupervised non-parametric mixture models on time-domain data. I’m not too keen on skipping over a model-based approach when the situation screams for it, but it was worth trying. The good news is that not too much data was needed to fit the model; the bad news is that the model can’t represent time and it can’t deal with change. A Markov model using the PDFs instead of a fixed mixture could fix the first problem, but I can’t think of anything besides model-based that can deal with the second – short of a RNN. There wasn’t enough time to try these improvements in time for the ICRA deadline, but maybe next year …

Ben Raanan, will be moving on to greener pastures at the end of the month. Good luck to him in his future endeavors!

### August 2017

The paper Actuator Fault-detection for AUVs Using Unsupervised Learning was accepted for publication in the PHM society journal. The paper shows two things: 1- yes, we can separate nominal operation from most faulty states, but 2-  there’s too much temporal correlation to develop a low-Pfa detector.

### July 2017

We wrapped-up setting up the thruster testbed and collecting + processing the data. Just like with the mass-shifter, the fault states are well separated.

### May 2017

We wrapped-up the data collection + anomaly detection development for the mass-shifter. The results were presented at the Center for Marine Robotics in Woods Hole.

### March 2017

We wrapped-up the development of the mass-shifter testbed. Except for the usual problems associated with untested hardware and signal denoising, everything went pretty smoothly. Now the fun begins!

### January 2017

Our new project, Fault Prognostication (see below) is just underway. We’re in the process of adding a bunch of monitoring equipment to a benchtop version of the LRAUV (hyperlink to LRAUV pages) that we’ll feed to unsupervised learning algorithms in order to learn the internal representation. Our initial focus is the vehicle’s pitch pack, and to study it we’re writing a LabView interface that will collect time-resolved data from a pair of vibration sensors + power usage + absolute position measurement.

### December 2016

Back in September Ben presented a paper on classification of vertical plane failures by Topic Models (hyperlink to paper) at the IEEE Oceans conference. The paper was very well received. Since then we’ve looked at more field data and examined in detail how perplexity changes after a new state is discovered. We just submitted a comprehensive article to the Journal of Field Robotics’ special issue on Ocean Robotics.

### August 2016

The figure below shows an example of using Topic Modeling for fault detection. Each “topic” is a probability distribution learned from the data, and the plot shows the 2D projections of all the topics that are found (projection with Principal Component Analysis). What is interesting is that without our telling the system what to look for (unsupervised learning), it was able to match each of the commanded policies (float on surface, pitch, surface, hold depth) AND the fault state that arose after the vehicle’s mass shifter failed but before the vehicle’s software figured it out, AND the fault state after the software realized it.

Very encouraging results but we’re not quite sure yet how well it will generalize.

2D projection of the vertical plane topics learned from the vehicle’s sensory data.