自动驾驶中的障碍物时间对齐法
描述
自动驾驶算法使用的系统往往不是实时系统,因此每个节点间拿到的数据可能不是同一时间的数据,从而造成系统误差,针对这一现象,工程上往往采用时间对齐内插外推法。这里我们用感知障碍物来举例。
自动驾驶系统有许多重要模块,假设每个模块占用一个进程,即节点,那么进程与进程间需要相互通信来传递数据。决策规划节点需要感知节点传来的障碍物信息来做决策规划。假设在 t 1 t1 t1时间点,决策规划收到了感知障碍物的数据,但这个障碍物的位姿一定是在 t 1 t1 t1时间点的位姿吗,不一定,因为不是实时系统,数据传输存在延时,所以决策规划在 t 1 t1 t1时间点收到的感知障碍物数据很可能是更早的 t 0 t0 t0时间点的数据,这个时间错位可能是几毫秒到几十毫秒,这个时间错位对高速场景可能最终导致障碍物实际距离差出了几米。所以针对这种非实时系统导致的时间错位的情况,我们需要进行时间对齐,内插外推出感知障碍物更准确的位姿。
具体做法
因为感知和定位的需要,自动驾驶系统中往往存在一个全局里程计odometry,odometry是个相对概念,并不代表车辆真实的utm位姿,只是反映了不同时间点位姿的变化过程,这个里程计由translation和rotation组成,反映了车辆x y z yaw pitch roll六个维度的变化。
-
在决策规划节点里,我们需要记录odometry历史到现在的一段时间轴,时间轴设置几秒即可,因为延时不会太大,时间轴长了反而会降低程序效率。
-
假设在 t 1 t1 t1时刻,决策规划拿到了感知障碍物的数据,那么先读取感知障碍物自带的时间戳,假设为 t 0 t0 t0,这个时间戳是感知发布那一帧信息时打的,这个时间戳往往比此时决策规划的现在的时间更早,因为信息传递需要时间。拿到这个时间戳后,在第1步里记录的时间轴里去找对应的odometry的位姿,并记录为 p o s e 0 pose0 pose0
-
根据此时的 t 1 t1 t1时刻,在时间轴里去找对应的odometry的位姿,并记录为 p o s e 1 pose1 pose1
-
由 p o s e 0 pose0 pose0和 p o s e 1 pose1 pose1可计算出从 t 0 t0 t0时刻到 t 1 t1 t1时刻的位姿转移变化矩阵,记为 t f tf tf
-
将 t f tf tf施加到 t 0 t0 t0时刻感知障碍物的位姿上,得到的结果是 t 0 t0 t0时刻感知障碍物在 t 1 t1 t1时刻时相对于本车的位姿
-
因为障碍物可能存在速度,因此在做完tf转换后还需预测推理更准确的位置,这里我们采用最简单的cv预测(恒定速度预测),注意在预测前还需对障碍物速度方向施加tf转换。预测时间为 t 1 − t 0 t1-t0 t1−t0
-
预测的距离方向施加在第5步得到的位姿上,即可得到 t 1 t1 t1时刻,相对于本车,更准确的障碍物车辆的位姿坐标
相关文章:
自动驾驶中的障碍物时间对齐法
描述 自动驾驶算法使用的系统往往不是实时系统,因此每个节点间拿到的数据可能不是同一时间的数据,从而造成系统误差,针对这一现象,工程上往往采用时间对齐内插外推法。这里我们用感知障碍物来举例。 自动驾驶系统有许多重要模块…...
介绍 PIL+IPython.display+mtcnn for 音视频读取、标注
1. nn.NLLLoss是如何计算误差的? nn.NLLLoss是负对数似然损失函数,用于多分类问题中。它的计算方式如下:首先,对于每个样本,我们需要将其预测结果通过softmax函数转换为概率分布。softmax函数可以将一个向量映射为一个概率分布&…...
C语言中strstr函数的使用!
strstr函数的作用是什么? 查找子字符串 具体直接看下面的这段代码我相信你必明白 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { char *p1 "abcdefghijklmnopqrstuvwxyz"; char* p2 "abc"; char* r…...
Vue项目中,src目录下的vue.app文件介绍
在 Vue 项目中,src 文件夹通常包含了项目的核心代码。在这个文件夹下,App.vue 是一个特殊的文件,它代表了整个 Vue 应用的根组件。 App.vue 是一个单文件组件(Single File Component, 简称 SFC),它允许你将…...
【Android】坐标系
Android 系统中有两种坐标系,分别为 Android 坐标系和 View 坐标系。了解这两种坐标系能够帮助我们实现 View 的各种操作,比如我们要实现 View 的滑动,你连这个 View 的位置都不知道,那如何去操作呢? 一、Android 坐标…...
OSCP靶场--Slort
OSCP靶场–Slort 考点(1.php 远程文件包含 2.定时任务提权) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap 192.168.178.53 -sV -sC -p- --min-rate 5000 Starting Nmap 7.92 ( https://nmap.org ) at 2024-02-24 04:37 EST Nmap scan report for 192.168.178.53 …...
大数据职业技术培训包含哪些
技能提升认证考试,旨在通过优化整合涵盖学历教育、职业资格、技术水平和高新技术培训等各种教育培训资源,通过大数据行业政府引导,推进教育培训的社会化,开辟教育培训新途径,围绕大数据技术人才创新能力建设࿰…...
【Java程序设计】【C00313】基于Springboot的物业管理系统(有论文)
基于Springboot的物业管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的物业管理系统,本系统有管理员、物业、业主以及维修员四种角色权限; 管理员进入主页面,主要功能包…...
TensorFlow训练大模型做AI绘图,需要多少的GPU算力支撑
TensorFlow训练大模型做AI绘图,需要多少的GPU算力支撑!这个问题就涉及到了资金投资的额度了。众所周知,现在京东里面一个英伟达的显卡,按照RTX3090(24G显存-涡轮风扇)版本报价是7000-7500之间。如果你买一张这样的单卡…...
docker创建mongodb数据库容器
介绍 本文将通过docker创建一个mongodb数据库容器 1. 拉取mongo镜像 docker pull mongo:3.63.6版本是一个稳定的版本,可以选择安装此版本。 2. 创建并启动主数据库 容器数据卷配置 /docker/mongodb/master/data # 数据库数据目录(宿主机&am…...
Python并发编程:多线程-线程理论
一 什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程(流水线的工作需要电源,电源就相当于CPU),而一条流水线必须属于一个…...
自定义Chrome的浏览器开发者工具DevTools界面的字体和样式
Chrome浏览器开发者工具默认的字体太小,想要修改但没有相关设置。 外观——字体可以自定义字体,但大小不可以调整。 github上有人给出了方法 整理为中文教程: 1.打开浏览器开发者工具,点开设置——实验,勾上红框设…...
人事|人事管理系统|基于Springboot的人事管理系统设计与实现(源码+数据库+文档)
人事管理系统目录 目录 基于Springboot的人事管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员登录 2、员工管理 3、公告信息管理 4、公告类型管理 5、培训管理 6、培训类型管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、…...
React18源码: Fiber树中的优先级与帧栈模型
优先级{#lanes} 在全局变量中有不少变量都以Lanes命名 如workInProgressRootRenderLanes, subtreeRenderLanes其作用见上文注释它们都与优先级相关 React中有3套优先级体系,并了解了它们之间的关联关系现在来看下fiber树构造过程中,车道模型Lane的具体应…...
Hive 最全面试题及答案(基础篇)
基本知识 hive元数据存储 Hive 元数据存储了关于表、分区、列、分桶等信息。 在生产环境中,通常会将 Hive 的元数据存储在外部的关系型数据库中,如 MySQL 或 PostgreSQL。这样可以提供更好的性能、可扩展性和容错性。通过配置 Hive 的元数据存储为 MySQL 或 PostgreSQL,可以…...
【力扣】整数反转,判断是否溢出的数学解法
整数反转原题地址 方法一:数学 反转整数 如何反转一个整数呢?考虑整数操作的3个技巧: xmod10 可以取出 x 的最低位,如 x123 , xmod103 。x/10 可以去掉 x 的最低位,如 x123 , x/10 …...
Jmeter之内置函数__property和__P的区别
1. __property函数 作用 读取 Jmeter 属性 语法格式 ${__property(key,var,default)} 参数讲解 小栗子 ${__property(key)} 读取 key 属性如果找不到 key 属性,则返回 key(属性名) ${__property(key,,default)} 读取 key 属性如果找不到 k…...
GPT润色指令
1. GPT润色指令 Below is a paragraph from an academic paper. Polish the writing to meet the academic style,improve the spelling, grammar, clarity, concision and overall readability. When necessary, rewrite the whole sentence. Paragraph :你的句子…...
Ubuntu中matplotlib显示中文的方法
其实有很多朋友已经总结得很好了:Ubuntu下让matplotlib显示中文字体_ubuntu matplot 使用汉字-CSDN博客 这里我就是简单补充一下: 按照上面这篇博客,下载:GitHub - tracyone/program_font: fonts for programmer 然后运行&#…...
String类-equals和==的区别-遍历-SubString()-StringBuilder-StringJoiner-打乱字符串
概述 String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
R 语言科研绘图第 55 期 --- 网络图-聚类
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
