lstm
智慧型車ai電磁部署學習 (一)
ai組本意是通過短前瞻短資料集去長前瞻的打腳值,來使得智慧型車通過短前瞻獲得與長前瞻一致的速度。
相對於短前瞻,長前瞻的資訊相對更加豐富、準確,短前瞻甚至會喪失一部分關鍵資訊。經過了解、學習lstm後,並與隊友討論,認為輸入不僅要只有電感值,可以嘗試輸入一些前次或前前次的舵機打腳值與某些主要電感數值,來使得系統更加穩定,且與時間有關,前後聯絡更加緊密。因為電磁變化是個連續過程,相鄰兩次的數值是有關聯的,而此關聯與轉角值恰好是有某種非線性函式關係。
資料都是微控制器採集儲存的,需要把資料整理、傳送到pc端並轉換成乙個訓練集、測試集。這裡假定智慧型車採用無線透傳串列埠模組或是sd卡fatfs檔案系統儲存採集資料。
本著在家要摸魚的原則,優化了這一流程,更加方便實現訓練流程,減少時間開銷,編寫了乙個txt轉py陣列,且隨機打亂自動分配訓練、測試集的指令碼。
可以讀取相應格式的txt文字,轉換成對應x
y
矩陣,自定義設定訓練集比例,可直接傳入神經網路。
首先規定通訊格式。
在檢測到begin
關鍵字後開始進行資料轉換,一行資料的前n-1項是神經網路的輸入,最後的乙個引數為訓練的結果值,例如100,100,0
,其中100
100
為2輸入神經網路的x
值,0
為y
值(這裡我用的是softmax分類,通過數字轉換成獨熱碼,真正的多輸出還需改寫指令碼,舵機打腳值乙個資料位即可)。
通過讀取txt內的資料並將其轉換為train_x
,train_y
,test_x
,test_y
,四個矩陣。
train_x_org, train_y_org = readtxt_make_arr(
"usart.txt"
,"begin"
)train_x_y_org = np.c_[train_x_org, train_y_org]
# 合併矩陣 為了保證打亂順序後其x y值仍然相互對應
train_x_y, test_x_y = split_train(train_x_y_org,
0.2)
train_x, train_y = np.split(train_x_y,[-
1], axis=1)
# 分割陣列最後一列做為y
test_x, test_y = np.split(test_x_y,[-
1], axis=1)
np.split(train_x_y,[-
1], axis=1)
# axis = 1對列操作
讀取後,可以看到x_org
與y_org
的大小與輸入一致。
打亂並且分割後,訓練集與測試集數量相加與源矩陣維度相同,分割比例為0.2,數量正確。
智慧型車學習歷程
單工,半雙工和全雙工 回顯at命令 數據機 線性ccd com口 閾值二值化 影象資料 上位機和下位機 攝像頭除錯助手 線性 ccd 除錯助手 虛擬示波器 舵機 電機放置在裡面 時鐘定義列表 pdb彈性定時器 flextimer,ftm 指標結構體 gpio 通用輸入輸出 通用非同步接收器 傳送器 ...
智慧型車 電磁循跡演算法(1) 加權濾波的應用
1 加權濾波 對於ad採集到的放大後的電磁訊號,需要進行簡單的濾波處理,經由這一處理對各通道的ad值進行歸一化,就可以得到可用於進行差比和差計算的資料。本文主要研究對ad採集到的原始訊號進行加權濾波的實現方法,簡單方便且不占用大量算力 且對單一通道進行分析,顯然的,在複雜電磁環境下難免出現電磁訊號的...
智慧型車 直立電磁組 前期的一些總結
關於車的前瞻 需要一定的前瞻保證提前檢測到道路前方的資訊,在入彎時需要減速,出彎時需要加速,而加減速需要一定的距離,所以前瞻理論上應該至少等於感測器採集資料週期內車子前進的距離 加速或減速需要的距離。目前看來前瞻的作用更多體現在提前轉彎,在速度快時,提前轉彎顯得尤為重要。而且前瞻越大以後過小s彎時車...