Disturbance rejection using feed-forward control system on self balancing robot

. This research implements self-balancing robot using 3 algorithms. There are PID Controller, Ensemble Kalman Filter and Feed-Forward Control system. The PID controller function is as a robot equilibrium control system. The Kalman Ensemble algorithm is used to reduce noise measurement of accelerometer and gyroscope sensors. The PID controller and Ensemble Kalman filter were implemented on self-balancing robot in previous research. In this paper, we added the Feed-Forward controller that serves to detect disturbance derived from the unevenness of the ground. Disturbance is detected using 2 proximity sensors. Base on test results that the system can detect disturbance with an average delay of 2.15 seconds at Kff optimal value is 2.92. Feed-Forward effects result in self-balancing robots increasing power so that the pitch of the robot changes to anticipation of disturbance.


Introduction
Self-Balancing Robot is an electric self-balancing vehicle with two wheels.Self-Balancing robot is implementing the inverted pendulum algorithm [1].Self-Balancing Robot uses accelerometer [2] and gyro sensor in the reading position of the tilt [3].This robot maintains its equilibrium by moving the motors which is connected to the wheels.Self-Balancing Robot is using a controller to control the motor speed and rotary direction.Controller PID is used to maintain the stability of the Self Balancing Robot [4].In addition, the control system will be given additional filter.The filter function is to reduce the noise measurements from the sensors [5].
In our previous research entitled "Ensemble Kalman Filter and PID Controller Implementation on Self Balancing Robot", we have implemented a Self-Balancing Robot which can be burdened by a human.The system uses a PID controller and ensemble Kalman filter (EnKF) to harmonize and run the robot.Block diagram of the robot system and the design of the robot structure are shown in Figures 1 and 2.
From the test results, it showed that by varying the process noise covariance matrix, system overshoot can be reduced by regulating the process noise covariance matrix.The resulting data will provide the output for various levels of the slope and speed of the changes experienced by the robot chassis.It is then compared with each cycle of response time and a wide range of power applied to the motor.The expected result is an effective stability in the robot will be easily achieved.If the motor is not operated in a row, there will be a reverse bias on the robot chassis.Incorrect detection by the sensor will also affect the position of the robot.This will cause a delay in responding to the correct position and further enhance the computing time of the robot.The specific parameters which must be observed from the stability of the robot includes a response at various levels of forward and backward acceleration of the robot analyses were used to assess the recorded inertial sensor from time to time in connection with a motor output signal.From Self Balancing Robot system testing in previous research, the robot cannot predict the disturbance caused by the instability of the area impassable.The instability of this area comes from the street sloping up or downhill.So from the disclosed problems we need a system that can detect the disturbance and make compensation before it led to a change in the value of the controlled variable.

Feed-Forward Controllers
The Feed-Forward controller is made to cope with the disturbance [6].Feed-Forward controller is used to overcome the interference from the load.Block diagram of Feed-Back control that comes with Feed-Forward can be seen in Figure 3.
In Figure 3, it can be seen that the disturbance signal is detected by the sensor.The detection result will then be processed by the Feed-Forward computation element to generate the Feed-Forward control signal to be added to the Feed-Back control signal.Total control signal from the Feed-Forward and Feed-Back will then drive the actuator so that the process variable maintained equal to the set point [8].The transfer function between the process output y and the measured disturbance from Figure 3 is Where:

Research Methods
Disturbance signal may result in changes in the value of the process variable that must be processed to get the highest predictive control signal before entering the plant.Disturbance caused by unevenness of the ground is detected by the proximity sensor to observe changes in surface area [9].Proximity sensor detected values are calculated to determine [10] how much additional value to be added to the self-balancing robot motor power [11] in order to remain balanced when going past the unevenness area in front of it.Block diagram of Feed-Forward on self-balancing robot system is shown in Figure 4 Fig. 4. Block diagram of Feed-Forward on Self-Balancing Robot System.

Feed-Forward Computation
Feed-Forward computation consists of two parts: Dead Time Function (Ttd), Gain and Lead-lag (Kff and Tld, Tlg) [12].General transfer function of Feed-Forward computation can be seen in Figure 5. Dead Time Function (Ttd) is the delay time between the disturbances with the output controller to dampen the disturbance.Kff is the value of gain of the Feed-Forward controller.This value will be tuned to look for a suitable value in the real system.Lead Time (Tld) is the delay time between output controllers with a process variable output of the plant.Lag Time (Tlg) is the delay time between emergence disturbances with the process variable output of the plant.
In the implementation of Self-Balancing Robot, the system is added with distance sensors where the sensors are installed to detect the unevenness of the ground in the path of the robot trajectory.Then, the experimental measurements were Ttd, Tld and Tlg in the following manner: 1.The Ttd is the time since the detected unevenness of the ground with a Self-Balancing Robot when going up on the uneven ground.2. The Tld is the time since the output signal from the control until the onset of changes in the balance on a Self-Balancing Robot for the output signal of the control.3. The Tlg is the time since the change of the balance of the Self-Balancing Robot to the rise of the output signal from the control to respond to changes in the balance.
After the value of Ttd, Tld and Tlg is obtained, then the next one will look for the value of the Kff suitable/appropriate for its real system.The Kff obtained from the tuning process of the Feed-Forward controller.

Gain Tuning Process
The tuning process is processes that aim to know how much Kff value.It is done by trial and error as follows: 1. Setting the Kff value with an initial value, Kff = 1. 2. Once the system is run and sees how much disturbance as well as how much the output value of the controller.

Results and Discussion
The system was built using three algorithms.PID controller algorithm is used to maintain the stability of the robot.In addition, the system coupled with Ensemble Kalman Filter (EnKF) algorithm.EnKF is used to eliminate noise measurement of accelerometer sensor and reduce the deviation measurement of a gyro sensor.Feed-Forward controller algorithm used to predict the disturbance in the area of the robot [13].

Algorithm
The proximity sensor function is to detect unevenness of the ground to be traversed by the robot.The sensor detection results processed by the Feed-Forward

Experimental
Self-balancing robot tested in two scenarios.The first scenario, the robot is ascending to the slope of angle .
The second Scenario, the robot descending with an inclination of angle -.Illustration of the experimental can be seen in Figure 8.
The disturbance is the angle of the ground.We use two proximity sensors with distance 10cm.When the ground is flat, the proximity sensors detect at 150cm distance.Whereas when the ground is ascending, the proximity sensors detect changes reduced.If the ground is descending, the proximity sensor will detects major changes suddenly.The Feed Forward control signal computation (a) flowchart can be seen in Figure 9.
The test results show that, when disturbance is detected, the speed of the robot changes, which results in the angle of the robot also changing according to the disturbance level.In the experiment, the Kff value is changed until it reaches the optimal value.The optimal of Kff value is 2.92.The relationship between the disturbance signal and the robot pitch can be seen in Figure 10.
Based on figures 10, the self-balancing robot increases the robot's power which is the effect of the Feed-Forward resulting in the pitch of the robot changing as it anticipates disturbance before disturbance occurs.The time delay between the disturbance detected and the robot velocity response is an average of 2.15 seconds.

Conclusions
Self-balancing robot system was using Feed-Forward controller to detect the disturbance.Disturbance is detected using 2 proximity sensors.The disturbance sensor detects the unevenness of the ground by comparing the distance of the two sensors.Testing is done by initializing Kff=1.Base on the test results show the selfbalancing robot system can maintain equilibrium by adding or reducing speed with an average delay of 2.15 seconds.The optimal of Kff value is 2.92.In the control system, the Feed-Forward control is used to remove disturbance in the control process.The self-balancing robot is a system with high disturbance level so it takes a lot of research to eliminate disturbance on this system.All research activities were performed in Computer Systems and Robotics Laboratory, University of Brawijaya, Indonesia.

Fig 1 .Fig 2 .
Fig 1. Block diagram of the robot system

3 .
If the value of the disturbance is greater than the value of the output of the controller (a> b) as in figure6a, the value of Kff raised.4. If the value of the disturbance is less than the output of the controller (a <b) as in Figure6b, the value of Kff minimized.5.If the value of the disturbance equal to the output of the controller (a = b) as in Figure6c, the value is used for Kff.

Fig 6 .
Fig 6.The comparisons between disturbance signal and control signal generate a Feed-Forward control signal and added it to the Feed-Back control signal.The tuning process for Kff value on Feed-Forward flowchart is shows in Figure7.