Boşluğu takip et metodu ile otonom sollama manevrası tasarımı
Autonomous overtaking maneuver design based on follow the gap method
Yazar: MÜNİRE DAMLA DEMİR
Danışman: DOÇ. DR. VOLKAN SEZER
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Mekatronik Mühendisliği Ana Bilim Dalı / Mekatronik Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Mekatronik Mühendisliği = Mechatronics Engineering
Dizin: Otonom sistemler = Autonomous systems

Özet:
Otomotiv endüstrisi, hızla gelişen ve her gün yeni akımların ortaya çıktığı bir sektördür. Bu yeni akımlar tam otonom sürüşü ön plana çıkaracak gelişmelerdir. Aslında otonom sürüş ilk kez 1920'lerde düşünülmüştür. 1939 yılında da General Motors şirketi New York Dünya Fuarı'nda sürücüsüz tasarım fikrini ilk kez sunmuştur. Daha sonra 1958'de ilk prototiplerini üretmiş, kendi kendine sürüş yapabilecek bir araç geliştirmişlerdir. Bu araç günlük hayatta kullanıma uygun olmamasına rağmen otonom aracın ilk adımı olarak kabul edilir. 20 yıl sonra, japon bilim adamları iki adet kamera ile aracı kontrol ederek otonom araç için önemli bir adım atmışlardır.
2000'li yıllara geldiğimizde ise otonom araçlar arasında yarış başladı. İlk olarak 2004 yılında DARPA, 1 milyon dolar ödüllü bir yarış başlattı. 10 saatte 142 millik rotayı gidebilecek olan bir otonom araç arıyordu. Yarışa 15 araç katıldı, ancak en iyi araç sadece 7 mil yol alabildi. Bir sonraki yıl ise buna benzer bir yarışma yapıldı. Bu kez geçilmesi gereken 100 tünel, 100'den fazla dönüş ve sarp kayalıklar ile 132 millik bir rota söz konusuydu. Ödül ise 2 milyon dolara çıkarıldı. Stanford Üniversitesinde bir ekip tarafından geliştirilen sürücüsüz bir Volkswagen, 7 saatin altında bu zorlu parkuru tamamlamayı başardı.
Bugün birçok araçta tam otonom olmasa da yarı otonom olarak kabul edilebilecek bir sürü fonksiyon bulunmaktadır. Park sistemleri, şerit takip sistemleri, acil durum frenleme sistemleri gibi fonksiyonlar günümüzde yollarda gördüğümüz birçok araçta bulunmaktadır. Özellikle acil durum frenleme sistemleri, hayat kurtarıcı rol oynayabilmektedir.

Her yıl dünyada yaklaşık 1.2 milyon insan trafik kazası nedeniyle hayatını kaybetmektedir. 50 milyon civarı insan ya trafik kazasından dolayı yaralanmaktadır ya da trafik kazası bu insanlarda kalıcı hasar bırakmaktadır. Trafik kazasında zarar gören insanların çoğu yaya, motosiklet kullanıcı veya bisiklet kullanıcısıdır. Bu da gösteriyor ki, otomobil sürücülerinin hataları, diğer insanlara zarar vermektedir. Bu kazalar sürücülerin dikkatsizliklerinden kaynaklanmaktadır \cite{who}.

Otonom sürüş için geliştirilen fonksiyonlarda, vurgulanması gereken çok önemli iki nokta vardır. Birincisi, sürücü dikkatsizliğine nedeniyle insan hayatını tehdit edecek durumlar azaltılmalıdır. ikincisi ise otonom sürüş algoritması insan hayatını riske sokacak herhangi bir karar vermemelidir.
Bu tezde, otonom sürüş için çok önemli olan sollama manevrası problemi için otonom sollama manevra algoritması tasarlanmıştır. Bu şekilde,sollama manevrası sırasında herhangi bir kaza olmadan, kolay ve güvenli bir şekilde sollama manevrası sağlamak amaçlanmaktadır. Bu otonom sollama manevra algoritması, sollama manevrasını başarıyla gerçekleştirmeye odaklanır, sollama manevrası sırasında da bir yaya ve sürücüye zarar vermemesi istenir. 
Sıradan bir sürücü yolu takip etmek için sadece direksiyon, gaz ve freni kontrol eder ve aracın hızını düşünmeden ayarlar. Yine de, sollama manevrası problemi, literatürden de görüleceği gibi, yıllardır araştırılmaktadır. Çünkü otonom sürüş fonksiyonu derinlemesine analiz edilirse, birçok disiplinin ve konuların iş birliğinin gerektiği görülmektedir. Örnekleyecek olursak, bu disiplin ve konular; sensör teknolojileri, konum bulma ve haritalama teknolojileri, görüntü işleme algoritmaları, karar verme ve yol oluşturma algoritmaları, araç kontrol teorileri ve otomotiv mühendisliği gibi sıralanabilir.

Otonom sollama problemi, üç ayrı fazla incelenmektedir. Bu fazlar, şerit değiştirme fazı, geçme fazı ve birleşme fazı olarak adlandırılırlar. Şerit değiştirme fazı aktör araç bile ego araç arasında belli bir hız farkı olduğunda, geçilecek şerit güvenli ise gerçekleştirilecek bir eylemdir. Şerit değiştirme fazında sürücü, aktör araç ile arasındaki mesafeyi korumalıdır. Aynı zamanda, şerit değiştireceği şeritteki güvenlikten emin olmalıdır. Otonom sollama manevrasının başlaması için, belli koşulların gerçekleşmiş olması gerekmektedir. Bu koşullardan bir tanesi geçilecek şeridin güvenliğidir. Bu tezdeki otonom sollama manevrasında geçilecek şerit her zaman güvenli kabul edildi. Öteki koşul ise, ego araç aktör aracın arkasında olmalı ve hızının daha yüksek olması gerekmektedir. Bu tezde, bu hız farkına bağlı olarak azalıp belli bir süre sonra çarpışma olacağı anlaşıldığında otonom şerit değiştirme manevrası başlamaktadır. Şerit değiştirme fazı, geçilecek şeridin orta noktasına gelindiğinde tamamlanmaktadır. 

İkinci faz geçme fazıdır. Bu fazda ego araç sollama şeridine geçmiştir ve aktör araçla boylamsal düzlemde birbirlerine çok yakındırlar. Bu fazdaki aksiyon, ego aracın aktör aracı geçene kadar şerit takibi yapmasıdır. Bu faz, ego araç aktör aracın belli bir mesafe önüne geçene kadar devam eder. Ego araç ile aktör araç yatak düzlemde farklı şerittelerdir. Boylamsal düzlemde ise ego araç aktör aracın belli bir mesafe önüne geçtiğinde geçme fazı tamamlanır. 

Otonom sollama manevrasındaki son faz birleşme fazıdır. Bu fazda ego araç sollama şeridinden çıkıp aktör aracın önüne gelecek şekilde eski şeridine dönecektir. Sürücünün sollamayı tamamlarken, eski şeridindeki aracın iyi gözlemlemesi gerekmektedir. Önüne geçeceği aktör araç ile çarpışmaması için mesafeyi iyi ayarlamalıdır. Otonom sollama manevrasında, geçme fazı tamamlandığında ego araç aktör aracın belli mesafe önündedir. Eğer hala bu mesafeyi korumuş ise, birleşme fazı başlar. Birleşme fazı, ego araç ile aktör araç aynı şeritte olup, ego araç aktör aracın belli bir mesafe önüne geldiğinde sonlanır.

Bu tezde bu tasarım, iki ayrı yaklaşımla gerçeklenmektedir. Bu yaklaşımlardan bir tanesi çarpışma önleme fonksiyonun yola odaklanması ve engelden kaçması üzerine, doğal olarak sollama manevrasının ortaya çıkmasıdır.
Engelden kaçma algoritması otonom sollama manevrasını şerit değiştirme fazına uygulanırken, aracın sol arka köşesinin bir engel, ona şerit çizgisinde karşılık gelen nokta ikinci engel olarak kabul edilir. Sollama şeridinin tam ortası ise hedef noktası olarak kabul edilir. Buna göre engelden kaçma algoritması şerit değiştirme fazı başarılı bir şekilde tamamlamış olur. Geçme fazında şerit takibi yapması gerektiğinden, aktör aracın sol ön köşesinden belli bir mesafe ötesi bir engel ona karşılık gelen sol şerit çizgiside öteki engel olarak kabul edilir. Hedef noktası sollama şeridinin orta noktası kabul edilip, ego araçtan belli bir mesafe ötede kabul edilerek uygun direksiyon açısı bulunur. Geçme fazını da tanımlanmış engellerden kaçarak tamamlamış olur. Birleşme fazında engel olarak, aktör aracın sol ön köşesinin belli bir mesafe ötesi birinci engel, o noktanın yatak eksen pozisyonu ile, sol şeridin o yata eksen pozisyonundaki noktası bulunarak ikinci engel olarak kabul edilir. Hedef noktası aktör aracın belli bir mesafe ötesi kabul edildi. Aktör araç zaten eski şeridin orta noktasından gittiği varsayıldığından, otonom sollama manevrasının birleşme fazı eski şeridin orta noktasında ve aktör aracın belli bir mesafe ötesinde tamamlanmış olur. Diğer yaklaşım ise, X-sin fonksiyonu ile sollama manevrasının planlaması yapılmaktadır. Planlanan manevra Stanley metodu ile kontrol edilmektedir. Sollamaya karar verildiğinde, şerit değiştirme fazı başlar. Sollama şeridinin orta noktasına gelecek şekilde x-sin fonksiyonu yol planlalar. Bu yol stanley kontrolcü ile takip edilir. Böylece sollama şeridine geçilmiş oldu. Geçme fazında, aktör aracın belli bir mesafe önüne gelene kadar X-sin fonksiyonu tarafından şerit takip yapacak yol planlanır ve Stanley kontrolcüsü ile yolun takibi yapılır. Geçme fazı bittikten sonra, birleşme fazı başlar. Aktör aracın belli bir mesafe önüne geçilmişse artık eski şeridin orta noktasına doğru aktör aracın belli bir mesafe ötesi hedef noktası olacak şekilde X-sin fonksiyonu tarafından yol planlanır. Stanley kontrolcüsü ile bu yol takip edildiğinde otonom sollama manevrası ise klasik yaklaşım için tamamlanmış olur.

Abstract:
The automotive industry is a sector that is rapidly developing and new trends are emerging every day. These new trends are developments that will bring full autonomous driving to the fore. In fact, autonomous driving was first thought in the 1920s. In 1939, General Motors presented the idea of driver-less design for the first time at the New York World's Fair. Then, in 1958, they produced their first prototypes and developed a vehicle that can perform self-driving. Although this car is not suitable for daily life, it is considered as the first step of the autonomous vehicle. 20 years later, Japanese scientists took an important step for the autonomous vehicle by controlling the vehicle with two cameras.
By the 2000s, competition between autonomous vehicles was started. First in 2004, DARPA launched a \$1 million contest. He was looking for an autonomous vehicle that could travel the 142-mile route in 10 hours. 15 vehicles participated in the race, but the best vehicle was only 7 miles. The next year, a similar contest was held. This time there were 100 tunnels, more than 100 turns and steep cliffs and 132 miles. The prize was raised to \$2 million. A driver-less Volkswagen, developed by a team at Stanford University, managed to complete this challenging track in under 7 hours.
Although there is no commercial fully autonomous level-5 autonomous vehicles now, there are many functions that can be considered semi-autonomous. Parking systems, lane tracking systems, emergency braking systems are nowadays in many vehicles we see on the road. In particular, emergency braking systems can play a life-saving role.

Approximately 1.2 million people die every year in the world due to traffic accidents. Around 50 million people are either injured due to traffic accidents or traffic accidents cause permanent damage to these people. Most people who are injured in a traffic accident are pedestrians, motorcyclists or cyclists. This shows that the faulty driving of automobile drivers are damaging to other people. These accidents are caused by careless driving \cite{who}.

For functions developed for autonomous driving, there are two very important points to emphasize. First, it should reduce the situation that threatens human life due to driver carelessness, and second, the autonomous driving algorithm should not make any decisions that would put human life at risk.
In this thesis, autonomous overtaking motion algorithm is designed for the problem of overtaking maneuver which is very important for autonomous driving. In this way, it is intended to provide an easy and safe overtaking maneuver without any accidents during the overtaking maneuver. This autonomous overtaking maneuver algorithm focuses on successful overtaking maneuver, also during the overtaking maneuver it is desirable not to damage a pedestrian and driver. Automated driving requires deep understanding and cooperation of many different disciplines and topics, such as sensor technologies, localization and mapping technologies, estimation and fusion algorithms, image processing algorithms, decision making and trajectory generation algorithms, vehicle controls theory and automotive engineering An ordinary driver just steers the steering wheel and apply brake or gas pedal to follow the lane and adjust the speed of the vehicle even without thinking. Nevertheless, this overtaking maneuver problem is under research for years as can be observed from the literature.

The autonomous overtaking problem is studied in three separate phases. These phases are called the lane change phase, the transition phase and the junction phase. The lane change phase is an action to be taken if the lane to be passed is safe, even when the actor vehicle has a certain speed difference between the ego vehicle. In the lane change phase, the driver must maintain the distance from the actor to the vehicle. At the same time, the lane should be sure of the security in the lane it will change. Certain conditions must be met for the autonomous overtaking maneuver to begin. One of these conditions is the safety of the lane to be crossed. In the autonomous overtaking maneuver in this thesis, the lane to be crossed was always considered safe. The other condition is that the ego vehicle must be behind the actor vehicle and the speed should be higher. In this thesis, the autonomous lane change maneuver starts when it is understood that this speed difference will decrease and collision will occur after a certain period of time.

The second phase is the passing phase. This excess ego vehicle has passed to the overtaking lane and the actor and the vehicle are very close to each other in the longitudinal plane. The action in this phase is that the ego vehicle tracks the lane until the actor vehicle passes. This phase continues until the ego vehicle passes a certain distance from the actor vehicle. Ego vehicle with actor car are in different lane in bed plane. In the longitudinal plane, the engagement phase is completed when the ego vehicle passes the actor vehicle a certain distance.

The last phase in the autonomous overtaking maneuver is the coupling phase. In this phase, the ego vehicle will leave the overtaking lane and the actor will return to the old lane in front of the vehicle. When completing the overtaking of the driver, the vehicle on the old lane should observe well. The actor in front of the vehicle must be well-adjusted to avoid collision with the vehicle. In the autonomous overtaking maneuver, the ego vehicle is at a certain distance from the actor vehicle when the engagement phase is completed. If it still maintains this distance, the coupling phase begins. The merging phase ends when the ego vehicle and the actor vehicle are in the same lane, when the ego vehicle is within a certain distance of the actor vehicle.

In this thesis, this design is realized with two different approaches. One of these approaches is that the overtaking maneuver naturally occurs when the collision prevention function focuses on the road and avoids the obstacle.
While the obstacle avoidance algorithm applies the autonomous overtaking maneuver to the lane change phase, an obstacle of the vehicle's left rear corner is considered to be the second obstacle to the corresponding point in the lane line. The center of the overtaking lane is considered the target point. Accordingly, the obstacle avoidance algorithm completes the lane change phase successfully. Since the lane must be tracked during the engagement phase, the actor is considered to be an obstacle beyond a distance from the left front corner of the vehicle and the corresponding left lane line. The target point is assumed to be the midpoint of the overtaking lane and the ego is located a distance away from the vehicle, providing the appropriate steering angle. It completes the passing phase by avoiding the defined obstacles. As an obstacle in the coupling phase, the first obstacle beyond a certain distance of the left front corner of the actor vehicle is considered to be the second obstacle with the bearing axis position of that point and the point of the left lane at the axis position to that yacht. The target point actor was considered a certain distance from the vehicle. Since the actor vehicle is presumed to have already gone from the midpoint of the old lane, the junction phase of the autonomous overtaking maneuver is completed at the midpoint of the old lane and beyond a certain distance of the actor vehicle. The other approach is the planning of overtaking maneuver with X-sin function. The planned maneuver is controlled by the Stanley method. When overtaking is decided, the lane change phase starts. The x-sin function plans the path to the midpoint of the overtaking lane. This path is followed by stanley controller. Thus, the overtaking lane was passed. In the pass phase, the lane is planned by the X-sin function until the actor comes to a certain distance of the vehicle and the track is followed with the Stanley controller. After the engagement phase is finished, the coupling phase starts. If a certain distance of the actor vehicle is prevented, the X-sin function will then plan the path towards the midpoint of the old lane so that the actor vehicle is a certain cross-distance target point. Following this path with the Stanley controller, the autonomous overtaking maneuver is completed for the classical approach.