350 rub
Journal Information-measuring and Control Systems №1 for 2020 г.
Article in number:
Implementation of robocar behavior prototypes using web technologies
DOI: 10.18127/j20700814-202001-07
UDC: 004.02: 004.424
Authors:

V.N. Negoda – Dr.Sc.(Eng.), Professor, 

Department «Computer Engineering», Ulyanovsk State Technical University

E-mail: nvnulstu@gmail.com

Abstract:

A set of technical solutions is proposed that provides prototyping of the behavior of a robocar with a differential drive in a web navigator environment. Prototyping provides a simulation of movement based on the specifications of trajectories in two-dimensional space and is organized as a parametrically controlled process of animation of groups of graphic primitives. The main purpose of the prototypes is to support the study of the fundamentals of programming the tasks of controlling the movement of robocars along predetermined paths in general-purpose programming languages without the use of special frameworks.

In the initialization phase, a layout of the activity field is created, which can contain groups of graphic primitives that display coordinate axes, motion paths and the starting position of the robocar. The process of simulating behavior is based on five types of specifications: 1) specifications of the general simulation scenario, each operation of which is considered as a separate task; 2) formal metadata specifications that ensure the creation of the space of task variables and their initialization; 3) specifications of the robocar itself and its environment, interpreted on the basis of metadata within the framework of one run of one task; 4) specifications of scenarios of behavior of a robocar within the framework of one run of one task; 5) specifications of the animation processes, formed on the basis of one record of the fourth type specification. The first four types of specifications are formed on the server-side, and the fourth type is on the client-side. 

The specifications of the general scenario provide the launch of individual tasks and linking them to the sets of specifications of a single run, i.e. specifications of the second, third and fourth types. Moreover, one task may appear in the general scenario several times, which ensures the implementation of several runs that differ in the contents of the sets of specifications of the third and fourth types.

The metadata specifications describe the space of variables used in the simulation. The program simulating the behavior when starting a run of one task first interprets the specifications of its metadata, then creates the variables defined in them in the space of the task being implemented using the Javascript language and transfers the specifications data of the third and fourth types to these variables. The specifications of the third type specify the parameters of the two-dimensional field, the dimensional parameters of the robocar and its starting position. Specifications for behavior scenarios within a single run are a collection of motion profile entries. Each record sets the time interval for the action of the profile element, the direction of rotation of the drive wheels and the duty cycle of the power pulses, which determine the speed of rotation. Specifications of animation processes are formed on the client-side by means of a programming system in the Javascript language and SVG graphics.

For each task of the scenario of general behavior on the client-side, a function for generating arrays of Javascript objects is developed. Each object contains the show () function and several parameters that determine the coordinates and the angle of inclination of the robocar relative to the coordinate axes. Several arrays of objects can be aggregated into one state of the animation process. In this case, the task run is decomposed into several states. The animation processes of several tasks are combined into a common prototype of behavior using the specification of a general simulation of behavior. It supports the ability to run multiple scenarios for the same set of tasks, possibly in a different order and with different specifications of the third and fourth types. This provides prototyping in a wide range of parameter values that determine the trajectories and speed of the robocar.

Pages: 57-62
References
  1. Sobh T., Xiong X. Prototyping of Robotic Systems: Applications of Design an Implementation. IGI Global. 2012. 498 p.
  2. Ceccarelli M., Kececu E.F. Design an Prototypes of Mobile Robots. ASME Press. 2015. 204 p.
  3. Hailpern B., Tarr P. Model-driven development: the good, the bad and the ugly. IBM Systems Journal. 2006. V. 45. № 3. P. 451−461.
  4. Parviainen P., Takalo J., Teppola S., Tihinen M. Model-Driven Development. Process and practices [Elektronnyi resurs]. URL = http://www.vtt.fi/inf/pdf/workingpapers/2009/ W114.pdf (data obrashcheniya: 11.09.2019).
  5. Negoda V.N. Prototipirovanie povedeniya obieektov sistem logicheskogo upravleniya v Web-bazirovannoi SAPR. Radiotekhnika. 2019. T. 83. № 9(14). S. 91−95. DOI: 10.18127/j00338486-201909(14)-13. (In Russian).
  6. Wang L., Yang Y., Correa G., Karydis K., and Fearing R.S. OpenRoACH: A Durable Open-Source Hexapedal Platform with Onboard Robot Operating System (ROS). IEEE Int. Conf. on Robotics and Automation (ICRA). 2019. P. 9466−9472.
  7. Wang L., Yang Y., Correa G., Karydis K., Fearing R.S. OpenRoACH: A Durable Open-Source Hexapedal Platform with Onboard Robot Operating System (ROS). International Conference on Robotics and Automation (ICRA-2019). Montreal. 2019. URL = https://www.researchgate.net/publication/335140472_OpenRoACH_A_Durable_Open-Source_Hexapedal_Platform_with_Onboard_ Robot_Operating_System_ROS (data obrashcheniya: 10.01.2020).
  8. Baillie J.C., Dmaille A., Duceux G., Filliat D., Hocquet Q., Notalle M. Software architecture for an exploration robot based on Urbi. 6th National Conference on Control Architectures of Robots. 2011 URL = https://www.researchgate.net/publication/236231305_Software_ architecture_for_an_exploration_robot_based_on_Urbi (data obrashcheniya: 21.01.2020).
  9. Tsardoulias E., Mitkas A.P. Robotic frameworks, architectures and middleware comparison. URL = https://www.researchgate.net/ publication/321180717_Robotic_frameworks _architectures_and_middleware_comparison (data obrashcheniya: 27.01.2020).
  10. Upravlenie transportnymi robotami. [Elektronnyi resurs]. URL = http://ulivt.ru/DigitalControl/Robot/ (data obrashcheniya: 09.09.2019).
  11. Bach J., Langner J., Otten S., Holzäpfel M., Sax E. Data-Driven Development. A Complementing Approach for Automotive Systems Engineering. IEEE International Systems Engineering Symposium (ISSE). 2017. P. 39−47.
  12. Martin R. Professionalism and Test-Driven Development. IEEE Software. 2007. V. 24. № 3. P. 32−36.
  13. Giadioso V. MVVM: Model-View-ViewModel. URL = https://www.researchgate.net/publication/302359798_MVVM_Model-ViewViewModel (data obrashcheniya: 27.01.2020).
Date of receipt: 28 ноября 2019 г.