量子位
吃完的螃蟹殼是幹垃圾還是濕垃圾?
或者,裹上一層黑科技,讓它變身「火星車」,饞哭隔壁家小孩。
更硬核的是,這樣一台螃蟹火星車,並非只是一個模型。
它支持 WiFi 無線圖傳、控制,手指在手機上移向哪裏,車就跟着往哪裏走。
能實現激光測距,限定目標距離:
還有慣性傳感單元:
甚至還有 AI 功能加持,能實現目標跟蹤。這,是用「臉」在開車??
這味兒,熟悉的讀者盆友可能已經猜到了。
沒錯,策劃、採購、烹飪、食用、電路、模型、加工、軟件、算法一條龍,全是 B 站 up 主稚暉君一個人搞定的,且只花了一個週末就完成了。
就是那個開腦洞一直可以的網紅技術宅「稚暉君」,本名彭志輝,目前是一名 CV 算法工程師。
自稱「野生鋼鐵俠」,這次又做火星車,稚暉君説了,馬斯克是他的偶像。
他希望自己能成為馬斯克那樣既腳踏實地又仰望星空的人。當然,做這個火星車只是一個象徵性 DIY,跟真實的火星車當然不能相提並論。
目前,該「螃蟹」已開源。B 站饞哭的小夥伴已經忍不住復現了起來。
在跟着做了,目前到了食用這一步。
不會焊板子的廚師不是好算法工程師
從畫 PCB 板到寫前端後端代碼,對「真・全棧」稚暉君而言已經是駕輕就熟。
這一次,他甚至涉足了美食區。
這樣,就得到了一個金黃的螃蟹殼。
接下來,還是把目光放回知識區。
選芯片,繪製 PCB 板,就像我吃螃蟹一樣一氣呵成。
然後,給 PCB 板刷上焊錫膏,貼好芯片、電阻、電容等元器件,放到恆温加熱台上煎至兩面金黃,完成迴流焊。
接着祭出 3D 打印機,製作火星車輪子的部分。
裝上攝像頭,把電路板嵌進螃蟹殼,再給螃蟹腿們按上輪子,裝好太陽能電池板。
一個小遺憾是,這裏的「太陽能電池板」並不是真的單晶硅。
稚暉君表示:本來計劃用真的單晶硅來做,但是因為整機尺寸很小,這個面積下發電功率實際上是不太夠的,所以最後沒有采用。
總之,一套令人眼花繚亂的操作之下,螃蟹君完成「虛弱肉身,機械飛昇」,成功進化成了一台迷你火星車!
而這樣一台「螃蟹火星車」,絕不是中看不中用。
稚暉君自己也説,其實項目硬件部分不復雜,最有意思的是軟件和算法。
△稚暉君開發的 CV 算法部署框架
目前,通過將圖像、IMU、ToF 等數據傳輸到手機,將手機作為算力中心運行各種算法,螃蟹火星車能夠實現以下幾大功能。
WiFi 無線圖傳和控制
使用系統級封裝(SIP)的 ESP32 作為主控。ESP32 是一種低成本,低功耗的單片機微控制器,集成了 Wi-Fi 和雙模藍牙。
因此,火星車能支持 2.4GHz WiFi 和低功耗藍牙。並能通過 Socket 方式與手機進行通信,實現外網遠程圖傳和控制。
目標跟蹤
以手機作為算力中心,利用 MTCNN 人臉檢測模型和 KCF 目標跟蹤算法來實現人臉跟蹤,並用 PID 閉環控制小車跟隨。
激光測距
激光測距的實現原理跟手機上的「測距儀」相似,採用的是 ToF 傳感器測距。
稚暉君還通過 PID 閉環控制,實現了限定目標距離。在限定距離下,手動,小車也會跟着移動。
IMU(慣性傳感單元)
採用 MPU6050 傳感器,I2C 接口。
接下來,稚暉君計劃通過 IMU 和 ToF 實現簡化的 SLAM 算法,給螃蟹火星車加入自主導航系統。
ToF 可以用於避障,而通過小車搭載的 RGB 相機和 IMU,可以用來實現簡單的單目 VSLAM。
稚暉君表示,他以前做過一點 ORB-SLAM 相關的工作,所以打算把這部分往螃蟹身上移植。
那麼為什麼想到做這個項目的呢?
稚暉君表示:
最主要的原因還是看到我國首個火星探測器發射成功很激動,有感而做,自己小時候的理想是當天文學家。
本來是想做一個微型電推涵道火箭的,時間的關係來不及,也算挖個坑以後來填吧。
很久沒有更新視頻了,水一期。
真・賽博螃克
看完之後,是不是也覺得自己能做到「食用」這步。還有對螃蟹過敏的網友表示,我只能做到「拍攝」了。
當然,網友們還給這個「螃蟹號火星車」取了一些有趣的綽號。
什麼「機械螃蟹」、「火星登蟹車」…… 以及有網友表示,這是真・「賽博螃克」呀!
不過,也有網友給出「差評」:這螃蟹不是橫着走的,差評!
還有今年的高考畢業生熱切詢問道:想幹這個需要學什麼專業?
網友還給他支招,前面那位,可以瞭解一下機械電子工程。還有自動化、通信工程專業的同學紛紛路過……
不過還是有網友表示,這已經是跨專業了,沒有哪個專業學這麼多東西的,或者説邊學自己專業,再自學其他專業。
既然是火星車,是不是也要像天問一號那樣七個月之後到達火星附近呢?
於是,就有網友預測:暗示七個月之後再更新。
既然如此,那我們就一起拭目以待~
最後温馨提示:螃蟹殼是幹垃圾。
傳送門:
視頻演示:
https://www.bilibili.com/video/BV1ZA411e7Ff
項目地址:
https://github.com/peng-zhihui/MiniRover