1 คะแนน โดย GN⁺ 2023-11-13 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • D-POINT คือสไตลัสดิจิทัลโอเพนซอร์สที่ใช้การติดตามด้วยกล้องและการวัดแรงเฉื่อย เพื่อมอบอินพุตแบบ 6DoF, latency ต่ำ, การตรวจจับแรงกด และความแม่นยำระดับต่ำกว่ามิลลิเมตร
  • ใช้งานได้บนพื้นผิวเรียบแทบทุกที่ และทำงานร่วมกับเว็บแคมสำหรับผู้บริโภคทั่วไป
  • ตัวเครื่องประกอบด้วยชิ้นส่วนพิมพ์ 3D สองชิ้น ภายในมีเซ็นเซอร์วัดแรง แบตเตอรี่ Li-ion ที่ชาร์จผ่าน USB-C และบอร์ดพัฒนาแบบ Arduino สำหรับลอจิกและ Bluetooth
  • กระบวนการประเมินท่าทางด้วยภาพใช้ OpenCV ตรวจจับ ArUco marker ที่พิมพ์ไว้ 8 จุดซึ่งติดอยู่ด้านหลังของสไตลัส จากนั้นทำ rolling shutter correction, PnP pose estimation และการแปลงพิกัด เพื่อคำนวณท่าทางอ้างอิงกับกล้อง รวมถึงตำแหน่งและทิศทางของปลายปากกาอ้างอิงกับพื้นผิววาดภาพ
  • การหลอมรวมข้อมูลแรงเฉื่อยมีโครงสร้างที่รวมข้อมูลจาก accelerometer และ gyroscope เข้ากับค่าประมาณ VPE ด้วย Extended Kalman Filter และใช้ Rauch-Tung-Striebel algorithm เพื่อปรับแก้ค่าประมาณแบบเรียลไทม์
  • ใช้อัลกอริทึมอัปเดตการวัดแบบเวลาเป็นลบเพื่อจัดการกับความหน่วงเวลาของเฟรมจากกล้อง และการติดตั้ง EKF ใช้ NumPy กับ Numba
  • การวัดแรงเฉื่อยเป็นองค์ประกอบที่ช่วยลด latency ได้มากเมื่อเทียบกับการใช้งานที่ใช้เฉพาะกล้อง และช่วยปรับปรุงความแม่นยำกับอัตราการรายงานเมื่อมีการเคลื่อนไหวรวดเร็ว
  • สร้างขึ้นเป็นส่วนหนึ่งของโปรเจกต์วิทยานิพนธ์ระดับปริญญาตรีด้านวิศวกรรมไฟฟ้า โดยโค้ดและไฟล์ออกแบบเปิดเผยสาธารณะแล้ว แต่ไม่ได้ตั้งใจให้เป็นโปรเจกต์ DIY แบบ “plug and play”

1 ความคิดเห็น

 
GN⁺ 2023-11-13
ความคิดเห็นบน Hacker News
  • เจ๋งมาก สิ่งที่ผมเคยได้แต่จินตนาการไว้ เขาเอามาทำจริงให้ใช้งานได้แล้ว
    ตอนเล่น Elite: Dangerous ผมใช้ HOTAS กับแป้นเหยียบ และเอาแต่คิดอยู่เรื่อย ๆ ว่าน่าจะมีวิธีควบคุมยานอวกาศให้ดีกว่านี้ไหม เพราะยานอวกาศต้องจัดการไม่ใช่แค่ pitch, yaw, roll แต่รวมถึงแรงขับใน 6 ทิศทางด้วย
    ผมอยากได้อุปกรณ์ที่พอขยับโมเดลยานอวกาศในมือ ยานใน Elite ก็ขยับเหมือนกันเป๊ะ ๆ และโปรเจกต์ที่ลิงก์ไว้ดูเหมือนจะทำแบบนั้นได้พอดี ส่วนแรงขับน่าจะควบคุมคล้าย ๆ กันด้วยมืออีกข้างได้
    วิธีป้อนข้อมูล แบบใหม่ที่ไม่คุ้นเคยแบบนี้น่าทึ่งจริง ๆ และเมื่อมีความสามารถแบบนี้ จินตนาการก็ขยายออกไปได้มาก

    • ผมมีความทรงจำดี ๆ อย่างหนึ่งตอนอายุราว 16 ปี ผมซื้อ เมาส์ 3D แบบถือไว้ในมือแล้วเขย่าเพื่อควบคุม เอาเทปไปติดกับหมวกที่เขียนว่า Marines จากนั้นก็เข้า CS: Source ทันที พร้อมจะถล่มทุกคน
      ฝีมือจริงคงพอ ๆ เดิม แต่ถ้าโดนยำเละคงตลกกว่านี้
      ทฤษฎีคือหัวน่าจะแม่นยำกว่ามือมาก ถ้าเอาสองอย่างมารวมกันก็น่าจะเล็งได้ดีขึ้น ฟังดูเหมือนต้องมองไปทางซ้ายแล้วใช้หางตามองจอ แต่จริง ๆ แล้ว ระบบเมาส์สองตัว พอใช้ได้ทีเดียว ผมอยากลองทำใหม่แบบสมัยใหม่ แต่จะดูเป็นเนิร์ดสุด ๆ ที่เอาแท่งประหลาดมาติดหัว ถึงอย่างนั้นผมก็ชอบสไตล์แบบนั้นนะ
      ไอเดียของคุณก็เจ๋งมากเหมือนกัน น่าลองทำดู
    • ผมยังมี SpaceOrb369 สำหรับเกมแนวนี้อยู่เลย มีคนทำตัวแปลงให้ใช้ผ่าน USB ได้ด้วย
      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
    • ในซีรีส์ไซไฟ The Expanse ยาน Rocinante ถูกควบคุมบางส่วนด้วย 3DConnexion SpaceMouse ซึ่งใช้กันทั่วไปใน CAD และการทำโมเดล 3D
    • จอยสติ๊ก 6 องศาอิสระ แบบนี้มีมาตั้งแต่หลายสิบปีก่อนแล้ว: https://3dconnexion.com/nl/spacemouse/
  • นี่เป็นโปรเจกต์วิทยานิพนธ์จบปริญญาตรีเหรอ! ถ้าไม่ได้คะแนนสูงสุดจากงานนี้ โลกนี้คงไม่มีความยุติธรรมแล้ว

    • อยากรู้ว่าทำไมถึงคิดแบบนั้น
      ตอนผมเรียนปริญญาตรี เขาเน้น งานเชิงวิทยาศาสตร์ ดังนั้นความใหม่หรือความนำไปใช้ได้จริงจึงไม่สำคัญต่อคะแนน สิ่งสำคัญคือถ่ายทอดเนื้อหานั้นออกมาเป็นงานเขียนเชิงวิทยาศาสตร์ได้ดีแค่ไหน ผมยังไม่ได้อ่านบทความของโปรเจกต์นี้ เลยตัดสินในแง่คะแนนได้ยาก
    • ผมเลื่อนดูจากรูปลงมา พอเห็นโต๊ะก็คิดทันทีว่า “อ้อ นี่มัน ห้องหอพัก นี่นา”
    • เกรดมหาวิทยาลัย != คุณภาพ :-) แต่ก็เห็นด้วย
  • เจ๋งมาก เห็นว่าใช้เว็บแคมแล้ว ทำให้สงสัยว่าในอนาคตเว็บแคมทั่วไปในปัจจุบันที่มีมุมมองเดี่ยวราว 78 องศา จะถูกแทนที่ด้วย เว็บแคมฟิชอายสเตอริโอ หรือไม่
    เว็บแคมแบบนั้นอาจทำให้เกิดประสบการณ์ผู้ใช้ใหม่ ๆ เช่นเจสเจอร์ร่วมกับการติดตามดวงตา การโต้ตอบกับอุปกรณ์ต่อพ่วงอย่างสไตลัสนี้หรือพวงมาลัยสำหรับเกมแข่งรถ และการประชุมผ่านเว็บแคม 3D 180 องศาที่มีความยืดหยุ่นมากขึ้น รวมถึงความรู้สึกมีตัวตนแบบ VR
    รู้สึกเหมือนยุคที่ใช้ พื้นที่ 3D ทั้งหมดหน้าจอคอมพิวเตอร์เป็นวิธีป้อนข้อมูลกำลังมาถึง และการใช้เว็บแคมของบทความต้นทางก็ดูเหมือนเป็นก้าวเล็ก ๆ ไปในทิศทางนั้น

    • เมื่อไม่กี่ปีก่อน ตอนที่ Intel และพันธมิตรใส่ โมดูล RealSense ในแล็ปท็อป ผมคิดว่าสิ่งนี้ใกล้จะมาแล้ว แต่ตอนนี้ดูเหมือนบริษัทที่เกี่ยวข้องจะย้ายจุดสนใจไปยังตลาดองค์กรและอุตสาหกรรมมากกว่า
    • เรื่องแบบนี้น่าเสียดายที่ผมมองในแง่ลบ Touch Bar ของ Mac แสดงให้เห็นว่า แม้แต่อินพุตที่รับรู้บริบท ตอบสนองได้ และผสานรวมเต็มรูปแบบ ก็ยังยากที่จะทำลายโฟลว์ที่ได้จากคีย์บอร์ด+เมาส์
      ทุกวันนี้ยังมีคนลังเลกับสิ่งที่เรียกว่าเมาส์รุ่นใหม่อยู่เลย
    • TrackIR สามารถทำ การติดตามศีรษะ ด้วยตัวสะท้อนแสงที่ติดไว้บนหัว แต่แม้ไม่ต้องติดอะไรบนหัว Tobii eye tracker ก็สามารถติดตามศีรษะและดวงตาแบบพาสซีฟได้ทั้งหมด
      การเพิ่มการควบคุมด้วยเจสเจอร์มือ/นิ้ว และอุปกรณ์ต่อพ่วงอย่างสไตลัสหรือเมาส์ ดูเหมือนเป็นขั้นต่อไปที่ชัดเจน แต่ดูเหมือนทั้งพวกเขาและใครอื่นก็ไม่ได้ทำแบบนั้น
    • ผมใช้เว็บแคม Anker PowerConf 300 และบน Mac หรือ Windows สามารถปรับได้ถึง 115 องศาด้วยซอฟต์แวร์ AnkerWork
  • ดี โดยเฉพาะส่วน การหลอมรวม
    นี่คือความคิดที่ผุดขึ้นมาตอนสำรวจ “คีย์บอร์ดแล็ปท็อป… ท่ามือ, สไตลัส 3D, การแตะ” ถ้าเพิ่มปุ่มเข้าไปก็จะกลายเป็นเมาส์ 3D แต่พื้นที่ครอบคลุมของกล้องอาจเป็นปัญหา ตัวอุปกรณ์ส่วนใหญ่ข้างในว่าง และแบตเตอรี่ก็ทำให้บางลงได้อีก ผมยังพอพิมพ์ได้ระดับหนึ่งแม้ถือสไตลัสเรียว ๆ แบบตะเกียบ/แปรงสีฟันอยู่ แม้จะมีมาร์กเกอร์และปลายที่ใหญ่ผิดปกติก็ยังทำได้
    ปลายขนาดใหญ่ที่ตัดมาจากลูกปิงปองประดับคริสต์มาสลื่นไถลบนคีย์บอร์ด ThinkPad ได้ค่อนข้างราบรื่น และยังให้พื้นที่สำหรับใส่เซ็นเซอร์แรงที่ไม่เล็กมากกับมาร์กเกอร์ปลายเพิ่มเติมด้วย สายแพริบบอนซิลิโคนแบบสายฝอยบาง ๆ ยืดหยุ่นได้เหมือนเชือก ตอนเริ่มต้นผมเลยผูกสไตลัสกับ Arduino ใช้ไปก่อน
    ผมสงสัยว่าถ้าใช้ของอย่าง ตัวคลิก โลหะทรงเว้าเป็นปุ่มหนึ่งปุ่มหรือสามปุ่ม เซ็นเซอร์แรงเฉื่อยจะตีความอย่างไร

  • การแก้ไข rolling shutter ค่อนข้างเจ๋ง และไม่น่าใช่สิ่งที่ผมจะนึกออกเอง สงสัยว่าเขารู้อยู่ตั้งแต่แรกไหมว่ามันจะเป็นปัญหา หรือเพิ่งสังเกตเห็นหลังจากสร้างระบบส่วนที่เหลือเสร็จแล้ว

    • รู้อยู่แล้วว่ามันน่าจะมีผล เพราะงานวิจัยส่วนใหญ่ของโปรเจกต์ลักษณะคล้ายกันจึงใช้ กล้อง global shutter กัน แต่ก็ยังไม่แน่ใจว่าผลจะใหญ่แค่ไหน
      โดยปกติมันเล็กมากจนแทบไม่สังเกตเห็น แต่ในบางสถานการณ์มันเด่นชัดจริง ๆ เช่น ตอนหมุนปากกาโดยที่ปลายปากกาอยู่กับที่
      สิ่งที่น่าประหลาดใจที่สุดคือวิธีแก้ของผมเป็นเพียงการประมาณความจริงแบบค่อนข้างหยาบ แต่กลับได้ผลดีมาก มีเทคนิคการประมวลผลที่ซับซ้อนกว่านี้มากมาย แต่สุดท้ายก็ไม่จำเป็น
      สิ่งหนึ่งที่อยากลองคือ PnP ที่รับรู้ rolling shutter[1] ในทางทฤษฎีสามารถใช้ความบิดเบี้ยวจาก rolling shutter เพื่อประเมินทั้งท่าทางและความเร็วจากภาพเดียวได้พร้อมกัน
      [1] https://www-sop.inria.fr/members/Philippe.Martinet/publis/20...
  • ผมชอบทุกอย่างที่เกี่ยวกับ 6DoF อยู่แล้ว และแม้ฮาร์ดแวร์กับการประมาณท่าทางด้วย computer vision จะทำได้ดี แต่สิ่งที่น่าประทับใจกว่ากลับเป็นพื้นผิวซอฟต์แวร์ที่วาดได้และหมุนได้
    น่าสนใจว่ามันอาจใช้กับคอนโทรลอินเทอร์เฟซผู้ใช้แบบกายภาพบางอย่าง เช่น สไลเดอร์นิ้ว ที่ให้เอฟเฟกต์เดียวกันได้ เป็นโปรเจกต์ที่แสดงความสามารถในการแก้ปัญหาได้ดี และดูเหมือนจะทำออกมาได้ถูกทาง
    อ้างอิงนิดหนึ่ง คอนโทรลเลอร์ 6DoF ตัวแรกที่ผมใช้ ถ้าไม่นับคอนโทรลเลอร์ WiiMote[1] ที่ดัดแปลงเป็นตัวรับ Bluetooth สำหรับ IR LED ก็คือ Logitech MX Air[2] ที่มาก่อนยุคของมัน
    [1] https://web.cs.ucdavis.edu/~okreylos/ResDev/Wiimote/MainPage...
    [2] https://www.cnet.com/reviews/logitech-mx-air-review/

  • เป็นโปรเจกต์ที่เจ๋งมาก เอกสารก็มีประโยชน์ และเป็นตัวอย่างใช้งานจริงที่ดีของการใช้ Kalman filter

  • เจ๋งจริง ๆ และตรงกับสิ่งที่ผมใฝ่ฝันไว้พอดี
    หลังจากบริษัทเปลี่ยนไปทำงานทางไกลเต็มรูปแบบ ผมก็ยังคิดถึง เซสชันไวท์บอร์ด อยู่เสมอ วิธีที่ดีที่สุดที่ผมนึกออกคือเปิดเว็บแอปไวท์บอร์ดร่วมกันทั้งบน iPad เก่า ๆ กับเบราว์เซอร์เดสก์ท็อป จากนั้นแชร์หน้าจอจากเดสก์ท็อป แล้วใช้สไตลัสราคาถูกวาดบน iPad
    มันก็ใช้ได้ค่อนข้างดี แต่ iPad ของผมเก่าเกินไปจนช้า และการเปลี่ยนเครื่องก็เป็นภาระ ถ้าใช้เว็บแคมทั่วไปกับสไตลัสที่เทคโนโลยีค่อนข้างต่ำได้ก็น่าจะดีกว่ามาก และอาจไม่ต้องพึ่งอุปกรณ์ภายนอกเลยด้วยซ้ำ

    • แท็บเล็ต Wacom[1] รุ่นถูกสุดราคา 67 ดอลลาร์แคนาดา ยี่ห้ออื่นยังมีที่ถูกกว่านี้อีก
      [1] https://wacomstore.ca/product/one-by-wacom-small/
  • ยอดเยี่ยม ชอบที่ไม่ต้องผูกติดกับแบรนด์ใดแบรนด์หนึ่ง เหมือนการซื้อ คีย์บอร์ดแมคคานิคอล

  • เจ๋งมาก
    น่าจะมีประโยชน์กับ หุ่นยนต์ หรือ VR ด้วย กล้องตัวเดียวจะใช้ติดตามมือได้ด้วยไหมนะ?
    คำถาม: ใช้ไจโร+มาตรความเร่งติดตามแรงกดได้ไหม? อย่างน้อยก็ระดับ “แตะ” ได้หรือเปล่า?
    อีกคำถาม: ต้นทุนเท่าไร โดยเฉพาะ เซ็นเซอร์แรงกด

    • การตรวจจับการแตะทำได้เพียงพอด้วยไจโร/มาตรความเร่ง แต่ถ้าต้องการ ความไวต่อแรงกด ที่จริงจัง คือรองรับแรงกดที่เปลี่ยนไประหว่างการลากเส้น ก็แทบไม่มีทางเลือกอื่นนอกจากเซ็นเซอร์แรงกด
      ในทางทฤษฎี ถ้ามีการประมาณท่าทางที่แม่นพอและปลายปากกาที่ยืดหยุ่นก็อาจทำได้ แต่ด้วยระดับความแม่นยำที่ผมได้มา มันยังไม่สมจริง
      เซ็นเซอร์แรงกดผมซื้อมาในราคาประมาณ 20 ดอลลาร์ออสเตรเลีย แต่ในสหรัฐฯ หาได้ถูกกว่ามาก ประมาณ 5 ดอลลาร์(https://www.arrow.com/en/products/hsfpar003a/alps-electric) อย่างไรก็ตามมันเป็นชิ้นส่วนที่ค่อนข้างเฉพาะทาง จึงมีร้านที่ขายไม่มาก PCB แบบสั่งทำเพิ่มอีก 10 ดอลลาร์ออสเตรเลีย และ Arduino ประมาณ 20 ดอลลาร์ รายการชิ้นส่วนทั้งหมดอยู่ที่ https://github.com/Jcparkyn/dpoint/blob/main/setup-guide.md