首先稱贊一下,能早早有自己的想法,並且開始自學。
智能汽車其實涵蓋了很多的方向,我暫時能想到的有:
- 測量。主要涉及各種傳感器的原理,標定,使用,以及初步的訊號處理。常見的傳感器有毫米波雷達,激光雷達,單目網絡攝影機,雙目網絡攝影機等。
- 感知。主要涉及的機器視覺和電腦視覺。目的是從傳感器訊號中獲取有價值的資訊。典型的例子就是從激光雷達的點雲裏找出周圍的車輛。有很多CV的小夥伴就耕耘在這個領域裏。
- 定位。確定車輛位置和姿態。你說的SLAM就是一個例子。搞高精度地圖的也可以歸到這個方向。
- 多傳感器融合。融合不同的傳感器資訊,獲得互補的,更穩健的資訊。單獨拿出來說,是因為融合的方式比較多樣,難以籠統的歸類到上述三條的任意一個中去。
- 決策。指根據已有環境和自身車輛的資訊,確定正確的行為。在這裏集中了很多折騰馬可夫鏈,決策樹,強化學習的小夥伴。
- 控制。負責把決策轉化為行動。基本就是傳統的控制論那一套,具體運用到了汽車上。另外這個領域需要你熟知車輛的動力學特性以及舒適型需求,以免設計出來的控制策略過於刺激。
- 通訊。車內部大量的傳感器,控制器,執行器都需要通訊。在未來車和車之間,車和交通管制中心之間很可能也要通訊。在這個領域你會接觸到各種總線技術(比如CAN)以及標準(比如Autosar)。ROS大概也可以算到這個領域裏。
- 有人認為智能制造也算智能汽車的一環。我覺得這種分類是胡來。見仁見智了。
以上的任何一個方向都足夠讀個博士出來。自學「智能汽車」在我看來很容易找不到方向,出現「什麽都學了點皮毛,然後就學不進去」的困境。
我並不推薦在本科期間就深入某個領域(大佬除外哈,大佬無所畏懼),有些事讀研讀博的時候做更合適。我的建議是:
- 打好本科基礎。比如你要搞SLAM,需要大量的線性代數運算。搞決策,需要概率論和最佳化理論。搞控制,需要控制論和汽車動力學。搞傳感器和通訊,需要訊號處理。另外,本科成績刷高點,也方便你保研出國嘛。
- 掌握一門程式語言。MATLAB,Python,C++都行。不要貪多,一門熟練之後學別的都快。了解最基本的數據結構和演算法。最重要的是:養成好的編程習慣,比如使用git,寫註釋文件,寫單元測試,使用debug工具,用搜尋引擎尋找問題,閱讀源碼。
- 學會使用任何一個Linux發行版(建議Ubuntu)。隨便裝個虛擬機器耍兩天不算哈。要學會在Linux環境下配置開發環境,編寫程式。
- 用專案驅動學習。你們學校應該有各種學生車隊可以加入,真刀真槍做一個專案,收獲遠遠大於閉門造車。learn by doing嘛。去企業實習或者去教授的課題組搬磚也有類似的效果。
- 切忌盲目冒進。說實話你現在自學的東西有點龐雜了。比如SLAM(我猜你搞的visual SLAM吧)這種硬核問題,我建議你掌握好機器視覺、線性代數、概率論和運動學之後再慢慢啃。
- 讀研讀博吧。學校給本科生開智能駕駛方向,在我看來噱頭大於實質。