计算机科学 ›› 2015, Vol. 42 ›› Issue (3): 13-18.doi: 10.11896/j.issn.1002-137X.2015.03.003
田昌海,杨 硕,陈 寅,毛新军
TIAN Chang-hai, YANG Shuo, CHEN Yin and MAO Xin-jun
摘要: 开放环境下的机器人具有环境敏感性、行为自主性和并发性、反应实时性等特点,这对支撑这类机器人的控制软件及其编程语言提出了新的要求,包括支持对环境进行显式表示,支持自主和并发的行为,需要对行为间在时间、空间、物理上的关系进行规约等等。面向Agent的编程语言将软件系统的基本执行单元视为自主的软件Agent,它为机器人控制软件的构造提供了新的方法和思路。针对开放环境下机器人特点对其编程语言的要求,提出了基于反应式Agent的编程模型RECA和编程语言RPL。RECA将单个机器人的软件系统视为一个反应式Agent,它包括SensorEvent、EventRule和ScenarioBehaviour 3个组成部分,其中SensorEvent是对机器人所处环境信息变化的一种封装;ScenarioBehaviour是对机器人的不同行为进行的规约;EventRule定义了机器人环境输入到行为输出的动态绑定关系。RPL提供了一系列的机制来支持机器人控制软件的编程,包括事件机制、多线程机制、优先级描述、行为动态绑定。最后介绍了RPL程序开发和运行支撑环境的技术框架,并基于NAO机器人分析了机器人作为老人生活助理的案例,验证了该编程模型、语言和运行支撑环境的有效性。
[1] Ziafati P,Dastani M,Meyer J J,et al.Agent Programming Languages Requirements for Programming Autonomous Robots[M]∥Programming Multi-Agent Systems.Springer Berlin Heidelberg,2013:35-53 [2] 戴齐,姚先启.机器人程序设计语言[J].机器人,1997,19(5):390-400 [3] Jennings N R,Sycara K,Wooldridge M.A roadmap of agent research and development[J].Autonomous agents and multi-agent systems,1998,1(1):7-38 [4] Le T G,Fedosov D,Hermant O,et al.Programming Robotswith Events[M]∥Embedded Systems:Design,Analysis and Verification.Springer Berlin Heidelberg,2013:14-25 [5] Auyeung T.Robot programming in “C”.2006-02-15[2014-07-01].http://wild-puppy.drtak.org/teaches/ARC/cisp299_bot/b-ook/book.pdf [6] Kang S C,Chang W T,Gu K Y,et al.Robot Development Using Microsoft Robotics Developer Studio[M].CRC Press,2011 [7] Preston S.The definitive guide to building Java robots[M].Apress,2006 [8] Jayaram K R,Eugster P.Context-oriented programming with Event-Java[C]∥International Workshop on Context-Oriented Programming.ACM,2009:9 [9] Baillie J C.Urbi:Towards a universal robotic low-level programming language[C]∥Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS’05).2005:820-825 [10] Chinello F,Scheggi S,Morbidi F,et al.Kuka control toolbox[J].Robotics & Automation Magazine,IEEE,2011,18(4):69-79 [11] Logic Design Inc.Robologix.2014-06-28[2014-07-01].http://www.robologix.com/programming_robologix.php [12] Cohen N H,Kalleberg K T.EventScript:an event-processing language based on regular expressions with actions[J].ACM Sigplan Notices,2008,43(7):111-120 [13] Holzer A,Ziarek L,Jayaram K R,et al.Putting events in context:aspects for event-based distributed programming[C]∥Proceedings of the tenth international conference on Aspect-oriented software development.ACM,2011:241-252 [14] 张连新,高洪明,张广军,等.混合式弧焊机器人编程语言[J].焊接学报,2006,27(7):105-108 [15] 毛新军.面向 Agent 软件工程:现状,挑战与展望[J].计算机科学,2011,38(1):1-7 [16] Aldebaran Robotics.Nao software documentation.[2014-07-02].https://community.aldebaran.com/doc/ |
No related articles found! |
|