智能机器人操作系统设计的几个亮点

2017-05-24 16:45王子祺
新教育时代·教师版 2016年40期
关键词:状态机陀螺仪机器人

王子祺

我们的机器人本次试验任务的路线如下图所示。共分4次任务,分别用不同颜色框来表示。在这次智能机器人操作系统中我们做了几种新的尝试,取得了不错的效果,现在介绍如下。

“状态机”的运用有效提高操作效率

在操作智能机器人的过程中,操作人员常需在各种不同的程序中来回切换,操作工作的繁琐可想而知。

为了降低操作人员切换程序时繁琐的操作,我们制作了一个新的操作系统来简化原有的操作,从而缩短操作时间,提高效率。为了达到这个目的,我们在程序中使用了“状态机”。

状态机是一种概念性机器,它能采取某种操作来响应一个外部事件。具体采取的操作不仅能取决于接收到的事件,还取决于各个事件的发生顺序。之所以状态机能做到这一点,是因为机器在跟踪一个内部状态,它会在收到事件后进行更新。为一个事件而响应的行动不仅取决于事件本身,还取决于机器的内部状态。另外,采取的行动还会决定并更新机器的状态。这样一来,任何逻辑都可建成一系列事件/状态组合。

状态机可归纳为4个要素,即“现态”“条件”“动作”“次态”。这样的归纳,主要是出于对状态机的内在因果关系考虑。“现态”和“条件”是因,“动作”和“次态”是果。详解如下:

①现态:是指当前所处的状态。

②條件:又称为“事件”,当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。

③动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。

④次态:条件满足后要迁往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。

状态转移示意图:

线性加速模块

当面对较长距离又需要以较快的速度通过时,线形加速模块可以帮助我们完成这项任务。它相较于直接输入功率运行的电机模块的好处是,整个操作过程中车体移动比较稳定,不会有剧烈晃动的情况出现。

陀螺仪传感器自检模块

对于此次试验场地的特殊性(场地线较直)而又因为光电传感器对结构要求较高,所以我们使用了对整体结构要求较小的陀螺仪代替了一个光感仪。然而因为未知原因,陀螺仪在某些情况下读数会不准确,我们采用了陀螺仪自检模块,就是在问题出现时可以即时进行修改,从而避免之后程序的不准确。

自动测光值模块

在实验过程中有时光感可能读出不同的值,从而造成程序运行效果不理想。因此我们需要一种能监测机器人所在位置的光值的模块。但与以前的版本不同的是,因为我们实现了操作系统,所以无论机器人在哪里我们都可以事实测量机器人所在位置的光值。这极大地增强了循线,直角校正的稳定性和可靠性。

程序主要分为两部分:实时测量当时的光值,对读取的光值进行处理。

(说明:为了弥补使用不同光感而产生的误差,所以我们对左右两个光值进行分别处理。因此有左光感黑/白,右光感黑/白,4个数值要进行处理。上图仅展示了部分程序。)

猜你喜欢
状态机陀螺仪机器人
基于EMD的MEMS陀螺仪随机漂移分析方法
基于有限状态机的交会对接飞行任务规划方法
我国著名陀螺仪专家——林士谔
微机械陀螺仪概述和发展
MEMS三轴陀螺仪中不匹配干扰抑制方法
机器人来帮你
认识机器人
机器人来啦
FPGA设计中状态机安全性研究
基于反熔丝FPGA的有限状态机加固设计