Autonomous Navigation and Obstacle Avoidance of a Micro-Bus

At present, the topic of automated vehicles is one of the most promising research areas in the field of Intelligent Transportation Systems (ITS). The use of automated vehicles for public transportation also contributes to reductions in congestion levels and to improvements in traffic flow. Moreover, electrical public autonomous vehicles are environmentally friendly, provide better air quality and contribute to energy conservation. The driverless public transportation systems, which are at present operating in some airports and train stations, are restricted to dedicated roads and exhibit serious trouble dynamically avoiding obstacles in the trajectory. In this paper, an electric autonomous mini-bus is presented. All datasets used in this article were collected during the experiments carried out in the demonstration event of the 2012 IEEE Intelligent Vehicles Symposium that took place in Alcalá de Henares (Spain). The demonstration consisted of a route 725 metres long containing a list of latitude-longitude points (waypoints). The mini-bus was capable of driving autonomously from one waypoint to another using a GPS sensor. Furthermore, the vehicle is provided with a multi-beam Laser Imaging Detection and Ranging (LIDAR) sensor for surrounding reconstruction and obstacle detection. When an obstacle is detected in the planned path, the planned route is modified in order to avoid the obstacle and continue its way to the end of the mission. On the demonstration day, a total of 196 attendees had the opportunity to get a ride on the vehicles. A total of 28 laps were successfully completed in full autonomous mode in a private circuit located in the National Institute for Aerospace Research (INTA), Spain. In other words, the system completed 20.3 km of driverless navigation and obstacle avoidance.


Introduction
Autonomous vehicles have been present in industry for decades as a means for automated transportation of goods and objects.They are usually guided in the environment using some kind of artificial markers on dedicated environments.It is well known that the use of private vehicles in large cities leads to high levels of energy consumption, causing environmental pollution and acoustic noise.New technologies applied to public transports offer a new generation of environmentally friendly vehicles.These vehicles, powered by electric engines, are silent and clean.As mentioned in [1], automated vehicles are becoming increasingly popular in public transportation systems because they provide reductions in congestion and improved traffic flow.Some of the advantages exhibited by autonomous vehicles can be described as follows: no driving license is needed; elderly or handicapped people can use them conveniently; parking manoeuvres can be assisted or fully executed by the vehicle in autonomous mode.There are many international projects aiming to develop these types of vehicles.One of the most relevant projects developed in the USA is the DARPA Urban Challenge 2007.This project promoted research in the field of autonomous vehicles on urban scenarios, with a focus on military applications [2].A detailed description of the different layers of the navigation system (mission planning, behavioural and motion planning) of the vehicles that qualified first and second in the challenge is provided in [3] and [4], respectively.A description of all of the vehicles that participated in the challenge is described in [5].
There are also a number of European projects dealing with autonomous vehicles for transportation of people on urban or dedicated scenarios, such as airports.Park Shuttle I [6], [7] developed the first fleet of driverless vehicles.They began operating in 1997 carrying people from a car park to Schiphol Airport, in Amsterdam.With the capacity for carrying six persons, the vehicles can drive up to 24 km/h, performing two loops of a 1 km track each with three stations on their way.The system requires a number of sensors installed in the vehicles as well as beacons installed on the road in order to attain correct guidance.In 2005 Park Shuttle II [8], [9] started an automated transport service at Rivium Business Park on the outskirts of Rotterdam.The vehicles exhibited an increased capacity of 20-24 passengers and drove at 32 km/h along a 1.3 km track with five stations.Furthermore, vehicles were capable of stopping automatically when they detected an object in their path.The vehicles deployed in the Park Shuttle II project are in operation 12 hours per day, five days per week.At present, some 3500 passengers use this public transportation means on a daily basis.The Park Shuttle project is evidence that an alternative public transport system is possible and national governments should promote it.The European Commission supported the CyberCars [10], [11] project in 2001-2004.Cybercars are designed specifically for public use in cities and have fully autonomous driving capabilities in order to provide on-demand door-to-door service.The test ground consisted of a network of roads of more than 1 km, shared with pedestrians and a few ordinary vehicles.Based on the results of this project, as an extension of it, new developments were carried out in the CyberCars2 project [12] in 2006-2008.Cybernetic Transportation Systems have also been proposed in countries such as China [13], focusing on the vehicle coordination problem.Although not specifically conceived for autonomous road vehicles, but for many types of unmanned robots, we finally remark on the ELROB (The European Robot Trial) [14] initiative, that is explicitly designed to assess current unmanned systems technologies in realistic scenarios by means of competitions.
Away from Europe, Abu Dhabi is also aware of sustainability.They have designed Masdar City [15] as an emerging global hub for renewable energy and clean technologies.There will be no fossil fuel cars within Masdar City and it will be a pedestrian-friendly environment with a Personal Rapid Transit system (PRT) available for longer journeys.As well as other PRTs, a dedicated guide way is built for vehicle navigation  The drive-by-wire electric vehicle used in this experiment has capacity for 14 people.It is equipped with GPS and a multi-beam LIDAR for localization and environment recognition respectively.
In this paper, the description of an autonomous electric micro-bus (see Figure 1) is provided, with capacity for 14 persons.
Although the separate algorithmic components of the proposed system do not outperform the current state of the art solutions, as represented by the results in the DARPA Urban Challenge [5], it is worth noting that previous contributions were not specifically devised for high capacity public transport vehicles, but for passenger cars.Previous autonomous vehicles for people transportation operate in restricted areas without obstacle avoidance capabilities.The presented approach is specifically designed to avoid obstacles, such as pedestrians, using a multi-beam LIDAR sensor.The results presented here were obtained in the context of a demonstration event in the 2012 IEEE Intelligent Vehicle Symposium.A total of 196 people got a ride in the micro-bus, completing a total of 28 laps (725 metres long each) on a private circuit.During the ride, the bus performed automatic pedestrian avoidance manoeuvres.The demonstration was accomplished without incidences, which constitutes one of the main contributions of this work.In addition, the large number of people involved in the experiments offered us the opportunity to get valuable feedback regarding system performance.Impressions, as described by the passengers, are also provided and analysed.

Hardware Description
A global overview of the proposed architecture is depicted in Figure 2. The roboticized vehicle is an electric bus with a manual gearbox.The autonomous driving manoeuvres have been tested in an operational range from 0 to 30 km/h.An industrial computer placed on board contains the main CPU.It has been built with a view to avoiding possible damage due to undesired displacement of any hardware component, even if subject to abrupt turns and accelerations, which are common on road situations.The vehicle position and orientation are obtained from the GPS system, while wheel angle is provided by an encoder.Specific electronic components control the electric engine power, the pressure over the breaking system, and the voltage on the electro-hydraulic engine that drives the steering bar.The communications among all devices are performed using the CAN bus protocol and USB-CAN adapters.Finally, switches for each actuator are installed in the dashboard in order to activate the autonomous functions.With these, the autonomous driving mode can be interrupted or started at any time, and the different modules can be tested, either in combination or in standalone mode.
The GPS system computes the vehicle position, orientation and speed.It comprises a Trimble BX960 Rover receiver and a Zephir antenna.The GPS system, per se, provides a positioning measurement with an average error below 2 metres.A router equipped with a UMTS (Universal Mobile Telecommunications System) provides Internet connection by means of which differential corrections from the nearest GPS base station are obtained.Static error is removed using Differential GPS information, granting centimetric positioning accuracy.Without differential corrections, more sophisticated approaches, such as sensor fusion [18], would be necessary in order to manage accurate waypoints.
An encoder is attached to the steering bar of the vehicle in order to measure the current orientation of the wheels.The steering wheel positions range from −400 • to 400 • (the decimal degree accuracy is more than sufficient).A digital-analogue board serves as an interface between the computer and the electric engine.The analogue output of this board is connected to the voltage input of the engine, which is normally controlled by the accelerator.An electro-hydraulic pump is coupled to the hydraulic braking system of the vehicle.This coupling allows the maximum pressure to be exerted on the breaks, whether or not it comes from the electro-hydraulic pump or provided by the brake pedal.An external digital-analogue device interfaces the computer and the electro-hydraulic pump.The steering wheel orientation is modified with the power steering of a Citrï£¡en C4, which has been integrated between the axle of the steering wheel and the turning axle of the wheels.The power steering is controlled with an electronic motor that receives the reference position through a serial port connection.
Obstacle avoidance is a compulsory technology for autonomous vehicles.As a matter of fact, it is a critical aspect given the safety issues involved both for the occupants and for other road users.There are different technologies for obstacle detection: ultrasonic sensors, vision sensors, radar or LIDAR sensors.Ultrasonic sensors are commonly applied to short distance obstacle detection (1 to 3 metres) during parking manoeuvres.Vision sensors are applied for many different tasks such as vehicle detection [19], [20] or autonomous pedestrian collision avoidance [21], [22].These types of sensors have the advantage that they are cheap and polyvalent, but they are sensitive to weather conditions.Radar sensors are commonly applied to Automatic Cruise Control (ACC) [23] given that their measurement range reaches up to 150 metres, with a field of view of 15 • .Radar devices can be embedded and hidden behind a plastic bumper in the car front, since the microwave is not affected by this material.This is a key advantage of radar technology.LIDAR sensors are widely used for their capability to operate at high frequency (70 Hz) and to provide high resolution measures (0.01 degree) in a range of up to 60 metres.They can be applied as a standalone device or in combination with vision sensors in order to achieve enhanced measurement results [24], [25].
In this paper, a LIDAR sensor has been used due to the high accuracy that these devices provide in distance measurements.Most LIDAR sensors have a horizontal range of 180 • -270 • and provide one-layer measurements.As a major disadvantage of one-layer LIDARs it is worth mentioning that the detection of the road profile and the obstacle's height is not feasible.In this demonstration, we installed a LIDAR device which provides 32 layer measurements.Its angular range is 360 • in the horizontal direction and 41.34 • in the vertical direction at 10 Hz.The horizontal and vertical resolutions are 0.01 • and 1.33 • , respectively.Accordingly, each spin provides a dense 3D point cloud containing detailed and useful information for computing the distance to obstacles, as well as their shape and size, as depicted in Figure 3.In addition to distance measurements, the LIDAR device also provides intensity information.Therefore, road lane markings can be detected by analysing intensity variations.It is worth noting that in this work we have used Velodyne-32 as a LIDAR sensor, instead of Velodyne-64 [26] which was available in most of the vehicles involved in the DARPA Urban Challenge [5].The density of point clouds provided by Velodyne-32 is lower than that of the 64 beams version.This poses a clear challenge for early obstacle detection with a view to safe avoidance manoeuvres.To the best of our knowledge, this is one of the first contributions in the context of autonomous navigation that uses this LIDAR sensor.

Control of the vehicle
The control of the vehicle is based on GPS data.Once a GPS signal is received, the control program is triggered.In the first step, all available information from the GPS signal is collected.The RTK-GPS provides latitude (ϕ) and longitude (λ) (which are transformed into UTM North and East coordinates), orientation (Ψ) and velocity (v).As the GPS positioning error has a big impact on the accuracy of the velocity measurements (false spikes), particularly at low speed, the velocity is filtered following equation 1.The same applies to the vehicle orientation (yaw).Thus, the control system compares the current orientation measurement with the last four measurements obtained by the system.The filtering equation formulated in 2 is applied to the orientation measurement whenever an orientation change greater than 50 • degrees is detected.Ackermann steering geometry is used.If we define the vehicle heading at instant t as Ψ t , the vehicle heading at instant t + 1 can be calculated following equations 3 and 4, where v is the linear speed, δ is the wheels angle, and L is the wheel base (distance between front and rear wheels).Wheel angle measurement is given by an encoder attached to the steering wheel column.
where TAD is the so-called Time Ahead Distance.This variable is used to estimate the future state of the vehicle assuming a constant velocity model.The definition of the TAD is discussed in Section 3.1.In order to define the commands to be issued to the accelerator, brake pedal and steering wheel actuators, the following procedure is accomplished.First, the future position of the vehicle is computed by applying equations 5, 6 and 7. ) The future vehicle position is used to compute the lateral error with respect to the desired trajectory.The distance between the future vehicle position and the reference line (D c ), as well as its first derivative, are smoothed up using a filtering formulation similar to equation 1.The inputs for the controller are D c and Ψ c , where Ψ c is the difference between the reference line orientation and the vehicle orientation.In [27], an adaptive PID control is used to generate motion commands based on the vehicle lateral dynamics.In this work, the desired position of the steering wheel is computed using a Proportional-Derivative (PD) controller action on the following variables: D c , its first derivative and Ψ c .The following equations are used: The reference position for the steering wheel low level controller (δ SW ) is a value between −400 and 400.These values are the limits of the steering wheel movement in degrees.
The low level controller sets the voltage applied to the motor that handles the steering wheel, each 40 milliseconds.This value is obtained by means of a fuzzy controller that uses the difference between the current position of the steering wheel and the reference, as well as the current speed of the steering wheel.The fuzzy rules are described in Table 1.The longitudinal control of the vehicle is independent from the lateral control and vice versa.The vehicle speed at t + TAD seconds is computed using a filtered acceleration measurement.That speed is subtracted to the reference speed.The difference and its first derivative are used by the PD controller to determine the increase or decrease needed on the speed signal sent to the accelerator and brake pedal.The PD constants have been manually adjusted to select a quick recovery versus inclination changes (k p ) and a smooth cushioning (k d ).If the value that has to be added or subtracted to the speed signal results in a speed below zero, the brake pump will be activated.If the signal is above zero, only the accelerator will be activated.An output voltage between 0.9 and 6.0 volts will be set in the analogue card and sent to the vehicle motor.

Selection of the Time Ahead Distance
A vehicle is a system with a considerable reaction time.
In order to mitigate this effect, we propose to define the control commands with respect to the future state of the vehicle, instead of the current state of the vehicle, avoiding possible unstable situations.The following hypothesis is assumed to select the distance ahead: the distance and the speed are directly and proportionally related.Accordingly, we have defined the distance as a time.To compute the distance in metres, the reference speed is used instead of the current speed due to possible variations and spikes.In order to select the proper time value, a study has been made in which many passengers with experience in control have been asked about their impression of the vehicle behaviour.A brief summary is shown in Table 2.

Laser-based Obstacle Detection
LIDAR rays impacting on the road create a smooth projection as depicted in Figure 4, but this feature is not valid in the presence of an obstacle.By finding strong distance variations between close points we estimate the position of the object and analyse each layer independently.A first list of layer-clusters is extracted from the cloud of points.In the presence of an obstacle, clusters of different layers are at the same X and Y coordinates, but at a different Z coordinate.For this reason, the layer clusters are matched to each other in order to make groups of clusters which are located very close between them.In addition, some restrictions are applied to clusters such as minimum and maximum size or minimum number of points.The group composed by three or more different layers is labelled as an obstacle and an identification number is assigned for obstacle tracking.In the obstacle tracking stage, one counter is increased when the obstacle is detected and another one is incremented when the obstacle is not detected.On the one hand, those obstacles that are lost during more than five consecutive iterations are removed from the list.On the other hand, obstacles detected more than five consecutive times are considered in the path-planning stage.The data association problem is solved by using the Euclidean distance between different cluster centroids.
The proposed obstacle detection stage does not allow distinguishing between different types of objects (pedestrians, poles, vehicles, etc.) since it has been conceived for generic obstacle detection.In our case, it is not particularly relevant to know the type of object that appears in the micro-bus trajectory, since it represents a real 3D obstacle that has to be avoided.
The most important variable is the relative location of the obstacle with respect to the pre-defined trajectory and current position of the micro-bus.The system can handle obstacles that are not in the vehicle path, such as lampposts or pedestrians on the pavements, by merging the global position of the host vehicle and the relative position of the detected obstacles.Note that this procedure is limited by the accuracy of both measurements, and some false positives can arise if they are very close to the road.In such cases, if the path planner is not able to provide a safety avoidance route, the vehicle will stop.

Path Planner
In the path-planning stage, trajectory and obstacles are managed in GPS latitude and longitude coordinates, therefore the global position of the obstacle has to be calculated every time an obstacle is detected.A scheme of the geometric transformations applied for global position estimation is depicted in Figure 5.The waypoints that compose the trajectory, as well as the limits of the road, are shown in Figure 6.The trajectory is composed by a list of waypoints (pairs of latitude and longitude).It is not necessary to calculate a smooth path in the path-planning because the control stage makes it smooth by adjusting the controller parameters.

Speed (km/h) TAD (s) General impression
Behaviour on turns The oscillations soften with time, but the impression is not acceptable for the passenger.Not suitable for control.
Table 2. Impressions of the autonomous vehicle passengers during the study for selecting the time ahead distance.The safety area is defined as the lateral space the vehicle needs to avoid a collision with an object.That distance is the addition of vehicle width, 0.5 metres on the left and 0.5 metres on the right.If there are one or more obstacles in the safety area, the trajectory needs to be re-calculated for obstacle avoidance.Free space on the left and right sides from the obstacle to road limits are calculated and the location of the bigger one is the side the vehicle is going use to avoid the object.If free space is not enough for driving safely, the vehicle will stop.
When an obstacle is detected in the safety area, a new trajectory has to be calculated to avoid an accident.As depicted in Figure 6, the new trajectory is composed of two new points located near the obstacle but in a parallel trajectory to the original route.In order to guarantee the safety of the avoidance manoeuvres during the experiments, which was critical due to the number of passengers inside the micro-bus, the system was strictly designed to avoid static obstacles or at least obstacles moving at low speeds (such as pedestrians walking).The avoidance of dynamic obstacles, which needs to introduce future position estimation techniques and adaptive avoidance trajectories generation, is an interesting research topic.However, it is out of the scope of this paper and is considered as future research work.

Results
All the results presented in this paper are based on data collected during a demonstration in the IEEE Intelligent Vehicles Symposium 2012.The demonstration consisted of an electric autonomous mini-bus driving along a 725 metres long route avoiding obstacles (see Figure 7).The vehicle has capacity for 14 people and 28 laps of the route were completed in autonomous mode, driving a total of 196 people along 20.3 km in autonomous mode.
Obstacle estimation is calculated as described in section 4. The estimation of the obstacle positions is depicted in Figure 8. Blue dots represent the obstacle estimation and the red dot represents the real position.Obstacle errors greater than 0.5 metres are a consequence of orientation errors.When the vehicle is turning, an error in the orientation estimation causes an error in the obstacle location.The mean error is 0.49 metres and the error is less than 1 metre in 86% of cases.This error could be reduced by using an Inertial Measurement Unit with integrated compass and the GPS signal, avoiding false positives in  turns [28].The computational load of the detection stage, without optimization nor parallel processing and using an Intel Core i5 processor with 4GB of RAM and Linux OS, would allow us to run the system at 30Hz.However, obstacle detection sampling frequency is limited by the LIDAR sampling frequency (10Hz).
To finish the set up of the vehicle controller, the impressions of the passengers (some of the passengers and the research group members) about the behaviour of the vehicle were collected.They are summarized on Table 2. To match the passenger feelings with the data recorded by the vehicles, the steering wheel output has been selected.The movement of the steering wheel determines the smoothness of the controller.
In Figure 9(a), the steering wheel position orders for a given curve are seen through the time at 10 km/h.The predicted trajectory of the vehicle in and out of the curve is seen in Figure 9(b).The higher the time in advance, the better the vehicle starts reacting to the curve, but the more slowly it converges to the reference lines in the straight line sections.Also the higher the time in advance, the bigger the position estimation error.To consider both phenomena, a compromise solution must be taken.In this case, 2 seconds (5.55m) was selected as time in advance for a speed of 10 km/h.
In Figures 9(c) and 9(d) the same effect is seen.In this case the time selected for 15 km/h was 1.6 seconds (6.66m).
As the speed increases, the optimal distance (in time) to look ahead is reduced, however, the distance (in metres) is increased.The error of the predicted positions increases significantly with the distance, so the proportion between the speed and the distance is below 1.
The behaviour of the navigation system of the vehicle is based on GPS positions.Path-planning locations and controller references are basically GPS positions.Accordingly, the accuracy of the GPS measurements plays a key role in the system performance.An error in both the vehicle localization or orientation would be the cause of an unsafe situation.For that reason we use a RTK-GPS with centimetric precision.The use of other sensors, such as IMU sensors, would increase both the accuracy and the reliability of the localization.Other components related with the system behaviour are TAD, speed and the adjustment of the fuzzy controller.As described in Table 2, the values of the TAD that provide the most comfortable behaviour are 2 seconds and 1.6 seconds for 10 and 15 km/h respectively.Note that the reference speed, as well as the waypoints, are manually defined after several trials.On the one hand, the speed at narrow curves oscillates between 6-8 km/h.On the other hand, at straight parts of the track, the speed is set to 15 km/h.

Conclusions and Future Work
A real experiment is presented in this paper.
The demonstration consisted of a 725 metres long route composed by a list of latitude-longitude points (waypoints).The mini-bus is capable of driving from one waypoint to another using a GPS sensor.Furthermore, the vehicle is provided with a multi-beam LIDAR sensor for surrounding reconstruction and obstacle detection.When an obstacle is detected in the planned path, the previous route is modified in order to avoid the obstacle in a safe way and to resume the mission until the final destination.On the demonstration day, a total of 196 people used the vehicle completing 28 laps in autonomous mode on a private circuit (a total of 20.3 km performing driverless obstacle avoidance manoeuvres).The average error of obstacle location was 49 centimetres.The error in obstacle location was caused by an error in the vehicle orientation measurement.Therefore, an IMU will be integrated in the short-term for vehicle orientation correction.In the experiments, a static obstacle was placed on the path of the vehicle.In future works, dynamic obstacles will be tested in order to improve the obstacle detection module and to provide the vehicle with the capacity to detect and avoid oncoming traffic.
. The Masdar PRT began service in 2010 providing the link to the Masdar Institute of Science and Technology by 13 vehicles driving up to 40 km/h.The system, which is open 24 hours, seven days per week, has peaks of 500 passengers per hour.The last driverless fleet began operating in 2011 at London Heathrow Airport [16].The system consists of 21 vehicles for four people each.They are powered by batteries running on an exclusive 4 km guide way, linking one station in Terminal 5 to two remote stations in the business car park.The system was opened in April 2011.By the end of November it had operated for a total of 4,595 hours, carrying over 200,000 passengers.This real application is part of the CityMobil European Project[17].

Figure 1 .
Figure 1.The drive-by-wire electric vehicle used in this experiment has capacity for 14 people.It is equipped with GPS and a multi-beam LIDAR for localization and environment recognition respectively.

Figure 2 .
Figure 2. Velodyne data is processed on a laptop for obstacle detection.Current GPS position is sent from the vehicle computer to the laptop so that the GPS position of obstacles can be computed.Road limits, waypoints and path-planning are also processed on the laptop.The next waypoints are sent to the vehicle computer.The tasks executed on the vehicle computer are the following: reading of RTK-GPS position, communication with base station, TAD computation, and vehicle control in order to reach the target waypoint.

Figure 3 .
Figure 3. Representation of a 3D point cloud provided by the LIDAR sensor (Velodyne-32).Obstacle shape, distance and size can be estimated and used as input to the path-planning and obstacle avoidance modules.

Figure 4 .
Figure 4. Representation of three LIDAR layers in the presence of an obstacle.The continuous smooth projection of LIDAR measurements is broken in presence of an obstacle.

Figure 5 .
Figure 5. Two geometric transformations (rotation, translation) are calculated: the first one to convert from vehicle GPS position (A) to vehicle LIDAR position in UTM coordinates (B).When UTM coordinates of LIDAR position are calculated, a second transformation converts from LIDAR local coordinates to global UTM coordinates (C).

Figure 6 .
Figure 6.New points are added to the previous route close to the obstacle but shifted from the original path.The lateral distance of the new points to the obstacle is 0.6W, where W is the free space between the obstacle and the limit of the road.The location of the waypoints along the new parallel line is 3 metres before and 3 metres after the obstacle.

Figure 7 .
Figure 7. Trajectory is composed by a list of latitude and longitude coordinates points and speed.The autonomous mini-bus drives to the desired position at a pre-defined speed.When the destination is reached, a new waypoint is sent to the controller module.The obstacle used was a fixed dummy.

Figure 8 .
Figure 8. Blue dots represent obstacle location estimation during the real tests and the red dot represents the real position of the obstacle.The mean error is 49 centimetres and a circular grid of 0.5 metres is displayed around the obstacle to show the error of each estimation.

Figure 9 .
Figure 9. On left side, steering wheel goal positions over time in a curve at (a) 10 km/h and (c) 15 km/h.On right side, UTM coordinates predicted for the given curve at (b) 10 km/h and (d) 15 km/h.

Table 1 .
Fuzzy rules for the low level controller of the steering wheel.