1 điểm bởi GN⁺ 2023-11-13 | 1 bình luận | Chia sẻ qua WhatsApp
  • 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

 
GN⁺ 2023-11-13
Ý 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

    • Tôi có một kỷ niệm đẹp từ khoảng năm 16 tuổi. Tôi mua một chuột 3D để cầm và vung lên điều khiển, dán nó bằng băng keo lên chiếc mũ có chữ Marines, rồi lập tức vào CS: Source với tâm thế sẵn sàng nghiền nát tất cả
      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
    • Tôi vẫn còn giữ SpaceOrb369 cho kiểu chơi game này. Cũng có người làm bộ chuyển đổi để dùng được qua USB
      https://en.m.wikipedia.org/wiki/SpaceOrb_360
      https://www.tindie.com/products/vputz/orbotron-9001-version-...
    • Nếu là “cách điều khiển phi thuyền tốt hơn” thì chẳng phải chỉ cần hai cần điều khiển là được sao?
      https://old.reddit.com/r/EliteDangerous/comments/16xi20a/dua...
      https://youtu.be/T2-IHgNYaKA
    • Trong series khoa học viễn tưởng The Expanse, tàu Rocinante được điều khiển một phần bằng 3DConnexion SpaceMouse, thứ thường được dùng trong CAD và mô hình hóa 3D
    • Những joystick 6 bậc tự do như thế này đã tồn tại từ vài chục năm trước: https://3dconnexion.com/nl/spacemouse/
  • 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

    • Tôi tò mò vì sao bạn lại nghĩ vậy
      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
    • Tôi mới lướt từ ảnh xuống dưới, vừa thấy cái bàn là nghĩ ngay: “À, đúng là phòng ký túc xá
    • Điểm đại học != chất lượng :-) nhưng tôi vẫn đồng ý
  • 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 đó

    • Vài năm trước khi Intel và các đối tác còn đưa mô-đun RealSense vào laptop, tôi đã nghĩ chuyện này sắp xảy ra, nhưng giờ có vẻ các công ty liên quan đã chuyển trọng tâm sang thị trường doanh nghiệp và công nghiệp
    • Tiếc là tôi khá bi quan về chuyện này. bảng cảm ứng trên Mac cho thấy ngay cả kiểu nhập liệu có nhận biết ngữ cảnh, phản hồi linh hoạt và tích hợp hoàn toàn cũng khó phá vỡ được luồng làm việc mà người ta có với bàn phím + chuột
      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
    • TrackIR có thể theo dõi đầu bằng các vật phản xạ gắn trên đầu. Nhưng ngay cả khi không gắn gì lên đầu, Tobii eye tracker vẫn có thể theo dõi đầy đủ đầu và mắt một cách hoàn toàn thụ động
      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
    • Tôi dùng webcam Anker PowerConf 300, và với phần mềm AnkerWork trên Mac hoặc Windows thì có thể lên đến 115 độ
  • 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

    • Tôi biết nó sẽ có ảnh hưởng. Hầu hết tài liệu về các dự án tương tự đều dùng camera global shutter vì lý do đó. Chỉ là tôi không chắc mức độ ảnh hưởng lớn đến đâu
      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

  • 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?

    • Phát hiện tap thì hoàn toàn có thể làm được bằng gyro/accelerometer, nhưng để có độ nhạy áp lực đúng nghĩa, tức xử lý được việc lực nhấn thay đổi giữa lúc đang vẽ một nét, thì hầu như không có lựa chọn nào ngoài 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