The Proposal of Data Frame for Wireless Robots Control

Michal Špak, Marek Sukop, Ondrej Juruš, Miroslav Štofa

Journal of Automation and Control

The Proposal of Data Frame for Wireless Robots Control

Michal Špak1,, Marek Sukop1, Ondrej Juruš1, Miroslav Štofa2

1Department of robotics, Technical university of Kosice, Kosice, Slovakia

2Department of machine production, Technical university of Kosice, Kosice, Slovakia


This article deals with the design of the communication channel, which will be used as the basis for creating a universal tool for remote control of service robots of various kinds. This article focuses on the description of the data structures needed for the transmission of specific data in two-way communication.

Cite this article:

  • Michal Špak, Marek Sukop, Ondrej Juruš, Miroslav Štofa. The Proposal of Data Frame for Wireless Robots Control. Journal of Automation and Control. Vol. 4, No. 2, 2016, pp 47-50.
  • Špak, Michal, et al. "The Proposal of Data Frame for Wireless Robots Control." Journal of Automation and Control 4.2 (2016): 47-50.
  • Špak, M. , Sukop, M. , Juruš, O. , & Štofa, M. (2016). The Proposal of Data Frame for Wireless Robots Control. Journal of Automation and Control, 4(2), 47-50.
  • Špak, Michal, Marek Sukop, Ondrej Juruš, and Miroslav Štofa. "The Proposal of Data Frame for Wireless Robots Control." Journal of Automation and Control 4, no. 2 (2016): 47-50.

Import into BibTeX Import into EndNote Import into RefMan Import into RefWorks

At a glance: Figures

1. Introduction

Area of service robotics is characterized by increasing amount of device which are defined to perform various tasks. In most of cases the service robots are controled remotely from an operations center at performing their tasks. In order to control robot an operator has available special drivers or software on computer that allows the control of only certain devices.

This approach is suitable for commercial use, where the customer gets tools for remote control (either computer software or special drivers) of bought robots. In a process of development of prototypes of service robots that have different design principles, it is appropriate to create a universal system of wireless communication that it could be implemented into the any of developed robotic devices.

The creation and subsequent use of universal communication system for service robots brings several advantages such as:

- decreasing of needed time for the phase of development

- the possibility to control several robotic devices in the same time by the use of the universal control tool

- the possibility of easy implementation onto devices of OS windows or OS Android

2. Description of a Communication Module

For the purpose of ensuring a bi-directional wireless communication channel between an operator and service robots is necessary to select the appropriate radio frequency. The radio communication is managed by strict rules today to avoid unwanted interference with other devices. For research and development purposes should be used worldwide-free bands ISM 2.4 GHz corresponding to the IEEE 802.15.4 standard.

There are many devices that can be used to create a wireless communication. Therefore it is very important to determine the basic requirements for given device such as a distance between an operator and a device, the way of communication between the MCU and a wireless communication module, required transmission rate, the maximum size of the transmitted data and other.

Area of application of developed service devices is a combination of indoor and outdoor applications. For Outdoor applications is supposed a maximum distance between the robot and the operator of 1000m. This condition is derived from the legislative amendments for common drones to 20kg. The reason is the assumption of implementation of robotic flying devices that belong to the group of drones. The use of terestrial or floating devices isn't legislative regulated in any way, so the maximum distance at which it is possible to remotely control robots derived from a group of drones to 20kg. The operation of drons to 20kg is not yet subject to a license from the Transport Office.

Table 1. nRF24L01p specifications

Selected module nRF24L01p Nordic Semiconductor that includes a power amplifier (PA) and low noise amplifier (LNA) allows you to create a stable communication channel capable of communication over long distances. In the open area by using antennas with gain and 2 db selected data rate of 250kbps it is possible to transmit information about a distance of 1300 meters. This distance is fully suitable for the intended type of application. More characteristic informations about the communication module nRF24L01p is shown in the Table 1.

3. Description of Data Frames

The main purpose of the proposal of communication channel is to acquire a versatile tool for remote service robots with one unit (Figure 1). In addition to the control signals it will can to obtain status information of a given robotic devices. Also the proposal of the communication channel will be create the basis for creating apps for PC (Windows) and mobile platforms (Android).

Figure 1. Scheme of control of different kind robots

The basic proposal of communication channel is created for control of movement of three basic types of service robot - for terestrial service robots with differential control, for terestrial service robots with controlled axle and for flying robots. The reason for choosing this group of service robots is the fact that the majority of implemented service robots can be classified into one of these groups.

Significant representation in practice has a group of terestrial robots. The fundamental data for a controling of the robot movement are data about speed and direction. We can mark these basic movement data as a "motion a frame".

For determine the movement forward and backward we can use only one bit of this frame. That means if this bit will have a value of 0, the robot will perform a movement forward and vice versa. For purpose of speed control is need to use bulkier information. In order to smoothly and accurately control a speed of movement it's necessary to use information about 10 bits of a motion data frame. In theory by this way it will be possible to control a speed of robot by using 1023 levels. In practice it will not be possible because the engine at low levels will not start. This fact we have to keep in mind when we are programmer, but for common users is this information irrelevant because the software adjustments removes this state.

Another 10 bits we will use to control direction to the right or to the left. There is no need to use the all 10 bits to identify turning in each direction separately. It's usefull divide the range of 10 bits into two parts. The zero bit of the frame we will use to control of a direction. If the zero bit will have value 0 a robot will turn in to the left and vice versa. The remaining 9 bit will control radius of turning.

Into the area of service robotics penetrate increasingly unusual flying device - drones. It is a multi-engine devices. Control principle of these devices is very simple but very different in compare to terrestrial robots. It is therefore necessary to use a different data format, which will transmit the necessary information for their management. Because no matter how much has multikoptéra rotors can be used for all these facilities the same data format.

The most important data is information about the performance of motors. By these data is regulated the flight altitude. Because multicopters use special brushless motors, which have a large speed range which controls the power, it is necessary to have appropriate control range. For the purpose of transmission information about performance we use the 10-bit word. Because a performance of all engines is the same at the moment we can use only one 10 bit data word for regulation of all motors.

Direction of flight and its speed is controlled by a slope and a tilt of the whole frame of a drone. The change of a slope and tilt achieved by changing the speed of the engines on the basis of information on the slope and tilt of the IMU. The actual flight control is the responsibility of the flight controller. It's needs to send to control center only information about where and how fast a drone move.

Sideways movement of a drone can be described by the X-Y plane. Drone is the middle of grid system. OS X is identical with the direction of movement back and forth and Z axis movement corresponds to movement to the right and left. The resultant direction of movement determined by the angle of the vector which produce components X and Y, and speed in a given direction of its size.

For the given principle of control direction and speed of movement, we have to transmit to the control unit information about the direction of flight (2 bits), which is a combination of two bits. Zero bit of the pair tells about the direction of the X axis (1 - forward 0 - backward), the first bit talks about movement in the direction of the axis Y (1 - right, 0 - left). In addition to information about the direction you need to send speed information respectively about tilt in given direction. For this purpose, we will use two 8-bit words. 8-bit word creates range of 256 levels of tilt and slope, which is fully sufficient range to control the direction and speed of flight speed.

For information transfer system designed by this way we need to use a total of only 28-bit word. We can see detailed description and composition on the next picture.

In addition to a control information flows, which are directed by the operator to the device, it is necessary to obtain status information of this device. Therefore, it is necessary to create a state information channel. The basic information needed for management include slope, tilt and orientation of the structure coordinates of GPS and battery status.

It's very important to know the battery charge status for two reasons. The first is a scheduling of operations due to the battery charge level so to prevent battery discharge while performing the task. The second reason is to protect the battery, because today they are commonly used LiPo batteries, which must not be discharged below 2.7V/cell.

The value of the capacity of batteries can be displayed in two ways, by using the percentage display, or by real value in volts. To view by using a percentage display could be used 7-bit word but to see real value in the format DD.d [V] will use 10 bit value.

0-3 bit are used to express the decimal value volt and 4-9 bit is used to express an integer value potential in volts, up to 63 V.

For terestrial and flying robotic devices it is also important to know the actual angle of tilt and its structure. In terms of terestrial robots it is appropriate to provide this information to the operator in order to optimally control robot and to avoid, for example, to its being overturned. Movement of flying robots, especially drons is based on changing the tilt and inclination. Inclination and tilt is controlled automatically, but it is necessary to know the actual value of the data. Due to the fact that we do not need to use the full 360 degrees and the accuracy of the data will be rounded to the stage, for both slope and inclination data consistency of the data we use the size of 1 byte.

A information that we have to send extra to operator for appropriate control of flying robots is flight altitude. Today, the amount of used altitude sensors achieve high accuracy (± 1 m). Taking into account the maximum wireless range management 1000m legislative regulations, which refer to a maximum altitude of 120 meters, sufficient amount of data to display the current amount is 10 bit.

When working outdoors will not do without features of tracking of device on basis of the position of the GPS system. To transmit the coordinates we use decimal format DD.ddddd. For the system trackovania applicable in all geographical areas, it must also coordinate and transmit information where the device is located. For this purpose we use a pair of bits, and the bit prime position with respect to latitude (0 - North, 1 - South) and the first bit of position relative to the longitude (0 - Eastern, 1 - west).

The actual transmission of the data we use to achieve high accuracy 4 bytes. The first byte will be used to transfer information about the full degrees and the remaining three bytes to transfer six decimal places this number, each byte is divided into upper and lower four bits. Each foursome bits testify about the value of one decimal. That is, the use of three bytes, each of which is divided into two parts, we are able to display just six decimal places. The same data frame we use to describe the latitude and longitude. Overall, for transmitting position data robotic equipment we will use 66 bits.

Very exact value of slope, tilt and orientation of the frame of the robotic device can be obtained by using Inertial Measurement Units. Accurate figures are necessary for motion control, which is not an internal process to the robot controller and operator to directly interfere in this process. Therefore, control values, which will be sent to the operations center can be rounded to integer values of degrees and thus reduce the amount of data transmitted.

We are assuming that the frame of the robot is not rotated in theory more than 90° in the direction of the slope, pitch, and may be selected range of ± 90°. This assumption allows to use for data transmission on the slope of only 1 byte and 1 byte as well as the indication of the tilt. Prime and sixth bit of this apartment speaks of an integer value angle and the seventh bit of direction (0 - CW, 1 - CCW).

For information on the frame orientation (rotation around the Z axis) we have to use 9 bit information because it uses the full range of 360°.


The main aim of this article was to propose and describe the universal data communications channel management service robotic devices. Communications channel designed to serve as a basis for creating an application running under Windows Mobile and Android.

This application will facilitate and simplify the development and testing of robotic equipment as it relieves developers from design to control communication. Also, the present proposal can be implemented establishment of communication channels already in finished devices, which in turn will be operated together with other devices using the same software.


[1]  SMRČEK, J., KÁRNÍK, L.: Robotika: Servisné roboty: Navrhovanie – konštrukcia – riešenia. Vydavateľstvo Michala Vaška, 2008.
In article      
[2]  Sukop, M., Špak, M., Hajduk, M.: Proposal of flying robot control fro multi robotic system. Lublin: Lublin University of Technology, 2014. 28-32 s.
In article      
[3]  Špak, M., Sukop, M., Juruš, O., Štofa, M.: Inovation of control subsystem for flying service robot. Košice: Transfer inovácií. Č. 32 (2015), s. 46-49.
In article      
[4]  FEDÁK V., BAČÍK J.: Hardware Design for State Vector Identification of a Small Helicopter Model. Applied Mechanics and Materials, vol. 282, 2013, p. 107-115.
In article      View Article
[5]  MIKOLAJCZYK T. et al.: Multipurpose Mobile Robot, Applied Mechanics and Materials, vol. 282, (2013), p. 152-157.
In article      
In article      
  • CiteULikeCiteULike
  • MendeleyMendeley
  • StumbleUponStumbleUpon
  • Add to DeliciousDelicious
  • FacebookFacebook
  • TwitterTwitter
  • LinkedInLinkedIn