使用元脚本、模板和代码生成快速组装模块化机器人控制的状态机

Barry Ridge, Timotej Gaspar, A. Ude
{"title":"使用元脚本、模板和代码生成快速组装模块化机器人控制的状态机","authors":"Barry Ridge, Timotej Gaspar, A. Ude","doi":"10.1109/HUMANOIDS.2017.8246943","DOIUrl":null,"url":null,"abstract":"As robotic systems have become more and more complex and difficult to manage, various software architectures, libraries and programming paradigms have been introduced aimed at high-level control and integration of their constituent parts. The Robot Operating System (ROS) has, for many, become the de facto software framework for communication standardisation and hardware interface abstraction, and various packages within its ecosystem have come to the fore as being reliable design choices for dictating control flow. ROSbased software packages that use state machines as their core methodology to bridge the gap between low-level imperative task scripting and higher-level task planning have proven particularly popular. However, while they provide much in terms of power and flexibility, their overall task-level simplicity can often be obfuscated at the script-level by boilerplate code, intricate structure and lack of code reuse between state machine prototypes. In this paper, we aim to address this deficit by proposing a code generation, templating and metascripting methodology for state machine assembly, as well as an accompanying application programming interface (API), for the rapid, modular development of robot control programs. The API has been developed to function effectively as either a frontend for concise scripting or a back-end for code generation for visual programming systems. Its capabilities are demonstrated in an experiment using a simulated humanoid robot platform.","PeriodicalId":143992,"journal":{"name":"2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Rapid state machine assembly for modular robot control using meta-scripting, templating and code generation\",\"authors\":\"Barry Ridge, Timotej Gaspar, A. Ude\",\"doi\":\"10.1109/HUMANOIDS.2017.8246943\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"As robotic systems have become more and more complex and difficult to manage, various software architectures, libraries and programming paradigms have been introduced aimed at high-level control and integration of their constituent parts. The Robot Operating System (ROS) has, for many, become the de facto software framework for communication standardisation and hardware interface abstraction, and various packages within its ecosystem have come to the fore as being reliable design choices for dictating control flow. ROSbased software packages that use state machines as their core methodology to bridge the gap between low-level imperative task scripting and higher-level task planning have proven particularly popular. However, while they provide much in terms of power and flexibility, their overall task-level simplicity can often be obfuscated at the script-level by boilerplate code, intricate structure and lack of code reuse between state machine prototypes. In this paper, we aim to address this deficit by proposing a code generation, templating and metascripting methodology for state machine assembly, as well as an accompanying application programming interface (API), for the rapid, modular development of robot control programs. The API has been developed to function effectively as either a frontend for concise scripting or a back-end for code generation for visual programming systems. Its capabilities are demonstrated in an experiment using a simulated humanoid robot platform.\",\"PeriodicalId\":143992,\"journal\":{\"name\":\"2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids)\",\"volume\":\"26 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2017-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/HUMANOIDS.2017.8246943\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HUMANOIDS.2017.8246943","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

摘要

随着机器人系统变得越来越复杂和难以管理,各种软件体系结构、库和编程范式被引入,旨在对其组成部分进行高层控制和集成。对于许多人来说,机器人操作系统(ROS)已经成为通信标准化和硬件接口抽象的事实上的软件框架,其生态系统中的各种软件包已经成为指示控制流的可靠设计选择。基于ros的软件包使用状态机作为其核心方法,以弥合低级命令式任务脚本和高级任务计划之间的差距,这些软件包已被证明特别受欢迎。然而,尽管它们在功能和灵活性方面提供了很多,但它们在任务级的总体简单性常常会在脚本级被样板代码、复杂的结构和状态机原型之间缺乏代码重用所混淆。在本文中,我们的目标是通过提出一种用于状态机组装的代码生成、模板和元脚本方法,以及伴随的应用程序编程接口(API)来解决这一缺陷,用于机器人控制程序的快速、模块化开发。开发API的目的是有效地充当简洁脚本的前端或可视化编程系统的代码生成的后端。在模拟人形机器人平台的实验中验证了其功能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Rapid state machine assembly for modular robot control using meta-scripting, templating and code generation
As robotic systems have become more and more complex and difficult to manage, various software architectures, libraries and programming paradigms have been introduced aimed at high-level control and integration of their constituent parts. The Robot Operating System (ROS) has, for many, become the de facto software framework for communication standardisation and hardware interface abstraction, and various packages within its ecosystem have come to the fore as being reliable design choices for dictating control flow. ROSbased software packages that use state machines as their core methodology to bridge the gap between low-level imperative task scripting and higher-level task planning have proven particularly popular. However, while they provide much in terms of power and flexibility, their overall task-level simplicity can often be obfuscated at the script-level by boilerplate code, intricate structure and lack of code reuse between state machine prototypes. In this paper, we aim to address this deficit by proposing a code generation, templating and metascripting methodology for state machine assembly, as well as an accompanying application programming interface (API), for the rapid, modular development of robot control programs. The API has been developed to function effectively as either a frontend for concise scripting or a back-end for code generation for visual programming systems. Its capabilities are demonstrated in an experiment using a simulated humanoid robot platform.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信