《仿人机器人原理与实战》一1.5 反射弧“小魔怪”

本节书摘来华章计算机《仿人机器人原理与实战》一书中的第1章 ,第1.5节,作者布莱恩·伯杰伦(Bryan Bergeron) 托马斯B. 塔尔博特(Thomas B. Talbot) 王伟 魏洪兴 刘斐 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.5 反射弧“小魔怪”

如上所述,这里给出的是最简单的机器人电路。你也许注意到例子里并没有用中断或者复杂的算法。毫无疑问,将大量代码减少到几行是有可能的,且能够实现位翻转操作,希望你能做到。但是,对我们的目的来说,用简单的整数运算就能达到目的了。
然而在实践中,即使简单的机器人也会被贴上“多学科综合”和“问题重生”的标签。因此,机器人偶尔也会有小故障。假设一个舵机在不规律地运行,有时会产生流畅的反射,有时只是跳动几秒钟。代码可能是完美的,布线也是无可挑剔的。以上这些条件对于一个机器人的完全正常工作是必要的,但却不是充分条件。
在编程中0和1都是相当标准的,但是每一个物理装置都是独一无二的,甚至是一个瞬时接触开关。此外,即使是最简单的操作方法在操作的前几毫秒内也会出现混沌。拿瞬时按钮S1来说。当按钮处于按下状态时,电触点相互之间猛烈撞击之后快速反弹,在前几毫秒内形成约100多次电弧。如果微控制器采样频率足够高,它就会记录下相互矛盾的数据,例如第一次读数为开,接下来的两次或三次读数为闭。
可以用硬件方法或软件方法防止开关反跳,从而减少读数抖动。在硬件方面,按照电阻–电容(RC)滤波器的形式增加电阻和电容,可以节省处理器时间,但需要电路板空间和额外的器件花销。在软件方面,只需要开关稳定下来,我们可以编写一个单独的延迟(delay)声明来实现。然而,当一个反射弧涉及多个传感器时,仅仅等待微控制器完全关闭并不是最好的方法。
当机器人工作异常时,另一个需要检查的是电源供应。来自舵机的故障会影响微控制器的供电吗?如果你不确定,可以考虑在Arduino的电源接点上安装旁路电容器或者给舵机和微处理器单独供电。
最重要的是要知道一些简单的零件并不是完美的,更不用说复杂的传感器。当你调试仿人机器人或其他机器人的电路和软件时,要研究和理解零件的运行原理,特别是在打开和关闭时,算法往往容易出错。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值