【轮式平衡机器人】——角度/速度/方向控制分析软件控制框架

本文主要是介绍【轮式平衡机器人】——角度/速度/方向控制分析软件控制框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

轮式平衡机器人具有自不稳定性,可类比一级倒立摆系统的控制方法,常见有反馈线性化方法、非线性PID控制、自适应控制、自抗扰控制,还有改进的传统缺乏对外界干扰和参数改变鲁棒性的滑模变结构控制。我们采用较为简单的双闭环PID控制实现平衡模型。

一、角度平衡控制(PD内环)

由上面的系统传递函数可知,该系统一共2个极点\pm\sqrt{g/L},但根据奈奎斯特判据,其中一个极点位于s平面的右半面会引起系统的不稳定性,可加入反馈环节消除这种不稳定,能有效避免闭环过程中参数波动产生的扰乱系统的效果,且减小系统时间常数和非线性的影响。

反馈控制器可以是PI,可以是PD,也可以是PID,考虑到角度控制环节的角度信息由陀螺仪MPU6050采集,采集时有信号噪声和零点漂移,为了防止这些误差被积分环节放大,所以采用PD控制

比例P:k1
微分D:k2*s

再次分析得到2个极点(不赘述),当k1>g,k2>0时,满足两个极点位于s平面左半面的稳定条件。

在整个角度环路中,k1和k2的阶分别代表了角度(θ)与角速度(θ的微分),所以控制平衡的控制量x由角度和角速度计算而来。——这样来理解,首先因为产生倾角θ所以产生控制量,前倾的时候车轮也要向前运动,后倾则车轮要向后,所以认为电动机的控制量x与θ之间存在x=k1*θ比例关系,但是当角度θ为0时,x也为0,实际会存在惯性小车不平衡,所以引入一个与角速度(即θ的微分)相关的阻尼力来平衡,则x=k1*θ+k2*dθ/dt。

角度与角速度的反馈主要由MPU6050传感器获得!

二、速度控制器(PI外环)

在完成上面平衡的前提下做速度控制实际上十分复杂——改变速度的同时不能影响基本的平衡控制,所以不能将速度的控制效果直接加到电动机速度的改变中。

为了简化控制量与控制结果之间的关系,可将速度控制看作平衡控制(与角度相关)的外环控制,即将直立平衡控制的目标看作速度控制的结果。因为倾角决定了速度(向前倾的程度与机器人在该方向上运动速度正相关),且由于倾角的存在导致平衡控制的偏差存在,因此需要加速去消除倾角的存在,从而维持平衡:

速度反馈主要利用编码器信号eQEP功能模块读取实现,原来直立平衡控制的输入量变为速度控制的输出量,形成串级控制系统。内环使用PD控制,这里为了消除静态误差,外环速度控制采用PI控制。

三、方向控制器(P辅助)

轮式平衡机器人具有两轮同轴的机械特性,方向控制主要来自两轮的差速,转向控制建立在前两个控制的基础上,不能影响正常的直立平衡。平衡小车对转向控制的精度和响应速度要求不高,只采用比例控制P。

可以使用z轴陀螺仪的角速度数据与设定目标转向角速度做偏差来计算控制量进行P控制,避免了通过车轮编码器信号来判断转向时无法考虑打滑等因素的缺点、陀螺仪数据用于计算转向角时可能产生的误差累积,优点是算法简单,但也存在对高频信号采样失真的缺点。

四、控制框架

下面从整体概貌上谈谈轮式平衡小车的目标效果,考虑了CD摄像头循迹、APP控制、超声波避障等拓展功能。

①系统初始化

②串口中断程序

设计串口中断程序可以实现下列拓展功能:

③主中断程序

主程序的运行需要精确的时钟周期来保证平衡控制的稳定运行,如使用单片机的定时器Timer0实现5ms为周期陀螺仪信号读取、编码器信号读取、PWM控制量计算、启停信号的检测以及CCD相机信号的读取、中值线计算的过程。

app蓝牙串口发送来的控制信号通过串口中断接收,在速度控制量计算时介入;定速自主循迹通过图像采集模块得到的电压值进行中线识别,根据转向控制量计算出两轮的电机差速PWM控制量。

往期精彩

STM32专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/E2F88

OpenCV-Python专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/zK1jV

AI底层逻辑专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/zic0f

机器学习专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/FaXzAFreeRTOS专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/SjIqU电机控制专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/FNWM7

AI拓展驿站 

人工智能(AI)>机器学习>深度学习!机器学习可做传统预测、图像识别、自然语言处理等。

机器学习(统计方法)是实现人工智能的一种途径,深度学习(深度神经网络)是机器学习中的一种方法!

机器学习三个关键词:数据、模型、预测!

数据集结构:特征值(特征)+目标值(标签)!

机器学习分类:①监督学习:输入数据有特征有标签,若标签为类别则为分类问题,若标签为连续型数据则为回归问题。②无监督学习:输入数据有特征但无标签(即无特定目标值),典型的聚类问题。

自学路线:B站视频入门——实战类书籍——理论型书籍(数学基础、李航的统计学习方法、机器学习“西瓜书”、深度学习““花书”)

学习库和框架:B站视频先scikit-learn再tensorflow!

这篇关于【轮式平衡机器人】——角度/速度/方向控制分析软件控制框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/630681

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

软件设计师备考——计算机系统

学习内容源自「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 目录 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理单元 1.CPU 的功能 1)运算器 2)控制器 RISC && CISC 流水线控制 存储器  Cache 中断 输入输出IO控制方式 程序查询方式 中断驱动方式 直接存储器方式(DMA)  ​编辑 总线 ​编辑

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号