İki Tekerlekli Denge Robotu

western7

Üye
Katılım
9 May 2020
Mesajlar
13
Puanları
1
Merhaba, daha önce Arduino Uno kullanarak denge robotu tasarlayan var mı acaba aramızda?
Kendim internetteki örneklerden yararlanarak bir sistem oluşturdum; fakat dengede durduramıyorum robotu. Tecrübe sahibi biri yardımcı olabilirse çok sevinirim.
 
Pek yardımla yapılacak kadar kolay bir iş değil.

Ya bulduğun güvenilir bir örneğin vidasına somununa kadar milimetreden kat kat hassasiyetle birebir aynısını yapacaksın,
kullanılan donanımın birebir aynısını kullanacaksın ki düzgün çalışsın
yada
tasarladığın sistemin giriş çıkış tepkilerini matematiksel olarak modelleyip
PID kullanarak kontrolünü sağlayacaksın
bu cümle 1 yıllık çalışma demek.
 
Pek yardımla yapılacak kadar kolay bir iş değil.

Ya bulduğun güvenilir bir örneğin vidasına somununa kadar milimetreden kat kat hassasiyetle birebir aynısını yapacaksın,
kullanılan donanımın birebir aynısını kullanacaksın ki düzgün çalışsın
yada
tasarladığın sistemin giriş çıkış tepkilerini matematiksel olarak modelleyip
PID kullanarak kontrolünü sağlayacaksın
bu cümle 1 yıllık çalışma demek.
Peki aynı malzeme ve dizayn kullanılarak hazırlanmış bir sistemde( sadece iskelet ölçüleri ve ağırlığı farklı) kodda belirli kısımlarda düzenleme yapılarak yani kp,ki,kd değerlerinin değiştirilmesiyle robot dengede durdurulamaz mı?
 
Yeterince kurcalarsan değerleri durabilir.
Bunun için bazı yömtemlerde var.
PID değerlerini ayarlama gibi aratırsan çıkar birşeyler.
Kısaca önce Ki Kd sıfır verip sadece Kp değiştirerek o ki dengede duruyormuş gibi olduğu anı bul
sonra bu Kp değerini değiştirmeden
sadece Ki değeriyle oynayıp dengede duruyormuş gibi olduğu Ki yi bul,
bulduğun Kp Ki ile veya sadece Kp ile aynı yöntem Kd yi bul,
sonra üçünü birleştirip hepsine ince ayar yap gibi...

Bunun işe yaramama ihtimalide var
kopyaladığın kodun kullamdığı sensör verisi verileri
eğer tasarlanmış sistem için misal 0-100 arası algıladığı değişime karşılık lineer değer üreten bir yapı ise ve
senin sensör diyelim 0-256 arası logaritmik bir veri üretiyorsa
boşuna oynuyor olursun.

Sinyal işleme, kontrol algoritmaları vs. aleminin hoş geldin deme şekli bu şekilde.
 
Son düzenleme:
@karaapak'ın dediği gibi çok uzun bir süreç. Ama internette böyle bir video buldum belki işinize yarar:
 
@Affansen teşekkür ederim video için, yerli yabancı bir çok video izledim; fakat benim en son karar verdiğim dizayn yabancı bir sitedendi gerçi ama o da bu şekildeydi. 3 katlıydı sadece pleksi levhayla hazırladım ben ve sisteme gücü 6'lı AA pil ile verdim Arduino üzerinden.

@karaapak teşekkür ederim bilgiler için, açıkçası sizin dediğiniz gibi değerleri sırasıyla deneyerek yapmaya çalıştım fakat sürekli tek yöne kaydı robot. O yüzden aynı sistemi bir daha baştan kuruyorum. Sadece şunu merak ettim, boşa oynayıp oynamadığımı nasıl anlayabilirim? Bahsettiğiniz lineer değerlerle alakalı. Birebir aynı model sensörleri kullandım çünkü örneğe bakıp, dediğim gibi sadece sistem ağırlığı bir tık fazla iskeletinde pleksi levha kullandığım ve vida ile sabitlediğim için.
 
Yabancı kaynak kullanabiliyorsan işin kolay bu adamın işleri güzel, iyi örnek olur:



Şuan denediğin örneği bilmediğimden bir şey söylemek pekte doğru olmaz aslında.
Belkide aldığın örneği yapanda şansa öyle bir çalıştırdı yada çalışan örneği vermiypr vs. bunlar yaşanan şeyler.

Boşa derken aslında PID öğrenmeye çalışsan daha doğru olur.
Yoksa boşa gitmez öğrenirsin yinede birşeyler.
Sensörler aynı ise bir nebze çalışma ihtimali olur.
Yinede sistemin dinamiği değiştiği için sıkıntıda olabilir.
Yukarıdaki adamı takip edersen başka videolarında sistem modellemesi vs. işi ne kadar çok değiştiriyor örneğiyle görmüş olursun.

Başa dönersek deneme yanılma ile ortalama 20-25 saat aralıksız deneme yapman gerekir,
hiç beklemediğin bir anda çalışır.
Tabi bu denemeleri yaparken stabilite sağlanması için tek eksiğin PID parametrelerinin uygunluğuna kaldığını varsayarsak böyle.
Arada pil zayıflıyordur, motor sıkışıp uygulanan güçte gereken tepkiyi sağlayamıyordur, sensör yanlış ölçüm yapıyordur, zamanında ölçüm yapamıyordur vs. birçok parametre var,
bunların hepsi tamam olacak
sonra PID.

:)
 
Yabancı kaynak kullanabiliyorsan işin kolay bu adamın işleri güzel, iyi örnek olur:



Şuan denediğin örneği bilmediğimden bir şey söylemek pekte doğru olmaz aslında.
Belkide aldığın örneği yapanda şansa öyle bir çalıştırdı yada çalışan örneği vermiypr vs. bunlar yaşanan şeyler.

Boşa derken aslında PID öğrenmeye çalışsan daha doğru olur.
Yoksa boşa gitmez öğrenirsin yinede birşeyler.
Sensörler aynı ise bir nebze çalışma ihtimali olur.
Yinede sistemin dinamiği değiştiği için sıkıntıda olabilir.
Yukarıdaki adamı takip edersen başka videolarında sistem modellemesi vs. işi ne kadar çok değiştiriyor örneğiyle görmüş olursun.

Başa dönersek deneme yanılma ile ortalama 20-25 saat aralıksız deneme yapman gerekir,
hiç beklemediğin bir anda çalışır.
Tabi bu denemeleri yaparken stabilite sağlanması için tek eksiğin PID parametrelerinin uygunluğuna kaldığını varsayarsak böyle.
Arada pil zayıflıyordur, motor sıkışıp uygulanan güçte gereken tepkiyi sağlayamıyordur, sensör yanlış ölçüm yapıyordur, zamanında ölçüm yapamıyordur vs. birçok parametre var,
bunların hepsi tamam olacak
sonra PID.

:)
Hocam yabancı kaynak kullanıyorum da aşağıdaki gibi basit bir örneği yapmaya çalışıyorum; fakat başarılı olamadım bir türlü. Robotum hiç dengede durmuyor maalesef. Videoda dendiği gibi Kp, Ki, Kd değerlerini değiştirmeye çalışsam bile. 1 hafta içinde de tamamlamam lazım, ne yapacağımı şaşırdım.

 

Forum istatistikleri

Konular
129,867
Mesajlar
930,872
Kullanıcılar
452,732
Son üye
erencok

Yeni konular

Çevrimiçi üyeler

Geri
Üst