Puresuit 轨迹跟踪

在网上看过了很多Puresuit的轨迹跟踪算法,看起来都写的差不多,用起来不会用。
套用一份demo,在C++转C语言的时候又深入理解了一些,在此整理成文档,供大家参考。

输入

1.输入量是什么;

	要知道车的长度,车的后轮位置以及下一个点的位置。车要求是前轮转向的。控制速度会比较慢。

2.计算结果是什么:

是车的前轮转角。
通过当前车的位置(后轮位置),下一个点的位置,车的航向,轴距。
计算在车的位置和下一个点的位置的横向偏差和纵向偏差,然后转到车体坐标系。

3.怎么使用

目前,假设已经知道在大地坐标系下的坐标及航向(和真北的夹角)(car_X,car_Y,yaw)和下一个点的坐标(target_X,target_Y),可以计算出横向偏差和纵向偏差:

模型


```cpp
delta_x = car_X - target_X ;
delta_y = car_Y - target_Y ;
//转到车体坐标系下
x = delta_x *sin(yaw) + delta_y *cos(yaw) ; //e 
y = delta_x *cos(yaw) - delta_y *sin(yaw) ; // 没有用到 
e = x ;
//同时,计算两点之间的直线距离 ld
ld =sqrt(pow(delta_x ,2),pow(delta_y ,2));
//tan(cruve) = 2L*e/(ld*ld) ,L为轴距,车长。
cruve = arctan(2L*e/(ld*ld))//另外,其实tan(cruve) = 2L*sin(alp)/ld ,sin(alp) = e /ld
//如果知道alp 角,就可以直接用,不需要这么麻烦了

在这里插入图片描述

其中 δ 表示前轮的转角,L 为轴距(Wheelbase),R则为在给定的转向角下后轴遵循着的圆的半径。这个公式能够在较低速度的场景下对车辆运动做估计。

手推版本

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java+vue_springboot企业设备安全信息系统14jbc

企业防爆安全信息系统采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的java进行编写,使用了vue框架。该系统从三个对象:由管理员、人员和企业来对系统进行设计构建。主要功能包括:个人信息修改,对人员管理&am…

WireShark 安装指南:详细安装步骤和使用技巧

Wireshark是一个开源的网络协议分析工具,它能够捕获和分析网络数据包,并以用户友好的方式呈现这些数据包的内容。Wireshark 被广泛应用于网络故障排查、安全审计、教育及软件开发等领域。接下将讲解Wireshark的安装与简单使用。 目录 Wireshark安装步骤…

术业有专攻!三防加固平板助力工业起飞

在日常使用中的商业电脑比较追求时效性,以市场定位做标准,内部元件只需满足一般要求就行,使用寿命比较短。而三防平板电脑是主要运用在复杂、恶劣的环境下所以在需求方面较高,需要保证产品在恶劣条件下正常使用,满足行业领域的需求…

《白话C++》第10章 STL和boost,Page101 10.4.6 std::weak_ptr

2.基本功能 “柔弱的”weak_ptr专门用来解决上述设计中必须面对的循环指向问题。 weak_ptr并不是真正的智能指针,它必须依附于shared_ptr存在。对应前面的C1、C2,我们写一个弱引用版本的C3和C4的例子: struct C4; struct C3 {~C3(){cout…

c++类和对象新手保姆级上手教学(中)

前言: 类和对象中篇,这里讲到的前4个默认成员函数,是类和对象中的重难点,许多资料上的讲法都非常抽象,难以理解,所以我作出这篇总结,分享学习经验,以便日后复习。 目录 6个默认成员…

图像配准之HomographyNet

文章名称:Deep Image Homography Estimation,论文地址:https://arxiv.org/pdf/1606.03798.pdf,代码地址:GitHub - mazenmel/Deep-homography-estimation-Pytorch: Deep homography network with Pytorch 1、背景介绍 …

小程序 - 下拉刷新

1.启用方法 2.刷新事件监听 3.停止方法

Stable Diffusion WebUI 常用命令行参数

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 大家好,我是水滴~~ 本文主要讲解 Stable Diffusion WebUI 的一些常用命令行参数,内容详细的介绍了每一种参数的使用,并配有截图,非常适合初学者…

vue3+element Plus+ts 自定义主题色,以及生成主题色各种透明度

目录 思路 安装css-color-function【接收一个颜色值,生成不同的透明度】 获取后台配置的主题色或者使用ColorPicker修改主题色 最终结果如下 思路 本篇文章的主体思路是从element Plus官网引申而来。结合了我以前用vue2element-ui配置主题色生成透明度&#x…

6、内网安全-横向移动WmiSmbCrackMapExecProxyChainsImpacket

用途:个人学习笔记,有所借鉴,欢迎指正! 前言: 在内网环境中,主机192.168.3.31有外网网卡能出网,在取得该主机权限后上线,搭建web应用构造后门下载地址,利用该主机执行相…

基于springboot实现的音乐网站

一、系统架构 前端:html | js | css | bootstrap 后端:springboot | mybatis 环境:jdk1.8 | mysql | maven 二、 代码及数据库 三、功能介绍 01. 登录页 02. 用户注册 03. 首页 04. 喜欢 05. 查询

MySQL篇之主从同步原理

一、原理 MySQL主从复制的核心就是二进制日志。 二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW)语句。…