Sensor GPS#

Introdução#

O sensor V5 GPS (Game Positioning System™) proporciona um seguimento preciso da posição e orientação de um robô no campo VEX. Utiliza o código GPS do campo em redor do perímetro para calcular as coordenadas X e Y e a direção do robô em tempo real.

O sensor GPS devolve a posição do robô utilizando um ponto de referência calculado automaticamente a partir dos deslocamentos introduzidos ao configurar o sensor GPS na janela Dispositivos.

Para obter mais informações sobre o sensor GPS, leia Utilizar o sensor GPS com VEX V5 na biblioteca VEX.

O ponto de referência atua como a própria posição (0, 0) do sensor GPS, onde todas as coordenadas, direções e movimentos devolvidos pelos métodos GPS são relativos a este ponto configurado.

O sensor GPS VEX V5.

Esta página utiliza gps_sensor como exemplo do nome do sensor GPS. Substitua-o pelo nome que configurou, se necessário.

Segue-se uma lista dos métodos disponíveis:

  • calibrate – Calibra o sensor GPS para definir a sua direção como a direção atual da transmissão.

  • set_origin – Define a posição do ponto de referência no robô.

  • set_location – Define a posição e a direção do ponto de referência no Campo.

  • x_position – Devolve a coordenada x do ponto de referência no Campo.

  • y_position – Devolve a coordenada y do ponto de referência no Campo.

  • heading – Retorna o rumo do ponto de referência com base na orientação do campo.

  • acceleration – Devolve a aceleração do robô num eixo selecionado.

  • gyro_rate – Devolve a velocidade de rotação do robô num eixo selecionado.

  • orientation – Devolve a orientação de rotação, inclinação ou guinada do robô em graus.

  • quality – Devolve a intensidade do sinal do sensor GPS.

  • changed – Regista uma função a ser chamada sempre que o sensor GPS detete uma mudança de direção.

Construtor – Inicializa manualmente um sensor GPS.

  • Gps – Cria um sensor GPS.

calibrar#

O comando calibrate pois qualquer movimento durante a calibração produzirá resultados imprecisos.

Usage:
gps_sensor.calibrate()

Parâmetros

Descrição

Este método não tem parâmetros.

definir_origem#

O comando set_origin define manualmente a posição do ponto de referência no robô. Isto permite definir manualmente a localização de um sensor GPS no robô, em vez de o fazer nas definições.

Usage:
gps_sensor.set_origin(x, y, distance_units)

Parâmetros

Descrição

x

A coordenada x do ponto de referência no robô.

y

A coordenada y do ponto de referência no robô.

unidades_de_distância

As unidades de medida para as coordenadas x e y são:

  • MM – milímetros
  • INCHES

# GPS Sensor is mounted 25mm forward
# from the reference point on a robot

gps.set_origin(0, 25, MM)

definir_local#

O comando set_location define manualmente a posição e a direcção do ponto de referência no campo. Isto pode ser feito para ajudar a reduzir as imprecisões no caso de o sensor GPS estar demasiado próximo das paredes do campo no arranque, impedindo-o de obter uma quantidade suficiente do código GPS do campo no seu campo de visão.

Uma vista de cima para baixo do campo VEX V5 mostrando o sensor a olhar para o código do campo nas laterais do campo.

Usage:
gps_sensor.set_location(x, y, distance_units, heading, heading_units)

Parâmetros

Descrição

x

A coordenada x do ponto de referência no campo.

y

A coordenada y do ponto de referência no campo.

unidades_de_distância

As unidades de medida para as coordenadas x e y são:

  • MM – milímetros
  • INCHES

cabeçalho

A direção para a qual o ponto de referência está virado em relação à direção absoluta do campo, variando de 0 a 359,9 graus.

unidades_de_cabeçalho

A unidade de medida para o título é:DEGREES

posição x#

x_position devolve a coordenada x do ponto de referência no campo.

Usage:
gps_sensor.x_position(units)

Parâmetros

Descrição

unidade

Unidade de medida:

  • MM – milímetros
  • INCHES

posição_y#

y_position devolve a coordenada y do ponto de referência no campo.

Usage:
gps_sensor.y_position(units)

Parâmetros

Descrição

unidade

Unidade de medida:

  • MM – milímetros
  • INCHES

cabeçalho#

heading devolve a direcção do ponto de referência com base na orientação do campo, de 0 a 359,9 graus.

O rumo corresponde ao rumo absoluto do campo, que varia de 0º a 359,9º no sentido dos ponteiros do relógio. O 0º está na posição das 12 horas.

Uma vista de cima para baixo do campo VEX V5 mostrando os graus em redor do campo.

Usage:
gps_sensor.heading()

Parâmetros

Descrição

Este método não tem parâmetros.

aceleração#

A aceleração acceleration variando de -4,0 a 4,0 Gs.

Usage:
gps_sensor.acceleration(axis)

Parâmetros

Descrição

eixo

Que veio utilizar:

  • AxisType.XAXIS
  • AxisType.YAXIS
  • AxisType.ZAXIS

taxa_giro#

gyro_rate devolve a velocidade de rotação do robô num eixo selecionado.

Usage:
gps_sensor.gyro_rate(axis, units)

Parâmetros

Descrição

eixo

Que veio utilizar:

  • AxisType.XAXIS
  • AxisType.YAXIS
  • AxisType.ZAXIS

unidades

Unidade de medida:

  • VelocityUnits.DPS – graus por segundo, de -1000 a 1000
  • VelocityUnits.RPM – rotações por minuto, de -167 a 167

orientação#

A orientação orientation rotação, inclinação ou guinada do robô em graus.

Usage:
gps_sensor.orientation(axis, units)

Parâmetros

Descrição

eixo

Que orientação utilizar:

  • OrientationType.ROLL
  • OrientationType.PITCH
  • OrientationType.YAW

unidades

A unidade de medida:DEGREES

qualidade#

quality returns the signal strength of the GPS Sensor as a percent.

Valores possíveis

Descrição

100

Todos os dados de posição e direção reportados pelo sensor GPS são válidos.

~90

Os dados de posicionamento já não são calculados através da captura de informações do código de campo do GPS, mas sim por meios alternativos.

0 - 80

Apenas os valores de direção do sensor GPS são válidos, mas com o passar do tempo, enquanto o sensor GPS não estiver a digitalizar campos suficientes do código GPS para determinar com precisão a posição e a direção, a qualidade do sinal reportado continuará a cair até chegar a 0, altura em que todos os dados do sensor GPS ficam efetivamente congelados e deixam de ser válidos.

Usage:
gps_sensor.quality()

Parâmetros

Descrição

Este método não tem parâmetros.

mudado#

changed regista uma função a ser chamada sempre que o sensor GPS detete uma mudança de direção.

Usage:
gps_sensor.changed(callback, arg)

Parâmetros

Descrição

callback

Uma função previamente definida que é executada quando a direção do sensor GPS muda.

arg

Opcional. Uma tupla contendo argumentos para passar para a função de callback. Consulte Utilizar funções com parâmetros para obter mais informações.

def my_function():
  brain.screen.print("GPS heading changed")

# Call my_function whenever gps_sensor's heading changes
gps_sensor.changed(my_function)

Construtor#

Os construtores são utilizados para criar manualmente objetos Gps , que são necessários para configurar um sensor GPS fora do VEXcode.

Gps#

Gps cria um sensor GPS.

Usage:
Gps(smartport)

Parâmetro

Descrição

smartport

A porta inteligente à qual o sensor GPS está ligado é representada por Ports.PORTx , onde x é o número da porta.

# Create a GPS Sensor in Port 10
gps_sensor = Gps(Ports.PORT10)