脉冲法和方向盘转角法计算车辆位置不同应用工况

news2024/11/29 20:38:57

1 脉冲法计算车辆位置

在定义下的世界坐标系中,车辆运动分为右转后退、右转前进、左转后退、左转前进、直线前进、直线后退和静止七种工况,因此需要推倒出一组包含脉冲、车辆运动方向和车辆结构尺寸参数的综合方程式进行车辆轨迹的实时迭代计算。由于直线行驶和曲线行驶的半径分别是无穷大和正常值,因此分为直线行驶和曲线行驶两种工况。在以下公式推导中,所有弧长和弦长微元值无符号,而车辆偏航角微元值带正负。

图1 车辆阿克曼转向运动图

1.1 直线行驶

直线行驶的判断依据是:

后轴右车轮的坐标偏航角为:

后轴左车轮的坐标偏航角为:

因此后轴中心的坐标偏航角为:

1.2 曲线行驶

曲线行驶的判断依据是

当车辆转向时,车辆绕瞬时转动中心进行旋转;对于低速泊车,忽略车辆柔性体轮胎侧偏特性导致的车辆瞬时转动中心与后轴延长线不重合特性。假设车辆旋转运动为纯刚体运动,则采样周期内后轴车轮的脉冲差值满足以下关系:

在这里可以看出,公式包含半径参数,由于半径参数会出现较大的计算误差,联立方程组可以减少计算误差;考虑到车辆偏航角变化情况由车辆运动方向和转动方向决定,综合上式可得偏航角变化量为

可以看出,该公式不涉及半径参数,只包含脉冲差值、车辆轮距和行驶方向,大量实验验证,可以保证较高的偏航角计算精度;车辆后退右转偏航角增大,车辆后退左转偏航角减少,车辆前进右转偏航角减小,车辆前进左转偏航角增大。另外,如图2所示,可以看出当车辆沿着单方向行驶时,车辆初始的偏航角仅与起点和终点车轮脉冲有关。

这里N-车轮脉冲个数,α-单个脉冲车轮滚动距离,需标定。

图2 车辆单方向行驶不同路径起点终点位置图

2 方向盘转角法计算车辆位置

曲线行驶的判断依据是

为了对上述四种类型的迭代进行统一化,规定方向盘正中位置顺时针转,角度为负;方向盘正中位置逆时针转,角度为正;车辆前进速度为正;车辆后退速度为负。可以归纳出如下的曲线行驶后轴中心点坐标偏航角的迭代算法:

3 脉冲法和转角法计算车辆位置精确度对比

经过大量实验验证,用方向盘转角法计算车辆相应转弯半径,利用后轴中心点行驶距离和转弯半径迭代计算会产生较大误差。原因如下:

  •  由于方向盘转动时,机械系统齿轮齿条运动间隙,获得的方向盘转角并不代表此刻的车轮转角。
  • 由于方向盘转动时,由于路面摩擦力和方向盘扭矩不同,导致轮胎产生不同转动响应,此时车轮转动角度会有迟滞。

脉冲法计算车辆位置可以避开车辆转弯半径参数,减少由于边走边打方向盘变半径带来的误差,通过脉冲计数计算车辆偏航角和坐标。

经过实车测试,驾驶员边走边打方向行驶7m左右距离,转角法产生40cm-50cm误差;脉冲法误差控制在10cm以内,且偏航角计算控制在1度以内。脉冲法较为准确,但仍需大量测试和改进算法提高鲁棒性,提高准确度。

方向盘转角法计算车辆位置适用于仿真工况,此时无法输入车轮脉冲,显然给仿真系统输入不同的方向盘转角便于计算分析。另外,对于定方向盘转角车辆运动也可以采用转角法。

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

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

相关文章

源码编译tcpreplay,及使用方法

编译步骤: 下载源码 解压 ./configure make sudo make install 使用方法: tcpreplay --loop1 --intf1网卡名 -x1 pcap文件名 实测结果: 左边是输入的tcpreplay命令 右边是tcpdump截获的udp包

你熟悉Docker吗?

你熟悉Docker吗? 文章目录 你熟悉Docker吗?快速入门Docker安装1.卸载旧版2.配置Docker的yum库3.安装Docker4.启动和校验5.配置镜像加速5.1.注册阿里云账号5.2.开通镜像服务5.3.配置镜像加速 部署MySQL镜像和容器命令解读 Docker基础常用命令数据卷数据卷…

Linux常见指令(1)

Linux常见指令[1] 一.前言1.操作系统简述 二.Linux常见指令1.登录Xshell2.Linux下的常见命令1.pwd2.ls1.ls -a2.ls -d3.ls -l 3.cd Linux中的文件系统1.文件的相关知识2.Linux下目录结构的认识1.什么叫做路径?2.Linux的整体目录结构3.为什么要有路径呢?4.绝对路径与相对路径 …

2023彩虹全新SUP模板,知识付费模板,卡卡云模板

源码介绍: 2023彩虹全新SUP模板/知识付费模板/卡卡云模板,首页美化,登陆页美化,修复了pc端购物车页面显示不正常的问题。 请自行查毒。感觉彩虹不少源码可能都有不干净的东西 安装教程: 1.将这俩个数据库文件导入数据…

队列的各个函数的实现

1.第一个结构是存放链表的数据,第二个结构体是存放头节点和尾节点的以方便找到尾节点,存放头节点的是phead,尾节点的是ptail typedef struct QueueNode {struct QueueNode* next;//单链表QDataType data;//放数据 }QNode;typedef struct Queu…

使用U3D、pico开发VR(二)——添加手柄摇杆控制移动

一、将unity 与visual studio 相关联 1.Edit->Preference->External tool 选择相应的版本 二、手柄遥控人物转向和人物移动 1.添加Locomotion System组件 选择XR Origin; 2.添加Continuous Move Provider(Action-based)组件 1>…

26962-2011 高频电磁场综合水处理器技术条件

声明 本文是学习GB-T 26962-2011 高频电磁场综合水处理器技术条件. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了高频电磁场综合水处理器(以下简称处理器)的术语和定义、分类和型号、结构型式、 要求及检验、标志、包装和贮运…

Opengl之抛光物

我们目前使用的光照都来自于空间中的一个点。它能给我们不错的效果,但现实世界中,我们有很多种类的光照,每种的表现都不同。将光投射(Cast)到物体的光源叫做投光物(Light Caster) 平行光 当一个光源处于很远的地方时,来自光源的每条光线就会近似于互相平行。不论物体和/或…

基于Java的会员管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

【李沐深度学习笔记】图片分类数据集

课程地址和说明 图片分类数据集p3 本系列文章是我学习李沐老师深度学习系列课程的学习笔记,可能会对李沐老师上课没讲到的进行补充。本文还参考了【李沐3】3.5、图像分类数据集 图片分类数据集 MNIST数据集是图像分类中广泛使用的数据集之一,但作为基…

C语言——动态内存管理详解(内存结构、动态内存函数、易错题、柔性数组)

本篇概要 本篇文章从基本出发讲述为什么要存在动态内存分配,动态内存函数有哪些,常见的动态内存错误,一些关于内存分配的练习题以及柔性数组的相关知识。 文章目录 本篇概要1.为什么存在动态内存分配1.1为什么要动态分配内存1.2内存结构 2.常…

Unity实现设计模式——状态模式

Unity实现设计模式——状态模式 状态模式最核心的设计思路就是将对象的状态抽象出一个接口,然后根据它的不同状态封装其行为,这样就可以实现状态和行为的绑定,最终实现对象和状态的有效解耦。 在实际开发中一般用到FSM有限状态机的实现&…

idea Springboot 教师标识管理系统开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot 教师标识管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统 具有完整的源代码和数据库&…

8个居家兼职,帮助自己在家搞副业

越来越多的人开始追求居家工作的机会,无论是为了获得更多收入以改善生活质量,还是为了更好地平衡工作和家庭的关系,居家兼职已成为一种趋势。而在家中从事副业不仅能够为我们带来额外的收入,更重要的是,它可以让我们在…

c#中的接口

使用IEnumerable统一迭代变量类型 class Program {static void Main(string[] args){int[] nums1 new int[] { 1, 2, 3, 4, 5 };ArrayList nums2 new ArrayList { 1, 2, 3, 4, 5 };Console.WriteLine(Sum(nums1));Console.WriteLine(Sum(nums2));Console.WriteLine(Avg(nums…

ConcurrentHashMap 并发

1 ConcurrentHashMap 并发 1.1 减小锁粒度 减小锁粒度是指缩小锁定对象的范围,从而减小锁冲突的可能性,从而提高系统的并发能力。减小锁粒度是一种削弱多线程锁竞争的有效手段,这种技术典型的应用是 ConcurrentHashMap(高性能的 HashMap)类的…

【分布式计算】二、架构 Architectures

1.中心化架构(Centralized Architectures) 1.1.经典C/S模型 服务器:一个或多个进程提供服务 客户端:一个或多个进程使用服务 客户端和服务器可以在不同的机器上 客户端遵循请求/回复模型 1.2.传统三层视图 用户界面层&#x…

并查集LRUCache

文章目录 并查集1.概念2. 实现 LRUCache1. 概念2. 实现使用标准库实现自主实现 并查集 1.概念 并查集是一个类似于森林的数据结构,并、查、集指的是多个不相干的集合直接的合并和查找,并查集使用于N个集合。适用于将多个元素分成多个集合,在…

Python分支结构和循环结构

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 一.分支结构 分支结构是根据判断条件结果而选择不同向前路径的运行方式,分支结构分为:单分支,二分支和多分支。 1&#xff0…

No154.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…