Bununla ilgili herhangi bir sorun var mı?
Bununla ilgili ana sorun, önerilen çözümünüzün motorların performansı arasındaki bir uyumsuzluk için hemen doğru olmasına rağmen, Abbe hatası gibi pozisyonda daha karmaşık hatalar olsa da birikmiş hatayı düzeltmeyecektir (daha sonra bakınız).
Daha iyi bir yaklaşım nedir?
Hatalara toleransınızın ne olduğuna ve bunları düzeltmek için ne kadar çaba harcamak istediğinize bağlı olarak yapabileceğiniz birkaç şey vardır.
İlk adım, her bir tekerlek için birer tane olmak üzere her ikisine de aynı talep pozisyonunu veren bir çift PID döngüsü kurmak olacaktır. Benzer bir soruya cevabımda önerdiğim gibi , her iki tekerleği de olmasını istediğiniz yere bağlı çok sıkı bir hata içinde tutarsanız, fark edilir bir dönüşüme neden olacak bir hata biriktirmek biraz zaman alacaktır.
Ayrıca, nominal olarak bağımsız iki Motor seviyesi PID döngüsünü ayarlamak, tek bir karmaşık, birbirine bağlı kombine sistemi ayarlamaktan daha kolay olacaktır. Daha yüksek seviye kontrol çalışmalarında herhangi bir değişikliğe dayanabilmek için, her bir motorun diğer motora mümkün olduğunca aynı şekilde davranması gerekir ve bu gerçekten de ayrı servo döngüleri gerektirir.
Bununla birlikte, bir takım başka komplikasyonlar vardır ve bu, hangi doğruluğa ihtiyacınız olduğunu ve hangi çözümü seçtiğiniz için onları düzeltmek için ne kadar çaba harcamanız gerektiğine bağlıdır. O olabilir leyen yeterlidir, ya da robota Bağıl veya Mutlak pozisyon tespiti eklemek gerekebilir.
Bir sorun, sol ve sağ tekerleklerinizin her ikisi de 1000 kodlayıcı sayısını hareket ettirse bile , yine de iki farklı çalışmada farklı bir konumda olabilirsiniz.
Örneğin, maksimum 10 kodlayıcı sayısında aşağıdaki hataya sahip olduğunuzu ve motorlarınızın PID döngü yinelemesi başına 10 kodlayıcı sayımı hızında çalıştığını varsayalım. Sol motorunuz 5,10,10,10 ... 10,5 hareket edebilirken, sağ motorunuz 4,11,10,10 ... 10,5'lik bir profile ve hatta başlangıçtaki hızlanmadaki ufak bir farka sahip olabilir. hareketin robotun biraz yanlış yönde hareket etmesine neden olabilir. Sadece bu değil, bu yönde ne kadar ilerlerseniz, hata mutlak anlamda o kadar büyük olacaktır. Abbe hatasından bahsederken bahsettiğimiz şey budur ve karmaşık bir kinematik model veya bir çeşit dış referans olmadan, bunu asla düzeltemeyeceksiniz.
Daha fazla bilgi için benzer ancak oldukça yinelenmeyen bir soruya verdiğim cevaba bakın : Bir robotu düz bir çizgide sürmek için Arduino PID kütüphanesini nasıl kullanabilirim?
ve aynı zamanda ilgili Line Follower optimizasyonuna cevabım