Site bölümleri
Editörlerin Seçimi:
- Didaktik manuel "Lapbook" Kapalı bitkiler Oyun küpleri "Bitki adı ve tanımlamak"
- Anaokulundaki yataklar için gereksinimler nelerdir, doğru seçim için kriterler Anaokulundaki beşikler için rakamları indirin
- Oransal regülatör
- Evde elektrik ve termal enerji tasarrufu Evde termal enerji tasarrufu
- Lego EV3 hat trafiği
- Lego ev3 siyah çizgi takip
- AIDS Önleme On Yılı
- Pencere üzerinde hidroponik ve biyofertilizatör ile deneyler
- Laboratuvar çalışması ile ilgili sonuç Biyoloji laboratuvarıyla ilgili çalışma.
- Deniz, deniz: deniz tarzında bir iç mekan nasıl yaratılır?
reklâm
Robotik, görünüşe göre, bilgisayar bilimi ve teknolojisindeki okul derslerinin bir parçası olarak daha da geliştirilecek ilginç bir yeni yön. Robotik patlaması büyük ölçüde şu soruyu cevaplamanıza izin vermesinden kaynaklanmaktadır: "Ama neden programlamayı gerçekten öğreniyoruz?" Ayrıca, robotik dersinde, otomatik kontrol teorisinin temel kavramlarını öğrenebilirsiniz. Bu sayfada, yazar tarafından programlama için geliştirilen simülatörler ve Arduino kartı sunulmaktadır. Herhangi bir nedenden dolayı gerçek donanımı kullanmanın mümkün olmadığı durumlarda yardımcı olabilirler. Eğitmenler HTML5'in yeteneklerini kullanır, bu nedenle yalnızca modern tarayıcılarda çalışırlar (kullanmak en iyisidir Google chrome veya Mozilla firefox). haber şimdi Telegram kanalında27 Kasım 2015 13 Ekim 2015 Robot Kontrol DiliSimülatörlerde robotları kontrol etmek için, çalışma adını alan basit bir programlama dili kullanılır. Sirop (Basit robot programlama). Ortam ışığı sensörlü robot kontrolüIşık sensörü, robotun masa yüzeyinde gezinmesini, örneğin beyaz ve siyah alanlar arasındaki sınır boyunca (siyah çizginin kenarı boyunca) gitmesini sağlar. Bir fotodiyot yüzeyi aydınlatır, bir fotodetektör yansıyan ışınları "yakalar" ve yoğunluğunu ölçer. Bu türün en popüler görevi bir çizgi boyunca ilerlemektir. Simülatörü kullanarak çeşitli kontrol yasalarını inceleyebilirsiniz - röle, orantılı ve hatta PID kontrolü (orantılı-integral-diferansiyel). Işık sensörlü bir robot için program örnekleri 1 (sensör\u003e 128 ise (motor \u003d 100 motor \u003d 0) aksi halde (motor \u003d 0 motor \u003d 100) bekleyin (10)) KP \u003d 0,2 1 iken (u \u003d kP * (sensör-128) motor \u003d 50 + u motor \u003d 50 - u bekleyin (20)) Ana (1 iken (sensör\u003e 128 (motor \u003d 100 motor \u003d 100 bekleme (10)) geri () dönüş ())) geri (motor \u003d -100 motor \u003d -100 bekleme (260)) dönüş (motor \u003d -50 motor \u003d 50 bekleme (50)) İki ortam ışığı sensörü ile robot kontrolüİki ışık sensörü, robotun ince bir çizgi üzerinde daha iyi gezinmesini ve sürmesini sağlar. Biraz ileri taşınırlar ve birbirlerinden ayrılırlar. Tek bir sensörlü görevlere gelince, bu simülatörü kullanarak çeşitli kontrol yasalarını inceleyebilirsiniz. Üç ışık sensörüne sahip bir robot için program örnekleri Dört ortam ışığı sensörü ile robot kontrolüDört ışık sensörü robotun keskin dönüşleri daha iyi algılamasını sağlar. Dahili sensörler ince ayar için kullanılır, onlar için oransal düzenleme kullanılır. İki harici sensör biraz öne ve birbirinden ayrılmıştır. Keskin bir dönüş meydana geldiğinde kullanılırlar. Dış çiftin sensörlerinin okumalarına göre kontrol kazancı, iç çiftten daha fazla seçilir (bkz. LY Ovsyanitskaya ve diğerleri, Lego Mindstorms EV3 robotunun hat boyunca hareketi için algoritmalar ve programlar, M .: “Tüy”, 2015). Dört ışık sensörüne sahip bir robot için program örnekleri 1 (d0 \u003d sensör\u003e 128 d1 \u003d sensör\u003e 128 d2 \u003d sensör\u003e 128 d3 \u003d sensör\u003e 128 ise d1 &! D2 (motor \u003d 100 motor \u003d 0) ise! D1 & d2 (motor \u003d 0 motor \u003d 100) ise d1 \u003d\u003d d2 (motor \u003d 100 motor \u003d 100) eğer d0 &! d3 ise (motor \u003d 30 motor \u003d 0)! d0 & d3 ise (motor \u003d 0 motor \u003d 30) bekleyin (10)) K1 \u003d 0,2 k2 \u003d 0,4 1 (u1 \u003d sensör - sensör u2 \u003d sensör - sensör motoru \u003d 50 + k1 * u1 + k2 * u2 motor \u003d 50-k1 * u1-k2 * u2 bekleme (10)) Bir robotu mesafe sensörü (sonar) ile kontrol etmeMesafe sensörü (sonar), robot hareket ederken en yakın engele olan mesafeyi belirlemenizi sağlar. Ultrasonik bir sinyal yayar ve yansıyan bir sinyal alır. Yayılan ve alınan sinyaller arasındaki süre ne kadar uzun olursa mesafe o kadar büyük olur. Mesafe sensörünü kullanarak, robotu otomatik olarak bilinen şeklin ancak bilinmeyen boyuttaki bir labirentinden geçecek şekilde programlayabilirsiniz. Bu görev klasik, ideolojik olarak basit, birçok kez çözülebilir ve her seferinde yeni bir şey keşfedeceksiniz. Problemi takip eden çizgiyi çözmek için birçok yaklaşım vardır. Bunlardan birinin seçimi, robotun özel tasarımına, sensör sayısına, tekerleklere ve birbirlerine göre konumlarına bağlıdır. Örneğimizde, üç robot örneği Robot Eğitimci temel eğitim modeline göre analiz edilecektir. Başlamak için Robot Eğitimci eğitim robotunun temel modelini topluyoruz, bunun için MINDSTORMS EV3 yazılımındaki talimatları kullanabilirsiniz. Ayrıca, örnekler için EV3 açık renk sensörlerine ihtiyacımız var. Bu ışık sensörleri, diğerleri gibi, görevimiz için en uygun olanıdır, onlarla çalışırken çevreleyen ışığın yoğunluğu hakkında endişelenmemize gerek yoktur. Bu sensör için, programlarda, sensörün kırmızı arka ışığının yansıyan ışık miktarının tahmin edildiği yansıyan ışık modunu kullanacağız. Sensör okumalarının sınırları "yansıma yok" ve "tam yansıma" için sırasıyla 0 - 100 birimdir. Örnek olarak, yumuşak, hafif bir arka plan üzerinde tasvir edilen siyah bir yörünge boyunca hareket etmek için 3 örnek programı analiz edeceğiz: · P regülatörlü bir sensör. · PK regülatörlü bir sensör. · İki sensör. Örnek 1. P regülatörlü bir sensör.dizaynIşık sensörü, modelin üzerinde uygun bir kiriş üzerine monte edilmiştir. algoritmasıAlgoritma, örtüşme derecesine bağlı olarak, sensörün siyah çizgili arka ışığının, sensör tarafından döndürülen okumaların bir gradyanla değişmesine dayanmaktadır. Robot, ışık sensörünün konumunu siyah çizginin sınırında saklar. Giriş verilerini ışık sensöründen dönüştüren kontrol sistemi, robotun dönme hızı değerini üretir. Sensör, gerçek yol üzerindeki tüm çalışma aralığında (0-100) değerler ürettiğinden, robotun amaçladığı değer 50'dir. Bu durumda, iletilen dönüş işlevlerinin değerleri -50 - 50 aralığında oluşturulur, ancak bu değerler dik bir değer için yeterli değildir. Yörüngeyi çevirmek. Bu nedenle, aralık bir buçuk kez -75-75'e genişletilmelidir. Sonuç olarak, programda, hesap makinesinin işlevi basit bir oransal regülatördür. Kimin işlevi ( (a-50) * 1,5 ) ışık sensörünün çalışma aralığında programa göre dönme değerleri üretir: Algoritma İşlemi ÖrneğiÖrnek 2. PK denetleyicili bir sensör.Bu örnek aynı tasarımda derlenmiştir. Muhtemelen önceki örnekte robotun çok fazla sallandığını fark ettiniz, bu da yeterince hızlanmasına izin vermedi. Şimdi bu durumu biraz düzeltmeye çalışacağız. Oransal regülatörümüze, regülatör işlevlerine bir bükülme ekleyecek basit bir kübik regülatör ekliyoruz. Bu, robotun yörüngenin istenen sınırına yakın salınımını azaltacak ve ondan güçlü bir mesafe ile daha güçlü gerizekalılar yapacak Orantılı bir kontrolör, belirli bir x0 (t) durumundan doğrusal sapması e (t) ile orantılı olarak bir cisme kontrol u (t) uygulayan bir cihazdır; e (t) \u003d x0 (t) -x (t); buradaki x (t), belirli bir zamanda durumdur; u (t) \u003d ke (t); buradaki k, amplifikasyon katsayısıdır. P-kontrolörü kullanarak tek bir ışık sensörü ile hat hareketi Siyah-beyaz sınırı boyunca hareket de P-kontrolörü üzerine kurulabilir. Dışa doğru olsa da, sorun sadece bir röle kontrolörünün yardımıyla çözülmüş gibi görünmektedir, çünkü sistemdeki insan gözünün görebildiği sadece iki durum vardır: siyah ve beyaz. Ancak robot her şeyi farklı görüyor, çünkü onun için bu renkler arasında keskin bir sınır yok. Kısa görüşlü olduğunu ve gri tonlarının gradyan geçişini gördüğünü söyleyebiliriz. K katsayısı (bu örnek 2'de eşittir) yeterince küçük olmalıdır (1'den 3'e). Böyle bir regülatör sadece küçük sapma açıları için etkili bir şekilde çalışır, bu nedenle robotun hareket yönünde yerleştirilmesi gerekir, böylece sensör siyah çizginin sol tarafındadır. P-kontrolöründeki çizgi boyunca hareketin pürüzsüz olduğunu görmek kolaydır. ve bazı çalışma alanlarında çizginin kıvrımlarını neredeyse doğrusal veya hassas bir şekilde tekrarlar. Sensör kalibrasyonu Formülde kullanılan 48 numarasına dönelim. Bu, siyah ve beyazdaki ışık sensörünün aritmetik ortalamasıdır, örneğin (40 + 56) / 2 \u003d 48. Bununla birlikte, sensörlerin okumaları genellikle çeşitli nedenlerle değişir: farklı bir yüzey, odadaki genel aydınlatmada bir değişiklik, tasarımda hafif bir değişiklik, vb. Bu nedenle, beyaz ve siyah ışık sensörünün değerlerini belirleyerek robotu manuel olarak kalibre edeceğiz. P-kontrolörü kullanarak iki ışık sensörü ile hat hareketi
Katsayı k, hattın eğriliğine, robotun manevra kabiliyetine ve sahada siyah ile beyaz arasındaki farka bağlı olarak oldukça geniş bir aralıkta (1 ila 20 veya daha fazla) değişebilir. Ve bir açıklama daha. Okumaları% 10-20 arasında değişen sensörler var. Düzenleyici üzerinde büyük bir katsayı ile eşleştirilmemeleri tavsiye edilir, çünkü tek tip bir beyaz alanda bile genel aydınlatmada keskin bir değişiklik olduğunda, sapmalar farklı olabilir ve bu da beklenmedik sonuçlara yol açacaktır. Ayrıntılar Yazar: Igor Konovalov Oransal kontrolör bir gelişmedir. Rölenin ana eksi, akım değerlerinin sensörün normal değerinden ne kadar farklı olduğunu umursamamasıdır. Sadece iki durumu vardır - normal değerden küçükse sensör değerlerini belirli bir sabit sayı ile artırmaya çalışın veya artırın. Bu nedenle, sabit bir genliğe sahip salınımlar meydana gelir, bu da çok verimsizdir. Mevcut okumaların normalden ne kadar uzak olduğunu belirlemek ve genliği buna bağlı olarak değiştirmek çok daha mantıklıdır. Daha açık bir şekilde ifade etmek için, bir örneğe bakalım. Önceki makalede olduğu gibi örnek aynıdır: Lego Mindstorms EV3'ten robot, ışık modunda tek bir renk sensörü ile siyah çizgi boyunca sürüyor. Robot beyaz ve siyah arasındaki sınır boyunca hareket etmeye çalışır ve orada sensör ışığın yaklaşık% 50'sini gösterir. Ve normal konumundan ne kadar uzak olursa, robotun% 50'ye geri dönmesi için o kadar fazla çaba harcar.
Oransal regülatör tanım Otomatik kontrol ile, kontrol eylemi u (t) genellikle dinamik hatanın bir fonksiyonudur - kontrollü değişken x (t) 'nin verilen x0 (t) değerinden sapması e (t): e (t) \u003d x0 (t) - x (t). Bu, Polzunov-Watt sapma kontrolü ilkesi veya geri bildirim ilkesidir. İstenen kontrol eyleminin u0 (t) regülatör tarafından ölçülen değerlere fonksiyonel bağımlılığının matematiksel ifadesine yukarıda belirtilen yasa veya düzenleme algoritması denir. Orantılı kontrolör, bir nesne üzerinde belirli bir durumdan sapmasıyla orantılı olarak kontrol etkisi uygulayan bir cihazdır: Burada k regülatörün kazancıdır. Verilen x0 durumuna ayar noktası denir ve ondan sapmaya artık adı verilir. Ayrıca, kesinlik için, kalıntıyı err kısaltmasıyla belirteceğiz (İngilizce "hata" - hata kelimesinden). Motor kontrolü Deneyimli bir savaşçı, bir robot röle kontrol cihazında yaptığı gibi kılıcını sallamaz. Kılıcı sıkıca sabit bir konumda tutan motoru tutacak bir algoritma bulmak gerekir (Şekil 7.1). Bu P kontrolörüne yardımcı olacaktır. E 1 - motor A'daki hız sensörü1'in değerleri - ayarlanabilir bir değer olsun. Ayar x0 \u003d 45, kalan artık e \u003d 45 - e 1'dir. Sonra motordaki kontrol eylemi formül tarafından verilir. u \u003d k ∙ (45 - e1). Burada k, ayar noktasından küçük sapmalarda bile motor tepkisini artıracak kazanç, örneğin 5'tir. 1 Artık e'nin (hatadan) matematiksel tanımlamasını, önceden tanımlanmış bir Robolab ortam değişkeni olan e 1 kodlayıcısının (kodlayıcıdan) okumalarıyla karıştırmayın. Pozitif yönde bir sapma olması durumunda, motora bir negatif kontrol eylemi uygulanır ve bunun tersi de geçerlidir. Bu kontrol, kontrol cihazını boşaltmak için motora 1-10 ms'lik küçük bir gecikmeyle bir döngüde uygulanabilir (Şekil 7.8). Şek. 7.8. Oransal kontrolörde motor kontrol algoritması. Kazanç 5'ten 100'e çıkarılırsa, orantılı regülatörümüz bir röle olarak çalışmaya başlayacak ve bir aşırı atış etkisinin ortaya çıkması nedeniyle güçlü dalgalanmalara neden olacaktır. RobotC, Robolab gibi kodlayıcı okumalarının uygun bir atamasına sahip değildir, bu nedenle program biraz daha uzun görünür: int k \u003d 5, u; nMotorEncoder \u003d 0; while (true) u \u003d k * (45-nMotorEncoder); motor \u003d u; Ayrıca, bir “kılıçla darbe” vermek için, 45 sayısı yerine bir değişkene sahip olmak, değerini dışarıdan, örneğin paralel bir görevden değiştirmek yeterlidir. Bu, bölüm 8'deki robot davulcular ile ilgili bölümde açıklanmaktadır. Ve şimdi sadece motorun statik konumunu değil, aynı zamanda hızını da kontrol eden bir regülatör inşa edeceğiz. Algoritmanın mantığını takiben, şimdiye kadar sabit olan ve değişmeyen ayar noktası, artış veya azalma yönünde hareket etmeye başlamalıdır. Regülatöre uyarak, motor kaçınılmaz olarak onu takip edecektir. Nominal değeri sürekli artırmak için en kolay araç bir zamanlayıcıdır. NXT kontrol cihazında her biri onda biri, yüzde biri ve saniyenin binde biri cinsinden zamanı ölçebilen dört dahili zamanlayıcı bulunur. İlk zamanlayıcıda ustalaşacağız, bu da saniyede 10 “ty- koyu. " Robolab'da T1 veya Timer100ms1 ve RobotC'de timer100 olarak adlandırılmıştır. Önceki örnekte 45 olarak ayarlanan motor sapmasının α açısı, hızlanma katsayısı k2 ile zamanlayıcının okumalarına bağlı olacaktır: alfa \u003d k2 ∙ T1. Kontrol eylemi, amplifikasyon katsayısı k 1 ile aynı kalacaktır: u \u003d k 1 ∙ (alfa - e 1). Kısaca, Robolab dilindeki bir programda, kontrol eylemi zamanlayıcıyı başlattıktan hemen sonra motora uygulanır. Şek. 7.9. Motor hız kontrolü - saniyede bir devir. K 2 \u003d 36 katsayısı, bir saniyede alfa değerinin 360'a kadar çalıştığını ve bu da motorun bir tam devrine karşılık geldiğini belirler: int k1 \u003d 2, k2 \u003d 36, u, alfa; nMotorEncoder \u003d 0; ClearTimer (T1); while (true) alfa \u003d zamanlayıcı100 * k2; u \u003d k1 * (alfa-nMotorEncoder); motor \u003d u; Tamsayı tipi değişkenler için C dilinde (ve Robolab'da) kabul edilen tamsayı bölmesini kullanarak, açıda ayrı bir değişiklik elde etmek mümkündür, yani. saniyede bir artışlar: alfa \u003d T 1/10 ∙ k2. K2 \u003d 60 katsayısıyla, ışın hareketleri saniye ibresinin saat kadranı üzerindeki hareketine karşılık gelir. Ama bu yeterli değil belirgin. Netlik için, k2 \u003d 30'u ayarlayabilirsiniz, sonra ok, her biri 30 derecelik 12 "keneler" için tam bir devrim yaratacaktır. Tamsayı bölme ve çarpma işlemlerinin sırasına dikkat edin, sıralarını değiştirirseniz veya “azaltırsanız” sonuç kesinlikle değişecektir (Şekil 7.10). Şek. 7.10. Saat hareketinin hızlandırılmış taklidi. Ve son olarak, matematiksel bir davulcu örneği. Sürekli olarak ilerlemek yerine, ok P-kontrolörün kontrolü altında geriye doğru salınacaktır. C cinsinden% ile gösterilen kalan bölüm işlemi yardımcı olacaktır. Negatif olmayan bir tamsayıyı 2'ye bölmenin geri kalanı her zaman 0 veya 1 olacaktır: alfa \u003d T% 1 2 ∙ k2. Sapmayı k2 \u003d 15 kat arttırdıktan sonra, regülatörü motoru saniyede 5 kez, sonra 0 ° 'de, sonra 15 derecede hareket ettirmeye zorlayacak olan salınımlı ayar alfa alırız. Programdaki değişiklikler küçüktür. RobotC hakkında bir örnek düşünün: int k1 \u003d 3, k2 \u003d 15, u, alfa; nMotorEncoder \u003d 0; ClearTimer (T1); while (true) alfa \u003d zamanlayıcı% 100 2 * k2; u \u003d k1 * (alfa-nMotorEncoder); motor \u003d u; Bu prototip davulcu masaya düzenli aralıklarla vurur. Ana şey doğru pozisyonda başlamaktır. Tamsayı matematiğini kullanarak, daha karmaşık bir ritmik model belirtebilirsiniz, örneğin (Tablo 7.1): alfa \u003d T% 1% 5 2 ∙ k2. merkezi \u003d S3. Katsayı döngüde belirlenir: k 1 \u003d c + (S3 - orta) / k2. Şek. 7.36. Yüzer katsayılı oransal bir kontrolörde çizgi hareketi. Elde edilen kazanç kontrolü yasası sadece oransal bileşene değil, aynı zamanda diğerlerine ve bir bütün olarak kontrol eylemine uygulanabilir (Şekil 7.36). PID denetleyicisi Orantılı-integral-diferansiyel (PID) kontrolör en popüler olanlardan biridir ve hızlı tepki ve sistemin doğru konumlandırılmasını gerektiren çeşitli tiplerde çok sayıda cihazda kullanılır. Adından da anlaşılacağı gibi, bu kontrolör üç bileşenin toplamından oluşur ve Şekil l'de grafiksel olarak gösterilir. 7.37. Şek. 7.37. PID kontrol devresi. Bu basitleştirilmiş bir diyagramdır. Dinamik hatanın e (t) değeri kontrolörün girişine beslenir ve çıkışta kontrol eylemi u (t) oluşturulur:
Şemada bir üçgenle gösterilen oransal bileşen, sistemi belirli bir duruma getirmekten sorumludur. Bazı durumlarda, müteakip kendi kendine salınımlarla aşmaya neden olabilir. Yani, P kontrolörü "aşırıya kaçabilir" ve robot bir yandan diğer yana kaymaya başlayacaktır. İntegral bileşen negatif deneyim biriktirir (hataları özetler) ve telafi edici bir etki yaratır. Minimum sapmalarla, oransal bileşen, toparlanma ile hızlı bir şekilde artması nedeniyle "zayıflar" ve entegre bileşen, ayarlanabilir değerin ayar noktasına "gerilmesine" yardımcı olur. Diferansiyel komponent (D komponent) sistemin durumundaki değişim oranını izler ve olası aşımı önler. Bazı durumlarda, D bileşeni işaretle orantılıdır ve bazılarında çakışır. Orantılı bileşene zaten aşinayız; diferansiyel bileşen önceki bölüm 6'da açıklanmaktadır. İntegral bileşeni ele alıyoruz. Bu bileşen, önceki değerle özetlenerek dinamik olarak belirlenir: i \u003d i + ki × e (t) × dt. E (t) × dt miktarının fiziksel anlamı sistemin bir hata durumunda olduğu süre ile orantılı K i katsayısı parantez dışında olduğundan, hataların sürelerinin toplamı olarak i'nin değeri hakkında konuşabiliriz. Böylece, integrali toplayarak buluruz. İki tekerlek üzerinde bir dengeleme robotu örneği kullanarak bir PID kontrolörü kullanmayı düşünün. Bu klasik problem, çeşitli sensörler kullanılarak birçok şekilde çözülebilir. Önerilen örnekte, bir ışık sensörü ve bir PID kontrolörünün en basit şekli kullanılmıştır. Bununla birlikte, robotun stabilizasyonunu sağlamak için daha doğru sensör okumaları kullanmak gerekecektir. RAW biçimi Sensörlerden gelen veriler NXT kontrolörüne ham “ham” formda gönderilir. Tüm sensörler işletim sistemine 0 ila 1023 arasında bir dijital değer iletir, bu daha sonra ilgili sürücü tarafından işlenir ve daha anlaşılabilir bir forma indirilir (mesafe 0 ... 255, aydınlatma 0 ... 100, dokunma 0 veya 1 vb.). Ancak veriler doğrudan sürücüyü atlayarak elde edilebilir. Bu ham biçime genellikle RAW denir (İngilizce'den. "Raw"). Bazı durumlarda, daha fazla doğruluk elde etmek için kullanılabilir. Böylece, örneğin, ışık sensörünün değer aralığı yaklaşık 10 kat artabilir. Bu fırsat daha fazla kullanılır. Hem Robolab hem de RobotC'de RAW formatında veri alabilirsiniz. Bunu yapmak için, sensör buna göre başlatılır ve ondan gelen veriler önceden tanımlanmış özel bir değişken kullanılarak okunur. Dengeleme robotu Segway robotunun tasarımı Şek. 7.38: dikey olarak yerleştirilmiş bir kontrolör, yakın aralıklı tekerlekler ve bir tavan ışığı sensörü. Algoritma biraz daha karmaşık olacaktır. Segmanın denge konumunda stabilizasyonu prensibi aşağıdaki gibidir. Robot öne doğru eğilirse, yansıyan ışık nedeniyle ışık sensöründeki değerler artar. Buna yanıt olarak, robotu ileri hareket etmeye zorlayan ve böylece tekrar dikey bir pozisyon alan bir kontrol eylemi üretilir. Arkanıza yaslanırsanız, sensör okumaları düşer ve robot geriye doğru hareket etmeye başlar. Orantılı bileşen tüm bunlardan sorumludur. İntegral ve diferansiyel bileşenlerin rolü aşımlara karşı sigorta verilir. Şek. 7.38. Dengeleme Robot Segway. Şek. 7.39 Robolab'da algoritmayı sunar. Çoğu değişkenlerin başlatılmasındadır. Doğruluğu artırmak için, sadece sensör verileri RAW formatında okunmaz, aynı zamanda değişkenlerin çoğu float formatında bildirilir. PID algoritmasının kendisi bir döngüdedir. Şek. 7.39. Dengeleyici algoritması PID kontrolörüne dayanmaktadır. Çizgi boyunca hareket etme geleneğini takiben, ayar noktası olarak değişken griyi kullanırız - ışık sensörünün denge konumunda ortalama okumaları. Yeni ölçek parametresi, kontrol eyleminin ölçeklendirmesini ayarlar. Aslında, bu bir zayıflama faktörüdür, çünkü regülatör tarafından üretilen değer NXT motorlar için çok yüksektir. Mevcut katsayıların içine sokmak mümkün olacaktır, ancak RobotC için bu parametre farklı olacaktır ve katsayılar aynı olacaktır. Verilen katsayılarla, robot monofonik ışık muşamba veya okul masasında iyi stabilize olur. Yani, beyaz bir yüzey rengine ihtiyacı yoktur. Başlamak için, segway'i denge konumuna doğru bir şekilde ayarlamanız gerekir. Robot belirli bir eğimle ileri veya geri başlarsa, hemen eğim yönünde hareket etmeye başlar. RobotC'deki benzer bir örnek birkaç nedenden dolayı biraz farklıdır. İlk olarak, NXT'nin bu ortam için ürün yazılımı ile performansı Robolab'dan yaklaşık 1.4 kat daha yüksektir, bu nedenle ölçek faktörü artırılmalıdır. İkinci olarak, RAW değerleri doğru sırayla iletilir ve ters motorların monte edilmesi veya sadece bir negatif kontrol eyleminin uygulanması gerekecektir: int grey \u003d SensorRaw; int err, errold \u003d 0; şamandıra kp \u003d 25, ki \u003d 350, kd \u003d 0.3; şamandıra ölçeği \u003d 14; şamandıra dt \u003d 0.001; float p, i \u003d 0, d, u; while (true) err \u003d gri-SensorRaw; // Ters işaretiyle sapma p \u003d kp * err; i \u003d i + ki * err * dt; d \u003d kd * (err-errold) / dt; errold \u003d err; u \u003d (p + i + d) / ölçek; motor \u003d u; motor \u003d u; wait1Msn (1); Okulda otomatik kontrol teorisinin unsurları1 Önemli ve ilginç bir metodolojik görev, uzman ve öğrencinin bilgi alanları arasındaki “köprünün transferi” olup, okul öğrencilerinin uzmanlığın gelecekteki beklentilerini görmelerine yardımcı olmak, kariyer rehberliği yapar ve öğrenciler mesleki bilgilerinin pratik uygulanabilirliğini görürler. Bu etkiyi elde etmek için, matematik ve fizikteki okul programları çerçevesinin ötesine geçmeyen bir matematiksel aparat kullanılarak regülatörlerin hesaplanması için yöntemler geliştirilmiştir. Özellikle, diferansiyel denklemler yerine, nesne ve regülatörün bilgisayar kontrolü ile etkileşiminin ayrık doğasına iyi karşılık gelen fark denklemleri kullanılır. Örneğin, hareketli bir robotun bir duvar boyunca hareketini kontrol etme probleminde oransal (P) ve oransal diferansiyel (PD) denetleyicileri oluşturma görevini düşünün. X t ile robot ve duvar arasındaki mesafeyi, --t - robotun yön açısı ve u t - sırasıyla seri numarası ile kontrol eylemini belirtin, burada t \u003d 0, 1, 2, ... ölçüm anlarının sayısıdır renyum. Sensörlerin sorgulanmasının ve kontrol eyleminin büyüklüğündeki değişikliklerin eşit zaman aralıklarında h olduğuna inanılmaktadır. Lego NXT robot kontrol görevleri için, kontrol hareketinin tekerlek açısının değişim hızıyla orantılı olarak tekerleklerin açısal hızlarındaki fark olduğunu varsaymak doğaldır: Parkurun nominal θt \u003d 0 küçük ve ortalama robot hız sabitinden sapmaları göz önüne alındığında: vt \u003d v, ilk yaklaşımda robotun durum değişkenlerindeki değişikliklerin dinamiği doğrusal durum denklemleriyle tanımlanabilir: burada g \u003d h2vr / b. Duvara x *\u003e 0 istenen mesafeyi ayarladık ve kontrol hedefini (CC)
Şimdi, doğal bir şekilde, asimptotik stabilite kavramını, sistemden (4) çözümlerin özelliği olarak, hedef sistemden çok az farklı olan herhangi bir başlangıç \u200b\u200bkoşulunda kontrol sisteminin (5) elde edilmesini sağlayan önemli bir düzeyde sunuyoruz. U t \u003d 0 için, denklem (4) 'e yönelik çözümün herhangi bir sabit değer x t \u003d x * olduğunu görmek kolaydır. Ancak bir çift entegratörün (çift toplayıcı) modeline karşılık gelen denklem (4), asimtotik stabilite özelliğine sahip olmadığından, kontrol merkezi (5) sabit kontrol ile elde edilemez. Bu, analitik olarak kolayca gösterilebilir - birkaçını özetleyerek |
oku: |
---|
En popüler:
PVC döşeme: zeminler ve plakalar, kilitli zemin panelleri, yorumlar ve parke PVC, fotoğraf |
yeni
- Lekelerin ve izlerin olmaması için zeminlerin laminattan nasıl temizlenmesi
- Yazlık katta zeminin hızlı ve basit bir şekilde yalıtımı
- Bir laminatın ağırlığı 8 mm
- Dairede zemini kendi ellerinizle nasıl yalıtabilirsiniz
- Laminatın altında su yerden ısıtma: çözümün özellikleri ve kurulum incelikleri
- Linolyum üzerine laminat koyabilir miyim Linolyum üzerine laminat koyabilir miyim?
- Linolyum üzerine laminat koymak mümkün mü?
- Parke tahtası ve parke laminatı arasındaki fark nedir?
- Laminat parke, parke ve masif ahşap arasındaki fark nedir?
- Bir laminatın duvara yapıştırılması: teknoloji, araçlar ve malzemeler, uzman tavsiyesi