Wi-Fi Control of Mobile Robot Motion Types Based on Differential Drive Kinematics Modelling Approach

Recently, utilization of mobile robots has increased substantially. Accordingly, wireless communication is preferred in mobile robots. QBot 2 is an autonomous ground robot which is a new product of Quarc. The QBot 2 utilizes an onboard data acquisition card and a wireless embedded computer to measure the onboard sensors and drive motors. In this study, QBot 2 mobile robot is evaluated in terms of its ability to maneuver. In this way, controlling QBot 2 mobile robot in real time is planned while a command recognition system is developed. Connection with the QBot 2 is carried out in a wireless environment. A Simulink model is developed in MATLAB® environment. The created model is built with Quarc control software. Compiled model is downloaded with TCP/IP connection to QBot 2 and the application is carried out on an embedded computer. The QBot 2 mobile platform consists of two central drive wheels mounted on a common axis. This drive configuration is known as differential drive. The two drive wheels are independently driven forward and backward in order to actuate the robot. Motion of the wheels is realized using high performance DC motors. When the results are analyzed, 13 different motion types are observed in total. The observed motion types could be used as references in future works since many practical applications, such as the remote control of QBot 2 mobile robot via the human voice, require the availability of different motion types.


Introduction
The first major mobile robot development effort was Shakey, developed in the late 1960s [1].Recently, utilization of mobile robots has increased substantially.Mobile robot systems are designed for research, education, commercial, industrial, space missions or different purpose.Today researchers are focusing on mobile robots owing to their potential applications in hazardous environments [2], house-hold tasks [3], in the field of agriculture [4], medical [5], and military applications [6][7].The basic technologies involved in these applications are a suitable robotics platform equipped with enhanced sensors and a software framework for fast validation of concepts.The existing robotic platforms are presented for different applications [8][9].The significance of developed software algorithms on computers is the increase in robotic control.Quanser has developed Quarc real time control software for MATLAB® Simulink [10].The QBot 2 is ideally suited for research applications such as differential drive kinematics, forward and inverse kinematics, dead reckoning and odometric localization, path planning and obstacle avoidance, 2D mapping and occupancy grid map, image acquisition, processing and reasoning, simultaneous localization and mapping (SLAM), high level control architecture of mobile robots and, vision-guided vehicle control.Applications of QBot which is previous generation of Quanser ground robots are mentioned in the literature [11][12][13].The QBot 2 mobile platform consists of two central drive wheels mounted on a common axis that bisects the robot.The two drive wheels are independently driven forward and backward in order to actuate the robot [14].This drive configuration is known as differential drive [15].There are different applications of wheeled mobile robots [16].In this study, QBot 2 mobile robot is evaluated to explore its ability to maneuver.In this way, controlling QBot 2 mobile robot in real time is planned while a command recognition system is developed.Interacting with mobile robots using speech is of particular interest to researchers since verbal communication is the most natural way of communication for human beings.Speech has been previously used to perform different tasks, such as command based voice teleoperation of a mobile robot [17][18].The paper is organized as follows.Section II.introduces how to be teleoperated mobil robot QBot 2.Then, differential drive kinematics is described in Section III.The simulation results and analysis are described in details in Section IV.Finally, Section V. concludes the paper.

The Teleoperated Mobile Robot Q Bot 2
The QBot 2 utilizes an onboard data acquisition card and a wireless embedded computer to measure the onboard sensor and drive motors.Connection with the QBot 2 is carried out in a wireless environment.A Simulink model is developed in MATLAB® environment.The created model is built with Quarc control software.Compiled model is downloaded with TCP/IP connection to QBot 2 and the application is carried out on an embedded computer.
The QBot 2 is an autonomous ground robot which is a new product of Quanser.The QBot 2 is comprised of a Yujin Robot Kobuki platform, a Microsoft Kinect RGB camera and depth sensor and a data acquisition card (DAQ) with a wireless embedded computer.The embedded computer system mounted on the mobile robot uses the Gumstix DuoVero [19] to run QUARC and interface with the QBot 2 data acquisition card [20].

Establishing Wireless Connection
Between the host computer and the QBot 2 connection can be over wired or wireless communications.In this study, the QBot 2 communicates with the host computer by utilizing an ad-hoc peer-to-peer wireless TCP/IP connection.The network established is called GSAH.The teleoperated mobile robot QBot 2 is shown in Fig. 1.

Software Framework
Quarc 2.5 must be installed on host computer [10].Quanser real time control software is a rapid control software to run simulink generated code under Windows.Quarc also provides for users with the ability to arrange the control parameters while the model is running.

Control of Software Blokset
The QBot 2 is accessible through different block sets in MATLAB® Simulink.''The Hardware in the Loop (HIL) Initialize'' block set is utilized to configure the drivers and hardware interface for the QBot 2. ''HIL Read/Write'' block set is utilized to read from sensors and/or write to outputs.''Kinect Initialize'' block set is used to initialize the Kinect sensor.''Kinect Get Image and Depth Sensor'' blocks are used captures RGB and depth data from the Kinect sensor.''Display Image'' block set is used to transmit the input data (RGB or depth) from QBot 2 to the PC and displays them on the monitor.Other than these blocks, the ''Host Initialize'' block can be used to make use of external input devices such as a keyboard or joystick.

Two Wheeled Differential Robot Model
The QBot 2 mobile platform consists of two central drive wheels mounted on a common axis.The two drive wheels are independently driven forward and backward in order to actuate the robot.Motion of the wheels is realized using high performance DC motors.This drive configuration is known as differential drive [22][23].Modeling of the QBot 2 is shown in Fig. 2   When there exist differences between velocities of two driving wheels, the robot must rotate araund a point that lies along the common left and right wheel axis.The point that robot rotates about is known as the ICC (Instantaneous Center of Curvature).The trajectory of robot can be controlled by changing the velocities of two driving wheels.The wheel angular speed be denoted ω, R be the signed distance from to the ICC to the midpoint between the left and right wheels to the ICC, L be the distance between the left and right wheels, θ be the heading angle of the robot, and V C be the (forward/backward) speed of the robot chassis center.The motion of the QBot 2 velocity of the wheels can be summarized in the following equations: Equation 1 and 2 can be solved at any instance of time for   , ω, R as fallows;

The Simulation Results And Analysis
In this study, QBot 2 mobile robot is evaluated to explore its ability to maneuver.For this reason a Simulink model is developed, shown in Fig. 3.In this model, we can command left and right wheel speeds of the QBot 2. When both wheels speeds are set, as shown in Fig. 3 (A), we observe linear and angular velocities, as shown in Fig. 3 (C).We analyzed that the measured and the calculated wheel speeds are different from each other, as shown in Fig. 3 (B).The difference between the calculated velocities and the measured ones as a result of measurement error are caused by load, friction and disturbances to the wheels.This concept is known as Forward Kinematics in the literature [22].Forward Kinematics is used to determine the linear and angular velocity of the robot in the real space coordinate frame given robot's wheel speeds.When -A, -B, 0, B, A speed values are set to the left and right wheels in accordance with the equality 0 ≤ B ≤ A ≤ 0,65 m s, ⁄ 13 different motion types are observed in total.Observed maneuvers information of the QBot 2 is presented in Table 1.When both wheels rotate at the same speed, we observe linear motion in a straight line as, shown in the first two rows in Table 1.When both wheels rotate at the same speed but in the opposite direction, we observe rotation about the midpoint of the wheel axis and rotate in place, as shown in the third and fourth rows in Table 1.When only one wheel speed of the QBot 2 is set, we observe rotation around the non-moving wheel as shown in the fifth, sixth, ninth and tenth rows in Table 1.When a wheel turns faster than the other, QBot 2 turns in an arc towards the slower wheel as shown in the seventh, eighth, eleventh and twelfth rows in Table 1.When ω has a positive value (ω > 0), it creates a counter clockwise rotation (CCW) whereas a negative ω value a clockwise rotation (CW).If R has a negative value, the linear and angular velocities should have different signs.Specially, If the QBot 2 is moving forward (V C > 0), it should be rotating clockwise(ω < 0), and if it is moving backwards (V C < 0), it should be rotating counter clockwise(ω > 0).

CONCLUSION
In this study, QBot 2 mobile robot maneuvers were analyzed.Determined left and right wheel speed values are entered with a model created in MATLAB Simulink using QUARC control software.When the results are analyzed, 13 different motion types are observed in total.The difference between the calculated velocities and the measured ones as a result of measurement error are caused by load, friction and disturbances to the wheels.The observed motion types could be used as references in future works since many practical applications, such as the remote control of QBot 2 mobile robot via the human voice, require the availability of different motion types.

Figure 1 .
Figure 1.The Teleoperated mobile robot Q Bot 2 QBot 2 can be combined with other QBot units, QBall 2 and QBall-X4 unmanned aerial vehicles, or third-party autonomous vehicles, and an open-architecture, multi-purpose, multi-agent platform can be built for research [21].
(a) and top view of the QBot 2 is shown in Fig. 2 (b).

Figure 3 .
Figure 3.Snapshot of the Simulink Block Diagram

Table 1 .
The observed maneuvers