专项1:理论横向误差计算

news2024/11/27 12:29:27

1.前言

车辆实际位置与轨迹要求的位置的误差大小是反映自动驾驶控制精度的关键性指标,也是作为控制系统的输入量。在对车辆的控制算法进行研究时候,首先需要厘清控制系统的输入。控制系统的输入的关键性环节就是笛卡尔坐标系和frent坐标系之间的转换。

2.理论计算时涉及到的物理量

2.1 笛卡尔坐标系与frent坐标系

2.2 专有名词

起始点:参考轨迹的起始点,相对时间戳为0;

匹配点(Xmatch,Ymatch):根据车辆位置找到参考路径最近点,并以此点建立Frenet坐标系。由位置寻找,与相对时间戳无关;

参考点:根据当前绝对时间戳确定参考点位置;

预瞄点:根据预瞄绝对时间戳确定预瞄点位置,预瞄绝对时间戳=参考绝对时间戳+预瞄时间;

整个问题可以描述为在Cartesian坐标系下,车辆运动状态可以描述为\left [ x,y,\theta_{x},v_{x},a_{x},k_{x}\right ],在frenet坐标系下,车辆的运动状态可以描述为\left [ s_{r} ,x_{r},y_{y},\theta _{r},k_{r},{k}'_{r}\right ],求车辆在Frenet坐标系下的运动状态表达式:

\left [ s,\dot{s },\ddot{s},d,\dot{d},\ddot{d},{d}',{d}''\right ]

3.计算方法

在apollo方法中,是以匹配点为原点,建立frent坐标系,然后将笛卡尔坐标系中的(dx,dy)转换到frent坐标系中。

(1)求投影点

Frenet坐标系下的参考线都是由规划模块得到的一系列离散点,假设车辆当前的质心位置矢量为\left [ x _{c},y_{c}\right ],我们找到参考线上距离车辆质心最近的离散点\left [ x_{m},y _{m}\right ]作为匹配点,计算匹配点到车辆质心的向量\vec{l},以及匹配点的单位切向量\vec{\tau_{m} }.

投影点在笛卡尔坐标系下的向量值\vec{r}近似等于匹配点的向量值\vec{r_{m}}加上向量\vec{l}\vec{\tau _{m}}方向上的投影分量,得:

投影点的曲率近似等于匹配点的曲率,即k_{r}=k_{m},而由曲率定义求得投影点

 以上就完成了投影点在笛卡尔坐标系下的状态求解,如下图所示,黄色点为车辆质心(x_{c},y_{c}),红色点为参考线上的匹配点\left ( x_{m}, y_{m}\right ),绿色投影点为\left ( x_{r},y_{r}\right ).

(2)求s

首先,找到曲线上离位置\left ( x,y \right )最近的参考点\vec{r}=\left ( x_{r},y_{r} \right )(即将位置Q投影到参考线上的投影点P),该参考点处的s_{r}就是(x,y)在Frenet坐标系下的s。也可以通过将参考线上的离散点累积求和来得到,但是这种计算会累积误差,只有在局部路径规划中,误差较小且可控。

未完待续。。。

 

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

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

相关文章

【进阶篇】四、字节码增强框架:ASM、ByteBuddy

文章目录 1、ASM2、ASM字节码增强3、ASM入门案例4、ASM Java Agent实现增强类的方法5、Byte Buddy6、Byte Buddy案例 相比自己的代码里用Spring AOP添加某些功能,字节码增强更适配无侵入式的Java Agent场景。比如下面写个Java Agent打印 任意Java程序中方法执行的…

电商技术揭秘九:搜索引擎中的SEO数据分析与效果评估

相关系列文章 电商技术揭秘一:电商架构设计与核心技术 电商技术揭秘二:电商平台推荐系统的实现与优化 电商技术揭秘三:电商平台的支付与结算系统 电商技术揭秘四:电商平台的物流管理系统 电商技术揭秘五:电商平台的个性…

DC-3渗透测试复现

DC-3渗透测试复现 目的: 获取最高权限以及5个flag 过程: 信息打点-sql注入-反弹shell- pkexec提权(CVE-2021-4034) 环境: 攻击机:kali(192.168.85.136) 靶机:DC_3(192.168.85.133) 复现…

记录一下hive跑spark的insert,update语句报类找不到的问题

我hive能正常启动,建表没问题,我建了一个student表,没问题,但执行了下面一条insert语句后报如下错误: hive (default)> insert into table student values(1,abc); Query ID atguigu_20240417184003_f9d459d7-199…

「每日跟读」英语常用句型公式 第13篇

「每日跟读」英语常用句型公式 第13篇 1. How was __? __怎么样? How was the concert last night? (昨晚的音乐会怎么样?) How was your trip to the museum? (你去博物馆的旅行怎么样?&#xff09…

Rust腐蚀服务器修改背景和logo图片操作方法

Rust腐蚀服务器修改背景和logo图片操作方法 大家好我是艾西一个做服务器租用的网络架构师。在我们自己搭建的rust服务器游戏设定以及玩法都是完全按照自己的想法设定的,如果你是一个社区服那么对于进游戏的主页以及Logo肯定会有自己的想法。这个东西可以理解为做一…

嵌入式4-16

tftpd #include <myhead.h> #define SER_IP "192.168.125.243" //服务器IP地址 #define SER_PORT 69 //服务器端口号 #define CLI_IP "192.168.125.244" //客户端IP地址 #define CLI_PORT 8889 //客户端端…

MSQL DML数据操作语言

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 往期热门专栏回顾 专栏…

【MogDB】在ORACLE和MogDB中查看存储过程出参游标数据的方式

一、前言 使用ORACLE作为数据库的应用软件中&#xff0c;偶尔会遇到使用游标作为出参的存储过程&#xff0c;这种存储过程迁移到MogDB并不需要进行改造&#xff0c;但是在开发这样的存储过程时&#xff0c;开发人员偶尔会想要在数据库中测试执行一下&#xff0c;看看游标中的数…

Fiddler安装与使用的深度解析

在现今的互联网开发领域&#xff0c;无论是前端开发、后端开发&#xff0c;还是移动应用开发&#xff0c;对HTTP协议的深入理解和应用都至关重要。而在这个过程中&#xff0c;一个强大的HTTP调试代理工具就显得尤为关键。Fiddler&#xff0c;作为一款功能强大的网络调试工具&am…

数据库练习(二)

建表 create table employee(empno int primary key auto_increment , ename char(10) , job char(6) , mgr int , hiredate date , sal float(10,2),comm float(10,2),deptno int ); insert into employee(empno…

【简单介绍下单片机】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

元类的执行

class MetaB(type):def __new__(cls, name, bases, attrs):print(f"使用元类 {cls.__name__} 创建{name}类 ")return super().__new__(cls, name, bases, attrs)class A(metaclassMetaB):passclass C(A):pass元类MetaB的__new__方法应该只会在创建类A时被调用一次, 因…

集成电路测试学习

集成电路&#xff08;Integrated Circuit&#xff0c;IC&#xff09;整个设计流程包括&#xff1a;电路设计、晶圆制造、晶圆测试、IC封装、封装后测试。 IC测试目的&#xff1a;一、确认芯片是否满足产品手册上定义的规范&#xff1b;二、通过测试测量&#xff0c;确认芯片可以…

Python爬虫:requests模块的基本使用

学习目标&#xff1a; 了解 requests模块的介绍掌握 requests的基本使用掌握 response常见的属性掌握 requests.text和content的区别掌握 解决网页的解码问题掌握 requests模块发送带headers的请求掌握 requests模块发送带参数的get请求 1 为什么要重点学习requests模块&…

Unity架构师进阶:红点系统的架构与设计

面试的时候经常被问道如何来设计一个红点系统,本文将详细地介绍如何设计一个红点系统&#xff0c;有哪些接口&#xff0c;并完整地给出实现。 红点系统的需求分析 首先我们来分析一下红点系统的设计需求: 红点系统严格意义上来说不属于框架&#xff0c;而是游戏逻辑&#xff0…

DOS时代经典软件,落下帷幕,国产中文编程,蓬勃发展

互联网的变迁好像翻涌的波涛&#xff0c;有些我们以为已经忘掉的软件&#xff0c;其实还留在我们心里&#xff0c;特别是那些经历过从DOS系统换到Windows系统的人&#xff0c;这种感觉更加明显。 说起DOS软件&#xff0c;它是很多80后年轻时的美好记忆。虽然现在它已经成为了过…

Python数学建模学习-PageRank算法

1-基本概念 PageRank算法是由Google创始人Larry Page在斯坦福大学时提出&#xff0c;又称PR&#xff0c;佩奇排名。主要针对网页进行排名&#xff0c;计算网站的重要性&#xff0c;优化搜索引擎的搜索结果。PR值是表示其重要性的因子。 中心思想&#xff1a; 数量假设&#…

【DA-CLIP】图像退化类型检测功能演示代码

背景 在CLIP基础上微调而来&#xff0c;使用图像控制器编码生成退化类型embedding并在训练中对图像编码器进行控制。针对十种退化类型进行了训练。 解决CLIP模型在图像纹理等层面无法针对退化类型识别或识别率较低的问题。 训练数据集情况 GitHub有对应数据集连接 完整代码 项…

【智能算法】鸭群算法(DSA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2021年&#xff0c;Zhang等人受到自然界鸭群觅食行为启发&#xff0c;提出了鸭群算法&#xff08;Duck Swarm Algorithm, DSA&#xff09;。 2.算法原理 2.1算法思想 DSA基于自然界鸭群觅食过程&…