PSINS工具箱函数介绍——gpssimu

news2024/9/21 16:41:57

在这里插入图片描述

关于工具箱

gpssimu是生成GPS的位置和速度信息的函数,在psins240101\base\base1目录下
本文所述的代码需要基于PSINS工具箱,工具箱的讲解:

  • PSINS初学指导:https://blog.csdn.net/callmeup/article/details/137087932

gpssimu是生成带误差的GPS位置和速度的函数

函数作用:根据预定的轨迹(avp信息)和相关的误差、延迟等信息,计算出来相对于SIMU的带误差的GPS数据。误差考虑的因素较多,比较准确。
输入与输出

  • 输入:AVP信息、速度误差(标准差)、位置误差(标准差)、一节马尔可夫相关的时间带来的位置误差、GPS与SIMU之间的摇臂误差、SIMU与GPS之间的
  • 输出:带误差的GPS数据,包括:三轴速度、三轴位置(纬经高)、时间戳

例程实践

使用工具箱的“trj10ms.mat”中的数据来进行实验,运行以下程序:

glvs;
load('trj10ms.mat');
out = gpssimu(trj.avp,[1;1;1],[1;1;1]);

上面的 o u t = g p s s i m u ( t r j . a v p , [ 1 ; 1 ; 1 ] , [ 1 ; 1 ; 1 ] ) ; out = gpssimu(trj.avp,[1;1;1],[1;1;1]); out=gpssimu(trj.avp,[1;1;1],[1;1;1]);表示:在三轴速度上加上1m/s的误差,在三轴位置上加上1°的误差。

运行结果

得到的out如下:
在这里插入图片描述
对out的前三项(东北天三轴速度)绘图,得到的图像如下:
在这里插入图片描述
对比速度的真实值(如下图):
在这里插入图片描述

可以看出来误差添加成功

源代码

function gpsVnPos = gpssimu(avp, dvn, dpos, tau, lever, imu_delay, isplot)

global glv
    if nargin<7,  isplot=0;   end
    if nargin<6,  imu_delay=0;   end
    if nargin<5,  lever=0;   end
    if nargin<4,  tau=1;   end
    if length(lever)==1,  lever=[lever;lever;lever];   end
    if length(tau)==1,   tau=[tau;tau];   end
    if length(tau)==2,   tau=[tau(1);tau(1);tau(1);tau(2);tau(2);tau(2)];   end
    if length(dvn)==1;   dvn=[dvn;dvn;dvn];   end
    if length(dpos)==1;   dpos=poserrset(dpos);   end
    %% find the nearest second in avp time
    if length(avp)==7  % avp = [vn0; pos0; T]; % for static
        T = fix(avp(end));
        avp = [zeros(T,3), repmat(avp(1:6)', T,1), (1:T)'];
    end
    idx = zeros(size(avp(:,end))); rt = idx; kk=1;
    gt = imu_delay;
    for k=1:length(avp)-1
        while gt<avp(k,end)
            gt = gt + 1;
        end
        if avp(k,end)<=gt && gt<avp(k+1,end)
            idx(kk) = k; rt(kk) = gt-avp(k,end); kk=kk+1;
        end
    end
    idx(kk:end) = [];
    %% add error
    ts = avp(2,end)-avp(1,end);
    gpsVnPos = zeros(length(idx),7); kk=1;
    for k=1:length(idx) % lever arm + time delay
        ik = idx(k);
        avpi = avpinterp(avp(ik,1:9),avp(ik+1,1:9),rt(k)/ts)';
%         wnb = a2cwa(avp(ik+1,1:3)')*(avp(ik+1,1:3)-avp(ik,1:3))'/ts; % wnb~=web
        wnb = m2rv(a2mat(avp(ik,1:3)')'*a2mat(avp(ik+1,1:3)'))/ts;
        vngps = avpi(4:6)+a2mat(avpi(1:3)')*cros(wnb,lever);
        gpsVnPos(kk,:) = [vngps; avpi(7:9)+la2dpos(avpi, lever); round(avp(ik,end))]';  kk = kk+1;
    end
    dp = markov1([dvn;dpos], tau, 1, length(idx));  % 1st-order Markov error
    gpsVnPos(:,1:end-1) = gpsVnPos(:,1:end-1) + dp;
    if(isplot==1)
        gpsVnPos0 = gpsVnPos(1,1:6); gpsVnPos(1,1:6) = avp(1,4:9);
        gpsplot(gpsVnPos);
        subplot(221), hold on, plot(avp(:,end), avp(:,4:6), 'm-.');
        subplot(223), hold on, 
        plot(avp(:,end), [[avp(:,7)-avp(1,7),(avp(:,8)-avp(1,8))*cos(avp(1,7))]*glv.Re,avp(:,9)-avp(1,9)], 'm-.');
        gpsVnPos(1,1:6) = gpsVnPos0;
    end


函数解析

第一部分,补全输入量:
在这里插入图片描述
第二部分,计算时间戳,对其更新频率:
在这里插入图片描述
第三部分,添加误差:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2079149.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ubuntu24.04】AX210/MT9621/USB网络共享访问无线网络

发现华硕的路由器访问网络经常有问题,比如clash 经常不能正常工作。 即使内网丢包严重? 期望能给台式机增加一个无线网卡访问外网。 我的五代网卡U12, 无法使用wap2企业版的无线网络:【ubuntu24.04】腾达U12 8812au无线网卡成功安装 普通的是没问题的。 对比了一些网卡,wifi…

认知杂谈37

今天分享 有人说的一段争议性的话 I 《别让焦虑困住自己》 嘿&#xff0c;朋友&#xff01;这大热天的&#xff0c;实在是热得让人心里发慌。 I 咱可别再给自己找不痛快啦&#xff0c;赶紧找个舒服的地儿坐下&#xff0c;泡上一杯茶&#xff0c;好好唠唠嗑&#xff0c;给咱的心…

如何克服编程学习中的挫折感:哲学与心理学的启示

在编程学习的道路上&#xff0c;挫折感几乎是每个人都会遇到的障碍。无论是新手还是资深开发者&#xff0c;都会在面对难题时感到沮丧、焦虑甚至是无助。然而&#xff0c;挫折不仅是挑战&#xff0c;更是成长的机会。在这篇博客中&#xff0c;我们将结合哲学与心理学的智慧&…

2024年8月27日(dockerfile应用,创建私有仓库,在企业中分享项目)

一、dockerfile应用 [rootdocker ~]# mkdir http0 [rootdocker ~]# cd http0/ [rootdocker http0]# vim abc.sh [rootdocker http0]# ls abc.sh [rootdocker http0]# vim abc.sh #!/bin/bashrm -rf /run/*httpd*exec /sbin/httpd -D FOREGROUND [rootdocker http0]# echo "…

【大模型理论篇】通用大模型架构分类及技术统一化

1. 背景 国内的 “百模大战” 以及开源大模型的各类评测榜单令人眼花缭乱&#xff0c;极易让人陷入迷茫。面对如此众多的大模型&#xff0c;我们该如何审视和选择呢&#xff1f;本文将从大模型架构的角度&#xff0c;对常见的开源大模型架构进行汇总与分析。资料来源于公开…

创建vue组件时高度为100vh时出现纵向滚动条

<style scoped>.loginBox{padding: 0;width: 100%;min-height: 100vh;background: #c3c4c5;} </style> 原因body自带margin属性 解决方法 在index.html中添加 margin: 0;padding: 0;属性

Spring核心概念复习IOC与DI

Spring IOC概念 控制反转&#xff08;Inversion of Control&#xff09;&#xff1a;这是一种设计原则&#xff0c;用于降低代码之间的耦合度。在传统的编程模式中&#xff0c;对象之间的依赖关系是由对象自身创建和维护的。而在控制反转模式下&#xff0c;对象的创建和依赖关系…

华为eNSP:静态路由配置、浮动路由配置

静态路由&#xff1a; 一、拓扑图 二、路由器配置 2.1&#xff1a;配置接口 R1&#xff1a; [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 [r1-GigabitEthernet0/0/0]qu [r1]int g0/0/1 [r1-GigabitEthernet0/0/1]ip add 10.1.1.1 24 [r1-GigabitEth…

汽车功能安全--TC3xx LBIST触发时机讨论

目录 1. LBIST架构 2. LBIST寄存器配置 3. LBIST触发时机 LBIST&#xff0c;全称Logic Built-in Self Test。 在TC3xx中&#xff0c;LBIST是一种硬件功能安全机制&#xff0c;目的是为了探测MCU内部逻辑电路的潜伏故障(latent faults)。 从使用者角度来看&#xff0c;只需…

celery笔记1

2 Celery介绍 2.1 Celery是什么 # 1 celery 是一个灵活且可靠的&#xff0c;处理大量消息的分布式系统&#xff0c;可以在多个节点之间处理某个任务-现在干一堆活&#xff0c;如果一个人&#xff0c;需要一件件来做-招了几个人&#xff0c;分别安排不同人干活-并发效果--》同…

如何评估超低排放除尘器的长期运行成本和维护成本?

评估超低排放除尘器的长期运行成本和维护成本涉及多个方面&#xff0c;朗观视觉小编认为&#xff0c;以下是一些关键因素&#xff1a; 初始投资成本&#xff1a;首先考虑设备的购买成本&#xff0c;包括除尘器本身及其所有必要的配件和安装费用。 能源消耗&#xff1a;评估除尘…

智能楼层导视软件:提升楼宇导航体验的技术解决方案

亲爱的技术爱好者、开发者及楼宇管理者们&#xff0c;您是否曾为大型建筑内复杂多变的楼层布局而烦恼&#xff1f;是否希望为访客和员工提供更加直观、高效的导航服务&#xff1f;今天&#xff0c;我们向您介绍我们的最新产品——楼层导视软件&#xff0c;一款专为解决现代楼宇…

全渠道营销:SaaS行业的制胜之道

1. 什么是全渠道营销 全渠道营销&#xff08;Omnichannel Marketing&#xff09;是一种综合性的营销策略&#xff0c;旨在通过整合多个线上和线下渠道&#xff0c;实现销售和品牌推广的目标。这种策略强调在不同渠道间提供一致的品牌体验和无缝的过程&#xff0c;确保消费者在…

ssm 汽车的销售平台---附源码96800

目 录 摘 要 1 绪论 1.1 研究背景与意义 1.2研究开发现状分析 1.3主要研究内容 1.4论文章节安排 2 相关技术介绍 2.1Web编程语言 2.2 MySQL数据库 2.3 SSM框架介绍 3 系统分析 3.1 可行性分析 3.1.1 技术可行性分析 3.1.2 市场可行性分析 3.1.3 操作可行性分析…

上半年首次扭亏为盈,极兔中报背后藏着超预期成长潜力

快递行业的“黑马”极兔速递&#xff0c;如今跑出了新成绩。在近日公布的2024年中期业绩中&#xff0c;其上半年收入达到48.62亿美元&#xff0c;同比增长20.6%&#xff0c;领跑整个快递行业。 更令人眼前一亮的是利润&#xff0c;极兔上半年净利润首次转正为3102.6万美元&…

打造敏捷开发环境:JNPF低代码平台的实践与探索

在数字化转型的浪潮中&#xff0c;企业对软件开发的敏捷性和效率提出了更高的要求。传统的软件开发模式通常耗时长、成本高昂&#xff0c;难以迅速适应市场变化。低代码平台的出现&#xff0c;为解决这一问题提供了新的视角。本文将探讨如何运用JNPF低代码平台构建敏捷开发环境…

Linux远程管理—SSH协议

SSH协议是远程连接的安全性协议&#xff0c;该协议可以有效防止远程管理过程中的信息泄漏&#xff0c;是西安传输数据加密&#xff0c;能够防止DNS和IP欺骗&#xff0c;传输数据压缩&#xff0c;加快传输速度。 安全验证方法有口令验证和密钥验证两种实现手段&#xff0c;该协…

CentOS7 mysql-cluster安装与配置

目录 下载安装: #拷贝ndb_mgm和ndb_mgmd #创建并编辑配置文件 #初始化管理节点 安装数据节点和sql节点 #初始化mysql #启动mysql #登录并设置新密码 #启动ndbd节点: #启动和停止管理节点 mysql-cluster安装与配置 下载安装: 下载工具包地址:https://dev.m…

JAVA毕业设计165—基于Java+Springboot+vue3的二手房交易管理系统(源代码+数据库+11000字论文)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue3的二手房交易管理系统(源代码数据库11000字论文)165 一、系统介绍 本项目前后端分离(还有ssm版本)&#xff0c;分为用户、卖家、管理员三种角色 1、用户&a…

基于SSM的零食商城系统

1.项目介绍 基于SSM的零食商城系统&#xff0c;前端采用Bootstrap框架。 后台采用经典SSM框架。数据库采用MySQL。 包括用户前台和管理后台&#xff0c;后台管理又可以分为店员&#xff08;或客服&#xff09;和超级管理员&#xff0c; 会员可以通过商城门户进行查看商品、选…