Visual dataflow language for educational robots programming

Автор: Zimin G.A., Mordvinov D.A.

Журнал: Труды Института системного программирования РАН @trudy-isp-ran

Статья в выпуске: 2 т.28, 2016 года.

Бесплатный доступ

Visual domain-specific languages usually have low entry barrier. Sometimes even children can program on such languages by working with visual representations. This is widely used in educational robotics domain, where most commonly used programming environments are visual. The paper describes a novel dataflow visual programming environment for embedded robotic platforms. Obviously, complex dataflow languages are not simple for understanding. The purpose of our tool is to "bridge" between lightweight educational robotic programming tools (commonly these tools provide languages which are based on control flow model) and complex industrial tools (which provide languages based on more complex dataflow execution model). We compare programming environments mostly used by robotics community with our tool. After brief review of behavioural robotic architectures, some thoughts on expressing them in terms of our dataflow language are given. Visual language, which is described here, provides opportunity to mix dataflow and control flow models for robotics programming. We believe that it is important for educational purposes. Program on our language consists of different blocks (visual representation of data transformation processes) and "links" which presents data flow between them. Domain-specific modelling approach was used to develop our language. Also, this paper provides the examples of solving two typical robot control tasks in our language.

Еще

Robotics, data flow, visual programming, educational robotics, domain-specific modelling, subsumption architecture

Короткий адрес: https://sciup.org/14916345

IDR: 14916345   |   DOI: 10.15514/ISPRAS-2016-282)-3

Образовательный визуальный потоковый язык для программирования роботов

Визуальные предметно-ориентированные языки зачастую имеют низкий порог вхождения: даже ученики школ и дошкольных учреждений могут программировать на таких языках, оперируя визуальными моделями. Этот факт нашел широкое применение в образовательной робототехнике, где большинство используемых сред разработки основано на визуальных языках. Данная работа описывает новый потоковый визуальный язык программирования роботов для распространенных встраиваемых робототехнических платформ. Очевидно, что сложные потоковые визуальные языки трудны для понимания. Целью нашей работы было создание инструмента, представляющего собой переходную «ступень» между легковесными образовательными средами программирования, которые обычно предоставляют языки, основанные на модели потока управления, и сложными индустриальными средами, которые, в основном, предоставляют языки, основанные на модели потоков данных. В статье приводится сравнение широко распространенных сред программирования роботов с описанной в работе средой. Также в работе представлен краткий обзор популярных поведенческих архитектур для построения сложных систем управления роботами, таких как архитектура категорий Р. Брукса и «Колония» Д. Коннеля, и приведены идеи их выражения в новом языке программирования. Язык был создан с помощью предметно-ориентированного подхода. Он предоставляет возможность совмещать в себе две модели исполнения: пользователь может программировать как в терминах потоков данных, так и в терминах потока управления. Мы считаем, что это важно в образовательных целях. Программы на нашем языке состоят из множества «блоков» - визуальных представлений процессов трансформации данных, и «связей», которые визуализируют потоки данных между ними. В качестве апробации среды созданы различные по сложности программы управления роботами.

Еще

Список литературы Visual dataflow language for educational robots programming

  • Banyasad, O. (2000). A Visual Programming Environment for Autonomous Robots.
  • Simpson, J., Jacobsen, C. L., & Jadud, M. C. (2006). Mobile robot control.Communicating Process Architectures, 225.
  • Simpson, J., & Jacobsen, C. L. (2008, September). Visual Process-Oriented Programming for Robotics. In CPA (pp. 365-380).
  • Posso, J. C., Sampson, A. T., Simpson, J., & Timmis, J. (2011). Process-Oriented Subsumption Architectures in Swarm Robotic Systems. In CPA (pp. 303-316).
  • Diprose, J. P., MacDonald, B. A., & Hosking, J. G. (2011, September). Ruru: A spatial and interactive visual programming language for novice robot programming. In Visual Languages and Human-Centric Computing (VL/HCC), 2011 IEEE Symposium on (pp. 25-32). IEEE.
  • Johnston, W. M., Hanna, J. R., & Millar, R. J. (2004). Advances in dataflow programming languages. ACM Computing Surveys (CSUR), 36(1), 1-34.
  • A.S. Kuzenkova, A.O. Deripaska, K.S. Taran, A.V. Podkopaev, Y.V. Litvinov, T.A. Bryksin. St. Petersburg State Polytechnical University Journal, p. 142, 2011.
  • Kuzenkova A., Deripaska A., Bryksin T., Litvinov Y., Polyakov V. QReal DSM platform-An Environment for Creation of Specific Visual IDEs. InENASE (pp. 205-211) 2013.
  • Brooks, R. A. (1986). A robust layered control system for a mobile robot.Robotics and Automation, IEEE Journal of, 2(1), 14-23.
  • Proetzsch, Martin, Tobias Luksch, and Karsten Berns. "The behaviour-based control architecture iB2C for complex robotic systems." KI 2007: Advances in Artificial Intelligence. Springer Berlin Heidelberg, 2007. 494-497.
  • Erwin, B., Cyr, M., & Rogers, C. (2000). Lego engineer and robolab: Teaching engineering with labview from kindergarten to graduate school. International Journal of Engineering Education, 16(3), 181-192.
  • Gomez-de-Gabriel, J. M., Mandow, A., Fernandez-Lozano, J., & García-Cerezo, A. (2011). Using LEGO NXT mobile robots with LabVIEW for undergraduate courses on mechatronics. Education, IEEE Transactions on, 54(1), 41-47.
  • Kuzenkova, A., Deripaska, A., Bryksin, T., Litvinov, Y., & Polyakov, V. (2013). QReal DSM platform-An Environment for Creation of Specific Visual IDEs. InENASE (pp. 205-211)
  • Kim, S. H., & Jeon, J. W. (2007, October). Programming LEGO Mindstorms NXT with visual programming. In Control, Automation and Systems, 2007. ICCAS'07. International Conference on (pp. 2468-2472). IEEE.
  • Connell, Jonathan H. A colony architecture for an artificial creature. No. AI-TR-1151. MASSACHUSETTS INST OF TECH CAMBRIDGE ARTIFICIAL INTELLIGENCE LAB, 1989.
  • Arkin, Ronald C. Motor schema based navigation for a mobile robot: An approach to programming by behavior. Robotics and Automation. Proceedings. 1987 IEEE International Conference on. Vol. 4. IEEE, 1987.
  • Rosenblatt, Julio K. DAMN: A distributed architecture for mobile navigation. Journal of Experimental & Theoretical Artificial Intelligence 9.2-3 (1997): 339-360.
  • Simpson, Jonathan, and Carl G. Ritson. Toward Process Architectures for Behavioural Robotics. CPA. 2009.
  • D.V. Koznov. Binom. Laboratorija znanij, Internet-universitet informacionnyh tehnologij. 2008.
  • Rohmer, Eric, Surya PN Singh, and Marc Freese. V-REP: A versatile and scalable robot simulation framework. Intelligent Robots and Systems (IROS), 2013 IEEE/RSJ International Conference on. IEEE, 2013.
  • Kirsanov, Alexander, Iakov Kirilenko, and Kirill Melentyev. Robotics reactive programming with F#/Mono. Proceedings of the 10th Central and Eastern European Software Engineering Conference in Russia. ACM, 2014.
  • Quigley, Morgan, et al. ROS: an open-source Robot Operating System. ICRA workshop on open source software. Vol. 3. No. 3.2. 2009.
  • Gerkey, Brian, Richard T. Vaughan, and Andrew Howard. The player/stage project: Tools for multi-robot and distributed sensor systems. Proceedings of the 11th international conference on advanced robotics. Vol. 1. 2003.
Еще