Obsługa asynchronicznego przepływu danych w komponentowych podsystemach percepcji robotów
Streszczenie
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.
Słowa kluczowe
asynchroniczny przepływ danych, DisCODe, komponent, percepcja, robot, struktura ramowa
Asynchronous data flow handling in component-based robot perception subsystems
Abstract
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.
Keywords
asynchronous data flow, component, DisCODe, framework, perception, robot
Bibliografia
- Zieliński C., Kornuta T., Trojanek P., Winiarski T., Metoda projektowania układów sterowania autonomicznych robotów mobilnych. Część 1. Wprowadzenie teoretyczne, ”Pomiary Automatyka Robotyka” 9/2011, 84–87.
- Zieliński C., Kornuta T., Trojanek P., Winiarski T., Metoda projektowania układów sterowania autonomicznych robotów mobilnych. Część 2. Przykład zastosowania, ”Pomiary Automatyka Robotyka” 10/2011, 84–91.
- Olszewski M., Siemiątkowska B., Chojecki R., Marcinkiewicz P., Trojanek P., Majchrowski M., Mobile robot localization using laser range scanner and omni-camera, [in:] Zielińska T., Zieliński C. (eds.), CISM Courses and Lectures - 16th CISM–IFToMM Symposium on Robot Design, Dynamics and Control, RoManSy ’06, Springer, Wien, New York, June 20–24, 2006, 229–236.
- Bruyninckx H. (2003): The Real-Time Motion Control Core of the OROCOS Project, [in:] Proceedings of the IEEE International Conference on Robotics and Automation, 2766–2771, IEEE.
- Willow Garage, Website of the Ecto framework for perception, http://ecto.willowgarage.com, 2011.
- Quigley M., Gerkey B., Conley K., Faust J., Foote T., Leibs J., Berger E., Wheeler R., Ng A., ROS: an opensource Robot Operating System, [in:] Proceedings of the Open-Source Software workshop at the International Conference on Robotics and Automation (ICRA), 2009.
- Kornuta T., Stefańczyk M., DisCODe: komponentowa struktura ramowa do przetwarzania danych sensorycznych, ”Pomiary Automatyka Robotyka” 7-8/2012, 76–85.
- Szyperski C., Gruntz D., Murer S. (2002): Component Software: Beyond Object-Oriented Programming. Addison-Wesley Professional, 2nd edition.
- Sobel J. M., Friedman D. P., An Introduction to Reflection-Oriented Programming, 1996.
- Alexandrescu A. (2001): Modern C++ Design: Generic Programming and Design Patterns Applied. Addison-Wesley Professional.
- Bradski G., Kaehler A. (2008): Learning OpenCV: Computer Vision with the OpenCV Library. O’Reilly, 1st edition.
- Rusu R. B., Cousins S., 3D is here: Point Cloud Library (PCL), [in:] International Conference on Robotics and Automation, Shanghai, China, 2011, 2011.
- Lai K., Bo L., Ren X., Fox D., A large-scale hierarchical multi-view rgb-d object dataset, [in:] Robotics and Automation (ICRA), 2011 IEEE International Conference on, IEEE, 2011, 1817–1824.
- Stefańczyk M., Kasprzak W., Multimodal segmentation of dense depth maps and associated color information, [in:] Bolc L., Tadeusiewicz R., Chmielewski L., Wojciechowski K. (eds.), Proceedings of the International Conference on Computer Vision and Graphics, Springer Berlin/Heidelberg, 2012, 626–632.