3
本文作者: 劉芳平 | 2016-09-18 16:37 | 專(zhuān)題:雷峰網(wǎng)公開(kāi)課 |
手勢(shì)交互正成為VR交互領(lǐng)域的熱門(mén)方向,國(guó)外有著名的Leap Motion、uSens,國(guó)內(nèi)也有微動(dòng)、HandCV等團(tuán)隊(duì)。直接用手在虛擬世界中操作似乎是件很自然的事情,然而真實(shí)體驗(yàn)時(shí)你卻會(huì)發(fā)現(xiàn)明明看到手抓住一個(gè)東西,感覺(jué)卻是抓了一堆空氣。
正是這個(gè)原因,讓你在手勢(shì)交互的同時(shí)感受到虛擬世界,成為一個(gè)努力的方向。這一塊最著名的創(chuàng)業(yè)公司之一便是Dexta Robotics。Dexta Robotics是一家致力于發(fā)明下一代VR/MR交互設(shè)備的公司。他們的主要產(chǎn)品Dexmo是一副可穿戴手部外骨骼,可以幫助用戶(hù)在虛擬現(xiàn)實(shí)的交互中感覺(jué)到虛擬物體的體積,形狀,硬度以及力的反饋。
本期硬創(chuàng)公開(kāi)課,我們請(qǐng)到了Dexta的創(chuàng)始人兼CEO谷逍馳(Aler Gu)。谷逍馳是狂熱的機(jī)器人愛(ài)好者,曾在劍橋大學(xué)修讀機(jī)械控制工程專(zhuān)業(yè),本碩連讀,后中途休學(xué)。
Dexta Robotics創(chuàng)始人兼CEO谷逍馳
下面是本次公開(kāi)課的整理內(nèi)容:
雷鋒網(wǎng):Dexmo這款產(chǎn)品從2013年就開(kāi)始開(kāi)發(fā)了,當(dāng)初是如何想到要開(kāi)發(fā)這樣一款產(chǎn)品的?為什么做了這么長(zhǎng)時(shí)間,期間需要攻克的難點(diǎn)主要是?
谷逍馳:早期Dexmo的主要功能只是檢測(cè)手部動(dòng)作。當(dāng)時(shí)主要設(shè)想的幾個(gè)使用場(chǎng)景有虛擬現(xiàn)實(shí),和我們的老本行,靈巧機(jī)械手的控制進(jìn)行遠(yuǎn)程機(jī)器人排爆,為“telepresence”提供沉浸感和更精準(zhǔn)的控制。后來(lái)隨著2014年虛擬現(xiàn)實(shí)的興起,我注意到越來(lái)越多的人把精力放在頭戴式顯示器上。于是我們把眼光放長(zhǎng)遠(yuǎn):在2年后什么樣的技術(shù)會(huì)被市場(chǎng)所需要?
(雷鋒網(wǎng)注:“telepresence”,網(wǎng)真,是一種通過(guò)結(jié)合高清晰度視頻、音頻和交互式組件,在網(wǎng)絡(luò)上創(chuàng)建一種獨(dú)特的"面對(duì)面"體驗(yàn)的新型技術(shù)。)
結(jié)論是交互。在采訪了很多圈內(nèi)的朋友之后,我們了解到將觸覺(jué)帶入虛擬現(xiàn)實(shí)是一個(gè)巨大的需求,但是因?yàn)閷?shí)現(xiàn)困難,卻顯有人真正解決它。市場(chǎng)上已有的方案大多已經(jīng)過(guò)時(shí),顯然跟不上這一波虛擬現(xiàn)實(shí)的潮流。也是因?yàn)榧夹g(shù)從業(yè)者特有的那種自信,我們相信以自己的團(tuán)隊(duì)能力能夠啃下這塊硬骨頭。而后我們就在已有的動(dòng)作檢測(cè)設(shè)備的基礎(chǔ)上上嘗試加裝不同的力反饋方案。2年后,事實(shí)證明我們也做到了。
Dexmo最早期的產(chǎn)品概念設(shè)計(jì)圖
難點(diǎn):
整個(gè)設(shè)備的設(shè)計(jì)過(guò)程中難點(diǎn)很多很多,因?yàn)闆](méi)有一塊是現(xiàn)成的。不論是硬件還是軟件,很多時(shí)候都需要從頭造輪子,因?yàn)槭忻嫔夏苷业降妮喿佣疾粔蚝?。比如拇指?dòng)作檢測(cè)模塊的結(jié)構(gòu)設(shè)計(jì),設(shè)備和上位機(jī)件的雙向通訊速率的優(yōu)化,力反饋模塊的緊湊設(shè)計(jì),軟件端手部抓取的交互邏輯等等。
稍微詳細(xì)些說(shuō),硬件方面的最大挑戰(zhàn)是:把整個(gè)力反饋單元在保證功能性的前提下做的非常緊湊。首先,外殼,齒輪,電機(jī)驅(qū)動(dòng)電路,嵌入式程序都是從0做起的。尺寸,重量,成本,扭矩,外形都需要平衡。這里面Cost function(成本與功能)的優(yōu)化涉及到太多的方面,讓取舍變得相對(duì)更困難。還有一部分困難不是技術(shù)上的。硬件公司都體驗(yàn)過(guò),在小批量生產(chǎn)的時(shí)候,因?yàn)橛唵瘟康木窒扌詮S家很難全力協(xié)助你。這點(diǎn)我非常感謝東莞?jìng)?chuàng)模型的陳偉杰先生的鼎力相助。他們?cè)贒exmo力反饋舵機(jī)的設(shè)計(jì)打樣中給我們了很多無(wú)私的幫助。
軟件上的難點(diǎn)主要是:在沒(méi)有合適的硬件的前提下很多東西是無(wú)法debug的。在沒(méi)有硬件進(jìn)行測(cè)試的時(shí)候,很多問(wèn)題根本不會(huì)顯現(xiàn)出來(lái),這也間接拉長(zhǎng)了戰(zhàn)線(xiàn)。軟件工程師的很多工作是取決于硬件設(shè)備的穩(wěn)定程度的,這甚至可以說(shuō)是一個(gè)管理統(tǒng)籌上的問(wèn)題。比如我們的3d物品交互引擎,將一個(gè)物體從左手傳遞到右手,這個(gè)看起來(lái)很簡(jiǎn)單的動(dòng)作,其實(shí)設(shè)計(jì)到手部多點(diǎn)碰撞和對(duì)齊。一旦有物理效果參與其中,其交互復(fù)雜程度也直線(xiàn)上升。但是在硬件設(shè)備穩(wěn)定工作之前,我們的軟件工程師無(wú)法參與調(diào)試,所以即使知道這塊是難點(diǎn),也只能先放著,堆進(jìn)技術(shù)pipeline里。
雷鋒網(wǎng):Dexmo是如何做到讓用戶(hù)感受虛擬世界的?
谷逍馳:簡(jiǎn)單的描述下運(yùn)作機(jī)理:Dexmo本身有2套系統(tǒng),動(dòng)作檢測(cè),和力反饋系統(tǒng)。難點(diǎn)是如何協(xié)調(diào)起這2部分,讓他們可以無(wú)縫的工作。動(dòng)作檢測(cè)系統(tǒng)檢測(cè)人體的11個(gè)自由度的手部動(dòng)作。拇指3個(gè)自由度,剩下的四根手指每只2個(gè)自由度。將這些信息采集到之后,通過(guò)NRF回傳到電腦。
Dexmo系統(tǒng)簡(jiǎn)易說(shuō)明圖
在PC段我們把用戶(hù)的手部模型Map到虛擬人物的手上,并且開(kāi)始進(jìn)行物體交互的碰撞檢測(cè)和物理狀態(tài)判斷。計(jì)算出實(shí)際上應(yīng)該生成的力的矢量方向和大小后,我們?cè)侔堰@些數(shù)據(jù)發(fā)送回Dexmo,并且通過(guò)母版分別傳遞到5個(gè)力反饋模塊上,進(jìn)行力的模擬。當(dāng)人在抓取一個(gè)物體時(shí),他的手無(wú)法穿過(guò)這個(gè)物體,并且手的形狀將貼合物體的形狀,通過(guò)和虛擬視覺(jué)內(nèi)容的呼應(yīng),產(chǎn)生讓人抓住物體的錯(cuò)覺(jué)。
雷鋒網(wǎng):“Dexmo讓用戶(hù)可以感受到虛擬物體的大小,外形以及硬度”,這里面只有硬度是力反饋,大小和外形是怎么做到的?物體的重量,表面的質(zhì)感,這些也是很重要的觸感,可以模擬嗎?
谷逍馳:硬度是通過(guò)控制力的大小和輸出區(qū)間拉實(shí)現(xiàn)的。大小是通過(guò)外骨骼的幾何形狀配合3d虛擬內(nèi)容的形體來(lái)模擬實(shí)現(xiàn)的。比如手正在抓一個(gè)虛擬的罐子,手指的運(yùn)動(dòng)會(huì)被限制在罐體的表面上,就好像在現(xiàn)實(shí)世界中我們抓取罐子一樣。手指尖的幾個(gè)觸點(diǎn)提供的力反饋在視覺(jué)反饋和大腦的協(xié)調(diào)下讓我們感受到了形狀和大小。
90年代能夠生成重量的設(shè)備,我個(gè)人認(rèn)為這類(lèi)產(chǎn)品很難能夠成為進(jìn)入千家萬(wàn)戶(hù)的消費(fèi)品
重量是一個(gè)很有意思的問(wèn)題。中學(xué)物理告訴我們,作用力=反作用力。要模擬真實(shí)的重量,你可能需要在手上連接一個(gè)固定在墻面上的力反饋機(jī)械臂。這種方式并不是消費(fèi)者能夠接受的,所以模擬重量還是一個(gè)難題,我們可能只能通過(guò)創(chuàng)造illusion來(lái)模擬重量了。
Dexmo嘗試過(guò)的力反饋機(jī)械臂設(shè)計(jì)
我們以前也有過(guò)類(lèi)似的嘗試,不過(guò)因?yàn)閲?yán)重限制了用戶(hù)的運(yùn)動(dòng)范圍,所以停止了力反饋機(jī)械臂的開(kāi)發(fā)。
觸覺(jué)又是另外一個(gè)問(wèn)題,限于篇幅我只說(shuō)一點(diǎn):很多時(shí)候不是技術(shù)本身沒(méi)有被開(kāi)發(fā)出來(lái),而是當(dāng)下收到成本、尺寸的限制,即使將其做成產(chǎn)品,高昂的成本也會(huì)讓消費(fèi)者望而卻步。
雷鋒網(wǎng):力反饋在機(jī)械上是怎么實(shí)現(xiàn)的?用的是何種控制器?機(jī)械延遲如何解決?
谷逍馳:力反饋不是一個(gè)機(jī)械問(wèn)題,而是一個(gè)控制問(wèn)題。
簡(jiǎn)單的說(shuō)我們的電機(jī)控制算法可以讓電機(jī)的行為表現(xiàn)更接近一個(gè)可變硬度的彈簧,通過(guò)上位機(jī)的指令可以非常快速的調(diào)節(jié)這個(gè)硬度和響應(yīng)區(qū)間。控制器就是隨處可得的微處理器,按照需求選成本最低的,這個(gè)沒(méi)什么太多可說(shuō)的。
機(jī)械延時(shí)是一個(gè)問(wèn)題,但是目前我們實(shí)用的方案是電機(jī)通過(guò)齒輪直驅(qū),所以響應(yīng)速度在齒輪質(zhì)量過(guò)關(guān)的前提下,已經(jīng)是電機(jī)本身的響應(yīng)速度。
雷鋒網(wǎng):如何解決手指穿過(guò)物體的問(wèn)題?這在Leap Motion等手勢(shì)交互方案上會(huì)出現(xiàn)。
谷逍馳:我從真實(shí)物理和圖像2個(gè)方面來(lái)描述下。
物理效果的限制來(lái)自于力反饋模塊提供的反向扭矩,而觸發(fā)反向扭矩的是虛擬內(nèi)容。這里需要滿(mǎn)足2個(gè)條件:虛擬內(nèi)容的triggering和物理上要有硬件來(lái)生成這個(gè)力。虛擬世界中的碰撞檢測(cè)器了解到碰撞后,會(huì)觸發(fā)力反饋模塊的動(dòng)作。這個(gè)具體機(jī)理其實(shí)可以參考Q2。
圖像方面,我們有自己的一套交互引擎來(lái)限制虛擬3d物體和手部的相互交互。兩者相結(jié)合才能真正提高沉浸感。
Leap Motion最新推出的交互引擎其實(shí)嘗試著去解決了一部分這個(gè)穿透問(wèn)題。他們只做了圖像上的限制,也就是手部抓取物體時(shí),彎曲到某一點(diǎn),圖像上就限制了手的運(yùn)動(dòng),模型也停止跟隨手部動(dòng)作。但是鑒于沒(méi)有任何硬件,真實(shí)世界中的人手是不受到控制的。這也是其他手部動(dòng)作捕捉方案的通病。
在這里我想指出:振動(dòng)電機(jī)和力反饋不能劃等號(hào)。
振動(dòng)電機(jī)從技術(shù)上說(shuō)非常容易實(shí)現(xiàn),這也是大批“交互手套”創(chuàng)業(yè)者最喜歡用來(lái)忽悠大眾和投資人的幾個(gè)點(diǎn).....把力反饋,觸覺(jué)反饋,重量反饋混成一團(tuán),然后模擬兩可的表示振動(dòng)電機(jī)能夠提供部分這些反饋。這都是不準(zhǔn)確的。
雷鋒網(wǎng):Dexmo用的手部動(dòng)作捕捉技術(shù)是什么,精確度、延時(shí)如何?怎樣與空間定位系統(tǒng)配合?
谷逍馳:用的是角度傳感器,理論精度分度是0.06度。但是作為可穿戴設(shè)備,理論精度并沒(méi)有什么參考價(jià)值,因?yàn)榕宕髡`差可能已經(jīng)超過(guò)0.5度??傮w來(lái)說(shuō)虛擬現(xiàn)實(shí)的交互相比絕對(duì)精度,需要的更是跟隨度。所謂跟隨度,比如我們的設(shè)備可以檢查3個(gè)自由度的拇指動(dòng)作,人在真實(shí)世界的動(dòng)作會(huì)無(wú)損的map到虛擬世界中去;相比Oculus Touch基于capacitive sensing(電容感應(yīng))的手指動(dòng)作猜測(cè),又或者是一些其他低端的手套方案,Dexmo會(huì)給人對(duì)虛擬人物的掌控感更高些。
Dexmo的的延時(shí)為25ms,但用戶(hù)體驗(yàn)到的整體延時(shí)并不是簡(jiǎn)單的與頭盔延時(shí)相加,而是要考慮整個(gè)pipeline的運(yùn)作方式,比如顯示段在渲染的時(shí)候力反饋指令正好從PC發(fā)送至Dexmo,這樣有一部分延時(shí)發(fā)生在同一個(gè)時(shí)段。
Touch的手部動(dòng)作檢測(cè)是開(kāi)關(guān)式的,所以給人對(duì)自己虛擬人物的掌控度不高,很多基于彎曲傳感器的動(dòng)作捕捉手套對(duì)拇指也不是很上心,有的時(shí)候用一個(gè)自由度就打發(fā)了。當(dāng)然很多手套方案在input之后就停滯不前了,將拇指和食指當(dāng)做Vive controller上的trigger來(lái)用,自然省了很多事......但問(wèn)題是,沒(méi)用。總之,跟隨性比所謂精度更重要。
空間追蹤已經(jīng)是一個(gè)解決了的問(wèn)題,不太值得花我們自己的工程力量去從頭再做一遍。我們已經(jīng)去Valve的總部跟他們的工程師洽談過(guò)把Lighthouse的tracker整合進(jìn)Dexmo的相關(guān)事宜。技術(shù)上沒(méi)有實(shí)現(xiàn)難度。當(dāng)然空間追蹤還有很多很多其他方案,我們對(duì)此都保持一個(gè)開(kāi)放的態(tài)度。
雷鋒網(wǎng):力反饋如何與手勢(shì)交互相結(jié)合?
谷逍馳:手勢(shì)交互本身已經(jīng)是一種相對(duì)自然地交互方式。比如微軟的Hololens,呼出菜單所使用的bloom gesture(五指向上開(kāi)合),確定用的tapping gesture(伸出食指勾一下)等等。在這個(gè)基礎(chǔ)上通過(guò)力反饋加入物理角度限制,可以把交互復(fù)雜程度再上一個(gè)臺(tái)階。比如在VR中我們可以在人的小臂,胸前上設(shè)計(jì)旋鈕,開(kāi)關(guān)等等。在此之前,這些硬件開(kāi)關(guān)只能放在controller本身上,而有了力反饋很多硬件開(kāi)關(guān)都可以通過(guò)軟件來(lái)實(shí)現(xiàn),這是很大的一個(gè)進(jìn)步。
就好像有了觸摸屏和振動(dòng)反饋,我們慢慢脫離了實(shí)體按鍵一樣,有了力反饋,在虛擬世界中我們可以生成無(wú)數(shù)個(gè)按鍵,旋鈕,開(kāi)關(guān)等等,很有可能在未來(lái)我們不再需要那么多實(shí)體按鈕了。
這個(gè)視頻里面有一些Dexmo在交互上的創(chuàng)新。
雷鋒網(wǎng):為什么選擇NRF作為無(wú)線(xiàn)傳輸方案?
谷逍馳:因?yàn)镈exmo作為一個(gè)雙向交互設(shè)備,既提供輸入,也產(chǎn)生輸出,對(duì)于數(shù)據(jù)帶寬的要求更高。很多現(xiàn)成的硬件和通訊協(xié)議并不太能滿(mǎn)足我們對(duì)通信速率和穩(wěn)定性的要求。這樣一對(duì)比,藍(lán)牙和WiFi已經(jīng)不在我們的考慮之列,只能選擇NRF。當(dāng)然,我們也在早期嘗試過(guò)藍(lán)牙和WiFi,但并不理想。
雷鋒網(wǎng):介紹一下Dexmo的SDK,開(kāi)發(fā)者如何為其進(jìn)行開(kāi)發(fā)和支持,另外如何吸引更多的開(kāi)發(fā)者?
谷逍馳:為Dexmo做開(kāi)發(fā)很容易,我們做了一套類(lèi)似于Vive的plugin。只需要使用我們的SDK,打開(kāi)UNITY你就可以用頭顯看到一雙手。并且手部的交互,碰撞檢測(cè),力的生成,都由我們的算法為開(kāi)發(fā)者處理了。開(kāi)發(fā)者僅僅需要為物體設(shè)定碰撞檢測(cè)器和硬度就可以了。
吸引開(kāi)發(fā)者方面,目前我們的做法是在積極尋求和國(guó)外虛擬現(xiàn)實(shí)一線(xiàn)廠商的合作。我們相信這項(xiàng)技術(shù)本身是有極大的潛在價(jià)值的。但是只有放到合適的生態(tài)系統(tǒng)中去,才能讓它的價(jià)值最大化展現(xiàn)。一旦有了巨頭的背書(shū),開(kāi)發(fā)者也會(huì)更愿意使用更高級(jí)的硬件。
雷鋒網(wǎng):除了VR/AR/MR,Dexmo還有哪些使用場(chǎng)景?
谷逍馳:機(jī)器人控制絕對(duì)是一個(gè)實(shí)際需求。對(duì)于排爆機(jī)器人來(lái)說(shuō),有了手部的力反饋和盲操完全就是2個(gè)等級(jí)的精準(zhǔn)度。我們?cè)谶^(guò)去的研發(fā)中收到過(guò)來(lái)自NASA和美國(guó)軍方的一些邀約,希望能夠?qū)⑦@項(xiàng)技術(shù)使用到航空航天中去。太空機(jī)械臂控制,火星車(chē)的抓取等等,這些交互有了力反饋都會(huì)有質(zhì)的提升。
除了VR/MR 游戲,很多垂直領(lǐng)域都會(huì)有很多應(yīng)用場(chǎng)景,比如繪圖,教育,訓(xùn)練等等。拆解飛機(jī)發(fā)動(dòng)機(jī)這種高精尖的活,不是每個(gè)學(xué)徒都有機(jī)會(huì)可以直接上手操作真機(jī)的。這里我們就可以用VR來(lái)代替。同樣如果僅僅是用Vive控制器來(lái)移動(dòng),缺少了immersion(沉浸感)。如果能用Dexmo的話(huà),會(huì)更加真實(shí)。
觀眾:2013年Dexta眾籌,后來(lái)撤掉了,是因?yàn)楫?dāng)時(shí)方案不成熟嗎?
谷逍馳:(引用Road to VR對(duì)他的一段采訪)
我們當(dāng)時(shí)在 Kickstarter 上展示的只是一個(gè)概念。當(dāng)我們看到人們的反應(yīng)之后,我們感覺(jué)自己被捧得太高了。我們意識(shí)到他們期待實(shí)現(xiàn)的,要比我們能做到的高太多。
大多數(shù)的支持者需要的是,一個(gè)最終的解決方案,能拿來(lái)即用,并且所有的平臺(tái)都支持它。而當(dāng)時(shí)的 VR 硬件并不像現(xiàn)在這樣。我們很明白,如果使用者都無(wú)法獨(dú)立設(shè)置一套追蹤系統(tǒng),那么他們很可能不會(huì)使用我們的產(chǎn)品。因此要達(dá)到人們的預(yù)期,研究以及生產(chǎn)產(chǎn)品,我們需要的資金要遠(yuǎn)高于 2 百萬(wàn)美金。
當(dāng)時(shí)我們面臨這樣的抉擇:要么我們接受這筆錢(qián),假裝這些問(wèn)題都不存在,不告訴我們的支持者實(shí)際情況如何,最后拿出一個(gè)任何人都不會(huì)滿(mǎn)意的垃圾產(chǎn)品,要么我們對(duì)支持者負(fù)責(zé),向他們坦白一切問(wèn)題,然后回去繼續(xù)做研發(fā)。
作為一名工程師,我不怎么會(huì)說(shuō)大話(huà)。我認(rèn)為產(chǎn)品能證明一切。我希望人們能感受到這個(gè)產(chǎn)品中凝結(jié)的我們的所有精力與努力。我們當(dāng)時(shí)很難做出抉擇,但我慶幸我們做出了正確的決定。而現(xiàn)在,我們的產(chǎn)品最終能達(dá)到過(guò)去我對(duì)它的一切期待。
觀眾:售價(jià)多少?
谷逍馳:會(huì)比主流頭顯要低,具體價(jià)格目前沒(méi)有參考意義。進(jìn)一步進(jìn)入生產(chǎn)后,取決于量,可以跟供應(yīng)商進(jìn)行進(jìn)一步文人,同時(shí)還有很多生產(chǎn)優(yōu)化可以做。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。