รีวิว Leap Motion Controller พร้อม Airspace

Leap Motion

หลังจากผมได้มีโอกาสลองจับเจ้า Leap Motion Controller (ซึ่งผมขอเรียกสั้นๆ ว่า Leap นะครับ) ไปเมื่อหลายเดือนก่อน และได้เขียนบทความเอาไว้ในช่วงที่ทาง Leap Motion ยังให้แค่สั่งจองล่วงหน้านั้น ปัจจุบันก็ได้วางจำหน่ายเต็มรูปแบบแล้ว (ถึงแม้จะโดนโรคเลื่อนไปบ้าง) และผมก็สั่งซื้อมาอยู่ในครอบครองแล้วเช่นกัน จึงนำมาเขียนรีวิวให้ทุกๆ ท่านได้อ่านกันครับ

Leap คืออะไร

Leap คืออุปกรณ์ที่ตรวจจับการเคลื่อนไหวของมือ นิ้วมือ และอุปกรณ์ทรงกระบอกเช่น ปากกา ดินสอ พู่กัน หรือกระทั่งตะเกียบ เพื่อนำมาใช้งานควบคุมคอมพิวเตอร์หรือแอพพลิเคชันต่างๆ โดยอาศัยหลักการคล้ายกับ Kinect จาก Microsoft แต่ต่างกันที่ Kinect นั้นจะตรวจจับร่างกายของมนุษย์ได้ทั้งตัว และมีระยะที่ไกล (ระยะราว 1-5 เมตร) ส่วนตัว Leap นั้นจะเป็นอุปกรณ์ที่วางหงายหน้าอยู่บนโต๊ะ มีระยะตรวจจับสั้น (ราว 1-60 เซนติเมตร)

Leap01

แกะกล่อง – มีอะไรให้บ้าง

Leap02

สำหรับในกล่องชุดขายของ Leap จะมีแผ่นกระดาษยินดีต้อนรับ คู่มือรายละเอียดเล่มเล็ก มีสาย USB 3.0 เส้นยาวกับสั้นอย่างละเส้น และตัว Leap เองอีก 1 ตัวครับ

Leap03

วัสดุภายนอกของ Leap เป็นอลูมิเนียม เจาะรูด้านหน้าเป็นช่องสำหรับไฟ LED บอกสถานะ และเจาะรูด้านข้างเป็นช่องเสียบสาย USB 3.0 ครับ (สามารถใช้ USB 2.0 ได้เช่นกัน) ด้านบนเป็นกระจกสีดำสำหรับป้องกันเซ็นเซอร์ภายใน

Leap04

ด้านล่างเป็นยางกันลื่น สำหรับวางบนโต๊ะครับ ทั้งตัวน้ำหนัก 45 กรัม (ไม่ถึงครึ่งขีด) ขนาด 12.7×30.5×76.2 มิลลิเมตร ซึ่งถึอว่าไม่ใหญ่ ผมลองจับมาเทียบกับปากกาให้ดูครับ จะเห็นว่าหนากว่าปากกาธรรมดานิดหน่อย

Leap05

เริ่มต้นใช้งาน

ก่อนอื่น ลอกสติกเกอร์ที่แปะบนตัว Leap ออกแล้วตาม url นั้นไปเพื่อ ดาวน์โหลดชุดติดตั้งมาลงใส่เครื่องเราก่อนครับ โดยระบบปฏิบัติการที่รองรับจะมี Windows และ OS X (ดูวิดีโอประกอบได้ด้านล่างครับ)

หลังจากที่ติดตั้งเสร็จแล้ว ตัวติดตั้งจะเปิดซอฟต์แวร์ที่ชื่อ Orientation ขึ้นมา เพื่อให้เราได้ลองใช้ Leap แบบเบื้องต้นก่อนครับ

Leap06

จากนั้น Airspace จะถูกเปิดตามขึ้นมา ซึ่ง Airspace ก็คือจุดรวมของแอพพลิเคชันที่สามารถใช้กับ Leap ได้ในเครื่องเรา

Leap07

ซ้ายบนสุดคือ Airspace Store หรือก็คือแหล่งดาวน์โหลดแอพฯ มาใช้กับ Leap นั่นเอง โดยเมื่อคลิกเข้าไปแล้วก็จะเปิดเบราว์เซอร์เพื่อเข้าสู่หน้า Airspace Store ครับ

Leap08

การดาวน์โหลดทำได้ไม่ยาก แต่ต้องมีบัญชีผู้ใช้ก่อนครับ (สามารถสมัครได้ที่แถบซ้ายมือ) เมื่อมีบัญชีผู้ใช้และลงชื่อเข้าใช้เรียบร้อยแล้วก็สามารถเลือกดาวน์โหลดได้ ทั้งแบบฟรีและเสียเงินครับ ซึ่งแต่ละแอพฯ นั้นจะมีสัญลักษณ์บอกว่ารองรับระบบปฏิบัติการไหน และหลังจากที่กดดาวน์โหลดแล้ว ไม่นานในหน้า Airspace ของเราก็จะมีแอพฯ นั้นโผล่ขึ้นมาเองครับ

การตั้งค่า – ความยืดหยุ่นของ Leap

Leap10

ในหมวดทั่วไป (general) เราสามารถตั้งค่าเปิดปิดการทำงานบนเว็บไซต์, แอพฯ ในพื้นหลัง, แบบประหยัดพลังงาน หรือแม้กระทั้งตั้งระดับความสูงของการใช้งานปกติได้ครับ

Leap11

ในหมวดการตรวจจับ (tracking) เราสามารถตั้งค่า Leap เพื่อเลือกความแม่นยำของเซ็นเซอร์ได้ 3 ระดับครับ

  • สมดุล (balanced) เป็นค่าเริ่มต้นที่ตั้งมาให้ความแม่นยำและความเร็วสมดุลกัน
  • แม่นยำ (precision) เน้นความแม่นยำในการตรวจจับมือ ความเร็วจะลดลงแต่สามารถช่วยลดอาการ “มือสั่น” ได้
  • รวดเร็ว (high speed) เน้นความเร็ว ความเร็วในการตรวจจับสูง

แต่ถ้าหาก Leap ตรวจพบแสงมาก จะเข้าสู่โหมดการทำงานที่เรียกว่า robust ซึ่งเราจะเลือกความแม่นยำเองไม่ได้ครับ

นอกจากนี้ก็จะมีตัวเลือกเรื่องทิศทางการใช้งานและการกรองสิ่งรบกวน (เช่นหน้าผู้ใช้) ออกจากการตรวจจับ

Leap12

ส่วนในหมวดการแก้ปัญหาเบื้องต้น (troubleshooting) ถ้าหากมีปัญหาการใช้งาน ให้ลองแวะมาดูในส่วนนี้ครับ มีทั้งการตั้งค่าเซ็นเซอร์, โหมดประหยัดทรัพยากร (สำหรับเครื่องที่มีสเปกไม่สูงมาก) และแสดงค่าต่างๆ ที่อ่านได้จาก Leap ครับ รวมทั้งมีระบบช่วยแก้ปัญหาให้ด้วย

ข้อจำกัดการใช้งาน – แสงและท่าทางบางอย่าง

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

Leap09

จากภาพ จะเห็นว่านิ้วสองนิ้วอยู่ใกล้กันเกินไปจน Leap เห็นเป็นนิ้วเดียวครับ

สำหรับนักพัฒนา – มี 5 ภาษา “หลัก” ให้เลือก

ภาษาที่สามารถพัฒนาแอพฯ ให้ใช้งาน Leap ได้นั้น โดยหลักๆ แล้วมี 5 ภาษา ได้แก่ C++, C# (และ Unity), Java, JavaScript และ Python ซึ่ง 5 ภาษานี้ทาง Leap Motion จะมีเอกสารให้ อ่านพร้อมมีตัวอย่างโค้ดให้ลองเล่น ส่วนภาษาอื่นๆ ที่สามารถพัฒนาได้เช่น Objective-C หรือ ActionScript นั้น อาจจะต้องลุยเองโดยศึกษาจากไลบราลีที่มีคนทำไว้ครับ

API ที่เข้าใจง่าย

สำหรับนักพัฒนาที่สนใจ ผมขออธิบายข้อมูลที่เราสามารถดึงมาใช้จาก API แบบย่อๆ ไว้ตรงนี้ครับ

  • ข้อมูลตำแหน่งต่างๆ ใน API จะมีหน่วยเป็นมิลลิเมตร
  • เฟรม (frame) คือข้อมูลทุกอย่างที่ Leap อ่านได้ 1 ครั้ง ซึ่งจะอัพเดตตลอดเวลา
  • แต่ละเฟรมจะมีข้อมูลของมือ ตัวชี้ และท่าทาง
  • มือ (hand) ซึ่งจะเก็บตำแหน่ง มุม ความเร็ว และ “ตัวชี้” ที่อยู่ที่มือนั้นๆ
  • ตัวชี้ (pointer) แบ่งเป็นสองประเภทคือ นิ้วมือ (finger) และอุปกรณ์ (tool) ทั้งสองประเภทต่างกันแค่ความกว้างของตัวชี้ โดยทั้งสองชนิดจะเก็บตำแหน่ง มุม ความเร็ว ขนาดทั้งความกว้างและความยาว และมือที่เป็นเจ้าของตัวชี้นั้นๆ
  • ท่าทาง (gesture) มี 3 แบบ คือวงกลม การปัด และการแตะ
  • วงกลม (circle) จะเก็บค่าจุดศูนย์กลาง ทิศทาง ความเร็ว และจำนวนรอบ
  • การปัด (swipe) จะเก็บค่าจุดเริ่มต้น จุดปัจจุบัน ทิศทาง และความเร็วการปัด
  • การแตะ (screenTap, keyTap) จะเก็บค่าตำแหน่งและทิศทางที่แตะ

ข้อมูลทั้งหมดนี้สามารถเรียกได้โดยตรงจากไฟล์ที่อยู่ในชุด SDK ของภาษาที่สนใจครับ รายละเอียดตรงจุดอื่นๆ อ่านได้จากเอกสารจากหน้าเว็บไซต์ครับ

อยากเป็นนักพัฒนา?

ไม่ยากครับ แค่ลงทะเบียนแล้วเข้าไปดาวน์โหลด SDK มาใช้ได้เลย แต่ถ้าต้องการจะส่งแอพฯ ที่เขียนเพื่อขึ้นสู่ Airspace ตอนนี้มีอยู่แค่ทางเดียวคือติดต่อกับทาง Leap Motion โดยตรงครับ

สรุป – แอพฯ ยังน้อย เป็นอุปกรณ์เสริมที่ดีแต่ไม่ใช่ทดแทน อนาคตขึ้นอยู่กับนักพัฒนา

หลังจากที่ Leap Motion เปิดตัว Airspace อย่างเป็นทางการเมื่อวันที่ 22 กรกฎาคมที่ผ่านมา จำนวนแอพฯ​ใน Airspace Store ก็เพิ่มขึ้นอย่างช้าๆ อาจเป็นเพราะนี่ยังเป็นแค่จุดเริ่มต้นของ Leap และกลุ่มนักพัฒนาโพกัสการพัฒนามาที่ Leap ยังไม่มากพอ แต่ในอนาคตหาก Leap เข้าถึงผู้ใช้มากขึ้น ผมเชื่อว่าอัตราการเพิ่มขึ้นของแอพฯ จะเพิ่มสูงขึ้นกว่านี้

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

Leap13

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

ส่วนฝั่งนักพัฒนานั้น ผมคิดว่าเป็นผู้ชี้อนาคตของอุปกรณ์ได้เลยครับ เนื่องจาก Leap เป็นอุปกรณ์ที่เพิ่งเข้าสู่ตลาด และสามารถพัฒนาต่อให้เกิดความ “ว้าว” ได้ง่าย ช่วงนึ้จึงเป็นช่วงนาทีทองของกลุ่มนักพัฒนาที่ต้องการขายประสบการณ์ให้กับ ลูกค้าครับ ยิ่งพัฒนาได้เร็วเท่าไหร่ ยิ่งขายได้ง่ายเท่านั้น ไม่ว่าจะขายเป็นชุดซอฟต์แวร์ร่วมกับฮาร์ดแวร์ หรือขายซอฟต์แวร์ที่เป็นแอพฯ​อย่างเดียวบน Airspace

Leap14

Q&A:

Q: ใช้กับ Linux ได้หรือไม่?

A: ทาง Leap Motion นั้นมี SDK สำหรับ Linux ให้ที่โซนของนักพัฒนาครับ ถึงแม้เลขเวอร์ชันจะตามหลัง 2 ระบบปฏิบัติการหลักอยู่นิดหน่อยและยังไม่มี Airspace บน Linux ก็ตามครับ

Q: ซื้อมาใช้วาดรูปดีหรือไม่?

A: บน Airspace Store มีแอพฯ จำพวกวาดรูปอยู่บ้าง เช่น Deco Sketch หรือ Painter Freestyle อยู่ครับ ถ้ากลัวใช้นิ้วไม่ถนัด ถือปากกาวาดได้ครับ แต่ถ้าถามผม ส่วนตัวผมว่าอาจจะเมื่อยหน่อย

Q: เกมเยอะหรือไม่?

A: ตอนนี้มีเกมอยู่ยังไม่เยอะครับ ที่ชื่อดังๆ หน่อยก็เช่น Cut the Rope หรือ Fruit Ninja เป็นต้น

Q: ใช้แทนจอสัมผัสไหวหรือไม่?

A: มีแอพฯ ที่ชื่อ Touchless อยู่ ผมว่าใช้ได้ดีเลยครับ ซึ่งก็เช่นกันคืออาจจะเมื่อยหน่อย แต่ถ้าใช้สำหรับเป็นคอมพิวเตอร์ตั้งโชว์หรือเป็น media center ร่วมกับจอหรือทีวีใหญ่ๆ ก็น่าสนใจไม่น้อยเลยครับ

Q: ถ้าสั่งซื้อจะใช้เวลาส่งนานหรือไม่ ราคาเท่าไหร่?

A: ชุดที่ผมสั่งส่งมาถึง 5 วันหลังสั่งซื้อ ราคารวมค่าจัดส่งอยู่ที่ประมาณ 3,000 บาทครับ (ถ้าซื้อครั้งละมากๆ จะได้ราคาต่อชุดถูกลง) สั่งซื้อได้จากหน้าเว็บไซต์ครับ

Q: สเปกเครื่องขั้นต่ำ?

A: ตามนี้ครับ – Windows 7 หรือ 8, หรือ OS X 10.7 ขึ้นไป – AMD Phenom II หรือ Intel Core ขึ้นไป – RAM 2 GB (แต่เครื่องผมเองเป็น Core 2 Duo บน OS X 10.8 และ Windows 8 ก็ใช้ได้ไม่มีปัญหาครับ)

Q: ต่อหลายๆ ตัวพร้อมกันได้หรือไม่?

A: ไม่ได้ครับ ผมทดลองต่อ 2 ตัวพร้อมกันแล้วมีตัวเดียวที่ใช้ได้ครับ

Leap15

ที่มา Blognone