Maroun Geryes

Sébastien Ménigot

Walid Hassan

Ali Mcheick

Marilys Almar

Benoit Guibert

Corinne Gautier

Jamal Charara

Jean-Marc Marc Girault

A Micro-Embolic Energy Detector based on Sub-band Decomposition

Keywords: Cerebrovascular Accidents, transcranial Doppler, micro-emboli detection, sub-band decomposition 1

des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

I. INTRODUCTION

Strokes occur when blood flow to a part of the brain is suddenly stopped either by a rupture or a blockage of a blood vessel. Strokes are the second cause of mortality worldwide after cancer [START_REF] Who | World health statistics 2014[END_REF]. Therefore, strokes represent a major death threat and are a public health issue for which a number of research events are initiated in order to find solutions to reduce its occurrence rate and boost stroke-survival chances.

About one third of strokes have embolic nature [START_REF] Jovanović | Transcranial doppler test for evaluation of cerebral artery embolism: Microemboli detection[END_REF]. Emboli in cerebral circulation can occlude cerebral arteries leading to strokes. This is known as cerebral embolism.

The Transcranial Doppler system is widely considered an effective solution for stroke diagnosis [START_REF] Yeo | Role of transcranial doppler ultrasonography in cerebrovascular disease[END_REF]. The TCD measures the velocity of blood flow in the brain's blood vessels and also the relative changes in the flow. Transcranial Doppler diagnoses are based on the detection of altered blood flow velocity, absence of blood flow, or changes in the spectral waveform. The TCD is the only non-invasive examination that provides reliable evaluation of cerebral embolism. TCD allows detection of embolic events from the Doppler signal in the form of high intensity transient signals (HITS) superimposed on the Doppler signal backscattered by the blood.

Detection of small micro-emboli, precursors of coming large emboli, is central to the early anticipation and prevention of strokes. Visualization of the spectrogram on the TCD system accompanied with audible detection is considered as the gold standard of micro-emboli detection. From a signal processing standpoint, almost all commercial TCD systems are based on Short Time Fourier Transform calculations. Standard methods, where detection is performed over the whole Doppler frequency spectrum, are mainly suitable for the detection of intense embolic signals. Their performance in the detection of low intensity micro-embolic signals is mainly poor.

In this paper, we propose a new energy detection approach based on sub-band decomposition. The new energy detector we present is composed of N detectors associated to N Doppler frequency sub-bands. The underlying idea is that by using an energy detector in each sub-band of the Doppler spectrum, we reduce the number of Red Blood Cells contributing in the background Doppler energy. Thus we amplify the contrast between the micro-embolus Doppler energy and the background Doppler energy. This detector should improve the detectability of the smallest micro-emboli and advance the accurateness of . This material is posted here with permission of the IEEE. Such permission of the IEEE does not in any way imply IEEE endorsement of any of the Universit Franois Rabelais de Tours' products or services. Internal or personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution must be obtained from the IEEE by writing to pubs-permissions@ieee.org. detection. Micro-emboli detection using sub-band decomposition was introduced by using wavelet decomposition as in [START_REF] Aydin | Embolic doppler ultrasound signal detection using discrete wavelet transform[END_REF], [START_REF] Girault | Cerebral microembolism synchronous detection with wavelet packets[END_REF], [START_REF] Chen | Doppler embolic signal detection using the adaptive wavelet packet basis and neurofuzzy classification[END_REF], and [START_REF] Lueang-On | Abstract wmp60: Automatic embolic signal detection using adaptive wavelet packet transform and adaptive neuro-fuzzy inference system[END_REF]. Unlike previously introduced wavelet-based detections, we implement sub-band decomposition performed after application of a bank of n ideal frequency filters.

II. SUB-BAND ENERGY DETECTION OF MICRO-EMBOLI A. Instantaneous Energy Detection of Micro-Embolic Signals

The presence of micro-emboli can be reliably detected through instantaneous energy calculation. Energy of the backscattered Doppler signal is proportional to the size of the scattterer to power of 6 [START_REF] Girault | Cerebral microembolism synchronous detection with wavelet packets[END_REF]. In other words, the energy of a micro-embolus, which is larger than a Red Blood Cell, is higher in the Doppler energy signal. In fact, the energy returned by a micro-embolus is greater than that returned by billions of red blood cells, whatever the circulation speed is.

Actually, most automatic detectors are majorly based on energy criteria. Moreover, these detectors, employed by commercial TCD systems, are based on the Short Time Fourier Transform, an adapted form of the Fourier transform that analyzes only a small segment of the signal at a time -a technique called windowing of the signal. The STFT provides a time-frequency representation known as the spectrogram, from which visual micro-embolic detection is performed. The instantaneous energy can be assessed from STFT-based frequency estimators. These estimators are short-term estimators and the calculation is carried out using a sliding window w(t). They are formally written as:

S(t, f ) = x(τ )w * (t -τ ) exp -jwt dτ 2 (1)
where x(t) is the analyzed Doppler signal, w(t) is a sliding window and * stands for complex conjugation.

The instantaneous energy at a fixed time t can be obtained from STFT frequency estimators in (1) by:

E(t) = S(t, f )df (2)
In our implementations, STFT and instantaneous energy calculations are carried out repetitively on 10 second segments extracted from the Doppler signal. After a preliminary experimental phase and based on our previous experiences, the STFT is performed using a 64 point Hamming window with an overlap of 65%. Energy detection of micro-embolic signals is based on the following binary test:

E(t) > λ, Hypothesis H 1 < λ, Hypothesis H 0 (3)
If the instantaneous energy E(t) is greater than the detection threshold then an embolus is detected (hypothesis H 1 ). In this case the automatic energy detector is triggered. Otherwise the automatic detector remains mute and no embolus is detected (hypothesis H 0 ).

B. Standard Detection

In standard energy detectors, the detection process in (3) is performed over the whole Doppler spectral band. The instantaneous energy calculated over the whole spectrum is compared to the threshold. This simple detection process is demonstrated in figure 1. The threshold is a constant threshold. This constant threshold is empirical; i.e. it is fixed empirically by the user for the entire examination. It is patient-, operator-, and device-dependent. It is usually set above the maximal detected energy of the Doppler signal when no embolus is present, where this maximum energy always happens during the heart systolic phase. Generally, for automatic detection, the constant threshold is set between 3 to 9 dB above the highest energy and depends on the TCD system calibration.

C. Detection by Sub-band Decomposition

Factually, the micro-embolus travels on a single line in the artery. Therefore, the Doppler micro-embolic signal can be considered as 'narrow band' signal corresponding to the velocity of the passing micro-emboli, compared to the 'wide band' Doppler blood flow signal which includes the velocities of all the red blood cells traveling along the various lines in the artery [START_REF] Girault | Cerebral microembolism synchronous detection with wavelet packets[END_REF]. The energy in the latter 'narrow band' reflects the energy backscattered by the traveling micro-embolus as well as the energy backscattered by all Red Blood Cells (RBC) traveling on the same velocity line as the micro-embolus.

Indeed, if we propose to reduce the frequency band, through a sub-band decomposition process, we can reduce the number of RBC contributing in the background Doppler signal. Only RBC traveling at the same speed as the micro-embolus will be considered instead of considering all RBCs present in the region of interest. Thus sub-band decomposition, provides a suitable tool to enhance the contrast between the micro-embolic energy signature and the background Doppler signal. Subband decomposition allows to decompose the whole Doppler spectral band into several channels. Through this decomposition, we reduce the bandwidth in which detection is applied. This in turn allows to reduce the background (RBC) energy in the considered bandwidth.

In the sub-band decomposition process, we compute the energy of the Doppler signal y(t) decomposed in N sub-bands. The energy is assessed in each channel n where E n will denote the instantaneous energy calculated in the n th sub-band. The threshold is also assessed in each sub-band n and is denoted by λ n . After sub-band decomposition, the Doppler signal y(t) can be expressed as follows:

y(t) = N sb n=1 y n (t) (4)
where N sb is the total number of channels (sub-bands) and y n (t) is the signal in the n th sub-band. Also, the total instantaneous energy over the whole spectral band can be obtained by summing the contribution of all channels:

E(t) = N sb n=1 E n (t) (5)
Sub-band detection procedure is demonstrated in the block diagram in figure 2. Simply speaking, the same procedure as standard detection is performed in each sub-band.

III. ACQUISITION OF THE DOPPLER SIGNAL

Transcranial Doppler is considered to be the most suitable system for the detection of micro-emboli in the cerebral circulation. TCD is a harmless and safe technique. It is non-invasive and non-ionizing. While most detection methods are initially designed to function on standard TCD systems, in our study we operate a new TCD generation known as the transcranial Holter. This Holter system, also known as TCD-X, has been implemented by a French company called Atys Medical (Soucieu en Jarrest, France). Unlike standard TCD systems, the Holter version allows up to 5 hours of patient monitoring and thus offers more validity for micro-embolus detection. Using the Holter system, the patient is no longer attached to a TCD and does not need to be laying on a bed. Patient monitoring can be done under naturalistic conditions with the possibility of patient motion and action.

The Holter recordings were carried out at the Centre Hospitalier Régional Universitaire (CHRU) de Lille hospital in Lille, France. Patients with carotid stenosis were chosen for the study. Informed agreement for Holter monitoring was obtained from all patients. The Holter probe emits an Ultrasound wave with a frequency of 1.5 M Hz to the middle cerebral artery of the patients. The pulse repetition frequency (PRF) is 6.4 kHz and the Ultrasound power is 50 mW/cm -2 .

Primarily, the Holter recordings are converted into audio-wave files. The gold standard of detection is then constituted. Audible detection is performed at the normal speed and at half the normal speed. Micro-emboli are detected based on their characteristic click or chirping sound. Simultaneously, visualization of the spectrogram is performed. The positions in time of micro-embolic events audibly and visually detected are noted.

Our 17 acquired Doppler signals are divided into two groups. The first group of signals (8 signals) are dedicated to achieve the training phase. The training phase, a preliminary significant step, allows adjusting the best parameters and standards that mainly maximize the detection rate and minimize the false alarm rate. The second group of signals (9 signals) are dedicated for testing the different detectors and obtaining the associated results.

To evaluate the results of the detectors, we compare these results to the gold standard of detection (audible and visual detection) established initially. The basic statistical tools considered for our evaluation are:

1) Detection Rate 2) False Alarm Rate (FAR)= Number of False Alarm (NFA) / total Number of Detections (ND) NFA is the instance of detecting an embolus where in reality no embolus crossed and can be referred to as false positive detection. ND is the total number of detections.

P E+B is the backscattered power measured when an embolus and the blood are present in the Doppler sample volume. P B is the backscattered power measured from blood alone in the sample volume [START_REF] Darbellay | Solid or gaseous circulating brain emboli: are they separable by transcranial ultrasound?[END_REF], [START_REF] Girault | Micro-emboli detection: an ultrasound doppler signal processing viewpoint[END_REF].

IV. RESULTS

As mentioned previously, our whole dataset is divided into 2 categories. We used the first to apply two different training phases and the second to apply the main phase called the testing phase. Below we demonstrate the work done in each phase and the associated results.

A. Training Phase

In the first training phase we use the first category of our dataset (8 signals) to determine the most suitable number of sub-bands to be used. The objective is to find the best trade-off between the total number of channels and the detection rate as well as the false alarm rate obtained. 2, 4 and 8 sub-bands are tested. The results are shown in Table I.

Through Table I, we deduce that the best detection procedure is obtained for number of sub-bands N sb = 4. Compared to 2 sub-bands, 4 sub-bands allows a better detection rate and a lower FAR. Compared to 8 sub-bands, 4 sub-bands allows a close detection rate with a much lower FAR.

In the second training phase we also use the first category of our dataset (8 signals) to determine the best empirical constant threshold values. The objective is to find the empirical threshold (in dB), on one hand, for standard methods and on another hand for each sub-band of the 4 sub-band decomposition channels. For standard methods, the best empirical threshold is found to be 5dB above the background Doppler energy. For sub-band decomposition, the best empirical threshold in each sub-band is found to be 4 dB for sub-band 1, 4dB for sub-band 2, 5dB for sub-band 3 and 3dB for sub-band 4. The results are demonstrated in Table II.

B. Testing Phase

In this phase we use the second category of our dataset (9 signals) to determine the results of the two detectors used, the standard detector and the 4 sub-band detector. We compare the performance of each detector. The results are presented in Table III.

V. DISCUSSION AND CONCLUSION

The results show that our sub-band detector allows increasing the detection rate by more than 12% and even reducing the FAR by more than 7%. Consequently we affirm that a detector based on sub-band decomposition is more reliable and adapted than standard techniques. Moreover, the calculated EBRs for the two techniques show values of 24.4 dB for standard detectors compared to 39.6 dB for detectors based on sub-band decomposition. The EBR was increased by more than 15 dB.

To conclude, in this study we have proposed an energy detector based on frequency sub-band decomposition through a bank of n ideal frequency filters, as a tool for robust micro-embolus detection. In a number of cases in which the micro-embolic signal can not be clearly distinguished from the background energy by whole band detection, it can be distinguished through sub-band filtering. The sub-band detector is composed of n detectors associated to n Doppler frequency subbands where the detection procedure is repeated in each and every sub-band simultaneously. The technique is compared to the standard techniques based on the detection over the whole Doppler frequency spectrum.

The results show that using sub-band decomposition allows better detection of micro-embolic events. The results confirm that sub-band decomposition reveals embolic signatures more apparently. It allows increasing the EBR and thus is in consistency with the widely known agreement that any processing method that improves the EBR would be able to ameliorate the performance of an automated embolus detection system [START_REF] Evans | Ultrasonic detection of cerebral emboli[END_REF]. In addition, the increase in the detection rate and the decrease in the number of false positive detections also emphasizes the efficiency of sub-band decomposition as a powerful method for micro-embolus detection. In the upcoming step, we will couple sub-band decomposition with time-varying thresholds, rather than using constant thresholds, in order to boost the overall performance of the detection system.

Figure 1 :

 1 Figure 1: Standard embolus detection system

Figure 2 :

 2 Figure 2: Sub-band Decomposition-based embolus detection system

  DOI : 10.1109/MECBME.2016.7745407 c 2016 IEEE. Reprinted, with permission, from Maroun Geryes, Sbastien Mnigot, Walid Hassan, Ali Mcheick, Marilys Almar, Benoit Guibert, Corinne Gautier, Jamal Charara and Jean-Marc Girault, A Micro-Embolic Energy Detector based on Sub-band Decomposition, 2016 3rd Middle East Conference on Biomedical Engineering (MECBME), 2016

1

Table I :

 I Results (Detection Rate and FAR) for 2, 4 and 8 sub-bands used

	Number of Sub-band De-	Detection	FAR (%)
	composition	Rate (%)
	2 Sub-bands	55.1	53.0
	4 Sub-bands	78.8	41.6
	8 Sub-bands	80.8	65.1

Table II :

 II Best empirical thresholds for standard detection and in each sub-band of the 4-sub-band decomposition

	Number of Sub-	Best
	band Decomposi-	Empirical
	tion	Threshold
		dB
	Standard
	Detector

Table III :

 III Comparison of the Detection rate, FAR, and EBR results for standard detectors and sub-band detectors

	Detector Type	Detection	FAR (%)	EBR (dB)
		Rate (%)
	Standard	66.0	43.7	24.4
	Detector
	4-Sub-band De-	78.9	36.5	39.6
	tector


Manuel Díaz-Zapata

Jose Miguel Correa-Sandoval

Juan Perafán-Villota

Víctor Romero- Cano

Lane Detection and Trajectory Generation System

Keywords: autonomous vehicle, computer vision, lane detection, lane keeping, Ackermann kinematic model Related work, Motivation and Objective

This paper presents the development of a perception system that enables an Ackermann-type autonomous vehicle to move through urban environments using control commands based on short-term trajectory planning.

We propose a lane detection and keeping system based on computer vision techniques that are computationally efficient. Also, a Kalman filter-based estimation module was added to gain robustness against illumination changes and shadows.

Additionally, the simulation and control of the Autónomo Uno robot gave good results following the steering commands to keep the position. In the simulation the controllers had some slight noise problems but the robot executed the given steering commands and it moved following the road. This behavior was also seen in the physical implementation.

Since the late 20th century there have been studies about systems focused on lowering the amount of lives lost due to traffic accidents, improving road safety and increase the autonomy of the vehicle. These systems are known as Advance Driving Assistance Systems (ADAS). One of the main features of ADAS is lane detection and tracking, which it is a task where real-time processing is most crucial, since this and the steering actuation system are the ones controlling where the vehicle is headed with respect to the vehicle's position in the lane and its surroundings.

In the study presented by Naronte et. al [START_REF] Narote | A review of recent advances in lane detection and departure warning system[END_REF], is shown that there have been different advances on the development of this techniques. On 2015 Son et. al [START_REF] Son | Real-time illumination invariant lane detection for lane departure warning system[END_REF] present different modules working together to do lane detection, some of these modules include color invariant lane detection when exposed to illumination changes, adaptive region of interest (ROI) based on the vanishing point, Canny edge detection, and lane grouping using minimum squares. Using these modules on a simulated environment, they got a fast and powerful result for real-time application under different weather and lighting conditions. But roads with cracks and blurred lane markings were this system's weak spots.

A year later, Madrid and Hurtik [START_REF] Madrid | Lane departure warning for mobile devices based on a fuzzy representation of images[END_REF] presented a low-cost warning departure system for vehicles, which is efficient and affordable for most people. They use the Hough transform for line detection together with a fuzzy image representation, which gave better results than the standard II Congreso Latinoamericano de Automática y Robótica Santiago de Cali, Colombia, Octubre 30 a Noviembre 1 de 2019 Hough transform with the Sobel operator. It also presented a reliable and accurate response to real-time processing. This system had difficulties during the night and when white vehicles enter the scene. Mammeri et al. [START_REF] Mammeri | A real-time lane marking localization, tracking and communication system[END_REF] on 2016 presented an internal computing system that finds the lane markings and passes them to the driver. For the line detection they used Probabilistic Progressive Hough Transform, ROIs through MSER blobs were also used, which are then refined using a three-stage algorithm. Using the MSER results, the lane colors (white and yellow) are identified on the HSV color-space and Kalman filtering is used to follow both lane lines. This system is limited at night due to the road lighting and traffic conditions.

On the other hand, there has been little interest in Colombia to develop these kinds of technologies due to the economic and infrastructure difficulties present in the country. This lack of interest can be seen on the low adoption and acceptance of using technologies associated with renewable energies in the transport sector such as electric autonomous vehicles. Nevertheless, studies and work done in this area in world powers give a hopeful future that could bring many benefits to the Colombian territory [START_REF] Ackerman | Study: Intelligent Cars Could Boost Highway Capacity by 273%[END_REF].

These benefits are the main motivation to create a perception system for vehicles that facilitates lane detection and trajectory generation on urban environments. Hoping that the creation of software for platforms that want to develop autonomous vehicles, will promote research and development on this area in a national level.

Methods.

This work was developed in three stages, first the Lane Detection system, second the Trajectory Generation system and finally the system was tested in the Autónomo Uno robot and at the same time in a simulation environment in Gazebo. For the development of the Lane Detection system, we mainly used videos [START_REF]Udacity: Lane finding project for self-driving car nd[END_REF] that were converted from mp4 format, to rosbag so they could be better integrated with ROS, since this environment allows easier integration with robot control hardware.

Perspective transform was used to create the bird's eye view (BEV) of the road, based on a fixed ROI in order to avoid the vanishing point effect. Besides, the BEV view provides better information of the road which it helps to create a more accurate lane model. Using this transformation, it is easier to find the center of the lane and the error for the car to steer, so it can stay in the center of the lane.

We predefined the ROI, since our own automatic ROI finder was too inefficient working at an average of 2 FPS on a 30 FPS video. Once the BEV is obtained, the following computer vision techniques were used to enhance the lane markings and filter unwanted data: grayscale conversion and vertical Haar-like feature filter [START_REF] Viola | Rapid object detection using a boosted cascade of simple features[END_REF].

After, the image is divided into two parts, one for each of the lane markings. Then, each image's histogram gets equalized and a median filter is applied along with pixel-wise gamma correction using γ=20. These steps are done in order to enhance the brighter colors present on the lane markings, so it is easier to apply a threshold to binarize the image. Furthermore, image binary thresholding was performed on the value range from 240 to 250, where pixel values go from 0 or black to 255 or white, greater values were not selected due to included noise.

The Lane model is created by passing a set of sliding windows vertically through each of the lane markings and finding a set of centroids that describe each marking. The parameters used for the II Congreso Latinoamericano de Automática y Robótica Santiago de Cali, Colombia, Octubre 30 a Noviembre 1 de 2019 sliding windows are their height (Wh), width (Ww), number of windows (Nw) and horizontal starting point of search (Sh). The Ww, Nw and Sh are defined by us, but the height of each window is found dividing the image height (h) by Nw. The centroids for each marking were found by averaging the values of the x coordinates for the with pixels in the window's area. The search process is repeated until Nw windows have been placed.

Kalman Filtering [START_REF] Kalman | A New Approach to Linear Filtering and Prediction Problems[END_REF] was used to filter the changes on the x coordinate of each centroid or to predict the position if no white pixels are found due to broken lines. Also, Kalman filtering is not applied on the y coordinate since it increases by a fixed known value Wh on each iteration. Finally, the center line was found by computing the difference between centroids of each lane model.

The Trajectory Generation system is based on the middle lane provided by the lane detection system. First two points of the middle line are selected for the steering vector, then the steering angle is calculated as shown in eq. 1. pt1 is the closet point to the car and pt2 the sixth point of the middle line, also the index x and y indicate the coordinates of the points.

𝜃 = 𝑎𝑟𝑐𝑠𝑖𝑛 ( 𝑝𝑡 1𝑥 -𝑝𝑡 2𝑥 √(𝑝𝑡 2𝑦 -𝑝𝑡 1𝑦 ) 2 + (𝑝𝑡 2𝑥 -𝑝𝑡 1𝑥 ) 2 ) (1)
The steering angle is used along with the selected points to create the steering vector. This vector describes the short-term trajectory that the vehicle needs to follow in order to stay in the middle of its lane. Furthermore, the steering angle is used to compute the inverse kinematics of mobile robots, thus the Ackermann-type vehicle is able to move the steering wheels to perform the trajectory.

Finally, the system was integrated with the physical platform Autónomo Uno robot, also with the simulated environment using ROS along with Gazebo. The inverse kinematics of mobile robots [START_REF] Saavedra Ruiz | Desarrollo de un sistema de aterrizaje autónomo para un vehículo aéreo no tripulado sobre un vehículo terrestre[END_REF] were used to control the Ackermann-type vehicle, in addition, a Proportional-Integral (PI) controller system was added to control the response given by the vehicle while it follows the steering vector provided by the lane detection system.

One of the main inputs to our simulation system is the robot's heading, which is provided by the vision-based trajectory planning module. This heading value is translated into steer commands for each of the front wheels using the instantaneous center of rotation's (ICR) distance and the ICR's angle, those are provided by the inverse kinematics. The ICR distance is computed as shown in the eq 2.

𝐼𝐶𝑅 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 = 𝑙𝑒𝑛𝑔𝑡ℎ tan (𝜃) (2)
Results.

The results of the Lane Detection system and Trajectory Generation system can be observed on figure 1. Where on figure 1a the ROI we defined can be seen delimited in red. Then, on figure 1b, we can see the BEV view and the lane markings after the filtering. The final process to enhance the lane was performed and the result can be seen on figure on 1c. After, the sliding windows step is done and the centroid-based lane model is created, see figure 1d, where the II Congreso Latinoamericano de Automática y Robótica Santiago de Cali, Colombia, Octubre 30 a Noviembre 1 de 2019 centroids in red are those detected by the sliding windows, but the ones in blue or green are the ones predicted by the Kalman filter since the observation was not confident enough. The center line model can be observed on figure 1d, along with the steering vector. The behavior of this steering vector, can be tuned by choosing a different point as pt2. We found that selecting pt2 too close to the car, makes the system too sensitive to variations in the centroid's x coordinate. Also, by choosing pt2 closest to the top side of the image reduces its sensitivity. The sixth point was chosen because it gave stability and good angle representation in both cases: straight and curve roads.

The Ackermann Kinematics model defined in [START_REF] Saavedra Ruiz | Desarrollo de un sistema de aterrizaje autónomo para un vehículo aéreo no tripulado sobre un vehículo terrestre[END_REF] is computed locally in the Autónomo Uno robot, using the two main micro controllers installed. The first one is the Raspberry Pi 3 B+, that allows communication with a main computer in order to receive control commands. The second is an Arduino DUE, that controls two different types of motors used for traction and direction respectively. Also, each motor has its own built-in PID controller that manages its respective behavior.

On the other hand, the Ackermann Kinematics model needed for the Gazebo simulation environment are computed on the main computer. Also, the dynamics involved in the environment requires a controller module, see figure 2 (left). Here the red and pink signals are respectively the front wheels response to the steer angle. Therefore, a PI controller was created using the Ziegler-Nichols tuning method [START_REF] Ogata | Modern control engineering[END_REF] for the steering and velocity of the wheels. Even though the signals with the controller have noise, figure 2 (right), the system manages to follow the set-point of the steering angle. This behavior was seen on the simulation environment and in the physical platform. On figure 3, the system's response is shown for three principal cases, turn left, turn right and go straight. We were able to create a lane keeping algorithm for autonomous vehicles based on traditional computer vision techniques, that is robust to illumination changes and manages to detect and track lanes under different conditions such as: lane markings with two different colors (yellow and white), lane markings exposed to direct sunlight, shadows and transitions between asphalts of different color. Also, the system can react to the to the two main lane types, straight and curved. Furthermore, the system controls the vehicle's heading, based on a short-term trajectory II Congreso Latinoamericano de Automática y Robótica Santiago de Cali, Colombia, Octubre 30 a Noviembre 1 de 2019 generation and the Ackermann Kinematic model so the vehicle stays in the center of the lane, which is an added capability compared to Lane Departure warning systems presented in [START_REF] Son | Real-time illumination invariant lane detection for lane departure warning system[END_REF], [START_REF] Madrid | Lane departure warning for mobile devices based on a fuzzy representation of images[END_REF] and [START_REF] Mammeri | A real-time lane marking localization, tracking and communication system[END_REF].

We also highlight the use of sliding windows versus the Hough Line transform and its variants used in [START_REF] Son | Real-time illumination invariant lane detection for lane departure warning system[END_REF], [START_REF] Madrid | Lane departure warning for mobile devices based on a fuzzy representation of images[END_REF] and [START_REF] Mammeri | A real-time lane marking localization, tracking and communication system[END_REF] since we are able to model with a fixed number of sliding windows each lane marking by representing them as series of points. The main problem with the use of the Hough Line Transform is the detection of only straight lines. Thus, to detect curved features the system needs to either detect small segments of the curved line and piece them together to create the lane model, or it needs to do a rough approximation of a curve with a straight line, which could not be an optimal model.

For future work, we recommend to do a comparative analysis between our method and the ones presented on previous work, focused on the computational cost and real-time performance. Also, given the current trend on the Computer Vision field, it would be interesting to see the Deep Learning-based approaches to both the perception and decision modules.

Fig. 1 a

 1 Fig. 1 a. Manual ROI defined, b. Filtered perspective transform of a road curve, c. Binary image after thresholding, d. Lane centroids and steering vector

Fig. 2 .

 2 Fig. 2. Left, Initial response state of the system without controller. Right, Ackermann system response with PI controller

Fig. 3 .

 3 Fig. 3. Column a. System behavior for left curve road, Column b. System behavior for straight road, Column c. System behavior for right curve road