Câu chuyện 737 MAX

Tại sao một thương hiệu máy bay thương mại có lịch sử lâu đời về độ an toàn và độ tin cậy lại gặp phải hai vụ tai nạn chết người chỉ trong vòng vài phút sau khi cất cánh? Thực sự, liệu đây có phải một chiếc máy bay hoàn toàn mới, với các đặc tính điều khiển hoàn toàn khác biệt so với các máy bay của dòng 737 trước đó? Và với độ quan tâm vốn có của ngành công nghiệp hàng không về vấn đề an toàn, làm thế nào mà một chiếc máy bay mới có thể được đưa vào các đội bay trên toàn thế giới mà không cần phải trải qua sự đào tạo cần thiết? Sự khác biệt trong chi phí sản xuất – và triết lý – giữa phần cứng (hardware) và phần mềm (software) sẽ cung cấp cho chúng ta một lời giải thích cho câu chuyện của 737 MAX.

737 MAX

GIỚI THIỆU VỀ BẢN THÂN

Tôi đã từng là một phi công và là chủ sở hữu máy bay trong ba mươi năm. Tôi đã từng là một nhà phát triển phần mềm trong hơn bốn mươi năm. Tôi đã từng viết nhiều về cả hàng không và kỹ thuật phần mềm trong những năm đó. Bây giờ đã đến lúc tôi viết về cả hai, và trong bối cảnh của một chủ đề khác gần gũi với tôi: “thất bại bình thường” (normal failure).

Loại máy bay Boeing 737 MAX đã được truyền thông đưa tin vì hai vụ tai nạn, gần như xảy ra liên tiếp và liên quan đến những chiếc máy bay hoàn toàn mới. Trong một ngành công nghiệp phụ thuộc tuyệt đối vào sự kiểm soát toàn diện, sự an toàn tối đa, độ rủi ro của tai nạn này ở một mức độ mà gần như chính bạn cũng có thể gặp phải.

Những chiếc máy bay thuộc dòng 737 xuất hiện lần đầu vào năm 1967 (khi đó tôi mới ba tuổi). Hồi đó nó là một chiếc máy bay cỡ nhỏ với động cơ nhỏ và hệ thống tương đối đơn giản. Các hãng hàng không (đặc biệt là hãng Southwest) yêu thích nó vì sự đơn giản, đáng tin cậy và linh hoạt. Chưa kể thực tế là nó có thể được bay bởi một phi hành đoàn hai người – trái ngược với ba hoặc bốn người so với những máy bay trước đó – một yếu tố giúp tiết kiệm chi phí đáng kể.

SỰ TIẾN HÓA CỦA MỘT DÒNG MÁY BAY

Trong những năm qua, thị trường và nguồn lực công nghệ đã thúc đẩy dòng máy bay 737 thành những phiên bản lớn hơn với độ phức tạp ngày càng tăng cả về cơ khí và điện tử. Điều này không phải chỉ duy nhất ở dòng 737. Tất cả các hãng hàng không,  với những khoản đầu tư vốn khổng lồ để tạo ra những dòng máy bay cũng như những khách hàng mua chúng, đều trải qua một quá trình tăng trưởng giống nhau.

Phần lớn các nguồn lực kỹ thuật và thị trường đó liên minh với nhau về khía cạnh kinh tế chứ không phải an toàn. Họ đã liên minh để không ngừng giảm bớt cái mà ngành công nghiệp này gọi là “chi phí dặm bay” (seat – mile cost) – chi phí bay một chỗ từ điểm này đến điểm khác.

LỚN HƠN LÀ TỐT HƠN

Cessna 172

Phần lớn mọi cải tiến tập trung vào động cơ máy bay. Định luật thứ ba của nhiệt động lực học (third law of thermodynamics) và một thứ gọi là hiệu suất Carnot (Carnot efficiency) quy định rằng với kích thước càng lớn và nhiệt độ càng nóng, bạn có thể làm cho bất kỳ động cơ nhiệt nào đều trở nên hoạt động hiệu quả hơn. Điều đó đúng đối với mọi động cơ, từ động cơ máy bay phản lực đến động cơ máy cưa.

Đơn giản là vậy. Cách hiệu quả nhất để làm cho động cơ hoạt động hiệu quả hơn, tức sử dụng ít nhiên liệu hơn trên một đơn vị công tạo ra, là làm cho động cơ lớn hơn về mặt vật lý. Đó là lý do tại sao động cơ Lycoming O-360 trong chiếc Cessna của tôi có piston có kích thước bằng đĩa ăn. Đó là lý do tại sao động cơ diesel hàng hải lại cao đến ba tầng. Đó cũng là lý do tại sao Boeing muốn đưa động cơ CFM LEAP khổng lồ vào phiên bản 737 mới nhất của mình.

Chỉ có một vấn đề nhỏ: chiếc 737 ban đầu chỉ có (theo tiêu chuẩn ngày nay) các động cơ nhỏ bé xíu có khoảng cách lớn với mặt đất bên dưới cánh. Khi dòng 737 phát triển và được trang bị động cơ lớn hơn, khoảng cách giữa động cơ và mặt đất bắt đầu trở nên hơi “chật chội”.

Chiếc 737 đời đầu với động cơ nhỏ JT8

Nhiều cách “hack” (như chúng ta thường gọi trong ngành công nghiệp phần mềm) đã được phát triển để giải quyết vấn đề này. Một trong những kết quả đáng chú ý nhất là sự “bầu dục hóa” (ovalization) của cửa hút động cơ (engine intake). Hầu hết những chiếc 737 ngày nay đều có cửa hút động cơ không tròn, để giúp tăng khoảng cách không gian giữa động cơ máy bay và mặt đất.

RENTON, CHÚNG TA ĐANG GẶP MỘT VẤN ĐỀ

Bên trong nhà máy Boeing ở Renton, Washington, Mỹ

Với 737 MAX, tình hình trở nên nghiêm trọng. Động cơ trên chiếc 737 nguyên bản có đường kính quạt (cánh hút gió trên động cơ) chỉ 1 mét. Các động cơ được thiết kế cho 737 MAX có đường kính 1.78m. Sự khác nhau của hai đường tâm là 30cm và chỉ “bầu dục hoá” cửa hút là không đủ để có thể treo các động cơ mới bên dưới cánh 737, mà không khiến cho động cơ bị mài mòn.

Cách giải quyết của Boeing là kéo động cơ lên ​​phía trước cánh máy bay. Tuy nhiên, làm như vậy cũng có nghĩa là đường tâm của lực đẩy của động cơ bị thay đổi (centerline of the engine’s thrust changed). Giờ đây, khi các phi công tăng sức mạnh vào động cơ, máy bay sẽ có xu hướng “nâng mũi” (pitch – up) lên.

Hiện tượng nâng mũi của máy bay làm tăng lên một thứ gọi là “góc tấn công” (angle of attack). Đó là góc giữa cánh và luồng không khí qua cánh. Hãy nghĩ đến việc thò tay ra khỏi cửa kính ô tô trên đường cao tốc – nếu tay bạn ngang bằng, bạn có góc tấn công thấp. Nếu bàn tay của bạn “giơ cao”, bạn có góc tấn công cao. Khi góc tấn công đủ lớn, cánh tay vào vùng mà chúng ta gọi là điểm chết khí động học (aerodynamic stall). Bạn có thể cảm nhận điều tương tự khi đưa tay ra ngoài cửa sổ – khi bạn đưa tay lên cao, cánh tay của bạn càng ngày càng muốn di chuyển lên như đôi cánh cho đến khi bạn dừng tay lại, lúc đó cánh tay của bạn như muốn khuỵu xuống cửa xe .

Xu hướng “nâng mũi” khi tăng công suất động cơ, sẽ làm tăng nguy cơ máy bay có thể bị “chết máy” khi phi công “đấm nó” (con trai tôi thích nói như vậy). Đặc biệt sẽ càng nguy hiểm nếu máy bay bay chậm.

Để tăng thêm độ thiệt hại, không chỉ việc tăng công suất động cơ sẽ gây ra hiện tượng nâng mũi mà còn bởi vì vỏ của động cơ ở phía trước cánh rất xa và đồng thời kích thước động cơ rất lớn, chúng thực sự tạo ra một lực nâng. Và chúng tạo ra lực nâng đó khi ở các góc tấn công cao. Nói cách khác, khung vỏ động cơ khiến cho một vấn đề xấu (nâng mũi máy bay khi tăng công suất động cơ) càng trở nên tồi tệ hơn.

Tôi nói lại lần nữa: đối với 737 MAX, bản thân khung vỏ động cơ, khi ở góc tấn công cao, tạo ra lực nâng. Và lực nâng mà chúng tạo ra cũng vượt xa trọng tâm của lực nâng của cánh, có nghĩa là khung vỏ động cơ khiến cho 737 MAX khi ở góc tấn công cao càng tạo ra góc tấn công cao hơn. Đây là sơ suất khí động học thuộc loại tồi tệ nhất.

Thay đổi cao độ khi thay đổi công suất động cơ là điều thường thấy ở máy bay. Ngay cả chiếc Cessna nhỏ của tôi cũng nhích lên một chút khi tăng công suất động cơ. Các phi công tập luyện và đã quen với nó. Tuy nhiên, có những giới hạn đối với những gì được phép làm và đạt chứng chỉ FAA (Federal Aviation Administration – Cục hàng không liên bang Hoa Kỳ). Có những giới hạn đối với những gì phi công được phép thực hiện.

Tuy nhiên, hiện tượng nâng mũi khi góc tấn công tăng lại là một vấn đề khác. Trong bất kỳ trường hợp nào, máy bay đến gần vùng chết khí động học không thể nào có xu hướng tiến sâu hơn vào vùng chết đó. Điều này được gọi là “tính không ổn định động” (dynamic instability) và các máy bay duy nhất thể hiện đặc tính đó (máy bay chiến đấu) cũng được trang bị ghế phóng thoát hiểm (ejection seats).

Tất cả mọi người trong cộng đồng ngành hàng không đều muốn có một chiếc máy bay bay đơn giản và tự nhiên nhất có thể – điều đó có nghĩa là các điều kiện bay không được thay đổi rõ rệt, không có độ lăn đáng kể, không có thay đổi cao độ đáng kể, không có gì thay đổi cho dù phi công đang tăng thêm công suất động cơ, hạ thấp cánh lật, kéo dài càng hạ cánh,…

Khung máy bay, các phần cứng, cần phải “làm đúng” ngay lần đầu tiên và không cần thêm nhiều chuông còi báo động để máy bay có thể bay một cách được kiểm soát. Đây là tiêu chuẩn của ngành hàng không kể từ ngày anh em nhà Wright bay lần đầu tiên tại Kitty Hawk.

TẠI SAO CÓ MCAS? BÀI TOÁN KINH TẾ

Rõ ràng là 737 MAX đã nâng mũi quá cao khi tăng công suất động cơ và khi góc tấn công đã ở mức cao. Điều này vi phạm hầu hết các quy tắc hàng không cổ xưa nhất và có thể vi phạm các tiêu chí chứng nhận của cục hàng không liên bang (FAA). Tuy nhiên, thay vì quay trở lại bảng vẽ và chỉnh sửa phần cứng của khung máy bay (xem thêm ở phần bên dưới), giải pháp của Boeing được gọi là “Hệ thống tăng cường đặc tính cơ động” hay MCAS (Maneuvering Characteristics Augmentation System).

Giải pháp của Boeing cho vấn đề phần cứng (hardware) là phần mềm (software).

MCAS chắc chắn ít tốn kém hơn nhiều so với việc sửa đổi gần như toàn bộ khung máy bay để phù hợp với các động cơ lớn hơn. Việc sửa đổi khung máy bay như vậy sẽ có nghĩa là những thứ như càng hạ cánh sẽ dài hơn (sau đó có thể không vừa với thân máy bay khi rút lại), nhiều cánh lật hơn (uốn cong lên trên), … Tất cả những thay đổi phần cứng đó, so với phần mềm MCAS, là đắt khủng khiếp.

“TẤT CẢ MỌI THỨ về thiết kế và sản xuất của 737 MAX được thực hiện để bảo tồn huyền thoại rằng “nó chỉ là một chiếc 737” khác. Việc thừa nhận nó là một chiếc máy bay mới sẽ làm mất nhiều năm và hàng triệu đô la để hoàn thành các thủ tục. Trên thực tế, những phi công được cấp phép lái chiếc 737 năm 1967 vẫn được cấp phép bay tất cả các phiên bản tiếp theo của chiếc 737 ”

Phản hồi từ một phi công dòng 737 cho một hãng hàng không lớn về bản thảo của bài báo này.

Điều tệ hơn: những thay đổi đó có thể là quá nhiều để không chỉ yêu cầu chứng nhận lại máy bay 737 mà còn buộc phải thừa nhận đây là một máy bay hoàn toàn mới (tức “không phải 737”). Bây giờ chúng ta đang nói về vấn đề tài chính, cho cả Boeing cũng như khách hàng của Boeing.

Bởi vì điểm cạnh tranh cốt lõi của 737 MAX là nó chỉ là một chiếc 737 và bất kỳ phi công nào đã lái những chiếc 737 khác đều có thể lái 737 MAX mà không cần trải qua việc đào tạo tốn kém, không cần phải chứng nhận lại bằng lái, không cần bất cứ đánh giá nào khác. Các hãng hàng không, như Southwest, muốn có được một chiếc máy bay “tiêu chuẩn”. Họ muốn có một chiếc máy bay mà tất cả các phi công của họ đều có thể bay vì điều đó làm cho cả phi công và máy bay đều có thể thay thế được. Đó là chìa khóa để tối đa hóa tính linh hoạt và giảm thiểu chi phí.

Tất cả đều phụ thuộc vào tài chính và, trong trường hợp này, MCAS là cách để giữ cho dòng tiền, cho cả Boeing và khách hàng, đi đúng hướng. Sự cần thiết phải khẳng định rằng 737 MAX không khác về đặc tính bay, không khác về hệ thống vận hành, so với bất kỳ chiếc 737 nào khác là chìa khóa cho tính thay thế (fungibility) của đội bay 737 MAX. Đó cũng là lý do tại sao tài liệu về hệ thống MCAS được lưu trữ rất lặng lẽ.

Nếu để tài liệu MCAS ở một nơi quá dễ thấy, phi công sẽ dễ dàng chú ý,  và ai đó sẽ bắt máy và nói “Này. Đây không còn là chiếc 737 nữa.” Và sau đó dòng tiền sẽ chảy sai cách.

737 MAX ĐÃ HOẠT ĐỘNG NHƯ THẾ NÀO

Như đã đề cập trước đó, có một thứ gọi là “góc tấn công”. Bạn có thể thực hiện các thí nghiệm góc tấn công của riêng mình chỉ bằng cách đưa tay ra khỏi cửa sổ ô tô và xoay nó. Hóa ra là những chiếc máy bay tinh vi về cơ bản có đặc tính tương đương cơ học như một bàn tay ngoài cửa sổ: khả năng cảm nhận góc tấn công.

Bạn có thể nhận thấy cảm biến này khi lên máy bay. Thường có hai trong số chúng, ở hai bên của máy bay và thường ngay dưới cửa sổ của phi công. Đừng nhầm lẫn chúng với các ống pitot (chúng ta sẽ nói về chúng sau). Góc của cảm biến tấn công trông giống như cánh gió trong khi các ống pitot trông giống như ống.

Cảm biến góc tấn công

Có một lý do khiến cảm biến góc tấn công trông giống như cánh quạt gió và lý do đó chính xác là những gì chúng đang có. Chúng là những bàn tay cơ học được thiết kế để đo góc tấn công (hoặc “hướng gió tương đối”) và chúng xoay, giống như bàn tay của bạn ngoài cửa sổ, để phản ứng với những thay đổi trong góc tấn công đó.

Ống pitot

Các ống pitot đo mức độ không khí đang “ép” vào máy bay trong khi góc của các cảm biến tấn công đo hướng không khí đó đến. Các ống pitot, vì chúng đo áp suất không khí, được sử dụng để xác định tốc độ của máy bay trong không khí. Góc của cảm biến tấn công đo hướng của máy bay so với hướng không khí đó.

Có hai bộ mỗi loại. Một cái ở mỗi bên thân máy bay. Cách sử dụng thông thường là để bộ cảm biến ở phía phi công cung cấp tín hiệu cho các thiết bị điều khiển ở phía phi công và bộ cảm biến ở phía của người lái phụ cung cấp tín hiệu tới các thiết bị điều khiển ở phía của người lái phụ. Điều đó tạo ra trạng thái dư thừa tự nhiên trong thiết bị đo tín hiệu để có thể dễ dàng kiểm tra chéo (cross check) bởi một trong hai phi công. Nếu người lái phụ cho rằng chỉ báo tốc độ bay của anh ta đang tăng lên, anh ta có thể xem xét chỉ số vận tốc của thiết bị phía phi công và xem nó có giống nhau hay không. Nếu không, cả phi công và phụ lái tham gia vào một chút thử thách để xác định cảm biến nào là đúng và cảm biến nào là sai.

Đã từ lâu, có một câu chuyện đùa rằng trong tương lai máy bay sẽ tự bay và thứ duy nhất trong buồng lái sẽ chỉ có một phi công và một con chó. Công việc của phi công là làm cho hành khách cảm thấy thoải mái khi có ai đó ở phía trước họ. Công việc của chú chó là cắn phi công nếu anh ta chạm vào bất cứ thứ gì.

Trên máy bay 737, Boeing không chỉ đưa vào thiết bị đo và cảm biến dự phòng cần thiết mà còn bao gồm cả các máy tính bay dự phòng – một ở phía phi công và một ở phía lái phụ. Máy tính điều khiển bay làm rất nhiều việc nhưng lý do chính mà chúng ở đó là a) hoạt động như hệ thống lái tự động (tức là lái máy bay bằng máy tính) khi có lệnh và b) đảm bảo rằng các phi công người trần mắt thịt không làm gì sai khi chế độ lái tự động được tắt. Cái sau được gọi là “bảo vệ ngưỡng” (envelope protection). Giống như một chú chó để canh chừng phi công.

CUỘC CHIẾN VỚI MÁY TÍNH

Hãy xem lại những gì MCAS đã thực hiện: MCAS kéo mũi máy bay xuống khi hệ thống MCAS cho rằng máy bay có thể vượt quá giới hạn góc tấn công – để tránh rơi vào điểm chết khí động học. Boeing đã đưa MCAS vào 737 MAX vì động cơ lớn hơn và đặc biệt là việc bố trí động cơ vì lý do khoảng cách với mặt đất, khiến 737 MAX có nhiều khả năng bị chết khí động học hơn so với các mẫu 737 trước đó.

Trong 737 MAX, MCAS được thực hiện trong phần mềm máy tính bay. Khi MCAS nhận thấy góc tấn công quá cao, nó sẽ ra lệnh cho hệ thống cắt của máy bay (trim system – hệ thống giúp máy bay hướng mũi lên hoặc hướng mũi xuống) hạ mũi xuống. Nó cũng thực hiện một việc khác: một cách gián tiếp, thông qua một thứ mà Boeing gọi là “Elevator Feel Computer”, nó đẩy cần điều khiển của phi công (thứ mà phi công kéo hoặc đẩy để nâng hoặc hạ mũi máy bay) theo hướng xuống.

737 MAX, cũng giống như hầu hết các máy bay và ô tô hiện đại nhất, mọi thứ đều được giám sát bằng máy tính, nếu không muốn nói là được điều khiển trực tiếp bằng máy tính. Trong nhiều trường hợp, không có kết nối cơ học vật lý nào (dây cáp, ống đẩy, đường thủy lực, …) giữa bộ điều khiển của phi công và các linh kiện trên cánh, bánh lái,… những linh kiện phần cứng khiến máy bay di chuyển theo các hướng khác nhau. Và, ngay cả khi có được sự kết nối như vậy, việc các phi công có được tham gia vào quá trình đưa ra quyết định đúng đắn hay không là còn tùy thuộc vào máy tính.

Nhưng chính các phi công là người nhận được phản hồi thực tế về những gì đang diễn ra. Trước đây, khi dây cáp kết nối bộ điều khiển của phi công với hệ thống phần cứng, bạn phải kéo cần điều khiển cực mạnh, nếu máy bay bị cắt để hạ xuống. Bạn phải đẩy cần điều khiển với lực rất lớn, nếu máy bay bị cắt để bay hướng lên. Với sự giám sát của máy tính, người điều khiển sẽ mất cảm giác tự nhiên về những gì máy bay muốn làm – nó được cắt như thế nào. Trong 737 MAX không có “cảm giác tự nhiên” thực sự.

Chỉ có cảm giác nhân tạo. Chỉ có cảm giác mà máy tính muốn các phi công cảm nhận.

Và, đôi khi, nó gây ra thảm hoạ.

Khi máy tính điều khiển máy bay hạ độ cao, vì hệ thống MCAS cho rằng máy bay sắp chết khí động học, hệ thống bay được máy tính ra lệnh để đẩy cột điều khiển của phi công về phía trước. Lực đẩy được ra lệnh từ máy tính này mạnh đến hàng trăm pound, mạnh đến nỗi một phi công con người có thể nhanh chóng kiệt sức khi cố gắng kéo cần điều khiển lại, cố gắng nói với máy tính rằng điều này thực sự không được xảy ra.

Thực tế, việc không để phi công giành lại quyền kiểm soát bằng cách kéo lại cần điều khiển là một quyết định thiết kế rõ ràng của MCAS. Bởi vì nếu các phi công có thể kéo cần lên khi MCAS nói nó phải đi xuống, tại sao lại phải có MCAS ngay từ đầu?

TẠI SAO XẢY RA ĐIỀU NÀY

MCAS cần thiết vì 737 MAX có nhiều khả năng bị chết khí động học hơn những chiếc 737 trước đó. 737 MAX có nhiều khả năng bị chết khí động học là do Boeing đã sử dụng phương án “hack” để dung nạp một động cơ khổng lồ trong nỗ lực giành chiến thắng trong cuộc cạnh tranh chi phí dặm bay. MCAS được thực hiện trong máy tính quản lý chuyến bay, ngay cả khi con người nghĩ rằng đang điều khiển. Trong một cuộc chiến giữa máy tính và con người để tìm người thực sự nắm quyền kiểm soát, máy tính sẽ “cắn” con người cho đến khi họ bỏ cuộc và (theo nghĩa đen) chết.

Cuối cùng, cần duy trì sự tồn tại của hệ thống MCAS ở mức cực kì thấp kẻo ai đó phát hiện nói “Này, đây không còn là chiếc 737 nữa đâu nhé” và khi đó tài khoản ngân hàng bắt đầu bị ảnh hưởng.

HỆ QUẢ

Máy tính quản lý chuyến bay là máy vi tính. Điều đó có nghĩa là nó không chứa đầy các mẩu nhôm, dây cáp, đường dẫn nhiên liệu và tất cả các phụ tùng khác của ngành hàng không. Nó chứa đầy các dòng mã (code). Và đó là lúc mọi thứ trở nên nguy hiểm.

Bởi vì những dòng code đó được tạo ra bởi các lập trình viên dưới sự chỉ đạo của những người quản lý. Và tất cả những người đó có thể không tiếp xúc với nền văn hóa chi tiết và cụ thể của thế giới hàng không cũng như những nhân viên ở dưới nhà máy, thiết kế các bộ phận điều khiển và lắp bánh răng hạ cánh. Những người đó có hàng chục năm kinh nghiệm về những gì đã hoạt động trong quá khứ và những gì chưa từng. Những người trong lĩnh vực phần mềm không có được điều này.

Trong 737 MAX chỉ có một trong các máy tính quản lý chuyến bay hoạt động tại một thời điểm. Hoặc là máy tính quản lý chuyến bay của phi công hoặc máy tính quản lý chuyến bay của đồng phi công. Và máy tính đó CHỈ nhận tín hiệu đầu vào từ các cảm biến bên phía tương ứng với máy tính đang điều khiển.

Ở trên, tôi đã đưa ra một tình huống (rất phổ biến) trong đó thiết bị của một phi công đưa ra kết quả đọc sai. Giải pháp cho con người là nhìn qua bảng điều khiển còn lại để xem và sau đó quyết định.

Trong từ vựng ngành hàng không, điều này được gọi là “kiểm tra chéo” (cross check), cũng tự nhiên như việc phi công phải mang kính bảo hộ vậy.

Trong hệ thống điều khiển của Boeing, máy tính quản lý chuyến bay không “nhìn ngang” các công cụ khác. Nó chỉ tin các công cụ ở phía “của nó”. Trong hệ thống Boeing, máy tính “phi công” không cần kính bảo hộ. Nó “ưu việt” hơn. Nó là phần mềm cơ mà.

Điều này có nghĩa là nếu một góc cụ thể của cảm biến tấn công chuyển động (điều này xảy ra liên tục trong một cỗ máy luân phiên từ một môi trường khắc nghiệt này sang môi trường khắc nghiệt khác, rung và lắc theo mọi cách) thì máy tính quản lý chuyến bay sẽ tin điều đó. Nó không kiểm tra góc của cảm biến tấn công ở phía bên kia để xem liệu cảm biến còn lại có đồng ý hay không.

Điều tồi tệ hơn là: có một số công cụ khác có thể được sử dụng để xác định góc tấn công, trực tiếp hoặc một cách gián tiếp, chẳng hạn như ống pitot, chân trời nhân tạo, … Tất cả những thứ này sẽ được sử dụng bởi một phi công con người (thông qua “kiểm tra chéo” ) để nhanh chóng chẩn đoán liệu tín hiệu góc tấn công từ cảm biến có bị lỗi hay không.

Nếu tình thế xấu hơn, một phi công con người vẫn có thể nhìn ra kính chắn gió để xác nhận trực quan và trực tiếp rằng, không, máy bay không bị nâng mũi lên một cách nguy hiểm. Đó là bước kiểm tra cuối cùng và sẽ trực tiếp đến chủ quyền tối thượng của phi công. Thật không may, MCAS đã phủ nhận chủ quyền đó. Nó phủ nhận những gì xảy ra rõ ràng trước mắt của các phi công.

Giống như một người mắc chứng rối loạn nhân cách, MCAS khiến các phi công ngạc nhiên, và nó trở nên tồi tệ cho tất cả mọi người. “Nâng mũi lên, thằng khốn!.” “Tôi xin lỗi, Dave, tôi không thể làm điều đó.” – MCAS

Trong MCAS, nếu một góc tấn công duy nhất của cảm biến bên hông máy bay tương ứng với máy tính quản lý chuyến bay “phụ trách” bị hỏng, máy tính quản lý chuyến bay sẽ tin điều đó và không cần bất kỳ bằng chứng nào khác để chứng minh liệu tín hiệu đó là sai hay đúng, kể cả từ chính mắt của phi công.

Còn cả dữ liệu dưới dạng lực cánh tay của các phi công cố gắng kéo lại cột điều khiển, cái đã được MCAS yêu cầu kéo xuống khiến các phi công và hành khách của họ bị “cắn” đến chết.

THẢM HOẠ NÀY ĐÃ BẮT ĐẦU NHƯ THẾ NÀO

Trước đây, Cục Hàng không Liên bang (FAA), có cả một “đội quân” kỹ sư hàng không làm việc. Những kỹ sư FAA này đã làm việc bên cạnh với các nhà sản xuất máy bay để xác định rằng máy bay là an toàn và có thể được chứng nhận là đủ điều kiện bay.

Khi máy bay trở nên phức tạp hơn và khoảng cách giữa những gì FAA có thể trả và những gì một nhà sản xuất máy bay có thể trả ngày càng lớn, ngày càng nhiều kỹ sư chuyển từ khu vực công sang khu vực tư nhân. Và chẳng bao lâu sau đó FAA không còn người có đủ khả năng xác định xem việc thiết kế và sản xuất của một chiếc máy bay cụ thể nào đó có “an toàn” hay không. Vì vậy, FAA đã nói với các nhà sản xuất máy bay, “tại sao ông không yêu cầu người của các ông xác nhận cho chúng tôi biết liệu thiết kế của các ông có an toàn không?”

Nhà sản xuất máy bay trả lời “OK vậy cũng tốt cho chúng tôi mà.” FAA nói tiếp “Gửi lời chào của tôi tới Joe nhé, chúng tôi nhớ nó lắm.”

Từ đó, khái niệm “Đại diện kỹ thuật được chỉ định” đã được sinh ra hay gọi tắt là DER (Designated Engineering Representative). DER là những cá nhân làm việc cho các nhà sản xuất máy bay, nhà sản xuất động cơ và nhà phát triển phần mềm – sẽ chứng nhận với FAA – như thể chính họ đã làm việc cho FAA và cơ quan công – rằng mọi thứ đều tốt.

Đây không phải là một xung đột lợi ích tinh vi như nó có vẻ như vậy. Như tôi đã đề cập ở phần đầu, việc máy bay gặp nạn là điều chẳng ai muốn trong ngành hàng không. Ngành công nghiệp hoàn toàn dựa vào lòng tin của công chúng và mọi sự cố đều là một mối đe dọa hiện hữu đối với ngành này. Không có nhà sản xuất nào sử dụng những DERs mà chỉ biết làm giấy tờ – DERs thực sự là những chuyên gia trong ngành. Mặc dù vậy, sau một ngày dài và sau những lời cam kết chất lượng từ đội ngũ kỹ thuật phần mềm, họ đơn giản là báo cáo rằng mọi thứ đều ổn.

Việc không một ai trong đội viết phần mềm MCAS cho 737 MAX nêu lên giải pháp sử dụng nhiều đầu vào, bao gồm cả cảm biến góc tấn công thứ hai, cho việc máy tính xác nhận một sự cố là điều đáng suy nghĩ. Là một người phát triển phần mềm lâu năm, tôi không biết sự kết hợp độc hại nào hơn sự kết hợp của sự thiếu kinh nghiệm, tính ngạo mạn và sự thiếu hiểu biết về văn hóa ngành đã dẫn đến tai hoạ này.

“Các nhà điều tra đã suy đoán rằng dữ liệu đầu vào không chính xác – bao gồm sự chênh lệch 20 độ giữa hai cảm biến được thiết kế để đo sự khác biệt giữa cao độ của máy bay và hướng nó di chuyển trong không khí – có thể đã kích hoạt nhầm cả cần điều khiển và hệ thống chống chết khí động học, được gọi là MCAS. “

New York Times, 3/20/2019

Một cách cô đọng: Boeing đã sản xuất một loại khung máy bay không ổn định về mặt động lực học, cho chiếc 737 MAX. Đó là điểm lớn thứ 1. Sau đó, Boeing đã cố gắng che giấu sự không ổn định động của 737 MAX bằng một hệ thống phần mềm, tương tự như các hệ thống được sử dụng trong máy bay chiến đấu (tuy nhiên những máy bay đó được trang bị ghế phóng). Đó là điểm lớn thứ 2. Cuối cùng, hệ thống phần mềm này ra quyết định điều khiển mà không có các phương án kiểm tra chéo để xác nhận mức độ trung thực của tín hiệu cảm biến – thậm chí ở mức độ thô sơ nhất. Đó là điểm lớn thứ 3.

Tất cả những điều này đáng lẽ không thể vượt qua được bất kì bài kiểm tra nào từ FAA. Không một DER nào, dù ở trình độ thấp nhất, có thể đặt bút kí phê duyệt cho một máy bay có những vấn đề như vậy.

Đó là một tội lỗi chính trị, xã hội, kinh tế và kỹ thuật ở nhiều cấp độ hơn những gì Dante có thể nghĩ ra.

KINH TẾ HỌC HÀNG KHÔNG

Trong khoảng thời gian từ vụ tai nạn 737 MAX đầu tiên đến vụ tai nạn 737 MAX gần đây nhất, tôi đã có cơ hội nâng cấp và lắp đặt hệ thống lái tự động kỹ thuật số hoàn toàn mới trên máy bay của mình. Chiếc máy bay này, Cessna 172 đời 1979, là chiếc máy bay phổ biến nhất trong lịch sử, ít nhất là theo số lượng sản xuất. Chứng nhận bay ban đầu của nó cũng có trước chứng nhận bay của 737 khoảng một thập kỷ (1955 so với 1967).

Chế độ lái tự động mới của tôi bao gồm một số thành phần rất hiện đại, bao gồm máy tính bay dự phòng (Garmin G5 kép) và một mạng dây BUS giao tiếp tinh vi (CANBUS) cho phép tất cả các phần cứng khác nhau nói chuyện với nhau, bất kể chúng được đặt ở đâu trong máy bay. CANBUS bắt nguồn từ công nghệ “truyền động bằng dây” (drive by wire) trên ô tô nhưng có mục đích và hình thức rất giống với các bus ARINC kết nối các phần cứng với nhau trong 737 MAX.

Chế độ lái tự động của Cessna cũng bao gồm hệ thống cắt. Có nghĩa là nó có thể thực hiện việc nâng hay hạ mũi máy bay giống như hệ thống MCAS trong 737 MAX.

Cuối cùng, chế độ lái tự động mới của Cessna 172 cũng thực hiện “bảo vệ ngưỡng”. Nếu Cessna KHÔNG được lái tự động, thì hệ thống vẫn liên tục giám sát máy bay để đảm bảo rằng tôi không làm gì sai.

Như bạn có thể thấy, hệ thống tự lái của chiếc máy bay trị giá 20,000$ của tôi và của chiếc 737 MAX giá hàng triệu đô, về cơ bản là vô cùng giống nhau. Vậy sự khác biệt là gì?

Việc cài đặt chế độ tự lái cho Cessna 172 yêu cầu một loại giấy tờ gọi là “Chứng chỉ bổ sung” (Supplemental Type Certificate – STC). Nói cách khác, nhà sản xuất máy bay Cessna và FAA đều đồng ý rằng chiếc Cessna 172 năm 1979 của tôi với chế độ lái tự động (Garmin) là khác biệt đáng kể so với nguyên bản. Đó là một chiếc máy bay khác hoàn toàn.

Ngoài việc bây giờ phải mang theo giấy chứng nhận kiểu máy bay mới (giấy chứng nhận bổ sung), chiếc 172 của tôi được yêu cầu phải mang một lượng lớn thủ tục giấy tờ mới lên máy bay, dưới dạng các bản sửa đổi và phụ lục trong sách hướng dẫn vận hành máy bay. Như bạn có thể đoán, hầu hết các phụ lục này đều xoay quanh hệ thống lái tự động.

Đặc biệt lưu ý là tập tài liệu này phải có trên máy bay MỌI LÚC, và phải được sự xác nhận của mọi phi công rằng họ đã hiểu cách vận hành chế độ tự lái và hệ thống bảo vệ ngưỡng.

Có các hướng dẫn về cách phát hiện khi hệ thống gặp trục trặc, thông qua các thuật ngữ như “bỏ cắt cao độ” và cách tắt hệ thống ngay lập tức. Vô hiệu hóa hệ thống có nghĩa là kéo bộ ngắt mạch lái tự động và các hướng dẫn về cách thực hiện điều này được lặp đi lặp lại trong tài liệu. Mọi phi công lái máy bay của tôi đều phải nhận thức rõ ràng rằng nó KHÔNG giống với bất kỳ máy bay 172 nào khác trong quá khứ.

Đây là sự khác biệt lớn giữa những gì phi công lái máy bay của tôi được thông báo và những gì phi công bước vào chiếc 737 MAX được (hoặc đã được) thông báo.

Một sự khác biệt khác nữa giữa hệ thống lái tự động của Cessna 172 và hệ thống lái trên 737 MAX. Tất cả các phần cứng được kết nối với CANBUS liên tục có các hành động “kiểm tra chéo” được thực hiện bởi các phi công và điều này dường như là không có trên MCAS của 737 MAX. Ví dụ, bản thân chế độ bay tự động có một chu trình khép kín để kiểm tra các tín hiệu được gửi đến máy tính Garmin. Nếu có mâu thuẫn về tín hiệu đầu vào, hệ thống bay tự động sẽ tắt và thông báo cho phi công rằng máy bay cần được điều khiển bằng tay. Nó không hướng mũi máy bay xuống đất, với giả định rằng nó sắp bị dừng khí động học.

Có lẽ sự khác biệt lớn nhất giữa hệ thống trên chiếc 172 và chiếc 737 MAX của tôi là lượng lực vật lý cần thiết để phi công có thể giành lại quyền kiểm soát cần điều khiển từ máy tính. Lực tác động lên chiếc 172 nhỏ hơn và thậm chí nếu nó có kéo cần điều khiển xuống vì một lỗi gì đó thì tôi vẫn có thể dễ dàng sửa sai. Lực vật lý từ máy tính trong chiếc 172 không thể mạnh bằng sức mạnh vật lý của tôi.

Trong chiếc Cessna của tôi, không giống như 737 MAX, con người vẫn chiến thắng trong trận chiến giành quyền kiểm soát (nếu nó xảy ra). Đó cũng từng là triết lý thiết kế của mọi máy bay Boeing và là triết lý mà họ sử dụng để chống lại đối thủ không đội trời chung là Airbus (Airbus có triết lý khác). Nhưng có vẻ như, với 737 MAX, Boeing đã thay đổi triết lý về sự tương tác giữa con người và máy móc một cách lặng lẽ như họ đã thay đổi sách hướng dẫn vận hành máy bay của mình.

HAI BỘ QUY TẮC

Tôi đã mang chiếc Cessna của mình vào cuộc thảo luận vì tôi nghĩ điều quan trọng là phải minh họa cách thức hoạt động của quy trình, cụ thể là đối với những thay đổi quan trọng đối với đặc điểm bay, hành vi và thiết bị của máy bay luôn đi kèm với những thay đổi quan trọng về tài liệu và chứng nhận bay. Trong chiếc Cessna, bản thân khối lượng tài liệu đã nặng vài pound, tất cả đều phải được mang theo vĩnh viễn – trong một chiếc máy bay mà mỗi pound đều có giá trị.

Bất bình đẳng xã hội là điều có thể thấy được. Một nhóm nhỏ người đang nắm giữ phần lớn của cải xã hội. Và không một ngày nào trôi qua mà không có một câu chuyện về hành vi bất bình đẳng của một công ty hoặc một cá nhân ở quy mô khổng lồ (Titanic), với cái giá phải trả tí hon (Lilliputian). Điều này là có thật (đúng là như vậy) và công chúng liên hệ đến một mối đe dọa hiện sinh khác: mối đe dọa hiện sinh đối với Hoa Kỳ với tư cách là nhà lãnh đạo đạo đức, kỹ thuật và kinh tế trên thế giới.

Tôi sẽ không bao giờ giả định rằng sự khác biệt trong quy trình giữa những gì Boeing bắt buộc phải làm với 737 MAX (không phải làm gì cả) và những gì tôi được yêu cầu với chiếc Cessna của mình (đáng kể) là biểu tượng của đấu tranh giai cấp. Là một người đàn ông da trắng, tôi đã bắt đầu cuộc sống ở phần trăm chín mươi tám (có thể là chín mươi sáu, nhưng bạn hiểu điều tôi muốn nói) so với toàn thể dân số thế giới.

Vấn đề là câu chuyện 737 MAX không chỉ dạy chúng ta về giới hạn của công nghệ và những rủi ro của sự phức tạp, nó dạy chúng ta về những ưu tiên thực sự của chúng ta. An toàn không bao giờ là trên hết, cho dù các chiến dịch thị trường muốn chúng ta tin vào điều đó. Tiền là trên hết và an toàn chỉ là một tiện ích đi kèm với thành công tài chính.

PHẦN MỀM VÀ PHẦN CỨNG

Các sai hỏng về phần cứng, cho dù đó là động cơ được đặt sai vị trí trên máy bay hay các O – ring bị giòn khi nguội, đều nổi tiếng là khó sửa chữa. Và khó ở đây có nghĩa là đắt tiền. Mặt khác, các lỗi phần mềm rất dễ sửa và rẻ. Tất cả những gì bạn cần làm là gửi một bản cập nhật, cài một bản vá…Hơn nữa, chúng ta đã khuyến khích người tiêu dùng coi điều này là bình thường với mọi thứ, từ bản cập nhật cho hệ điều hành máy tính để bàn, như Windows, đến các bản vá phần mềm hàng tháng được cài tự động đến chiếc Tesla của tôi, trong khi tôi ngủ.

Quay lại những năm 1990, có một thứ gọi là lỗi “FDIV” đã ảnh hưởng đến các bộ vi xử lý Intel Pentium đời đầu. Khi đó, tôi đã viết một bài báo so sánh độ phức tạp tương đối của Bộ xử lý Pentium thời đó, được biểu thị bằng số lượng bóng bán dẫn trên chip, so với độ phức tạp của hệ điều hành Windows vào thời điểm đó, được biểu thị (như tôi nhớ) bằng số dòng code (LOC – lines of code). Những gì tôi nhận thấy là độ phức tạp của cả bộ vi xử lý Pentium thời đó và hệ điều hành Windows cùng thời gần như ngang nhau, chắc chắn là cùng một cấp độ phức tạp.

Bây giờ ít ai nói về lỗi FDIV nữa. Nó chỉ ảnh hưởng đến một phần nhỏ người dùng Pentium. Windows cũng bị ảnh hưởng bởi các lỗi tương tự, cũng chỉ ảnh hưởng đến một số ít người dùng.

Nhưng tác động lên hai công ty khá khác nhau. Khi Windows giải quyết những khiếm khuyết nhỏ của mình bằng các bản cập nhật phần mềm định kỳ (quy trình này cồng kềnh hơn nhiều vào thời đó), Intel cảm thấy có nghĩa vụ phải thu hồi tất cả các bộ vi xử lý lỗi (lỗi rất nhỏ), với chi phí 500 triệu USD (gần một tỷ USD, ngày nay).

KẺ THÙ CỦA CHÚNG TA CHÍNH LÀ CHÚNG TA

Tôi tin rằng sự dễ dàng tương đối, chưa kể đến việc thiếu chi phí hữu hình, của các bản cập nhật phần mềm đã tạo ra một văn hóa lười biếng trong cộng đồng kỹ sư phần mềm. Hơn nữa, bởi vì ngày càng nhiều phần cứng mà chúng ta tạo ra được phần mềm giám sát và điều khiển, sự lười biếng trong văn hóa đó hiện đang len lỏi vào cộng đồng “kỹ thuật phần cứng”.

Như trong việc chế tạo máy bay.

“Tôi là một nhà phát triển phần mềm đã trở thành kỹ sư mạng và đã viết phần mềm cho máy bay trong quá khứ. Thật thú vị khi chúng ta phải vượt qua không biết bao nhiêu vòng kiểm tra để có được một chứng nhận cho bảng điều khiển bay, trong khi số vòng kiểm tra chứng chỉ phần mềm là con số không (ngoài “không thể chạy trên Windows”, “phải được viết bằng C ++”). Phải thừa nhận rằng điều này đã xảy ra gần 10 năm trước, và tôi hy vọng rằng mọi thứ đã thay đổi kể từ đó ”.

Một kỹ sư yêu cầu giấu tên

Với sự lười biếng, ý tôi là ngày càng có ít ý tưởng được đưa ra để có được một thiết kế chính xác và đơn giản. Bởi vì rất dễ dàng để sửa chữa những gì bạn làm không đúng ngay từ lần đầu tiên, bằng một bản cập nhập sau đó.

Khi tôi còn đang điều hành một nhóm phát triển phần mềm, tôi thường dựa vào cửa và hét lên “Giao hàng đi!” Một bí mật nhỏ ở bất kỳ công ty phần mềm nào là khách hàng là bộ phận kiểm soát chất lượng rẻ nhất và hiệu quả nhất mà công ty bạn có thể có. Hãy để khách hàng tìm ra vấn đề và sau đó chúng ta có thể đưa ra bản vá và gửi bản vá đó miễn phí. Thật dễ dàng để cung cấp bảo hành khi chi phí bảo hành là rất thấp.

Và do sự phổ biến của việc kiểm soát bằng phần mềm, sự lười biếng tương tự đang len lỏi vào việc xây dựng phần cứng. Như việc tôi liên tục được thông báo về các bản cập nhật phần mềm được cài đến chiếc Tesla, các bản cập nhật được cài đến các máy tính Garmin trong Cessna 172, thậm chí các bản cập nhật cho bộ điều nhiệt Nest và TV trong nhà- không có “phần mềm nào” hoàn chỉnh khi chúng rời khỏi nhà máy.

Điều cần xảy ra, tôi nghĩ, là trách nhiệm pháp lý phải đến từ nơi nó được tạo ra. Như các nhà kinh tế học đã nói, cái giá phải trả cho sự không hoàn hảo của phần mềm từ lâu đã bị ngoại hoá thành cái giá của cả cộng đồng. Cái giá phải trả đã cho sự không hoàn hảo của phần mềm là khách hàng, là cộng đồng cho dù đó là xe tự hành hay máy bay. Sẽ không sao nếu lỗi phần mềm chỉ khiến Windows máy tính nhà bạn không tải được game. Nhưng sẽ vô cùng nguy hiểm nếu nó có nghĩa là ô tô tự lái của bạn lao vào lan can.

Và giết chết bạn.

Bước tiếp theo là gì?

Boeing đang trong quá trình tung ra một loạt các bản cập nhật phần mềm cho hệ thống điều khiển máy bay 737 MAX, bao gồm cả MCAS. Tôi không biết cụ thể, nhưng tôi nghĩ rằng trung tâm của những cập nhật đó sẽ là hai thứ:

  1. Có các chỉ dẫn “kiểm tra chéo” của phần mềm, giống như một phi công con người sẽ làm. Có nghĩa là, nếu một tín hiệu góc tấn cho biết máy bay sắp chết khí động học, nhưng chỉ báo còn lại cho biết không phải như vậy, ít nhất hãy ngừng ra quyết định về việc đẩy mũi xuống đất và thông báo cho một hoặc hai phi công biết rằng hệ thống đang có các tín hiệu xung đột.
  2. Quay lại triết lý thiết kế “Làm trước, hỏi sau”, hãy xem xét nhiều tín hiệu đầu vào và nếu tín hiệu của cảm biến góc tấn công cho biết máy bay sắp bị chết khí động học nhưng các chỉ báo pitot cho biết máy bay đang bay quá nhanh để có thể thực hiện được điều đó, hãy tắt chế độ tự lái. Đừng đẩy mũi máy bay xuống đất. Cho một hoặc hai phi công biết rằng phần mềm đang nhận được các tín hiệu xung đột. Bởi vì không có gì là hoàn hảo, phần cứng chắc chắn là không hoàn hảo.

Đối với tôi, tôi không biết tại sao hai cân nhắc thiết kế hàng không cơ bản đó, nền tảng của tư duy “đơn giản hóa, sau đó thêm nhẹ” (simplify, then add lightness) đã phục vụ cho ngành công nghiệp rất tốt cho đến nay, không phải là một phần của thiết kế MCAS ban đầu. Và, khi Boeing đã không làm như vậy, tôi không biết hoặc không hiểu phần nào của quy trình DER không bắt được lỗi thiết kế cơ bản.

“FAA tuần trước cho biết họ có kế hoạch bắt buộc thay đổi hệ thống để làm cho nó ít có khả năng kích hoạt khi không có trường hợp khẩn cấp. Cơ quan này và Boeing cho biết họ cũng sẽ yêu cầu đào tạo bổ sung và thêm tài liệu tham khảo trong sách hướng dẫn bay.” Time, 3.19.2019

Nhưng tôi nghi ngờ rằng tất cả những việc này đều đến từ khát khao ban đầu của Boeing trong việc gắn một động cơ lớn hơn vào máy bay 737 mà không tính hết cái giá phải trả của việc đó. Nói cách khác, Boeing đã làm điều mà mọi đứa trẻ được dạy là điều không thể: nhận được một bữa trưa miễn phí.

Một cách hùng biện, tôi có thể đặt câu hỏi tại sao người lớn lại quên những gì trẻ em biết. Và đó là bởi vì chúng ta không muốn tin rằng không có bữa trưa miễn phí. Chúng ta muốn có thể tạo ra ma thuật, thực hiện một số loại giả kim thuật tài chính dành cho người lớn, và chứng minh cho một vài kẻ đáng ghét là chúng đã sai. Chúng ta muốn chứng minh rằng bạn cũng có thể cầm chiếc bánh miễn phí của mình và ăn nó. Bạn có thể mang theo khi đi.

Mọi người có thể tham khảo bài viết gốc ở đây.

Chia sẻ bài viết

Leave a Comment

Your email address will not be published. Required fields are marked *