## 1 Introduction  
Modern robotic systems cover a huge number of different areas, including autonomous mobile robots. Applications for such devices include manufacturing, logistics, as well as medicine. Modern medicine begins to widely use automated mobile robots, which significantly increases the quality of services provided and the level of development in this area. The same modern mobile systems can be operated under the control of methods that rely on classical models, computer vision algorithms, and artificial intelligence technologies. Moreover, at some point in the future, these approaches can be combined to achieve the better result. Adaptive algorithms can take into account the specificity of the environment or a mobile robot in the course of their work, but even for them, it is important to know the initial configuration and features of the robot. Thus, regardless of the approach used, the task of obtaining a first approximation of properties unique to each robot remains necessary. The paper considers approaches to calibrate mobile systems with monocular cameras, but the concept can be extended to binocular cameras as well. Calibrating robots is an essential step that must be completed before putting it in operation. As a rule, this is required in order to take into account the robot's unique features, design errors and take into consideration the systematic error when processing data from robot sensors or when using its actuators. The Duckietown project is a network of miniature roads similar to automobile roads, an environment in the form of road signs, traffic lights and other things, road markings, as well as the robots themselves. It is designed for research in the field of autonomous vehicles and is well suited for the educational process. Each robot has one monocular camera as the only sensor and a differential drive. Thus, before using the robot, its camera and wheels need to be calibrated. However, this process must be repeated for any physical changes affecting the wheels or cameras, e.g., changing the focal length or replacing the wheel motor, which is accompanied by wheel removal. From the training point of view, the calibration process can be useful, but with its regular use, especially with a large number of robots in the laboratory, it requires a large amount of time from humans, since each stage requires the direct participation of a person. Moreover, this person should be familiar with the calibration process in advance, which further complicates this task. Automation of such a routine operation would accelerate the robot preparation and in the future would provide independent control of the robot for its calibration accuracy with further automatic self-correction. According to the most common approach for camera calibration [1], which is implemented in openCV, this process consists of two parts: calculating intrinsic camera characteristics and rotation and removing distortion. The first step begins with the formula. \[sm^{\prime}=A[R|t]M^{\prime}\]  
\[s \begin{bmatrix}u\\ v\\ 1\end{bmatrix} = \begin{bmatrix}f_{x}&0&c_{x}\\ 0&f_{y}&c_{y}\\ 0&0&1\end{bmatrix}\begin{bmatrix}r_{11}&r_{12}&r_{13}&t_{1}\\ r_{21}&r_{22}&r_{23}&t_{2}\\ r_{31}&r_{32}&r_{33}&t_{3}\end{bmatrix}\begin{bmatrix}X\\ Y\\ Z\\ 1\end{bmatrix} \]  
where  
* \((X,Y,Z)\) are the coordinates of a 3D point in the world space;
* \((u,v)\) are the coordinates of the projection point in pixels;
* \(s\) is a scale factor;
* \(A\) is a camera matrix, or a matrix of intrinsic parameters;
* \([R|t]\) extrinsic parameters, where \(R\) is a rotation matrix and \(t\)-translation;
* \((c_{x},c_{y})\) is a principal point that is usually in the image center;
* \(f_{x},f_{y}\) are the focal lengths expressed in pixel units. In the original paper, \(A[R|t]\) is called a homography. Looking at the system of equations \(sm=HM\), it is obvious that it requires three feature points in one image to calculate the matrix of homography. The real coordinates of these features in the real world should be known.