Ir para o conteúdo principal

NetworkTables API completa

Dados básicos de segmento

Use os seguintes códigos:

Java

NetworkTableInstance.getDefault().getTable("limelight").getEntry("<variablename>").getDouble(0);

LABView

Labview_ReadData-630cf73a31982cca34ca114c7d40748e.png

Para retornar os dados:

Parâmetro Descrição
tv Se tem algum alvo válido (0 ou 1)
tx Deslocamento horizontal do ponto alvo (LL1: -27° a 27°/ LL2: -29,8° até 29,8°)
ty Deslocamento vertical do ponto alvo (LL1: -20,5° a 20,5° / LL2: -24,85° a 24,85°)
ta Área Alvo (0% de imagem a 100%)
tl A latência da pipeline (ms). Adicione a cl para conseguir a latência total
cl Captura a latência da pipeline (ms). Tempo entre o final da exposição da linha intermediária do sensor até o começo do pipeline de rastreamento
tshort Comprimento lateral do lado mais curto da caixa de detecção (pixels)
tlong Comprimento lateral do maior lado da caixa de detecção (pixels)
thor Comprimento horizontal da caixa de detecção (0 - 320 pixels)
tvert Comprimento vertical da caixa de detecção (0 - 320 pixels)
getpipe Ìndice de pipeline ativo (0...9)
json JSON completo dos alvos de segmentação
tclass ID de classe do detector neural primário ou do classificador neural
tc Obtenha a cor HSV média abaixo da região da mira como um NumberArray

AprilTag e dados 3D

Use os seguintes códigos:

Java

NetworkTableInstance.getDefault().getTable("limelight").getEntry("<variablename>").getDoubleArray(new double[6]);

C++

nt::NetworkTableInstance::GetDefault().GetTable("limelight")->GetNumberArray("<variablename>",std::vector<double>(6));

Para retornar esse dado:

Parâmetro Descrição
botpose Transformação do robô no espaço do campo. Translação (X, Y, Z), Rotação (Roll, Pitch, Yaw), latência total (cl+tl)
botpose_wpiblue Transformação do robô no espaço do campo (origem na Driver Station azul). Translação (X, Y, Z), Rotação (Roll, Pitch, Yaw), latência total (cl_tl)
botpose_wpired Transformação do robô no espaço do campo (origem na Driver Station red). Translação (X, Y, Z), Rotação (Roll, Pitch, Yaw), latência total (cl_tl)
camerapose_targetspace Transformação 3D da câmera no sistema de coordenadas da AprilTag em vista (array (6))
targetpose_cameraspace Transformação 3D da AprilTag em vista no sistema de coordenadas da câmera
targetpose_robotspace Transformação 3D da AprilTag em vista no sistema de coordenadas do robô
camerapose_robotspace Transofmração 3D da câmera no sistema de coordenadas do robô
tid ID da AprilTag em vista

Controle de câmera

Use os seguintes códigos:

Java

NetworkTableInstance.getDefault().getTable("limelight").getEntry("<variablename>").setNumber(<value>);

LABView

Labview_WriteData-fd5bd3fe2aabc3d1526d298ab594104e.png

C++

nt::NetworkTableInstance::GetDefault().GetTable("limelight")->PutNumber("<variablename>",<value>);

Python

NetworkTables.getTable("limelight").putNumber('<variablename>',<value>)

Para definir esse dado:

Modo do LED Definir o estado do LED
[0] Usa o modo do LED na pipeline atual
[1] Desligado
[2] Piscando
[3] Ligado
Modo da câmera Define o modo de operação
0 Processador de visão
1 Câmera de Driver (Desabilita o processamento)
Pipeline Define a pipeline atual
0..9 Define a pipeline 0...9
Stream Define o modo de gravação da LimeLight
0 Padrão - Transmissão simultânea se tiver uma webcam conectada oa robô
1 PiP Principal - A transmissão da câmera secundária é colocada no canto inferior direito ao da principal
2 PiP secundário - A transmissão da câmera principal é colocada no canto inferior direito ao da secundária
Foto Permite aos usuários tirar fotos durante a partida
0 Reseta o modo de foto
1 Tira uma foto
Recorte (Matriz) Define o recorte retângular. A pipeline deve utilizar o corte padrão da interface web. A matriz deve ter 4 entradas.
[0] X0 - Mín ou Máx valor de X do recorte retângular (-1 a 1)
[1] X1 - Mín ou Máx valor de X do recorte retângular (-1 a 1)
[2] Y0 - Mín ou Máx valor de Y do recorte retângular (-1 a 1)
[3] Y1 - Mín ou Máx valor de Y do recorte retângular (-1 a 1)

camerapose_robotspace_set | (Matriz) Define a posição da câmera no sistema de coordenadas do robô

Java

double[] cropValues = new double[4];
cropValues[0] = -1.0;
cropValues[1] = 1.0;
cropValues[2] = -1.0;
cropValues[3] = 1.0;
NetworkTableInstance.getDefault().getTable("limelight").getEntry("crop").setDoubleArray(cropValues);

C++

wip