You can write the question in a free form

How does a telepresence robot work?

Telepresence robots are based on two technologies: remote control and video communication. Both technologies have existed for about 100 years, but the emergence of such robots on the market in a modern form factor was made possible thanks to two new technologies:

From a practical point of view, telepresence robots have become cost-effective thanks to the advent of WiFi, 4G/5G, WebRTC, AJAX, REST and WCF service, MQTT, powerful and at the same time cheap computer boards.

The telepresence robot differs from the usual video communication system, for example, Skype, only by the presence of a mobile platform controlled via the Internet. In other words, the telepresence robot is "Skype on wheels". Therefore, its structure can be represented in the form of two independent parts: a video communication system and a motion control system.

The presence of these two systems is enough to classify the product as a telepresence robot. However, practice has shown that the following additional features can be useful:

These features are not necessary. They improve the usability of the robot, but increase its price.

The block diagram of telepresence robot

Telepresence robot architecture

Video on the Internet is transmitted, usually in peer-to-peer networks (P2P), when a video stream is transmitted from one computer to another, bypassing the server. Transferring video through an intermediate server is extremely expensive because it requires a huge amount of processing power. However, to implement a P2P communication channel, it is necessary to know the IP address of the computer in the network, which is generally unknown, because due to the insufficient number of IPv4 addresses, Internet providers use NAT, which makes the IP addresses of devices behind NAT invisible. To get IP address there is used STUN-server (see picture above). In some cases (usually several percent) definition of IP address with the help STUN-server impossible and then is used transfer of video through expensive TURN server.

The above applies only to video transmission. To control the movement of the robot does not need a large flow of information and therefore you can use the classic client-server architecture, transmitting data through an intermediate server, which can simultaneously control user access to robots, their registration, as well as storage and transmission of service information.

A typical modern telepresence robot contains a tablet computer that performs two functions: video communication and commands transmission to control the robot's movement. The transfer of commands from the tablet to the wheelbase is carried out by wires, via BlueTooth or WiFi.

But there is another option: we can use two computers in the robot: one is a tablet in the robot's head for video communication, and the second is a computer for motion control. The BotEyes robot uses the second option, i.e. two computers. This made it possible to control the robot's movement, even if it does not have a tablet installed on it, and to use the tablet with any operating system on which video communication soft can be installed. Such robot can use any communication tools, for example, Skype, Google Hangout, Viber, etc. or just a video camera or even ordinary photo camera. This universal approach to the telepresence robots building is used in BotEyes robot.

The second computer (hereinafter referred to as the "control computer") in the BotEyes robot uses the Windows IoT Core operating system. It also houses a service available through a web interface and Windows Device Portal, allowing remote access to a variety of operating system features.

A unique feature of BotEyes telepresence robot is the ability to adjust the speed, including while driving. This makes it easy to move in tight spaces with many obstacles and easy to put the robot on the dock.