Mục tiêu của đề tài - Nghiên cứu, khảo sát và mô phỏng đoạn đường thực tế cụ thé là đoạn đường từ cầu vượt Linh Xuân đến nút giao Đường số 25 thuộc đường Phạm Văn Đồng, Thành phố Thủ Đức
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KỸ THUẬT MÁY TÍNH
NGUYÊN PHÚC KHANG AN 19520370
ĐỖ HOÀNG GIANG 19521444
KHÓA LUẬN TÓT NGHIỆP
NGHIÊN CỨU SỬ DUNG NEN TANG VEINS DE XÂY
DUNG GIAI PHAP CHONG KET XE
A STUDY OF APPLYING VEINS SIMULATION FRAMEWORK
TO SOLVE TRAFFIC JAM SITUATION
KY SU KY THUAT MAY TINH
GIANG VIEN HUONG DAN
TS DOAN DUY
TP HO CHÍ MINH, 2023
Trang 2LỜI CÁM ƠN
Trân trọng gửi lời cảm ơn đến các thầy cô trong khoa Kỹ Thuật Máy Tính đãtạo điều kiện cho nhóm em có thé thuận lợi tiến hành thực hiện khóa luận tốt nghiệpmang tính quyết định này
Trong thời gian tham gia hoc tập tại trường đại học Công Nghệ Thông Tin nói
chung và Khoa Kỹ Thuật Máy Tính nói riêng, với mỗi cá nhân trong nhóm em thì
đã tiếp thu và học hỏi được rất nhiều kiến thức giúp ích cho con đường sự nghiệp
của chúng em sau này Đặc biệt chúng em gửi lời cảm ơn chân thành đến thầy Đoàn
Duy, người hướng dẫn chúng em từng bước để thực hiện khóa luận tốt nghiệp vàluôn hỗ trợ chúng em hết mức có thé dé hoàn thành khóa luận tốt nghiệp một cáchthuận lợi Cũng như các thầy cô đã góp ý để chúng em hoàn thành khóa luận tốtnghiệp một cách hoàn chỉnh nhất có thé
Nội dung kiến thức trong toàn bộ chương trình học tập kéo đài 4 năm đã cungcấp khá đầy đủ những kiến thức cơ bản và cần thiết cho chúng em để có thể làmquen và lĩnh hội thêm những kiến thức mới khi làm việc với doanh nghiệp Nhờ có
sự giảng dạy tận tình của các thầy cô trong trường nói chung và khoa Kỹ ThuậtMáy Tính nói riêng mà chúng em đã có thể năm bắt vững những kiến thức cơ bản
của ngành công nghệ thông tin và chuyên ngành Kỹ Thuật Máy Tính.
Cuối cùng, nhóm em một lần nữa gửi lời cảm ơn chân thành đến toàn thể thầy
cô của trường và thầy cô trong Khoa Kỹ Thuật Máy Tính, vì đã giúp cho mỗi thành
viên trong nhóm em có thé trải nghiệm một môi trường học tập với đầy đủ nhữngtrang thiết bị cũng như kiến thức không ngừng đổi mới Sau thời gian học tập 4 năm
thì đây sẽ là bước đệm lớn cho con đường sự nghiệp của chúng em sau này, nên
chúng em sẽ không thể hoàn thành một cách trọn vẹn nếu thiếu đi sự dẫn dắt tậntình của các thầy cô
Nguyễn Phúc Khang An
Đỗ Hoàng Giang
Trang 30100.1810.096 3
1.1 LY do chọn đề tài -s-s-scs©ss se se te seEseEsEssesstsersersersersersessese 3
1.2 Mục tiêu của đề tài sscsscsscssessersersetssessersersserssrssrrserssree 31.3 Đối tượng và phạm vi nghiên cứu của đề tài -s-s-sccsscss 4Chương 2: TONG QUAN DE TÀI NGHIÊN CỨU -2-s° 5° cssecss 5
2.2 Tình hình nghiên cứu quốc tẾ . -s-<s° se sessessessessesessessesses 5
Chương 3: CƠ SỞ LÝ THHUYÊTT 2-5-2 ©s£©s££seessss£vssesssessevssevse 8
3.1 Sơ đồ hệ thống của đề tài nghiên cứu -s-sssssessessssssesee 83.2 Dung bản đồ và mô phỏng đoạn đường c.ccsesessssssssccscceseeseesssssceeeees 9
3.2.1 Giới thiệu sơ lược về trang web OpenStreetMap - 9
3.2.3 Giới thiệu sơ lược về Netedi( -s ss-sscssssssesscsee 11
3.2.4 Cac bước lấy tọa độ bản đồ của một khu vực bằng OSM và chỉnh
sửa bằng JOSM -. -s-cscsscestrstrserseretrserserssrssrrssrssrssrssrrssrssrssrsee 12
3.3 Mô phỏng phương tiện và thay đổi số lượng phương tiện bằng SUMO
17
3.3.1 — Giới thiệu sơ lược nền tảng Veins s s-ssscsecsecsesse 17
3.3.2 Giới thiệu sơ lược bộ mô phỏng SUMO <«<<< 18
Trang 43.4.1 Dinh dạng FCDOUtput o5- <5 << 5n 10 g0 230 23
3.5 Mô phỏng mật độ giao thông tại một nút giao ngã tư - 27
3.5.1 Kịch bản tạo số lượng phương tiện ngẫu nhiên 29
3.5.2 _ Thứ tự thực thi của các lệnh bằng trên terminal 313.5.3 _ Tính toán số lượng mô phỏng thực thi -. -s s<sscsse 33
3.6 Mô phỏng mật độ giao thông trên cả đoạn đường theo hướng quy
3.6.7 — Kịch bản tính toán tín hiệu đèn giao thông -s«s« 50
Chương 4: KET QUA MO PHONG VÀ ĐÁNH GIA . -°-5 52
4.1 Kết quả mô phỏng dựng bản đồ một đoạn đường . - 524.2 Kết quả mô phỏng mật độ giao thông tại một nút giao - 53
4.3 Kết quả mô phóng mật độ giao thông trên cả đoạn đường theo hướng
4.3.2 Tin hiệu giao thông sau điều Chinh c.ccccessssssssscessescessesseeseeseees 58
4.3.3 Điểm khác biệt giữa thực tế và mô phồng . °-s «- 59
Trang 5Chương 5: KET LUẬN VÀ HUONG PHÁT TRIEN
5.1 Kết luận -sc-scsscsscsseesscse
5.2 Ưu điểm và hạn chế .-s s-ssssss
5.3 Hướng phát triỂn -s-5s° se =
Ô990000000000000000000000000000000000606066
Trang 6DANH MỤC HÌNH
Hình 3.1: Sơ đồ hệ thống :- 2-52 2+E2+E2EEEEEEEEE1EE121121121111111 111111 c0 8
Hinh 3.3: Lay tọa độ một khu vực từ OSM ccccccccccccesscceesseccessseeeessseeeesseeeessaee 12Hình 3.4: Giao diện cửa số của JOSM - - 5s Set EEvSESEEESESEEEEEESEEEEEkerrrrrkrree 13
Hình 3.5: Sơ đồ thực hiện dựng bản đồ 2¿ 2 52+2x+22xc2EEtzxeerxrerxerrecree 14Hình 3.6: Tạo lớp bản đồ mới trên JOSM 2-2 E+2E£+E£+EE+EEtEEEzEkrrxerrerer 15
Hình 3.9: Kiến trúc của nền tảng Veins ¿2:22 ©5+22S22Ex2EEeEEterxrzrxerrrsree 18
Hình 3.10: Ví dụ mô phỏng nút giao trong SƯMO cẶS-SssSssseeee 19
Hình 3.11: Các bước dé tạo phương tiện và mô phỏng SUMO - 20
Hình 3.12: Các thẻ trong <tén file>.SUO.CÍ - 5 5+ + sseeeeskeree 21
Hình 3.14: Cửa sô mô phỏng SUMO ¿2 2S E‡EE‡EESEEEEEEEEEEEEEEEEEEkerkrrkrree 23
Hình 3.21: Kết quả tạo ngẫu nhiên số lượng phương tiện . :-5- 3l
Hình 3.22: Thứ tự thực thi mô phỏng một ngã fư 5 5 S5 <*+2++ssskeese 32
Hình 3.24: Bản đồ một đoạn đường Phạm Văn Đồng trên JOSM 37Hình 3.25: Bản đồ một đoạn đường Phạm Văn Đồng trên SUMO 38
Hình 3.27: ID tuyến đường đầu cuối - 2-22 5¿©5+2++EE+2Ext2EEtEE+erxezrxerresree 40
Hình 3.28: Kết quả tạo số lượng phương tiện theo chu kì 2- 2 555552 40
Trang 7Hình 3.29: Tuyến đường được tối ưu bằng đuarOuter -. : ¿z+=s+ 41Hình 3.30: Dữ liệu trích xuất từ E3 Detector cccccsscccssescsssssessssecssesersecsvsesseeevseeees 43Hình 3.31: Sơ đồ kịch bản phân tích dit liệu kết quả -. -¿- ¿+z55+z=++ 4450): 3.32: Thiét <0, SN 46Hình 3.33: Thiết kế 4 pha ¿2 5SSE+SE+EE2EE2E2EEEEEEEE71212112212112121 111111 xe 46
Hình 3.36: Sơ đồ kịch bản tính toán đèn giao thông -2¿ 2 5¿+ce>s++c++ 50
Trang 8DANH MUC BANG
Chú thích biến lưu số lượng phương tiện - 2 2 2 5 s+zs+£sz +2 30
Dữ liệu trích xuất từ mô phỏng SUMO -. -2- 5¿©c++cc++cxz+cxe2 42
Tính thời gian tín hiệu đèn xanh tối ưu -¿ s¿©s2++cx++cs+2 49
Dữ liệu ghi trong tệp tin chứa kết quả mô phỏng -.: :- 54
Tín hiệu đèn giao thông mặc định 0 ec eeeseeeseeeceeeeseeeseeeseesseeseeeseeaes 55 Lưu lượng xe trong một giờ với tín hiệu mặc định (xe/giò) 57
Lưu lượng xe trong một giờ với tín hiệu sau hiệu chỉnh (xe/g1ờ) 58
Trang 9DANH MỤC TỪ VIET TAT
PCU Passenger Car Unit
SUMO Simulation of Urban Mobility
TNV Tô Ngọc Vân
Veins Vehicles in Network Simulation VANET Vehicular ad — hoc network
VVN Võ Văn Ngân
Trang 10TOM TAT KHÓA LUẬN
Trong những năm gần đây, tình trạng ùn tắc giao thông tại các thành phố lớn
ngay tại Việt Nam ngày càng trở nên nghiêm trọng, đặc biệt những nơi mà đông dân
cư và diện tích đất hẹp, gây ảnh hưởng đến hoạt động kinh tế, môi trường, sức khỏe
và chất lượng cuộc sống cũng như nhu cầu đi lại của người dân [1, 2, 3] Nguyênnhân chính của tình trạng ùn tắc giao thông là do số lượng phương tiện giao thôngtăng lên đáng kể trong thời gian gần đây, trong khi hệ thống đường giao thông và cơ
sở hạ tầng không được nâng cấp đồng bộ dẫn đến không đáp ứng được số lượngphương tiện tăng lên đột ngột [1, 3] Ngoài ra, do sự phat triển nhanh chóng củakinh tế và đô thị hóa cũng dẫn đến sự gia tăng đột ngột của số lượng phương tiện [1,
3] Sự thiếu ý thức và kỷ luật của người điều khiển phương tiện giao thông, người đi
bộ có thé dẫn đến sự có giao thông, chen lan đường, vi phạm luật giao thông cũng
góp phan gây ra tình trạng ùn tắc giao thông [1, 3] Các giải pháp tập trung vào van
dé giảm thiêu tình trạng ùn tắc giao thông hay dự báo nguy cơ kẹt xe đã và dang thuhút được sự quan tâm của các cấp chính quyền, các nhà khoa học và các kỹ sư về
quản lý giao thông.
Một số biện pháp và giải pháp đã được đưa ra nhằm giảm thiểu tình trạng ùn
tắc giao thông có thé kế đến như giới hạn các phương tiện có thé gây ùn tắc giaothông vào thời gian cao điểm, khuyến khích người dân sử dụng phương tiện côngcộng, tuyên truyền và nâng cao ý thức của người điều khiển phương tiện giao thông[1] Ở quy mô lớn hơn, nhà nước và chính quyền cần phải đầu tư xây dựng cũng
như nâng cấp hệ thống đường giao thông, cơ sở hạ tang dé phù hợp với quy mô dân
cu ở từng khu vực [1, 3] Một trong những biện pháp đã va đang được áp dụng
nhằm tận dụng những cơ sở hạ tang có sẵn trong những thành phó lớn đó là điềukhiển tín hiệu đèn giao thông một cách hợp lý Hiện nay việc điều khiến tín hiệuđèn giao thông vẫn đang được thực hiện và chưa được tối ưu [1, 2, 4, 5, 6] Nên tìnhtrạng ùn tắc giao thông vẫn thường xuyên xảy ra trên diện rộng.
Trang 11Trong khóa luận tốt nghiệp này, nền tảng Veins được sử dụng để mô phỏngmật độ và hoạt động giao thông trên một khu vực nhất định, từ đó đánh gia nguy co
ùn tắc va đưa ra giải pháp điều khién tín hiệu đèn một cách hợp lý dé giải quyết tình
trạng ùn tắc giao thông
“Veins” là một thư viện mã nguồn mở được sử dụng rộng rãi trong nghiên
cứu phát triển và quy hoạch giao [4, 6] “Veins” hỗ trợ đầy đủ các công cụ dé môphỏng hạ tầng giao một cách trực quan và gần nhất với thực tế thông qua chuẩngiao tiếp IEEE 802.11 và mạng VANET Nhờ vào tính mô-đun hóa cao, Veinsthường được sử dụng để mô hình các nút giao thông khác nhau một cách nhanh
chóng và hiệu quả [7] Ngoài ra các bộ công cụ hỗ trợ OMNeT++ và SUMO có thé
nhanh chóng thiết lập và chạy mô phỏng cùng với nền tang “Veins” dé đánh giá hệthống một cách trực quan và chính xác [7, 8, 9, 10, 11]
Kết quả nghiên cứu nhằm đánh giá thực trạng giao thông hiện nay ở nước tathông qua đánh giá mật độ giao thông tại các nút giao với số lượng xe lớn, cũng nhưlàm tiền đề đưa ra chiến lược điều khiến tín hiệu đèn giao thông hợp lý Mô phỏng
mật độ giao thông nhằm dự đoán số lượng phương tiện gây ra kẹt xe, từ đó áp dụng
vào thực tế bằng cách xác định số lượng phương tiện đang lưu thông và thay đổi tínhiệu giao thông ngay khi gần đạt ngưỡng xảy ra kẹt xe và phòng tránh tình trạng ùn
tắc tại các nút giao lớn nhỏ Do đây là bài toán đang thu hút sự chú ý và nhiều công
trình nghiên cứu đang được tiếp tục, cho thấy giá trị thực tiễn của đề tài nghiên cứu
này ở hiện tại và trong tương lai.
Trang 12Chương 1: MỞ DAU
1.1 Lý do chọn đề tài
Tình trạng ùn tắc giao thông đã trở thành một vấn đề đang được quan tâm
không chỉ ở Việt Nam mà còn trên toàn thế giới Cơ quan quản lý giao thông ở
những thành phố lớn và các kĩ sư xem việc giải quyết tình trạng ùn tắc là một bàitoàn lớn đang cần được giải quyết từng ngày Dưới áp lực bùng nỗ dân số va sự tập
trung dân cư đông đúc ở các thành phố lớn, tình trạng ùn tắc giao thông ngày càng
trở nên pho biến và nghiêm trọng Giải pháp nâng cấp hệ thống giao thông và cơ sở
hạ tầng trong thời gian ngắn nhằm đáp ứng với nhu cầu đi lại ngày càng tăng của
dân cư trong các thành phố lớn gần như khó đạt được Tình trạng ùn tắc giao thông
có thé ảnh hưởng trực tiếp đến sức khỏe, cảnh quan và kinh tế xã hội Nên đây làmột van đề đang được cấp bách giải quyết Nhiều giải pháp đã được đưa ra nhămgiảm thiểu ùn tắc như hạn chế phương tiện lớn ở một số đoạn đường gid cao điểm,khuyến khích người dân sử dụng phương tiện công cộng, v.v [1, 3] Một trongnhững phương pháp đang được thực hiện có thê sử dụng hệ thống giao thông có sẵn
là điều khién tín hiệu đèn giao thông [1, 2, 4, 5, 6] Nhận thấy phương pháp này rat
tiềm năng và tiết kiệm chi phí nên nhóm đã nghiên cứu dé tài “NGHIÊN CỨU SỬ
DUNG NEN TANG VEINS DE XÂY DỰNG GIẢI PHÁP CHONG KET XE”.
Việc mô phỏng mật độ giao thông trên một khu vực va dự đoán mật độ giao thông
thông qua tốc độ của phương tiện, có thể giúp đưa ra chiến lược điều khiến tín hiệu
đèn giao thông hợp lý nhằm giải thiêu phần nào tình trang ùn tắc giao thông
1.2 Mục tiêu của đề tài
- Nghiên cứu, khảo sát và mô phỏng đoạn đường thực tế cụ thé là đoạn đường
từ cầu vượt Linh Xuân đến nút giao Đường số 25 thuộc đường Phạm Văn
Đồng, Thành phố Thủ Đức, cho thấy thực trạng giao thông ở Việt Nam, sử
dụng nền tảng Veins và các công cụ hỗ trợ như OMNeT++ và SUMO
Trang 13- Nghiên cứu va thực hiện mô phỏng nhằm đánh giá mật độ giao thông cũng
như tình trạng kẹt xe trên đoạn đường cụ thể nêu trên cũng dựa trên nên tảngVeins và các công cụ hỗ trợ như OMNeT++ và SUMO.
- — Nghiên cứu va mô phỏng cho việc đánh giá giải pháp điều khiến tín hiệu đèn
giao thông hợp lý giải quyết tình trạng kẹt xe trên đoạn đường cụ thể đã nêutrên nền tảng Veins và các công cụ hỗ trợ như OMNeT++ và SUMO
1.3 Đối tượng và phạm vi nghiên cứu của đề tài
Đề tài tập trung nghiên cứu vào sử dụng nền tảng “Veins” như một công cụ
mô phỏng một đoạn đường cụ thể từ cầu vượt Linh Xuân đến nút giao Đường số 25thuộc đường Phạm Văn Đồng, Thành phó Thủ Đức Mô phỏng mật độ giao thông
trên đoạn đường đó và dự đoán nguy cơ kẹt xe dựa trên tốc độ trung bình củaphương tiện Từ đó làm tiền đề cho việc đưa ra phương pháp điều khiển đèn giao
thông hợp lý có thể giảm thiêu tình trạng ùn tắc ở các nút giao trên đoạn đường cụthể
Trang 14Chương 2: TONG QUAN DE TÀI NGHIÊN CỨU
2.1 Tình hình nghiên cứu trong nước
Với hiện trạng giao thông ở các thành phố lớn trên phạm vi cả nước, đã có ratnhiều nghiên cứu được thực hiện nhằm nỗ lực giảm thiểu phần nào tình trạng ùn tắcđang hằng ngày diễn ra Nhiều công trình nghiên cứu đã được tiến hành dé tìm ragiải pháp giảm ùn tắc giao thông một cách hiệu quả Nhóm tác giả trong nghiên cứu[1] đã đề cập đến nhiều giải pháp dé giảm thiểu tình trang ùn tắc trong đó nhắc đếnviệc điều chỉnh tín hiệu đèn giao thông ở các nút giao Nghiên cứu đã chỉ ra rằng tại
các nút giao do sự giới hạn của các làn đường và sự phân bố không đồng đều củaphương tiện đã dẫn đến sự chật hẹp ở các tuyến đường, đồng thời hành vi lái xe của
người điều khiển phương tiện cũng góp phần gây tắc nghẽn giao thông Bài báocũng chỉ ra rằng chương trình điều khiển tín hiệu đèn giao thông chưa được hợp lý
và chưa tối ưu ở các nút giao Sự phân chia thời gian đèn xanh vẫn chưa hợp lý theotừng lưu lượng giao thông cũng gay ra hiện tượng quá tải ở nút giao Rất cần thiếtcho việc khảo sát mật độ giao thông trong giờ cao điểm dé từ đó nâng cấp chươngtrình điều khiển tín hiệu đèn, Giải pháp này có thê giảm thiêu tối đa 15% hiện trạngtắt nghẽn đặc biệt tại các nút giao lớn Tiếp đến nhóm tác giả trong nghiên cứu [4]
đã đưa ra một số phương pháp xem xét trong bài báo khoa học cho việc giải quyết
ùn tắc tại các nút giao tại tỉnh Cần Thơ như điều khién thời gian tín hiệu đèn giaothông, rẽ trái hai giai đoạn và điều hướng giao thông theo chỉ dẫn Nhóm tác giả đãphát triển một chương trình mô phỏng dé phân tích van dé tắc nghẽn thông qua ước
lượng thời gian hành trình của phương tiện và độ dài của hàng đợi phương tiện Cho
rằng việc đưa ra lựa chọn chiến lược hợp lý từ những phương pháp kể trên có thégop phần kiểm soát và điều khiển lưu lượng nhằm giảm sự tắc nghẽn tại nút giao
mà chưa cần sự can thiệp lớn về dau tư phát triển thêm co sở hạ tang của chính phủ
2.2 Tình hình nghiên cứu quốc tế
Bài toàn giải quyết tình trạng tắc nghẽn giao thông cũng là vấn đề lớn đangđược các nước trên thế giới quan tâm, không ngừng nghiên cứu đề tìm ra giải pháp
Trang 15Đặc biệt là ở các nước đông dân số khi mà dân cư có xu hướng tập trung về các
thành phó lớn, vào giờ cao điểm thường xuyên xảy ra hiện tượng ùn tắc tại hầu như
các nút giao lớn nhỏ Nhóm tác giả trong nghiên cứu [5] cũng đã chỉ ra giao thông
tắc nghẽn lại trở thành vấn đề toàn cầu gây ra sự lãng phí nhiên liệu và tiền bạc
Nghiên cứu sử dụng phương pháp xử lý ảnh thông qua dữ liệu từ những camera an
ninh đã lắp đặt sẵn trên các tuyến đường ở Brazil để phát hiện tình trạng tắc nghẽn
giao thông Từ đó họ đưa ra những bằng chứng về hiện tượng tắc nghẽn xảy ratrong thời gian dài ở nhiều khu vực khác nhau Nhóm tác giả cũng đồng thời xây
dựng một cơ chế đơn giản nhằm giảm thiêu tình trạng tắc nghẽn trên trên một phạm
vi khu vực xử lý nhỏ được gọi là “giao thức chống tắc nghẽn tại vị trí phát hiện”.Phương pháp định vi tín hiệu giao thông dùng để điều khiến luồng giao thông déđảm bảo mật độ giao thông tại đó không vượt quá diém quyết định Phương phápnày có thê ngăn tình trạng sụp đồ do tắc nghẽn và cải thiện khả năng chịu tải của hệ
thống đường trong tình trạng ùn tắc Tiếp đến nhóm tác giả trong nghiên cứu [6]
cũng đồng ý kiến cho rằng tình trạng tắc nghẽn đang ngày càng nghiêm trọng vìnhiều lý do liên quan đến hệ thông giao thông và cả người điều khiển phương tiện.Nhóm tác giả này cũng đưa một số phương pháp tiếp cận dé giảm thiểu tình trạngnày Một số phương pháp được nhắc đến trong bài báo như: điều khiển tín hiệu đèn
giao thông, sử dụng thuật toán định tuyến đề điều hướng giao thông, phương pháptìm ra các hướng rẽ gây tắc nghẽn cần hẹn chế tại nút giao và cuối cùng là điều tiết
tắc nghẽn dựa trên tuyến đường Nhưng có thê thấy hiện nay không chỉ riêng ở ViệtNam mà trên thế giới phương pháp có khả năng dễ tiếp cận và dễ hiện thực nhất làđiều chỉnh tín hiệu đèn giao thông Việc tận dụng cơ sở hạ tầng giao thông có sẵncũng như không phức tạp hóa hệ thống là lý do phương pháp này đang thu hút sự
chú ý của nhiêu kĩ sư trong và ngoài nước.
2.3 Phân tích các phương pháp
Trong nghiên cứu khoa học của nhóm tác giả [4] đã đề xuất một số phươngpháp và đánh giá độ hiệu quả của từng phương pháp nhằm kiểm soát tình trạng tắc
Trang 16nghẽn giao thông tại nút giao như điều khiến tín hiệu đèn giao thông, điều hướng cụthé cho phương tiện và rẽ trái hai giai đoạn Những dữ liệu đầu vào như khoảng
cách đường, số lượng phương tiện và tốc độ sẽ được thu thập bằng camera kỹ thuật
số tại nút giao Nhóm tác giả đã dựa trên những dữ liệu đầu vào dé từ đó đưa rachiến lựa điều khiển hợp lý bằng cách lựa chon một trong ba phương pháp trên déđưa vào mô phỏng trên phần mềm ARENA Sau đó đều sẽ trả về kết quả bao gồm
thời gian xe chạy, độ dài hàng đợi xe và lượng khí thải CO2 Trung bình của thời
gian xe chạy và độ dài hàng đợi sẽ được dùng để đánh giá tình trạng tắc nghẽn ở nút
giao Tiếp đến với nghiên cứu khoa học nhóm tác giả [5] đã xây dựng cơ chế pháthiện trạng thái tắc nghẽn bằng cách đưa một giải thuật xử lý ảnh đơn giản hiện thựcđược trên camera an ninh dé phân tích hình ảnh thời gian thực Nhưng phương phápnày vẫn tồn động một số nhược điểm như độ phân giải camera thấp và nhiễu từ môi
trường sẽ ảnh hưởng đến kết quả, nên sẽ xử lý ở hai hướng khác nhau giữa ngày vàđêm Sau đó họ đã đề xuất một giao thức chống tác nghẽn tại nơi xảy ra tắc nghẽn
Nhận thấy những phương pháp trên có thê phải tốn nhiều chi phi dé đầu tư và còntồn tại một số nhược điềm nhất định Nên trong Khóa Luận Tốt Nghiệp này, nhóm
sẽ nghiên cứu và đưa ra giải pháp phòng tránh kẹt xe tại nút giao mô phỏng trên nềntảng Veins Chưa cần đến xử lý ảnh hay tự xây dựng chương trình mô phỏng nhưngnhóm vẫn có thé xây dựng bản đồ một đoạn đường mong muốn, sau đó dự đoán
nguy cơ xảy ra kẹt xe ở nút giao dựa vào tốc độ trung bình của phương tiện Cuối
cùng là điều khiến tín hiệu đèn giao thông ở các nút giao dé tránh kẹt xe
Trang 17Chương 3: CƠ SỞ LÝ THUYET
3.1 Sơ đồ hệ thống của đề tài nghiên cứu
Mô phỏng ước lượng mật độ
giao thông trên cả đoạn
đường
y
| Trích xuat những nút giao
xay ra kẹt xe
› Mô phỏng ước lượng mật độ ›
giao thông một nút giao
Tính toán và điều chỉnh tín
€— hiệu giao thông những nút
giao xảy ra kẹt xe
Đánh giá độ hiệu quả điều
chỉnh tín hiệu giao thông
Hình 3.1: Sơ đồ hệ thống
Hình 3.1 mô tả tông quan hệ thống của dé tài nghiên cứu dựa trên ba mục tiêu
đã đề ra Ở bước đầu tiên nhóm sẽ tiến hành khảo sát thực tế đoạn đường mà nhóm
đã giới hạn va thu thập những thông tin co bản như: số lượng nút giao, số lượng làn
xe ở mỗi đoạn trên tuyến đường khảo sát, số lượng tín hiệu giao thông mặc định và
số lượng phương tiện di chuyền Sau đó chỉnh sửa và mô phỏng những dữ liệu thuthập thành một bản đồ đoạn đường hoàn chỉnh, dựa trên những công cụ mà nhóm đã
nghiên cứu và giới thiệu ở những phân tiép theo cua báo cáo.
Bước tiếp theo là mô phỏng mật độ giao thông, trong phần đầu của nghiên cứunhóm đã thực hiện mô phỏng tại một nút giao ngã tu bat kì trên đoạn đường dé dựđoán mật độ giao thông dựa trên tốc độ trung bình của tất cả phương tiện Tiếp đếnnhóm đã tiến hành nâng quy mô của mô phỏng thành cả đoạn đường như đã dé ra
với số lượng nút giao tương ứng với khảo sát thực tế Việc mô phỏng mật độ giao
thông trên cả đoạn đường nhằm tìm ra trạng thái kẹt xe sẽ xảy ra tại các nút giao với
số lượng phương tiện tương ứng đang lưu thông cũng dựa trên tốc độ trung bình củaphương tiện trong nhiều mốc thời gian mô phỏng
Bước cuối cùng là xác định những điểm giao thông đang bị ùn tắc và tính toánđiều chỉnh tín hiệu đèn nhằm giải quyết tắc nghẽn tại các nút giao này Việc điềuchỉnh phải đảm bảo số lượng phương tiện lưu thông tương ứng với mô phỏng ban
Trang 18đầu Sau khi điều chỉnh, cần đánh giá hiệu quả bằng cách chạy lại mô phỏng và lặp
lại quá trình cho đến khi khắc phục tình trạng tắc nghẽn xe
3.2 Dựng bản đồ và mô phỏng đoạn đường
3.2.1 Giới thiệu sơ lược về trang web OpenStreetMap
OpenStreetMap cũng tương tự với Google Map Đây cũng là một dịch vụ bản
đồ thé giới trực tuyến với mã nguồn mở Được đóng góp bởi nhiều người cộng tácvới nhau Hầu hết dữ liệu ban đồ trên OSM được phan lớn người dùng đóng góptrong suốt thời gian qua OSM được sử dụng trong nhiều mục đích khác nhau như
ứng phó thảm họa và sử dụng cho thương mại Trong học thuật thì có thể dùng để
mô phỏng mật độ giao thông ở những khu vực mong muốn Thay vì vẽ bản đồ trêngiấy thì có thé sử dụng OSM dé tìm ra khu vực cần tìm kiếm Mọi cảnh vật đường
xá trên OSM hau như được người dùng đóng góp nên điêm yếu của trang web này
là đữ liệu có thé bị chậm so với thực tế
Một trong những điểm mạnh nhất của OpenStreetMap cho phép người dùngđiều chỉnh bản đồ theo địa hình địa lý đa dạng ở từng vùng khác cũng như sử dụngnhiều quyền lợi trên OSM: chỉnh sửa và upload dữ liệu mới sau khi tạo tài khoản
đăng nhập Công cụ đóng góp cho OSM tất đa dạng với nhiều ngôn ngữ khác nhau,
nhưng công cụ đang được sử dụng rộng rãi nhất với tên gọi JOSM (JavaOpenStreetMap) Ngoài ra, có nhiều cộng đồng tại nhiều khu vực trên thé giới đónggóp hoàn thiện bản đồ tại khu vực đó Do OSM với đữ liệu cốt lõi là dạng dữ liệukhông gian cùng với mã nguồn mở và dễ dàng truy cập nên được nhiều người dùng
tận dụng cho mục đích học thuật lẫn thương mại.
Bên cạnh đó, điểm yếu của OSM cũng đến từ sự đóng góp của người dùngnhằm hoàn thiện bản đồ Dữ liệu do người dùng cung cấp và upload server củaOSM có thé không được duy trì ổn định, lý do chỉ ra rằng nhiều bản đồ của nhiềukhu vực khác nhau được cung cấp mà không có một cộng đồng nào duy trì và cậpnhật liên tục tình trạng tại khu vực đó Làm cho dữ liệu bản đồ ở nhiều khu vực đã lỗi thời và không có tính thời gian thực Ngoài ra những đữ liệu được đóng góp và
Trang 19cung cap bởi người dùng chưa được xác thực so với thực tê nên sẽ có sai khác so
với thực tê của khu vực Nêu chỉ dùng cho mục đích học thuật và nghiên cứu cơ bản
thì có thé chấp nhận được
Dé truy cập trang web Open Street Map, người dùng có thể truy cập đường
link chính thức của trang web https://www.openstreetmap.org/.
3.2.2 Giới thiệu sơ lược công cụ JOSM
Bên cạnh trang web OpenStreetMap còn một trong những công cụ hỗ trợchỉnh sửa bản đồ cũng dựa trên OSM được phát triển dựa trên ngôn ngữ Java làJOSM (Java OpenStreetMap) Công cụ này cũng là mã nguồn mở và hoàn toànmiễn phí Có thé tải về trực tiếp từ trang chủ JOSM và cài đặt trên hệ điều hànhLinux một cách dễ dàng JOSM còn được gọi là một trình chỉnh sửa của OSM chophép ánh xạ hình ảnh bản đồ thực tế trên OSM sau đó chỉnh sửa dữ liệu trên bản đồ
đó khi đang trong trạng thái ngoại tuyến trong một thời gian Vì vậy khi sử dụng
JOSM sẽ không cần kết nối internet liên tục Chỉ cần kết nối internet ở bước tải hình
ảnh, đữ liệu ban đồ về từ server OSM, ở phần chỉnh sửa các thuộc tính của bản đồ
có thé thực hiện hoàn toàn khi không kết nối internet Nhờ vào việc sử dụng JOSM
dé chỉnh sửa dữ liệu trên bản đồ ta có thể hiểu được cách thức hoạt động của trang
web OSM cũng như làm quen với giao diện của JOSM Người dùng thường sử
dụng JOSM để chỉnh sửa bản đồ cho nhiều mục đích khác nhau trong đó có cả việc
đóng góp hoàn thiện dự án OSM Sau khi chỉnh sửa xong trên JOSM người dùng có
thê tải bản đã chỉnh sửa lên lại server OSM Trong học thuật công cụ thường dùng
để chỉnh sửa bản đồ nhằm mô phỏng đúng so với thực tế Đó cũng là một trong
những mục đích cho sự ra đời của công cụ JOSM cùng với dự án OSM Công cụ
này cũng hỗ trợ cả ba hệ điều hành phổ biến Windows, Linux, MacOS
Dé cài đặt công cụ JOSM, đầu tiên người dùng tải tệp nén của JOSM từ trangchủ “https://josm.openstreetmap.de/”, khi tải về tệp nén sẽ có tên “josm-tested.jar”
Sau đó bỏ tệp nén này vào bat cứ thư mục nào của dự án rồi chạy lệnh “java - jar
josm-tested.jar” trên terminal Khi đó hệ điều hành sẽ tự khởi động công cụ JOSM
10
Trang 203.2.3 Giới thiệu sơ lược về Netedit
Netedit là công cụ hỗ trợ chỉnh sửa của bộ mô phỏng SUMO Ngoài ra chỉnhsửa bản đồ có sẵn, Netedit còn được sử dụng để tạo ra mạng lưới giao thông dựatrên những tính năng có sẵn của công cụ Đầu vào của công cụ là file
PVDStreet.net.xml có sẵn và chỉnh sửa trực tiếp, bên cạnh đó công cụ cũng hỗ trợ
nhiều tính năng cho phép người dùng tự vẽ các tuyến đường theo mong muốn củanghiên cứu và các tín hiệu đèn giao thông cũng được Netedit hỗ trợ dé cài đặt Vớigiao diện dé sử dung và hỗ trợ nhiều tính năng nên công cụ còn được dùng dé sửalỗi trên các mạng giao thông Netedit được xây dựng trên netconvert vì thế mà
netedit sẽ kế thừa những gì mà netconvert đã có sẵn Công cụ cho phép chỉnh sửa
liên tục và hoàn tác không giới hạn nên có thể sửa lỗi nhanh chóng Các tính năngchủ yếu được dùng bằng phím tắt hoặc hiên thi trên thanh công cụ dé người dùng dễdàng tìm kiếm Netedit có thé chạy được trên cả hệ điều hành Linux lẫn Window
Vì là một công cụ có sẵn trên nền tảng Veins, để khởi động cửa số netedit, chạylệnh “netedit PVDStreet.net.xml” trên terminal khi dé hệ điều hành sẽ tự khởi độngcửa số công cụ
Ei tinaiva.netxon!- netedit 1.180 - o x
file Modes Edit Lack Processing Locate Tools Window Language Help Ï|ÍNNNNNNN 8 Demana | lal Data
aa & Ee OPM aster standard =| ® | et Se m®^MVlA=z+z+7 MtHaaneres
PVDBD (Binh Duong > TPHCM)
DS25 HB LD TNV DSI DIN LX
PVĐHCM (TPHCM > Bình Dương) ẩm ee
*ode already selected 12696 82, y-893.64 |1:4696.82, y-893.64 (No projection defined) °
Hình 3.2: Giao diện cửa số công cụ Netedit
11
Trang 21Hình 3.2 là cửa số giao điện công cụ Netedit dang mở file PVDStreet.net.xml
dé chỉnh sửa tuyến đường và tín hiệu đèn giao thông Phía bên trái cửa số khi người
dùng nhấn vào một tuyến đường thì sẽ hién thị thông tin chi tiết của tuyến đường
đó Bên trên là thanh công cụ có đầy đủ các chức năng của netedit hỗ trợ ngườidùng Bên dưới cùng là cửa số console hién thị thông tin cũng như cảnh báo ngườidùng nếu vi phạm những luật thiết kế hoặc chỉnh sửa bản đồ
3.2.4 Các bước lấy tọa độ bản đồ của một khu vực bang OSM và chỉnh
sửa bằng JOSM
Đầu tiên để dễ dàng điều chỉnh bản đồ bằng cách thêm các thuộc tính rồi sau
đó tải lên server của OSM thì phải tạo tài khoản đăng nhập trên trang chủ của OSM.
OSM cho phép bao quanh khu vực mong muốn và khi này OSM sẽ trả bốn giá trị
tọa độ Hình 3.3 là một ví dụ cho một khu vực cần lây và khi đó OSM sẽ cho ra bốn
tọa độ lần lượt tương ứng với các hướng trên bản đồ
OpenStreetMap data is licensed under the Open
Data Commons Open Database License (ODbL).
If the above export fails, please consider using
one of the sources listed below:
‘Overpass API Download this bounding box from a mirror
of the OpenStreetMap database
Planet OSM
Regularly-updated copies of the complete OpenStreetMap database
Geofabrik Downloads Regularly-updated extracts of continents,
Hình 3.3: Lấy tọa độ một khu vực tir OSM
Sau khi đã có bản đồ từ OSM thì để chỉnh sửa như thêm thuộc tính cho
đường hay tín hiệu giao thông thì sẽ xài đến một công cụ cũng phát triển dựatrên OSM đó là JOSM (Java OpenStreetMap) Hình 3.4 là cửa số giao diện củaJOSM sau khi chạy lệnh “java -jar josm-tested.jar” trên terminal, hệ điều hành
sẽ tự khởi động cửa số người dùng như hình
12
Trang 22Java OpenStreetMap Editor x
File Edit View Presets Imagery Audio Help
.- lề) |
JOSM - Java OpenStreetMap Editor
You should update!
News
+ 2023-05-14 weeklyOSM: The weekly round-up of OSM news, issue #668, is now available.
+ 2023-05-03 (stable version 18721) + 2023-04-03 (stable version 18700) + 2023-03-02 (stable version 18678)
e OAuth 2 Support for OpenstreetMap Authentication (see #20768)
+ 2023-01-30 (stable version 18646) + 2023-01-04 (stable version 18622)
s Add tabs to Image Viewer Dialog to allow users to quickly switch between geotagged image layers, which now include GPX waypoint images (#21605)
+ Download some existing data from OSM using Download data on the File menu or the
Gere TESS 2acperron 9 Areata ene eermarseerey Rei ores cartesian ri
Hình 3.4: Giao điện cửa số của JOSM
Nếu đã có sẵn file PVDStreet.osm.xml thì chỉnh sửa trực tiếp trên file, ta sẽ
chỉ chỉnh sửa những dữ liệu đã có sẵn từ dữ liệu tải về trên OSM Thay đổi số lượnglàn đường, số lượng tín hiệu đèn giao thông, thêm giới hạn tốc độ, đường hai chiềuhay một chiều Mọi chỉnh sửa sẽ được thực hiện trên JOSM
Sau đó ta sẽ lưu lại bản chỉnh sửa và tiến hành tải lên lại server của OSM Déthực hiện việc tải lên lại bắt buộc phải tạo tài khoản đăng nhập trên OSM, khi nàytrên OSM sẽ có một bản dé khu vực đã chỉnh sửa với những thuộc tính mới Cứ lặplại quá trình này cho đến khi chỉnh sửa bản đồ được mong muốn và đúng với thực tếnhất
13
Trang 233.2.5 Dung bản đồ mô phỏng đoạn đường
công cụ JOSM Các bước thực hiện trên cũng được rút ra dựa trên quá trình nghiên cứu của nhóm.
Khởi động JOSM sau đó tạo một lớp mới có hình ảnh bản đồ thực tế của đoạn
đường hay khu vực mong muốn Trên lớp bản đồ mới này chỉ có hình ảnh của bản
đồ thực tế và không có bắt cứ nét vẽ đường hay thuộc tính nào được tạo ra
14
Trang 24file Edit View Mode Tools Selection presets imagery Windows Audio Help
| Asral nagery"Ei Word Imagery" might be misligned, Please check ts offeet using GPS trackel Detals x
-⁄7 | _ LÌ not show this me
To Girect input to this VM, move the mouse pointer inside or press ClrlsG.
Hình 3.6: Tao lớp ban đồ mới trên JOSM
Trên hình 3.6 là hình anh ban đồ thực tế của một đoạn đường Phạm Văn Đồng
nhưng chưa có nét vẽ đường hoặc các thuộc tính liên quan Sau đó dùng những
công cụ vẽ có sẵn trong JOSM đề tạo ra các tuyến đường, đồng thời thêm các thuộc
tính của các tuyến đường đó như số lượng làn đường, số lượng tín hiệu giao thông ởnút giao, tốc độ giới hạn, đường một chiều — hai chiều, v.v Bằng cách này nhóm sẽlinh hoạt trong việc dựng bản đồ cũng như dé dàng hơn trong việc chỉnh sửa bản đồ
sao cho giống với thực tế nhất có thé
tile Edt View Mode Jools
BO +e
&
mapery Windows Ausio Hếp
- 8Ñ B man HH ow tu
eral magery “Een World In rusabgned Please check ts oftst using GPS tracks! s x
Do not show this mes
x|©|®|<t 0) ‡ |®|® 'a JZJZ7JW| |~\=
Ôl6gss57 (0106744906 CO) : = = TẾ TT cee oo
Hình 3.7: Bản đồ sau khi thêm tuyến đường và thuộc tính
Hình 3.7 là hình ảnh bản đồ đoạn đường nêu trên sau khi đã thêm các tuyến
đường cũng như thêm các thuộc tính liên quan Trên JOSM sẽ có hình ảnh như
15
Trang 25hình, nhưng trong mô phỏng SUMO các tuyến đường sẽ phân tách đúng với số
lượng làn đường đã cài đặt.
Kế đến, sau khi đã hoàn thành việc thêm tuyến đường và các thuộc tính, lưu
bản đồ lại dưới dạng PVDStreet.osm.xml Khi này nền tang Veins, cụ thé là bộ mô
phỏng SUMO hỗ trợ thư viện có tên “netconvert” giúp chuyển đổi PVDStreet.osmsang PVDStreet.net (hoặc PVDStreet.osm.xml sang PVDStreet.net.xml) Bang cách
nhập lệnh “netconvert osm PVDStreet.osm.xml -o PVDStreet.net.xml” trên
terminal thì ta sẽ chuyển đổi được PVDStreet.osm thành PVDStreet.net dùng cho
Warning: Environment variable SUMO HOME is not set, using built in type maps.
Warning: Speed of straight connection '-106968#6 1->-106968#1 1' reduced by 5.67 due
to turning radius of 21.99 (length=1.63, angle=19.42)
Warning: Speed of straight connection '-107122#0 0->-107122#1 0' reduced by 7.10 due
to turning radius of 16.63 (length=4.31, angle=30.61)
Warning: Speed of straight connection '-107122#0 1->-197122#1 1' reduced by 9.14 due
to turning radius of 19.39 (Length=2.59, angle=30.61)
Success.
veins:~/Desktop/PVDStreet%
Hình 3.8: Nhập lệnh chuyền từ file osm sang file net
Trên hình 3.8 là trạng thái đã chuyển đổi thành công của thư viện
“netconvert” Khi nay trong thư mục chứa PVDStreet.osm.xml sẽ xuất hiện
PVDStreet.net.xml.
Cuối cùng là sử dung công cu netedit để chỉnh sửa PVDStreet.net.xml Dékhởi động netedit chạy lệnh “netedit PVDStreet.net.xml”, hệ điều hành sẽ tự khởi
động cửa số netedit Tiến hành chỉnh sửa các thuộc tính đang có sẵn của bản đồ đã
được vẽ băng JOSM như nút giao, tuyến đường và tín hiệu đèn giao thông Dùng
netedit để chỉnh sửa sẽ tiết kiệm thời gian hơn so với việc quay lại chỉnh sửa bằng
JOSM Sau khi đã chỉnh sửa xong lưu lai PVDStreet.net.xml mới, kết hợp các filecần thiết và chạy mô phỏng SUMO
16
Trang 263.3 Mô phỏng phương tiện và thay đổi số lượng phương tiện bằng SUMO
3.3.1 Giới thiệu sơ lược nền tang Veins
Veins là viết tắt của Vehicles in Network Simulation, là một framework mãnguồn mở dùng dé mô phỏng mạng lưới giao thông Được biểu thị đưới dang một
bộ mô hình mô phỏng mạng lưới xe cộ Các mô hình này được thực thi trên hai bộ
mô phỏng được hỗ trợ bởi Veins đó là bộ mô phỏng mạng giao thông (OMNeT++)
và bộ mô phỏng giao thông đường bộ có tên là SUMO Ngoài ra những thành phầnkhác của Veins sẽ hỗ trợ cho việc giám sát và chạy mô phỏng Nền tang Veins được
sử dung chủ yếu dé mô phỏng mạng VANET và Hệ thống giao thông thông minh
(ITS) [8, 9, 10] Ngày nay với nhiều cải tiến trong công nghệ không dây và quanhiều phiên bản thì Veins được sử dụng rộng rãi trong học thuật lẫn công nghiệp
toàn cầu [8, 9, 10] Với nhiều nghiên cứu đã được ra đời dựa trên nền tảng Veins
bao gồm: điều khiến truy cậy kênh, ứng dụng trong an toàn, xây dựng quyền riêng
tư và nền tảng, trao đôi thông tin giữa tín hiệu đèn giao thông, vận hành xe điệncũng như tối ưu hóa lưu lượng giao thông [8, 9, 10] Với sự ra đời của ngành côngnghiệp xe điện và sự phát triển của tự động hóa mà Veins được sử dụng ngày càngphô biến Do có thé kết hợp việc mô phỏng lái xe trong thực tế và có các frameworkcho mô phỏng xe điện Nền tảng Veins hỗ trợ rất nhiều mô phỏng khác nhau từ 3Dđến 2D, mạng giao thông, VANET hay mô phỏng mật độ giao thông Các môphỏng trong Veins đã được tối ưu thành một công cụ và phần lớn đã được xây dựnghoàn chỉnh Trong tương lai các nhà phát triển muốn phát triển rằng nền tảng sẽ đưa
ra được gợi ý mô hình nào sẽ phù hợp với loại mô phỏng hay công việc nào Vì đây
là một framework mã nguồn mở nên bat cứ ai cũng có thể truy cập được dù 6 bat cứlĩnh vực nào Không có bất cứ mô hình nào được phát triển trên Veins được giữ bí
mật, nó đều được công khai trên trang chủ của Veins dưới dạng tài liệu hoặc bài báo
khoa học.
17
Trang 27Traffic Safety Traffic Efficiency
ITS Application
Data Dissemination
Physical Layer Road Traffic
| Channel Trips and Routes
— Discrete Events Road Network
Hình 3.9: Kiên trúc của nên tang Veins
Simulation Control Result Data Collection
Hình 3.9 là kiến tric nền tang Veins được đề ra bởi nhà phát triển của nền tang
này Ngoài việc mô phỏng riêng lẻ từng bộ mô phỏng là OMNeT++ và SUMO cho
những bài toán và công việc vụ thể khác nhau, thì Veins cũng hỗ trợ cho việc mô
phỏng song song hai bộ mô phỏng này Việc mô phỏng song song sẽ thông qua giao
thức TCP socket của hệ điều hành, Và giao thức này cũng đã được chuẩn hóa choGiao diện điều khiển giao thông (TraC]) [8, 9, 10] Điều này cho phép người dùng
vừa mô phỏng mạng lưới giao thông, giao tiếp không dây, vừa mô phỏng mật độ
giao thông cũng như tuyến đường Các phương tiện trong bộ mô phỏng SUMO sẽđược ánh xạ thành các node giao tiếp trong bộ mô phỏng OMNeT++
3.3.2 Giới thiệu sơ lược bộ mô phỏng SUMO
Bộ mô phỏng SUMO viết tắt của Simulation of Urban Mobility, là một bộ mô
phỏng giao thông đa phương thức mã nguồn mở và là nền tảng mô phỏng lưu lượng
giao thông rời rạc theo thời gian SUMO được ra đời vào năm 2001 và được mở mã
nguồn vào năm 2002, SUMO ra đời với mục đích là hỗ trợ cộng đồng mô phỏnggiao thông một công cụ miễn phí và có thể chạy các thuật toán trên đó Nó cho phép
mô phỏng các nhu cầu giao thông cần thiết bao gồm phương tiện đơn lẻ di chuyển
18
Trang 28trên các tuyến đường [8, 10, 11] Mô phỏng SUMO nhằm giải quyết các bài toán
liên quan đến điều khiến lưu lượng giao thông ở tuyến đường đặc biệt là các nút
giao, đồng thời điều khién tín hiệu đèn giao thông dé điều khién lưu lượng Mỗi một
phương tiện đều có được mô hình hóa như thực tế như chúng có những thông tin cơ
bản về ID phương tiện, tốc độ tối đa, màu sắc, lộ trình di chuyên, v.v [8, 10, II].
Người dùng có thê viết kịch bản khác nhau nhằm cho những mục đích riêng biệt Vì
nền tảng Veins hỗ trợ cho việc can thiệp bằng kịch bản viết bằng ngôn ngữ lập trình
như C++ hay Python nên SUMO cũng có thé chạy theo kịch bản của người dùngviết ra Với phiên bản hiện tại của SUMO thì đã hỗ trợ rất nhiều trong việc thêmmột mạng lưới đường vào SUMO và đọc được dưới nhiều định dạng khác nhau [8,
10, 11] Cũng như SUMO đã có nhiều thư viện hỗ trợ cho việc nhập xuất dữ liệu từ
mô phỏng và kê cả những thuật toán định tuyến phô biến
Trên hình 3.10 là một nút giao ngã tư được mô phỏng có phương tiện di
chuyên và tín hiệu giao thông của bộ mô phỏng SUMO Số lượng làn đường có thê
được điêu chỉnh dựa vào file đầu vào của mạng lưới tuyên đường.
19
Trang 293.3.3 Các bước thực hiện mô phỏng trên SUMO
Thay đổi thuộc tính các thẻ
sac, ID cua route, v.v.
Trong the flow khai bao IDcua route đó va sô lượngphuong tién di chuyén
Hình 3.11: Các bước để tạo phương tiện và mô phỏng SUMO
Trên hình 3.11 là các bước thực hiện một mô phỏng bang bộ mô phỏngSUMO Dé chạy mô phỏng SUMO bắt buộc phải khởi tạo file PVDStreet.sumo.cfg,
đây sẽ là file chứa thông tin của một mô phỏng bao gồm các file đầu vào sẽ khaibáo trong thé input, dữ liệu đầu ra dưới dạng file xml sẽ được khai báo trong thẻ
20
Trang 30output Ngoài ra còn có thông tin thời gian bắt đầu — kết thúc của mô phỏng, bước
nhảy thời gian của mô phỏng sẽ được khai báo trong thẻ time Ta cũng có thê khai
báo những thẻ mà SUMO hỗ trợ để có được thông tin và mô phỏng mong muốn
Hình 3.12 là một số thẻ co bản có trong PVDStreet.sumo.cfg Dé tìm hiểu thêmnhiều thẻ hỗ trợ khác của bộ mô phỏng SUMO có thể truy cập đường link sau:
Hinh 3.12: Cac thé trong <tén file>.sumo.cfg
Trong phạm vi dé tài nghiên cứu chi cần khai báo các file đầu vào bao gồmPVDStreet.rou.xml, PVDStreet.net.xml để có thể thực thi được môt mô phỏng.PVDStreet.net.xml chứa thông tin của các tuyến đường bao gồm ID của các tuyếnđường, liên kết giữa các tuyến đường, tín hiệu đèn giao thông, v.v Trong khi đóPVDStreet.rou.xml sẽ giữ thông tin của các phương tiện di chuyên bao gồm các loại
phương tiện, đoạn đường mà phương tiện di chuyển, v.v
21
Trang 31Dé có thé thay đổi thông tin phương tiện cũng như số lượng phương tiện di
chuyên trên các tuyến đường thì theo nghiên cứu của nhóm, cần thay đổi các thuộc
tính của các thẻ trong PVDStreet.rou.xml Ở bước đầu nghiên cứu một tuyến đường
sẽ có ba thẻ chứa thông tin bao gồm thẻ route, trong thẻ route có chứa thuộc tínhedge sẽ khai báo tuyến đường phương tiện di chuyên cũng như ID cua route Tiếpđến là thẻ vehicle có chứa thông tin của phương tiện như ID, loại phương tiện, màu
sắc, ID tuyến đường di chuyên Cuối cùng là thẻ flow chứa các thông tin như trêntrên và có thêm thuộc tính number để khai báo số lượng Hình 3.13 là một ví dụ cho
các thẻ được khai báo trong PVDStreet.rou.xml.
<route id="trip-@" color="Red" edges="-106474#@ -106474#1 -106474#2 -106474#3 -106474#4 -106474#5 -106474#6
<vehicle id="vehicle-@" type="passenger" color="Red" depart="0.0" route="trip-0"/>
‘flow id="flow@" type="passenger" vclass="passenger" route="trip-@" begin="@.@0" period="3" number="50"/>
<route id="trip-20" color="Red" edges="-106474#0 -106474#1 -106474#2 -106474#3 -106474#4 -106474#5 -106474#6
<vehicle id="vehicle-20" type="passenger" color="Red" depart="@.0" route="trip-20"/>
‘flow id="flow2@" type="passenger" vclass="passenger" route="trip-20" begin="@.0@" period="3" number="50"/> :
Hinh 3.13: Cac thé trong <tén file>.rou.xml
Có hai cách dé thay đôi số lượng phương tiện trên một tuyến đường Dau tiên
có thé thay đồi thuộc tinh number trong thẻ flow thì bộ mô phỏng SUMO sẽ tự tạo
ra đủ số lượng phương tiện khai báo dù thời gian chạy mô phỏng đã hết hay chưa.Cách thứ hai ta có thê khai báo mỗi một phương tiện là một thẻ thì khi này thuộctính number sẽ là 0 theo mặc định của SUMO sẽ la | phương tiện Nếu dùng cáchnày thì nhóm đã tiễn hành viết một kịch ban dé có thé tự động tạo ra nhiều phương
tiện cùng lúc.
Cuối cùng khi đã có đầy đủ thông tin của các file cần thiết sẽ khai báo các file
đó vào thẻ input trong PVDStreet.sumo.cfg và một số cài đặt mặc định dé chạy môphỏng Để chạy mô phỏng trong bộ mô phỏng SUMO sẽ cần thực thi lệnh “sumo-
gui PVDStreet.sumo.cfg” trên terminal thì khi này hệ điều hành sẽ tự khởi động
mô phỏng và chạy đến khi hết thời gian đã cài đặt
22
Trang 32I file Ede settings Locate Simula tion Windows Help 9%
FO |_| reve: MII | tyres: Peg.) seat atic $F) Jo
SOME W stn 40 a
al
42207] B60) px 0 2839.02, y-440.60 ÍaE10 26506, ona06 mai
Hình 3.14: Cửa số mô phỏng SUMO
Trên hình 3.14 là cửa số thực thi mô phỏng SUMO với tuyến đường được laythông tin PVDStreetnetxml và các phương tiện di chuyển lấy từPVDStreet.rou.xml Khi mô phỏng chạy xong thì có thé lựa chọn giữ nguyên cửa số
mô phỏng hoặc có thể cài đặt mặc định khi hết thời gian mô phỏng thì cửa số mô
phỏng sẽ tự động tắt bằng cách thêm thẻ <quit-on-end value="true"/>
3.4 Trích xuất dữ liệu đầu ra từ mô phóng SUMO
3.4.1 Dinh dạng FCDOutput
Sau khi hoàn thành một mô phỏng trong bộ mô phỏng SUMO thì SUMO cũng
hỗ trợ cho việc trích xuất những dữ liệu có được từ mô phỏng SUMO hỗ trợ haidang dir liệu đầu ra đều được định dạng bang file xml Đó là dang FCDOutput va
dang netstate (hay netstate dump) Cả hai đều có những mục đích khác nhau tùy
thuộc vào những dữ liệu mà người dùng muốn trích xuất Đầu tiên với định dang dữliệu FCDOutput dùng để trích xuất chủ yếu là vị trí của phương tiện và tốc độ dichuyên của phương tiện ở từng mốc thời gian khác nhau
23
Trang 33Type Description
The time step described by the values within this timestep-element
The id of the vehicle
e absolute X coordinate of the vehicle (center of front bumper) The value depends on tl iven geographic pr
m or latitude The absolute Y coordinate of the vehicle (center of front bumper) The value depends on the given geographic projection
Z The z value of the vehicle (center of front bumper).
Note: This value ly present if the network contains elevation data
The running position of the vehicle me: ed from the start of the current lane.
jon)
(blinkers, etc) Only present when option fcd-output.signals is set.
Hình 3.15: Dữ liệu định dang FCDOutput
Trong hình 3.15 là một số dữ liệu mà mô phỏng SUMO sẽ trả về sau khi thựcthi xong đưới dang file xml Tùy thuộc vào những dit liệu mà người dùng muốn sửdụng mà có thê dùng định đạng phù hợp
Dé tham khảo thêm về định dạng FCDOutput có thể truy cập đường link này:
https://sumo.dlr.de/docs/Simulation/Output/FCDOutput.html.
<fcd-export>
<timestep time:
<vehicle " x="6972.41" y="736.45" angle="269.63" type="passenger" speed="16.67" pos="5.10" lane="-167131_6" slope="0.00"/>
<vehicle “ x="6972.43" y="733.25" angle="269.63" type="passenger" speed="16.67" pos="5.10" lane="-167131_1" slope="@.00"/>
<vehicle 92” x="2449.08" y="1146.64" angle="179.78" type="passenger" speed="16.67" pos="5.10" lane="-167149#0_@" slope="0.00"/>
<vehicle 11" x="1213.35" y="1158.97" angle="179.79" type="passenger" speed="16.67" pos="5.10" lane="-167138#0_0" slope="0.00"/>
<vehicle id="117" x="412.56" y="1149.1@" angle="179.20" type="passenger" speed="16.67" pos="5.10" lane="-167153#0_@" slope="0.00"/>
</timestep>
<timestep time="1.00">
<vehicle i x="7.27" y="665.33" angle="90.13" type="passenger" speed="16.67" pos="5.10" lane="-167193#0_8" slope="0.00"/>
<vehicle i 28" yz angle="90.13" type="passenger" speed="16.67" pos="5.10" lane="-167193#0_1" slope="0.00"/>
<vehicle i 79" yz angle="89.96" type="passenger" speed="16.67" pos="5.10" lane="-16714@_1" slope="0.00"/>
<vehicle i 79" y= angle="89.96" type="passenger" speed="16.67" pos="5.10" lane="-16714@_2" slope="@.00"/>
<vehicle i "6.79" y="692.30" angle="89.96" type="passenger" speed="16.67" pos="5.10" lane="-167148_3” slope="0.00"/>
<vehicle i 5880.17" y="1137.02" angle="178.62" type="passenger" speed="16.67" pos="5.10" lane="-167179#8_@" slope="0.00"/>
<vehicle i "5374.58" y="1331.44" angle="179.53" type="passenger” speed="16.67" pos="5.10" lane="-168748#0_@" slope="0.00"/>
<vehicle id="95" x="4164.37" y="1214.33" angle="179.54" type="passenger" speed="16.67" pos="5.10" lane="-167190#@_@" slope="0.00"/>
</timestep>
</fcd-export>
Hình 3.16: File xml của định dang FCDOutput
Hình 3.16 là kết quả ví dụ sau khi chạy mô phỏng SUMO va dir liệu đượctrích xuất ra lưu dưới dạng FCDOutput Có hai cách để trích dit liệu dangFCDOuput, có thể dùng lệnh hoặc cải đặt mặc định trong PVDStreet.sumo.cfg Đầu
tiên, sau khi đã thực thi xong một mô phỏng SUMO nhóm tiến hành chạy lệnh
“sumo -c PVDStreet.sumocfg fcd-output SimulationResult.xml” trên terminal
24
Trang 34của thư mục hiện hành Hệ điều hành sẽ lập tức trả về một file xml đặt tên giống với
lệnh đã chạy Cách thứ hai là cài đặt mặc định trong PVDStreet.sumo.cfg, bằng
cách thêm thẻ <output> <fcd-output value="SimulationResult.xml"/> </output>.
Khi chương trình mô phỏng SUMO đã thực thi xong sẽ tự động trả về trong thư
mục hiện hành một file xml tương tự như khi chạy lệnh trên terminal.
3.4.2 Định dạng Netstate (Netstate dump)
Tương tự như FCDOutput, netstate cũng là một định dạng dé trích xuất đữ liệuđầu ra của mô phỏng SUMO Nhưng thông tin của định dạng netstate sẽ thiên vềtrích xuất tuyến đường mà phương tiện di chuyên nhưng không có những thông cuthé về vị trí của phương tiện như FCDOutput Netstate sẽ hỗ trợ người dùng tríchxuất thông tin về tuyến đường di chuyên của phương tiện ở từng mốc thời gian
trong mô phỏng.
Name Type Description
The time step described by the values within this timestep-element
The he are en of th
The position of the vehicle at the lane within the described time step (distance of the front bumper from the start of the lane)
number of containers in the vehicle (not in
string description of the current (only for persons and containers)
Hình 3.17: Dữ liệu định dang netstate
Trên hình 3.17 là một số dữ liệu được trả về trong file xml, ngoài ra còn cómột số thẻ chứa dit liệu khác như lane, edge là thông tin tuyến đường di chuyển của
phương tiện ở các mộc thời gian.
Để tham khảo thêm về định dạng netstate có thể truy cập đường link này:
https://sumo.dlr.de/docs/Simulation/Output/RawDump.html.
25
Trang 35Hinh 3.18: File xml dinh dang netstate
Hình 3.18 là ví du về kết qua trả về trong file xml của định dang netstate saukhi thực thi xong mô phỏng Tương tự như FCDOutput có hai cách dé trích xuất dữ
liệu netstate Đầu tiên, sau khi thực thi xong mô phỏng sẽ chạy lệnh “sumo -c
PVDStreet.sumocfg netstate-dump SimulationResult.xml” trên terminal thì hệ
diéu hanh sé lập tức tra về một file xml Cách thứ hai là cài đặt mặc định trong
PVDStreet.sumo.cfg bằng cách thêm thẻ "<output> <netstate-dumpvalue="SimulationResult.xml"/> </output>" Sau khi mô phỏng kết thúc sẽ tự động
trả về file xml giống với chạy lệnh trên terminal
3.4.3 Chuyển từ xml sang csv (xml2csv)
Sau khi trích xuất đữ liệu đưới hai dạng FCDOutput và netstate thì dữ liệu sẽ
được lưu trong file xml nên sẽ khó để thực hiện thao tác tính toán Nên bộ mô
phỏng SUMO cũng hỗ trợ dé chuyền từ file xml sang file csv Sau khi thực thi xong
mô phỏng mà trả về file xml, trong thư mục hiện hành chạy lệnh “python
~/src/sumo/tools/xml/xml2csv.py SimulationResult.xml” trên terminal Khi đó hệ
điều hành sẽ trả về lập tức một file csv có tên giống với file xml và những thuộctính hay thẻ có trong file xml sẽ tự động chuyền thành các cột trong bảng tính file
CSV.
26
Trang 36Dé tham khảo tham về cách chuyên file xml sang csv có thể truy cập đường link:
https://sumo.dlr.de/docs/Tools/Xml.html.
3.5 M6 phỏng mật độ giao thông tại một nút giao ngã tư
Trước tiên để có thê mô phỏng được mật độ giao thông trên một đoạn đường
cụ thé, cần mô phỏng được mật độ giao thông tại một nút giao ngã tư bat kì trên
đoạn đường đó Việc mô phỏng tại một nút giao nhằm đơn giản hóa trong quá trình
nghiên cứu và sau đó vẫn tiếp tục mô phỏng trên cả đoạn đường Việc mô phỏngmật độ giao thông tại một ngã tư trải qua một số giai đoạn chính sau dựa trên
nghiên cứu của nhóm:
— _ Viết một kịch bản tự động tạo ra 86 lượng xe trên các tuyến đường đã khai báo
một cách ngẫu nhiên va các thông tin trên được ghi vào PVDStreet.rou.xml.
Tiếp đến chạy mô phỏng bằng SUMO Khi kết thúc mô phỏng thì SUMO sẽtrả về file SimulationResult.xml theo định dạng FCDOutput hoặc Netstate như
đã khai báo trong PVDStreet.sumo.cfg.
— Trong SimulationResult.xml có chứa thông tin của từng phương tiện di chuyển
trên các tuyến đường như: ID, tốc độ di chuyền, mốc thời gian phương tiện
xuất hiện trong mô phỏng, v.v Sau đó đề dễ dàng cho việc tính toán tốc độtrung bình thì SUMO cũng cung cấp một thư viện giúp chuyền từ xml2csv
— _ Cuối cùng là viết một kịch bản tính toán tốc độ trung bình của tất cả phương
tiện có trong mô phỏng dựa vào file csv đã chuyển đổi và ghi vào Result.csv
dé lưu lại Cứ như thế chạy mô phỏng nhiều lần và kết quả của nhiều lần mô
phỏng được lưu lại trong file Result.csv.
27