Convenient human-computer interaction is essential to carry out many exhausting and concentration-demanding activities. One of them is cyber-situational awareness as well as dynamic and static risk analysis. A specific design method for a multimodal human-computer interface (HCI) for cyber-security events visualisation control is presented. The main role of the interface is to support security analysts and network operators in their monitoring activities. The proposed method of designing HCIs is adapted from the methodology of robot control system design. Both kinds of systems act by acquiring information from the environment, and utilise it to drive the devices influencing the environment. In the case of robots the environment is purely physical, while in the case of HCIs it encompasses both the physical ambience and part of the cyber-space. The goal of the designed system is to efficiently support a human operator in the presentation of cyberspace events such as incidents or cyber-attacks. Especially manipulation of graphical information is necessary. As monitoring is a continuous and tiring activity, control of how the data is presented should be exerted in as natural and convenient way as possible. Hence two main visualisation control modalities have been assumed for testing: static and dynamic gesture commands and voice commands, treated as supplementary to the standard interaction. The presented multimodal interface is a component of the Operational Centre, which is a part of the National Cybersecurity Platform. Creation of the interface out of embodied agents proved to be very useful in the specification phase and facilitated the interface implementation.
The paper presents a universal architectural pattern and an associated specification method that can be applied in the design of robot control systems. The approach a describes the system in terms of embodied agents and proposes a multi-step decomposition enabling precise definition of their inner structure and operation. An embodied agent is decomposed into effectors, receptors, both real and virtual, and a control subsystem. Those entities communicate through communication buffers. The activities of those entities are governed by FSMs that invoke behaviours formulated in terms of transition functions taking as arguments the contents of input buffers and producing the values inserted into output buffers. The method is exemplified by applying it to the design of a control system of a robot executing one of the most important tasks for a service robot, i.e. picking up, by a position-force controlled robot, an object located using an RGB-D image acquired from a Kinect. Moreover in order to substantiate the universality of the presented approach we present how classical, known from the literature, robotic architectures can be expressed as systems composed of one or more embodied agents.
W ogólności system robotyczny projektowany jest jako pojedynczy agent upostaciowiony lub ich zestaw, ale ta praca koncentruje się na działaniu pojedynczego agenta. Agent upostaciowiony dekomponowany jest na współdziałające podsystemy. W dotychczasowych pracach działanie podsystemów opisywane było za pomocą hierarchicznych automatów skończonych, z których stanami były skojarzone operacje. W tym podejściu sposób komunikacji między podsystemami traktowany był jako zagadnienie implementacyjne. W artykule przedstawiono alternatywną metodę opisu agenta upostaciowionego za pomocą hierarchicznych sieci Petriego z dozorami. Hierarchiczna sieć powstaje poprzez przekształcenie automatu skończonego opisującego działanie podsystemu w sieć Petriego wyposażoną w podsieci definiujące zachowania. Wyspecyfikowanie zachowania wymaga natomiast wyjawienia za pomocą sieci Petriego wykorzystywanych modeli komunikacyjnych określających interakcje między podsystemami. Podejście wykorzystujące sieć Petriego umożliwia całościowe określenie działania agenta upostaciowionego w fazie specyfikacji.
EN
In general a robotic system is designed as a single embodied agent or a network of such agents. Nevertheless this work focuses on the activities of a single agent. An embodied agent is decomposed into interacting subsystems. Up till now the activities of subsystems have been specified by using hierarchic finite state automatons. Subsystem operations were associated with the states of those automatons. Communication between subsystems was treated as an implementation issue. This paper presents an alternative method of defining an embodied agent. A hierarchic Petri net with guards is used. A hierarchic net is the result of transformation of a finite state automaton describing the activities of a subsystem. Its subnets represent subsystem behaviours. Specification of behaviours requires the definition of inter-subsystem communication model, that also can be defined by a Petri net. Thus the resulting hierarchic Petri net specifies all of the activities of an embodied agent.
Przestawiono przykłady architektur systemów robotycznych utworzonych z agentów. Wyróżniono osiem typów agentów. Agent upostaciowiony jest typem najogólniejszym. Określono relacje między takimi pojęciami jak: robot, efektor i agent, biorąc pod uwagę wielość tych elementów w systemach robotycznych. Rozważono systemy o zmiennej i niezmiennej strukturze. Wzięto również pod uwagę systemy z wymiennymi i niewymiennymi zadaniami. Zaprezentowane rozważania są użyteczne jako wskazówka przy podejmowaniu strukturalnych decyzji przy projektowaniu systemów robotycznych.
EN
Robotic system architectures based on agents are presented. As agents are classified into eight categories, with the embodied agent being the most general one, the composition of the presented systems varies from that point of view. The relationship between the concepts of: effectors, robots and agents is clarified, taking into account the possible multiplicity of those elements in a robotic system. Fixed and variable structure systems are distinguished. Moreover systems with fixed and exchangeable task are considered. The presentation of the subject relies on already implemented systems. The presented discussion facilitates the design of robotic systems by pointing out the structural decisions the designer has to make.
Roboty społeczne współdziałają z ludźmi, a ci mogą wymagać bardzo różnorodnych usług. Trudno sobie wyobrazić pokładowy sterownik robota autonomicznego, który byłby w stanie podołać każdemu zleceniu. Sterownik pokładowy, dysponujący ograniczonymi zasobami, musi więc mieć strukturę rekonfigurowalną, umożliwiającą wymianę części oprogramowania - w zależności od zleconego zadania. W takich systemach dodatkowe oprogramowanie pobierane jest z chmury obliczeniowej i to ono przejmuje nadzór nad robotem na czas wykonania zadania, a więc w tym przypadku nie tylko następuje wymiana oprogramowania, ale również zamiana ról - sterownik nadrzędny staje się podrzędnym. Artykuł przedstawia zarówno ogólny sposób specyfikacji sterowników, jak i realizację przykładowego zadania.
EN
Social robots need to interact with people, who can demand from them very diverse services. It is difficult to imagine that an on-board computer of an autonomous robot can cope with every service that can be demanded from it. Thus, the on-board controller, having limited capabilities, must have a reconfigurable structure, enabling an exchange of a part of software depending on the required service. In such situations the tacking software is obtained from the cloud. However, this software is not only a suplement it assumes supervisory role over the system while it is executing the required service. This switch of supervisory responsibilities between the acquired software and the core software is a novelty in robot controllers. The pa per presents both the general system specification and an exemplary task it executes.
Z prognoz dotyczących procesów demograficznych wynika, iż łudzi starych, potrzebujących opieki, będzie przybywać w stosunku do aktywnej siły roboczej. Problem opieki może być złagodzony za pomocą robotów kompanów. Układy sterowania tego typu robotów są bardzo złożone. Potrzeba więc odpowiednich narzędzi projektowych, aby je tworzyć. Tutaj przedstawiono procedurę tworzenia formalnej specyfikacji układów sterowania takich robotów.
EN
Companion robots are a necessity in the face of aging society, where a growing number of elderly will have to be supported by a diminishing number of working people. The complexity of control systems of such robots requires a formalised design procedure including an adequate specification method. This paper presents sucha method, illustrated by the specification of the control system of a companion-robot utilised by the RAPP project.
Liczba typów robotów oraz wykorzystywanych przez nie czujników niezmiennie wzrasta, otwierając wciąż nowe pola ich zastosowań. Różnorodność ta wpływa na zapotrzebowanie na narzędzia ułatwiające ich programowanie. W artykule skupiono uwagę na narzędziach programistycznych umożliwiających tworzenie wysokopoziomowych sterowników robotów. Pokrótce omówiono ewolucję metod programowania robotów, od języków specjalizowanych, przez biblioteki, aż po programowe struktury ramowe. W szczególności omówiono szereg popularnych programowych struktur ramowych, umożliwiających tworzenie złożonych sterowników robotów.
EN
The constantly increasing diversity of types of robot and sensors opens new fields of applications. This affects the demand for tools facilitating their programming. This article focuses on the programming tools for development of high-level robotic controllers. It briefly discusses the evolution of methods of robot programming, starting from specialized languages, specialized libraries of functions for general purpose programming languages, ending up on robot programming frameworks. In particular, it presents a number of popular programming frameworks, enabling the creation of complex robot controllers.
This paper presets the specification and implementation of the control system of the mobile platform Rex. The presented system structure and the description of its functioning result from the application of a formal method of designing such systems. This formalism is based on the concept of an embodied agent. The behaviours of its subsystems are specified in terms of transition functions that compute, out of the variables contained in the internal memory and the input buffers, the values that are inserted into the output buffers and the internal memory. The transition functions are the parameters of elementary actions, which in turn are used in behaviour patterns which are the building blocks of the subsystems of the designed control system. Rex is a skid steering platform, with four independently actuated wheels. It is represented by a single agent that implements the locomotion functionality. The agent consists of a control subsystem, a virtual effector and a virtual receptor. Each of those subsystems is discussed in details. Both the data structures and the transition functions defining their behaviours are described. The locomotion agent is a part of the control system of the autonomous exploration and rescue robot developed within the RobREx project.
Praca przedstawia specyfikę i implementację układu sterowania chwytakiem trójpalczastym BarrettHand. Opis struktury układu sterowania wykorzystuje podział agenta upostaciowionego na podsystem sterowania, odpowiedzialny za realizację zadania, oraz efektor wirtualny, który odpowiedzialny jest za bezpośrednie sterowanie sprzętem. Działanie wirtualnego efektora opisuje automat skończony, z którego stanami skojarzono zachowania, które z kolei zdefiniowano za pomocą funkcji przejść określonych na argumentach stanowiących bufory wejściowe tego modułu. Opisano również wstępne eksperymenty związane ze sterowaniem chwytaka, wskazujące na brak stabilności termicznej odczytów ze sztucznej skóry. W związku z tym wprowadzono okresową kalibrację.
EN
The paper presents the specification and implementation of the control system of the Barrett-Hand three-fingered gripper. The structure of the controller is based on the decomposition of an embodied agent into the control subsystem, responsible for the execution of the task, and the virtual effector, responsible for controlling the hardware. The functioning of the virtual effector for controlling the hardware. The functioning of the virtual effector is described by a finite state automaton. Behaviours, which are associated with the states of this automaton, are defined by transition functions taking as arguments the contents of the input buffers of the virtual effector. Experiments conducted on the thus controlled gripper have showed that the readings obtained from the artificial skin are not stable - they change with time due to temperature changes. This neccessitated periodic calibration.
W pracy omówiono strukturę układu sterowania platformy mobilnej Rex. Jest to platforma typu skid steering wyposażona w cztery niezależnie napędzane koła o stałej orientacji. Do specyfikacji układu sterowania wykorzystano formalizm agentów upostaciowionych. Platforma mobilna Rex reprezentowana jest przez pojedynczego agenta realizującego lokomocję. Agent składa się z podsystemu sterowania wirtualnego efektora i wirtualnego receptora. Każdy z podsystemów agenta został szczegółowo omówiony, włączając w to opis budowy funkcji przejść oraz zawartości poszczególnych buforów. Agent lokomocyjny stanowić będzie element systemu sterowania automatycznego robota ratowniczo-eksploracyjnego rozwijanego w ramach projektu RobREx.
EN
This paper presents a control system architecture of the mobile platform Rex. This is a wheeled, skid steering platform, with four independently actuated wheels. A embodied agent formalism has been used to specify control system architecture. The Rex mobile platform is represented by single agent that implements locomotion functionality. The agent consists of a control subsystem the virtual effector and the virtual sensor. Each of the agent subsystem is discussed in details including a description of transition function structure, and the contents of individual buffers. The locomotion agent will be a part of then control system of the autonomous exploration and rescue robot developed within the RobREx project.
Zadania robotów realizowane są w ich otoczeniu, natomiast sterowaniu podlegają efektory tych robotów. Jeżeli zadanie do zrealizowania przez robota ma być wyrażone poprzez pojęcia, którymi zwykliśmy się posługiwać opisując otoczenie, to musimy stworzyć algorytm transformacji tego opisu w operacje wykonywane przez robota. Model otoczenia zwykło się wyrażać jako zbiór obiektów egzystujących w środowisku oraz relacji pomiędzy tymi obiektami. Planowanie działań, będące działem sztucznej inteligencji, korzysta z podania sekwencji statycznych sytuacji, opisanych w kategoriach relacji miedzy obiektami, oraz operacji przekształcających jedną sytuację w drugą. Ta praca koncentruje się na formalnym związku między relacjami opisującymi zaistniałe sytuacje i operacjami, które jest w stanie zrealizować robot. Ponieważ dążymy do skonstruowania układu sterowania robota, któremu zadania będzie można formułować w kategoriach relacji między obiektami, to rozważania obejma również strukturę takiego układu sterowania.
EN
The paper focuses on the relationship between objects and operations realized by a robot. As we strive to construct a robot control system, which tasks will be formulated in terms of relationships between objects, we consider both the structure of a control system, its behaviours and relations between objects of manipulation. The proposed approach express the elementary behaviours of a robotic system in terms of evolution of relationships between objects.
Dwuręczny robot Velma jest wykorzystywany w badaniach z dziedziny robotyki usługowej, prowadzony w Zespole Programowania Robotów i Systemów Rozpoznających Politechniki Warszawskiej. Niniejszy artykuł opisuje poszukiwanie koncepcji zwiększenia przestrzeni roboczej manipulatorów robota oraz jego przebudowę. Wyposażenie robota Velma w korpus o dwóch stopniach swobody rozszerzyło jego możliwości manipulacyjne, umożliwiając m. in. jego wykorzystanie w zadaniach związanych z otwieraniem pełnowymiarowego skrzydła drzwi wejściowych oraz manipulowanie obiektami leżącymi na stole. Dodanie obrotu korpusu do struktury robota sterowanego momentowo otworzyło nowe możliwości w badaniach nad wykorzystaniem sterowania impedancyjnego w robotyce usługowej.
EN
Dual arm Velma robot is used in experiments in the field of servive robotics conducted by Robot Control and Pattern Recognition Group of Warsaw University of Technology. This paper presents research for a solution to increase Velma manipulation workspace and the development of the robot's torso. The construction of the two degree of freedom torso extends Velma's manipulation capabilities, enabling it to take part in experiments including opening a full-size door and manipulating objects placed on a table. The torque controlled torso rotation added to the robot's structure gives new possibilities of research on impedance control utilisation in service robotics.
Obsługa asynchronicznego przepływu danych w złożonych potokach obliczeniowych, jakie z reguły tworzą podsystemy sensoryczne robotów, wymaga wytworzenia odpowiednich narzędzi wspomagających ich implementację. W artykule zaproponowano rozwiązanie umożliwiające warunkowe działanie poszczególnych bloków obliczeniowych w zależności od dostępnych danych. Rozważania teoretyczne doprowadziły do implementacji tych mechanizmów w strukturze ramowej DisCODe. Działanie rozwiązania przedstawiono na dwóch prostych przykładach.
EN
Handling of asynchronous data flows in complex computational systems such as robot sensor subsystems requires appropriate tools facilitating their implementation. The article proposes a solution to the aforementioned problem. The solution enables the activation of a conditional behaviour of the individual computational blocks, depending on the presence of data in their input buffers. Theoretical considerations led to the implementation of these mechanisms in a component-oriented framework for development of diverse robot perception subsystems: DisCODe. Operation of the solution is illustrated in two simple exemplary tasks.
Formy mocujące muszą być idealnie dopasowane do detali, które maja podpierać. Nawet mała modyfikacja kształtu w projekcie detalu powoduje, że kosztowna forma staje się bezużyteczna. Stąd duże zainteresowanie przemysłu formami rekonfigurowalnymi. Zastąpienie tradycyjnych form przez wiele robotów stanowiących ruchome podpory wymaga zaprojektowania specjalnego układu sterowania oraz dedykowanej metody programowania umożliwiającej szybką rekonfigurację takiego systemu. Układ sterowania systemu wielorobotowego został zaprojektowany na podstawie formalnej specyfikacji definiującej strukturę tego układu za pomocą agentów, których zachowanie określane jest za pomocą funkcji przejścia. W ten sposób stworzono system modularny, umożliwiający parametryzację oprogramowania ułatwiające wprowadzanie zmian przy sprawdzaniu różnych rozwiązań technicznych, co jest nieodzowne przy konstrukcji systemu prototypowego. Eksperymenty przeprowadzone w fabryce wykazały, że zaprojektowany system usztywnia detal na tyle, aby wynik obróbki mechanicznej był zadowalający. Jeżeli liczba różnych detali podlegających obróbce jest znaczna, to zaprojektowany system stanowi względnie tanią alternatywę dla wytworzenia i późniejszego magazynowania wielu form. Ponadto zaprojektowany układ sterowania może sterować zespołami robotów o różnej liczności oraz dopuszcza zmiany konstrukcyjne poszczególnych części robotów. Pierwsza część artykułu przedstawia problemy związane z konstrukcją form podpierających oraz prezentuje strukturę układu sterowania systemu wielorobotowego, natomiast część druga koncentruje się na programie planującym działania robotów.
EN
Machining fixtures must fit exactly the work piece to support it appropriately. Even slight change in the design of the work piece renders the costly fixture useless. Substitution of traditional fixtures by a programmable multi-robot system supporting the work pieces requires a specific control system and a specific programming method enabling its quick reconfiguration. The multi-robot control system has been designed following a formal approach based on the definition of the system structure in terms of agents and transition function definition of their behaviour. Thus a modular system resulted, enabling software parameterisation. This facilitated the introduction of changes brought about by testing different variants of the mechanical structure of the system. The shop-floor experiments with the system showed that the work piece is held stiffly enough for both milling and drilling operations performed by the CNC machine. If the number of diverse work piece shapes is large the reconfigurable fixture is a cost-effective alternative to the necessary multitude of traditional fixtures. Moreover, the proposed design approach enables the control system to handle a variable number of controlled robots and accommodates possible changes to the hardware of the work piece supporting robots. The first part of the paper introduces the fixturing problem and presents the control system of the designed multi-robot fixture, while the second part presents the planer deciding where and when the supports should be located.
Formy mocujące muszą być idealnie dopasowane do detali, które mają podpierać. Nawet mała modyfikacja kształtu w projekcie detalu powoduje, że kosztowna forma staje się bezużyteczna. Stąd duże zainteresowanie przemysłu formami rekonfigurowalnymi. Zastąpienie tradycyjnych form przez wiele robotów stanowiących ruchome podpory wymaga zaprojektowania specjalnego układu sterowania takim systemem oraz dedykowanej metody programowania umożliwiającej szybką rekonfigurację tego systemu. W pierwszej części artykułu przedstawiono problemy związane z konstrukcją form podpierających oraz zaprezentowano strukturę układu sterowania systemu wielorobotowego, natomiast w części drugiej skoncentrowano się na programie planującym działania poszczególnych robotów. Artykuł przedstawia sposób programowania rekonfigurowalnej formy. Programowanie w tym przypadku polega na zaplanowaniu czynności wykonywanych przez roboty podpierające. Plan układany jest automatycznie z wykorzystaniem sposobu rozwiązywania problemów wymagających spełnienia ograniczeń. Program planujący bierze pod uwagę ograniczenia fizyczne, geometryczne oraz te związane z upływem czasu. Dane wejściowe dla programu planującego są tożsame z rysunkami CAD detali oraz dane CAM sposobu ich obróbki. Na podstawie tych danych powstaje plan rozstawienia głowic, ruchów manipulatorów oraz translokacji baz mobilnych. Układ sterowania na podstawie otrzymanego planu steruje zachowaniem robotów, umożliwiając maszynie CNC wiercenie otworów bądź frezowanie. Eksperymenty przeprowadzone w fabryce wykazały, że zaprojektowany system usztywnia detal na tyle, aby wynik obróbki mechanicznej był zadowalający. Jeżeli liczba różnych detali podlegających obróbce jest znaczna, to zaprojektowany system stanowi względnie tanią alternatywę dla wytworzenia i późniejszego magazynowania wielu form.
EN
Machining fixtures must fit exactly the work piece to support it appropriately. Even slight change in the design of the work piece renders the opstly fixture useless. Substitution of traditional fixtures by a programmable multi-robot system supporting a work piece requires a specific control system and a specific programming method enabling its quick reconfiguration. The first pan of the paper introduced the fixturing problem and presented the control system of the designed multi-robot fixture, while the second pan presents the planer deciding where and when the supports should be located. A novel approach to task planning (programming) of the reconfigurable fixture system has been developed. Its solution is based on methods of solving the constraint satisfaction problem. The planner takes into account physical, geometrical, and time-related constraints. Reconfigurable fixture programming is performed by supplying CAD definition of the work piece. Out of this data the positions of the robots and the locations of the supporting heads are automatically generated. This proved to be an effective programming method. The control system on the basis of the thus obtained plan effectively controls the behaviours of the supporting robots in both drilling showed thai the generated plans cause the work piece to be held stiffly enough for both milling and drilling operations performed by the CNC machine. If the number of diverse work piece shapes is large the reconfigurable fixture is a cost-effective alternative to the necessary multitude of traditional fixtures.
Dwuczęściowy artykuł poświęcono metodyce projektowania układów sterowania robotów. W pierwszej części przedstawiono krótki przegląd architektur systemów robotycznych oraz przedstawiono metodykę projektowania systemów wielorobotowych wykorzystującą pojęcia: agenta upostaciowionego oraz funkcji przejścia. W poniższej, drugiej części metodyka ta została wykorzystana do specyfikacji systemu robotycznego potrafiącego rozróżnić obiekty płaskie od przestrzennych. Wyniki przeprowadzonych eksperymentów potwierdzają poprawność specyfikacji, jak i stworzonej na jej bazie implementacji.
EN
The two part article describes a methodology of designing robot control systems. The first part presents a brief overview of control architectures and describes the design methodology based on the concepts of an embodied agent and transition functions. The second part applies the methodology to the specification of a control system of a robot utilizing the idea of active vision to distinguish flat objects from convex ones. The results of the experiments validated both the correctness of the system implementation and the design methodology.
Dwuczęściowy artykuł poświęcono metodyce projektowania układów sterowania robotów. Pierwsza część przedstawia krótki przegląd metod projektowania układów sterowania robotów. Następnie w szczegółach prezentuje opracowaną metodykę projektową wykorzystującą koncepcje agenta upostaciowionego oraz funkcji przejścia. Druga część zawiera przykład zastosowania metodyki do specyfikacji układów sterowania robota wykorzystującego aktywną wizję.
EN
The two part article presents a methodology of designing multi-robot control systems. This part presents a brief overview of control architectures and describes the design methodology based on the concept of an embodied agent. An agent is decomposed into control subsystem, virtual effectors and receptors. The each of those components contains internal memory and communication buffers. Those form the arguments of transition functions which compute values for output buffers of those components. Those functions specify the evolution of component stale, which in turn define their behaviours. Those functions are expressed mathematically and graphically by data flow diagrams. The second part applies the presented methodology to the specification of a control system of a robot utilizing the idea of active vision.
W artykule przedstawiono formalną metodę opisu złożonych systemów robotycznych, za pomocą której wyspecyfikowano układy realizujące trzy diametralnie różne zachowania robota: ruch pozycyjny w przestrzeni kartezjańskiej, sterowanie oparte o informację wizyjną pochodzącą z ruchomej kamery zintegrowanej z jego chwytakiem oraz sterowanie wykorzystujące informacje odebraną z nieruchomej kamery. Przedstawione wyniki eksperymentów potwierdzają poprawność stworzonych układów.
EN
The paper presents a formal method of specifying complex robotic systems, applied to the description of three diverse robot behaviors: motion in Cartesian space to a given pose and two types of motions in which the goal was computed on the base of information retrieved from cameras (a camera integrated with the robot gripper and a camera statically mounted above the scene). The presented experimental results confirm the correctness of the developed systems.
Artykuł prezentuje strukturę ramową, opartą na zrębach MRROC++ i FraDIA, ułatwiającą implementację oraz testowanie różnego rodzaju serwomechanizmów wizyjnych. Dla pełności, poza samą strukturą oraz ogólnym sposobem integracji zrębów, omówiono klasyfikację serwomechanizmów, implementację jednego z nich oraz przedstawiono wyniki eksperymentów.
EN
The paper presents a framework facilitating the development of diverse visual servoing (VS) algorithms. The solution utilizes MRROC++ programming framework (for robot control) and FraDIA vision framework (for image processing, analysis and recognition). The article contains the visual servos classification, implementation of one type of VS and the results of experiments.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.