Menu TI Rover

Nota: Ao criar um novo programa que utilize este módulo, recomenda-se a utilização do tipo de programa Codificação Rover. Isto irá garantir que todos os módulos relevantes são importados.

Item

Descrição

importar ti_rover como rv

Importa todos os métodos (funções) do módulo ti_rover no espaço do nome "rv". Como resultado, todos os nomes de funções colados dos menus serão precedidos por "plt.".

 

Condução

Item

Descrição

forward(distance)

Move o Rover para a frente na distância especificada em unidades de grelha.

backward(distance)

Move o Rover para trás na distância especificada em unidades de grelha.

left(angle_degrees)

Vira o Rover para a esquerda no ângulo especificado em graus.

right(angle_degrees)

Vira o Rover para a direita no ângulo especificado em graus.

stop()

Para qualquer atual movimento imediatamente.

stop_clear()

Pára imediatamente qualquer movimento atual e apaga todos os comandos pendentes.

resume()

Retoma o processamento de comandos.

stay(time)

O rover permanece no lugar por um período de tempo especificado em segundos (opcional).

Se não for especificado qualquer tempo, o Rover permanece durante 30 segundos.

to_xy(x,y)

Move o Rover para a posição de coordenadas (x,y) na grelha virtual.

to_polar(r,theta_degrees)

Move o Rover para a posição de coordenadas polares (x,y) na grelha virtual.

O ângulo é especificado em graus.

to_angle(angle,"unit")

Gira o rover para o ângulo especificado na grelha virtual.

O ângulo é relativo a um ângulo zero que aponta para o eixo x na grelha virtual.

 

Condução > Condução com opções

Item

Descrição

forward_time(time)

Move o Rover para a frente durante o tempo especificado.

backward_time(time)

Move o Rover para trás durante o tempo especificado.

forward(distance,"unit")

Move o Rover para a frente à velocidade predefinida para a distância especificada.

A distância pode ser especificada em unidades de grelha, metros ou rotações da roda.

backward(distance,"unit")

Move o Rover para trás à velocidade predefinida para a distância especificada.

A distância pode ser especificada em unidades de grelha, metros ou rotações da roda.

left(angle,"unit")

Vira o Rover para a esquerda segundo o ângulo especificado.

O ângulo pode ser em graus, radianos ou gradianos.

right(angle,"unit")

Vira o Rover para a direita segundo o ângulo especificado.

O ângulo pode ser em graus, radianos ou gradianos.

forward_time(time,speed,"rate")

Move o Rover para a frente durante o tempo especificado à velocidade especificada.

A velocidade pode ser especificada em unidades de grelha/s, metros/s ou rotações da roda/s.

backward_time(time,speed,"rate")

Move o Rover para trás durante o tempo especificado à velocidade especificada.

A velocidade pode ser especificada em unidades de grelha/s, metros/s ou rotações da roda/s.

forward(distance,"unit",speed,"rate")

Move o Rover para a frente na distância especificada à velocidade especificada.

A distância pode ser especificada em unidades de grelha, metros ou rotações da roda.

A velocidade pode ser especificada em unidades de grelha/s, metros/s ou rotações da roda/s.

backward(distance,"unit",speed,"rate")

Move o Rover para trás na distância especificada à velocidade especificada.

A distância pode ser especificada em unidades de grelha, metros ou rotações da roda.

A velocidade pode ser especificada em unidades de grelha/s, metros/s ou rotações da roda/s.

 

Entradas

Item

Descrição

ranger_measurement()

Lê o sensor de distância ultrassónica na parte frontal do Rover, devolvendo a distância atual em metros.

color_measurement()

Devolve um valor de 1 a 9, indicando a cor predominante a ser "visualizada" pelo sensor de entrada de cor do Rover.

1 = vermelho

2 = verde

3 = azul

4 = ciano

5 = magenta

6 = amarelo

7 = preto

8 = cinzento

9 = branco

red_measurement()

Devolve um valor entre 0 e 255 que indica o nível vermelho captado pelo sensor de entrada de cor.

green_measurement()

Devolve um valor entre 0 e 255 que indica o nível verde captado pelo sensor de entrada de cor.

blue_measurement()

Devolve um valor entre 0 e 255 que indica o nível azul captado pelo sensor de entrada de cor.

gray_measurement()

Devolve um valor entre 0 e 255 que indica o nível cinzento captado pelo sensor de entrada de cor.

encoders_gyro_measurement()

Devolve uma lista de valores que contêm contagens do codificador da roda esquerda e direita, bem como a direção atual do giroscópio.

gyro_measurement()

Devolve um valor que representa a leitura atual do giroscópio, incluindo o desvio, nos graus.

ranger_time()

Devolve o tempo que o sinal ultrassónico do sensor TI-Rover demora a chegar ao objeto (o "tempo de voo").

 

Saídas

Item

Descrição

cor_rgb(r,g,b)

Define a cor do LED RGB do Rover para os valores específicos de vermelho, verde e azul.

color_blink(frequency,time)

Define a frequência de intermitência e a duração da cor selecionada.

cor_off()

Desliga o LED RGB do Rover.

motor_left(speed,time)

Define a potência do motor esquerdo para o valor especificado para a duração especificada.

A velocidade está no intervalo -255 a 255 com 0 a representar paragem. Os valores de velocidade positivos são a rotação no sentido anti-horário e os valores da velocidade negativa no sentido horário.

O parâmetro de tempo opcional, se especificado, tem um intervalo válido de 0,05 a 655,35 segundos. Se não for especificado, é utilizada uma predefinição de 5 segundos.

motor_right(speed,time)

Define a potência do motor esquerdo para o valor especificado para a duração especificada.

A velocidade está no intervalo -255 a 255 com 0 a representar paragem. Os valores de velocidade positivos são a rotação no sentido anti-horário e os valores da velocidade negativa no sentido horário.

O parâmetro de tempo opcional, se especificado, tem um intervalo válido de 0,05 a 655,35 segundos. Se não for especificado, é utilizada uma predefinição de 5 segundos.

motors("ldir",left_val,"rdir",right_val,time)

Define a roda esquerda e direita para os níveis de velocidade especificados, durante um período de tempo opcional em segundos.

Os valores da velocidade (left_val, right_val) estão no intervalo de 0 a 255 com 0 a representar paragem. Os parâmetros ldir e rdir especificam a rotação CW (sentido horário) ou CCW (sentido anti-horário) das respetivas rodas.

O parâmetro de tempo opcional, se especificado, tem um intervalo válido de 0,05 a 655,35 segundos. Se não for especificado, é utilizada uma predefinição de 5 segundos.

 

Caminho

Item

Descrição

waypoint_xythdrn()

Lê a coordenada x, coordenada y, tempo, direção, distância percorrida, número de rotações da roda, número de comando da localização atual. Retorna uma lista com todos estes valores como elementos.

waypoint_prev

Lê a coordenada x, coordenada y, tempo, direção, distância percorrida, número de rotações da roda, número de comando da localização anterior.

waypoint_eta

Devolve o tempo estimado para conduzir até uma localização.

path_done()

Devolve um valor de 0 ou 1, dependendo se o Rover está a mover-se (0) ou terminou todos os movimentos (1).

pathlist_x()

Devolve uma lista de valores X desde o início até e incluindo o valor X da localização atual.

pathlist_y()

Devolve uma lista de valores Y desde o início até e incluindo o valor Y da localização atual.

pathlist_time()

Devolve uma lista do tempo em segundos desde o início até e incluindo o valor atual de tempo da localização.

pathlist_heading()

Devolve uma lista das direções desde o início até e incluindo o valor atual de direção da localização.

pathlist_distance()

Devolve uma lista das distâncias percorridas desde o início até e incluindo o valor atual da distância da localização.

pathlist_revs()

Devolve uma lista do número de rotações percorridas desde o início até e incluindo o valor atual de rotações da localização.

pathlist_cmdnum()

Devolve uma lista de números de comando para o caminho.

waypoint_x()

Devolve a coordenada x da localização atual.

waypoint_y()

Devolve a coordenada y da localização atual.

waypoint_time()

Devolve o tempo gasto a viajar da localização anterior à atual.

waypoint_heading()

Devolve a direção absoluta da localização atual.

waypoint_distance()

Devolve a distância percorrida entre a localização anterior e a atual.

waypoint_revs()

Devolve o número de rotações necessárias para viajar entre a localização anterior e a atual.

 

Definições

Item

Descrição

units/s

Opção para velocidade em unidades de grelha por segundo.

m/s

Opção para velocidade em metros por segundo.

revs/s

Opção para velocidade nas rotações das rodas por segundo.

Unidades

Opção de distância em unidades de grelha.

m

Opção para distância em metros.

revs

Opção para distância em rotações da roda.

graus

Opção de viragem em graus.

radianos

Opção de viragem em radianos.

gradians

Opção de viragem em grados.

no sentido horário

Opção para especificar a direção da roda.

no sentido anti-horário

Opção para especificar a direção da roda.

 

Comandos

Estes comandos são uma recolha de funções de outros módulos, bem como do módulo TI Rover.

Item

Descrição

sleep(seconds)

Pausa o programa durante um número especificado de segundos.

Importado do módulo time.

text_at(row,"text","align")

Apresenta o "texto" especificado na área de representação gráfica no "alinhamento" especificado.

Importado do módulo ti_plotlib.

cls()

Limpa o ecrã Shell para representar graficamente.

Importado do módulo ti_plotlib.

enquanto get_key() != "esc":

Executa os comandos no ciclo "while" até que a tecla "esc" seja premida.

wait_until_done()

Pausa o programa até que o Rover termine o comando atual.

Esta é uma forma útil de sincronizar os comandos não Rover com o movimento do Rover.

while not path_done()

Executa os comandos no ciclo "while" até que o Rover termine todo o movimento.

Devolve um valor de 0 ou 1, dependendo se o Rover está a mover-se (0) ou terminou todos os movimentos (1).

position(x,y)

Define a posição do Rover na grelha virtual para a coordenada x,y especificada.

position(x,y,heading,"unit")

Define a posição do Rover na grelha virtual para a coordenada x,y especificada e a direção virtual, relativamente ao eixo x virtual, é definida se for fornecido uma direção (nas unidades para ângulos especificados).

Presume-se que ângulos positivos de 0 a 360 sejam no sentido anti-horário a partir do eixo x positivo. Presume-se que ângulos negativos de 0 a -360 sejam no sentido horário a partir do eixo x positivo.

grid_origin()

Define RV como estando no ponto de origem da referencial atual, (0,0).

grid_m_unit(scale_value)

Define o espaçamento da grelha virtual em metros por unidade (m/unidade) para o valor especificado. 0,1 é a m/unidade predefinida e traduz-se para 1 unidade = 100 mm ou 10 cm ou 1 dm ou 0,1 m.

O intervalo de scale_value válido é de 0,01 a 10,0.

path_clear()

Limpa qualquer informação de caminho ou localização pré-existente.

zero_gyro()

Repõe o ângulo do giroscópio do Rover para 0,0 e limpa as contagens do codificador da roda esquerda e direita.