Lei Feng'e göre: Yazarın Klibi, Otomobil Endüstrisinde Kıdemli Uygulayıcı, WeChat Resmi Hesabı Robotikçiler. Bu makale, "Size sürücüsüz bir araba yapmayı öğretin" dizisinin ikincisidir.
Otonom sürüş bir yazılım problemidir
Geçtiğimiz iki yıl içinde, birçok otomobil şirketi, ister Almanya'da ilk üç, ister Amerika Birleşik Devletleri'nde GM, Japonya'da Ryoda ve çeşitli yerli şirketler olsun, otonom sürüş yapmaya başladı. Otomobil şirketlerinin geleneksel düşünce tarzında istisnasız, otonom sürüş ACC, AEB, LKA, PPS, TSR ... bu fonksiyon serisinden oluşmalıdır. Dolayısıyla otomobil firmaları şöyle diyecek: Bu fonksiyonlara ihtiyaç duyduğumuz için araca ön milimetre dalga radarı, Mobileye kamera ve ultrasonik sensör kurmamız gerekiyor ... Yani araba firmalarının fikirlerine göre, Bu sensörler ve kontrolörleri ile ACC, AEB, LKA, PPS, TSR fonksiyonları tamamlanabilir ve otomatik sürüş tamamlanabilir.
Gerçekten öyle mi?
Ayrıca Google, Baidu ve bazı sürücüsüz girişimler de dahil olmak üzere diğer tarafta bu sensörleri ve bunlara karşılık gelen işlevleri vurgulamadığını, sadece her şeyi açıklayan bir video olduğunu görüyoruz: sürücü videoda ellerini havaya kaldırıyor , Herkese bunun Seviye 4 sürücüsüz bir sistem olduğunu söyleyin. Aynı zamanda bu arabanın sürüş zekasının insanlara benzediğini de gösteriyor. Kullanıcıların ACC, AEB, LKA, PPS, TSR yapıp yapamayacağına aldırış etmeleri gerekmez ve gerekmez ... çünkü bu işlevler sürücüsüz arabalar için çok basittir - tıpkı sizin sahip olduğunuz gibi Akıllı telefon WeChat'i gönderip gönderemeyeceğini sormaz. Level4 insansız sürüş için bu tamamen bir yazılım problemidir ve donanımdaki fark ihmal edilebilir düzeydedir.
İnsansız sürüş için yazılım çözümleri
Bu yıl 3 Nisan'da George Hotz tarafından kurulan comma.ai, düşük maliyetli sürücüsüz kitler geliştirmek için Silikon Vadisi girişim sermayesi Andreessen Horowitz'den 3,1 milyon dolarlık tohum turu yatırımı aldı. Yazar, yatırımcıları çeken şeyin bir önceki makalede anlatılan donanım platformu değil, George Hotz yazılımı olduğuna inanıyor. Andreessen Horowitz'in A16z ana sayfasında yazdığı gibi: Yazılım Dünyayı Yiyor, yazılım dünyayı yiyor. İnsansız sürüş teknolojisinin özü yazılım teknolojisinde yatmaktadır.Hackerlar tarafından oluşturulan bir yazılım sistemi doğal olarak farklıdır.
Sürücüsüz araçlar için açık kaynaklı mimari
Web siteleri oluşturmak için LAMP (Linux, Apache, MySQL, PHP) kullanıldığı gibi, sürücüsüz arabalar da bir yazılım mimarisine ihtiyaç duyar. Öğrendiğim bilgilerden George Hotz, Ubuntu + Python tabanlı kendi yazılım çerçevesini kullanmalı. Bu çerçevenin avantajı, geliştirme açısından esnek olması ve derin öğrenme yazılım kitaplıkları ile iyi entegre edilebilmesidir (Caffe'nin python'da geliştirildiğini biliyoruz ve bununla ilgili sonraki makaleler ayrıntılı olarak açıklanacaktır). Hacker George Hotz'un yazılımı gizemli ve gelişmiş olduğu için sıradan insanlar sürücüsüz araçlar için yazılım geliştirmek istiyorlarsa ne yapmalıdır? İyi haber şu ki bu çerçeve için açık kaynak seçenekleri var.Sıradan geliştiriciler için bu sistem ilk araştırma ve geliştirme için tamamen yeterli: topluluk desteğine sahip, çok sayıda kullanıcı, birçok açık kaynaklı algoritma çağrılabilir ve pahalı geliştirmeye gerek yok Platform kullanım için ödeme yapar.
Yazar tarafından sağlanan sürücüsüz yazılım çözümü ayrıca işletim sistemi olarak Ubuntu, yazılım ara yazılımı olarak ROS (Robot İşletim Sistemi) ve görsel hata ayıklama için ROS ile birlikte gelen RVIZ'i kullanır.
Hata ayıklama arayüzünü hissedelim:
ROS'un Avantajları
(ROS başlangıçta PR2 robotunu kontrol etmek için geliştirildi)
ROS'un çok güçlü bir topluluğu vardır ve akademideki birçok proje, algoritmalarını yayınlamak için bir platform olarak ROS'u kullanır. Denemeye değer birçok ilginç paket var. ROS, temelde "Uygulamalı (1)" de bahsettiğimiz tüm sensör sürücülerinin yanı sıra hata ayıklama sırasında gerçek zamanlı verileri görüntülemek için kullanılan RVIZ modülüne ve veri günlüğünü kaydetmek için modüle sahiptir. ROS'un en büyük avantajı, çeşitli algoritmaların sorunsuz bir şekilde birlikte çalışmasına izin veren, robotik gereksinimlerini karşılayan standart bir veri iletişim formatı tanımlamasıdır. Sensör sürüşünden görüntü tanımaya, haritalar oluşturmak için LiDAR veri eklemeye, sensör füzyonuna, yörünge oluşturmaya, araç kontrolüne. ROS, bakımı iyi olan ve her açıdan yapılandırması kolay açık kaynaklı bileşenlere sahiptir. ROS sistemine aşina olduğumuzda, hızlı bir şekilde basit bir insansız sürüş sistemi oluşturabiliriz.
ROS'un dezavantajları
Tabii ki, ROS'un çok doğrudan kusurları var. Bir kontrol sistemi olarak, standart Ubuntu'ya dayalı ROS'un güvenilir bir sistem değil, yalnızca kullanışlı bir sistem olduğu söylenebilir. İletişiminde genellikle paket kaybı ve kararsız gecikme vardır. Bu nedenle, tüm sistem kontrol için ROS kullanır, tüm kontrol döngüsünü iyileştirmek zordur ve kararlılık yetersizdir. Tabii ki Hitachi ve BMW gibi birçok araştırma kurumunun otonom sürüş araştırmalarında ROS'un fizibilitesi üzerine araştırma yaptığını da gördük. ROS, ancak sistemin belirli bir optimizasyonundan ve programın iletişiminin ve çalışma yükünün eşiği aşmamasını sağladıktan sonra kontrol sisteminin ara yazılımı olarak kullanılabilir.
Neden ROS'u seçmelisiniz
Bu makalenin başında belirtildiği gibi, otonom sürüş bir yazılım problemidir. Temel sorun, birbiri ardına algoritmalardır. ROS, sistemdeki çok fazla "soruna" odaklanmak zorunda kalmadan algoritmalara odaklanmamızı sağlar. ROS'un uygun veri arayüzü ve çoktan çoğa iletişim yöntemi, modüller arasındaki ayrıştırmayı çok yeterli hale getirir, böylece sistemi, sistem tasarımının başlangıcında birkaç bağımsız modüle tamamen bölebilir ve gerçekleştirebiliriz. Bağımsız gelişme. Bu arada, sürücüsüz arabaları kontrol etmek için ROS'u ilk kullanan, DARPA Challenge'a katılan Stanford Üniversitesi oldu.
sonuç olarak
Şimdiye kadar, kendi kendine giden arabalarla ilgilenen araştırmacıların ROS'u kurabileceğini, ROS'un zengin yazılım paketlerine göz atabileceğini ve öğreticide kaplumbağa robotunu çalıştırabileceğini umuyorum.
Söylemeye gerek yok, sürücüsüz otomobillerin geliştirilmesine büyük bir adım daha yaklaştınız.
Not: ACC (Uyarlanabilir Hız Kontrolü)
AEB (Otonom Acil Durum Freni)
LKA (Şeritte Kalma Yardımı)
PPS (Yaya Koruma Sistemi)
TSR (Trafik İşareti Tanıma)