Tiếp nối số trước, bài viết lần này giới thiệu một số tính năng mới của UC-win/Road Ver. 15.0 đang được phát triển.
C++ API
Cho đến hiện tại, plugin liên kết mô phỏng tương tác thời gian thực (Simulation Realtime Linkage) có sẵn dưới dạng giao diện UC-win/Road SDK sử dụng Delphi và TCP. Phiên bản mới ver. 15 sẽ thêm một giao diện riêng để phát triển các plugin cho UC-win/Road sử dụng ngôn ngữ lập trình C++. (Hình 1)
Các tính năng chính của API này như sau:
- Giúp liên kết với các thư viện bên ngoài, các dự án mã nguồn mở được phát triển bằng C++ dễ dàng hơn.
- C++ là ngôn ngữ được sử dụng phổ biến trong phát triển ứng dụng với rất nhiều người dùng và nguồn tài nguyên sẵn có.
- Có thể lập trình C++ trên nhiều môi trường phát triển (IDE) như Microsoft Visual Studio, Code::Blocks, Eclipse.
- Style Delphi SDK cũ đã được thay mới hoàn toàn, cấu hình dễ hiểu hơn. API này có thể được truy cập dưới dạng đối tượng C++. (Hình 2)
Trong ver. 15, chúng tôi chủ yếu phát hành các tính năng liên quan đến trình mô phỏng lái xe được sử dụng bởi rất nhiều người dùng UC-win/Road SDK. Các tính năng như bên dưới sẽ có trong phiên bản này:
- Kiểm soát, thu thập dữ liệu mô phỏng bao gồm cả lái xe và đi bộ
- Thu thập dữ liệu con của mô hình (model instance) tĩnh
- Tùy chỉnh các đối tượng động như xe đang vận hành và các phương tiện khác tham gia giao thông
- Tùy biến kịch bản (script, scenario)
- Thu thập dữ liệu về đường bao gồm làn đường và tuyến đường lái xe
- Thiết lập các điểm quan sát như góc, vị trí của camera
- Gửi/ nhận dữ liệu theo dõi chuyển động mắt được liên kết với plugin theo dõi chuyển động mắt (Eye Tracking)
- Thao tác trên giao diện người dùng như thêm thanh, nút chức năng, nhãn vào ribbon menu
API sẽ bao gồm các plugin mẫu và mã nguồn, người dùng có thể thử thao tác với chúng như sau:
- Lấy dữ liệu hướng tuyến
- Thiết lập để truyền trực tiếp dữ liệu tọa độ, trạng thái/ vị trí cho mô hình xe
- Chỉnh vị trí, góc nhìn camera
- Liên kết với dữ liệu theo dõi chuyển động mắt
Ngoài ra, chúng tôi cũng sẽ cung cấp tài liệu giải thích cách sử dụng API trong từng môi trường phát triển và tổ chức các cuộc hội thảo về UC-win/Road SDK để hỗ trợ người dùng. Chúng tôi sẽ tiếp tục hoàn thiện API sau khi phát hành ver. 15 nhằm hướng tới phát triển API để bao gồm tất cả các tính năng trong UC-win/Road SDK hiện tại, đồng thời trang bị các tính năng nâng cao hơn.
Mô phỏng nD
Chức năng mô phỏng 4D đã cho phép hiển thị, kiểm soát dễ dàng kế hoạch thi công của một dự án xây dựng thông qua thiết lập thuộc tính của các mô hình được liên kết trong môi trường 3D trong một khoảng thời gian đã định, giúp các bên dễ dàng đạt được sự đồng thuận liên quan đến tiến độ dự án. Trong bản cập nhật ver. 15, chúng tôi sẽ thêm các yếu tố tính toán chi phí, khối lượng công việc, giá trị nguyên vật liệu và các yếu tố khác vào mô phỏng 4D. Điều này có nghĩa là bất cứ biến nào ở trên cũng có thể được thêm vào, theo dõi thay đổi theo thời gian và hiển thị trực quan trong màn hình biểu đồ bên dưới biểu đồ Gantt của mô phỏng 4D.
Chế độ xem 3D và trực quan hóa tiến độ thi công, chi phí và lượng vật liệu cần thiết bằng biểu đồ cho phép kiểm tra, lập kế hoạch và đánh giá các điều kiện liên quan đến xây dựng như an toàn, tuyến đường vận chuyển, điều tiết giao thông, quản lý vật liệu, mô phỏng tổng hợp về thời tiết, thời gian, ánh sáng mặt trời, chiếu sáng ban đêm. Các tính năng chính như sau:
- Khai báo dữ liệu biến ở định dạng bảng, nhập/ xuất file CSV
- Tính năng thay đổi, tính toán các đại lượng sử dụng các công thức có thể sử dụng dữ liệu thời gian
- Chức năng hiển thị từng biến trong biểu đồ, tùy chọn tập hợp biến và chỉnh sửa các thuộc tính dòng
- Xuất định dạng CSV dữ liệu lịch sử thời gian trong kết quả tính toán
Hình 5. Chỉnh sửa định nghĩa, thuộc tính của các biến số trong biểu đồ
Trong tương lai, chúng tôi dự kiến thêm các hàm công thức toán học, chẳng hạn như các hàm có thể xử lý tính toán trong không gian. Ví dụ, một tính năng đo lường không gian có thể phát hiện các sự kiện như va chạm giữa các phương tiện thi công và công nhân trong quá trình thi công. Đối với các kỹ sư dân dụng, tính năng này làm cho công nghệ VR trở nên quen thuộc và thú vị hơn. Các tính năng như vậy sẽ được hoàn thiện hơn trong tương lai.
Mở rộng tính năng đưa vào file IFC
Nhằm đẩy mạnh BIM/CIM, phiên bản mới sẽ cập nhật tính năng đưa vào file IFC. Hiện tại, tùy chọn plugin IFC chỉ cho phép nhập dữ liệu địa hình. Với cập nhật này, các mô hình 3D của kết cấu, bố trí cốt thép được tạo ở định dạng file IFC có thể được đưa vào UC-win/Road dưới dạng tài nguyên mô hình. Ngoài ra, các mô hình đã import được tự động xếp vào vị trí trong không gian VR nếu các file IFC có bao gồm dữ liệu tọa độ.
Khái quát về tính năng import file IFC
- Hiển thị hình dạng mô hình 3D của cấu trúc và kết cấu cốt thép tạo ở định dạng file IFC
- Hiển thị cấu trúc dữ liệu IFC dạng cây, hiển thị tên các bộ phận
- Hiển thị/ ẩn từng phần, chỉnh màu sắc, độ trong suốt, vật liệu bề mặt (texture), v.v.
- Cài đặt hiển thị/ ẩn từng bộ phận được lưu thành nhóm và được sử dụng để chuyển đổi hiển thị mô hình.
- Tự động xếp vị trí mô hình trên tọa độ được thiết lập sẵn trong file IFC: có thể chọn cho phép tự động xếp vị trí hoặc không xếp khi đưa file vào.
- Import hàng loạt file IFC: Các file IFC có thể được tìm kiếm và import tự động từ các thư mục đã chọn. Điều này hữu ích khi nhập mô hình IFC từ dữ liệu truyền điện tử vì các file trong thư mục con cũng có thể được tìm kiếm.
Hình 6. Liên kết file IFC, import file
|
|
Hình 7. Import file IFC (hiển thị chi tiết mô hình và không gian 3D) |
Tính năng này cho phép import các mô hình 3D của cấu trúc, kết cấu cốt thép được lưu trữ ở định dạng IFC vào UC-win/Road và sử dụng mô hình IFC cho các loại mô phỏng khác nhau. Ví dụ, người dùng có thể dễ dàng kiểm tra tình trạng thi công bằng cách chuyển đổi giữa chế độ xem của từng phần theo mô phỏng 4D. Vì các file IFC đã nhập được lưu trữ trong dự án, mô hình có thể được thiết lập trở lại mặc định và xuất file IFC cùng với dữ liệu thuộc tính đã nhập.
Chúng tôi dự kiến phát triển các tính năng cho phép kiểm tra, chỉnh sửa dữ liệu thuộc tính về hình dạng và các thông tin thuộc quản lý xây dựng thi công. Với tính năng này, người dùng sẽ có thể chỉnh sửa dữ liệu thuộc tính bao gồm kích thước, cấu trúc hình dạng và đường kính cốt thép trong UC-win/Road và chuyển chúng đến phần mềm thiết kế kết cấu chuyên dụng dưới định dạng tệp IFC để kiểm tra các thay đổi trên hình dạng mô hình 3D dễ dàng. Qua đó, FORUM8 muốn tăng cường sự liên kết giữa các sản phẩm của mình, hướng tới tạo dựng nền tảng BIM/CIM hữu ích.
Cải thiện hiệu suất tạo đồ họa
Phiên bản mới có cải tiến về hiệu suất tạo mô hình 3D của đường và địa hình. Dữ liệu sử dụng cho quá trình kết xuất được tối ưu hóa, giúp cân bằng sử dụng tài nguyên của CPU và GPU, giảm thời gian xử lý, tăng tốc độ kết xuất. Tốc độ khung hình trong không gian đô thị nói chung tăng 30%, trong mô hình đường cao tốc tăng hơn 100%. Cụ thể, tiến trình tính toán vẽ đa giác tại GPU được thực hiện song song, nhưng việc xử lý không thể thực hiện được đối với các đa giác có các thuộc tính vật liệu bề mặt khác nhau. Quá trình xử lý song song bị tạm dừng mỗi khi vật liệu bề mặt được thay đổi, khiến tài nguyên sử dụng (overhead) để chuyển đổi thuộc tính tăng lên. Cho đến nay, một con đường được chia thành nhiều đoạn để mỗi đoạn sử dụng một phần tài nguyên nhỏ khi chuyển đổi thuộc tính. Với sự cải tiến lần này, tài nguyên sử dụng đã được giảm đáng kể bằng cách tối ưu hóa toàn diện con đường trong môi trường 3D. Việc mô hình hóa địa hình cũng đã được tối ưu hóa theo cách tương tự. Ngoài ra, tiến trình xử lý Frustum Culling (giúp loại bỏ và không biểu diễn các đối tượng bên ngoài vùng quan sát (view frustum), có thể được thực hiện nhanh chóng ngay cả trong không gian rộng lớn bằng cách sử dụng một octree (cấu trúc dữ liệu dạng cây) (Hình 8) để cải thiện công đoạn kết xuất của đường và địa hình.
Hình 8. Ví dụ phân tách mô hình bằng octree
Cải thiện vô lăng lái
Trong mô phỏng lái xe, ba yếu tố phản hồi kích thích đến người lái là video, âm thanh và phản hồi xúc giác. Phiên bản này cải thiện chức năng phản hồi lực của vô lăng. Mô hình phản hồi lực tính đến lực bên tạo ra lên lốp xe trong quá trình lái xe, nhằm thể hiện trạng thái chuyển động và các đặc tính của xe. Người dùng có thể thay đổi các thông số trong quá trình nghiên cứu, phát triển HMI, thay đổi phản hồi lực tùy theo tình huống trong kịch bản. Tính năng này có thể được sử dụng với bộ điều khiển dạng tay cầm (game controller) và các thiết bị tương thích với Microsoft DirectInput. Một số thiết bị có thể yêu cầu chỉnh các thông số phù hợp, nên để thuận tiện khi chuyển đổi thiết bị, chúng tôi đã thêm chức năng lưu các cài đặt chung cho từng thiết bị.
|