Automatic design of fuzzy controllers for car-like autonomous robots
Full text
Automatic Design of Fuzzy Controllers for Car-Like Autonomous Robots Iluminada Baturone, Fransisco J. Moreno-Velo, Santiago Sánches-Solano, and Aníbal Ollero IEEE TRANSACTIONS ON FUZZY SYSTEMS, VOL.12, NO.4, AUGUST 2004 Soft Computing, HI 2005 Project 1: Presentation of Journal Mia Westerlund
Introduction • One of the main ”problems” in robotics is motion planning; an autonomous robot has decide which motions to carry out in order to achieve a certain task • This paper describes the design and implementation of a fuzzy control system for an autonoumous car-like robot to solve the diagonal parking problem • Computer-aided design tools in Xfuzzy 3.0 (based on specification language XFL3) is used in the design, and the system is implemented and tested on the robot ROMEO 4R
Moving from A to B • If there are no obsticles, the problem is to find the shortest path between two points; a finite sequence of two elementary components: arcs of circle (with minimum turning radius) and straigth line segments. • Following this discontinuous shortest path between two points means we have to stop the car and reorient the wheels at each discontinuity point. • Continuous-curvature paths has earlier been obtained by geometrical methods (e.g. β-splines), followed by some pathtracking technique (e.g. predictive control methods) • Another approach is fuzzy logic-based planners based on heuristic knowledge of expert drivers by fuzzy rules and/or learning these rules with training data taken from the human driving behaviour
Diagonal Parking Maneuver • This system doesn’t consider the avoidance of unforeseen obstacles but focuses on parking on a constrained parking place defined by static obstacles. • Starting from a given position (x,y) and orientation φ , the vehicle shall arrive backwards at the desired parking place with right angle and stop there. • References: Line of parked cars below y=0, the center of the parking place x=0, target orientation φ =0 (-180°≤ φ ≤180°), the curvature of the trajectory is positive if steering wheel is turned to right, and negative otherwise
Diagonal Parking Maneuver (2) • The robot knows its position, orientation and driving speed. • Kinematic model: Ý x =v⋅sin( φ ) Ý y =v⋅cos( φ ) Ý φ = γ ⋅v ⎧ ⎨ ⎪ ⎩ ⎪ • Taking into consideration dynamics (traction and direction engines react with some dely) we obtain the first-order model: v(t)=vref +v(t−∆t)−vref [] ⋅exp( − ∆ t τ v ) γ (t)= γ ref + γ (t−∆t)−vref [] ⋅exp(−∆t τγ ) ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ where vrel and γrel are the speed and curvature values from the controller, and τvand τγare the response times of the traction and direction engines where (x,y) are the coordinates of the vehicle rear axle midpoint, φis the robot orientation with the vertical, v is the speed, and is the vehicle curvature vref =way⋅cel, γ ref =fw,if v >0 bw,if v ≤0 ⎧ ⎨ ⎩ • Values to the controller (see next slides)
Structure of the Control System • Distinguish between two control actions: deciding the driving direction (backward or forward) and the magnitude of the speed, and selecting the proper angle of the wheels (depending on the driving direction). • There are four main modules connected in parallel; way, cel, fw, bw • Heuristic knowledge expressed linguistically has been used when designing the direction and speed modules (translated by XLF3). • Geometric-based techniques has been used for optimizing the two path planning modules to generate continuous near-minimal-length paths
Direction Fuzzy Control Module Two rule bases connected in series 1. motion: selects to drive forward, backward,or as previously done, depending on the position and orientation of the robot (its goal is to avoid collision with the two lines of cars and with the cars limiting the target parking place) 2. brake: takes into account the current speed of the robot to select the driving direction (without forcing abrupt changes in the robot speed) • Defuzzofication method in both rule bases is of maximum type, it selects as outputthe consequent of the rule whose activation degree is maximum (if no rule is active, default driving is backwards)
Direction Fuzzy Control Module (2) •motion: 1) If the yrobot coordinate is near the cars of the parking place and the robot orientation φis greater than -90°and smaller than 90°and the xcoordinate is not zero or the orientation is not zero, the driving direction should be forward 2) If the yrobot coordinate is near the cars of the sidewalk in front of the parking place and the robot orientation φis greater than 90°or smaller than -90°, the driving direction should be forward where nearparking, nearwall, zero are represented by triangular membership functions; mf90, mf90n, forward are crisp values represented by 90, -90, 1 translation of the rules into the language XFL3 of Xfuzzy 3.0
• The driving direction in the middle is the same as in the previous iteration, if the xcoordinate or the orientation is non-zero, otherwise the direction should be backward (in the middle area the vehicle can go backward to approach the parking place or forward to move away from the obstacles; in the last case, the forward direction should be maintained until centering the vehicle approximately (x=phi=zero)). Direction Fuzzy Control Module (3) • By assigning weights to the rules on can simplify the rules.. • Rules for the second base brake can be obtained similarly..
Testing.. • ”The experimental results obtained confirm that the designed control system meets its specifications: the robot is stopped at the parking target with the adequate orientation, collisions are avoided with the parking lot constraints, and short as well as continuous-curvature paths are generated during the forward and backward maneuvers.”