Site bölümleri
Editörün Seçimi:
- Sayıların çekimine yönelik yetkin bir yaklaşımın altı örneği
- Kışın Yüzü Çocuklar için Şiirsel Sözler
- Rusça dersi "isimlerin tıslamasından sonra yumuşak işaret"
- Cömert Ağaç (mesel) Cömert Ağaç masalına mutlu son nasıl eklenir?
- “Yaz ne zaman gelecek?” Konulu çevremizdeki dünya hakkında ders planı.
- Doğu Asya: ülkeler, nüfus, dil, din, tarih İnsan ırklarını aşağı ve yukarı diye ayıran sahte bilimsel teorilerin rakibi olarak gerçeği kanıtladı
- Askerlik hizmetine uygunluk kategorilerinin sınıflandırılması
- Maloklüzyon ve ordu Maloklüzyon orduya kabul edilmiyor
- Neden ölü bir anneyi canlı hayal ediyorsun: rüya kitaplarının yorumları
- Nisan ayında doğan insanlar hangi burçlara sahiptir?
Reklam
Robotik, görünüşe göre çerçevesinde daha da gelişecek yeni ve ilginç bir yön. okul kursları bilgisayar bilimi ve teknolojisi. Robotikteki patlama büyük ölçüde şu soruyu yanıtlamamıza olanak sağlamasından kaynaklanıyor: "Neden programlamayı gerçekten öğreniyoruz?" Ek olarak, robotik dersinde teorinin temel kavramlarını tanıyabilirsiniz.. otomatik kontrol Bu sayfada yazar tarafından geliştirilen programlama simülatörleri ve Arduino kartları sunulmaktadır. Herhangi bir nedenle gerçek donanım kullanmanın mümkün olmadığı durumlarda yardımcı olabilirler. Simülatörler HTML5 özelliklerini kullanır, dolayısıyla yalnızca modern tarayıcılar(kullanmak en iyisi Google Chrome). veya MozillaFirefoxHaberler M.V. Lazarev Robot kontrol diliSimülatörlerdeki robotları kontrol etmek için çalışma adını alan basit bir programlama dili kullanılır. SiRoP (Basit Robot Programlama). Işık sensörlü robot kontrolüIşık sensörü, robotun masa yüzeyinde gezinmesine, örneğin beyaz ve siyah alanlar arasındaki sınır boyunca (siyah çizginin kenarı boyunca) hareket etmesine olanak tanır. Bir fotodiyot yüzeyi aydınlatır, bir fotodedektör yansıyan ışınları "yakalar" ve yoğunluklarını ö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ısal ve hatta PID kontrolü (orantılı-integral-türev). Işık sensörlü bir robot için program örnekleri 1 iken (sensör > 128 ise (motor = 100 motor = 0) aksi halde (motor = 0 motor = 100) bekle(10)) KP = 0,2 iken 1 ( u = kP*(sensor-128) motor = 50 + u motor = 50 - u wait(20)) Ana ( while 1 ( while sensör > 128 ( motor = 100 motor = 100 wait(10) ) back() turn() ) ) geri ( motor = -100 motor = -100 wait(260)) dönüş ( motor = -50 motor = 50 bekleme(50)) İki ışık sensörlü robot kontrolüİki ışık sensörü, robotun ince bir çizgide daha iyi gezinmesine ve ilerlemesine olanak tanır. Biraz öne çıkarılırlar ve yanlara doğru yayılırlar. Tek sensörlü problemlerde olduğu gibi, bu simülatör çeşitli kontrol yasalarını incelemek için kullanılabilir. Üç ışık sensörlü bir robot için program örnekleri Dört ışık sensörlü robot kontrolüDört ışık sensörü, robotun keskin dönüşleri daha iyi algılamasını sağlar. İnce ayar için dahili sensörler kullanılır; bunlar için oransal kontrol kullanılır. İki harici sensör hafifçe öne doğru taşınarak yanlara doğru yayıldı. Keskin bir dönüşle karşılaşıldığında kullanılırlar. Harici çiftin sensörlerinin okumalarına dayalı kontrol kazancı, dahili çiftten daha büyük seçilir (bkz. L.Yu. Ovsyanitskaya ve diğerleri, Lego Mindstorms EV3 robotunun hat boyunca hareketi için algoritmalar ve programlar, M .: “Pero”, 2015). Dört ışık sensörlü bir robot için program örnekleri While 1 ( d0 = sensör > 128 d1 = sensör > 128 d2 = sensör > 128 d3 = sensör > 128 if d1 & !d2 ( motor = 100 motor = 0 ) if! d1 & d2 ( motor = 0 motor = 100 ) if d1 == d2 ( motor = 100 motor = 100 ) if d0 & !d3 ( motor = 30 motor = 0 ) if!d0 & d3 ( motor = 0 motor = 30 ) wait(10)) K1 = 0,2 k2 = 0,4 iken 1 ( u1 = sensör - sensör u2 = sensör - sensör motor = 50+k1*u1+k2*u2 motor = 50-k1*u1-k2*u2 wait(10) ) Bir robotun mesafe sensörü (sonar) ile kontrol edilmesiMesafe sensörü (sonar), robot hareket halindeyken en yakın engele olan mesafeyi belirlemenizi sağlar. Ultrasonik bir sinyal yayar ve yansıyan sinyali alır. Gönderilen ve alınan sinyaller arasındaki süre ne kadar uzun olursa mesafe de o kadar büyük olur. Bir mesafe sensörü kullanılarak robot, şekli bilinen ancak boyutu bilinmeyen bir labirentte otomatik olarak gezinecek şekilde programlanabilir. Bu problem klasiktir, ideolojik olarak basittir, birçok kez çözülebilir ve her seferinde kendiniz için yeni bir şey keşfedeceksiniz. Çizgi takip problemini çözmek için birçok yaklaşım vardır. Bunlardan birinin seçimi, robotun özel tasarımına, sensörlerin sayısına, tekerleklere ve birbirlerine göre konumlarına bağlıdır. Örneğimizde Robot Eğitimcisinin ana eğitim modeli temel alınarak üç robot örneği analiz edilecektir. Başlamak için, eğitim robotu Robot Eğitimcisinin temel modelini bir araya getiriyoruz, bunun için aşağıdaki talimatları kullanabilirsiniz. yazılım MINDSTORMS EV3. Ayrıca örnekler için EV3 ışık rengi sensörlerine ihtiyacımız olacak. Bu ışık sensörleri, diğerlerine benzemeyen şekilde işimize en uygun olanlardır; onlarla çalışırken çevredeki ışığın yoğunluğu konusunda endişelenmemize gerek yoktur. Bu sensör için programlarda, sensörün kırmızı arka ışığından yansıyan ışık miktarının tahmin edildiği yansıyan ışık modunu kullanacağız. Sensör okumalarının limitleri "yansıma yok" ve "tam yansıma" için sırasıyla 0 - 100 birimdir. Örnek olarak, düz, açık renkli bir arka plan üzerinde gösterilen siyah bir yörünge boyunca ilerlemeye yönelik 3 program örneğini analiz edeceğiz: · P regülatörlü bir sensör. · PC regülatörlü bir sensör. · İki sensör. Örnek 1. P regülatörlü bir sensör.TasarımIşık sensörü, model üzerinde uygun bir şekilde konumlandırılmış bir kirişe monte edilmiştir. AlgoritmaAlgoritmanın çalışması, sensör aydınlatma ışınının siyah çizgiyle örtüşme derecesine bağlı olarak sensör tarafından döndürülen okumaların kademeli olarak değişmesi gerçeğine dayanmaktadır. Robot, ışık sensörünün siyah çizginin sınırındaki konumunu korur. Kontrol sistemi, ışık sensöründen gelen girdi verilerini dönüştürerek robotun dönüş hızı için bir değer üretir. Gerçek bir yörüngede sensör tüm çalışma aralığı (0-100) boyunca değerler ürettiğinden, robotun ulaşmaya çalıştığı değer olarak 50 seçilir. -50 - 50 aralığı, ancak bu değerler yörüngenin dik bir şekilde dönmesi için yeterli değil. Bu nedenle aralığın bir buçuk kat -75 - 75'e genişletilmesi gerekiyor. Sonuç olarak programda hesap makinesi işlevi basit bir orantısal denetleyicidir. Hangi işlevi ( (a-50)*1,5 ) ışık sensörünün çalışma aralığında grafiğe göre dönüş değerleri üretir: Algoritmanın nasıl çalıştığına dair örnek
Örnek 2. PK regülatörlü bir sensör.Bu örnek aynı yapıya dayanmaktadır. Muhtemelen önceki örnekte robotun aşırı derecede sallandığını ve bunun yeterince hızlanmasına izin vermediğini fark etmişsinizdir. Şimdi bu durumu biraz iyileştirmeye çalışacağız. Oransal kontrolörümüze, kontrolör fonksiyonuna biraz bükülme katacak basit bir küp kontrolör de ekliyoruz. Bu, robotun yörüngenin istenen sınırı yakınında sallanmasını azaltacak ve aynı zamanda ondan uzaktayken daha güçlü sarsıntılar yaratacaktır. Orantılı kontrolör, bir nesnenin belirli bir x0(t) durumundan e(t) doğrusal sapması ile orantılı olarak bir nesne üzerinde u(t) kontrol eylemi uygulayan bir cihazdır; e(t)=x0(t)-x(t), burada x(t) belirli bir andaki durumdur; u(t)=ke(t), burada k büyütme faktörüdür. P denetleyicisi kullanan bir ışık sensörüyle çizgi hareketi Siyah ve beyazın sınırı boyunca hareket de P-regülatörü üzerine inşa edilebilir. Her ne kadar dışarıdan bakıldığında sorun yalnızca bir röle denetleyicisinin yardımıyla çözülebilir gibi görünse de, sistemin insan gözüyle görülebilen yalnızca iki durumu vardır: siyah ve beyaz. Ancak robot her şeyi farklı görüyor; onun için bu renkler arasında keskin bir sınır yok. Miyop olduğunu ve gri tonlarının degrade geçişini gördüğünü söyleyebiliriz. Katsayısı k (eşittir) bu örnekte 2) yeterince küçük olmalıdır (1'den 3'e kadar). Böyle bir regülatör yalnızca küçük sapma açılarında etkili bir şekilde çalışır, bu nedenle robotun, sensör siyah çizginin sol tarafında olacak şekilde hareket yönünde yerleştirilmesi gerekir. P-regülatörü üzerindeki hat boyunca hareketin düzgün olduğunu fark etmek kolaydır. ve bazı çalışma alanlarında neredeyse düz veya tam olarak çizginin kıvrımlarını takip ederek hareket eder. Sensör kalibrasyonu Formülde kullanılan 48 sayısına bakalım. Bu, ışık sensörünün siyah beyaz okumasının aritmetik ortalamasıdır, örneğin (40+56)/2=48. Ancak sensör okumaları sıklıkla değişir. çeşitli nedenler: farklı bir yüzey, odanın genel aydınlatmasında bir değişiklik, tasarımda hafif bir değişiklik vb. Bu nedenle ışık sensörü okumalarını beyaz ve siyah üzerinde belirleyerek robotu manuel olarak kalibre edeceğiz. P denetleyicisi kullanan iki ışık sensörlü hat hareketi
K katsayısı, çizginin eğriliğine, robotun manevra kabiliyetine ve sahadaki siyah ile beyaz arasındaki farka bağlı olarak oldukça geniş bir aralıkta (1'den 20'ye veya daha fazla) değişebilmektedir. Ve bir not daha. Okumaları% 10-20 farklılık gösteren sensörler var. Bunları büyük katsayılı bir regülatörle eşleştirmemeniz tavsiye edilir, çünkü genel aydınlatmada keskin bir değişiklik olduğunda, tek tip bir beyaz alanda bile sapmalar farklı olabilir ve bu da beklenmedik sonuçlara yol açabilir. Ayrıntılar Yazar: Konovalov Igor Oransal kontrolör bir gelişmedir. Rölenin en büyük dezavantajı akım değerlerinin sensörün normal değerinden ne kadar farklı olduğunu umursamamasıdır. Yalnızca iki durumu vardır - ya sensör değerlerini normal değerden düşükse belirli bir sabit sayı kadar artırmaya çalışın ya da artırın. Bu nedenle salınımlar sabit bir genlikte meydana gelir ve bu da çok verimsizdir. Mevcut okumaların normalden ne kadar “uzak” olduğunu belirlemek ve buna bağlı olarak genliği değiştirmek çok daha mantıklıdır. Daha açık hale getirmek için bir örneğe bakalım. Örnek, önceki makalede olduğu gibi aynı: Lego Mindstorms EV3'ten bir robot, ışık modunda bir renk sensörünü kullanarak siyah bir çizgi boyunca ilerliyor. Robot beyaz ve siyah arasındaki sınır boyunca ilerlemeye çalışıyor ve orada sensör aydınlatmanın yaklaşık %50'sini gösteriyor. Ve normal konumdan ne kadar uzaklaşırsa robot %50'ye dönmek için o kadar fazla çaba harcar.
Oransal kontrolör Tanım Otomatik kontrolde, kontrol eylemi u(t) genellikle dinamik hatanın bir fonksiyonudur - kontrol edilen değişken x(t)'nin ayar değeri x0(t)'den e(t) sapması: e(t) = x0(t) – x(t). Bu, Polzunov-Watt'ın sapma yoluyla düzenleme ilkesi veya geri bildirim ilkesidir. İstenilen kontrol eylemi u0(t)'nin kontrolör tarafından ölçülen büyüklüklere fonksiyonel bağımlılığının matematiksel ifadesine yukarıda tartışılan yasa veya kontrol algoritması denir. Orantılı denetleyici, bir nesnenin belirli bir durumdan sapması ile orantılı olarak kontrol etkisi uygulayan bir cihazdır: Burada k kontrolör kazancıdır. Verilen x0 durumu genellikle ayar noktası olarak adlandırılır ve bundan sapma e, artık olarak adlandırılır. Aşağıda kesinlik sağlamak amacıyla, artığı err kısaltmasıyla göstereceğiz ( İngilizce kelime"hata" - hata). Motor kontrolü Deneyimli bir savaşçı, röle kontrol cihazındaki bir robotun yaptığı gibi kılıcını sallamayacaktır. Kılıcı tutan motoru kesinlikle sabit bir konumda tutacak bir algoritma bulmamız gerekiyor (Şekil 7.1). P-regülatörü bu konuda yardımcı olacaktır. E 1'in - A motorundaki hız sensörünün 1 okumaları - ayarlanabilir bir değişken olmasına izin verin. Ayar x0 = 45 ve kalan e = 45 – e 1. Daha sonra motor üzerindeki kontrol eylemi formülle verilir. sen = k ∙ (45 – e 1). Burada k, ayar noktasından küçük sapmalarda bile motor tepkisini artıracak kazanç faktörüdür (örneğin 5). 1 Artık e'nin (hatadan) matematiksel gösterimini, önceden tanımlanmış bir Robolab ortam değişkeni olan kodlayıcı e 1'in (kodlayıcıdan) okumalarıyla karıştırmayın. Eğer bir sapma varsa olumlu taraf motora negatif bir kontrol girişi uygulanacaktır ve bunun tersi de geçerlidir. Bu kontrol, kontrolörün yükünü hafifletmek için motora 1-10 ms'lik kısa bir gecikmeyle bir döngü halinde uygulanabilir (Şekil 7.8). Pirinç. 7.8. Oransal denetleyici kullanan motor kontrol algoritması. Kazanç faktörünün 5'ten 100'e çıkarılması durumunda oransal denetleyicimiz röle görevi görmeye başlayacak ve aşma etkisi nedeniyle güçlü dalgalanmalara neden olacaktır. RobotC dili, Robolab'da olduğu gibi kodlayıcı okumaları için bu kadar kullanışlı bir gösterime sahip değildir, bu nedenle program biraz daha uzun görünür: int k=5, u; nMotorEncoder=0; süre (doğru) u=k*(45-nMotorEncoder); motor=u; Ayrıca “kılıçla vuruş” yapmak için 45 sayısı yerine bir değişkene sahip olmak ve değerini dışarıdan, örneğin paralel bir görevden değiştirmek yeterlidir. Bu, Bölüm 8'deki robot davulcularla ilgili bölümde ele alınmaktadır. Şimdi motorun sadece statik konumunu değil aynı zamanda hareket hızını da kontrol eden bir regülatör inşa edelim. Algoritmanın mantığını takip edersek şu ana kadar sabit olan ve değişmeyen set noktasının artma veya azalma yönünde hareket etmeye başlaması gerekir. Regülatöre itaat eden motor kaçınılmaz olarak onu takip edecektir. Ayar noktası değerini sürekli olarak artırmak için en basit araç bir zamanlayıcıdır. NXT kontrol cihazında her biri zamanı saniyenin onda biri, yüzde biri ve binde biri cinsinden ölçebilen dört yerleşik zamanlayıcı bulunur. Saniyede 10 "ipucu" gerçekleştiren ilk zamanlayıcıda ustalaşalım. kov". Robolab'da T1 veya Timer100ms1 olarak adlandırılır ve RobotC'de timer100'dür. Önceki örnekte 45'te belirtilen motor sapma açısını alfa, hızlanma katsayısı k 2 ile zamanlayıcının okumalarına bağlı olarak yapalım: alfa = k2 ∙ T1. Kontrol eylemi amplifikasyon faktörü k 1 ile aynı kalacaktır: u = k 1 ∙ (alfa – e 1). Kısaca Robolab dilindeki programda, daha önce zamanlayıcıyı başlatmış olarak kontrol eylemini doğrudan motora uygulayacağız. Pirinç. 7.9. Motor hız kontrolü saniyede bir devirdir. K 2 = 36 katsayısı, bir saniyede alfa değerinin 360'a yükseldiğini belirler; bu, motorun bir tam devrine karşılık gelir: int k1=2, k2=36, u, alfa; nMotorEncoder=0; ClearTimer(T1); süre (doğru) alfa=zamanlayıcı100*k2; u=k1*(alpha-nMotorEncoder); motor=u; Tamsayı tipindeki değişkenler için C dilinde (ve Robolab'da) benimsendiği gibi tamsayı bölmeyi kullanarak, açıda ayrık bir değişiklik elde etmek mümkündür; saniyede bir artırır: alfa = T 1 / 10 ∙ k 2. k 2 = 60 katsayısı ile ışının hareketi saat kadranındaki saniye ibresinin hareketine karşılık gelecektir. Ama bu yeterli değil dikkat çekici. Açıklık sağlamak için, k2 = 30'u ayarlayabilirsiniz, ardından ok, her biri 30 derecelik 12 "tik" ile tam bir dönüş yapacaktır. Tamsayı bölme ve çarpma işlemlerinin sırasına dikkat edin; bunların sırasını değiştirmek veya "azaltmak" sonucu kesinlikle değiştirecektir (Şekil 7.10). Pirinç. 7.10. Bir saat ibresinin hareketinin hızlandırılmış taklidi. Ve son olarak bir matematik davulcusu örneği. İğne sürekli ileri doğru hareket etmek yerine, P-regülatörünün kontrolü altında ileri geri salınacaktır. C'de % işaretiyle gösterilen kalanla bölme işlemi bu konuda yardımcı olacaktır. Negatif olmayan bir tam sayının 2'ye bölümünden kalan her zaman 0 veya 1 olacaktır: alfa = T %1 2 ∙ k 2. Sapmayı k 2 = 15 kat artırarak, kontrol cihazını motoru saniyede 5 kez, 0° veya 15 derece hareket ettirmeye zorlayacak salınımlı bir ayar noktası alfa elde ederiz. Programdaki değişiklikler önemsizdir. RobotC'deki bir örneğe bakalım: int k1=3, k2=15, u, alfa; nMotorEncoder=0; ClearTimer(T1); süre (doğru) alfa=zamanlayıcı%1002*k2; u=k1*(alpha-nMotorEncoder); motor=u; Bu prototip davulcu düzenli aralıklarla masaya vuruyor. Önemli olan doğru pozisyonda başlamaktır. Tamsayı matematiğini kullanarak daha karmaşık bir ritmik kalıp ayarlayabilirsiniz, örneğin (Tablo 7.1): alfa = T %1 %5 2 ∙ k 2. merkez = S3. Katsayı döngüde belirlenir: k 1 = c + (S 3 - merkez) / k 2. Pirinç. 7.36. Değişken katsayılı oransal kontrolör üzerinde çizgi boyunca hareket. Ortaya çıkan kazanç kontrol yasası yalnızca orantısal bileşene değil, aynı zamanda diğer herhangi bir bileşene ve ayrıca bir bütün olarak kontrol eylemine uygulanabilir (Şekil 7.36). PID denetleyicisi Orantılı-integral-türev (PID) denetleyicisi en popülerlerden biridir ve en çok sayıda cihazda kullanılır. farklı türler Sistemin hızlı yanıt vermesini ve konumlandırma doğruluğunu gerektiren. Adından da anlaşılacağı gibi bu regülatör üç bileşenin toplamından oluşur ve Şekil 2'de grafiksel olarak gösterilmektedir. 7.37. Pirinç. 7.37. PID denetleyici devresi. Bu basitleştirilmiş bir diyagramdır. Dinamik hata e(t)'nin değeri kontrolör girişine sağlanır ve çıkışta kontrol eylemi u(t) oluşturulur:
Diyagramda üçgen olarak gösterilen orantısal bileşen, sistemin belirli bir duruma konumlandırılmasından sorumludur. Bazı durumlarda, daha sonraki kendi kendine salınımlarla aşırıya kaçmaya neden olabilir. Yani, P-regülatörü "aşırıya kaçabilir" ve robot bir yandan diğer yana sürüklenmeye başlayacaktır. İntegral bileşen, olumsuz deneyimleri biriktirir (hataları toplar) ve telafi edici bir etki yaratır. Minimum sapmalarla orantısal bileşen "zayıflar" ve integral bileşen, toplama yoluyla hızlı artışı nedeniyle kontrollü değerin ayar noktasına "ulaşılmasına" yardımcı olur. Diferansiyel bileşen (D bileşeni), sistemin durumundaki değişim hızını izler ve olası aşmayı önler. Bazı durumlarda, D bileşeni orantılı olanın işareti bakımından zıttır, diğerlerinde ise çakışır. Oransal bileşeni zaten biliyoruz, diferansiyel olanı önceki 6. bölümde anlatılmıştı. Haydi integrali ele alalım. Bu bileşen dinamik olarak belirlenir ve önceki değerle toplanır: i = i + ki × e(t) × dt. e (t) × dt miktarının fiziksel anlamı şudur: sistemin hata durumunda kalma süresiyle orantılıdır. k i katsayısı parantezlerin dışına alındığı için i değerinden hata sürelerinin toplamı olarak bahsedebiliriz. Böylece integrali toplama yoluyla buluyoruz. İki tekerlek üzerinde dengeleme yapan bir robot örneğini kullanarak bir PID denetleyicinin kullanımını ele alalım. Bu klasik problem, farklı sensörler kullanılarak çeşitli şekillerde çözülebilir. Önerilen örnekte bir ışık sensörü kullanılmış ve en basit biçim PID denetleyicisi. Ancak robot stabilizasyonunun sağlanması, daha doğru sensör okumalarının kullanılmasını gerektirecektir. RAW formatı Sensör verileri NXT kontrol cihazına işlenmemiş, ham formda girer. Tüm sensörler iletir işletim sistemi 0 ila 1023 arasında bir dijital değer, daha sonra ilgili sürücü tarafından işlenir ve daha anlaşılır bir forma indirgenir (mesafe 0...255, aydınlatma 0...100, dokunma 0 veya 1, vb.). Ancak veriler sürücüyü atlayarak doğrudan alınabilir. Bu ham formata genellikle RAW adı verilir (İngilizce "ham"dan gelir). Bazı durumlarda daha fazla doğruluk elde etmek için kullanılabilir. Örneğin ışık sensörü değerlerinin aralığı yaklaşık 10 kat artabilir. Daha fazla kullanılan bu fırsattır. Hem Robolab hem de RobotC'de RAW formatında veri alabilirsiniz. Bunu yapmak için sensör uygun şekilde başlatılır ve veriler önceden tanımlanmış özel bir değişken kullanılarak ondan okunur. Dengeleme robotu Segway robotunun tasarımı Şekil 2'de gösterilmektedir. Şekil 7.38: dikey olarak konumlandırılmış kontrol ünitesi, yakın yerleştirilmiş tekerlekler ve aşağıya bakan ışık sensörü. Algoritma biraz daha karmaşık olacak. Segway'i dengeli bir pozisyonda sabitleme prensibi aşağıdaki gibidir. Robot öne eğilirse, yansıyan ışık nedeniyle ışık sensörü okuması artar. Buna yanıt olarak robotu ileri doğru hareket etmeye ve dolayısıyla tekrar dikey pozisyon almaya zorlayan bir kontrol eylemi oluşturulur. Geriye doğru hareket ederken sensör okumaları azalır ve robot geriye doğru hareket etmeye başlar. Tüm bunlardan orantısal bileşen sorumludur. İntegral ve diferansiyel bileşenlerin rolü, aşıma karşı sigorta tarafından oynanır. Pirinç. 7.38. Segway robotunu dengeleme. Şek. 7.39, Robolab'daki algoritmayı göstermektedir. Çoğu değişkenlerin başlatılmasıyla meşgul. Doğruluğu artırmak için, yalnızca sensör verileri RAW formatında okunmaz, aynı zamanda değişkenlerin çoğu gerçek kayan formatta bildirilir. PID algoritmasının kendisi bir döngü içerisindedir. Pirinç. 7.39. Dengeleyici algoritması bir PID denetleyiciye dayanmaktadır. Çizgi boyunca hareket etme geleneğini takip ederek, gri değişkeni bir ayar noktası olarak kullanırız; bu, denge konumundaki ışık sensörünün ortalama okumalarıdır. Yeni ölçek parametresi, kontrol eyleminin ölçeklendirmesini belirtir. Bu aslında 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 eklemek mümkün olacaktır ancak RobotC için bu parametre farklı olacaktır ancak katsayılar aynı olacaktır. Verilen katsayılarla robot düz, açık renkli bir muşamba veya masa üzerinde iyi bir şekilde dengelenir. Yani ihtiyacı yok beyaz yüzeyler. Başlatmak için Segway'i doğru bir şekilde denge konumuna ayarlamanız gerekir. Robot ileri veya geri bir miktar eğimle başlarsa hemen eğim yönünde hareket etmeye başlayacaktır. RobotC'deki benzer bir örnek, çeşitli nedenlerden dolayı biraz farklıdır. Öncelikle NXT'nin bu ortamın firmware'i ile performansı Robolab'ınkinden yaklaşık 1,4 kat daha yüksektir, bu nedenle ölçek faktörünün arttırılması gerekir. İkinci olarak RAW değerleri aktarılır. doğru sırayla ve motorları tersine çevirecek şekilde ayarlamanız veya basitçe bir negatif kontrol eylemi uygulamanız gerekecektir: int grey=SensorRaw; int hata, hata=0; float kp=25, ki=350, kd=0.3; kayan ölçek=14; kayan nokta dt=0,001; float p, i=0, d, u; iken (doğru) err= grey-SensorRaw; //Ters işaretli sapma p=kp*hata; i=i+ki*hata*dt; d=kd*(hata-hata)/dt; hata=hata; u=(p+i+d)/ölçek; motor=u; motor=u; wait1Msec(1); Okulda otomatik kontrol teorisinin unsurları1 Önemli ve ilginç bir metodolojik görev, bir uzmanın ve öğrencinin bilgi alanları arasında "bir köprü kurmak", okul öğrencilerinin gelecekteki bir uzmanlık alanını görmelerine yardımcı olmaktır; kariyer rehberliğini yürütürler ve öğrenciler kendi kariyer rehberliklerinin pratik uygulanabilirliğini görürler mesleki bilgi. Benzer bir etki elde etmek için, düzenleyicilerin hesaplanmasına yönelik yöntemler, matematiksel araçların ötesine geçmeyen matematiksel araçlar kullanılarak geliştirildi. okul programları matematik ve fizikte. Özellikle, bunun yerine diferansiyel denklemler Bilgisayar kontrolünde nesne ile kontrolör arasındaki etkileşimin ayrık doğasına iyi karşılık gelen farklar kullanılır. Örneğin, mobil bir robotun duvar boyunca hareketinin kontrol edilmesi probleminde orantılı (P) ve orantısal-türevli (PD) kontrolörlerin oluşturulması problemini ele alalım. t = 0, 1, 2 olmak üzere sırasıyla robot ile duvar arasındaki mesafeyi x t ile, θt ile robotun yön açısını ve u t ile - o andaki kontrol eylemini t seri numarası ile gösterelim. ... - değişim anlarının sayısı renyum. Sensörlerin yoklanmasının ve kontrol eyleminin büyüklüğündeki değişikliklerin eşit h zaman aralıklarında gerçekleştirildiğine inanılmaktadır. Lego NXT robotlarının kontrol görevleri için kontrol eyleminin fark olduğunu varsaymak doğaldır. açısal hızlar yön açısının değişim hızıyla orantılı tekerlek dönüşü: Nominal θt =0'dan rota sapmalarının küçük olduğu ve robotun ortalama hızının sabit olduğu varsayılırsa: vt=v, robotun durum değişkenlerindeki değişikliklerin dinamiği bir ilk yaklaşımla tanımlanabilir. doğrusal denklemlerşunu belirtir: burada g = h2vr / b. Duvara istenilen mesafeyi x*>0 olarak ayarlayalım ve şu bağıntı ile kontrol hedefini (CT) belirleyelim.
Şimdi doğal olarak asimptotik kararlılık kavramını asimptotik stabilite kavramını sistem (4) çözümlerinin bir özelliği olarak tanıtalım ve hedef değerden (5) çok az farklı olan herhangi bir başlangıç koşulu altında hedef değere (5) ulaşılmasını garanti edelim. u t = 0 için denklem (4)'ün çözümünün herhangi bir x t = x* sabit değeri olduğunu görmek kolaydır. Ancak çift integratör (çift toplayıcı) modeline karşılık gelen denklem (4) asimptotik kararlılık özelliğine sahip olmadığından, kontrol merkezi (5) sürekli yönetim ulaşılamıyor. Bu, bir takım hususların özetlenmesiyle analitik olarak kolaylıkla kanıtlanabilir. |
Yeni
- Kışın Yüzü Çocuklar için Şiirsel Sözler
- Rusça dersi "isimlerin tıslamasından sonra yumuşak işaret"
- Cömert Ağaç (mesel) Cömert Ağaç masalına mutlu son nasıl eklenir?
- “Yaz ne zaman gelecek?” Konulu çevremizdeki dünya hakkında ders planı.
- Doğu Asya: ülkeler, nüfus, dil, din, tarih İnsan ırklarını aşağı ve yukarı diye ayıran sahte bilimsel teorilerin rakibi olarak gerçeği kanıtladı
- Askerlik hizmetine uygunluk kategorilerinin sınıflandırılması
- Maloklüzyon ve ordu Maloklüzyon orduya kabul edilmiyor
- Neden ölü bir anneyi canlı hayal ediyorsun: rüya kitaplarının yorumları
- Nisan ayında doğan insanlar hangi burçlara sahiptir?
- Neden deniz dalgalarında bir fırtına hayal ediyorsunuz?