EUCLIDEAN UNTUK PELURUSAN PADA ROBOT MAZE




perubahan nilai |PQ| membuat perjalanan sedikit bergelombang dikarenakan nilai |PQ| tersebut mempengaruhi nilai dari PWM motor(kecepatan motor pada masing2 roda), dan pada kasus yang biasa terjadi gelombang tersebut dapat diperhalus lagi dengan menggunakan sistem PID dengan nilai |PQ| sebagai nilai errornya, tapi tenang penggunaan kali ini belum sampai pada penambahan sistem PID untuk bentuk sederhananya bisa seperti berikut :
void euclid(){
r=20cm;                                      //misal jarak untuk referensi untuk pingp
s=20cm;                                     //misal jarak untuk referensi untuk pingq
pingp();                                      //untuk memanggil pingp dan mengambil jaraknya
pingq();                                     //untuk memanggil pingq dan mengambil jaraknya
pr=pingp-r ;
qs=pingq-s ;
maxpwm=255;             /*bisa diatur sesuai kebutuhan robot, (tiap robot memiliki kecepatan berbeda-beda)*/
if(pingp                                                                   //posisi robot miring kekiri
for(a=0;a<=pq;a++){
lpwm=maxpwm-pq; rpwm=maxpwm;
}
goto keluar;
}
else if(pingp>pingq){                                         //posisi robot miring kekanan
for(a=0;a<=pq;a++){
lpwm=maxpwm; rpwm=maxpwm-pq;
}
goto keluar;
}
else if(pingp==pingq){                                            //posisi robot sejajar tembok
if(pq==0){
goto keluar;}
else if((pingp<20)&&(pingq<20)){
for(a=0;a<=pq;a++){
lpwm=maxpwm-pq; rpwm=maxpwm;
}
goto keluar;}
else if((pingp>20)&&(pingq>20)){
for(a=0;a<=pq;a++){
lpwm=maxpwm; rpwm=maxpwm-pq;
}
goto keluar;
}
}
keluar:
}




semoga membantu !!


Postingan terkait:

Belum ada tanggapan untuk "EUCLIDEAN UNTUK PELURUSAN PADA ROBOT MAZE"

Kontes Robot

Kontes Robot