Projeto

Geral

Perfil

Decisao desvio » Histórico » Versão 3

Ebert Melo, 23/08/2021 23:53 h

1 1 Ebert Melo
h1. Decisao desvio
2
3 2 Ebert Melo
É apenas uma função criada para fins de teste e retorna sempre 1 (Girar para a esquerda). Porém, encontra-se implementada no arquivo turn.py com o nome rotate().
4
5
A função rotate() primeiramente obtém a imagem tirada pela câmera, por meio da biblioteca picamera, e a salva no path '/home/pi/image.jpg'. Depois, duas funções são chamadas: xy() e edge(). A primeira utiliza a imagem salva para detectar o obstáculo e retornar as coordenadas (x,y) do centro do objeto. Já a segunda, utiliza a imagem para detectar as bordas laterais mais internas à pista e retornar seus coeficientes de reta, junto de um valor j, sendo j = 1 para linha central, j = 2 para borda direita, j = 3 para borda esquerda e j = 0 para nenhuma borda detectada.
6
7
Antes de prosseguir, é preciso saber que as coordenadas cartesianas utilizadas são diferentes das usuais: o eixo y é invertido de forma que o ponto (0,0) está no canto superior esquerdo da imagem. Então, é feita uma mudança de eixos (x', y') = (y, x) em ambas as retas, de modo que trocar os eixos é equivalente a girar o gráfico 90º à esquerda, transformando-o nos eixos cartesianos usuais.
8 3 Ebert Melo
!mudança_de_eixos.png!