Differential Drive Robot Kinematics | Mathematical Modeling | Robotics | Forward Kinematics | Reverse Kinematics | Position Control | Mobile Robots

 



1 Differential Drive

In previous Article, we have discussed the basics about ROS its different tools like gazebo simulator, Rviz for visualizations and also different file systems. As we are working on the differential drive cleaning robot. having two wheels on the opposite sides of robot chassis. The direction and motion of robot is controlled via motion of these wheels. In this article, we are going to give an idea about analyzing the differential drive of the robot mathematically and also solve the kinematics equation. This kinematic equation leads to help a person to predict the robot position using its sensors data.

1.1 Mathematical Modeling of The Robot

The steering system is the most important part of the mobile robot. This system takes part in navigation of robot from one place to other. The system which is very cost effective and simple is differential drive system. This system includes two main wheels which are here labeled by left and right wheels which are mainly mounted on the same axis. These both wheels are connected to separate motors and this drive system i.e. differential drive system is known as nonholonomic system which is defined as the system which has constraints to change to robot pose [21].

1.2 Robot Kinematics

The kinematics of robot deals with the study of motion in mathematics without considering the force which affect the motion of robot. The geometric relationships are basically taken into concern that govern the whole system [22]. The system in which all the motion are taken into concern are known as the study of robot dynamics. There are total 6 DOFs (Degrees of freedoms) involved in a mobile robot. They are expressed by x, y, z, roll, pitch, yaw. Three of them i.e. x, y, z are for position and other i.e. roll, pitch, yaw are known for altitude. The rotations are expressed in Table 4.1


As the differential drive mobile robot moves horizontally in the plane from x to y and has pose which has mainly three components i.e. x, y and θ. Where theta heads towards the robot’s forward direction. Below Figure 4.1 shows the information which describes the differential drive system pose
                                                  
There are two motors in mobile robot and its motion is controlled by setting up the velocities of these motors. Here it is named by Vleft and Vright. The following Figure 4.2 shows a of popular differential drive cleaning robot available on the market:


The above robot is popular robot from romba series of robots given by well known cleaning robots company iRobot.

1.2.1 Forward Kinematics

The following problem is solved by the forward kinematics equation of mobile robot with differential drive system:
Determine the pose (x, y, θ), If mobile robot position is (x, y, θ) at time (t), and at time t + δt the control parameters of V-left and V-right

The Figure 4.3 shows the simple illustration of single wheel to describe its local axis. This forward kinematics technique is formulated to get a solution which is calculated by mobile robot for following a particular trajectory. The motion which is around the y axis is called as roll and other all the things are known as slip. Suppose there is no slip in our case. As we know that when a wheel cover its full rotation, the distance covered by it is 2πr. where r represents the radius of the wheel. In our simulation the motion will be in 2D i.e. two dimensional which shows that surface is flat and even [24]. The rotation of robot is must along the common axis of left and right wheel to perform a turning action. ICC i.e. instantaneous center of curvature is the point about which the



robot rotates. The location of ICC is outside the mobile robot. The wheel configuration is shown by following Figure 4.4 with respect to ICC.


The angular velocity which is represented by ω gives the central concept to derive the kinematic equation. The rotation of each wheel is around the ICC with the radius along the circumference. The speed (v) of one of wheel of the wheeled robot is v = 2Tπr, where time taken to cover the one whole rotation is represented by T. The angular velocity (ω) is represented mathematically as 2, The unit of ω is radians or degrees per second. If we combine the both v and ω equations it results in the following equation of linear velocity
v = (4.1)

In Figure 4.5, the whole model of differential drive system is given

The result will be same if we apply the equation on both of the wheels that is ω



Where
R and l represents the distance b/w ICC and midpoint of wheel and length of wheel respectively. When we solve the ω and R, the following result comes


To find the distance between instantaneous center of curvature to mid of robot and angular velocity we have to use this equation. The above given equation is used to solve the forward kinematics problem. If the robot is moving with velocity of ω for time δt seconds. It will change the robot orientation and the changed heading is represented by following equation.

With the help of basic trigonometry, we can represent center of the ICC rotation.


The starting position is given by (x, y) and the new position of the robot (x, y) can be computed with the help of rotation matrix. The rotation of robot around instantaneous center of curvature with the angular velocity of ω for time δt seconds results the position
given below at the time
t + δt:

The new positon of robot is represented by (x’, y’, and θ) and mathematically can be computed with equations (4.6) and (4.8), given ω, δt, and R. The angular velocity ω which can be calculated mathematically from equation (4.5); Vand Vl are very difficult to measure with high accuracy. Instead with the help of wheel encoders the rotation of each wheel will be measured. The data coming from wheel encoders is known as robot odometry data [23]. Encoders are mounted on wheel axes with the shaft of motor and these deliver binary signals in result.
A counter counts these signal so that vδt is the total distance moved from the time t to
t + δt.
n × step = vδt
The linear velocity (v) from encoder data can be calculated from this


Where nl & nr represents the encoder counts coming from left and right wheels motors. Vl & Vr represents the velocities of left and right wheels respectively. So, the robot is static in pose (x, y, θ) and moves in nl & nr counts during a time frame of δt; the new pose of the robot (x, y, θ) is given by calculating the following mobile robot’s orientation from the encoder values



The Instantaneous Center of Curvature and other parameters like encoder values are calculated using this equation. The Kinematic equation depends on geometry and design of the robot. Different equation will come for different designs.





No comments:

Post a Comment

Pages