poniedziałek, 20 listopada 2017

AI 7

AI 7

Automatyzacja zmienia i zmieni jeszcze bardziej nasze życie. Ale automatyzacji nie należy mylić z "dużą" AI. Niemniej skomplikowane systemy automatyki nazywane są inteligentnymi.  

NASA w swoich spektakularnych opracowaniach stosowała proste sterowanie komputerowe dające wartości zadane regulatorom analogowym. NASA miała biuro odpowiedzialne za rozpowszechnianie opracowanych ( za pieniądze podatnika ) technologii. Dzięki temu program Apollo był znakomitą inwestycją dla Amerykanów ! NASA korzystając z odstawionych już samolotów F-8 postanowiła za niewielkie pieniądze opracować dla przyszłych programów i dla przemysłu lotniczego wyłącznie cyfrowy komputerowy elektryczny system sterowania samolotu - Digital Fly By Wire. W pierwszym etapie prac zastosowano taki komputer jak w programie Apollo, który był jednak dużo za słaby do tego zadania. Komputery sygnałem elektrycznym sterowały elektroserwozawory a te siłownikami hydraulicznymi.
Od 1973 roku stosowano komputery IBM AP-101 w redudantnej trójce. Był to dość lekki komputer z listą rozkazów ( i kompilatorów ) ogromnie popularnych komputerów IBM360, który jednak był strasznie zawodny w warunkach lotniczych. Program NASA był wielokierunkowy i temat rozpracowano też pod kątem teoretycznym. Zebrano i opracowano dane doświadczalne. Koncern General Dynamics pracował wtedy nad prototypem samolotu YF-16 czyli późniejszego F-16. Konstruktorzy YF-16 godzili się na statyczną niestabilność samolotu pragnąc aby był znakomity w manewrach. Ciągłe czuwanie przez pilota nad niestabilnym samolotem uniemożliwiłoby mu wykonanie misji bojowej. General Dynamics znając opracowania NASA zaprojektował i produkował udany analogowy system sterowania samolotem F16.  Komputery w układzie redudantnym do sterowania siłownikami sterowanych powierzchni samolotu zastosowano dopiero w wersji F-16C/D od block 40 w górę około roku 1987. Komputer misji samolot F-16 miał jednak od początku. Zastosowanie komputerów zamiast regulatorów analogowych niewiele zmieniło. NB. Komputerowa elektronika F-16 jest wrażliwa na wyładowania ESD co fatalnie o niej świadczy.
Poniżej schemat blokowy analogowego układu regulacji.
Obecnie dostepny jest  Matlab przykład projektowania systemu sterowania samolotem i jego symulacja.
Airbus od modelu pasażerskiego odrzutowca A320 zunifikowane sterowanie Digital Fly By Wire stosuje we wszystkich modelach samolotów. Znacznie bardziej zachowawczy był Boeing. Każdy komputer Airbusa w parze ( umownie PRIM - SEC  ) jest całkowicie odmienny od drugiego. Zespoły pracujące nad oprogramowaniem miały kategoryczny zakaz kontaktów. Jeden komputer ma program napisany w PL/M a drugi w Pascalu. Początkowo stosowano pary procesorów 68000 Motoroli i 80186 Intela a później Intelowskie pary 80386 i 80186. Płyty komputerów produkują rożne firmy. Użyto w nich różnych układów scalonych Zaistnienie więc takiego samego błędu logicznego (!) w komputerach i programach  jest prawie niemożliwe. Komputery są niezależnie i niezawodnie zasilane.  

Rozkładowy pasażerski Airbus A330 linii Air France AF447 lecący z Rio de Janeiro do Paryża, pilotowany przed doświadczoną załogę, w nocy z 31 maja na 1 czerwca 2009 roku zniknął bez śladu nad Atlantykiem. Na pokładzie samolotu znajdowało się 216 pasażerów i 12 członków załogi. Dopiero na początku maja 2011 roku francuskim służbom poszukiwawczym udało się namierzyć i wydobyć dwie "czarne skrzynki" zawierające rejestrator parametrów lotu i nagrania z kabiny pilotów. Według ustaleń śledztwa w samolocie lecącym  nad niespokojnym obszarem  Intertropical Convergence Zone (ITCZ, jest przynajmniej 5 nieścisłych polskich określeń na ITCZ ) kryształki lodu zapchały rurki Pitota a odpływy stopionej wody były też zapchane.  Załoga straciła informacje o prędkości i wysokości samolotu. Skutkiem dezorientujących komunikatów systemu pilot ustawił wznoszenie samolotu, który w końcu wpadł w przeciągnięcie i nieomal pionowo  spadł z wysokości 12 km do Atlantyku. Raport śledztwa skrytykował załogę. Awaria rurek Pitota była prawdopodobnie przejściowa i po kilku minutach mogła się zakończyć. Z pitot-static samoloty w tym rejonie miały częste problemy.
  Samolot miał system  Aircraft Communication Addressing and Reporting System (ACARS), ktory radiotelefonem VHF lub satelitą ( nad pustkowiem ) przesyła komunikaty o różnych niesprawnościach samolotu. Obsługa naziemna zobowiązana jest zaraportowane usterki usunąć jak najszybciej. Samolot systemem ACARS  o godzinie 02:10 nadał komunikat o wadach w systemach pitot-static. Kolejnych 12 (!) nadanych komunikatów jest o wyłączeniu autopilota, o wyłączeniu automatyki ciągu silników i przełączeniu TCAS w mod awaryjny... Pilot ze związku zawodowego AF powiedział że po utracie danych o prędkości i wysokości pilotowanie tego samolotu jest prawie niemożliwe.
Dopiero prasa opisała co naprawdę działo się w kokpicie samolotu. Przy zerowej widoczności systemy jeden po drugim się wyłączyły. Wyłączył się autopilot, po nim automat ciągu silników a wreszcie komputer lotu. Monitory kokpitu dosłownie zalewały jeden pod drugim mylące alarmy i światła kontrolek. Systuacje pogarszały alarmy akustyczne.  Wadliwy program jednego z alarmów był taki że zbyt duży kąt natacia wyłączał alarm (!) przeciągnięcia bowiem taki kąt uważano za niemożliwy. Kiedy tylko pilot prawidłowo zmniejszał kąt natarcia włączał się mylący alarm przeciągnięcia ! Chociaż w systemie były potrzebne informacje to nie były prezentowane pilotom !

Przed erą elektroniki samoloty miały wskaźniki mechanicznie ( dość precyzyjna mechanika ) szybkości, wysokości i szybkości wznoszenia / opadania. Bazowały na bezwzględnym ciśnieniu atmosferycznym statycznym i różnicy ciśnienia dynamicznego z rurki pitota z ciśnieniem statycznym. Zapchanie brudem, owadami czy lodem rurek (są dwa komplety rurek i przyrządów dla kapitana i pierwszego oficera ) pitota jest niebezpieczne. Toteż rurki dłużej stojącego samolotu zakrywa się pokrowcem - także przy myciu i malowaniu samolotu. Zgłoszone przez załogę niespójności wskazań przyrządów muszą poskutkować przeglądem czy czyszczeniem lub naprawą. 
Ciśnienie nad ekwiwalentnym poziomem morza jest rożne w punktach globu, zmienia się w ciągu doby i roku i zależy od pogody. Toteż radiem podawano pilotom ekwiwalentne ciśnienie nad poziomem morza aby załoga samolotu miała dobry pomiar wysokości w danym miejscu globu. 
W erze elektroniki ciśnienia dynamiczne i statyczne z pitot-static doprowadzone jest do dość dokładnych elektronicznych sensorów ciśnienia w modułach Air Data Reference (ADR). Ponieważ jest też sensor temperatury to rurka pitot-static powinna być ogrzewana gdy trzeba a krople wody odprowadzone na zewnątrz. Stan grzejników winien być ciągle monitorowany.  Dane z modułów ADR wychodzą typowo lotniczym interfejsem szeregowym ARINC 429 i używane są głownie przez Air Data Inertial Reference Unit (ADIRU) a trzy systemy ADIRU tworzą redudantny samolotowy ADIRS, dostarczający danych systemom samolotu. ADIRU ma żyroskop ring laser gyroscope, dokładne kwarcowe akcelerometry, GPS i inne sensory. ADIRU to ważąca ca 7 kg hermetyczna metalowa skrzynka ze złączami. Cena ADIRU jest bardzo wysoka.

Na tle żyroskopów mechanicznych żyroskop laserowy jest bezobsługowy, niezawodny i prosty. ADIRU filtrem Kalmana powinna inteligentnie odszumić i scalić dane pomiarowe z różnych sensorów a zarazem określić przedział błędu z określonym prawdopodobieństwem lub inaczej określić wiarygodność pomiaru. Boeing i Airbus używają ADIRU koncernu Honeywell. Agencje bezpieczeństwa lotniczego miały zastrzeżenia do tych ADIRU i zalecały ich wymiane, choć nie pilną.
Laserowy żyroskop w każdym z trzech ADIRU w feralnym samolocie A330 mierzył prędkość z błędem mniejszym od 8 węzłów co przy prędkości przelotowej jest bez żadnego znaczenia. W systemie były więc dokładne dane ale były ukryte przed pilotami !
Gdy tylko systemy nabrały podejrzeń do pomiarów z pitot-static zaczęła się normalna wzajemna panika programów ! ADIRU powinny tylko przekazać informacje że pitot-static są niesprawne i dane pochodzą z żyroskopów laserowych i akcelerometrów i są scalone z danymi z GPS i są absolutnie pewnie. Samoloty wojskowe i precyzyjne rakiety korzystają przede wszystkim z żyroskopów laserowych, akcelerometrów i GPS dlatego że w sytuacji działań wojennych można się spodziewać zakłócających eksplozyjnych fal ciśnienia.

Francja ( Airbus jest bardzo ważną firmą ) i USA ( Honeywell to potężny koncern światowy ) kierując się swoim interesem w stosunku do załogi i ofiar zachowały się podle. Nie chciały też straszyć pasażerów i dlatego winę przypisano umarłym, którzy nie mogą się bronić.
Systemy samolotu okazały się dosłownie kupą gówna. Zawiodły w prawdziwej potrzebie, wtedy gdy były naprawdę potrzebne. Tak jak żołnierz co za pokoju bierze wysoki żołd i dezerteruje na wieść o wojnie.
Zawiodły niczym "państwo teoretyczne" które w ważnych obszarach pozoruje swoją działalność.

W sytuacji zagrożenia trzeba szybko podjąć adekwatne decyzje i działania. Panika jest śmiertelnym wrogiem !
W samolotach Boeinga przy awarii sensorów samolot leci dalej z zadanymi parametrami przed awarią. W ustalonej fazie lotu wystarczy nic nie robić.   
W USA załoga małego prywatnego odrzutowca na skutek awaryjnego spadku ciśnienia straciła przytomność. Samolot z Florydy spokojnie ( powoli nabierał wysokości aż do maksymalnej ) przeleciał USA po przekątnej i rozbił się na północnym zachodzie USA po zużyciu paliwa. NB - Załoga zamiast błyskawicznie założyć maski tlenowe przeszukiwała Instrukcje samolotu w poszukiwaniu rozwiązania tracąc powoli z niedotlenienia jasność myślenia a chwile po tym przytomność.

Idee niezawodnego redudantnego systemu z trójką decydentów - komputerów i układem głosującym podał już genialny John von Neuman. Układ głosujący jest elementem krytycznym i jego uszkodzenie paraliżuje system. Nie jest więc on wcale taki dobry jak mogłoby się wydawać.  

Każdy komputer pracujący w czasie rzeczywistym powinien mieć często uruchamiany program autodiagnostyki. Komputery PC po włączeniu wykonywały procedurę POST - Power On Self Test. W systemach on-line komputery są jednak włączone ciągle. Program musi okresowo ( ani za często ani za wolno ) główną pętlą pobudzać Watchdoga. Jeśli tego nie robi to znaczy że program stracił ścieżkę logiczną i może dane wykonywać jako program lub wykonywać mieszane instrukcje od środka. Watchdog resetuje procesor. Program rozróżnia resety i po resecie Watchdoga usiłuje ustalić powód wadliwego działania i może raport wysłać zdalnej obsłudze. Jeśli program nie jest wadliwy to nieomal zawsze powodem utraty ścieżki logicznej programu jest błąd pamięci choć procesor też może się pomylić. Stąd w odpowiedzialnych komputerach stosuje się detekcje i korekcje błędów pamięci. Procesor dla nieznanego kodu instrukcji musi generować wyjątek.
NB Stosowanie w sterownikach przesadnie dużej ilość pamięci RAM jest proszeniem się o kłopoty.
Boeing poszedł śladem Airbusa ale zastosował nie dwa ale trzy różne komputery z procesorami odpowiednio Intel 80486, AMD 29050 i Motorola 68043. Procesory są też wolniej taktowane.     

Sensory pracujące w trudnych warunkach często ulegają awarii. Dlatego w kotle energetycznym montuje się po dwa albo i trzy sensory. Wadliwy sensor wymienia się dopiero przy remoncie bowiem nie ma do niego dostępu. Interfejsy sensorów muszą detekować anormalną sytuacje a program podjąć sensowne działania.

Uszkodzeniom ulega okablowanie. Stąd gdy wymagana jest wysoka niezawodność działania rozproszonego systemu stosuje się podwójne linki komunikacyjne.  Program może uwzględniać brak komunikacji i pracować dalej według zasady no-panic sygnalizując brak komunikacji.

Mimo szerokiego stosowania "inteligentnych" systemów nadal niezbędni są doświadczeni operatorzy. Nadal mamy kompromitujące black-outy i ciężkie awarie przemysłowe oraz katastrofy komunikacyjne. Słowo "inteligentny" jest tylko chwytem reklamowym. 

2 komentarze: