Bu ayrıntılı bir Apollo otonom sürüş platformu başlangıç kılavuzudur

Baidu, Apollo otonom platformunun açılışını duyurduğundan bu yana, birçok geliştirici, bu kendi kendine sürüş platformunu daha eksiksiz ve verimli kullanmak, araştırmak ve otonom sürüşle ilgili birçok fikrini uygulamak için Apollo platformunun açık içeriğini daha derinlemesine anlamayı dört gözle bekliyor.

Bu amaçla, 22 Temmuz'da Baidu Geliştirici Merkezi'nin ev sahipliğinde ve Geekbang Technology'nin üstlendiği 73. Baidu Teknoloji Salonu Apollo temasını belirledi. Yerinde Baidu kıdemli mimarları Apollo'nun açık yeteneklerinden, Apollo kod açık çerçevesinden ve derin öğrenmeye dayalı Geliştiricilerin Baidu Apollo'nun açık içeriğini ve platform mimarisini anlamasına ve eksiksiz bir sürüş çözümü tasarlayıp uygulamasına yardımcı olmak için Uçtan Uca otopilot çözümünün üç teknik boyutu derinlemesine paylaşıldı.

Apollo'nun açık yetenekleri ve açık verileri

Baidu kıdemli veri platformu uzmanı Yang Fan bir açılış konuşması yaptı ve şunları söyledi: "Apollo açık içeriği temelde iki bölüme ayrılmıştır: yetenek açıklığı ve kaynak açıklığı. Yetenek açıklığı, geliştiricilere araçlarda otonom sürüşü gerçekleştirmeleri için bir platform sağlar ve geliştiricilere açık kaynaklar sağlar. Algoritma evrimi platformunu keşfederken, ikisi birbirini tamamlıyor ve vazgeçilmezdir. "

Apollo'nun açıklığı

Apollo1.0, esas olarak kapalı alan izleme otomatik sürüş çerçevesini açar. Yukarıdan aşağıya servis katmanı, yazılım platformu katmanı, referans donanım katmanı ve referans araba katmanı vardır. Mavi kısım özel açık modüldür. Her seviyenin belirli işlevleri aşağıdaki gibidir

  • Araba katmanına bakın: elektronik kontrol, yani kablolu kontrollü arabaları elde etmek için bu alt adımdır;

  • Referans donanım katmanı: bilgi işlem birimi, GPS / IMU, HMI Cihazı, vb. Dahil olmak üzere bilgi işlem yeteneklerini gerçekleştirmek;

  • Yazılım platformu katmanı: 3 parçaya bölünmüş en temel katman. 1. Gerçek zamanlı RTOS sistemi gerçek zamanlı yanıt gerektirir; 2. Çalışma zamanı çerçevesi; 3. Konumlandırma modülü ve kontrol modülü ve HMI insan-bilgisayar etkileşim modülü. Bu üç parça, bu periyotta açık olan kapalı alan takip otopilot yazılım sistemini oluşturur;

  • Bulut hizmet katmanı: Bulut hizmeti katmanındaki her şeyi uyandıran veri açık platformunu ve DuerOS'u açın.

Yukarıdaki dört katman, Baidu Apollo'nun otonom sürüş platformunun tüm teknoloji yığınını oluşturuyor. Şu anda açık olan Apollo1.0'ın dört ana özelliği vardır: verimli ve genişletmesi kolay bir mimari, hemen kullanılabilen donanım, tek anahtar başlangıç güncellemeleri ve eksiksiz geliştirme araçları.

Apollo'nun açık kaynakları

Apollo1.0, kaynaklarda üç temel veri seti açar: 2D trafik ışıkları, 3D engeller ve Road Hacker'lar. Baidu, bu üç veri parçasını buluta açar, böylece kullanıcılar bunları verimli bir şekilde araştırabilir ve kullanabilir. Aşağıdaki şekil Apollo veri açık platformunun mimari mantığını göstermektedir.

Şekilde gösterildiği gibi, kullanıcılar bulut Docker Repository aracılığıyla yerel bir VM + Docker tabanlı geliştirme ortamını indirir, eğitim ve tahmin algoritmaları yazar ve bağımlı ortamı yapılandırır. Bulut kullanıcı alanının görsel eğitim ve hata ayıklama platformu sayesinde kullanıcının makine üzerinde oluşturduğu algoritma konteyneri bulutta programlanarak eğitim değerlendirme ve hata ayıklama gerçekleştirilmektedir. Bu şekilde, kullanıcılar kümenin CPU + GPU kaynaklarını kullanarak tüm buluttaki veri açık platformundaki modelleri büyük verilere dayanarak eğitebilir ve hatalarını ayıklayabilir ve kullanılacak etkili modelleri seçebilir.

Sahnede Yang Fan, Apollo platformunun kullanım sürecini ve yöntemini şahsen gösterdi. Bu makale burada tekrar etmeyecek. Pratik yapmak isteyen okuyucular, "Geliştirici" / "Veri Açık Platformu" sayfasında bulunan Apollo resmi web sitesi apollo.auto'ya geçebilirler. Ayrıntılı kullanıma giriş.

Apollo kodu açık çerçevesi

Otomatik sürüş sistemi, engel algılama, trafik ışığı tanıma, sürüş davranışına karar verme, yol planlama vb. Gibi bir dizi karmaşık işlevsel modül içerir. İstikrarlı bir işletim sistemi oluşturmak için bu bağımsız ve birbirine bağlı modülleri bir araya nasıl entegre edeceğiniz çok önemlidir. meydan okuma. Baidu kıdemli mimarı He Wei, Baidu'nun otonom sürüşünde ROS'un keşfini ve uygulamasını üç açıdan paylaştı: Baidu neden ROS sistemini seçti, Apollo'da ROS'un iyileştirme uygulaması ve Apollo çerçevesinin kullanımının tanıtımı.

Baidu neden ROS sistemini seçti?

Baidu'nun neden ROS sistemini seçtiği sorusuyla ilgili olarak He Wei, ROS'un güçlü ve esnek bir robot programlama çerçevesi olduğunu ve aynı zamanda akademide en yaygın kullanılan çerçeve olduğunu ve üç özelliğe sahip olduğunu açıkladı: tam bir geliştirme araç seti ve esneklik. Hesaplama planlama modeli ve zengin hata ayıklama araçları, birleşik yapılandırma yönetimi, dağıtım ve çalıştırma, düşük düzeyli iletişim ve diğer işlevler sunarak geliştiricilerin algoritma işlevlerinin araştırma ve geliştirmesine daha fazla odaklanmasına, sistem prototiplerini hızla oluşturmasına ve algoritmaları ve işlevleri doğrulamasına olanak tanır.

Apollo'da iyileştirilmiş ROS uygulaması

ROS sisteminin avantajları açıktır, ancak Apollo platformundaki uygulaması sorunsuz bir seyir değildir. Baidu, Ar-Ge ve hata ayıklamadan ürünleştirmeye kadar olan süreçte birçok durumla karşılaştı.Bu sorunlara yanıt olarak, Baidu üç açıdan özelleştirilmiş iyileştirmeler yaptı: iletişim işlevi optimizasyonu, merkezi olmayan ağ topolojisi ve veri uyumluluğu genişletmesi.

1. İletişim performansı optimizasyonu: paylaşılan hafıza

sorun : Otonom sürüş sisteminin karmaşık yol sahnelerini algılaması ve sürüş görevlerini tamamlaması için, farklı sahnelerin ve farklı yol koşullarının ihtiyaçlarını karşılamak için birden fazla sensörün birlikte çalışması gerekir. Ana akım çoklu sensör füzyon şeması, en az bir lidar ve çoklu kamera içerecektir Bu kadar büyük miktarda veri, iletişim performansı için büyük bir zorluk oluşturmaktadır.

çözüm : Baidunun çözümü, iletim sırasında veri kopyalarını azaltmak ve iletim verimliliğini artırmak için belleği paylaşmaktır.

  • 1'e 1 iletim senaryosunda, aynı makinedeki ROS düğümleri arasında süreçler arası iletişim için soketler kullanılır.Kullanıcı alanında ve çekirdek alanında birden çok protokol yığını katmanı ve birden çok veri kopyası vardır, bu da çok fazla gereksiz kaynak işgaline neden olur Ve performans kaybı. Paylaşılan bellek yöntemi, süreçler arası iletişim yöntemi olarak soketin yerini alır ve gereksiz bellek kopyalarını azaltarak sistemin iletim gecikmesini ve kaynak işgalini azaltır.

  • Birden çoğa iletim senaryosunda, ROS bire çok mesaj iletimini işlerken, temel uygulama aslında birden çok noktadan noktaya bağlantılardır.Bir veri parçası dört düğüme gönderilecekse, aynı veriler dört kez iletilecektir. Bu, büyük bir kaynak israfına neden olacaktır. Paylaşılan bellek aktarım süreci, bir kez yazma ve birden çok kez okuma işlevini destekleyebilir Birden çoğa aktarım senaryoları için, aynı veri paketinin yalnızca bir kez yazılması gerekir, bu da aktarım verimliliğini iki katına çıkarır.

2. Merkezi olmayan ağ topolojisi: RTPS hizmet keşif protokolünü kullanın

sorun : ROS, tamamen dağıtılmış bir çerçeve değildir.Her ROS ağının merkezi bir düğüm ROS Master'a sahip olması gerekir.Her düğüm başlatıldığında, Ana gibi topoloji bilgilerini kaydedecek ve diğer düğümlerin bilgilerini alacaktır. Bu yöntemin iki kusuru vardır: 1. Ana sistem, sistemin tek bir noktasıdır ve çöktüğünde tüm ağ kullanılamayacaktır 2. Ana birim anormal bir kurtarma mekanizmasından yoksundur ve bir çökmeden sonra yeniden başlatmayı izleyerek otomatik olarak kurtarılamaz.

çözüm : Bu sorunu çözmek için Baidu, ROS çerçevesine RTPS protokolüne dayalı bir hizmet keşif işlevi ekledi.

Tüm ağ topolojisi artık ana birim etrafında inşa edilmemiştir, ancak etki alanları kavramına göre bölünmüştür. Ağa yeni bir düğüm katıldığında, RTPS protokolü aracılığıyla etki alanındaki diğer tüm düğümlere yayın bilgisi gönderecek ve her bir düğüm de Ana'nın bilgi alışverişi işlevini değiştirmek için yeni düğüme kendi hizmet bilgisini gönderecektir.

Bu şekilde, ROS ağının topoloji keşfi artık sistemin sağlamlığını artıran Ana tek noktaya güvenemez. Aynı zamanda, modifikasyon tamamen üst katman uygulamasına tamamen şeffaf olan ROS'un alt katmanının modifikasyonuna dayanmaktadır ve geliştiricinin bu işlev için herhangi bir kod uyarlama çalışmasına ihtiyacı yoktur.

3. Veri uyumluluğu uzantısı: Mesajı Protobuf ile değiştirin

sorun : Gönderenin ve alıcının mesaj formatlarının tutarlı olmasını sağlamak için, ROS sistemi mesaj tanımında MD5 doğrulaması gerçekleştirecektir Alanlardaki herhangi bir artış veya azalma veya sıra ayarlamaları, sistemin sağlamlığını sağlamak için MD5'i değiştirecektir. Bununla birlikte, bu katı kısıtlama uyumluluk sorunlarına da neden oldu.Arabirim yükseltildiğinde, farklı modüller artık iletişim kuramaz, bu da modül sürümleri arasındaki bağlantıyı büyük ölçüde artırır.

çözüm : Mesaj tanımlama formatı olarak ROS'ta Mesaj yerine protobuf kullanın. Protobuf'un kendisi iyi bir uyumluluk desteğine sahiptir.Sadece kullanım sırasında gerekli alanı tanımlamanız gerekir.Ardından isteğe bağlı alanların eklenmesi mesajın analizini etkilemeyecektir.

Apollo çerçevesinin kullanımına giriş

Ardından He Wei, Apollo çerçevesinin kullanımını kısaca tanıttı:

  • İlk adım: Docher sistemini kurun. Yükleme ve kod gibi bir dizi görev de dahil olmak üzere docker ortamını yüklemek ve dağıtmak için install-dacker komut dosyasını kullanın. Kurulumdan sonra, oturumu kapatmanız ve kullanıcının tekrar oturum açması gerekir. Kullanıcı izinlerindeki değişiklik nedeniyle mevcut kullanıcının oturumu kapatması gerektiği unutulmamalıdır. Tamamen etkili

  • Adım 2: Apollo'yu derleyin. Kodu derleyin: bash Apollo.sh build;

  • Üçüncü adım Apollo'ya başlamaktır. Bu adımda Apollo sisteminin derlenmesi gerekiyor Derleme tamamlandıktan sonra Apollo'yu başlatın. Baidu, arka plan uygulamasını ve ön uç ekranı tamamen başlatabilen tek tıklamayla başlatma sürümü sağlar. İlk adım: Docher sistemini kurun. Yükleme ve kod gibi bir dizi görev de dahil olmak üzere docker ortamını yüklemek ve dağıtmak için install-dacker komut dosyasını kullanın. Kurulumdan sonra, oturumu kapatmanız ve kullanıcının tekrar oturum açması gerekir. Kullanıcı izinlerindeki değişiklik nedeniyle mevcut kullanıcının oturumu kapatması gerektiği unutulmamalıdır. Tamamen etkili

Şu anda, Apollo açık kaynak kodu Github web sitesine yüklendi, özel bağlantı: github.com/apolloauto, ilgilenen kod çiftçileri ilgili araçları ve belgeleri kontrol etmek için gidebilir.

Derin öğrenmeye dayalı uçtan uca otonom sürüş çözümü

Geliştiriciler, Apollo platformunu temel alan eksiksiz bir otonom sürüş sistemi tasarlamak istiyorlar. Ön koşul, Baidu'nun otomatik sürüş sistemi seçimini ve program ayrıntılarını anlamak. Baidu'nun otonom sürüş bölümünün kıdemli mimarı Yu Hao, geleneksel Kural Tabanlı ve Uçtan Uca'yı paylaştı. Otonom sürüş çözümlerinin benzerlikleri, farklılıkları, avantajları ve dezavantajları ile Apollo platformunun veri ve modeller üzerindeki uygulaması.

Derin öğrenmeye dayalı şema seçimi

Yu Hao, şu anda kurala dayalı sistemin endüstride ve akademide hala ana akım olduğunu söyledi. Kural tabanlı, araç, sensör algısı, Dünya modeli, karar verme, kontrol ve son olarak araçtan nispeten eksiksiz bir kapalı döngü sistemi oluşturur. Bununla birlikte, pratik uygulamalarda hala bariz darboğazlar vardır: sistem karmaşıktır (manuel tasarım), yüksek hassasiyetli haritalar maliyetlidir (geniş yayma ve gerçek zamanlı güncelleme gerektirir) ve hesaplama performansı (kaynak israfı). Uçtan Uca yaklaşım bu sorunları iyi bir şekilde çözebilir. Aşağıdaki şekil, Kural tabanlı ve Uçtan Uca avantaj ve dezavantajlarının karşılaştırmasını göstermektedir.

Karşılaştırıldığında, Uçtan Uca çözüm uygulamada bulunan Kuralın bazı eksikliklerini gidermekle birlikte, temel işlevlerin gerçekleştirilmesinde daha fazla araştırmaya ve uygulamaya ihtiyaç duyduğu görülebilir. Yu Hao, bu iki çözümün kendi avantajları ve dezavantajları olduğuna inanıyor.Bu aşamada, otonom sürüş işlevlerini elde etmek için belirli bir derin öğrenme çözümüne tamamen güvenmek imkansız. Kural tabanlı ve Uçtan Uca, gelecekte kesinlikle emilecek. Karşı tarafın avantajları birleştirilir ve karşı çıkılmaz.

Uygulamada Apollo: veriler

İki genel veri oluşturma türü vardır, biri gerçek veri, diğeri simülatör verileridir. Şu anda, Çinin ulusal koşullarına ilişkin gerçek veriler çok azdır. Simülatör verileri belirli performans koşullarında referans olarak hizmet edebilse de, çoğu oyunlar aracılığıyla oluşturulur. Oluşturulan dokular, gerçek sahnelerin dokularından çok farklıdır ve gerçek olanları kullanmak neredeyse imkansızdır. Yolda.

Baidu bu alana büyük yatırımlar yapıyor ve her yıl analiz için milyonlarca kilometre veri toplamak için çok sayıda veri aracı kullanıyor. Yu Hao, bu sefer açık verilerin temel olarak Görüntü, RTK-GPS ve IMU vb. Dahil olmak üzere ileri verileri çıkardığını söyledi. Her açık kaynak veri dosyası bir toplama görevine karşılık gelir. Burada daha ilginç olan şey, Baidu'nun kesin koordinatları doğrudan kaynak olarak açmaması, ancak 1 / R'yi (dönüş yarıçapının tersi) ve boylamsal komutu çarpmak için koordinat parametrelerine dayalı olmasıdır. Geliştiriciler, otomobil üreticileriyle işbirliği yapmak ve doğrudan yolda araba kullanmak için bunu kullanabilir.

Uygulamada Apollo: modeller

Geçen yıl Baidu, basit bir yatay model CNN ve bir dikey kontrol modeli olan Convolutional-LSTM kullandı. Bu yıl, Baidu ikisini bir araya getirdi ve yatay + dikey bir modeli benimsedi: LRCN. Bu modelin zamanlama işlemesine odaklanması gerekiyor. Yatay ve dikey korelasyonlar, nedensel VS yörünge tahmini, Dikkat mekanizması, göç ve diğer sorunlar çevredeki ortamı doğru bir şekilde tahmin edebilir.

Yu Hao, otonom sürüşün model yapısının hala keşif aşamasında olduğu sonucuna vardı. Baidu, kaynakların ve yeteneklerin açılması yoluyla bir dizi gerçekten akıllı, eksiksiz ve güvenli otonom sürüş çözümleri geliştirmek için geliştiriciler ve ortaklarla birlikte çalışmayı umuyor.

Wang Baoqiang'ın ve Xiaolong'un serbest bırakıldığı çocukluk fotoğrafı ortaya çıktı, sadece dört yaşındalar ama bugün durumları çok farklı.
önceki
Sun Li bir dans videosu yayınladı, ancak zayıftı ama öğretmenin ritmine ayak uyduramadı, Huang Lei tatlı bir mesaj gönderdi
Sonraki
190324 Zhu Zhengting, Bangkok'tan Şanghay'a uçuyor, sabahın erken saatlerinde check-in yapmak için sınırlı sayıda mavi saç var.
Jishou: Liu Zhenyu, CPPCC grup tartışma çalışma raporuna katıldı
Birleşik Krallık ve Amerika Birleşik Devletleri'ndeki büyük yetkililer, 2018'in en güzel on dramasını kendi platformlarında seçti.
vivo X23: "Trende" ayak uydurun
Yaramaz "Final Fantasy 15" Prince otomobil tamiri ekran görüntülerinin fiyatı yayınlandı
Guan Xiaotongun babasının bu kadar tanıdık olmasına şaşmamalı, birçok klasik rol oynamış ve bize tanıdık geliyor!
Wuhan Üniversitesi'nin okul çiçeği olarak bilinen, "Summer of Bubbles" da rol aldı ve şimdi Dongyu Zhou rolünü oynuyor.
"Yetenekli Kız Arkadaşım" Yılın En İyi On Draması, henüz izlemedin mi?
Hacimde artış yok, Fuji X-T3 resmi olarak piyasaya çıktı
"Deneyim" ve "güvenlik" olmadan karlı oyun operasyonlarından bahsetmek bir holiganlıktır
Xian Suyuan kayınpederi için bir içki yaptı ve fincanda bu üç çeşniyi görünce netizenler: İçmeye cesaret edemiyorum!
Bir ay bekledikten sonra, kış tatili Amerikan draması geri dönmek üzere ve istediğiniz her şeye sahip.
To Top