Computer Science ›› 2015, Vol. 42 ›› Issue (3): 13-18.doi: 10.11896/j.issn.1002-137X.2015.03.003

Previous Articles     Next Articles

RPL:A Robot Programming Language Based on Reactive Agent

TIAN Chang-hai, YANG Shuo, CHEN Yin and MAO Xin-jun   

  • Online:2018-11-14 Published:2018-11-14

Abstract: Robots situated in open environment are expected to be context-aware and autonomous,to support concurrent behaviours,and to react to external stimuli in a timely manner.To program such robots,a robot programming language is required to explicitly represent environmental factors,support decision-making and concurrency,specify temporal,special and physical relations among robot behaviours,and prioritize concurrent robot behaviours to avoid collision.Agent-oriented programming (AOP) provides a new solution to robot programming by taking software units as autonomous agents.Based on the requirements for robot programminges language,agent-oriented programming model—RECA and programming language—RPL based on reactive agent were proposed.RECA programming model which takes robot software as a reactive agent consists of three elements.SensorEvent shows environmental changes;ScenarioBehaviour are the different behaviour specifications for robots,and EventRule defines the dynamic mapping relations from environmental inputs to behavioral outputs.RPL was designed to meet the needs of robot programming,by providing various mechanisms supporting event-based programming,multi-thread programming,prioritization of robot behaviours,and dynamic binding of robot behaviours.We designed and implemented a programming and runtime environment for the RPL,and demonstrated the expressiveness of RPL and the effectiveness of its runtime environment through a case study of elder assistant robot.

Key words: Robots,Control software,Agent-oriented programming

[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!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!