全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > AI人工智能 > AI通用技术 >

基于CompactRIO的家居监控机器人

时间:2017-11-17 10:33

人气:

作者:admin

标签: 机器人  FPGA 

导读:基于CompactRIO的家居监控机器人-用NI CompactRIO作为机器人的“小脑”。NI CompactRIO是美国NI公司的工业级嵌入式控制器,集成以太网接口和RS232串行接口,具有体积小,高可靠性,高性能,低...

选用NI CompactRIO作为机器人的“小脑”。NI CompactRIO是美国NI公司工业嵌入式控制器,集成以太网接口RS232串行接口,具有体积小,高可靠性,高性能,低功耗等优点。

将各种设备的控制算法例如机械臂运动控制,头部运动控制,导航算法,基于以太网的光雷达数据采集,与大脑通讯等程序部署在RT中;将数字信号采集,例如限位开关和紧急停止逻辑还有编码器数据采集和处理,地盘运动伺服控制等算法部署在FPGA中。

选用工业嵌入式触摸平板电脑IPC作为机器人的“大脑”。部署WinCE,具有人机界面功能以及触摸屏交互功能,部署控制人脸识别模块以及语音识别算法,智能家居监控管理算法等。

用FSM来封装每个设备对象:

Finite-state machine (FSM)称为有限状态机广泛用于数字电路和计算机程序。我们使用了两种状态机来封装设备。String Based Queued State Machine基于字符串队列状态机和普通基于枚举的状态机。使用状态机作为一种机制来处理单个设备的状态转换,或者说,用状态机这种行为模型来用于单个设备的事件处理。

 图 2 LIDAR 状态机

 

图 2 LIDAR 状态机

例如光雷达的状态机框图,它具有4个状态,Idle,Start,Running,Stop。在Running状态中,程序不断向光雷达发送指令读取数据,然后由一个Shared Variable来传出数据。使用一个LIRAR.vi来封装这个状态机。

 图 3 Remote Control Reaction 状态机

 

图 3 Remote Control Reaction 状态机

图3是一个远程控制指令解析状态机,它使用String Based Queued State Machine来实现。这样的好处是,可以使用队列来组织动作,较为灵活地实现各种不同组合以及复杂度。

每一个设备的状态机都用一个独立的vi来封装,并且单独进行测试,这样也有利于工程化。

多状态机的协作:

单个状态机只能完成部分功能,我们需要把所有设备状态机集成起来,按照一定的通讯机制拼装成一个完整的机器人。

由于所有的设备状态机都由一个VI来封装,只需要把他们拖入一个主vi中,就能调用他们。如图所示:

图 4状态机集成

 

图 4状态机集成

状态机之间是通过Shared Variable来实现接受外部指令输入以及自身状态输出的。同样,这些Shared Variable都用一个VI进行封装以便进行管理。

这样,一个状态机便可视为一个子系统。既然是系统,自然有系统的输入和输出,通过get,set等方法的vi,外部系统便可对这些子系统进行操作或者交互。如图所示,底盘状态机使用getCommand.vi方法获取外部命令。

图 5 getCommand.vi

 

图 5 getCommand.vi

使用setCommand.vi方法让外部系统传输命令给地盘状态机。

图6 MobileBase.lvlib:setCommand.vi

图6 MobileBase.lvlib:setCommand.vi

底盘使用sendState.vi发送底盘状态机状态信息。如图所示:

图 7 MobileBase.lvlib.sendState.vi

图 7 MobileBase.lvlib.sendState.vi

使用getState.vi方法获取地盘状态机信息。

图 8 getState.vi

图 8 getState.vi

导航算法:

图 9家居监控机器人定位导航软件控制框图

图 9家居监控机器人定位导航软件控制框图

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信