Chia sẻ tri thức
MBD là gì? Tại sao nên áp dụng MBD? Hạn chế của MB
Bùi Tú Hà Lv.1
Hiện nay, trên thế giới, các hệ thống thông minh và tích hợp đang là một xu hướng công nghệ mới. Đi cùng với các hệ thống này, phần mềm nhúng cũng đòi hỏi tích hợp nhiều hơn các thuật toán điều khiển, xử lý tín hiệu và trở nên phức tạp. Chẳng hạn như xe điện tự hành với các tính năng an toàn ước tính chạy trên 250 triệu dòng code nhúng. Phát triển hệ thống code lớn tương tự như thế khá là phức tạp. Giải pháp mà các hãng công nghệ đã và đang sử dụng đó là mô hình hóa hệ thống trong quá trình nghiên cứu, thiết kế, chế tạo sản phẩm

Mô hình hóa và mô phỏng hệ thống đóng một vai trò quan trọng trong quá trình phát triển sản phẩm, nó cho phép các nhà sản xuất kiểm tra xem hệ thống có đáp ứng các yêu cầu hay không. Trong giai đoạn thiết kế ban đầu, các mô hình trở thành "thông số kỹ thuật có thể thực thi", tức là, thông số kỹ thuật có thể xác minh ngay lập tức so với các yêu cầu đề ra. Mô hình cũng có thể được sử dụng để giao tiếp giữa các nhóm kỹ sư với các chuyên môn khác nhau, cho phép họ cộng tác trong tất cả các giai đoạn sau này của quá trình thiết kế. Hơn nữa, các mô hình thiết kế ban đầu có thể được mở rộng từng bước để triển khai chi tiết hơn. Bằng cách sử dụng các mô hình ảo (virtual prototypes) như vậy dưới dạng mô hình hóa, các nhà thiết kế có thể khám phá nhiều lựa chọn thay thế thiết kế để tối ưu hóa thiết kế và phát hiện sớm các lỗi trong hệ thống. Đặc biệt, việc sử dụng công nghệ tạo code tự động (automatic code generation technology) và kiểm tra phần cứng trong vòng lặp (Hardware-in-the-loop/HIL) làm giảm bớt các lỗi phát sinh trong quá trình thực hiện, đồng thời rút ngắn đường dẫn đến việc phân phối sản phẩm bằng cách tạo mã để kiểm tra, hiệu chuẩn và sản xuất cuối cùng. Chính vì thế, phương pháp tiếp cận dựa trên mô hình Model-Based Design (MBD), hay còn gọi là thiết kế dựa trên mô hình được sử dụng rất phổ biến hiện nay. Vậy MBD là gì? Chúng ta sẽ cùng tìm hiểu trong bài viết này.

1. Model-Based Design là gì?

MBD là kĩ thuật tiếp cận hệ thống phức tạp bằng cách trực quan, sử dụng mô phỏng để hiểu hoạt động của hệ thống vật lý được xây dựng. Tương tự như CAD cho phép các nhà thiết kế cơ khí tạo ra các mô hình lắp ráp ảo để hiểu liệu các chi tiết sản phẩm hoạt động như thế nào trước khi được sản xuất, MBD cho phép các nhà phát triển phần mềm nhúng tạo các mô hình mô phỏng để hiểu liệu thuật toán có hoạt động hay không trước khi tạo mã nhúng.

MBD bắt đầu bằng mô hình hệ thống trên Simulink nhằm nắm bắt những yêu cầu, ý tưởng.  Mô hình này cho phép nhóm nghiên cứu cộng tác và chạy mô phỏng trên desktop hoặc trong thời gian thực để xác minh thiết kế có đáp ứng chỉ tiêu hay không. Với mỗi vòng thực hiện, mô hình hệ thống sẽ được tinh chỉnh để tối ưu hóa thiết kế. Khi thiết kế đã sẵn sàng để triển khai, code sẽ được tạo tự động giúp loại bỏ các lỗi viết tay.

https://openmbd.com/wp-content/uploads/2016/10/BlockNoCode-1024x452.jpg
 Thay vì lập trình code truyền thống, MBD bắt đầu bằng mô hình hệ thống trên Simulink với các khối đơn giản, trực quan liên kết với nhau.

2. Tại sao nên áp dụng MBD?

Thực tế cho thấy MBD mang lại nhiều lợi ích như sau:

- Các công cụ phần mềm của MBD giúp người dùng tự động hóa việc tạo code làm giảm các lỗi code viết tay, đồng thời tối ưu quá trình phát triển về mặt thời gian và tiền bạc, đặc biệt là cho các dự án lớn.

- MBD cung cấp một môi trường thiết kế chung cho tất cả các nhóm chuyên môn.

- Việc xác thực (Validation) và xác minh (Verification) được thực hiện liên tục làm giảm rủi ro cho việc thiết kế, bằng cách xác định và sửa lỗi sớm trong hệ thống.

- MBD cho phép tái sử dụng và mở rộng hệ thống dễ dàng.

- Khả năng thuyết phục chủ đầu tư cao hơn. Mô hình chạy trên máy tính và phần graphics dễ thuyết phục chủ đầu tư bỏ tiền ra hơn là PowerPoint slides

- Ta có thể nắm bắt các yêu cầu về chức năng (capture functional requirements) từ người dùng.  Ví dụ trong trường hợp xe tự hành, các yêu cầu về chức năng có thể là xử lý hình ảnh phát hiện các làn xe, tốc độ xử lý các biển báo chỉ dẫn, tín hiệu đèn giao thông, phát hiện vật cản, điều khiển bằng giọng nói v.v.

- Ta có thể nắm bắt các yêu cầu không phải là chức năng (capture non-functional requirements), ví dụ như giá cả các thành phần.

- Khi có hết các yêu cầu, ta sử dụng mô hình để cân nhắc lựa chọn thiết kế. Sử dụng các phân tích như Design Tradeoff analysis, Size, Weight, Power and Cost (SWaP-C) analysis, Mean Time Between Failures (MTBF) analysis để báo giá cho chủ đầu tư và khách hàng biết khi nào sẽ cần bảo dưỡng định kỳ.

Với các lợi ích trên, MBD đã có những tác động không nhỏ tới các công ty top đầu. Các công ty sử dụng MBD đưa ra nhận xét MBD có thể giúp họ trong các dự án cụ thể như sau:

Đấu giá và giành chiến thắng tại các dự án.

Gần đây, chúng tôi đã giành được một dự án mà một số đối thủ cạnh tranh đã từ chối đấu thầu vì thời gian eo hẹp ràng buộc. Sử dụng MBD chúng tôi đã kịp tiến độ bàn giao mà không gặp vấn đề gì.

– Lear Corporation
Tạo ra các sản phẩm mà các cách khác không tạo ra được.

Trước đây, việc xây dựng phần cứng bộ điều khiển cho sản phẩm chuyên dụng rất tốn kém. Với Simulink, chúng tôi có thể dễ dàng thực hiện thiết kế các bộ điều khiển của mình trên phần cứng PLC hiện có. Bây giờ chúng tôi có thể theo đuổi các cơ hội kinh doanh mới đối với các sản phẩm đòi hỏi dung lượng điều khiển thấp.

– Festo
Tạo đơn hàng và doanh thu sớm hơn.

Đội ngũ ba người của chúng tôi đã hoàn thành một nguyên mẫu đầy đủ chức năng chỉ trong sáu tháng với công cụ của MathWorks. Nếu không có các công cụ này, chúng tôi sẽ phải gia hạn dự án ít nhất sáu tháng nữa.

– Oce Technologies
Cung cấp các tính năng và hiệu quả mà đối thủ cạnh tranh không thể theo kịp.

Các hệ thống truyền động thủy tĩnh lai mà chúng tôi thiết kế và tối ưu hóa với MBD tiết kiệm nhiên liệu hơn 25% so với hệ thống truyền động thủy tĩnh tiêu chuẩn, tổng chi phí thấp hơn từ 15% -20%.

– FMTC
Đạt được chất lượng sản phẩm mà đối thủ cạnh tranh không thể sánh được.

Nhờ vào mô phỏng và thử nghiệm thời gian thực trên Simulink, chúng tôi có thể cung cấp một hệ thống điều khiển đặc biệt đáng tin cậy. Bộ điều khiển của chúng tôi đã được chứng minh là đáng tin cậy hơn các hệ thống truyền thống và không gây ra sự cố thời gian trong sản xuất, điều này rất quan trọng vì mất điện có thể tiêu tốn hơn 5.000 € mỗi giờ.

– Metso

Sử dụng các thành phần ít hơn và rẻ hơn

Theo ước lượng ban đầu, hệ thống Lanai yêu cầu pin 700 kilowatt/giờ. Tuy nhiên, các mô phỏng trên Simulink đã chỉ ra rằng chỉ cần pin có dung tích khoảng một nửa là đủ và không cần thiết bị truyền tải AC linh hoạt. Có nghĩa là chúng tôi tiết kiệm được hơn 200.000 đô la.

– Sandia National Lab
Giảm số lượng mẫu vật lý

Đối với dự án này, hiệu suất của phần cứng thực phù hợp với kết quả mô phỏng từ mô hình Simulink của hệ thống maglev, vì vậy chúng tôi không cần sửa đổi hệ thống thử nghiệm của mình. Việc loại bỏ được nhiều mẫu thử giúp chúng tôi không chỉ tiết kiệm thời gian mà kèm theo đó là tiền bạc vì mỗi mẫu thử có giá từ 20.000 đến 30.000$. Dự án giảm chi phí đáng kể.

– Korea Institute of Machinery and Materials
Tái sử dụng các mô hình và đáp ứng các thiết kế

Sau khi thực hiện phiên bản PLC với Simulink PLC Coder, với một vài sửa đổi, chúng tôi đã tạo code vi xử lý bằng Embedded Coder. Chúng tôi đã chuyển sang code C chỉ bằng cách thay đổi sản phẩm tạo mã.

– Iveco
Sử dụng các đội nhóm ít thành viên hơn

MBD với thiết kế đồ họa và tạo mã tự động giảm lỗi phần mềm, cải thiện khả năng bảo trì và tái sử dụng, giảm thiểu các khó khăn trong việc phát triển phần mềm. Điều này cho phép chúng tôi xây dựng một nhóm phát triển bao gồm các chuyên gia về động cơ và điều khiển trong thời gian ngắn nhất có thể.

– Weichai Power
Giảm chi phí bảo hành. 

Trong ngành công nghiệp, số lượng các vấn đề bảo hành tăng lên cùng với sự phức tạp của phần mềm. Hầu hết các sản phẩm gần đây mà chúng tôi hoàn thành bằng MBD, chúng tôi đã không có vấn đề gì về bảo hành liên quan đến phần mềm ứng dụng sau 12 tháng sản xuất. Đó là một kỷ lục mà khách hàng hiện tại và trong tương lai rất vui khi nghe điều này.

– Lear Corporation

Giảm chi phí hỗ trợ.

Với các công cụ MathWorks, chúng tôi có thể thu thập dữ liệu từ quá trình sản xuất máy in và mô phỏng các lỗi trong nhà. Điều này làm giảm đáng kể thời gian giải quyết cho khách hàng, cũng như chi phí hỗ trợ và đi lại, bởi vì máy in của chúng tôi được bán trên toàn thế giới.

– Manroland
Giảm chi phí cho thủ tục chứng nhận và thời gian chuẩn bị.

Mô hình hóa, mô phỏng và thực thi phần mềm nhúng của máy thở với công cụ Simulink giúp đơn giản hóa nhiều thủ tục chứng nhận. Mô hình cung cấp tài liệu và kết quả phản hồi trực quan cho quá trình xem xét chứng nhận.

- Weinmann
 

3. Hạn chế của MBD?

Bất kì công nghệ nào nào cũng có hai mặt. MBD cũng không phải là một ngoại lệ. Ngoài các lợi ích đã đề cập phía trên, ta có thể gặp phải một vài vấn đề như sau khi áp dụng MBD:

- Để áp dụng được quy trình MBD, tất cả các thành viên trong nhóm dự án cần được đào tạo. Thời gian đào tạo để sử dụng thành thạo MBD (e.g., requirements, các bài test MIL, SIL, HIL, … ) là không nhanh chóng.

- Code sau khi được tạo tự động (automatically generated code) có thể chưa nạp ngay được xuống hệ thống nhúng mà chỉ đóng vai trò một khâu trong dự án phát triển code nhúng.

- Việc không hiểu rõ model có thể dẫn tới việc sử dụng lại model không hiệu quả và không đúng mục đích.

Kết luận

Trong bài viết, chúng tôi đã giới thiệu sơ lược về MBD, những lợi ích mà công nghệ này mang lại trong quá trình thiết kế và chế tạo sản phẩm, cũng như một vài điểm hạn chế của công nghệ này. MBD đã và đang được áp dụng phổ biến ở nhiều quốc gia phát triển như Nhật Bản và Mỹ. Trong thời gian tới, MBD rất có tiềm năng để áp dụng trong các dự án lớn ở Việt Nam, giúp tối ưu quá trình phát triển, giảm rủi ro và các chi phí. Các kỹ sư trong dự án khi thực hiện MBD sẽ theo một quy trình nhất định, gọi là MBD workflow. Vậy cụ thể quy trình MBD là như thế nào? Chúng ta sẽ tìm hiểu trong bài viết tiếp theo.

 

https://www.mathworks.com/>

  • 184
  • 0 bình luận
  • 0