由于一些资源链接失效,如下文档还可以使用:

https://download.csdn.net/download/zhangrelay/9514411

用PID进行领航跟随法机器人编队控制

课题2:多机器人编队控制
研究对象:两轮差动的移动机器人或车式移动机器人
研究内容:平坦地形,编队的保持和避障,以及避障和队形切换算法等;起伏地形,还要考虑地形情况对机器人行驶运动的影响。
研究目的:实现多机器人编队控制,源于对自然界群集行为的研究,提高机器人群体协作效率等。
研究方法:领航跟随法等,现在多为几种基础方法的融合。

抛砖引玉:一个简单的PID编队算法的仿真实现

编队模型:

对于一组领航-跟随机器人,编队误差示意:

这样其实不直观,通过一个坐标变换,

可以将全局坐标系转为跟随机器人坐标系:

然后,直接给出PID控制器:

到这里,算法设计就全部完成了!

仿真软件的安装和使用教程,点击(选超清):

http://v.youku.com/v_show/id_XMTQ0NTUzMDkxMg

下面介绍一下PID参数作用:

简言之,只有P会有稳态误差,然后I可以减少稳态误差,D可以提高动态性能等,

不详细说,以多机器人编队为例,期望队形为一字形:

上面的编队控制器,只有P控制的效果,

点击图片可见仿真视频:

http://v.youku.com/v_show/id_XMTQ2MTY3MTI2OA

可以看到有静态误差。

仿真结束后绘制,误差曲线为:

PI控制,I参数调整不合适,会出现震荡:

http://v.youku.com/v_show/id_XMTQ2MTY3MTM0MA

多次调整后,比较好的误差曲线,两种参数略有不同:

一个简单的多机器人编队算法实现--PID相关推荐

  1. 机器人坐标系建立_如何在30分钟内建立一个简单的搜索机器人

    机器人坐标系建立 by Quinn Langille 奎因·兰吉尔(Quinn Langille) 如何在30分钟内建立一个简单的搜索机器人 (How to Build A Simple Search ...

  2. 波形包络提取与峰值提取_一个简单的波形包络提取算法

    与<一个简单的波形包络提取算法>相关的范文 2008年第03期,第41卷 通 信 技 术 Vol.41,No.03,2008 总第195期 Communications Technolog ...

  3. python可以做机器人吗_零基础如何用Python写一个简单的WeChat机器人?(内附代码)...

    (bing图片) python这两年热火朝天,依托其众多类库,基于python的应用层出不穷,也大大降低了非计算机专业人员的入门门槛,WeChat机器人自然不在话下!-- 聪明的瓦肯人 苦于有时候总是 ...

  4. TensorFlow应用:制作一个简单的聊天机器人

    现在很多卖货公司都使用聊天机器人充当客服人员,许多科技巨头也纷纷推出各自的聊天助手,如苹果Siri.Google Now.Amazon Alexa.微软小冰等等.前不久有一个视频比较了Google N ...

  5. 智能机器人c语言编程,【图片】教你快速制作一个简单的人工智能机器人(懂编程的人进来看)【科幻吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 教你快速制作一个简单的人工智能机器人(懂编程的人进来看) 本文我首发于"人工智能吧",叫做<机器人理解人类语言>和< ...

  6. 利用茉莉机器人接口开发一个简单的安卓机器人app

    一.前言 茉莉机器人与其他机器人相比,主要的优势就是免费,不足之处就是不够智能,很多问题都回答不出来.不过呢,茉莉机器人允许用户自定义问题和问题对应的回答,对个人而言还是挺有用的,你可以利用这一点,记 ...

  7. 如何写一个简单的手写识别算法?

     可以精准快速的识别出自定义的简单图形. 类似于下面这种? Magic Touch - A Free Game by Nitrome Magic Touch: Wizard for Hire on ...

  8. 【bzoj5016】[Snoi2017]一个简单的询问 莫队算法

    题目描述 给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出 get(l,r,x)表示计算区间[l,r]中,数字x出现了多少次. 输入 第一行,一个数字N,表 ...

  9. python qq机器人框架有哪些_使用Python的Tornado框架实现一个简单的WebQQ机器人

    我打算将WebQQ单独出来运行, 一开始直接拷贝了pyxmpp2的mainloop, 但是跑起来问题多多, 所以我又研究了利用Tornado进行网络编程(这里), 所以我放弃了Pyxmpp2的main ...

最新文章

  1. SliverLight注册字典转换器方法
  2. ccd相机好修吗_「CCD购买指南 」CCD废片大公开
  3. python中if语句缺省else_9_【Python学习分享文章】_if(条件语句)
  4. spring mvc学习(8):springmvc常用注解代码
  5. linux中写脚本不能写中文,Linux系统中Sublime Text无法输入中文怎么办?
  6. ajax mysql点赞_php+mysql结合Ajax实现点赞功能完整实例
  7. mysql web界面 Linux_部署WEB项目到服务器(三)安装mysql5或者mysql8到linux服务器(Ubuntu)详解...
  8. Mysql梳理(单表查询)
  9. Android开发之重力传感器
  10. 使用Docker Compose部署SpringBoot应用
  11. python软件下载安装百度网盘-python实现简单的百度云自动下载
  12. 清华大学出版社-图书详情-《深度学习:语音识别技术实践》
  13. 转:为 setuptools 开路搭桥
  14. 潜安 | 分享最新最前沿的IT教程
  15. 自动化测试UI Test, Performance Test, Load Test 总结整理
  16. 盘点八个程序员必须知道的代码编辑器
  17. Mac OS X 下 U盘安装盘简易制作教程
  18. 解决vbox挂载VBoxGuestAdditions失败
  19. c语言实现维吉尼亚密码和希尔密码的加解密
  20. 【文学与历史】浅谈戏说华夏历史

热门文章

  1. [Java]-zip包的使用
  2. 宇枫资本投资理财心想事成
  3. AI新生 破解人机共存密码——人类最后一个大问题
  4. oracle闪回15分钟前,Oracle闪回技术(Flashback)
  5. 电脑中的语言栏设置,有什么方法?
  6. Android 中文 API(123) —— AbsListView
  7. 资产评估机构执行专利质押评估
  8. Python新闻联播词频统计
  9. 定义一个结构体变量,包含年、月、日。根据控制台给出的日期,计算该日在本年中是第几天,注意闰年问题。
  10. 【我的Android进阶之旅】Android调用JNI出错 java.lang.UnsatisfiedLinkError: No implementation found for的解决方法