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_cameraspaceTransformação 3D da AprilTag em vista no sistema de coordenadas da câmera
targetpose_robotspaceTransformação 3D da AprilTag em vista no sistema de coordenadas do robô
camerapose_robotspaceTransofmração 3D da câmera no sistema de coordenadas do robô
tidID 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 LEDDefinir o estado do LED
[0]Usa o modo do LED na pipeline atual
[1]Desligado
[2]Piscando
[3]Ligado
Modo da câmeraDefine o modo de operação
0Processador de visão
1Câmera de Driver (Desabilita o processamento)
PipelineDefine a pipeline atual
0..9Define a pipeline 0...9
StreamDefine o modo de gravação da LimeLight
0Padrão - Transmissão simultânea se tiver uma webcam conectada oa robô
1PiP Principal - A transmissão da câmera secundária é colocada no canto inferior direito ao da principal
2PiP secundário - A transmissão da câmera principal é colocada no canto inferior direito ao da secundária
FotoPermite aos usuários tirar fotos durante a partida
0Reseta o modo de foto
1Tira 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