原标题:走直线很难吗?陀螺仪表示,少了它机器人连直线都走不了

机器人要想完成特定任务,就一定要有所动作,这个时候,必须掌握如何控制机器人走直线、曲线,从而使机器人移动到我们想做任务的地方。

机器人走直线,难吗?

(ps.本文原载于公众号RoboMaster,本公众号获授权转发)

我们看到一些先进的机器人,走在路上非常稳,不仅在平地上行动不会摔跤,走在坑洼里也可以极好地保持平衡。

却有另一些机器人走路歪歪扭扭,在平地上都可以把自己摔一跤,因为它不知道自身的平衡状态,一步歪,步步歪。

再看 RoboMaster 的机器人比赛,虽然机器人都有四个轮子,不容易摔倒,但要随心所欲地实现跑直线、转弯漂移,也需要很好地控制自己的平衡。

红方机器人灵活走位

因为机器人的控制系统会有误差,所以假设你让轮子转 5 圈,可能有一个轮子只转了 4 圈。还有机械安装上的误差,以及轮子磨损造成了不同的摩擦力,会导致机器人越跑越歪。

在 PID 科普的文章中,我们学过反馈控制:《什么是机器人比赛中的PID控制?》。反馈控制的好处就是,假设有传感器去测量实际数据,那就有办法消除误差,让实际数据稳定在期望的数据上。

所以要让机器人只有察觉到误差,及时消除误差,才能随心所欲地奔跑。那如何发现误差呢?

假设目标是让机器人走出一条直线。机器人走得歪歪扭扭,是因为各种扰动使它发生了绕着垂直于地面方向的旋转,也就是头的方向左右摆动。因此,要寻找一种传感器来测量机器人垂直于地面方向的旋转量,然后消除这个旋转。

产生旋转

寻找适合的传感器

一般来说,找寻传感器会从物理的原理上找。高中物理分为力、热、声、光、电和磁。先看力学,物体在自旋时会有一个向心力F,向心力的公式为:

可以看到,虽然 F 和 ω(角速度)相关,似乎可以通过 F 求得 ω,但 F 也和 r(旋转的半径)相关,而这个 r 无法测量,所以向心力这个思路不行。

除了向心力,还有另一种力叫做科里奥利力。如果旋转物体中,有质点由于惯性进行了直线运动,相对于旋转物体产生了偏移,这个力就会产生。它的公式为:

v是内部产生的可测量的震动。科里奥利力与向心力不同,它和旋转的半径没有关系,所以这个思路可行。

现实中就有一种传感器利用这个原理测量角速度,这种传感器叫MEMS 陀螺仪(微机械陀螺仪)。MEMS 陀螺仪测得角速度后,将角速度进行积分,就可以得到相对角度(参考系为自身的某一状态,比如和刚启动时的状态),最后再用 PID 修正角度,达到直行的效果。

陀螺仪

我们都知道,凡是测量都总是会有误差,靠积分获得的角度在一定时间内虽然是可靠的,而积分将误差同样累计,在一段时间后这个角度也会越来越不准,这个时间的长短基本正相关于器件的价格。

利用类似原理的还有机械式陀螺仪和光纤陀螺仪。机械式陀螺仪是唯一一个真的有个陀螺在转的传感器。而在光学中,一般是基于萨格纳克(Sagnac)效应的陀螺。

机械式陀螺仪

实际上,这几种传感器更准确的叫法应该是:角速度传感器。但由于各种原因,现在一般都叫陀螺仪。结合成本和测量方法,一般选用 MEMS 陀螺仪。

获取旋转角度

以 ADIS16470 陀螺仪为例,讲解陀螺仪如何获取角度。

ADIS16470 陀螺仪

陀螺仪可以测出角速度,把角速度进行积分,就可以获得角度。如果想获得实时的角度,就要知道每次测量的时间间隔,利用时间和角速度再积分,就可以得到实时的角度了。

获得时间间隔的方法有两种:

1

装一个计时器

计时器计算时间间隔,再告知陀螺仪。但这样会有时间延迟。

2

陀螺仪自己计时

ADIS16470 陀螺仪有计时功能,自己给自己汇报时间,不会有延迟误差。

陀螺仪的误差

测量总会有误差,陀螺仪的误差产生来自于各种外力干扰和温度变化。误差会导致用陀螺仪修正过的机器人也在左右摆动,走不出平滑的线,或者静止时会慢慢地自旋,这种现象叫做漂移。

发生左右抖动

这点误差对于地面机器人的影响可能不大,但是对于无人机或者其他精度要求超高的机器人来说,稍微有点偏差都很致命。

如何消除误差

温度因素的误差

温度导致的漂移简称温漂,主要原因是内部测量器件会随着温度的变化而变化,一般有两种方法解决:

1

硬件式

在陀螺仪旁边加一个大电阻进行加热,强制陀螺仪达到某一个温度,就可以保持恒温状态;

2

软件式

先测量不同温度下的温漂情况,然后进行拟合和补偿,也就是温漂标定,使陀螺仪在不同的温度下有不同的拟合和补偿。

其他因素的误差

除了测量相对角度,还有传感器可以测量绝对角度(参考系为大地坐标系)。可以用绝对角度和相对角度进行互补来矫正角度。

另一种传感器叫地磁计,相当于电子式的指南针,可以指出地磁场的方向。这种传感器测量的是自己与地磁场的角度,也就是绝对角度。

由于磁场环境非常的敏感,电机转动和房屋的钢筋结构都会对磁场造成影响,所以磁场的角度一般是不准的,但是在同一环境内是稳定的。

可以得知,陀螺仪适合短时和动态的,长时间下会有漂移;磁力计适合长时和静态的,动态情况下会有误差。各取所长,将两个数据进行融合,并使用比较合适的滤波和算法融合手段,最终得到准确的角度值。这个过程也就是姿态解算。

数据融合

一般用卡尔曼滤波器进行解算。除了卡尔曼滤波算法,还有其他的融合算法,比如一阶的互补滤波、二阶互补滤波和权重参数自适应互补滤波等等。它们的复杂程度不同,要根据实际需求选择适合的算法。

卡尔曼滤波

对于角度值的求取解算,一个传感器往往是无能为力的,需要多个传感器取长补短。而陀螺仪数据就是最核心的部分,其他传感器基本是为了抑制陀螺仪的漂移而打辅助。

在实际的工程中,测量一个物体的姿态是非常常见的需求,所以很多产品都会把多种传感器比如陀螺仪、加速度计、电子罗盘等等集成到一个模块上,不需要一一安装,是不是方便又体贴呀。

集成多个传感器的模块

◆◆◆

通过上述一系列方法,我们获得了一个物体相对于起始位置的角度,就可以利用 PID 反馈控制让机器人随心所欲地奔跑了。

还可以把这样一套传感器安装在云台上,将底盘的运动视为扰动。在底盘来回抖动时,云台会以地面为参考系保持静止,就可以单独地控制云台。

云台静止,机身扭动

总而言之,机器人走直线或者像上图一样扭腰,看起来像是一个很简单的事情,但是影响因素有很多,每一步的实现都需要全面考量,只有选择了合适的传感器,才能更好地解决问题。

本期作者

华南理工大学 华南虎

RoboMaster 校机器人队

生命不息、搞机不止的百人天团!返回搜狐,查看更多

责任编辑:

机器人带陀螺仪走钢丝_走直线很难吗?陀螺仪表示,少了它机器人连直线都走不了...相关推荐

  1. 自闭症患者很难读懂他人情绪?情绪机器人来帮忙

    原作 Adam Freelander Root 编译自 Quartz 量子位 出品 | 公众号 QbitAI 读懂他人细微的情绪,大多数正常人觉得是件很容易的事,但对于自闭症患者来说可能比较困难. 英 ...

  2. python抓取小红书_小红书很难爬?最新爬取方法教给你啦~

    前言 大家好,我是Kuls. 之前写的那篇App抓包软件charles的配置说过,超过30在看,马上更下一篇.有读者问我怎么爬App,我手把手教了他(多图警告) 所以加班加点给大家写了今天这篇文章. ...

  3. 机器人带陀螺仪走钢丝_一言不合就走钢丝,机器人化身“七变美男子”,萌翻你!...

    大家好,我是有着"七变美男子"之称的Gigo陀螺仪机器人. 等等,你确定这不是一盘散沙?好像机器人是长这样的吧? NO!NO!NO!我确实是机器人,而且有着浓厚台湾腔的宝岛机器人. ...

  4. 机器人 瓷砖墙面清洗_墙面瓷片很脏了,有什么办法清洗呀好烦哦...

    墙面瓷片很脏了,有什么办法清洗呀好烦哦... 去化工商店买些低浓度的盐酸,或者草酸.带上手套用抹布涂抹上五分钟后,用抹布擦洗,一次不彻底的话,可再次 涂刷,然后用清水清洗即可.清理污垢效果非常明显 2 ...

  5. 新松机器人BG总裁高峰_青春,就是用来奋斗的——记沈阳新松机器人自动化股份有限公司创始人兼总裁曲道奎...

    新华社沈阳4月8日电 题:青春,就是用来奋斗的--记沈阳新松机器人自动化股份有限公司创始人兼总裁曲道奎 新华社记者王莹.彭卓 他摘下制造业皇冠顶端的明珠,是中国最大机器人"王国"的 ...

  6. 六部工坊ros启智机器人定点导航技术_【展品抢鲜看】程天科技外骨骼机器人亮相峰会,让每个人享受机器人的服务!...

    以"机器智联,赋能万物"为主题第六届中国机器人峰会暨智能经济人才峰会将于5月8日至10日在浙江宁波余姚举行,为凸显峰会"国际化.高端化.专业化.实效化的办会理念" ...

  7. 拟真机器人拯救者奖励_《X战警:黑队》万磁王大战哨兵机器人,他就是变种人的拯救者!...

    大家好,今天给大家讲一个万磁王的故事. 万磁王和X教授是变种人中最伟大的两个人之一,他们对于变种人来说就是真正的英雄. 可惜X教授早已经死去,虽然其他的英雄代替他开始领导X战警, 但是没有人能够替代他 ...

  8. 武术擂台机器人所需传感器_论如何打造一台完美的武术擂台格斗机器人!

    产品代号:SEWL-03 定型时间:2019年2月 产权所有: 天津赛思恩科技有限公司 功能说明 该款武术擂台机器人是专为武术擂台对抗赛而打造.武术擂台对抗赛是模拟中国传统擂台格斗的规则,双方机器人于 ...

  9. 布隆的盾能挡机器人的q吗_没有属性加成的技能,蒙多的Q,机器人的W,布隆的E,那R呢?...

    英雄联盟中装备队友英雄的加强就在于可以将这些属性叠加到英雄的技能身上,从而加强他们的伤害或者治疗效果,但是也有一些技能只能随着等级的提高而增加更高的收益,不能够从装备中获得属性的加成,那么这些技能你知 ...

最新文章

  1. 虚拟服务器的运行原理,虚拟机复制的工作原理
  2. 刚刚!美国官宣100000名 IT 人失业,感觉很慌 !
  3. 2017-2018互联网类脑巨系统研究报告,互联网大脑、城市云脑和AI
  4. 亲自己主动手从源代码 构建 Groovy 2.3.8 公布包
  5. 33行代码AC——例题6-5 移动盒子(Boxes in a Line, UVa 12657)——解题报告
  6. 币安Binance.client can‘t find the module client 解决办法
  7. 马斯克提出以430亿收购推特 推特考虑用毒丸来阻止其增持股份
  8. Java初级笔记-第一章
  9. wireshark https_测开日常积累-wireshark应用
  10. simpson积分模板
  11. Python计算器程序实现,支持括号与符号检测、小数、负数运算
  12. LNK2005符号重定义问题
  13. html如何给标题设置边框和底纹,word如何设置文字边框和底纹
  14. 【Java项目整理】-> CsFramework -> 从零开始手动搭建一个C/S模式中间件
  15. 我的计算机制作幻灯片在哪,如何制作幻灯片呢?具体的步骤能教教我嘛?
  16. ​机器如何“猜你喜欢”?深度学习模型在1688的应用实践
  17. COSTDOWN Project's BSP(二)
  18. Surface电池阈值
  19. 转置卷积和膨胀卷积详细讲解
  20. 终于有人把 单点 登录说清楚了!

热门文章

  1. Hadoop完全分布式安装Kafka
  2. 【WCF】错误处理(二):错误码―—FaultCode
  3. Android开源项目汇总
  4. vfp:数据库中表间关系的参照完整性
  5. codova添加android慢_从 0 开始学 Linux 内核之 android 内核栈溢出 ROP 利用
  6. 我Python采集了新榜热门内容,原来这就是别人能成为自媒体大佬的秘密!
  7. java是如何简化成一行代码的?-----Lambda表达式初识
  8. Qt直接运行生成的exe文件提示“缺少Qt5Core.dll”的解决办法
  9. C++面试题-面向对象-面向对象概念
  10. centos 的网关和什么相同_CentOS操作系统:为什么转移到CentOS流是一个大错误