# UKF、CKF的目标跟踪仿真.rar

• shuashuaoo
了解作者
• matlab
开发工具
• 2KB
文件大小
• rar
文件格式
• 0
收藏次数
• 10 积分
下载积分
• 12
下载次数
• 2020-02-28 11:00
上传日期

UKF、CKF的目标跟踪仿真.rar
• UKF、CKF的目标跟踪仿真
• CKF.m
1.6KB
• nonlinear_targettracking.m
2.3KB
• UKF.m
1.8KB

clear all; close all; monte = 100; % Monte-Carlo times tf = 100; dt = 1; Q = [dt^3/3 dt^2/2 0 0 0; dt^2/2 dt 0 0 0; 0 0 dt^3/3 dt^2/2 0; 0 0 dt^2/2 dt 0; 0 0 0 0 1.75/10^3*dt]; R = diag([1000;100/10^6]); xk = zeros(5,1); Pkk1 = zeros(5,5); xk0 = [1000;300;1000;0;-2]; Pkk1 = diag([100;10;100;10;100/10^6]); y = zeros(2,1); rms_ukf = zeros(5,101,monte); for i = 1:1:monte xk = xk0; xkk1 = sqrt(Pkk1)*randn(5,1)+xk; xkarr = xk; % UKF xkhatarr_ukf = xkk1; xkk1_ukf = xkk1; Pkk1_ukf = Pkk1; l = 1; for t = dt:dt:tf %% true state value %tic; F = [1 sin(xk(5))/xk(5) 0 (cos(xk(5))-1)/xk(5) 0; 0 cos(xk(5)) 0 -sin(xk(5)) 0; 0 (1-cos(xk(5)))/xk(5) 1 sin(xk(5))/xk(5) 0; 0 sin(xk(5)) 0 cos(xk(5)) 0; 0 0 0 0 1]; x = F*xk + sqrt(Q)*randn(5,1); xk = x; y(1,1) = sqrt(xk(1)^2+xk(3)^2); y(2,1) = atan2(xk(3),xk(1)); y = y+sqrt(R)*randn(2,1); %t0(i,l) = toc; %% nonlinear filters % UKF or CKF [ xkk1_ukf,Pkk1_ukf] = UKF( xkk1_ukf, Pkk1_ukf, y, Q, R); % [ xkk1_ukf,Pkk1_ukf] = CKF( xkk1_ukf, Pkk1_ukf, y, Q, R); xkarr = [xkarr xk]; xkhatarr_ukf = [xkhatarr_ukf xkk1_ukf]; l = l+1; end rms_ukf(:,:,i) = xkarr-xkhatarr_ukf; end mse_ukf = zeros(5,101); mse_ukf_pos = zeros(101,1); mse_ukf_vel = zeros(101,1); for i = 1:1:101 for j=1:1:monte mse_ukf(1,i) = mse_ukf(1,i)+(rms_ukf(1,i,j))^2; mse_ukf(2,i) = mse_ukf(2,i)+(rms_ukf(2,i,j))^2; mse_ukf(3,i) = mse_ukf(3,i)+(rms_ukf(3,i,j))^2; mse_ukf(4,i) = mse_ukf(4,i)+(rms_ukf(4,i,j))^2; mse_ukf(5,i) = mse_ukf(5,i)+(rms_ukf(5,i,j))^2; end mse_ukf_pos(i) = sqrt((mse_ukf(1,i)+mse_ukf(3,i))/monte); mse_ukf_vel(i) = sqrt((mse_ukf(2,i)+mse_ukf(4,i))/monte); mse_ukf(5,i) = sqrt(mse_ukf(5,i)/monte); end k=1:1:101; figure;plot(k,mse_ukf_pos(k)); figure;plot(k,mse_ukf_vel(k)); figure;plot(k,mse_ukf(5,k));

相关推荐
• rsi-bot
发送采购订单并跟踪头寸表现。 超过预设的盈亏水平后平仓 安装依赖项 对于此程序，我们将使用websocket，json，pprint，talib，numpy，datetime，os，binance.client和twilio.rest 要设置所需的软件包，请在确保...
• DiscordBot:Discord Bot跟踪学生是否在线
该Discord机器人正在跟踪学生是否在线。 安装 要在本地启动机器人，请执行以下操作： npm install npm start 注意：因此，您需要自己一个机器人，并将您的Bot Secret Token插入index.js中，如下所示： bot.login...
• slacktheme_bot
.oauth和.giphy是未跟踪的文件，其密钥/令牌分别用于slack和giphy。 perl取决于： cpanm Class::Tiny WebService::Slack::WebApi 验证码 使用创建 将“ Bot用户Oauth访问令牌”粘贴到.oauth 范围：需要chat:write...
• JobClock:PythonTwisted bot 用于跟踪任务工作花费的时间
Python/Twisted bot 用于跟踪任务/作业花费的时间 安装 安装 Python 2.7 安装 Virtualenv git clone https://github.com/blha303/JobClockBot cd JobClockBot; virtualenv env env/bin/pip install -r ...
• figma-version-bot：电报bot，用于跟踪Figma中的文件版本
Telegram机器人，用于跟踪Figma中的文件版本。 基于 安装和本地启动 安装 克隆此仓库： git clone https://github.com/rushelex/figma-version-bot 更改.env文件中的环境变量 在根文件夹中运行yarn 运行./start-...
• teams-attendance-bot:Microsoft Teams Bot通过位置跟踪出勤情况
团队出勤机器人会跟踪出勤统计信息，还可以捕获提交其出勤的用户的位置。 入门 该项目来自ms-teams-hello-world nodejs示例。 它使用以下额外的内容使开发更容易 nodemon在文件更改时自动重新启动服务器 序列化...
• 电影跟踪机器人
Movie Tracker Bot是一种电报机器人，可以跟踪一个人观看或假装观看的电影。 范围 目标：协助用户跟踪电影 特征： 与IMDB的电影数据库集成 跟踪感兴趣的电影 马克看过电影 按类型过滤电影 从列表中选择随机电影 ...
• Winnie_Bot:针对作者的Discord机器人，具有挑战，目标跟踪和提示功能
Winnie允许用户跟踪目标，互相挑战以进行文字战和冲刺，并获得提示以协助他们进行写作。 将Winnie添加到您的Discord服务器 如果要在服务器上运行Winnie，则可以邀请公共Winnie_Bot帐户，也可以使用Winnie的代码设置...
• PackageTrackerBot：电报包跟踪Bot
PackageTracker机器人 快速开始 docker run -e BOT_ID=YOUR_ID -v /data/ptb:/usr/app/db indexyz/packagetrackerbot
• discord_bot_apex:Discord Bot用于跟踪Apex传说统计
跟踪器横幅示例 不和谐命令 以下是该漫游器当前可用的所有命令。 请注意，默认命令前缀为“ !!”。 可以在运行时通过环境变量自定义。 指令 争论 描述 help 没有任何 向用户发送直接消息，列出所有可用的bot命令...