Hệ thống điều khiển hành trình (cruise control) của xe ô tô là một hệ thống phản hồi, hiện được ứng dụng rộng rãi trên các xe ô tô hiện nay. Hệ thống được xây dựng nhằm mục đích cố gắng duy trì vận tốc của xe ô tô khi có sự thay đổi độ dốc của một con đường, như đi vào các đoạn đường gập ghềnh. Bộ điều khiển sẽ bù sự thay đổi này bằng cách đo tốc độ của xe và điều chỉnh bướm ga một cách thích hợp.
Hình 3.1: Sơ đồ khối của hệ thống điều khiển hành trình cho hệ thống ô tô.
Bộ điều khiển bướm ga động cơ tạo một mô men xoắn T và truyền nó xuống đất thông qua hộp số và các bánh răng. Kết hợp với các lực bên ngoài môi trường như lực cản khí động học và trọng lực, lực sẽ giúp xe di chuyển. Vận tốc v của xe được đo bởi hệ thống điều khiển và thay đổi bướm ga thông qua cơ chế thực thi. Giao diện người dùng cho phép hệ thống tắt hoặc bật và thiết lập vận tốc mong
muốn 𝑣𝑟
Cho 𝑣 vận tốc của xe và 𝑣𝑟 vận tốc mong muốn (vận tốc tham chiếu). Bộ điều khiển là loại vi tích phân tỷ lệ (PI) nhận các tín hiệu đầu vào 𝑣 và 𝑣𝑟, sau đó tạo ra tín hiệu điều khiển u được gửi tới bộ truyền truyền động điều khiển vị trí bướm ga. Bướm ga kiểm soát mô men xoắn T được tạo bởi động cơ, được truyền qua các bánh răng và báng xe, tạo ra một lực F giúp xe di chuyển. Các lực nhiễu 𝐹𝑑 gây ra xáo trộn do các thay đổi độ dốc đường đi, lực cản lăn và các lực động lực học. Bộ điều khiển hành trình cũng có giao diện người- máy cho phép lái xe thiết lập và thay đổi tốc độ mong muốn. Ngoài ra còn có chức năng ngắt kết nối điều khiển hành trình khi đạp phanh. Hệ thống này bao gồm nhiều thành phần riêng biệt: bộ phận truyền động, động cơ, chuyển số, bánh xe và thân xe với mô hình chi tiết có thể rất phức tạp. Mặc dù vậy, mô hình đáp ứng cho thiết kế bộ điều khiển hành trình khá đơn giản.
Hình 3.2: Mô hình lực cân bằng xe ô tô
Căn cứ vào các biểu thức toán đã được xây dựng ở trên, các khối chức năng được xây dựng trong Matlab tương ứng như sau:
Biểu thức
được biểu diễn thành các khối như sau:
Biểu thức
Tổng lực cản khí động học và ma sát lăn được biểu diễn bằng khối
Cộng tổng 2 khối trên ta sẽ được tổng các ngoại lực tác động lên xe trong quá trình chuyển động
Biểu thức
Được biểu diễn bằng khối
Ghép nối các khối với nhau ta được mô hình hoạt động hệ thống điều khiển hành trình của xe
Căn cứ vào đặc tả mô hình và các phương trình lực tác động lên xe, hệ thống điều khiển hành trình được mô hình hóa thành mô hình đơn giản như sau:
Trong đó:
- Khối Cruise control là bộ điều khiển hành trình.
- Khối Hill Counter là khối dữ liệu đầu vào cho hệ thống là độ dốc của mặt
đường,
- Khối Set Velocity là khối dữ liệu đầu vào cho hệ thống là vận tốc hành
trình mong muốn
Hình 3.3: Chi tiết khối Cruise control 3.2.2. Sinh ca kiểm thử và thực thi và kết quả kiểm thử
Hệ thống phải đáp ứng các yêu cầu cơ bản như sau:
Sau khi thiết lập tốc độ hành trình thời gian để đạt tốc độ hành trình không quá 60 giây.
Khi giá trị độ dốc của mặt đường (hill couter) thay đổi hệ thống phải tự điều chỉnh để vẫn duy trì được tốc độ hành trình mong muốn không quá 10%.
Với các yêu cầu như trên, các ca kiểm thử cho mô hình được tạo ra như sau:
- Trên giao diện Simulink chọn Analyst Test Manager.
- Tại giao diện Test Manager chọn New Test File from Model , chọn mô
Simulink sẽ tạo ra bộ test case tương ứng với bộ tạo giá trị đầu vào của hệ thống điều khiển hành trình.
Mặc định trường hợp kiểm thử tự động sẽ nhận các tham số đầu vào do bộ nguồn tạo là các tham số để kiểm thử.
Khi thực thi các trường hợp kiểm thử do chưa có ràng buộc nên Simulink sẽ thực thi mô hình và hiển thị các giá trị đầu ra, và thông báo trường hợp kiểm thử đã thành công.
Trường hợp kiểm thử 1: Thay đổi giá trị tốc độ mong muốn, giữ nguyên độ dốc của mặt đường, xem xét giá trị vận tốc đầu ra có nằm trong khoảng cho phép, thời gian thiết lập tốc độ nằm trong ngưỡng cho phép hay không.
Để thực hiện kiểm thử, tạo sẵn file cơ sở dữ liệu thiết lập độ dốc của mặt đường, vận tốc mong muốn của xe tại từng thời điểm.
Để thực hiện kiểm thử, tạo ca kiểm thử. Chọn Input Add Input, chọn đường dẫn tới file cơ sở dữ liệu đã được tạo, có thể tạo nhiều file đầu vào để kiểm thử (mỗi file là 1 kiểm thử)
Hình 3.5: Nhập file dữ liệu đầu vào
Sau đó chọn Run để thực thi để thực thi từng ca kiểm thử
Như vậy mô hình chỉ đáp ứng được với vận tốc mong muốn nhỏ 50km/h thì thời gian đáp ứng của hệ thống mới đạt 60 giây.
Trường hợp kiểm thử 2: Thay đổi giá trị độ dốc, giữ nguyên vận tốc hành trình, xem xét giá trị đầu ra có nằm trong khoảng cho phép.
Để thay đổi giá trị độ dốc theo thời gian, tạo file dữ liệu đầu vào theo thời gian.
Trước khi thực hiện kiểm thử, tạo dữ liệu baseline làm cơ sở đánh giá khả năng vận hành của hệ thống. Dữ liệu được sử dụng làm baseline khi xe được thiết lập ở vận tốc hành trình 50km/h, độ dốc bằng 0, không đổi trong quá trình kiểm thử. Trong cài đặt trường hợp kiểm thử chọn Baseline Critical Capture để lấy các giá trị đầu ra làm baseline, kết quả sẽ được ghi vào file cruise_control.mat để có thể sử dụng cho các kiểm thử khác.
Hình 3.6: Tạo file dữ liệu cơ sở từ 1 ca kiểm thử
Sau đó thực thi trường hợp kiểm thử Input để tạo baseline
Hình 3.7: So sánh kết quả với đường cơ sở baseline
Trong kết quả kiểm thử sẽ xuất hiện thêm Baseline Criteria Result so sánh kết quả của kiểm thử với đường cơ sở baseline.
Để thực hiện kiểm thử với các số liệu độ dốc thay đổi, sử dụng file cơ sở dữ liệu excel chứa thông tin về độ dốc mặt đường theo thời gian và vận tốc mong muốn.
Khi độ dốc thay đổi vừa phải vận tốc mong muốn của xe vẫn được duy trì tương đối ổn định nằm trong khoảng cho phép.
Hình 3.8: Độ dốc của đường tăng giảm với biên độ nhỏ
Trong ca kiểm thử tiếp theo, tiến hành tăng độ dốc của mặt đường lên đột ngột, xe không thể đạt được tốc độ như mong muốn sau khoảng thời gian, như vậy động cơ của xe sẽ không tạo đủ lực để đưa tốc độ xe lên vận tốc hành trình mong muốn với độ dốc lớn
Hình 3.10: Độ dốc của đường tăng giảm với biên độ lớn
Hình 3.11: Vận tốc của xe khi độ dốc đường lớn
Như vậy, để minh họa cho phần lý thuyết về kiểm thử tự động dựa trên mô hình, học viên đã thực hiện xong tạo 2 ca kiểm thử cho mô hình điều khiển hành trình đơn giản, sử dụng dữ liệu đầu vào, phân tích đánh giá kết quả đầu ra phù hợp.
Chương 4 – KẾT LUẬN
Hệ thống nhúng ngày càng được ứng dụng rỗng rãi trong cuộc sống của chúng ta, đặc biệt trong thời đại công nghệ 4.0, vạn vật kết nối (IoT). Kiểm thử dựa trên mô hình cho các hệ thống nhúng ngày càng có ý nghĩa quan trọng, nhằm phát hiện và khắc phục lỗi, các nhược điểm của hệ thống kiểm thử giúp hệ thống được hoàn thiện, bảo đảm các chức năng khi đưa vào hoạt động.
Luận văn đã thực hiện tìm hiểu mô hình hệ thống nhúng, nghiên cứu kỹ thuật kiểm thử cho mô hình hệ thống nhúng và thực hiện kiểm thử một số mô hình Simulink.
Việc thực hiện kiểm thử của luận văn còn đơn giản. Hướng phát triển của luận văn là áp dụng các phương pháp sinh dữ liệu kiểm thử để giúp tăng độ phủ.
TÀI LIỆU THAM KHẢO
[1]. Kiểm thử tự động dựa trên biểu đồ hoạt động, Võ Văn Lường, Kỷ yếu hội nghị khoa học Đại học Duy Tân.
[2]. Gabriela Nicolescu and Pieter J. Mosterman, Model-Based Design for Embedded Systems; edited.
[3]. Justyna Zander, Ina Schieferdecker, and Pieter J. Mosterman, Model- Based Testing for Embedded Systems, edited.
[5]. Eckard Bringmann, Andreas Krämer (2008), Model-based Testing of Automotive Systems.
[6]. Mark Utting, Bruno Legeard (2007), Practical Model – Based Testing: A Tools Approach, Elsevier Inc.
[7]. Pawel Skruch and Gabriel Buchala (2014), Model-Based Real-Time Testing of Embedded Automotive Systems; Delphi Automotive.
[8]. Mark Utting , Alexander Pretschner , Bruno Legeard (2012), A taxonomy of model-based testing approaches, Software Testing, Verification and Reliability, 22(5), pp. 297-312.
[9]. Mohammed Akour, Bouchaid Falah, Karima Kaddouri (2016), An Improvement in Comparison with traditional MBT.