Étape 19 : OpenCV : trouver l’Angle
#Don't start moving until things are ready.if iFrame >=160: #This compares the bot's heading with the target angle. It must#be +-30 for the bot to move forward, otherwise it will turn. shortestAngle = targetDegs - intHeadingDeg if shortestAngle >180: shortestAngle -=360if shortestAngle <-180: shortestAngle +=360if shortestAngle <=30and shortestAngle >=-31: tranx =3print"Forward"elif shortestAngle >=1: tranx =2print"Turn Right"elif shortestAngle <1: tranx =4print"Turn Left" | 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 |
156-177 : Ici, nous essayons de trouver l’angle entre le robot et sa cible. Nous avons fondamentalement divisent la totalité de l’écran en quatre quadrants, mais toujours avec centre de gravité du robot comme point d’origine. Nous calculons ensuite la pente entre X la cible et Y (tY, tX) et du robot X et Y (cxAvg et cyAvg).
Quelque chose comme ceci :
Si la cible devait être situé dans le quadrant III, il irait à quelque chose comme ça.
Si vous souhaitez creuser plus loin dans les fonctions trigonométriques en Python, s’amuser. Partager si vous trouvez mieux mathématiques:)