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

by inkirby
4 August 2013 - 03:53

หลังจากผมได้มีโอกาสลองจับเจ้า Leap Motion Controller (ซึ่งผมขอเรียกสั้นๆ ว่า Leap นะครับ) ไปเมื่อหลายเดือนก่อน และได้เขียน[บทความเอาไว้](http://www.blognone.com/node/42237)ในช่วงที่ทาง [Leap Motion](http://www.leapmotion.com/) ยังให้แค่สั่งจองล่วงหน้านั้น ปัจจุบันก็ได้วางจำหน่ายเต็มรูปแบบแล้ว (ถึงแม้จะโดน[โรคเลื่อน](http://www.blognone.com/node/43805)ไปบ้าง) และผมก็สั่งซื้อมาอยู่ในครอบครองแล้วเช่นกัน จึงนำมาเขียนรีวิวให้ทุกๆ ท่านได้อ่านกันครับ

##Leap คืออะไร

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

![Leap01](http://farm8.staticflickr.com/7422/9430892465_77a73c5f54_z.jpg) #แกะกล่อง - มีอะไรให้บ้าง

![Leap02](http://farm8.staticflickr.com/7446/9433665038_fb4c971de3_z.jpg)

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

![Leap03](http://farm8.staticflickr.com/7341/9430892295_637567272f_z.jpg)

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

![Leap04](http://farm6.staticflickr.com/5453/9433664700_0460a277e7_z.jpg)

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

![Leap05](http://farm8.staticflickr.com/7397/9430891823_aa8ef40d84_z.jpg)

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

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

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

![Leap06](http://farm8.staticflickr.com/7434/9433664314_61bf834ac9_z.jpg)

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

![Leap07](http://farm6.staticflickr.com/5324/9433664358_7100698844_z.jpg)

ซ้ายบนสุดคือ Airspace Store หรือก็คือแหล่งดาวน์โหลดแอพฯ มาใช้กับ Leap นั่นเอง โดยเมื่อคลิกเข้าไปแล้วก็จะเปิดเบราว์เซอร์เพื่อเข้าสู่หน้า [Airspace Store](https://airspace.leapmotion.com) ครับ

![Leap08](http://farm8.staticflickr.com/7448/9430891453_cc09775eb7_z.jpg)

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

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

![Leap10](http://farm4.staticflickr.com/3679/9433663706_cda782e8d6_z.jpg)

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

![Leap11](http://farm8.staticflickr.com/7423/9433663762_231f1b4394_z.jpg)

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

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

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

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

![Leap12](http://farm4.staticflickr.com/3706/9430891015_7e5ae0674a_z.jpg)

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

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

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

![Leap09](http://farm4.staticflickr.com/3773/9430891215_5a349f869c_z.jpg)

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

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

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

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

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

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

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

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

ไม่ยากครับ แค่[ลงทะเบียน](http://developer.leapmotion.com/)แล้วเข้าไปดาวน์โหลด SDK มาใช้ได้เลย แต่ถ้าต้องการจะส่งแอพฯ ที่เขียนเพื่อขึ้นสู่ Airspace ตอนนี้มีอยู่แค่ทางเดียวคือ[ติดต่อกับทาง Leap Motion โดยตรง](https://www.leapmotion.com/developers_contact)ครับ

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

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

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

![Leap13](http://farm8.staticflickr.com/7299/9430890911_5085cf0a79_z.jpg)

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

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

![Leap14](http://farm8.staticflickr.com/7289/9430890691_675529069a_z.jpg)

##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 บาทครับ (ถ้าซื้อครั้งละมากๆ จะได้ราคาต่อชุดถูกลง) สั่งซื้อได้จาก[หน้าเว็บไซต์](https://www.leapmotion.com/developers_contact)ครับ

**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](http://farm4.staticflickr.com/3701/9433663358_44f8d7966c_z.jpg)

Blognone Jobs Premium