Chủ Nhật, 2 tháng 6, 2013

Trải nghiệm bản đồ HERE Maps 3D với cảm biến cử chỉ Leap Motion

Leap_Motion

Nếu cập nhật tin tức thường xuyên thì hẳn các bạn đã biết đến công nghệ cảm biến cử chỉ Leap Motion. Nếu chưa thì nói nôm na Leap Motion là một chiếc hộp có kích thước bằng nửa con chuột máy tính, được đặt trước màn hình và theo dõi các chuyển động 3D của bàn tay. Leap Motion khá giống Xbox Kinect nhưng thay vì "bắt" chuyển động của chân tay thì Leap Motion chỉ tập trung vào các ngón tay. Leap Motion sắp sửa được phát hành vào trung tuần tháng 7 tới nhưng bộ phận phát triển dịch vụ bản đồ trực tuyến HERE (here.com) của Nokia đã may mắn có được phiên bản thử nghiệm của Leap và họ đã tích hợp nó vào bản đồ 3D. Từ đây, người dùng có thể dùng bàn tay điều khiển một chiếc máy bay giấy "bay lượn" tự do trên bản đồ.

Khả năng theo dõi chuyển động 10 ngón tay của Leap Motion đã rất tuyệt vời nhưng nhóm phát triển Leap không dừng lại ở đó khi họ đã cung cấp thêm một thư viện JavaScript cho phép bạn khai thác thiết bị với các ứng dụng nền web. Đây cũng chính là điều mà nhóm phát triển HERE đã làm. Dữ liệu chuyển động của các ngón tay được chuyển tiếp bởi trình điều khiển của Leap đến một WebSocket (một cổng giao tiếp 2 chiều giữa máy chủ và máy khách bằng TCP socket). Trang web và ứng dụng có thể kiểm tra sự tồn tại của WebSocket này và nếu chúng nhận ra socket đang mở trong trạng thái hoạt động, chúng sẽ tiếp nhận các dòng ký hiệu đối tượng JavaScript (JSON - JavaScript Object Notation). Về cơ bản, nếu bạn di chuyển bàn tay phía trên Leap thì ứng dụng sẽ được thông báo rằng đang có một bàn tay di chuyển phía trên, có bao nhiêu ngón tay cử động, vị trí của các ngón tay và hướng chỉ của ngón tay, v.v…

Bạn có thể hiểu rõ hơn trải nghiệm Leap Motion với bản đồ HERE 3D như thế nào qua video dưới đây.


Nếu bạn cũng "may mắn" như họ, sở hữu một chiếc Leap Motion thì bạn có thể trải nghiệm ngay tại địa chỉ here.com/leap.

Theo nhóm phát triển HERE, bản đồ 3D nói trên hoạt động dựa trên chuẩn WebGL và các ứng dụng WebGL chiếm dụng rất nhiều tài nguyên CPU. Đây là một thử thách lớn bởi khi hình ảnh 3D phải chuyển đổi nhanh nhằm đáp ứng với dữ liệu theo dõi cử động tay do Leap cung cấp, CPU phải hoạt động tối đa công suất. Mặc dù vậy, trải nghiệm bản đồ 3 chiều vẫn tốt và mượt mà ở tốc độ khung hình 60 FPS. Thêm nữa, mặc dù có sẵn rất nhiều thư viện nội trú (native library) giúp xử lý các cử chỉ của tay (gesture) nhưng việc dịch cử chỉ sang một ứng dụng nền web không hề đơn giản. Quy trình nhận dạng cử chỉ đòi hỏi máy tính phải tính toán rất nhiều. Cũng theo nhóm phát triển HERE, Leap Motion là một mô hình giao diện tương tác máy tính mới và phải làm sao để trải nghiệm trở nên quen thuộc, dễ dùng nhưng đủ độ chính xác. Ban đầu, họ thiết lập hệ thống cử chỉ để điều khiển máy bay nhưng không hiệu quả. Cuối cùng, họ đã chọn phương pháp điều khiển trực tiếp. Để khai thác những ưu điểm của hệ thống theo dõi bàn tay, nhóm phát triển đã quyết định đơn giản hóa các chuyển động của tay tương ứng với vị trí và góc của chiếc máy bay giấy. Từ đây, chuyển động nghiêng, chúc lên/chuối xuống của bàn tay sẽ điều hướng cho máy bay.