由于自主机器人软件在功能和非功能方面的特殊性,使其在开发、运行和维护方面面临诸多挑战,也给计算机软件技术提出了新的要求。
软件结构:从整体上看,自主机器人软件遵循感知-决策-实施(perceive-decide-act)的封闭控制环路,即获取感知信息,据此进行行为决策,并采取相应的行为。为支持这一控制环路,自主机器人软件采用了多种软件结构和模型,包括:(1)基于对象的模型,即将控制环路以及相关功能用对象技术来进行封装和实现。其优点是具有良好的程序结构和可重用性,有众多程序设计语言的支持(如C++、Python和Java等),可有效支持自主机器人软件的功能层、控制层和交互层的开发;缺点是对象无法主动感知环境变化,不具备自主和自发的行为,一旦实例化之后其结构和行为将无法改变等。因而,对象模型在支持自主机器人软件的决策层、管理层等方面有其局限性。(2)基于构件的模型。该模型支持对机器人软件进行粗粒度的封装,并有效支持软件重用,可通过构件接口的灵活组装来形成满足自主机器人软件的不同需求。赛德克·本萨利姆(Saddek Bensalem)等人提出了基于形式化构件的方法以及相应的体系结构LAAS来开发可信的自主机器人软件;阿尼斯·科巴(Anis Koubaa)等人基于构件技术提出了一个面向自主协同服务机器人的软件体系结构COROS。但构件模型很少关心自主机器人软件决策层的行为自主性和自发性问题以及管理层的自我管理问题,也没有为此提供相应的支持,因而在支持自主机器人软件的自主决策层、自我管理层等方面有其局限性。(3)基于主体(agent)的模型。主体是指能与环境进行交互并能实施自主行为的实体,它通常采用反应式、审慎式的软件结构,以支持其自主的行为决策。这类模型能够为自主机器人软件在决策层、管理层的开发提供元层支持。例如,布鲁克斯(Brookes)采用包容(subsumption)的反应式结构来支持机器人软件的开发,魏长云等提出了基于主体的认知模型来支持自主机器人软件的开发。
此文由 怡心湖 编辑,若您觉得有益,欢迎分享转发!:首页 > 常识论 » 自主机器人软件开发技术之现状简析