Identification of Differential Drive Robot Dynamic Model Parameters

The paper presents the identification process of the mathematical model parameters of a differential-drive two-wheeled mobile robot. The values of the unknown parameters of the dynamics model were determined by carrying out their identification offline with the Levenberg-Marguardt method and identification online with the Recursive least-squares method. The authors compared the parameters identified by offline and online methods and proposed to support the recursive least squares method with the results obtained by offline identification. The correctness of the identification process of the robot dynamics model parameters, and the operation of the control system was verified by comparing the desired trajectories and those obtained through simulation studies and laboratory tests. Then an analysis of errors defined as the difference between the values of reference position, orientation and velocity, and those obtained from simulations and laboratory tests was carried out. On itd basis, the quality of regulation in the proposed algorithm was determined.


Introduction
By Industry 4.0 standards, internal transportation is becoming one of the most important areas undergoing transformation. Due to the increasingly scarce labor resources and the increasing cost of transporting products in the production process, transportation is considered in the category of losses. Therefore, there is a need to minimize the costs associated with the internal transportation by reducing the distances and times of product movement. One of the solutions to this problem is the introduction of autonomous transport robots that will accurately, quickly, and safely carry out the tasks assigned to them. Automated guided vehicles are mainly used to support material handling operations-in the warehouse, in production and at the intersection of these areas [1]. This can involve a range of tasks, from the timely delivery of parts to the production line to round-the-clock transportation. Full automation of the production process makes it possible to ensure smooth manufacturing of products along the entire process line. Therefore, in line with the idea of Industry 4.0, more and more often, mobile cart units or AGV (Automated Guided Vehicle) robots appear at the end of the production line to transport and manage products. The market for mobile robots is still at an early stage of development.However, for several years there has been an exponential increase in the implementation of transport mobile robots in the industrial sector.This is due to the fact that more and more companies are noticing the possibilities of this type of vehicles to automate internal transport ( Figure 1).
When deciding to integrate mobile robots into a production process at a company, it is necessary to define the efficiency of the transport system based on the following assumptions: the number of robots, the number of logistics points, the location of the navigation paths along which they will move and the frequency of changeovers. The first automatic carts implementing operator-free driving appeared in the 1950s. These were single implementations primarily in the automotive industry. Over time, the advantages of AGV deployments were increasingly recognized and automatic vehicles began to appear in other industries as well, especially in applications related to in-plant logistics. Since then, AGV robot technology has been developing rapidly, as indicated by the fact that there are several types of AGVs [3,4]. The main characteristic of AGV robots is their driving system. One can distinguish: • three-wheeled systems (two independent driven wheels, one non-driven castor wheel); • four-wheeled systems: two independent driven standard wheels mounted on the front of the robot and two castor wheels mounted on the rear of the robot; -four independently controlled Swedish wheels; • six-wheeled systems (two independent driven standard wheels mounted in the center of the robot frame and four castor wheels mounted on the corners of the robot frame).
All vehicles for automatic load handling are regulated by ISO 3691-4:2020 and called automated guided vehicle (AGV) [5]. This standard distinguishes specific names for different types of AGV introduced by manufacturers of these machines. At the beginning, the main division into AGV and AMR (Autonomous Mobile Robots) can be distinguished. AGV technology refers to automated vehicles that move indoors along physically defined paths, requiring the installation of lines or navigation points. This imposes the need to navigate only along a designated path. In case of encountering an obstacle, it requires stopping and waiting for its removal. Changing the path requires changing the navigation line and other markings. An AMR solution involves autonomous vehicles, often called intelligent vehicles, equipped with 2D or 3D scanners, moving based on a self-created map along a self-determined path between destination points, with the ability to avoid obstacles. The use of AMR technology allows for improved production flexibility.The robot itself determines the optimal route for a given task [6]. Changing the tasks or destinations assigned to it is very quick and does not require physical interference in the space in which the robot moves.
This work proposes a control system for the tracking motion of a mobile robot with two differentially controlled drive wheels and two support wheels. The control system was realized using a kinematic and dynamic controller, where the input and output signals are linear and angular velocity. In the presented approach, the problem is the parameters of the mathematical model of the robot dynamics, which are not available to the user. Therefore, their identification is carried out. In this work, the authors performed offline identification using the Levenberg-Marguardt method based on a pre-recorded trajectory, and online identification using the Recursive least-squares (RLS) method while moving along a desired trajectory. To verify the correctness of the identified parameters, simulation studies were carried out in the MATLAB/Simulink environment, followed by laboratory tests using a real robot. During the tests, the effect of random initial parameters in the identification process on the accuracy of trajectory tracking was investigated. The parameters identified by online and offline methods were compared. The novelty of proposed method is the usage of the parameters identified by the Levenberg-Marguardt method as the initial parameters in the online identification. The effect of combination of online and offline methods on the accuracy of tracking the desired trajectory was investigated.
In Section 2, the authors presented related works. Section 3 presents the selected research object for which the control system, kinematic and dynamic model were developed. The Section 4 contains the results of the identification process, the design of the control system, and the results of trajectory tracking considering the identified parameters. In Section 5, the authors summarized the work carried out.

Related Works
AGV robots are a good solution for plants that are characterized by low variability of the production process and not very large distances between logistic destinations. In the case of frequent changes in the production process, dynamically changing environment in the plant (e.g., moving workers) [7], disturbances [8,9] and obstacles [10], a safe and flexible control system is required to allow for environmental changes [11][12][13] or reprogramming of the carts for other tasks. Searching for the most appropriate path planning algorithm according to user requirements can be challenging given the large number of examples existing in the literature [14][15][16][17][18][19]. Furthermore, in the case of AGV robots, the precision of the final positioning is crucial for successful loading and unloading of transported goods in typical industrial applications [20]. Designers of robotics systems use advanced tools to assist in the design process of control systems [21][22][23][24][25] to provide the expected functionality of the robot. The working environment has a particular impact on the change in the operating parameters of the robot. Especially when it is difficult [26,27] such as dusty rooms or industrial and sewage pipelines or mines [28].
A way to obtain unknown values of robot model parameters is to identify them. The work [29][30][31][32] presents a methodology for offline identification based on an inverse dynamics model of robots. The offline identification of the dynamics parameters is sufficient only in the case of robots that will not be expanded with additional modules or will not transport loads. In the case of AGV robots transporting loads, their mass and moment of inertia change, which means that the parameters of the model are not constant. When designing the control algorithm, it is necessary to take into account the possibility of changing the model parameters based on their identification using adaptive methods (online identification) [33][34][35][36][37][38]. The most widely used adaptive methods is the Recursive least squares (RLS) method, as presented in papers [39,40]. The example is for trajectory tracking of an autonomous ground vehicle. To estimate the unknown parameters of the system, the authors of [39] proposed a set-membership-based estimator that provides a nonincreasing estimation error. In the proposed predictive controller (MPC) scheme, the authors used the RLS method to improve prediction accuracy by introducing a robustness constraint on the algorithm to parametric and additive uncertainties. The robustness factor is determined offline based on a set of invariant parameters. The size of this set is updated online. The proposed method is a bit computationally complex, so it requires a high-performance onboard computer. Another example of the use of the RLS method is the work [41], whose authors presented a positioning system for a mobile robot using a stereoscopic camera, an IMU, and an Ultra Wideband (UWB) network containing five positioning markers. The system can be extended with additional positioning markers, whose unknown position in the robot's environment is estimated using the RLS method and Kalman filter. The proposed system works well in general locating the robot in an unknown environment. However it comes with a large positioning error, which unfortunately is not acceptable for transportation tasks. An interesting approach, consistent with the authors of this work, was demonstrated by the authors of papers [41][42][43][44]. They presented the problem of trajectory tracking by a nonholonomic mobile robot without a global positioning system. The main difficulty pointed out in this work is localizing the robot using only its on-board sensors. The authors proposed an adaptive trajectory tracking controller without orientation and velocity measurements. Their method is not based on the estimation of the robot's position and velocity from the image of an omnidirectional camera mounted on the robot. The paper [43] presents a fusion of an inertial sensor of six degrees of freedom (6-DoF) which comprises the 3-axis of an accelerometer and the 3-axis of a gyroscope, and a vision to determine a low-cost and accurate position for an autonomous mobile robot. For vision, a monocular vision-based object detection algorithm speeded-up robust feature (SURF) and random sample consensus (RANSAC) algorithms were integrated and used to recognize a sample object in several images taken. In contrast to the work of [42], the authors of this work, present a control concept that not use robot-mounted peripheral devices such as laser scanners and cameras. The tracking control concept is based only on odometry data and inertial measurements.

Materials and Methods
The considerations presented in this paper include the TURTLEBOT 2 laboratory robot ( Figure 2) [45], which is a low-cost training set, used to building and testing wheeled mobile robot control systems. The platform is equipped with a two-wheeled differential drive and basic sensors such as a laser scanner, a 640 × 480 resolution RGB video camera (used for image processing, color, and texture recognition), an IR camera (depth information processing, distance measurement in the range of 0.4-6.5 m), four directional microphones, and an accelerometer. An advantage of using the robot in this task is its open control system based on ROS (Robot Operating System) [46][47][48], which allows quick launch of the platform and integration with sensors [45]. In addition, the drive system of the TURTLEBOT 2 robot is the basis for expansion to the drive systems discussed in the introduction, commonly used in industrial AGVs. Transferring and adapting the control system to another chassis will be extremely fast and simple.

Kinematic and Dynamic Robot Model
In order to determine the kinematic and dynamic model of the TURTLEBOT 2 robot, the autors used the diagrams shown in Figures 2 and 3.
The 0 0 X 0 Y 0 coordinate system shown in Figure 2b is a global, fixed reference system. The x, y coordinates define the positions and the angle θ define the orientation of the robot in the global coordinate system. A movable coordinate system GX R Y R with an origin at the geometric center of the robot G, is associated with the base of the robot. The vector ν determines the linear velocity, while ω determines the angular velocity of the robot. The numbers 1 and 2 denote the drive wheels, while the letters A and B denote the supporting wheels. The kinematics of the mobile robot TURTLEBOT 2 is described based on [49][50][51][52] by Equation (1) in the form in which the control signals are the linear and angular velocities of While analyzing the literature in view of control systems, it can be noted that most of the proposed controllers performing the trajectory tracking task consider only the kinematics of the robot. This is an acceptable solution, but in the case of tasks requiring high positioning accuracy and moving at high speed, it is necessary to consider the dynamics of the robot in the control system. In the literature, dynamic models of robots are popular, taking into account torque or motor voltages as steering signals [53][54][55][56]. A much better solution is to use a dynamics model that takes the linear and angular velocities of the robot as control signals [57,58]. This is how commercially available mobile robots are usually controlled. Figure 3 shows a schematic of the TURTLEBOT 2 robot used to determine the dynamics model. The point G ( Figure 3) is not only the robot's center of mass and center of rotation, but also the tracking point for the desired trajectory. The robot's velocities are denoted as: ν x -forward velocity, ν y -lateral velocity, ω-angular velocity. In Figure 3, the driving forces of the robot are denoted as F rrx , F rry -the longitudinal and lateral force of the right wheel and F rlx , F rly -the longitudinal and lateral force of the left wheel. The dynamics model of the robot was formulated by performing a law of conservation of linear and angular momentum, in the coordinate system associated with the robot, following [59]: where: m-mass of the robot, I z -moment of inertia of the robot with respect to the axis passing through the point G.
The transformation of the system of Equation (2) (see Appendix A) is the dynamic model of the TURTLEBOT 2 robot as presented: The model coefficients σ 1 . . . σ 4 contain parameters that are very difficult for a laboratory robot user to obtain. These coefficients are functions of the physical parameters of the robot related to drives, gears, internal controls, friction, and are usually not even included in the manuals or technical sheets of the equipment, so their identification was carried out.

Offline Identification of Robot Dynamic Model Parameters
Before identifying model parameters, it should be checked whether any of the model parameters can be written as a linear combination of two others. In such a case, it would be possible to write the robot dynamics model with the lower number of parameters. Analyzing the developed mathematical model of the robot, the linear independence between the parameters σ 1 . . . σ 4 is not clearly visible, because some physical parameters affect more than one parameter σ n . A detailed analysis is necessary, which was carried out in the work [58] showing that the model parameters σ 1 to σ 4 are independent, that is, they cannot be written as their linear combination. Ultimately, it is necessary to carry out identification of each of the parameters σ 1 . . . σ 4 .
Offline identification of the parameters of the robot's dynamics model was carried out using the Levenberg-Marguardt method and measurements of the real test trajectory made by the robot at known constant values of linear and angular velocity. Identification is an iterative process, so in order to perform the first iteration, initial starting values must be entered at the beginning.
To evaluate the impact of starting parameter error on identification time and accuracy, the process was carried out for random initial values of the identified parameter. Starting parameters were described by a normal distribution with expectation value µ = 1 variance σ 2 = 1 in the interval 0, 1 . The next step was to determine the mean value, the variance and the standard deviation from all samples of the identified parameter.
For the Levenberg-Marguardt method, the minimization criterion takes the form [60,61]: where J(x) is the Jacobian of the vector F(x), and d is the direction of the search for the minimum of the function determined according to the rule: In the identification process, 50 tests were carried out. Table 1 contains sample values of the identified parameters of the robot dynamics model.
The low values of the standard deviation of the identified parameters suggest the correctness of the identification process for the Levenberg-Marguardt method, which was verified in simulation and laboratory tests, as presented in Sections 4.2-4.5.

Online Identification of Robot Model Parameters
In a dynamic system, there may be uncertainties in the robot parameters determined by offline methods; therefore, in [40,57,58], adaptation of the robot dynamics model parameters during motion was proposed. In the paper [58], two laws of adaptation of robot dynamics model parameters were presented. The system discussed in this paper uses parameter adaptation based on the expression:σ where γ ∈ R 4×4 is the gain matrix for parameter adaptation, andσ is the matrix of estimated parameters of the dynamics model, A is the matrix of velocities and accelerations (see Appendix B), and ∆ is the matrix of lapses in the form: The adaptation law (6) by introducing a gain matrix Γ ∈ R 4×4 gives the possibility to disable the updating of the model parameters when the error is smaller than a preset limit.
In order to check the effect of unknown model parameters on the initial tracking error of the desired trajectory, two studies were conducted in which random values were used as initial parameters in the identification process. Then the values were replaced with values determined by the offline method.
In the first study, online identification was carried out for random initial parameters described by a normal distribution with expectation value µ = 1 and variance σ 2 = 1 in the interval 0, 1 . The simulation time was set at 120 s. An example of the distribution of the identified parameters σ 1 . . . σ 4 is shown in Figure 4. The values of the starting parameters and those identified by the RLS method are shown in Table 2.
In the second test of the identification process by the RLS method, the parameters identified by the Levenberg-Marguardt method were used as initial parameters. Figure 5 shows the distribution of the identified parameters σ 1 . . . σ 4 . The values of the initial and identified parameters by the Levenberg-Marguardt-assisted RLS method are shown in Table 3.  Table 2).

Results
The correctness of the TURTLEBOT 2 robot's tracking control algorithm and the correctness of the identification of the parameters of its mathematical dynamic model were checked first by simulation and then by implementation on a real robot. The tests were carried out for an 8-shape trajectory described by a system of equations: where: , ω x = 0.25 [ rad s ], ω y = 0.125 [ rad s ], k = 0 if the robot moves forward k = 1 if the robot moves backwards.

Kinematic and Dynamic Controller
The implementation of the trajectory tracking task by a robot is always associated with the appearance of errors-the difference between the reference position and the actual position [15,62]. For this purpose, a proportional controller with a feedback loop was proposed, developed based on [63]. Whose task is minimizing the position errors e x , e y , e θ described by Equation (9). It is a transformation of the difference between the desired position and orientation, denoted as x(t), y(t), θ(t), and the real position and orientation, denoted as x r (t), y r (t), θ r (t): The kinematic controller proposed based on [63] takes the form: where ν r (t)-real linear velocity, u kν (t) and u kω (t) are the control signals of the kinematic controller (linear and angular velocity) and its gains k 1 , k 2 , k 3 are determined from the following equations [63]: where: ε-damping coefficient, ω n (t)-characteristic frequency, b-additional control coefficient, ω r (t)-real angular velocity.
The assumption for the development of the dynamic controller was to treat the control signals from the kinematics controller (linear and angular velocity) expressed by relation (10) as reference signals. The control law for the dynamic controller was developed based on the inverse dynamics (Appendix B), using the parametric model of robot dynamics (3) and the considerations presented in the paper [58]. The control law is described by the equation: where k ν and k ω are gains, u dv (t) and u dω (t) are control signals of the dynamic controller.

Simulation Tests of the Control System Considering Parameters Identified Offline
Simulation of the tracking motion of the TURTLEBOT 2 robot (Figure 6) was developed in MATLAB/Simulink environment, using the identified parameters of the robot model. The control system is composed of a: • desired trajectory generator module that determines the position x d , y d and orientation θ d , • a generator of the desired linear velocity v d and angular velocity ω d , • a kinematic controller described by Equation (10), • a dynamic controller described by Equation (12), • and a mathematical model of the robot described by Equations (1) and (3).
In the simulation, the average values of the model parameters shown in Table 1 were used. A comparison of the desired trajectory and the simulation-obtained trajectory, using the parameters identified by the Levenberg-Marguardt method is shown in Figure 7. The position and orientation errors are shown in Figure 8a, while the velocity errors are shown in Figure 8b.

Simulation Studies of the Control System with Online Identification
Online parameters identification of the robot dynamics model was carried out based on the tracking motion simulation scheme shown in Figure 9. In this case, an adaptive dynamic controller using the RLS method described by Equation (6) was used. The simulation was first carried out for parameters with random values equal to σ 1 = 0.52, σ 2 = 0.23, σ 3 = 0.49, σ 4 = 0.62. A comparison of the desired and resulting trajectories is shown in Figure 10. The position and orientation errors are shown in Figure 11a, while the velocity errors are shown in Figure 11b. Based on the analysis of the simulation-determined errors for the RLS method with random initial parameters (Figure 11), it can be concluded that the adaptive controller, realizes control in tracking motion with position, orientation and velocity errors no greater than: angular velocity e ω = 0.015 rad s . The regulation time for the case of an 8-shape trajectory tracking task is equal to t r ≈ 7.8 [s].
Next, the random initial parameters were replaced with average values determined using the Levenberg-Marguardt method. A comparison of the desired trajectory and obtained trajectories from this simulation is shown in Figure 12. The position and orientation errors are shown in Figure 13a, while the velocity errors are shown in Figure 13b. Based on the analysis of the simulation-determined errors for the RLS method with the initial parameters determined by the Levenberg-Marguardt method (Figure 13), it can be concluded that the adaptive controller, realizes control in tracking motion with position, orientation and velocity errors no greater than:

Laboratory Tests of the Control System with Parameters Identified Offline
Verification of the identified parameters was carried out by laboratory tests of the tracking motion using a real robot TURTLEBOT 2. The test used a control system, including a kinematics (10) and dynamics (12) controller, implemented using the basic elements of the Simulink package. The Simulink/ROS library and two tools (Publisher-to publish a specific type of message in a declared communication node, and Subscriber-to receive messages from the robot system transmitted in a declared communication node) were used to communicate with the robot's operating system. Using Publisher, control signals in the form of linear and angular velocity are sent to the robot system. Using Subscriber, position and orientation are received from the robot system. A block diagram of trajectory tracking by the real TURTLEBOT 2 robot, taking into account parameters identified by offline methods, is shown in Figure 14.  Table 1. A comparison of the reference and real trajectory for TURTLEBOT 2 robot with the parameters identified by the Levenberg-Marguardt method is shown in Figure 15, position and orientation errors are shown in Figure 16a, and velocity errors are shown in Figure 16b. Based on the analysis of the errors determined in laboratory tests (Figure 16), it can be concluded that the controller, developed based on the inverse dynamics with the parameters identified by the Levenberg-Marguardt method, realizes control in tracking motion with position, orientation and velocity errors no greater than: angular velocity e ω = 0.18 rad s . The regulation time for the case of 8-shape trajectory tracking task is equal to t r ≈ 2.9 [s].

Laboratory Tests of Control System with Online Identification
The final step was to perform laboratory tests to identify the parameters of the robot's dynamics model using online methods. A block diagram of trajectory tracking by the real TURTLEBOT 2 robot including the adaptive controller is shown in Figure 17. The simulation was first carried out for random starting parameters with values of σ 1 = 0.52, σ 2 = 0.23, σ 3 = 0.49, σ 4 = 0.62. A comparison of the desired and resulting trajectories is shown in Figure 18. Position and orientation errors are shown in Figure 19a, while speed errors are shown in Figure 19b. The distribution of parameters identified during movement is shown in Figure 20.  Based on the analysis of the errors determined during the laboratory test for the RLS method with random initial parameters (Figure 19), it can be concluded that the adaptive controller, realizes control in tracking motion with position, orientation and velocity errors no greater than: The random initial parameters were then replaced with average values determined using the Levenberg-Marguardt method. A comparison of the desired and real trajectory is shown in Figure 21. The position and orientation errors for the combination of the RLS and Levenberg-Marguardt methods are shown in Figure 22a, while the velocity errors are shown in Figure 22b. The distribution of parameters identified during movement is shown in Figure 23.  To compare the selected identification methods, all determined errors discussed in this article, are summarized in the Table 4 below:

Conclusions
The article presents the process of identifying the dynamics model parameters of a mobile robot on the example of the laboratory robot TURTLEBOT 2. The identification was carried out by an offline method using a preregistered trajectory and an online methodidentifying the parameters during movement. The correctness of the identification process and the values of the identified parameters were checked first by simulating the robot's tracking motion along a desired trajectory, and then by conducting laboratory tests using a real robot. By making a comparative analysis of the desired and simulation-determined trajectories, and during laboratory testing, it has been concluded that: The conducted research has shown an improvement in the accuracy of trajectory tracking of AGV robots, by using a novel combination of offline and online methods proposed by authors, for the identification of mathematical model parameters. Since the identification process and control system have been developed for a differentially driven two-wheeled robot, the presented solution can be implemented to other AGV robots, with a drive system based on the one presented in the article. Since the TURTLEBOT 2 robot is not an accurate industrial unit (it is only a low-cost laboratory robot), it introduces errors in the form of vibrations and inaccuracies in measuring the rotation angle in the z-axis and y-axis (Figure 2a). Implementation of the methodology presented in this paper on a professional and more rigid robot could achieve even better accuracy in tracking the desired trajectory. The development trend toward the use of AGV robots in internal transportation and the cooperation of industrial and mobile robots in manufacturing processes in the age of Industry 4.0 confirms the advisability of the presented research and the need to develop methods to improve the accuracy of tracking the desired trajectory.

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this manuscript:

RLS
Recursive Least Squares method L-M Levenberg-Marguardt method x d , y d , θ d desired robot position and orientation x, y, θ desired robot position and orientation v d , ω d desired robot velocities (linear and angular) v, ω real robot velocities (linear and angular) v x , v y forward and lateral robot velocities F r rx, F r ry longitudal and lateral force of right wheel F r lx, F r ly longitudal and lateral force of left wheel m mass of the robot I z moment of inertia of the robot with respect to the axis passing through the point G G robot center of mass and center of rotation σ 1 , . . . , σ 4 parameters of the robot dynamic model e x , e y , e θ position and orientation tracking errors e v , e ω velocity errors u k v, u k ω control signals from kinematic controller k 1 , k 2 , k 3 gains of the kinematic kontrollers oscillation damping coefficient ω n characteristic frequency b additional control coefficient u d v, u d ω control signals from dynamic controller k v , k ω gains of the dynamic controller t r regulation time

Appendix A
In the case shown, the robot's rotation point G is located on the axis connecting the drive wheels so the forces acting in the y-axis direction do not cause any torque. Therefore, the system of Equation (2) can be transformed to the form: Longitudinal velocity v x , lateral velocity v y and angular velocity ω without taking slip into account are equal: where r-radius of driving wheels, ω r , ω l -angular velocity of wheels (right and left). The angular velocity of the wheels can be determined by transforming the expressions for the right motor torques τ r and left motor torques τ l [57]: where V r , V l -the supply voltages of the motors (right and left), k b -the electrical constants of motors, k a -the mechanical constant of the engines, R a -resistance of motor. The driving wheel dynamics equations [60] take the form: I eωr + B e ω r = τ r − F rrx r I eωl + B e ω l = τ l − F rlx r (A4) whereI e -moment of inertia of the wheel with respect to the axis of rotation, B e -coefficient of viscous friction reduced to the motor shaft. The equations of the PD controller implemented to regulate the supply voltage of motors [60] take the form: where u v = V r +V l 2 , u ω = V r −V l 2 , k PT , k DT , k PR , k DR -gains of PD controllers, v d -desired linear velocity, ω d -desired angular velocity.
By substituting Equation (A3) into Equation (A4) and transforming to form for determining longitudinal driving forces, a system of equations was obtained: Then substituting Equation (A6) into the system of Equation (A1) obtained: v x = 1 rm k a R a (V l + V r ) + (ω l + ω r ) − k a R a + B e − I e (ω l + ω r ) + v y ω ω = d I z 2 r k a R a (V r − V l ) + (ω r + ω l ) − k a R a k b + B e − I e (ω r + ω l ) (A7) Combining the above equations with Equations (A2) and (A5) and performing algebraic transformations, expressions describing the TURTLEBOT 2 robot dynamics model were obtained: or in shortened form:v