差速轮纯跟踪算法

news2024/9/28 14:37:26
fig.1 差速轮纯跟踪原理图

纯跟踪是基于几何关系的跟踪控制算法,不管是阿克曼模型,还是差速轮模型,都是控制机器驱动轮(通常是后轮)中心经过目标点 T。

基于机器驱动轮中心,车头朝向为 X 轴正方向,驱动轮左轮方向为 Y 轴正方向建立机器坐标系。目标点 T 在机器坐标系下坐标为 [Tx,Ty]。那么有:

v=R*w \quad (1)

R*(1-cos(\alpha))=Ty \quad (2)

R*sin(\alpha)=Tx \quad (3)

其中 R 是转弯半径,转弯半径是有正负的,正负值由角速度决定。α 是经过目标点 T 时候的转弯角度。

联立公式 (2) 和 (3),有:

1-cos(\alpha)=\frac{Ty}{Tx}*sin(\alpha) \quad (4)

根据二倍角公式,将 \alpha=\frac{\alpha}{2}+\frac{\alpha}{2} 代入公式 (4),有:

1-(1-2*sin^2(\frac{\alpha}{2}))=\frac{Ty}{Tx}*2*sin(\frac{\alpha}{2})*cos(\frac{\alpha}{2}) \quad (5)

sin(\frac{\alpha}{2})=\frac{Ty}{Tx}*cos(\frac{\alpha}{2}) \quad (6)

tan(\frac{\alpha}{2})=\frac{Ty}{Tx} \quad (7)

\alpha=2*arctan(\frac{Ty}{Tx}) \quad (8)

联立公式 (1), (3),(8) 得到

w=\frac{v}{Tx}*sin(2*arctan(\frac{Ty}{Tx})) \quad (9)

在外部先确定线速度 v 的条件下,可以得到差速轮的角速度控制量。

注意!

在计算角速度之前,需要确定线速度!由于 v = w * R,如果计算角速度 w 后又去调整线速度 v,会改变机器转弯半径,也就改变了机器运动轨迹。 

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

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

相关文章

ESP32 Bluedroid 篇(1)—— ibeacon 广播

前言 前面我们已经了解了 ESP32 的 BLE 整体架构,现在我们开始实际学习一下Bluedroid 从机篇的广播和扫描。本文将会以 ble_ibeacon demo 为例子进行讲解,需要注意的一点是。ibeacon 分为两个部分,一个是作为广播者,一个是作为观…

小徐影院:Spring Boot影院管理新体验

第三章 系统分析 整个系统的功能模块主要是对各个项目元素组合、分解和更换做出对应的单元,最后在根据各个系统模块来做出一个简单的原则,系统的整体设计是根据用户的需求来进行设计的。为了更好的服务于用户要从小徐影城管理系统的设计与实现方面上做出…

24年下重庆事业单位考试报名超详细流程

🎈提交报考申请 考生通过重庆市人力资源和社会保障局官网(rlsbj.cq.gov.cn)“热点服务”中“人事考试网上报名”栏进行报名。报名时间为2024年8月12日9:00—8月17日9:00。 🎈网上缴费 资格初审合格后,考生应在2024年8…

【Python】1.初始Python--打开Python的大门

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更…

数据结构:排序(内部排序+各种排序算法的性质总结)

数据结构的排序是计算机科学中的一个基本且重要的操作,它指的是将一组数据元素(或记录)按照一定规则(通常是关键字的大小)进行排列的过程。排序后的数据元素在物理或逻辑上呈现出某种顺序性,从而便于后续的…

GPIO端口的使用

目录 一. 前言 二. APB2外设时钟使能寄存器 三. GPIO端口的描述 四. GPIO端口使用案例 一. 前言 基于库函数的开发方式就是使用ST官方提供的封装好的函数。而如果没有添加库函数,那就是基于寄存器的开发方式,这种方式一般不是很推荐。因为由于ST对寄存…

华为-IPv6与IPv4网络互通的6to4自动隧道配置实验

IPv4向IPv6的过渡不是一次性的,而是逐步地分层次地。在过渡时期,为了保证IPv4和IPv6能够共存、互通,人们发明了一些IPv4/IPv6的互通技术。 本实验以6to4技术为例,阐述如何配置IPv6过渡技术。 配置参考 R1 # sysname R1 # ipv6# interface GigabitEthernet0/0/1ip address 200…

Java程序的控制结构

1、分支语句 1.1、if语句 if语句的三种格式 (1)单分支语句(if...) 格式:if(表达式){ 语句 } 例:两个数比较最大值 int a3,b9; int maxa; if(b>max){System.out.println(max) } (2&#x…

你要的录音播放录音功能,直接用!—Air201资产定位模组LuatOS

超低功耗、精准定位、快速量产——迷你小巧的合宙Air201,正给越来越多的行业客户带来高效开发体验。 此前有小伙伴问:是否支持录音、播放录音功能? 高集成化设计的Air201自带了ES8311音频解码芯片(Audio Codec)及MIC…

2. PH47代码框架二次开发功能特性

2.1. 概述 PH47代码框架为二次开发用户提供了丰富的,面向无人机飞行控制以及其他运动控制领域的功能特性,依托这些预设的功能特性,用户能够在短时间内开发出具体具备强大功能及可靠性的二次开发应用。此章节主要对二次开发特性进行了详细描述…

sentinel原理源码分析系列(一)-总述

背景 微服务是目前java主流开发架构,微服务架构技术栈有,服务注册中心,网关,熔断限流,服务同学,配置中心等组件,其中,熔断限流主要3个功能特性,限流,熔断&…

云原生之运维监控实践-OpenEuler22.03SP3上安装Prometheus与Grafana实现主机状态监测

背景 如果没有监控,那么最好的情况是没有问题发生,最糟糕的情况则是问题发生了但没有被发现。——《Prometheus监控实战》 去年写了一篇在Docker环境下部署若依微服务ruoyi-cloud项目的文章,当时使用的是 docker-compose 在单台机器上部署若依…

NutUI 单元测试:从 jest 到 vitest

NutUI Vue 自 3.0 版本起,开始使用 vite 作为项目的构建工具,单元测试工具则依然使用 jest。而后 vite 官方团队开源了 vitest 作为 vite 的首选测试框架和 jest 的替代品。 本文主要介绍 NutUI 从 jest 到 vitest 的迁移过程,以及后续对于单…

电商系统开发全攻略:基于Spring Boot的在线商城

2 相关技术 2.1 Springboot框架介绍 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring…

Go 项目开发常用设计模式

设计模式就某些编码场景下的最佳实践,用来解决常见的软件设计问题。Go 语言不是面向对象语言,但是可以使用结构体、接口等类型实现面向对象语言的特性,想要弄懂设计模式,要熟练的使用 Go 语言接口类型 和结构体类型 设计模式总体上…

关于Chrome浏览器F12调试,显示未连接到互联网的问题

情况说明 最近笔者更新下电脑的Chrome浏览器,在调试前端代码的时候,遇到下面一个情况: 发现打开调试面板后,页面上显示未连接到互联网,但实际电脑网络是没有问题的,关闭调试面板后,网页又能正…

Python 爬虫 根据ID获得UP视频信息

思路: 用selenium库对网页进行获取,然后用bs4进行分析,拿到bv号,标题,封面,时长,播放量,发布时间 先启动webdriver.,进入网页之后,先等几秒,等加…

chatglm本地服务器大模型量化cpu INT4 INT8 half float运行、多卡多GPU运行改这一条指令就行啦!

一、ChatGLM3的几种推演方式 ChatGLM3常规方案的GPU推演中half和float是两种最常用的格式,half格式占13GB显存,float格式占40GB显存。此外还提供了几种GPU量化格式的推演:INT4和INT8量化。 CPU版本的ChatGLM3推演: model Auto…

Java 常用的一些Collection的实现类

Java 常用的一些Collection的实现类 Collection 1.集合基础 Java 集合框架是一个强大的工具,它提供了一套标准化的接口和类,用于存储和操作集合数据。Collection 接口是这个框架的核心,它定义了一系列通用的集合操作。 2.Collection接口方法 …

既然有HTTP协议,为什么还要有RPC?

既然有HTTP协议,为什么还要有RPC? ​ 既然有HTTP协议,为什么还要有RPC? 有点既生瑜何生亮的味道。 第一次接触RPC我就很懵,平时我HTTP协议用得好好的,为什么还需要RPC协议? 于是我去百度&am…