第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用于鼠標(biāo)位置的 Python 卡爾曼濾波器未按預(yù)期工作

用于鼠標(biāo)位置的 Python 卡爾曼濾波器未按預(yù)期工作

寶慕林4294392 2023-09-26 14:39:20
這是代碼-import numpy as npimport pandas as pdfrom tkinter import *?### True Value: What should be the actual value if there was no error in measurements### Estimates : It is the predicted value.?#### Error in Estimate: Error in the predicted value### Measurements : It is the actual value measured with sensor#### Error in Measurements: Error in the measured value?#### initializing variablestrue_x,true_y = 0,0 # True Mouse location?Est_x,Est_y = 0,0? # Initial Estimate? ?Err_est_x,Err_est_y = 5,5 # Error in Initial EstimateM_x,M_y = 0,0 # Initial MeasurementsErr_msr_x,Err_msr_y = 5,5 # Error in Initial Measurementskg_x,kg_y = 0,0 # Kalman Gain???def getKG(Err_est, Err_msr):? ? return Err_est/(Err_est+Err_msr)def getEst(EST_prev, kg, Msr):? ? return EST_prev+kg*(Msr-EST_prev)def getE_est(kg, Err_est):? ? return (1-kg)*Err_estdef updateKal(val, kg, Est, Err_est, Err_msr):? ? kg = getKG(Err_est, Err_msr)? ? Est = getEst(Est, kg, val)? ? Err_est = getE_est(kg, Err_est)? ? return kg, Est, Err_estkg_x,Est_x,Err_est_x = updateKal(true_x,kg_x,Est_x,Err_est_x,Err_msr_x)kg_y,Est_y,Err_est_y = updateKal(true_y,kg_y,Est_y,Err_est_y,Err_msr_y)? ??def activate_paint(e):? ? global lastx, lasty? ? global true_x, true_y? ? cv.bind('<B1-Motion>', paint)? ? lastx, lasty = e.x, e.y? ? true_x, true_y = e.x, e.y? ? Est_x, Est_y = e.x, e.ydef paint(e):? ? global lastx, lasty? ? global true_x, true_y? ? global kg_x, Est_x, Err_est_x? ? global kg_y, Est_y, Err_est_y? ? global firstval紅色的是卡爾曼,藍(lán)色的是實際的
查看完整描述

2 回答

?
12345678_0001

TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊

我沒有運(yùn)行你的代碼,但你的變量Err_est_x和Err_est_y只會變得更?。磕仨氃诿看握{(diào)用后增加這些變量,updateCall如下所示:


# in method paint()

#

kg_x, Est_x, Err_est_x = updateKal(x, kg_x, Est_x, Err_est_x, 0.5)

kg_y, Est_y, Err_est_y = updateKal(y, kg_y, Est_y, Err_est_y, 0.5)

Err_est_x = 1.1 * Err_est_x + 0.1 # new code

Err_est_y = 1.1 * Err_est_y + 0.1 # new code

解釋:如果您的估計誤差較低,則新的噪聲測量的信息也較低 [1]。這在您的可視化中也可見:最初,紅色卡爾曼估計“非常快”,因為您的估計誤差很高。但是,當(dāng)您的估計誤差越來越小時,您的紅色卡爾曼估計就會“減慢完成”。


請注意,我沒有運(yùn)行您的代碼,因此所選值(1.1 和 0.1)可能過高或過小。增加/減少這兩個數(shù)字以增加/減少紅色卡爾曼估計的“速度”。


[1] 例如,如果您的估計誤差為 0,則新測量的信息增益也為 0。


查看完整回答
反對 回復(fù) 2023-09-26
?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗 獲得超4個贊

我認(rèn)為您缺少的是流程模型。如果您正在測量靜態(tài)參數(shù),這樣的策略是有效的,但如果您正在跟蹤的狀態(tài)本身正在發(fā)生變化,就像這里一樣,您需要一個過程模型來考慮這些變化。您將在每個更新步驟之前執(zhí)行流程模型估計步驟。

本例中的過程模型將涉及一些基本的牛頓物理學(xué)。我建議擴(kuò)展您正在跟蹤的狀態(tài)(x 和 y)以包括速度(vx,vy)和加速度(ax,ay)。因此,您的狀態(tài)向量將是X = [xy vx vy ax ay] T ,而不是 [xy] T。(您可以根據(jù)每個時間步長的運(yùn)動量得出速度,并且可以嘗試從多個時間步長的運(yùn)動中得出實際加速度,或者假設(shè)一個合理的加速度可能就足夠了,因為真實加速度這種情況可能會不穩(wěn)定并且不容易建模。)您還需要一個過程矩陣F來將X轉(zhuǎn)換為測量向量Z(即, [xy] T,您正在進(jìn)行的模糊測量)。在這種情況下,F將是一個 2x6 矩陣。


查看完整回答
反對 回復(fù) 2023-09-26
  • 2 回答
  • 0 關(guān)注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號