In this paper we present a formal approach to robot motion specification. This motion specification takes into account three elementary behaviors that suffice to define any robot interaction with the environment, i.e. free motion, exerting generalized forces and the transition between both of these behaviors. These behaviors provide a foundation for general motion generation taking into account any sensors, any effectors and the capability to exchange information between embodied agents. This specification can be used both for the definition of robot tasks and implementation of robot control software, hence both of those aspects are presented in this paper. This formal approach was used for the implementation of the MRROC++ robot programming framework. Two-handed manipulation of a Rubik's cube is used as an exemplary task. Extensive experimentation both with the presented formalism and the MRROC++ framework showed that the imposed formal rigor eliminates many errors at the software specification phase, produces well-structured control software and significantly speeds up and simplifies its implementation. These advantages are mainly due to the fact that the proposed formal specification tool is derived from operational semantics used in computer science for the definition of programming languages, thus a close relationship between abstract definition and the implementation of the control system resulted.
This paper presents a method of designing variable structure control systems for robots. As the on-board robot computational resources are limited, but in some cases the demands imposed on the robot by the user are virtually limitless, the solution is to produce a variable structure system. The task dependent part has to be exchanged, however the task governs the activities of the robot. Thus not only exchange of some task-dependent modules is required, but also supervisory responsibilities have to be switched. Such control systems are necessary in the case of robot companions, where the owner of the robot may demand from it to
Abstract. The paper deals with structuring robot control systems. The control system is decomposed into distinct agents. An agent, in general, is responsible for control of its effector, perception of the environment for the purpose of its effector control, and inter-agent communication.The behaviour of the agent is governed by its set of transition functions. The control system consists of two tiers -the upper tier is defined by the flow of information between the agents and the lower tier is defined by formal specification of each agent's behaviour (influence on the environment, gathering sensor readings, production and consumption of the information for/from the other agents). The paper presents one of the examples of utilization of this approach. The example concerns the multi-robot drawing copying system.
PurposeThis paper seeks to develop universal software (a programming framework) enabling the implementation of service robot controllers. The software should distinguish the hardware‐oriented part of the system from the task‐oriented one. Moreover, force, vision as well as other sensors should be taken into account. Multi‐effector systems have to be considered.Design/methodology/approachThe robot programming framework MRROC++ has been implemented as a hierarchical structure composed of processes, potentially consisting of threads. All of the software is written in an object‐oriented manner using C++ and is supervised by a QNX real‐time operating system. The framework has been verified on several systems executing diverse tasks. Here, a Rubik's cube puzzle‐solving system, consisting of two arms and utilizing force control and visual servos, is presented.FindingsThe presented framework is well suited to tasks requiring two‐handed manipulation with force sensing, visual servoing and online construction of plans of actions. The Rubik's cube puzzle is a reasonable initial benchmark for validation of fundamental service robot capabilities. It requires force sensing and sight coupled with two‐handed manipulation and logical reasoning, as do the majority of service tasks. Owing to the use of force sensing during manipulation, jamming of the faces has always been avoided; however, visual servoing could only cope with slow handing over of the cube due to the volume of computations associated with vision processing.Research limitations/implicationsThe proposed software structure does not limit the implementation of service robot controllers. However, some of the specific algorithms used for the solution of the benchmark task (i.e. Rubik's cube puzzle) need to be less time‐consuming.Practical implicationsThe MRROC++ robot programming framework can be applied to the implementation of diverse robot controllers executing complex service tasks.Originality/valueA demanding benchmark task for service robots has been formulated. This task, as well as many others, has been used to validate the MRROC++ robot programming framework which significantly facilitates the implementation of diverse robot systems.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.