Ra mắt trên HN: D-POINT - bút stylus số mã nguồn mở hỗ trợ 6 bậc tự do
(github.com/Jcparkyn)- D-POINT là bút stylus số mã nguồn mở sử dụng theo dõi bằng camera và đo quán tính để cung cấp đầu vào 6DoF, độ trễ thấp, cảm nhận áp lực và độ chính xác dưới milimét
- Có thể dùng trên bất kỳ bề mặt phẳng nào và hoạt động cùng webcam phổ thông
- Phần thân gồm hai bộ phận in 3D, là phần cứng tích hợp cảm biến lực, pin Li-ion sạc qua USB-C và bo mạch phát triển dựa trên Arduino cho logic và Bluetooth
- Quy trình ước tính tư thế bằng thị giác: phát hiện 8 marker ArUco được in và gắn ở phía sau bút stylus bằng OpenCV, sau đó qua hiệu chỉnh rolling shutter, ước tính tư thế PnP và chuyển đổi tọa độ để tính tư thế theo hệ quy chiếu camera, cũng như vị trí và hướng của ngòi bút theo hệ quy chiếu bề mặt vẽ
- Hợp nhất quán tính kết hợp dữ liệu gia tốc kế và con quay hồi chuyển với giá trị ước tính VPE bằng Extended Kalman Filter, đồng thời dùng thuật toán Rauch-Tung-Striebel để hiệu chỉnh các giá trị ước tính theo thời gian thực
- Để xử lý độ trễ thời gian của khung hình camera, hệ thống dùng thuật toán cập nhật đo lường thời gian âm; phần triển khai EKF sử dụng NumPy và Numba
- Đo quán tính là cấu hình nhằm giảm đáng kể độ trễ so với cách triển khai chỉ dùng camera, đồng thời cải thiện độ chính xác và tần suất báo cáo khi chuyển động nhanh
- Được tạo ra như một phần của dự án luận văn đại học ngành kỹ thuật điện; mã nguồn và tệp thiết kế đã được công khai, nhưng không nhằm làm một dự án DIY “plug and play”
1 bình luận
Ý kiến trên Hacker News
Rất tuyệt. Ai đó đã biến thứ tôi chỉ từng tưởng tượng thành hiện thực và làm cho nó hoạt động
Khi chơi Elite: Dangerous, tôi dùng HOTAS và bàn đạp, nhưng vẫn luôn nghĩ liệu có cách nào điều khiển phi thuyền tốt hơn không
Vì phi thuyền không chỉ cần xử lý pitch, yaw, roll mà còn cả lực đẩy theo 6 hướng
Tôi từng muốn có một thiết bị mà khi di chuyển mô hình phi thuyền cầm trên tay thì con tàu trong Elite cũng di chuyển y hệt như vậy, và dự án được liên kết có vẻ làm đúng điều đó. Có lẽ lực đẩy có thể được điều khiển tương tự bằng tay còn lại
Những phương thức nhập liệu lạ và mới như thế này thực sự đáng kinh ngạc, và khi có được kiểu khả năng đó thì trí tưởng tượng cũng được mở rộng rất nhiều
Thực lực thật sự có lẽ cũng chỉ ngang ngang vậy thôi, nhưng nếu bị ăn hành hoàn toàn thì chắc còn buồn cười hơn
Lý thuyết là đầu chính xác hơn tay rất nhiều, nên kết hợp cả hai sẽ giúp ngắm bắn tốt hơn. Nghe có vẻ như phải nhìn sang bên trái trong khi liếc màn hình bằng khóe mắt, nhưng trên thực tế hệ thống hai con chuột lại khá khả thi. Tôi từng muốn làm lại theo kiểu hiện đại, nhưng trông sẽ như một siêu lập dị gắn thanh kỳ quặc lên đầu. Mà tôi vẫn thích kiểu đó
Ý tưởng của bạn cũng rất hay, nên làm thử đi
https://en.m.wikipedia.org/wiki/SpaceOrb_360
https://www.tindie.com/products/vputz/orbotron-9001-version-...
https://old.reddit.com/r/EliteDangerous/comments/16xi20a/dua...
https://youtu.be/T2-IHgNYaKA
Là đồ án tốt nghiệp bậc cử nhân cơ mà! Nếu cái này không được điểm cao nhất thì trên đời chẳng còn công lý nữa
Hồi tôi học đại học, công trình khoa học mới là thứ được nhấn mạnh. Vì vậy tính mới hay khả năng ứng dụng không quan trọng với điểm số bằng việc nội dung đó được trình bày một cách khoa học trên văn bản tốt đến đâu. Tôi chưa đọc phần viết của dự án này nên khó đánh giá dưới góc độ chấm điểm
Quá hay. Thấy họ dùng webcam làm tôi tự hỏi liệu sẽ có một tương lai mà loại webcam phổ biến hiện nay với góc nhìn đơn khoảng 78 độ sẽ được thay bằng webcam mắt cá stereo hay không
Với kiểu webcam đó, có thể sẽ xuất hiện các trải nghiệm người dùng mới như cử chỉ kết hợp theo dõi mắt, tương tác với thiết bị ngoại vi như kiểu bút stylus này hay vô lăng cho game đua xe, và cả hội họp webcam 3D 180 độ linh hoạt hơn nhiều bao gồm cả cảm giác hiện diện VR
Tôi có cảm giác chúng ta đang tiến tới thời kỳ dùng toàn bộ không gian 3D trước màn hình máy tính như một phương thức nhập liệu, và việc tác giả tận dụng webcam trong bài gốc trông như một bước nhỏ theo hướng đó
Ngay cả bây giờ vẫn có người còn ngần ngại với chính khái niệm chuột kiểu mới
Kết hợp thêm điều khiển cử chỉ tay/ngón tay và các thiết bị ngoại vi như stylus hay chuột có vẻ là bước tiếp theo hiển nhiên, nhưng dường như họ hay bất kỳ ai khác cũng chưa làm vậy
Hay đấy. Tôi đặc biệt thích phần lai ghép
Đây là vài suy nghĩ khi khám phá “bàn phím laptop… tư thế tay, bút stylus 3D, cảm ứng”. Nếu thêm nút thì nó thành chuột 3D, nhưng vùng phủ của camera có thể sẽ là vấn đề đau đầu. Bản thân thiết bị phần lớn là rỗng, và pin cũng có thể làm mỏng hơn nữa. Tôi vẫn có thể gõ ở mức nào đó ngay cả khi cầm một cây stylus mảnh như đũa hoặc bàn chải đánh răng. Với bút đánh dấu và đầu bút to bất thường cũng làm được
Một đầu bút lớn cắt từ quả châu Giáng sinh bóng bàn trượt khá mượt trên bàn phím ThinkPad, đồng thời tạo thêm không gian để đặt cảm biến lực cỡ bớt nhỏ và thêm các dấu mốc ở đầu bút. Cáp ruy-băng silicon nhiều sợi mảnh có thể mềm dẻo như dây buộc, nên lúc bắt đầu tôi đã buộc stylus vào Arduino để dùng
Tôi tự hỏi cảm biến quán tính sẽ diễn giải thế nào nếu dùng thứ gì đó như nút bấm clicker kim loại lõm làm một nút hoặc ba nút
Hiệu chỉnh rolling shutter khá ấn tượng, không phải kiểu giải pháp mà tôi nghĩ mình có thể tự nảy ra. Tôi tò mò không biết bạn đã biết đây sẽ là vấn đề ngay từ đầu hay chỉ nhận ra sau khi hoàn thiện phần còn lại của hệ thống
Thông thường nó nhỏ đến mức hầu như không đáng chú ý, nhưng trong một số tình huống nhất định thì lộ ra rất rõ. Ví dụ như khi giữ ngòi bút cố định tại một điểm rồi xoay cây bút
Điều làm tôi ngạc nhiên nhất là cách giải quyết của tôi mô phỏng thực tế khá thô, vậy mà lại hiệu quả đến thế. Có nhiều kỹ thuật xử lý tinh vi hơn rất nhiều, nhưng cuối cùng lại không cần đến
Một thứ tôi từng muốn thử là PnP nhận biết rolling shutter[1]. Về mặt lý thuyết, có thể tận dụng biến dạng rolling shutter để ước lượng đồng thời tư thế và vận tốc chỉ từ một ảnh
[1] https://www-sop.inria.fr/members/Philippe.Martinet/publis/20...
Tôi thích mọi thứ liên quan đến 6 bậc tự do, và tuy phần cứng cùng ước lượng tư thế bằng computer vision đều làm rất tốt, thứ gây ấn tượng hơn với tôi lại là bề mặt phần mềm có thể vừa vẽ vừa xoay được
Sẽ rất thú vị nếu áp dụng nó cho bất kỳ điều khiển giao diện người dùng vật lý nào, như một thanh trượt điều khiển bằng ngón tay tạo ra cùng hiệu ứng. Đây là một dự án rất tốt thể hiện khả năng giải quyết vấn đề, và có vẻ như bạn đã làm nó đến nơi đến chốn
Nhân tiện, bộ điều khiển 6 bậc tự do đầu tiên tôi dùng, nếu không tính bộ điều khiển WiiMote[1] được độ lại với đầu thu Bluetooth IR, là Logitech MX Air[2] đi trước thời đại
[1] https://web.cs.ucdavis.edu/~okreylos/ResDev/Wiimote/MainPage...
[2] https://www.cnet.com/reviews/logitech-mx-air-review/
Một dự án rất hay, tài liệu cũng hữu ích, và là ví dụ thực tế tốt về việc dùng bộ lọc Kalman
Thật sự rất tuyệt, đúng chính xác thứ tôi từng mong có
Từ khi công ty chuyển sang làm việc hoàn toàn từ xa, tôi luôn nhớ các buổi whiteboard. Cách tốt nhất tôi nghĩ ra là mở một ứng dụng web whiteboard dùng chung trên cả chiếc iPad cũ và trình duyệt desktop, rồi chia sẻ màn hình từ desktop và vẽ trên iPad bằng một cây stylus rẻ tiền
Cách đó khá ổn, nhưng iPad của tôi quá cũ nên chậm. Tôi cũng ngại thay cái mới. Nếu chỉ cần webcam thường và một cây stylus công nghệ tương đối đơn giản thì sẽ tốt hơn nhiều, và còn có thể loại bỏ hoàn toàn nhu cầu dùng thiết bị ngoài
[1] https://wacomstore.ca/product/one-by-wacom-small/
Quá tuyệt. Tôi thích điểm nó không khiến người dùng bị khóa vào một thương hiệu cụ thể, giống như khi mua bàn phím cơ
Rất hay
Có vẻ cũng hữu ích cho robotics hoặc VR. Liệu có thể theo dõi bàn tay chỉ với một camera không?
Câu hỏi: có thể theo dõi cả áp lực bằng gyro + accelerometer không? Ít nhất là kiểu “tap”?
Thêm một câu hỏi nữa: chi phí khoảng bao nhiêu, đặc biệt là cảm biến áp lực?
Về mặt lý thuyết, có thể làm được với ước lượng tư thế đủ chính xác và một ngòi bút đàn hồi, nhưng ở mức độ chính xác mà tôi đạt được thì không thực tế
Tôi mua cảm biến áp lực với giá khoảng 20 đô Úc, nhưng ở Mỹ có thể kiếm rẻ hơn nhiều, khoảng 5 đô (https://www.arrow.com/en/products/hsfpar003a/alps-electric). Tuy nhiên đây là linh kiện khá đặc thù nên không có nhiều nơi bán. PCB tùy chỉnh tốn thêm 10 đô Úc, còn Arduino khoảng 20 đô. Danh sách đầy đủ linh kiện có tại https://github.com/Jcparkyn/dpoint/blob/main/setup-guide.md