2024-03-29T08:18:06Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:001929652023-11-14T00:51:14Z06164:06165:09654:09655
ContextROS: A Context-Oriented Framework for the Robot Operating SystemContextROS: A Context-Oriented Framework for the Robot Operating Systemenghttp://id.nii.ac.jp/1001/00192876/Conference Paperhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=192965&item_no=1&attribute_id=1&file_no=1Copyright (c) 2018 by the Information Processing Society of JapanYuta, SaekiIkuta, TanigawaKenji, HisazumiAkira, FukudaOne of the important tasks in the robotics field is the development of context-aware robots. These robot changes behavior according to context such as a surrounding situation and provides more appropriate service. It is very useful because it can respond flexibly to various situations. The Robot Operating System (ROS), which is open-source middleware, is common as a development environment of such robots. ROS facilitates the development of applications with excellent versatility, reusability, and portability because it is a component-based peer-to-peer distributed system. However, ROS does not have a framework to support the description of the code related to the context. Therefore, the fragments of code pertaining to context dependence are dispersed throughout the code, becoming more complicated and less maintainable. In this paper, ContextROS which is a framework for applying Context-oriented Programming (COP) to ROS is proposed. ContextROS adds layer as a language element to ROS and modularize the context dependence code explicitly. It also performs layer activations/deactivations for distributed nodes using ROS communication. We apply ContextROS to a simple application and evaluate it by comparison with ROS. The results of the evaluation confirmed that ContextROS is confirmed to be able to reduce the dispersion of the description of the behavior of each context without compromising the performance of the ROS.One of the important tasks in the robotics field is the development of context-aware robots. These robot changes behavior according to context such as a surrounding situation and provides more appropriate service. It is very useful because it can respond flexibly to various situations. The Robot Operating System (ROS), which is open-source middleware, is common as a development environment of such robots. ROS facilitates the development of applications with excellent versatility, reusability, and portability because it is a component-based peer-to-peer distributed system. However, ROS does not have a framework to support the description of the code related to the context. Therefore, the fragments of code pertaining to context dependence are dispersed throughout the code, becoming more complicated and less maintainable. In this paper, ContextROS which is a framework for applying Context-oriented Programming (COP) to ROS is proposed. ContextROS adds layer as a language element to ROS and modularize the context dependence code explicitly. It also performs layer activations/deactivations for distributed nodes using ROS communication. We apply ContextROS to a simple application and evaluate it by comparison with ROS. The results of the evaluation confirmed that ContextROS is confirmed to be able to reduce the dispersion of the description of the behavior of each context without compromising the performance of the ROS.Proceedings of Asia Pacific Conference on Robot IoT System Development and Platform20187122018-12-252018-12-19