AGV轨迹matlab仿真,两轮差速AGV的轨迹跟踪控制研究 Study on Trajectory Tracking Control of Two-Wheel Difference Speed of...

2023-10-27

Software Engineering and Applications

Vol.06 No.04(2017), Article ID:21608,9

pages

10.12677/SEA.2017.64007

Study on Trajectory Tracking Control of Two-Wheel Difference Speed of AGV

Lipeng Yang, Wenfeng Zhang, Hao Wang

Shanghai University of Electric Power, College Of Energy and Mechanical Engineering, Shanghai

4c90e96d2771771b401bb9429f4c07d0.png

Received: Jul. 18th, 2017; accepted: Aug. 1st, 2017; published: Aug. 7th 2017

htmlimages%5C1-2890033x%5Cf4daa762-ba39-44c9-b439-8965414d84df.png

ABSTRACT

In view of trajectory tracking control problem of AGV, a Back-stepping control algorithm is proposed. Firstly, the AGV kinematics model and tracking pose error model are established; Then, the whole nonlinear system is decomposed into several sub-systems by using Back-stepping method, and the Lyapunov function and the intermediate virtual control are constructed and has been back to export control law of system step by step. Finally, the simulation experiment of line tracking and circular tracking was carried out in MATLAB environment. The results show that the tracking error converges to zero quickly, and trajectory tracking effect is wonderful. Back-stepping method combined with Lyapunov theory design the controller, not only can achieve AGV on the reference trajectory global asymptotic tracking, but also has high accuracy and robustness.

Keywords:AGV, Back-Stepping, Trajectory Tracking, Lyapunov

两轮差速AGV的轨迹跟踪控制研究

杨李朋,张文丰,王昊

上海电力学院 能源与机械工程学院,上海

收稿日期:2017年7月18日;录用日期:2017年8月1日;发布日期:2017年8月7日

1666a30b8da340406456dd68d05ffd8c.png

摘 要

本文针对AGV的轨迹跟踪控制问题,提出了一种Back-stepping的控制算法。首先,建立AGV的运动学模型和跟踪位姿误差模型;然后,利用Back-stepping方法将整个非线性系统进行分解成若干子系统,且对子系统分步构造Lyapunov函数和中间虚拟控制量,一直后退导出系统的控制律;最后,在MATLAB环境下分别进行了直线轨迹跟踪和圆轨迹跟踪的仿真实验,结果表明跟踪误差很快收敛于零,轨迹跟踪效果良好。Back-stepping方法结合Lyapunov理论设计的控制器,不仅能实现对AGV对参考轨迹全局渐进跟踪,还具有较高的精确性和鲁棒性。

关键词 :AGV,Back-stepping,轨迹跟踪,Lyapunov

02a4784b6aa73a8ffee05c16edaa66a7.png

Copyright © 2017 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

htmlimages%5C1-2890033x%5Ce70a10f1-7c93-45ea-9603-062237856e4b.png

image.hanspub.org:8080%5CHtml%5Chtmlimages%5C1-2890033x%5Ce898c85e-ffc4-45c9-b817-14224a4d6960.png

1. 引言

自动引导小车(Automatic Guided Vehicles, AGV)能够承重一定载荷且沿着给定路径精确地自动行驶 [1] 。利用传感器能够探索周围环境并自动完成寻找最优路径和自身的定位及跟踪设定的轨迹,在进行高层次的决策程序时,底层基本的轨迹跟踪需要进行严格的控制 [2] 。AGV系统是一个强耦合的非线性动力学系统,存在着各种参数和非参数的不确定性,且具有车轮摩擦、负载的变化和噪声等外界的不确定因素。传统的基于对象的控制方法很难精确地进行轨迹跟踪。近年来,AGV的智能控制在理论和应用方面都取得较大的进展。AGV的运动控制方法主要有模糊控制 [3] ,模型预测控制 [4] ,自适应控制 [5] ,神经网络控制 [6] 等。这些智能控制方法均对非线性系统有着较好的自适应性,但是仅限于局部渐进稳定,且控制器设计比较复杂。

本文首先建立了AGV的运动学模型,在该模型的基础上采用Back-stepping算法和Lyapunov理论设计控制器,确保AGV系统对参考轨迹的全局渐进跟踪。通过MATLAB仿真实验,验证了AGV轨迹跟踪的有效性。

2. AGV的运动学模型

AGV是通过左右两个驱动轮之间的速度差来改变小车的运动方向,属于两自由度的驱动系统。因为驱动轮和地面的滚动约束比较复杂,针对小车的实际运行情况建立精确的运动学模型是比较困难的。为了进行运动学建模,将问题做如下假设和简化:假设车轮在路面上低速运行,忽略车轮滑动的影响,并且两驱动轮保持在同一轴线上 [7] 。

两轮差动驱动的AGV模型如图1所示。取左右两轮中心连线的中点C作为参考点,则小车的位姿

78dc34710cbfec0e2fe0b7cd78273a7a.png,设

146189fa156c252fbdef5ba703a62111.png

361143b4e635f37f0e0bdda602c83e24.png分别为左、右驱动轮的角速度,

2e394c827600dfda2621c9f922032f87.png

93525ed2e33a6a7ae765d35c50f86bc8.png分别是小车的线速度和转动角速度,则运动学模型 [8] [9] 为

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AGV轨迹matlab仿真,两轮差速AGV的轨迹跟踪控制研究 Study on Trajectory Tracking Control of Two-Wheel Difference Speed of... 的相关文章

  • HTTP/HTTPS协议详解

    目录 一 HTTP详解 1 1 概念 1 2 HTTP的协议格式 1 2 1 HTTP请求体格式 1 2 2 HTTP响应体格式 1 3 HTTP请求方法 1 4 认识请求报头 1 5 HTTP请求过程 1 6 认识状态码 二 HTTPS详
  • 【动态系统的建模与分析】一阶系统的单位阶跃响应+时间常数-笔记

    一个一阶系统 其数学表达 做系统识别 令qin c 去记录高度的变化 可得图像 这个系统的响应为 如果其4s达到稳定时间 则 该系统传递函数为 则
  • vue金额格式化保留两位小数

    Vue filter number function data return data toFixed 2 在需要的地方 integralval 100 number 元
  • Nginx常用模块

    Nginx常用模块 文章目录 Nginx常用模块 1 Nginx常用模块 1 1 Nginx目录索引 下载模块 1 1 1 配置autoindex语法 1 1 2 autoindex配置实例 1 1 3上传资源 1 1 4 autoinde
  • 【嵙大OJ】Problem 1217: 编写函数:浮点数取整 (Append Code)

    Problem A 编写函数 浮点数取整 Append Code Time Limit 1 Sec Memory Limit 2 MB Submit 7000 Solved 2864 Submit Status Web Board Desc
  • 操作系统重要概念——异步性

    在多道程序环境下 允许多个进程并发执行 进程在使用资源时可能需要等待或放弃 进程的执行并不是一气成的 而是以走走停停的形式推进 如下举例 进程以不可预知的速度向前推进 何时执行 何时暂停 何时完成都是未知的 这就造成了系统的异步性
  • UUID 生成(源代码编译)

    根据定义 UUID Universally Unique IDentifier 也称GUID 在时间和空间都是唯一的 为保证空间的唯一性 每个UUID使用了一个48位的值来记录 一般是计算机的网卡地址 为保证时间上的唯一性 每个UUID具有
  • ++ 符号

    关于 符号 i i 刚好最近看到一个关于i i 的测试题就查询资料测试了一下 int i 10 int j 30 i i Console WriteLine i Console WriteLine i i Console WriteLine
  • ajax保存文件对话框_VBA学习笔记34-2:Excel对话框(FileDialog)

    学习资源 Excel VBA从入门到进阶 第34集 by兰色幻想 这篇笔记写对话框的FileDialog对象 开始前先把上篇漏写的改变窗口默认路径补一下 chdrive 盘符 可以改变默认驱动器 chdir 路径 可以改变默认路径 这两个默
  • C#调用C回调函数后,程序奔溃问题

    原始代理声明 delegate void DlgVideoStreamCallBack IntPtr pData int size int height int width IntPtr pUserData C函数导入 DllImport
  • gitlab-ce-10.0.2版本升级到15.4.2

    先看官方升级文档说明 官方文档链接 升级 如果你的gitlab版本是10 0 2 那个要升级到15 4 2 首先得过度如下几个版本 10 1 0 10 2 3 10 8 7 11 3 4 11 11 8 12 0 12 12 1 17 12
  • C语言小游戏-俄罗斯方块

    C语言小游戏 俄罗斯方块 全部代码如下所示 include
  • 第十一章 数据可视化 - 地图可视化

    目录 疫情地图的使用 疫情地图 国内疫情地图 疫情地图 省级疫情地图 疫情地图的使用 第一阶段 第十一章 01 数据可视化案例 地图 基础地图使用 哔哩哔哩 bilibili 演示地图可视化的基本使用 from pyecharts char
  • layui 树型tree组件 回显BUG

    父级回选时 不管子级有没有设置回显 都会导致子级全部勾选 解决办法是 在后端代码添加逻辑 有子树的都不选中 因为选中子树时 父级会跟着选中 所有这是没问题的
  • 图片服务器

    文章目录 一 项目简介 二 功能及场景 三 业务设计 四 数据库设计 准备图片表 准备实体类 五 API设计 常用功能封装 文件上传 文件上传 获取图片列表接口 获取图片内容 删除图片接口 六 项目优化 七 测试 自动化测试 测试用例 一
  • Qt做的俄罗斯方块游戏

    最近一直在用Qt折腾一个简单的俄罗斯方块游戏 期间断断续续经过将近一个月的折腾 终于完成啦 挂在这里 供大家评阅 第一次做游戏 肯定会有很多的不足之处 希望大家指正 其实做这个游戏主要是想学学多层控件的效果 因为以前做过一些简单的应用型软件
  • 华为OD机试 - 最大矩阵和(Java)

    题目描述 给定一个二维整数矩阵 要在这个矩阵中选出一个子矩阵 使得这个子矩阵内所有的数字和尽量大 我们把这个子矩阵称为和最大子矩阵 子矩阵的选取原则是原矩阵中一块相互连续的矩形区域 输入描述 输入的第一行包含2个整数n m 1 lt n m
  • 解决中文乱码用spring经典编码过滤器org.springframework.web.filter.CharacterEncodingFilter

    使用spring的前提下在web xml中配置
  • Dynamics CRM 错误 问题排查

    很多时候在网上或者群里面看到别人的问题 第一反应就是 有没有搞错 这样的问题怎么让人回答呢 发现很多开发 维护根本没有一点点文档钻研精神 对于这些业务系统 第一是看日志记录 第二是看sdk 别的一切都只是浮云 说多了 回头说这个错误问题排查

随机推荐

  • 什么是开尔文测试?什么时候需要采用开尔文接法?

    开尔文 Kelvin 测试就是通常所说的四线测试方式 四线开尔文测试的目的是扣除导线电阻带来的压降 一段30cm长导线的等效电阻大概是十毫欧姆到百毫欧姆 如果通过导线的电流足够大 比如是安培级的话 那么导线两端的压降就达到几十到上百mV 如
  • chisel快速入门(二)

    上一篇见此 chisel快速入门 一 沧海一升的博客 CSDN博客简单介绍了chisel 使硬件开发者能快速上手chisel https blog csdn net qq 21842097 article details 121415341
  • use JAXB/CXF to process soap message XML

    我参考下列资料 http stackoverflow com questions 11465653 how to unmarshall soap response using jaxb if namespace declaration is
  • Java批量转换编码

    起因 因下载了一些java源代码 存在大约五百个java项目源文件 使用IDEA加载java文件时 其中中文内容全部乱码 立马便想起我的IDEA是utf 8编码 可能这些源码是由GBK进行的字符编码 由于博主很懒 想要通过代码的方式进行转换
  • 详解-自定义树莓派的显示分辨率

    背景 树莓派一般可以自动检测目标设备的分辨率 但对于部分设备 尤其是HDMI VGA转换器 分辨率可能会明显不对 过大或过小 这时就需要给树莓派指定一个分辨率 方法1 设置方法是在终端输入 sudo raspberry config 命令
  • 鼎信通讯提前批主管面凉经(已收到感谢信)

    1 介绍自己 2我提到3D打印 问怎么编程 3 怎么证明自己可以适应工作 4 贪心算法
  • Python-异常处理try(一)

    平时在做自动化测试的时候 脚本里面会经常用到try和except 但是感觉好像对try的用法理解的不是很透彻 今天在这里重新学习下 也分享给大家 大家看一下 try 和 except 的工作原理 try 可能发生异常的代码 lt 语句 gt
  • Backtrader解决多股回测时跳过日期的问题

    股票的上市日期各不相同 有些也退市了 在回测时 Backtrader会遍历所有的数据 选择有效期的交集开始执行next 这时我们的选股策略就会因为数据的问题出现一段时间的空窗期 所以我们不要用next 来执行 而是用prenext 来执行
  • LaTex中对\begin{itemize}或\begin{enumerate}中的各项新的段落增加缩进

    转自 How to indent a new paragraph within items 解决方案 在前序部分 在 begin document 前 加入如下代码块 usepackage enumitem setlist enumerat
  • 设备驱动框架简介

    1 API 1 register chrdev region dev t from unsinged count const char name 2 cdev init struct cdev struct file operations
  • 跨平台客户端Socket 一 数据包定义

    最近网上查找资料并结合很久以前pc游戏中使用的tcp ip代码 整理出cocos2d x 跨平台的客户端网络模块 目前数据包仍是以前的字节码数据形式 后续会修改使用protobuff的数据交换方式 注 代码未测试 先将内容记录下来 Glob
  • Android Studio代码调试大全

    http blog csdn net dd864140130 article details 51560664 Android Studio目前已经成为开发Android的主要工具 用熟了可谓相当顺手 作为开发者 调试并发现bug 进而解决
  • 逆向爬虫17 Scrapy中间件

    逆向爬虫17 Scrapy中间件 在学习Scrapy之前 我们已经学了很多伪装防反爬的爬虫技术 目标 如何在Scrapy框架中也使用这些技术呢 这是本节要讨论的问题 本节要讨论的防反爬技术有 处理登录Cookies 处理UA 处理代理IP
  • css文本超出宽带自动换行

    css文本超出宽带自动换行 样式word wrap break word 效果 样式word wrap break word
  • Minio Browser

    Minio Browser Minio Browser使用Json Web Token来验证JSON RPC请求 初使请求为用户提供的AccessKey和SecretKey生成一个token令牌 目前这些令牌在10小时后到期 这是不可配置的
  • Apisix使用教程

    安装 推荐直接使用Docker来安装启动Apisix 安装docker 首先下载并安装docker https www docker com 下载之后 直接运行安装 安装后打开Docker Desktop 等它启动完 启动完之后 此时就是可
  • 图灵奖得主Judea Pearl:人工智能是如何走出死胡同的?

    作者 Judea Pearl Danna Mackenzie 编辑 Natalie AI 前线导读 人工智能研究专家 Judea Pearl 及其同事领导的因果关系革命突破多年的迷雾 厘清了知识的本质 确立了因果关系研究在科学探索中的核心地
  • 不同视角下的存储协议栈

    复杂度3 5 机密度3 5 最后更新2021 05 03 我们把AIX的存储协议栈归纳一下 从两个不同视角来观察 以AIX驱动实现视角 主要是文件系统驱动程序 被称为内核扩展可能更恰当 不过具体叫什么并不重要 LVM驱动程序 磁盘设备驱动程
  • Java小白一个,可以直接学习SpringBoot来做毕设吗?

    个人建议不要跳过SSM 很多人想要跳过SSM直接上手SpringBoot 但是SpringBoot中自动化配置 条件注解 Java配置等东西都基于Spring的 Java配置是Spring3开始提供的 条件注解也是Spring中的内容 很多
  • AGV轨迹matlab仿真,两轮差速AGV的轨迹跟踪控制研究 Study on Trajectory Tracking Control of Two-Wheel Difference Speed of...

    Software Engineering and Applications Vol 06 No 04 2017 Article ID 21608 9 pages 10 12677 SEA 2017 64007 Study on Trajec