Vhdl kullanarak Robotik için Dijital Kontrol Sistemleri Tasarımı
Dijital kontrol sistemleri modern robotların arka kemiğidir, motor hız yönetmeliğinden her şeyi karmaşık otonom karar verme konusunda yönetmektedir. Robotlar, üretim, sağlık ve araştırma alanlarında giderek daha sofistike roller üstlenirler, yüksek performanslı işlemciler için talep, VHDL tabanlı kontrol mantığı asla daha büyük değildir. VHDL (VHSIC Hardware Description Language), robotik uygulamalar için tam zamanlı olarak karşılaşılan özel dijital donanımları tasarlamak ve güvenilir bir şekilde yardımcı olur.
Robotik Kontrol için Temelleri
Bir robot için dijital kontrol sistemi genellikle dört ana işlevsel bloktan oluşur: işlemciler, sensörler, eylemciler ve kontrolörler. Süreçtörler, yol planlama, dış sistemlerle iletişim, ve birden fazla eksenlerin koordinasyonu gibi üst düzey görevler üst düzey görevler üst düzeye çıkarlar. Sensörler - kodlayıcılar, IMU kameraları ve güç sensörleri - gerçek zamanlı çevre geri bildirimlerini - Doğrusal uyarıları, DC motorlar, basamak motorlar ve servolar gibi, elektrik kontrol sinyalleri mekanik hareketle dönüştürür.
Tamamen bir yazılım tabanlı bir yaklaşımda, kontrol cihazı bir CPU veya mikrokontrolcü üzerinde bir iş olarak uygulanır.Bu, esnekliği sunarken, tasarımcının kesintiye uğraması, bağlam geçişi ve eşdeğerli bir eğitim yürütmesi ile çalışmasını sağlar. Yüksek hızlı robotlar için - örneğin, sıkı servo döngüler veya otonom araçlar ile robot kolları - dağıtım mühendislerini tercih edebilir veya düzeltmeler, performansa veya hatta dengesizliğe neden olabilir. VHDL, tasarımcının deterministic, düşük çözünürlükle çalışan bir donanım uygulama oluşturmasını sağlar.
Neden VHDL Robotik Kontrol için?
VHDL, robot uygulamaları için alternatif HDL ve yüksek seviyeli sentez araçları üzerinde çeşitli avantajlar sunar. İlk olarak VHDL, kanal tabanlı uygulamalara kadar güçlü tip tasarım soyutlamalarını destekler ve bu da hataları derlemeye yardımcı olur - özellikle güvenlik-kritik robot sistemleri için önemli olan ikinci, her iki davranışı modelleme ve yapı da mühendislere devre dışı bırakma olanağı sağlar.
Verilog ve Sistem[değiştir | kaynağı değiştir]
Verilog ve Sistemalog da dijital tasarımda yaygın olarak kullanılıyor olsa da, VHDL'nin açık port haritası, eş zamanlı ve eşdeğer sinyal atamaları ve paket tabanlı modülerlik genellikle karmaşık kontrol hiyerarşik tasarımları yönetmek için daha kolay hale gelir.For large Robotics control systems that contains multiple sensör arabirimleri, iletişim protokolleri (e.g., SPI, I2C, UART), ve paralel kontrol döngüleri, VHDL's readability and maintainable can be avantajlı. Systemlog offers advanced correct features, but while a high choice for large Robotics control systems that contains a strong choice for the sentezlenebilir kontrol çekirdeği.
Yüksek Lisans Synthesis (HLS) vs. Hand-Kod VHDL
Xilinx HLS gibi yüksek seviyeli sentez araçları, tasarımcıların C/C++'daki kontrol algoritmaları yazmalarına ve otomatik olarak HDL kodunu hızlandırmasına izin veriyor.Bu, genellikle 100 kHz'ye kadar yapılan örnekleme oranlarıyla ilgili olarak eksik olan, el kodlanmış VHDL, kanal derinliğine tam olarak tam bir kontrol veriyor ve kaynak kullanımı – 1 mikrosaniye altında toplantı için sıkı kontrol döngüsü oluşturabilir.
Bir VHDL-Based Control System
Bir robot kontrol cihazı için iyi yapılandırılmış bir VHDL tasarımı genellikle yüksek seviyeli bir devlet makinesi (FSM) sıra operasyonları için, modüler ve mantık hesaplamaları için bir veri yolu ve algılama için özel modüller.
Robotik Görevler için Finite State Machines
FSMs, üç işleme mimarisini kullanarak bu FSM'yi uygulamak için ideal olarak uygundur: bir sonraki devlet mantığı için bir motor kontrolörü ve bir çıkış mantığı için kolayca sentezlenebilir, sentezlenebilir kod üretir. VHDL, bu FSM'yi üç işleme mimarisini tanımlamak için tasarlanmıştır: bir süreç (reformasyonlar), bir sonraki devlet mantığı için bir süreç ve bir tane.
-- Example: Simple FSM for motor brake control
type state_type is (IDLE, BRAKE_ON, BRAKE_OFF);
signal current_state, next_state : state_type;
process(clk, reset)
begin
if reset = '1' then
current_state <= IDLE;
elsif rising_edge(clk) then
current_state <= next_state;
end if;
end process;
Temel FSM'lerin ötesinde, mikrokod kontrol birimleri veya boru hattı devlet makineleri gibi daha gelişmiş mimariler, multi-kücut koordinasyon veya yörünge planlama için kullanılabilir. anahtar, robotik sistemin zamanlama gereksinimleriyle devlet makine karmaşıklığını eşleştirmek.
Kontrol Algoritma için veripath Design for Control Algorithms
Bir robot kontrolörü veripathi ek olarak, çıkarma, multiplikasyon ve kontrol yasası hesaplamaları için bölüm oluşturma gibi arithmetici işlemleri gerçekleştirir. Örneğin, bir PID kontrolörü, hesaplama hatası, orantılı dönem, integral terim (accumulation), ve türkçekçe) VHDL'nin sayısız işlem süresine ulaşmak için imzalanmış ve imzalanmamış işlemleri içerir.
Veripath'nın bakımı, zaman sınırlamaları ile sınırlı olan uzun tarama yollarını kırmak önemlidir.10-20 arithmetic operasyonları ile tipik bir kontrol döngüsü için, 3-5 aşamanın boru hattı derinliği ortak bir şekilde yapılır. VHDL kodu, zaman sınırlamaları ile ara sonuçlar arasında olmalıdır.Bu yaklaşım, megahertz aralıklarında çalışan bir tasarım verir, megahertz aralıklarında kontrol döngüsü oranlarına izin verir - şarj edici uygulamalar için uygun bir şekilde - şarj edilebilir.
Tasarım Akışı: FPGA Deployment
VHDL tabanlı bir robot kontrol sistemi için tasarım akışı, doğruluğu ve performansı sağlamak için yapılandırılmış bir yol takip eder.Her aşama belirli aktiviteler ve doğrulama adımları içerir.
1. 1. 1. Türlüm
İlk adım kontrol sistemi gerekliliklerini tanımlamaktır: örnekleme oranı, bir dizi eksen, sensör türleri, hareketleyici arayüzler (örneğin PWM, analog çıktı), ve istenen kontrol algoritması (PID, liderlik-lag, fuzzy, vb.).
2. RTL Coding
Mühendisler, VHDL kodunu kayıt devretmeyi (RTL) davranışını tanımlarlar. Her modülün ayrı dosyaları kullanmak için iyi bir uygulamadır (örneğin, FSM, veripath, sensör arayüzü) ve onları tanımlamak için VHDL paketlerini kullanarak üst düzey bir varlık oluşturmak.
3. Simülasyon 3.
Simülasyon VHDL doğrulamanın temel taşıdır. Mühendisler, stimulus sinyalleri üreten testbenches yazar - sensör okumaları, saat ve reset - ve kontrol cihazı çıktılarını kontrol edin. Robotik sistemler için, genellikle yüksek seviyeli bir dilde (örneğin, sabit bir şekilde) modellemek ve hata koşullarıyla ilgili olarak yardımcı olur.
4. Synthesis ve Uygulama
Simülasyondan sonra, RTL kodu, belirli bir FPGA cihazına hedeflenen bir kapı düzeyinde net bir liste haline getirilir. Xilinx Vivado veya Intel Quartus Prime gibi tasarım, kullanıcı kısıtlamalarına göre, DSP dilimleri ve RAM'ı sağlar.
5. Donanım Doğrulaması
FPGA programlandığında, mühendisler donanım-in-the-loop (HIL) testlerini gerçekleştirirler. FPGA, gerçek sensörler ve eylemcilere (veya bir donanım emülatörü) bir oscilloskopu kullanarak, mantık analizörü veya on-çik debugunu gerçek zamanlı olarak doğru davranır.Bu aşamada genellikle sinyal bütünlüğü sorunları veya non-ideal sensör davranışı gibi sorunlar ortaya çıkarılmamıştır.
Key VHDL Robotik için Yapılar
Birkaç temel VHDL inşasını ustalaştırmak, robotik kontrolörlerin gelişimini önemli ölçüde rahatlatacaktır. Aşağıda en yaygın kullanılanlardan bazılarıdır.
- [[Düzücük liste ile ilgili olarak: [Dönetici:0)) Hassasiyetli mantık ve FSMs modeline göre kullanılır.
- [FONT:0)Generics:[[Döneticiler:[Döneticiler:0)) Farklı robotik platformlarda yeniden kullanılabilir hale getirilmesi gibi modül davranışının parametreleştirilmesine izin verir.
- [FONT=0)Pazarlama ve Bileşenleri:[Dönler:[Dönler: 0 ) Paketler ortak fonksiyonlar ve tip tanımlar; bileşenler (veya varlık port haritası ile anlıklaştırma) modüler tasarım teşvik eder.
- [FONT:0]Arithmetic operatörleri sayısal numeric std:[Döneticiler) Enables imzalanmış ve etkin donanıma uygun olmayan operasyonlar için imzalanmıştır.For multiplication, consider using DSP block inference.
- [[Düzücüler: 0,0)Record türleri:[Dönetici sinyalleri gruplama için kullanışlıdır, sensör veri paketi (valid, açı, hız).
- [FONT:0]Örnek ifadeler:[Dönetici:[Döncüler) Doğrulama için Yaşama Sahiptir.
Bir ortak örnek, servo veya motor kontrolü için bir PWM sinyalini oluşturur. VHDL'deki bir PWM jeneratörü görev döngüsü ve dönem değerlerine karşı karşılaştırmak, değişken bir pul genişliği üretmek. Görev döngüsü kontrol algoritması tarafından her döngüyü güncellenebilir.
-- Simplified PWM generator (single channel)
process(clk)
variable count : integer range 0 to PERIOD-1 := 0;
begin
if rising_edge(clk) then
if count < DUTY_CYCLE then
pwm_out <= '1';
else
pwm_out <= '0';
end if;
if count = PERIOD-1 then
count := 0;
else
count := count + 1;
end if;
end if;
end process;
Bu tür yapılar, daha karmaşık kontrol sistemlerinin bina blokları oluşturur. Birden fazla PWM kanalıyla, dörtlü enkoder decoders ve dijital filtreler, mühendisler tek bir FPGA üzerinde tam bir robot kontrol merkezi oluşturabilir.
Vaka Çalışması: VHDL'de bir PID Controller tasarlamak
VHDL'nin robotikteki pratik uygulamasını göstermek için, DC motor hız yönetmeliği sistemi için dijital bir PID kontrolörünün tasarımını düşünün. PID algoritması kontrol çıktı U (t) olarak hesaplamaktadır:
U = Kp * e + Ki * ⁇ e dt + Kd * de /t
Dijital bir uygulamada, integral bilgi birikimi ile ilgilidir ve fark ile türev. VHDL tasarımı genellikle aşağıdaki modüller içerir:
- [FONT=0)Error Hesap:[Dönetici:[Dönetici:0)[Dönetici:0)Error Hesaplayıcı:[Dönetici:[Dönetici: 1 ) Doğru hızda (en komplikeli) bir hata üreterek imzalanmış bir hata üretin.
- [FONT=0)Proportional Path:[Dönetici:[Dönetici:0) Kp tarafından yapılan hatayı çokça imzalayın ( sabit nokta sabit).
- [FONT:0)Integral Path:[Dönem:[Dönem: 1 ) Zaman içinde Accumulates hatası, anti-windup fikre göre sınırlı.
- [FONT:0]Derivative Path:[Dönemli hata ve önceki hata arasındaki fark, Kd tarafından çarpılır.Bir kayıt önceki hatayı depolar.
- [FONT=0)Summation and Export Limiting:) PWM aralığına çıktıyı üç terim ve sınırları ekler (örneğin, 0 ila 1023).
Tüm tasarım yüksek oranda saatlenebilir, boru kataraktları ile zamanlaması için sayısal aşamalar arasında yerleştirilebilir. 1 kHz kontrol döngüsü için, 10 MHz veya daha fazla saat frekansı tipik, diğer görevler için bol miktarda marj bırakarak.Kp, Ki, Kd) ana işlemci tarafından hafızaya tıklandığında erişilebilir.
Böyle bir kontrol cihazı, dağıtımdan önce PID kazançlarını süpürerek test gerektirir (örneğin, ek bir gürültü ile karşı bir karşı) ve PWM çıktısını süpürerek ve cevabı gözlemleyerek, mühendisler PID kazançlarını doğrulayabilirler.Bir kez, VHDL kodu bir FPGA için sentezlenebilir ve gerçek motor sürücüsü donanımıyla entegre edilebilir.
Test ve Doğrulama
Bir VHDL tabanlı robot kontrolünün onaylanması aşırı devletlenebilir. yarı iş başında çalıştırılabilir yazılımların aksine, donanım hataları pahalı yönetim revizyonlarına yol açabilir. Etkili doğrulama stratejileri şunları içerir:
- [FONT=0]Ortak simülasyon: [Dönetici: [Dönetici: 0,4] Her modülü (e.g., PWM jeneratörü, encoder decoder, PID) bağımsız olarak yönlendirilmiş ve rastgele testler ile test edilmiştir.
- [FONT:0)Integration simülasyonu:[Dönetici: 0,4D) Üst düzey kontrol cihazı, bir simdi bitki modeli ile test edilir. Örneğin, motor ve yük dinamiklerinin yüksek seviyeli bir modeli VHDL'de kendi başına yazılabilir veya başka bir araçla birlikte açıklanabilir.
- [FONT:0)Formal doğrulama:[Döneticiler için, resmi araçlar hiçbir zaman geçersiz devletlere ulaşmadığını veya bu zamanlama kısıtlamalarının her zaman karşı olduğunu kanıtlayabilir.
- [FONT:0) Sertware-in-the-loop (HIL): [Dönetici: FPGA gerçek zamanlı bir simülatörü (örneğin, Opal-RT veya Ulusal Instruments) ile gerçek zamanlı bir test ortamı sağlar.
- [FONT:0)Assertion-based doğrulama: VHDL'de gömülü iddialar (PSL veya VHDL-2019) simülasyon sırasında değişmezler için kontrol edin, “motor akımı asla max limit'i geçmelidir.
Robust doğrulama, alanda başarısızlığın riskini azaltır ve tasarımın güvenilirliğine olan güven yaratır.
Dış Kaynaklar ve Referanslar
Robotikler için VHDL bilgilerini derinleştirmek için mühendisler için aşağıdaki kaynaklar değerlidir:
- [FONT=0)Xilinx FPGA Dokümantasyon ve Tasarım Hubs[[Dönem: 1) VHDL sentez ve uygulama Xilinx cihazları hedef alıyor.
- [FONT:0)IEEE Xplore: “FPGA-bazlı robotlar için gerçek zamanlı kontrol”[Döneticiler için bir araştırma makalesi koleksiyonu)
- [FONT:0]Digilent VHDL mphs[[DÜT:1) – Basys veya Nexys FPGA tahtalarını kullanarak VHDL'yi öğrenmek için pratik egzersizler.
- [FONT:0]Intel Quartus Prime Handbook[Dönetici] – VHDL tasarım için referans Intel FPGA'ları kullanarak akışlar.
Bu kaynaklar hem temel bilgi hem de gelişmiş teknikler, VHDL'yi robotik kontrol sistemlerinde uygulamak için sunar.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
VHDL kullanarak robotları için dijital kontrol sistemleri tasarlayın, yüksek performansa ulaşmak için bir yol ile mühendisler sunar, modern robotların talep koşullarını karşılayan sağlam kontroller oluşturmak mümkündür.Çok fazla şarjlı bir kolu anlamakla, VHDL üzerinde mastering VHDL, modüler ve verimli bir donanım tasarımı için inşa eder ve sağlam bir doğrulama akışı takip eder, ancak modern robotların talep koşullarını karşılayan, basit bir DC motor veya koordinasyonu sağlayarak, VHDL'nin temellerini anlamak için daha akıllı bir platform sunar.