2021年5月17日 星期一

技術筆記:TOF(Time of Flight)整理

TOF的概念,望文生義,就是量測光子從出發開始到接收之間,移動所花的時間,因為已知光的速率,自然可以得出這其中的距離。現實狀況是,CMOS完全不可能達到這麼快的處理速度。

技術上實現方式就轉化為,打出來的光,不是一顆,而是跑的久一點成為一個脈衝(pulse base)。接收端不計算多快收到,例如兩個接收器,每個接收器之間不重疊,計算每個接收器的數量,就能構成原本的波形,如下圖C1和C2的比例,就能回推Reflection的形狀,進而計算距離。

具體實現方式牽涉複雜的電路設計,讓兩側的電容輪流放電,才能計算出兩邊不同的光量。

下圖是整合後,整體的流動式事例,左邊光束發射後,過一陣子收到反射波,並且有左右的比例,可以模擬出反射波的形狀。

下圖則是討論如何實現這個技術的更細部討論,也可以發現,復位電壓和電容增益等造成的影響。介紹(連結)

使用的光源大多為850nm  VCSEL,因為VCSEL能量較為集中且反應速度快,較能達到期望的波形。整體實機如下圖。

技術上實現時,每次計算稱之為一個Micro-frame,其中一個quad,又會被拆開執行類似計算。



整體系統架構,如TI範例(連結)。是整組光源和感測器合併的模式。OPT8241的結構是由很多個前述電子元件構成,形成2D平面,透過Lens的協助,我們可以在同一時間,得到整個平面的深度資訊。

目前所知TI,SONY(兩款SENSOR CMOS IMX556 連結 連結 解析度 5mm 相比於CCD也比較不會漏光) 有類似功能。實體機器,台中(連結  連結)。

改進方式

技術人員永遠有改進方案。第一種稱之為連續調置波。採用多個計算窗口,例如四個,如下圖。(連結)

(Q3-Q4)及(Q1-Q2)可以减掉及其中的偏差。也可以利用三個或是五個不同角度的窗口,也就是phase消除奇數諧波。

另外一種思考方向是,多頻技術。因為原本的方式,超過一個圓周就會產生整組偏移。若光源部分就利用多頻。

題外話,每次整理技術資料時,總是會被上述科學家或是工程師的堅持不懈感動。他們總是抱持著不斷改進,持續鑽研的精神,即使每次都只改進一點點,但就因為這一點點,讓他們成為率先揭露大自然奧秘或新概念的拓荒者。而我這類,只能在技術、程式、步道上跟隨著後進者,自然高下立見。

2021年5月16日 星期日

報名棲蘭林道路跑併夾帶減重計畫

自從去年嘗試過越野跑後,下一目標則是有些野性,但又相對容易的棲蘭林道路跑。該路線是教育部為了推廣山林活動特別規劃,跑在平時不對外開放的100林道,想像著徜徉山林間,且能親見台灣杉三姊妹(號稱撞到月亮的樹),就義無反顧的報名(連結  6/26 4:00明池山莊出發)。

活動分成100與50公里組,考慮過後決定本屆先報50公里再循序漸進,且明年正好50歲跑個50公里也有數字上的趣味。另外,也預訂了明池木屋,打算兼遊北橫。目前最大變因是疫情告急,擔憂無法如期舉行。(更新,活動延期至12月11日,連結,加上疫情影響,最近二周幾乎沒有運動)

訓練

很久沒跑全馬,為完成50公里還是得有些計畫。

  • 勤跑寶二水庫,希望六月底前能模擬五圈(或至少四圈),事實上自己曾有幾次跑四圈的經驗,只是最近衰弱到跑個兩圈就累啊(也可能是因為斷食適應)。
  • 多跑羅山林道,已有記錄(連結),下次南線行程(已下載GPX,長褲或水壺腰帶)。
  • 嘗試大鹿林道,東線不用申請即可出發,計畫包括讓老婆去巨木步道走走(得先規劃行程和處理亞太的問題)。

減重

為落實跑步計畫,除了訓練外,最直覺想法是減輕體重,試想,帶著三公斤豬肉跑50公里的感覺,若能扣掉那感覺會有多輕鬆啊。尤其最近這半年體重太重,總覺得影響體力甚至影響生活,若能藉此減重,短期悽蘭馬有幫助,長遠來看,對健康和外觀都有幫助,可謂一舉兩得。

雖然我不是那種怎麼吃都不會胖的體質,但年輕時也從沒因為胖而有困擾。隨著年紀增長,代謝漸緩,若再碰上前陣子不知節制亂吃,作息亂搞,自然就像吹氣球般鼓起來。但想到減肥就有排斥感,經老婆介紹168概念,也參考宋晏仁影片,就依下面四個要點持續進行。

第一點:168和間歇性斷食,核心精神是避免胰島素常態性的在體內起作用(醣轉為脂),且理論上,十二小時後,升糖素就會開始以脂肪代替醣類且啟動生酮作用,身體也會得以修復。作法很簡單,就是盡量集中固定時段飲食,不餓就不吃,且有意識的逐漸拉長間歇間隔。不吃東西的時候,就是只喝水。而實際安排上,盡量維持周末或晚上與家人,以及周二四中午與老媽共餐,其他時間都可以肆意實驗。

過程中,偶爾會感到飢餓感來襲,解決方式有二,一是忍耐15分鐘(飢餓素只會維持15分鐘,就當作是慢跑的撞牆期啊),二是做些廢寢忘食的事(跑步或玩積木或拍照等),若當下是無所事事,就容易意識到被限制而覺得空虛想吃東西。

第二點:食物選擇,原則是避免升糖指數高的食物,如過度精緻醣類和澱粉和零食和含糖飲料等,改為蔬菜和脂肪和蛋白質,水果次之。

這段時間,偶爾仍會想念冰冰甜甜柳橙汁美妙感受,但少了豪邁狂吃含糖食物的感受後,現在吃東西時反而更能體會食物細緻豐富多層次感受。

第三點:單靠運動是無法減肥的,這點不需要專家,自己親身經歷就能說明,以我月跑量雖不到二百但少說也有一百狀況不可謂少,長期來看體重仍居高不下。所以務必記得這句話,Abs are made in the Kitchen。

第四點:高血壓和膽固醇藥物則是依照每日量血壓結果,若無法控制在130/80之下,當然就要吃藥。

檢視實行成效,過程中並無不適,體重數字也確實有感減低中,最明顯感受是低頭時眼下的大肚腩就像進入天能時間機器後逆轉退縮,平時心情也變得輕盈,而且對照於中間幾次破戒喝含糖飲料的頭昏腦脹,更覺得此種清爽生活,值得長期維持。只是最近疫情爆發,天天在家料理並和家人共餐,難免影響成效,還有待後續調整。

2021年5月13日 星期四

技術筆記:IMU(inertial measurement unit) MPU9250

IMU,慣性測量單元,形式如上。別看它小小一片,功能卻非常強大,舉凡物體姿態或運動速度,都難不倒它,也因此成為智慧型手機、空拍機及各式VR裝置中重要元件。此外,以動作為主的任天堂遊戲機或Air Drum(空氣鼓棒 連結),也都缺它不可。

最近工作需要,嘗試深究其性能並將其引入產品設計。首先購買MPU9250,別看這這元件小小一片,內部可是集成了三種不同單元,分別是陀螺儀(連結),加速度和地磁偏角。這三種動作各有其理論基礎,實作方式隨著科技日新月異的進步,也不斷的微小化和精準化,讓人嘆為觀止(連結)。

硬體架構及資料讀取

陀螺儀,加速度和地磁偏角,每種單元又各有X Y Z三軸資訊,總計九組數值。連結方式,MPU9250 -> I2C -> VDD(3.3) GND(GND) SCL(21) SDA(20) -> Arduino Mega -> USB -> PC。

程式有兩種方案,Arduino的程式有二種,透過專屬LIB(連結),或直接取得Register(連結)。搭配的PC端程式,分成PYTHON(呼叫專屬LIB,畫面畫出二維圖),或是C程式(由serial介面讀取資料,接著後續繼續計算姿態)。

除讀取數值外,有專章討論calibration(連結,尚未做)。較無關範例LSM9DS1(連結)。另範例(連結)。

立體可視型態

上述九組資料僅是原始資料。理論上若是精度夠高,僅僅通過陀螺儀數值積分就能得到姿態位置,但MPU9250之類MEMS元件會因為體積關係,先天既存的誤差,使得姿態結果快速發散,無法使用。

解決方式是在陀螺儀之外,搭配加速度和磁力,三者共同合作組合成更高的精度,這個過程稱之為航姿參考系統(AHRS),這種明知硬體有先天缺陷,得靠軟體工程人員發揮想像力彌補的方法,在近十幾年已是常態,也多虧了AHRS,不知造就多少博士啊。

AHRS的概念,簡直是天書,(連結內容充實,誠心推薦失眠者閱讀),門外漢如我只能從結果來區分,共有三種方法,互補濾波、梯度下降(madgwick)、EKF姿態融合。後面只專注madgwick。參考範例(連結),madgwick(C語言),讀入數值計算後並用OpenGL顯示,同時有madgwick python版。

推算空間航跡

取得姿態和加速度後,理論上就能計算出X Y Z各方向速度,並進而劃出運動軌跡。應用相當廣泛,例如跌倒偵測、空間中移動位置描繪等等。實務上則是要考時間切片,取樣頻率,剔除邊際值等等。

手邊範例有兩種,matlab範例,python範例。套用後,初步測試結果,動作若很大勉強可接受,動作若很精細效果就很差。

雖然還在實驗階段,但檢視上述過程,不論是AHRS或是空間軌跡,都需要龐大計算量,類似小米手環是如何計算步數呢?

與相機結合的應用

案例一(連結)
案例二(連結 連結)

2021年5月12日 星期三

誰道人生無再少

蘇軾曾寫過:誰道人生無再少?門前流水尚能西!休將白髮唱黃雞。意思是:誰說人生就不能再回到少年時期? 門前的溪水還能向西邊流淌!不要在老年感嘆時光的飛逝。

我查過,這首書寫時,蘇軾年約45,比我現下還年輕好幾歲就有這種浩歎,可見得感嘆歲月流逝,是古今皆然人之常情。

東西用久哪有不壞的道理,就是如同聖嚴法師所說,面對它、接受它、處理它、放下它。身體上的狀況,能修的修,該補的補,最近甚至還嘗試減重讓身體輕鬆些(連結)。而這幾年來持續的戶外活動,也為未來幾年四處探險累積了不少資本。

老和生病關聯很大,就當成一起講了,人有八苦,最直接和身體有關的就是生老病死。如果身體不舒服的時候,就會一直呱呱胍,覺得痛苦,這是健康時候完全無法體會的。首先是外表的變化。想要拍攝一個香蕉(或是某種豐潤的水果)放在桌上,慢慢爛掉的過程。尤其最近在掃描老媽照片,特別有感觸,形狀比較臃腫,無光。終極是養老院(文章連結 連結 連結


羅山林道北線輕鬆跑

羅山林道北線

為避免六月底棲蘭林道跑開天窗,近日開始會密集到只聞其名,未見其景的五峰羅山林道練跑,又因為自己不是認真的跑者,邊跑邊拍享受山林反而是主要目的。

此區域著名山頭有西側油羅山(1764m)和東南東側霞山,兩者間有油霞縱走路線,霞山再向東南則是雲山蒼蒼,高聳入天的霞喀羅大山。

林道為早年方便採伐柳杉林闢建,海拔高度在1100m至1300m間,以類似圓弧包覆著這兩座山頭。若由高空俯視,假設八點鐘方向是對外開口,那麼二點到八點北方弧形包著油羅山和錦屏溪稱為北線,八點到四點這個弧形包著霞山和麥巴來溪稱為南線。

北線介紹

0~3KM,剛開始陡坡較大,仍可負荷。

1KM,林務局羅山分站

3KM,全線中唯一具有視野處,也是油羅山第一登山口,路邊停有十幾輛小客車。

3~5KM,較為平緩,大多為水泥路段,道路不是很寬,大約1.5左右的車身,很明顯有在維護。四周遍植杉木林,路邊偶爾還有休憩桌椅,是非常親民的路線。幾種常見植物如下。

柳杉林

五月初仍可見桐花

月桃?與平地型態不同

柳杉林間蕨類蔓延

最奇怪是,偶爾可見"香蕉"??

小溪流,成為錦屏溪源頭

5~8KM,5KM處有第二登山口,往後的路況漸差,碎石取代水泥鋪面,但由於此處非常清幽,加上開車就可以直達,幾乎每五百公尺就有一組野營客,為清幽林道增添了些人氣。

8~10KM,8KM處是第三登山口,此後路況除碎石外,道路逐漸泥濘不堪,且有明顯高低障礙,房車無法通過。


滿地桐花堆積 憔悴損 如今有誰堪摘

再向後,林相改變,原本成片杉木林逐漸由中低海拔雜木林取代,四周林木更為茂密,僅偶爾可能縫隙中望見山下錦屏村。煙霧飄渺中的森林景觀,坐看雲起或散步健行或林道跑,都很推薦。

巧遇機車露營的年輕人,借機車拍帥照

玩空拍機

10KM,路徑上有倒木,雖然目視後續路況不錯,且其資料為全長17.73公里,限於時間因素在此折返(合計20KM也等於是半馬)。後續將安排車停前面三或五公里處,重複這段路,跨越這倒木後,再接續探險行程。

倒木,在此折返

南線介紹(連結)

附記新竹至羅山林道路線

基本路線:新竹,快速道路,竹東,軟橋,五峰,竹62,花園,林道口,約一小時。

花園部落附近景致
其他1:竹東,尖石,花園。約慢31分鐘。其他2:竹東,大山背,五峰,約慢11分鐘。其他3:五峰,竹63,林道口,約慢7分鐘。
原鄉常見雕像

2021年5月10日 星期一

南二段行程紀錄

中央山脈是全台五大山脈中距離最長(340公里),範圍也最廣的山系,由宜蘭烏岩角到屏東鵝鑾鼻間,全程以北北東至南南西的走向縱貫,山勢高俊,達百岳資格者共有六十九座,因此有「台灣屋脊」之稱。

登山者,為了方便區分,習慣以北一段、北二段、北三段、南三段、南二段、南一段,將其區分為六段行程,每段六至八天不等。

其中南二段,全程有山屋,景觀也多變,尤其適合我這種新手。實際走了六天的感想也是如此,步道時而下谷地欣賞花海和竹林,時而上到稜線,若天氣晴朗可享受無敵展望,若陰雨濛濛就是低頭前進,讓思緒隨著霧氣四處飄散,晴雨都相宜。對喜愛走路的我來說,的確是很棒的行程。

行程記錄

3月報名韓大行程,4/18在韓大家參加行前會議,行程為南橫向陽森林遊樂區至八通關越嶺路東埔出,全程均在中央山脈主脊上縱走,也就是俗稱順行,裝備上採公糧均背模式。4/23,交通日,由新竹移動到台東向陽森林遊樂區,整路昏睡沒有太多記憶。

4/24 D1 向陽至拉庫音溪山屋 16.7K

02:30 起床,摸黑踢林道抵達登山口,然後就是持續向上的山徑。黑夜中向上容易忽略四周高度變化,直到微光中,遠望到利稻村上方雲海,才有來到高山的真實感。

05:40 抵達向陽山屋,休息片刻後又是持續向上山徑。這段路程因為去年才走過,記憶猶新,但當時是有協作幫背的悠哉攝影行程,絕非這次艱苦縱走可比擬。

06:55 經黑水塘,07:50 向陽名樹,這棵玉山圓柏扎根於礁岩,樹體歷經強風及冰雪的雕塑,給人蒼勁的美感。據考證,樹齡已達七百年,實在是大自然奇蹟。

09:10 抵達向陽登山口,遠眺南一段關山大斷崖險惡風貌。今天行程最困難的部分,從二千公尺走上中央山脈陵線也暫告段落,往後行程都是在陵線上上下下。

09:50 嘉明湖避難山屋短暫休息,繼續通過向陽北峰,抵達迎賓樹。若從地形景觀區分,向陽山勢剛健,接下來的三叉山則是無比寬闊的平坦草原嶺脈。是座由底部就能遠望到渾圓山頂的簡約大山。

13:40 在狂風中抵達三叉山(3496m),印象中廣闊的草原和嘉明湖美景,早就不知被吹到何處。地形上,三叉山至後續的南雙頭山間,原本是沉積平原,造山運動抬升後,形成這片寬闊的嶺脈。我們的路線,大致依照山脊走向,也就是逆時鐘弧形的東側緩慢前進。直到接近這弧形中段,原本平緩的地勢因河流侵蝕造成谷地,路徑才快速至溪邊山屋。

猜想,數萬年前,三叉山和下一座南雙頭山之間,應是連綿草原,只是因為拉庫音溪不斷侵蝕,才形成急遽下切百公尺谷地的地景。

16:30 拉庫音溪山屋(2690m),位於群山環繞的谷地中心,靜謐的山屋坐落拉庫音溪畔,兩條支流在此匯集,這時節正逢高山杜鵑怒放,落英繽紛,飄零的落花隨著潺潺流水而下,閒坐山屋前享受這風聲水聲,真是像極了桃花源記描寫的世外桃源。

4/25 D2 拉庫音溪至轆轆谷山屋 15.3K

02:30 起床,摸黑從河流谷地爬上草原邊坡,繼續昨天下午逆時鐘弧形的後半段草原路程,雖然天還未明,但暗黑中頭燈照射的光,已經因為空中飄盪的雨霧劃出或長或短的絲線,暗示今日或許得穿上雨具。

果然直到 06:20 南雙頭山(3356m)時,四周狂風不斷,草草團拍後隨即狼狽逃難下山。

後續路線仍是逆時鐘弧形甚至偏向西北,地勢較低且多變,多在山腰間轉折,四周景觀不再是廣闊草原而由滿山遍野馬醉木代替。途經某個乾枯小池塘邊,韓大第一次說明水鹿習性和指導如何撿拾鹿角。

09:20 雲峰三叉下營地,雲峰東峰下營地,開始飄雨。

11:20雲峰(3564m),雖是白牆一片,但等於是江博士的完百紀念,大夥都激動莫名。回程時有個插曲,因隊友身體不適,韓大臨時搭天幕煮薑茶,也讓我見識到高山上危機處理一課。

後續往山屋這段路程,或許是因為距離漫長,也可能歸咎於陰雨,累積兩天的疲憊讓背包越來越重,無法無法拍照的情況下,備感無聊,眼前所見只剩一片令人心寒的荒涼。淒風苦雨中,於17:00 轆轆谷山屋(2990m)。

4/26 D3 轆轆谷至塔芬谷山屋 7K

05:00 睡到自然醒,清晨環視,山屋位於片緩傾斜的草原凹谷,綠茵環抱,其後向西北方延伸,即是轆轆山。出發後,即是沿著這片山坡草原上稜線,接著就是攀岩、拉繩、樹林和箭竹的循環。

轆轆山是雙峰駢立形式,主山突出於主稜西側,輕裝 08:25 轆轆山(3279m)。今天氣候延續昨日,霧氣瀰漫,遠景近景好像都隱藏在薄霧中,混濁不清。檢視當時拍攝的照片也是陰鬱低沉,缺乏生氣。


12:40 塔芬池,四周蒼松環繞,若有池面映照藍天白雲碧空,必定是無敵美景,可惜事與願違,但沒關係,能讓我坐著享受片刻悠閒就是好風景。

13:20 塔芬山(3090m),接下來是兩小時穿越樹林行程。至此已是第三日,經過前兩日調整,身體已經開始習慣這睡覺、吃飯、不斷走路,再睡覺、吃飯、不斷走路,重覆循環的模式,雖勞力但不勞心,越走越舒服。此時也才明瞭,所謂中央山脈山脊,並非想像中筆直的南北方縱貫,而是以鋸齒狀,或偏東或偏西往不同方向參差延伸。

14:50 塔芬谷山屋(2600m),有活水,可擦澡。喝了韓大手沖五葉松茶。大伙在山屋內聊天打屁,非常悠閒。

4/27 D4 塔芬谷至大水窟山屋 8.8K

04:00 起床,出山屋就是衝樹林,06:40 到韓大暱稱為聖誕樹草坡。

輕裝08:00 達芬尖山(3208m),山頂雖然號稱有360度視角,但今日天候不佳,西側的玉山群峰已被雲霧包圍,轉向東側是白牆一片,倒是北方通往大水窟山和東埔的路異常清晰。

地震、豪雨、河流溯源侵蝕等因素,台灣高山到處可見崩崖景觀,崩壁下方逐漸形成碎石坡地形也是登山莫大的考驗。

下山後又是持續在多霧的樹林間移動,陽光穿透稀薄的霧氣,賦予大山脆弱、鬼魅般的美麗。印象中,往南大水窟山稜線的路全是朦朧一片。14:05 南大水窟山,此處坡度平緩,全為箭竹草原,是360度白牆。

14:38 大水窟山屋(3225m),四面雲霧遮蔽,山屋就像異世界般荒涼。

抵達山屋後,第一件要是就是確認水源,連續幾日經驗讓我學到,山屋的優劣絕不依靠外表,而是取決於附近是否有活水可用。轆轆谷和大水窟附近無活水,只能從山屋兩側水槽中勉強"撈"取,這也比來回一小時強多了。此地因為是南北走向中央山脈的相對低點,因此成為東西向橫貫中央山脈的必經之地,也就是八通關古道東、西段分界點。東部通往大分,西部經過南營地、杜鵑營地,可通往中央金礦山屋。

4/28 D5 大水窟至中央金礦山屋 8.4K

04:00 起床,繼續向北,先通過八通關古道遺跡,沿途地勢高聳,景觀壯闊。07:15 雲霧飄渺的枯木林休息時,發現大批水鹿排遺,繼續搜尋後在雜木林間發現一隻鹿角,滿足了此行出發前許下的願望,這突如其來的發現讓我開心了好幾天。07:52 大水窟山(3642m),同樣煙雨濛濛無景觀。

大水窟山之後幾片枯木林,或倒或獨佇立於高山杜鵑間,在這朦朧中散發著荒涼氣息。

09:30 秀姑坪,此為南二段北界,再往北就是南三段的秀姑巒山。一般山友則會把以此為中心附近的三座山頭,八通關山、大水窟山、秀姑巒山,稱之為八大秀。躡履而上,離離蔚蔚的樹林在霧氣中若隱若現,不時顯露出翠綠之色。

鋒面來襲打亂了單攻秀姑巒山的計畫,取左道離開中央山脈稜線,下行。10:15 白洋金礦山屋,山屋旁有金礦探採舊址和小瀑布,屬於荖濃溪之上游。參考內容(連結)

沿途的八通關古道,為日治時期整建,現仍留存許多遺跡,如特殊的堆石等等。

15:00 中央金礦山屋(2820m),附近流水潺潺,落花繽紛。

4/29 D6 中央金礦山屋至東埔 21K

03:00 起床,雖然陰雨濛濛得穿著全套雨具,也難掩就要回到都市文明的雀躍心情。我們循著舊時八通關古道緩緩前進,左側隔著荖濃溪與對面山頭始終保持固定距離。,

由登山口處重裝向上(古道後續路段坍塌不建議通行),07:35 八通關山(3335m)無展望。下了主峰往西峰途中,韓大決定捨棄後續高繞路線直接下切,沿途高山杜鵑和嵾天樹林不斷。


10:10 抵達觀高坪。接著是漫長的出關行程,雨又開始無聲的落下。11:50 對關駐在所(2094m),昔日遺址已佈滿紫色毛地黃。13:45 樂樂山屋,15:45 愛玉亭,東埔簡單梳洗後在水里慶功。結束為期六天南二段行程。