转向控制调节经验谈

  1. 如上图所示,是我们导航循迹的策略。

    就是一个PD,其他没有。

    角度用的是第三个点与第一个点的横向偏差。距离用的第一和第三个点的弧长的中点所对应的点。

Y = k1*S + k2*A.

  1. 摄像头策略:



如图:上面主要思路是寻单边,哪个靠谱用哪个。算法部分还是用的PD。这里面涉及到参数模型的问题,下面是四种控制模型。(上图中的iserror是有用的,左车道为主,右车道次之。注意正负号等。)

此方法中我们使用的是第一种,比例模型。

调参数的经验:

先调节P,当P出现走大S弯的时候,说明P参数过大,需要将P弄小一点。

P大,前瞻不够,导致一有偏,打的角度比较狠,直接拐弯,当它偏的比较小的时候,想要纠正回来,此时由于转向有延迟,无法执行刚刚的角度值。当之前的角度执行完毕,又开始执行较大的角度。

导致,车来回震荡。

P小,一有小的偏差,转向有纠正。且纠正的速度小于转向的速度。

当P调节完毕就可以调节D了。参数调整如上图所示。

?

注意:

算法处理部分:

滤波算法: 中值,均值,互补。主要目的是干掉错误的状态。

上面的算法中,我是通过 三帧的跳变值来检测数据是否可信。

?

限幅算法:

当你的输出是负数时,我们需要规范其输出。

?

饱和处理:

当输出值不在我们规定的范围内,我们直接输出最大or最小值。

丢失处理:

当左右两边都没发现障碍物的时候,保留上一帧。共保存了5帧。超过5帧,说明真的没有数据。

?

?

?

  1. 磁导航循迹策略

先是滤波,然后是平方模型,中间有断点的话,保持上一帧数据。饱和和丢失处理。

时间: 2024-08-15 10:17:38

转向控制调节经验谈的相关文章

舵机及转向控制

1.概述 2.舵机的组成 3.舵机工作原理 4.舵机选购 5.舵机使用中应注意的事项 6.辉盛S90舵机简介 7. 如何利用程序实现转向 8.51单片机舵机测试程序   1.概述 舵机也叫伺服电机,最早用于船舶上实现其转向功能,由于可以通过程序连续控制其转角,因而被广泛应用智能小车以实现转向以及机器人各类关节运动中,如图1 .图2 所示. 图1 舵机用于机器人 图2 舵机用于智能小车中 舵机是小车转向的控制机构,具有体积小.力矩大.外部机械设计简单.稳定性高等特点,无论是在硬件设计还是软件设计,

原装希格玛SGL8022W/K/S/WS SGL8023W单通道/双通道直流LED 灯光控制调节触摸

产品型号:SGL8022K产品品牌:SGL/希格玛封装形式:DIP8 SOP8产品年份:新年份希格玛大陆总代理,原装现货具有优势!工程服务,技术支持,让您的生产高枕无忧.两通道触摸按键控制芯片概述SGL8022K是一款两触摸通道带两个逻辑控制输出的电容式触摸芯片.具有如下功能特点和优势:可通过触摸实现各种逻辑功能控制.操作简单.方便实用.可在有介质(如玻璃.亚克力.塑料.陶瓷等)隔离保护的情况下实现触摸功能,安全性高.应用电压范围宽,可在2.4~4.5V之间任意选择.应用电路简单,外围器件少,加

如何用 JavaScript 控制 Arduino?

Arduino 运行 C 语言,而主控端运行 JavaScript,一次要编写和维护两种程序.既然浏览器和服务器都用 JavaScript,若 Arduino 也能用 JavaScript 控制,那岂不完美? 这就是 Rick Waldron 设计 Johnny-Five 库文件的原因.Johnny-Five 是1986 年上映的科幻电影"Short Circuit(直译为"短路",译作"霹雳五号")"当中的机器人主角的名字.电影中的机器人原本是

move_base 控制机器人(1)

 本教程将具体涉及如下问题: 系列(1):move_base发出的控制指令是什么?该如何转化为移动机器人左右轮的速度. 系列(2):移动机器人的左右轮的编码器信息如何转化为ROS的/odom: 系列(3):navigation的几个坐标系(/map frame , /odom frame , /base_link frame)是什么,他们之间该如何建立tf转换:如何使用move_base在一个空白的地图(blank map)上完成对实际机器人的控制. 控制系统的架构: 关于机器人导航与定位的系统

第二天:SLAM智能小车DIY乐趣-小车控制stm32软件基础

SLAM智能小车DIY乐趣-小车控制stm32软件基础 ####写在前面#### 前面介绍了小车控制stm32硬件基础,本文就来介绍配套的小车控制stm32软件基础.关于stm32开发相关的基础知识这里就不多说了,有需要的小伙伴可以查阅相关资料进行学习,这里重点从小车控制项目入手,直接进行跟实际需求相关的开发.本文主要内容: 1) 电机控制 2) 编码器数据读取 3) 串口数据收发 4) 电机速度PID控制 5) 周期性控制 6) 小车控制软件整体框图 ####正文#### 1.电机控制 电机控

智能车学习(十二)——智能车原理

一.直立行走任务分解 1.任务分解 (1) 控制车模平衡:通过控制两个电机正反向运动保持车模直立平衡状态 (2) 控制车模速度:通过调节车模的倾角来实现车模速度控制,实际上最后还是演变成通过控制电机的转速来实现车轮速度的控制.(3) 控制车模方向:通过控制两个电机之间的转动差速实现车模转向控制. 三个分解后的任务各自独立进行控制.由于最终都是对同一个控制对象(车模的电机)进行控制,所以它们之间存在着耦合.为了方便分析,在分析其中之一时假设其它控制对象都已经达到稳定. 二.车模平衡控制 1.平衡控

大数据的管理艺术

数据分析应用是真正能够直接解决企业问题的,是显露在外可以直接观察的部分,但是在这之下有很大部分支撑数据分析应用的就是数据管理技术.数据分析应用需要一整套的处理和加工过程,数据就是原材料,需要把数据有序地存储和管理起来.然后是数据的整理.清洗.集成,这个过程主要由数据工程师(DataEngineer)来完成,最后由数据科学家借助数据分体的工具和平台根据业务问题等实际需要采用不同的算法和方法等进行数据分析.大数据管理其实就是支撑数据应用的平台的管理技术 最早数据存放在文件里,没有中间件进行数据管理,

Spark Executor Driver资源调度小结

一.引子 在Worker Actor中,每次LaunchExecutor会创建一个CoarseGrainedExecutorBackend进程,Executor和CoarseGrainedExecutorBackend是1对1的关系.也就是说集群里启动多少Executor实例就有多少CoarseGrainedExecutorBackend进程. 那么到底是如何分配Executor的呢?怎么控制调节Executor的个数呢? 二.Driver和Executor资源调度 下面主要介绍一下Spark

Spark Executor Driver资源调度汇总

一.简介 于Worker Actor于,每次LaunchExecutor这将创建一个CoarseGrainedExecutorBackend流程.Executor和CoarseGrainedExecutorBackend是1对1的关系.也就是说集群里启动多少Executor实例就有多少CoarseGrainedExecutorBackend进程. 那么究竟是怎样分配Executor的呢?怎么控制调节Executor的个数呢? 二.Driver和Executor资源调度 以下主要介绍一下Spark