Dynamic path planning and decentralized FLC path following ...

3 downloads 56309 Views 596KB Size Report
Conference: 2016 3rd MEC International Conference on Big Data and Smart City (ICBDSC) ... Following Implementation for WMR Based on Visual. Servoing.
2016 3rd MEC International Conference on Big Data and Smart City

Dynamic Path planning and Decentralized FLC Path Following Implementation for WMR Based on Visual Servoing * Emad A. Elsheikh, M. A. El-Bardini and M. A. Fkirin Dept. Of Industrial Electronics and Control Eng. Faculty of Electronic Engineering, Menouf, 32952, Menoufia University, Egypt. *[email protected], [email protected], [email protected] Abstract— this paper presents an implementation and practical results for dynamic path planning and robot navigation for a non-holonomic indoor wheeled mobile robot (WMR) based on visual servoing. The proposed algorithm is based on the visual information extracted from a single ceiled IP-camera in the overall its stages. The algorithm is divided into three stages; the first stage analyzes the working environment to plan a safe and optimal robot' path based on Multi-Stencils Fast Marching (MSFM) as a path-planning technique. Generally, the fast marching planning methods when used directly does not generate a safe path. Consequently, the robot can touch walls, corners, and obstacles. The proposed algorithm merges the image processing and MSFM to generate a safe and optimal shortest path. The second stage tracks the robot motion and estimates its position and orientation based on visual feature information. The third stage is the control loop algorithm, which is based on a proportional derivative Fuzzy Logic Controller (PD-like FLC) in a decentralized form, to keep up the robot on the desired path. Experimental results show the validity of the developed design to estimate the optimal path to avoiding moving obstacles and its ability to guide the robot to follow the desired path under variable conditions in real-time. Keywords- Path planning, Image Processing, Visual Servoing, Non-holonomic mobile robots,Real Time Object Tracking, Fuzzy Logic Controller.

I.

INTRODUCTION

Throughout the last two decades, the mobile robots have been progressively more presented in service and industrial processes. One needs to solve many problems in order to do a task with a mobile robot such as; path-planning problem and navigation problem. Typically, the path-planning problem is formulated as follows: given a mobile robot, start point and end point, and a description of an environment. The objective is to plan an optimized and safe path between start point and end point [1-2]. The path should satisfy certain optimization criteria (the shortest cost path is considered here) and should be free of collisions [3-5]. The navigation algorithm should execute this task while avoiding walls, corners, and obstacles [6]. There are two major factors that must be taken into account in order to solve the path planning problem; the environment type and the path planning method (global or local). The type of the environment may be dynamic or static,

depending on the presence of other moving objects whether a navigating robot or not. The path planning method is based on the environment type. The global path planning (also called off-line algorithms) requires a complete knowledge about the search area and also needs the environment to be static. There are many algorithms designed for global path planning such as; A* Algorithm, Genetic Algorithm (GA), Dijkstra's Algorithm, etc. [7]. In the local path planning or (on-line algorithms) it should be noted that the algorithm is capable of producing a new path, while the robot is moving in response to the environmental changes. In those local algorithms, the numerical analysis based methods, such as fast marching (FM) method and a fast sweeping (FS) method, are used [8]. The main advantage of the FM method over other techniques is that it clearly maintains a narrow band that separates the grid points of known solutions from the unknown ones. Unfortunately, the FM method does not give accurate results along diagonal directions, and the computational complexity is not optimal. For that reason, various approaches have been introduced to improve its accuracy. One of these methods is the multi-stencils fast marching (MSFM), which is built over the FM method. It computes the solution at each grid point along several stencils that cover its entire neighbor points, by solving the Eikonal equation, and then picks the solution that satisfies the up-wind condition [8]. Practically speaking, there are different sensing techniques that enable the robot to detect and to avoid obstacles, such as; infrared detectors, laser scanner, ultrasonic sensors, and vision sensors [9]. As reported in [10], the ultrasonic sensor reduces the cost but suffers from low angular resolution and it may fail to find a narrow open space. An infrared detector provides another simple and cheap way of obstacle sensing. The measurement resolutions can be higher than that of ultrasonic rangers. However, infrared sensors are sensitive to external light condition, and their detection range is rather short. Objects at long distances from a robot can be detected accurately by using a laser scanner, but the system is expensive and often bulky. On the other hand, the vision sensor is a useful robotic sensor since it mimics the human vision and allows for non-contact measurement of the environment, especially when the environment changes dynamically [11]. Moreover, the information extracted from

978-1-4673-9584-7/16/$31.00 ©2016 IEEE

2016 3rd MEC International Conference on Big Data and Smart City

the camera has been used in the feedback loop to control the robot pose. This process is called visual servoing (VS) [12]. In the VS process, the images are continuously processed and recorded and the robot is moved until the desired task is fulfilled. The VS techniques are broadly classified into; Position Based VS (PBVS), Image Based VS (IBVS) and Hybrid-based VS (HBVS) [13-15]. In this paper, the concept of the IBVS is used to navigate the mobile robot. More specifically, the control input signals for the robot are completely generated from image information. The proposed visual servoing algorithms have two main modules; the first module is designed to extract the visual information that is used to detect and segment interested objects or track such objects from one frame to another. This module estimates the robot’s pose [12], [16-17], and delivers it as a desired pose to the second module. The second module is designed as a position controller module. The goal of the controller is to enable the robot to follow the desired path and to be able to accept the new desired values dynamically [3], [12], and [18-19]. One of the well-known intelligent techniques, that are able to cope with parameter variations, and system uncertainties, is the Fuzzy Logic [20-21]. The Fuzzy logic controllers have certain advantages such as; possibility to design without knowing the mathematical model of the targeted process, simplicity of control, and low-cost [22-24]. Also, the Fuzzy logic controller (FLC) introduces several advantages over classical path tracking controllers. Firstly, it does not depend on the actual path characteristics, so that it can be used to track dissimilar classes of reference paths. Secondly, the FLC is robust with respect to path encoding errors as well as localization uncertainty [25]. The main contribution of this work is to combine the IBVS and FLC to navigate a non-holonomic mobile robot (LEGO MINDSTORM-NXT2) to follow the dynamic path that is planned using the MSFM. The proposed method can be employed in the real-time applications. This paper is organized in six sections as follows. The problem statement is described in Section 2. Section 3 discusses the image analysis and path planning algorithm. The robot model and the controller design are explained in Section 4. The experimental and simulation results and system implementation are presented in Section 5. Finally, concluding remarks are given in Section 6. . II.

PROBLEM STATEMENT

The common problems in robot navigation are; the path planning, localization and motion control. To address such problems, the proposed algorithm uses the visual information that extracted from a fixed camera in order to assist MSFM path-planning method to generate and to update the desired path, according to changes that occurred in the environment. A preprocessing morphological operation has been used before planning the path to prevent the robot from touching walls, corners, and any other obstacles. In this work, we assume that in the control loop or visual servoing, the vision

sensor can always track the mark set on top of the robot, which is tracked by the image processing system. The robot position and orientation have been estimated at each location from the image using template-matching and feature-based (size, color, and structure) methods. The robot position and orientation denoted by (xm, ym, θm) have been passed to the FLC controller to enable the robot to follow the desired path. III.

IMAGE PROCESSING AND PATH PLANNING ALGORITHM

1. Fast Marching (FM) path planning Method The FM method is a numerical method for solving boundary problems of Eikonal equation. Consider a closed interface ſ (boundary) that separates one region from another. Assume that ſ moves with a known speed F(x), in its normal direction. The motion equation of the front is given by: (1) | ∇T ( x ) | F ( x ) = 1 where, T(x) is the arrival time of ſ as it crosses each point x. The speed function is specified, and the time at which the contour crosses a point x is obtained by solving equation (1). However, all related methods that are based on (FM) ignore the information specified by diagonal points and hence suffer from large numerical errors along those directions [26]. This problem can be solved, based on diagonal information about the point x, by using one stencil or several stencils that are centered at this point. 2. 2D Multi-Stencils Fast Marching (MSFM). The MSFM calculates the shortest path from a list of pixels to all other pixels in a two dimensional image. In 2D, there are two stencils S1 and S2. Where S1 is used to cover nearest neighbor points, while S2 covers the diagonal points, more details are found in [26]. In the robot path planning, the planning algorithm requires three inputs to generate the shortest path; starting point (node), goal point (node) and a distance map. This map is generated from the obstacles image and used to evaluate the shortest path. After evaluating the desired path, in order to trace this path, the most widely and efficient method used is the fourth-order Runge-Kutta numerical integration. It is easy to implement and additionally yields good numerical results [27]. However, the generated path, in general, does not guarantee to be safe and the robot can touch the walls, obstacles, and corners. The next subsection shows this problem and how can be solved. 3. MSFM and image processing To plan the path by using MSFM and image processing, there are a number of steps that should be considered. The details of each step are explained, in the following. A. Initialization Assume that the environment contains the desired robot (marked in blue), the target point (marked with red circle) and other objects set as obstacles, as shown in Figure 1.a. The search area is converted into a grid (nodes), so that the algorithm is initialized with the robot parameters (set as a start point) and the goal point parameters such as: color, size and

2016 3rd MEC International Conference on Big Data and Smart City

geometric properties. The robot is marked with a blue mark set at the top of the robot. The robot mark (color and geometric) properties are given as a template image. B. Classification process The algorithm uses the template-matching [18] [28] and feature-based methods [29] to distinguish between the desired robot and other objects based on the predefined features. This process generates two images, the first image contains the start and the target points and the second image contains obstacles. Figure 1.b shows the obstacles classification image. C.

Path-planning

The objective is to supply the start point location, target point location and distance map image to the MSFM path planning algorithm, and to evaluate the shortest path between the start and the target points while avoiding obstacles. The resulted path is shown in Figure 1.c. As shown in this figure, the path does not guarantee to be safe, since the robot can touch each obstacle beside the path. The steps of the following algorithm introduce a solution to this problem and show what will happen when the robot detects other moving objects in the environment. We need to make a decision based on the answer of the following question: •

Does the map have another moving object(s) rather than the robot, • If yes, then go to dynamic subprogram, otherwise go to the static sub program The dynamic sub-program a. Evaluate the location and moving direction of each dynamic object (obstacle). b. Calculate the distance (dro) between the robot location and other moving objects If dro > dth, then go to step (d), otherwise go to step (c). Where, depth is the minimum distance that prevents the robot from touching the other objects. c. Send stop command to the robot (not safe path). d. Update the obstacles image (collision free and safe path). e. Go to the static sub program. The static sub-program a. Determine the robot boundaries (length and width in pixels (Lr, Wr)), and the current robot pose (Xm, Ym, θm). b. Apply a morphological dilation operation to the obstacles image by (Lr, Wr) in order to generate the new distance map as shown in Figure 1.d. c. Supply the source point, the destination point and the new distance map to MSFM algorithm to calculate the desired path. d. Apply the 4th-order Runge-Kutta method to trace the shortest path. The final shortest path after smoothing process is shown in Figure 1.e . e. Calculate the reference positions (xd, yd, θd) and supply them to the position control loop. f. Return to the main program.

As shown in the Figure 1.e, the resulted path set away from the obstacles by a distance that is based on the robot dimensions. Accordingly, the generated path guarantees to be safe and prevent the robot from touching any obstacle. Moreover, the desired path is not located in the middle between obstacles, as depicted in the Voronoi diagram [1]. This means that the travelling distance for

the robot is shorter than the one in the Voronoi diagram, and the travelling time will be decreased as well.

IV.

WMR POSITION CONTROL

The position control algorithm enables the robot to track the reference positions (xd, yd, θd) that are generated from the path planner by generating the desired control variables (v, w), where v is the robot linear velocity and w is the angular velocity. The position of the WMR in the global frame (Xg, Og, Yg) can be defined by the location of the center of mass (COM) of the robot, or alternatively by the location of the center of the robot Pr and its orientation that is defined as the angle between the robot's local frame (Xm, Pr, Ym) and the global frame [30], as shown in Figure 2. The difference between the reference position and the current robot position (xm, ym, θm) are given by the following equation [28]:  e x   cos θ e  = − sin θ  y  eθ   0

sin θ cos θ 0

0  x d − x m  0  y d − y m  1 θ d − θ m 

(2)

The distances that the WMR should travel in backward, forward and angular directions are generated based on (2). Accordingly, the control inputs to the robot can be represented as translational and rotational velocities. Assuming the WMR has three control inputs (vx, vy and vθ) which are obtained from the controller. The relation between these control inputs and (v, w) can be expressed as: v = vx ,

(3)

w = v y + vθ

A. Kinematic robot model The WMR robot that used in this paper has two driving wheels that are independently controlled. The mathematical model that is used for developing the controller is a kinematic model. Generally, the kinematic robot model deals with the relationship between the control parameters and the behavior of the robot without taking its movement into consideration [31]. The kinematic model of a differential mobile robot in state space is given by equation (4): .  x.  cos θ 0  v   y  = sin θ 0     w .  1    θ  0  

(4)

The kinematic equation of the robot’s linear and the angular velocity ω can be represented in the matrix notation form, as follows: r r (5) w= v = (w + w ) , (w − w ) 2

r

l

2d

r

l

where: ωr, ωl: are the right and left wheel angular velocities respectively, r: wheel radius, d: distance between two wheels, and θ: robot heading angle. B. Controller Design There exists expected error between the current robot position and the desired path due to the mechanical shocks that arise from abrupt changes in motion or slippage between

2016 3rd MEC International Conference on Big Data and Smart City

robot wheels and floor. This deviation is corrected by adjusting the linear and angular velocities of the robot in the execution level called path tracking control. In the control loop, the robot pose may be measured by visual odometry (camera) or conventional odometry (an encoder mounted on the motor-shaft for each wheel). The conventional odometry gives inaccurate results than visual odometry because the former cannot overcome the slipping or mechanical shock conditions. Consequently, the visual information extracted from the vision sensor is used in the feedback loop to eliminate the effects of these conditions. The proposed pose controller is the PD-like FLC in the decentralized form. In general, the discrete time form of the PD-controller is:

(6)

uk = Ge .e k +Gde .dek .

Where, ek is the error that is defined as the difference between the reference path (Xd, Yd, θd) and the measured robot pose (Xm, Ym, θm) given from (2). dek is the error change and uk is the controller output (control signal) at the sample instant k. Gp and Gde are the controller scale factors at inputs. The proposed decentralized PD-like FLC path-tracking algorithm has the structure illustrated in Figure 3. The structure uses two PD-FLC controllers. The first controller is used to generate the linear velocity v and the second one is used to generate the angular velocity ω. Assuming that the desired and measured robot poses (x, y, θ) are known, the robot position (xm, ym) and the reference position (xd, yd) are used to calculate the relative robot's distance Rd to the desired position and its goal angle θd. Where Rd and its derivative (dRd) are used as inputs to the first PD-like FLC1 in order to obtain the desired linear velocity v. Referring to equation (2), the relative distance to the next point is calculated as:

Rd = ex2 + ey2 ,

dRd = Rdk − Rdk−1



Rule base construction

The correlation between the inputs and output of the FLC system is called the rule-base or If-then rules [28]. The rule base construction process determines the rules that are used to track the reference set points. These rules must be chosen correctly to improve the performance of the FLC based control system. In our proposed algorithm, the fuzzy rule base for each controller consists of 25 rules which are presented in Table 1. The implication operator that is used to construct these rules is the min operator.



Defuzzification process

The fuzzy set resulting from the rule base should be defuzzified or converted into meaningful crisp values. The simplest way is to use singletons as a consequence of entirely overlapping inputs. Using singleton µfs makes the Center of Area (COA) defuzzification technique be identical to the Center of Maximum (COM) technique. Each controller output, in our algorithm, is partitioned into five singletons, as illustrated in Figure 4.c.

V.

(7)

The robot heading angle θm is measured by the vision sensor and θd are used to get the angle error eθ and its derivative deθ. Both (eθ, deθ) are used as inputs to the second PD-like FLC2 which is used to get the desired angular velocity ω. The reference angle is calculated as: e deθ = eθk − eθk−1 (8) θd = tan−1 y , eθ = θdk −θmk , ex Since the robot is controlled through the angular velocity (ω r, ω l) at each wheel. Then the angular and linear velocities are used to obtain ω r and ω l, by using relations presented in equation (5). The Fuzzy logic control constitutes three procedures; fuzzification, rule base construction, and defuzzification.



Figure 3. The negative sign means that the robot deviates left away from the path and the positive sign means that the robot deviates right away from the path. Each scale factor is determined experimentally according to its maximum value. Each controller's input is partitioned into five triangular membership functions (µfs), as illustrated in Figure 4.a, b. The µfs are; Z: Zero, NS: Negative Small, NH: Negative High, PS: Positive Small, and PH: Positive High.

1.

The Experimental Setup

The robot used in our experiments is the LEGO MINDSTORM-NXT2 which is configured as a non-holonomic mobile robot. It consists of two differential wheels, batteries, wireless Bluetooth communication module, and single ceiling mounted camera. As stated previously, the developed algorithm is divided into three main stages; 1. the image processing and path planning stage which is used to update changes in the environment, 2. the robot tracking and localization stage, and 3. the VS or control loop stage. The overall algorithm is implemented, realized, and tested by using the MATLAB programming environment.

Table 1, Summary of Fuzzy Rules

Fuzzification process

e

This procedure involves domain transformation where crisp input variables are transformed into suitable linguistic variables (e.g. Positive “P”, Zero “Z”,… etc.) [23]. In our experiments, the area around the path is divided into several regions such as; zero, small and large. Each input variable and output variable is distributed along its universe of discourse and set in normalized form [-1: 1] using its scale factor (Ge, Gde and Gu), as shown in

(a)

EXPERIMENTAL RESULTS

(b)

de nh ns z ps ph

(c)

nh

ns

z

ps

ph

nh nh nh ns ns

nh nh ns ns ns

ps ps z ns ns

ps ps ps ps ph

ps ps ph ph ph

(d)

(e)

2016 3rd MEC International Conference on Big Data and Smart City

Figure 1. (a) Environment map that contains the robot (blue), dummy robot (black), target point (red) and obstacles. (b) Distance map generated directly from the obstacles image. (c) Path resulted based on the image in b. (d) Distance map generated after applying (Lr, Wr) to the obstacles image, and (e) Optimized and safe path generated from the image in d. Error nh

ns

z

Error Change

ps

ph

nh

1

0.6

0.4

0.2

ps

ph

0.6

0.4

0.2

0

Figure 2. Virtual reference path tracking.

z

0.8 Degree of membership

Degree of membership

0.8

-1

ns

1

0

-0.8

-0.6

-0.4

-0.2

0 err

0.2

0.4

Figure 4. (a) Error µfs,

0.6

0.8

1

-1

-0.8

-0.6

-0.4

-0.2

0 0.2 errchange

0.4

(b) Error Change

0.6

0.8

1

(c) Singleton Control output µfs.

Figure 3. Overall path planning and robot path followings control.

2.

Experimental Results

The system is tested under three different cases of variable conditions; Case 1; Normal conditions, the system is tested to enable the robot to track straight lines and sharp angles in the absence of disturbances. Case 2; Abnormal conditions, we tested the ability of the algorithm to track the robot under light changes and pushing the robot away from the path. Case 3; Dynamic Map, we tested the ability of the algorithm to generate a new path when detecting a moving obstacle(s) entering the working area. Case 1: Normal conditions

The main goal of this test is to verify the ability of the visual servoing controller to track assigned straight lines with variable lengths and sharp angles. The desired working area shown in Figure 5. a, is acquired from the camera and analyzed by the image-processing (feature-based and template matching based) algorithm to detect and to track changes in the environment. The robot is chosen as the start point, the red object as the end point, and the black objects as obstacles. The blue mark set at the top of the robot is used to detect and calculate the robot position and its orientation (xm, ym, θm). Figure 5.b shows the resulted path and its corners. Each two

successive corners are used to calculate the desired angle (θd) and the robot must be directed to the next line and the travelling line length (Li). As well, each point on the path is supplied to the control loop FLC as a desired position (Xd, Yd). So, the controlled variables are (Xd, Yd, θd,) and each line length (Li). The following pseudo code used to compute the desired angles and line lengths based on corners' locations: For j = 1: length (corners) - 1 Line_Slope (j) = y_corn (j+1) - y_corn (j) / x_corn (j+1) - x_corn (j).

θd (j) = atan (Line_slope (j)) {limits θd(j) between [180 : 0: -180]} Li(j) = Corn_xy (j+1) - Corn_xy (j). End. The following code used to calculate the angle error and determine the smallest rotating direction eθ = θd - θm if (e θ > 180) then e θ = e θ - 360 , turn robot clockwise if (e θ < - 180) then e θ = e θ + 360 , turn robot anti- clockwise

As shown in Figure 5. c, the robot begins its movement from its home position to the end point and returns again to its home position. The resulted actual paths with respect to the desired path are shown in the figure. If we choose each corner on the path as an end point, the resulted straight lines tracking

2016 3rd MEC International Conference on Big Data and Smart City

Case 2. Tracing the path under perturbed conditions

This experiment tests the ability of the algorithm to evaluate the shortest path from the painted map that is shown in Figure. 6.a, and possibility to enable the robot to track the path under two conditions; intensity changes and pushing the robot away from the path. As illustrated in Figure 6. b, the desired shortest path is evaluated in green color. At some regions, the light is changed and the robot is pushed away from the path. The light is changed at the number sample 70 and the robot is pushed away from the path at the sample number 180. As shown in the figure, the robot oscillates about the path and the vision control loop tries to maintain the robot to follow the path with minimum oscillation error. Case 3: Dynamic Map

The next test is carried out to check the possibility of the algorithm to detect other moving objects than the robot. As shown in fig. 7.a, the initial path is generated based on the robot position. To increase the accuracy, the desired angle and the relative distance are calculated at each point on the path and did not base only on the corners. Accordingly, the algorithm calculates the error signal and corrects the robot poses at each point. As shown if fig. 7.b, at sample 195, the algorithm detects a moving obstacle. The measured distance dro < dth, hence there is a stop command is sent to the robot and the algorithm generate another shortest path. As a result, the robot corrects its pose according to the new set points. The error signals illustrated in fig. 7.c And d, are calculated as the difference between the desired point on the path and the center of gravity of the mobile robot. Finally, the real values of the error, based on, camera calibration process, were observed in (x and y) directions in all conditions are;

Absolute values of the error under perturbed conditions: e_xmax |real = max (|xd - xm|) = 2.45 cm. e_ymax |real = max (|yd - ym|) = 3.2 cm. The maximum relative errors are: r_exmax = (max (|xd - xm|) / |x_d|max) = 0.03 r_eymax = (max (|yd - ym|) / y_d|max) = 0.09 The mean value of the error, along the path is: e_xmean |real = ∑ (|e_x|) / n = 1.1 cm. e_ymean |real = ∑ (|e_y|) / m = 1.21 cm. where, m and n are the number of elements in (e_y, e_x) vectors, respectively.

dilation operation with the MSFM method to generate the desired shortest-path. To ensure the produced path to be safe, the dilation process extends the obstacles image, which is used to generate the reference path, by using the robot dimensions (Lr, Wr). The generated path is located as near as to the obstacle (s), by a distance determined based on robot dimensions, not in the half distance between obstacles as in the Voronoi diagram. Consequently, short travelling distances for the robot are expected, low power consumed and consequently save the overall traveling time. The path following controller uses two PD-like FLC in a decentralized form. Due to its simplicity, only the tracking error and its derivative are sufficient as feedback signals. As a result, the computational time decreased and becomes suitable for real-time control applications. Only one PC was used to implement the overall algorithm. Also, the algorithm is tested on Core i5 PC and Core2Due PC. The average execution time was observed is about 60 ms for the Core i5 PC and 80 ms for the latter. The overall system is experimentally verified, under multiple conditions such as; light changes, dynamic environment and pushing the robot away the path. The average errors along the path are (1.10 cm in x-direction and 1.21 cm in y-direction). The results show that the algorithm able to track changes in the environment and robust to noise under all conditions.

(a)

(b)

(c)

(d)

(e)

(f) (g) Figure 5- (a) Working area image, (b) Estimated desired path, (c) Go and return Path tracking (d) Straight line tracking, (e) Desired angle tracking, (f) Left motor power, and (g) Right motor power. Desired Path Forward Path Return Path

50 100 150 Y-data (pixel)

waveforms are shown in Figure 5.d. The actual robot heading angle with respect to desired angle is illustrated in Figure 5.e. The resulted control signals, generated from the decentralized PD-like FLC controller, for right and left wheel are shown in Figure 5. f and g. Based on the results shown from the previous figures, the controller is able to enable the robot to follow the desired path with average steady state error of 2-5 pixels along the path and the average angle tracking error is 0.5 degree.

200 250 300 350

I.

CONCLUSION

The real-time dynamic path planning and path tracking algorithm of a non-holonomic WMR using single camera is implemented. The algorithm merges the image processing

400 450 100

200

300 400 X-data (pixel)

500

600

Figure 6: a. Painted Maze image, and b. Robot navigation under external disturbances

2016 3rd MEC International Conference on Big Data and Smart City [15] Chaumette, François, and S. Hutchinson. "Visual servo control.

[16]

(a)

(b)

(c)

[17]

[18] [19]

(d) (e) Figure 7.(a) Original image, (b) Estimated Initial path, (c) Generating path according to Moving obstacles, (d) Measured error in xdirection, and (e) Measured error in y-direction.

REFERENCES [1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9] [10]

[11] [12] [13]

[14]

Su, Kuo-Ho, F. Lian, and C. Yang. "Navigation design with SVM path planning and fuzzy-based path tracking for wheeled agent." Fuzzy Theory and it's Applications (iFUZZY), 2012 International Conference on. IEEE, 2012. Yang, C. Yun, J. Yang, and F. Lian. "Safe and smooth: mobile agent trajectory smoothing by SVM." Int. Journal of Innovative Computing, Information and Control 8, pp. 4959-4978, 2012. Lapierre, Lionel, and R. Zapata. "A guaranteed obstacle avoidance guidance system." Autonomous Robots 32.3, pp. 177187, 2012. Brassai, Sándor T., B. Iantovics, and C. Enăchescu. "Artificial Intelligence in the path planning optimization of mobile agent navigation."Procedia Economics and Finance 3, pp. 243-250, 2012. Farhan, Hazim A., Hussein H. Owaied, and Suhaib I. Al-Ghazi. "Finding Shortest Path for Developed Cognitive Map Using Medial Axis." arXiv preprint arXiv:1103.3417, 2011. B. Font, Francisco, A. Ortiz, and G. Oliver. "Visual navigation for mobile robots: A survey." Journal of intelligent and robotic systems 53.3, pp. 263-296, 2008. Loong, W. Yuen, L. Z. Long, and L. C. Hun. "A star path following mobile robot." Mechatronics (ICOM), 2011 4th International Conference On. IEEE, 2011. Hassouna, M. Sabry, and Aly A. Farag. "Multistencils fast marching methods: A highly accurate solution to the eikonal equation on cartesian domains."Pattern Analysis and Machine Intelligence, IEEE Transactions on 29.9, pp. 1563-1574, 2007. Yan, Runchen, et al. "Monocular vision navigation and control of mobile robot."AASRI Procedia 3, pp. 707-714, 2012. Kim, Jeongdae, and Y. Do"Moving obstacle avoidance of a mobile robot using a single camera" Procedia Engineering 41, pp. 911-916, 2012. Zeuch and Nello " Understanding and applying machine vision", revised and expanded. CRC Press, 2000.e Corke, Peter I. "Visual Control of Robots: high-performance visual servoing." Taunton, UK: Research Studies Press, 1996. Hutchinson, Seth, Gregory D. Hager, and Peter I. Corke. "A tutorial on visual servo control." Robotics and Automation, IEEE Transactions on 12.5, pp. 651-670, 1996. Kragic, Danica, and Henrik I. Christensen. "Survey on visual servoing for manipulation." Computational Vision and Active Perception Laboratory, Fiskartorpsv 15, 2002.

[20] [21] [22]

[23]

[24] [25]

[26]

[27] [28]

[29]

[30]

[31]

I. Basic approaches." Robotics & Automation Magazine, IEEE 13.4, pp. 82-90, 2006. Wan, Xiang, and G. Xu. "Camera parameters estimation and evaluation in active vision system." Pattern Recognition 29.3, pp. 439-447, 1996. Zhang, Zhengyou. "Flexible camera calibration by viewing a plane from unknown orientations." Computer Vision, 1999. The Proceedings of the Seventh IEEE International Conference on. Vol. 1. IEEE, 1999. Yilmaz, Alper, O. Javed, and M. Shah. "Object tracking: A survey."Acm computing surveys (CSUR) 38.4, 2006. Micheloni, Christian, and G. L. Foresti. "Real-time image processing for active monitoring of wide areas." Journal of Visual Communication and Image Representation 17.3, pp. 589604, 2006. Zadeh, Lotfi A. "A fuzzy-algorithmic approach to the definition of complex or imprecise concepts." Birkhäuser Basel, 1976. Driankov, A., and R. Unberhauen. "An introduction to fuzzy control.1993. Hwang, Sentai, and J. Chou. "Comparison on fuzzy logic and PID controls for a DC motor position controller." Industry Applications Society Annual Meeting, Conference Record of the IEEE. 1994. Tipsuwan, Yodyium, and M. Chow. "Fuzzy logic microcontroller implementation for DC motor speed control." Industrial Electronics Society, 1999. IECON'99 Proceedings. The 25th Annual Conference of the IEEE. Vol. 3. IEEE, 1999. Pérez, Carlos, O. Reinoso, and M. A. Vicente. "Robot hand visual tracking using an adaptive fuzzy logic controller." 2004ee Tzafestas, Spyros G., K. M. Deliparaschos, and G. P. Moustris. "Fuzzy logic path tracking control for autonomous nonholonomic mobile robots: Design of System on a Chip." Robotics and Autonomous Systems 58.8, pp. 1017-1027, 2010. Hassouna, M. Sabry, and Aly A. Farag. "Accurate tracking of monotonically advancing fronts." Deformable Models. Springer New York, 235-258, 2007. S. Theodoridis and K. Koutroumbas, "Pattern Recognition", Elsevier Academic Press, 2nd edition, 2003. Fukao, Takanori, Hiroshi Nakagawa, and Norihiko Adachi. "Adaptive tracking control of a nonholonomic mobile robot." Robotics and Automation, IEEE Transactions on 16.5, pp. 609-615, 2000. Yeoh, P. Yong, and S. A. Abu-Bakar. "Accurate real-time object tracking with linear prediction method." Image Processing, ICIP 2003. Proceedings. International Conference on. Vol. 3. IEEE, 2003. Velagic, Jasmin, Bakir Lacevic; Branislava Perunicic. A 3-level autonomous mobile robot navigation system designed by using reasoning/search approaches, Robotics and Autonomous Systems 54 (12), pp. 989-1004, 2006. Saidonr, Mohd Saifizi, Hazry Desa, and Md Noor Rudzuan. "A differential steering control with proportional controller for an autonomous mobile robot."Signal Processing and its Applications (CSPA), 2011 IEEE 7th International Colloquium on. IEEE, 2011.