{"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}
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.