大學本科渣物理,碩士打算去美帝讀機器人方面的,請問需要自學些啥呢?
12-28
rt,物理渣,打算轉機器人方面的,需要惡補哪些。。。。。
取決於你對哪個領域感興趣。以人做類比,人完成一個行為大致需要四個系統,一是感知器官(眼睛,皮膚)來感知周圍環境; 二是大腦,完成推理決策; 三是脊椎控制運動;四是軀體完成運動。相應的機器人身上需要1)各種sensor (camera, haptics, lidar), 2)artificial intelligence, 3) motion control. 4) hardware。下面分開說各個領域需要了解的知識。
1. sensor and artificial intelligence。可能涉及的領域包括(不限於):
- computer vision。這個要求很強的編程能力。
- sensor fusion, kalman filter, SLAM。這方面的數學基礎是probability and random process。題主可以看看Sebastien Thrun的Probabilistic Robotics,裡面詳細介紹了Kalman filter和Particle Filter.
- machine learning。機器人領域常用到reinforcement learning. Berkely的Pieter Abbeel和Stanford的Andrew Ng在這個領域的成果非常漂亮,可以讀他們的論文。同時Sutton和Barto的Reinforcement Learning: An introduction是一門很好的入門教材,這本書有html版Sutton Barto Book: Reinforcement Learning: An
Introduction。
從自學的角度來說,題主需要多學習編程和probability.
2. motion planning and control。 需要學自動控制原理,機器人領域的控制方法主要包括
- PID control, 最經典的控制理論。我當時用的教材是Feedback Control of Dynamic Systems
- Nonlinear control, 需要學習Lyapunov theory. 我學習時用的是J.J Slotine 的Applied Nonlinear Control, 國內有影印版。
- Optimal control。推薦教材 optimal control and estimation。同時可以學習一些optimization的課程,包括linear programming, convex programming。關於linear optimization推薦Bertsimas的Introduction to linear optimization, convex optimization推薦看Stephen Boyd的convex optimization Convex Optimization.
- Robust control, adaptive control。
- motion planning方面常用的演算法是RRT,PRM和trajectory optimization。需要對CS的algorithm比較熟悉(BFS, dijkstra algorithm, A*, etc), 推薦看Steven LaValle的Planning Algorithms Planning Algorithms / Motion Planning.
一開始自學時題主可以從PID control入手。對於更加現代的機器人控制理論,可以參考edx上的公開課Underactuated Robotics
3. hardware, 我本人對這方面缺乏了解。等待大牛來解惑。
以前J.J.Craig的教材introduction to robotics常被推薦來做入門。但這本書主要針對傳統的工業機器人,現在新的機器人領域(人形機器人,無人機,水下機器人)等缺乏涉獵。建議題主可以先看看IEEE Spectrum上面的robotics板塊,先看看自己對具體哪一種機器人,哪一個子領域特別感興趣,然後再找到相關的實驗室。然後就可以直接看對應實驗室的論文啦走上phd的不歸路。
別上來就是惡補自學
首先先努力到一個適合自己的學校
如果想從事某某教授的某一項研究,那麼惡補/自學一下基礎還成。目前連方向都沒有就別撲進知識里去比較好。
看點導論,看點學校網頁。
精髓在PLC和單片機
線性代數
這個我有切身經歷~都別攔著我……本科天文(和物理差不多嘛)現在在美帝某渣校讀ECSE的ROBOTICS。
首先從機器人上,你要明白自己要做那一部分,有人是做CV視覺的,有人做工業機器人的,還有做UAV的,每個方向的要求都不同。然而從物理的角度來講,我們的線性代數水平還是不夠…熟練。不信你可以看一下機器人機械臂關於pathplanning最基礎的教材。另外就是編程能力了,之前也熟練應用過Linux,也寫過不少C的程序,但現在用khepera跑一些簡單的演算法或者mbed這種IoT設備的時候還是力不從心。
留個坑,困了。
推薦閱讀:
※如何評價今年端午五芳齋花 1000 萬徵集裹粽機器人?
※飛機可變後掠翼(variable-sweep wing)為什麼被淘汰?其機械結構會有多複雜?
※中國機械製造業的工藝與材料的短板在哪裡?
※航空母艦理論上可以造多大?
※21世紀工程師穿越成統一六國的嬴政,要幾代人,多少年才能搞出蒸汽機?