Xây dựng phần mềm mô phỏng điều động tàu ứng dụng trong đào tạo chuyên ngành điều khiển tàu biển

Tóm tắt: Huấn luyện mô phỏng ngày càng được chú trọng trong công tác đào tạo chuyên ngành

điều khiển tàu biển. Trong bài báo này, hệ thống phần mềm mô phỏng một số tình huống điều động tàu

được giới thiệu. Hệ thống phần mềm được ứng dụng trong đào tạo sinh viên chuyên ngành điều khiển

tàu biển bước đầu đã chứng tỏ hiệu quả, giúp bài học trở nên sinh động, thu hút sự tham gia của người

học, góp phần nâng cao chất lượng đào tạo.

pdf 5 trang phuongnguyen 8700
Bạn đang xem tài liệu "Xây dựng phần mềm mô phỏng điều động tàu ứng dụng trong đào tạo chuyên ngành điều khiển tàu biển", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Xây dựng phần mềm mô phỏng điều động tàu ứng dụng trong đào tạo chuyên ngành điều khiển tàu biển

Xây dựng phần mềm mô phỏng điều động tàu ứng dụng trong đào tạo chuyên ngành điều khiển tàu biển
 TẠP CHÍ KHOA HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI, SỐ 32-05/2019 
3 
XÂY DỰNG PHẦN MỀM MÔ PHỎNG ĐIỀU ĐỘNG TÀU 
ỨNG DỤNG TRONG ĐÀO TẠO 
CHUYÊN NGÀNH ĐIỀU KHIỂN TÀU BIỂN 
DEVELOPING OF A SOFTWARE FOR SHIP MANEUVERING SIMULATION 
APPLIED IN NAVIGATIONAL TRAINING 
1Đỗ Hồng Quân, 2Nguyễn Phùng Hưng, 3Phan Văn Huấn 
1,3Khoa Hàng hải – Học viện Hải quân, Nha Trang 
2Trường Đại học GTVT Tp. Hồ Chí Minh 
1doquankhh@gmail.com, 2hung@ut.edu.vn, 3phanhuan0111@gmail.com 
Tóm tắt: Huấn luyện mô phỏng ngày càng được chú trọng trong công tác đào tạo chuyên ngành 
điều khiển tàu biển. Trong bài báo này, hệ thống phần mềm mô phỏng một số tình huống điều động tàu 
được giới thiệu. Hệ thống phần mềm được ứng dụng trong đào tạo sinh viên chuyên ngành điều khiển 
tàu biển bước đầu đã chứng tỏ hiệu quả, giúp bài học trở nên sinh động, thu hút sự tham gia của người 
học, góp phần nâng cao chất lượng đào tạo. 
Từ khóa: Phần mềm, mô phỏng, điều động tàu, giáo dục đào tạo hàng hải, điều khiển tàu biển, 
NMEA 0183. 
Chỉ số phân loại: 1.4 
Abstract: Training of maneuvering vessels by means of simulation becomes more and more popular 
and plays an important role in navigational education. The paper introduces a software developed for 
simulating situations of maneuvering vessels. Applying it in the education of navigational engineering 
has made lessons more lifelike and attractive. Thus, the educational quality has been considerably 
improved. The software can be further developed to apply in simulations of controlling various types of 
vessel and controller systems as well. 
Keywords: Software, simulation, maneuver, MET, ship navigation, NMEA 0183. 
Classification number: 1.4 
1. Giới thiệu 
 Đào tạo ngành khoa học hàng hải chú 
trọng kỹ năng thực hành. Mỗi môn học đều 
cần có phần thực hành tại các phòng thực hành 
- mô phỏng để sinh viên có thể đáp ứng được 
yêu cầu công việc ngay sau khi tốt nghiệp. 
Tuy nhiên thời lượng thực hành và trang thiết 
bị, phần mềm thực hành cho sinh viên còn 
nhiều hạn chế. 
Hiện nay, cùng với sự phát triển ứng dụng 
của công nghệ thông tin, những sản phẩm 
phần mềm phục vụ cho quá trình dạy và học 
khá phong phú. Mỗi sản phẩm đều có một đặc 
trưng riêng, phục vụ mục tiêu xác định và ứng 
dụng giảng dạy cho nhiều chuyên ngành khác 
nhau. Hiện tại những phần mềm phục vụ giảng 
dạy trong lĩnh vực hàng hải ở Việt Nam chưa 
nhiều và chưa đáp ứng được nhu cầu cấp thiết 
trong việc thực hành mô phỏng của sinh viên. 
Qua những phân tích trên cho thấy việc 
‘‘Xây dựng phần mềm mô phỏng điều động 
tàu phục vụ công tác đào tạo chuyên ngành 
điều khiển tàu biển” là đề tài cấp thiết giúp 
sinh viên được thực hành trên máy tính các 
tình huống điều động, tránh va, đồng thời giúp 
cho giảng viên giảng dạy chuyên ngành có thể 
hướng dẫn sinh viên thực tập trên máy tính và 
tương tác trực tiếp với sinh viên thông qua 
phần mềm góp phần nâng cao chất lượng đào 
tạo. Đồng thời, phần mềm này có thể hỗ trợ 
việc mô phỏng trong nghiên cứu khoa học về 
điều động, điều khiển và dẫn đường cho tàu 
thủy. 
2. Cơ sở lý thuyết về xác định các thông 
số của tàu và mục tiêu 
2.1. Tính toán các thông số của tàu 
Giả sử tại thời điểm T0, tàu ở vị trí M0 có 
toạ độ (φ0, λ0), đang hành trình trên hướng HT 
với vận tốc VT. Tại thời điểm T1 tàu ở vị trí M1 
có toạ độ (φ1, λ1) cách vị trí ban đầu M0 một 
đoạn ΔS (hình 1). 
Coi khoảng thời gian giữa T1 và T0 (ΔT= 
T1-T0) nhỏ (1 giây), ta có thể tính toán được 
tọa độ vị trí M1(φ1, λ1) theo (1) 
 4 
Journal of Transportation Science and Technology, Vol 32, May 2019 
1 0
1 0
H
H

 
 (1) 
 Với Hφ và Hλ được tính theo (2) 
 .cos
 .sec
TB
S HTH
H
  
 (2) 
 Trong đó  là quãng đường tàu đi được 
theo vĩ tuyến (cự li đông tây); TB là vĩ độ 
trung bình giữa 0 và 1 được tính theo (3) 
10
 .sin 
 0,5. .( )
TB
S HT
S

 (3) 
Hình 1. Vị trí tàu di chuyển sau một khoảng thời gian. 
2.2. Tính toán các thông số phương vị 
và khoảng cách đến mục tiêu 
Giả sử tại thời điểm T0, tàu ở toạ độ vị trí 
M0(φ0, λ0) đang hành trình trên hướng HT với 
vận tốc VT, mục tiêu ở tọa độ K0(φK0, λK0) 
đang hành trình trên hướng HK với vận tốc VK 
có phương vị và khoảng các so với tàu là PTK0 
và DK0 (Hình 2). 
Hình 2. Vị trí tương quan giữa tàu và mục tiêu. 
Tại thời điểm T1 tàu ở tọa độ vị trí M1(φ1, 
λ1), mục tiêu ở tọa độ vị trí K1(φK1, λK1). Coi 
khoảng thời gian giữa T1 và T0 (ΔT= T1-T0) 
nhỏ (1 giây), ta có thể tính toán được tọa độ vị 
trí M1(φ1, λ1) và K1(φK1, λK1) theo (1). 
Phương vị (PTK1) và khoảng cách (DK1) 
tại thời điểm T1 của mục tiêu ta sử dụng 
phương pháp Mercator (Mercator Sailing) để 
tính (4) 
1
1 1
 arctan( / )
 /cos( )
K
K K
H HDPT
HD PT

 (4) 
Trong đó: 
- Hφ = φK1 - φ1: Hiệu vĩ độ; 
- Hλ = λK1 - λ1: Hiệu kinh độ (Nếu Hλ > 0 
thì mục tiêu ở phía Đông so với tàu ta); 
- HD = DK1 – D1: Hiệu vĩ độ tiến với DK1 
và D1 là vĩ độ tiến của tàu và mục tiêu được 
tính theo công thức sau: 
2
.
1- .sin
tan( ) 7915,70447. 10 4 2 1 .sin
( )
E
E
D Log
E
 
 
 
(E = 0,081819191: Tâm sai của quả đất)[1] 
3. Giới thiệu về chuẩn giao tiếp NMEA 
0183 
NMEA 0183 được xây dựng bởi Hiệp hội 
Điện tử Hàng Hải Quốc gia Mỹ (National 
Marine Electronics Association). NMEA 
0183 là tiêu chuẩn kỹ thuật cho giao tiếp kết 
hợp điện với tín hiệu thông tin liên lạc cho các 
thiết bị hàng hải [5]. 
3.1. Phương thức giao tiếp giữa các 
thiết bị theo chuẩn NMEA 0183 
Các dữ liệu truyền theo tiêu chuẩn NMEA 
0183 sử dụng các kí tự ASCII (American 
Standard Code for Information Interchange) - 
Chuẩn mã trao đổi thông tin Hoa Kỳ, giao thức 
truyền tín hiệu nối tiếp được truyền đi trong 
một câu dữ liệu (sentence) từ một "máy phát" 
với nhiều "máy thu" cùng một lúc, sử dụng 
giao thức truyền với các thông số sau: 
- Baudrate: 4800, 9600; 
- Data bits: 8; 
- Parity: None; 
- Stop bits: 1. 
3.2. Cấu trúc chung của câu dữ liệu 
Tất cả dữ liệu theo tiêu chuẩn NMEA 
0183 được truyền đi dưới dạng các câu dữ liệu 
với cấu trúc như sau: 
- Mỗi câu dữ liệu bắt đầu bằng kí tự “$”; 
- Năm ký tự tiếp theo xác định "máy phát 
tín hiệu" (hai ký tự đầu) và loại tin nhắn (ba ký 
tự sau); 
 TẠP CHÍ KHOA HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI, SỐ 32-05/2019 
5 
- Trường dữ liệu theo sau dùng dấu phẩy 
để phân cách; 
- Nếu dữ liệu không có, trường tương ứng 
để trống (không có ký tự trước dấu phân 
cách tiếp theo); 
- Ký tự đầu tiên sau trường dữ liệu cuối 
cùng là “*”, nhưng chỉ được đưa vào nếu có 
mã kiểm tra chẵn lẻ; 
- Sau “*” là mã kiểm tra chẵn lẻ gồm hai 
số hệ hexadecimal; 
- Kết thúc câu dữ liệu với kí tự 
(Carriage Return - ký tự xuống dòng) và 
 (Line Feed - ký tự bắt đầu dòng mới). 
3.3. Một số gói tin cơ bản theo tiêu 
chuẩn NMEA 0183 được giả lập trong phần 
mềm truyền cho ECDIS để thể hiện tình 
huống 
Gói tin GGA (Global Positioning System 
Fix Data. Time, Position and fix related data 
for a GPS receiver) - Gói tin truyền dữ liệu về 
vị trí tàu, thời gian từ máy GPS. 
Gói tin GLL (Geographic Position 
Latitude/Longitude) – Gói tin truyền dữ liệu 
về vị trí tàu từ máy GPS. 
Gói tin HDT (Heading True) – Gói tin 
hướng tàu thật từ la bàn con quay. 
Gói tin TTM (Tracked Target Message) – 
Gói tin thông số mục tiêu từ ra đa ARPA 
Với bốn gói tin cơ bản trên, các thông số 
của tàu và mục tiêu sẽ được giả lập bằng phần 
mềm sau đó truyền lên hiển thị trên ECDIS để 
mô phỏng tình huống. 
4. Phân tích, thiết kế, xây dựng hệ 
thống 
4.1. Phân tích hệ thống 
Hệ thống được thiết kế trên mô hình một 
máy chủ và nhiều máy con được giao tiếp với 
nhau qua giao thức TCP (LAN). 
Máy chủ dành cho giảng viên được cài đặt 
phần mềm Master để quản lý và ra các tình 
huống. Sau đó truyền cho máy con đồng thời 
nhận tín hiệu từ máy con gửi về nhằm quản lý, 
theo dõi quá trình học tập của học viên. 
Máy con dành cho sinh viên được cài đặt 
phần mềm Slaver nhận các dữ liệu ban đầu 
được gửi đến từ máy chủ, tính toán các thông 
số và mã hóa thành các gói tin NMEA 0183 
của các máy hàng hải. Tiếp đến kết nối và 
truyền dữ liệu qua phần mềm ECDIS để hiển 
thị các thông số của tàu và mục tiêu, đồng thời 
có thể thay đổi được thông số vận động của 
tàu (vận tốc, hướng đi) sau khi đã tính toán xử 
lý xong tình huống giảng viên đưa ra. Truyền 
các thông số của tàu về máy chủ để theo dõi 
quản lý. 
Các tín hiệu đầu ra của phần mềm Slaver 
được xử lý theo tiêu chuẩn NMEA 0183 nên 
có thể kết nối được hầu hết các ECDIS (Trong 
bài báo tác giả sử dụng ECDIS là OpenCPN, 
một phần mềm miễn phí được tải tại trang web 
https://opencpn.org/) [6]. 
Sơ đồ hệ thống phần mềm được chỉ ra 
trong hình 3: 
Hình 3. Sơ đồ hệ thống. 
4.2. Thiết kế hệ thống phần mềm 
Lưu đồ thuật toán của hệ thống phần mềm 
được chỉ ra trong hình 4: 
 6 
Journal of Transportation Science and Technology, Vol 32, May 2019 
Hình 4. Lưu đồ thuật toán của hệ thống. 
- Bước 1: Kết nối các máy con vào máy 
chủ; 
- Bước 2: Nhập thông số ban đầu và yêu 
cầu xử lý của tình huống vào phần mềm 
Master trên máy chủ, truyền cho các máy con; 
- Bước 3: Các máy con nhận được thông 
số ban đầu và yêu cầu, tự động tính toán giả 
lập tình huống lên ECDIS. Sinh viên tiến hành 
tính toán tác nghiệp tình huống theo yêu cầu 
với lý thuyết đã được học ra được kết quả sau 
đó sử dụng phần mềm Slaver để thay đổi 
hướng đi hoặc vận tốc tàu tương ứng với kết 
quả tính toán tác nghiệp được để xử lý tình 
huống; 
- Bước 4: Phần mềm Slaver gửi các thông 
số của tàu về máy chủ và hiển thị lên phần 
mềm Master để giảng viên nắm được tình 
trạng của các máy con. 
4.3. Xây dựng phần mềm 
Sử dụng phần mềm Visual Studio với 
ngôn ngữ lập trình Visual Basic [2] [3] để thiết 
kế hệ thống phần mềm bao gồm 2 module là 
Master và Slaver với giao diện như sau: 
Hình 5. Giao diện Module Master. 
- Vùng 1: Nhập thông số ban đầu của tàu; 
- Vùng 2: Nhập thông số ban đầu của mục 
tiêu; 
- Vùng 3: Nhập nội dung giảng viên cần 
truyền đạt đên sinh viên (ra yêu cầu xử lý tình 
huống); 
- Vùng 4: Trạng thái hoạt động của các 
máy con trong hệ thống. 
Hình 6. Giao diện Module Slaver. 
- Vùng 1: Thay đổi hướng đi và vận tốc 
tàu để xử lý tình huống; 
- Vùng 2: Nhận nội dung yêu cầu được 
truyền đến từ máy của giảng viên. 
5. Một số tình huống được mô phỏng 
bằng phần mềm ứng dụng trong giảng dạy 
và học tập chuyên ngành khoa học hàng hải 
5.1. Ứng dụng cho học tập 
Hình 7. Tình huống và yêu cầu xử lý tránh va được ra 
bởi giảng viên bằng Module Master trên máy chủ 
truyền đến Module Slaver trên máy con của sinh viên 
và hiển thị tình huống lên ECDIS. 
Hình 8. Cửa số mô phỏng radar thể hiện tình huống 
của Module Slaver. 
 TẠP CHÍ KHOA HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI, SỐ 32-05/2019 
7 
Hình 9. Sử dụng Module Slaver xử lý tình huống bằng 
phương pháp chuyển hướng. 
5.2. Ứng dụng cho giảng dạy 
Hình 10. Mô phỏng vòng quay trở Anderson trong 
phương pháp cứu người rơi xuống nước [4]. 
Hình 11. Mô phỏng phương pháp lái tàu 
 theo chập tiêu [4]. 
 6. Kết luận 
Nhóm tác giả đã xây dựng thành công 
phần mềm ứng dụng mô phỏng điều động tàu. 
Phần mềm có thể được ứng dụng cho giảng 
viên để minh họa các trường hợp điều động 
tàu cập cảng, phán đoán nguy cơ đâm va, các 
phương pháp lái tàu, các phương pháp quay 
trở cứu người rơi xuống nước Sử dụng phần 
mềm trong đào tạo giúp cho giảng viên có 
thêm công cụ để minh họa cho bài học, sinh 
viên được quan sát trực tiếp các tình huống 
theo thời gian thực và tự mình điều khiển con 
tàu trong những tình huống sát thực tế. 
Phần mềm có thể phát triển tiếp dùng làm 
công cụ khảo sát, thực nghiệm các tình huống 
điều khiển, thử nghiệm các hệ thống điều 
khiển và dẫn đường cho tàu thủy 
Tài liệu tham khảo 
[1] Nguyễn Phùng Hưng, Phạm Kỳ Quang, Nguyễn 
Thái Dương, Địa văn Hàng hải Phần 1, NXB Khoa 
học và Kỹ thuật, 2012. 
[2] Đinh Xuân Lâm, Những Bài Thực Hành Visual 
Basic.NET Căn Bản, NXB Thống Kê, 2004. 
[3] Đặng Thế Khoa, Giáo Trình Lập Trình Ứng Dụng 
Visual Basic - Tập 1, Đại Học Quốc Gia TPHCM, 
2002. 
[4] Nguyễn Viết Thành, Điều động tàu, Nhà xuất bản 
Khoa học và kỹ thuật, Hà Nội, 2007. 
[5] National Marine Electronics Association (2002), 
NMEA National Office, U.S.A. 
[6] https://opencpn.org/ 
 Ngày nhận bài: 25/4/2019 
 Ngày chuyển phản biện: 26/4/2019 
 Ngày hoàn thành sửa bài: 15/5/2019 
 Ngày chấp nhận đăng: 23/5/2019 

File đính kèm:

  • pdfxay_dung_phan_mem_mo_phong_dieu_dong_tau_ung_dung_trong_dao.pdf