Pular para o conteúdo principal

Limelight 3A Guia Rápido

Especificações de Hardware

  • Dimensões: 2.839in x 1.894in (72.11mm x 48.11mm)
  • Espessura: 0.661in (16.80mm)
  • Massa: 0.20 lb
  • Montagem: 4x #10 THRU, 4x M3, 6x M4 furos de montagem rosqueados
  • Entrada de Energia: 4.1V-5.75V via USB
  • Consumo Máximo de Energia: 4W
  • Sensor: OV5647 Color Rolling Shutter (640x480 @ 90FPS)
  • Sem iluminação LED integrada
  • Campo de Visão: H:54.5° V:42°
  • Conectividade apenas USB-C (sem porta RJ45)
  • Luz de Status: Verde (detecção de alvo)
  • Otimizado para compatibilidade com FTC

Capacidades de Software (Limelight OS)

  • Visão de alto desempenho plug-and-play. Sem experiência necessária.
  • Interface de usuário baseada em navegador auto-hospedada para configuração de pipeline de visão
  • Suporte para FTC (integração direta com Java) e FRC (interface NetworkTables)
  • Exposição configurável, ganho do sensor, resolução e taxa de quadros
  • Configure 10 Pipelines de Visão intercambiáveis:
    • Pipelines Python personalizadas com OpenCV 4.10, numpy, etc.
    • Rastreamento de AprilTag 2D, 3D e Localização do Robô
      • Localização 3D completa (GPS do Robô) com MegaTag1
      • Localização 3D completa de maior precisão (GPS do Robô) com Fusão de IMU Externa com MegaTag2
      • 20fps @ 1280x960 (redução de escala 2x), 50fps @ 640x480 (redução de escala 2x)
      • Visualizador 3D completo na interface web
    • Pipelines de Blob de Cor a 90FPS
    • Pipelines de Detecção de Objetos Neural (apenas inferência CPU)
    • Pipelines de Classificação de Imagem Neural (apenas inferência CPU)
    • Pipelines de Rastreamento de Código de Barras
  • Interface de Calibração de Intrínsecos Charuco integrada
  • Streaming MJPEG de baixa latência integrado

1. Montando o Limelight 3A

Montagem Rosqueada (Recomendada)

  • Use pelo menos 2 parafusos M3 ou M4 para montar seu LL3A em canais Rev ou GoBilda usando os furos de montagem rosqueados
  • Você também pode usar fita VHB ou abraçadeiras para fixar seu Limelight

Montagem com Furos Passantes

  • Use parafusos #10-32 ou #10-24 de 1 1/4" com porcas de travamento
  • Alternativamente, use parafusos M4 de 28mm com porcas de travamento
Desenho do Limelight 3A

2. Conectando o Limelight 3A

Quando estiver pronto para usar seu Limelight no seu robô:

Para FTC

  • Conecte um cabo USBC para USBA do seu Limelight 3A à porta USB 3.0 do seu Control Hub
  • Conecte ao seu Control Hub plugando em uma porta USB 3.0 (porta azul)

Para FRC

  • Conecte seu Limelight 3A à porta USB do seu roboRIO
  • Use um cabo USB-C para USB-A

O Limelight 3A não suporta Google Coral. Você ainda pode usar pipelines de detecção neural e classificação configurando o motor de execução de rede neural para "CPU".

3. Acessando a Interface Web

Após conectar seu Limelight 3A ao seu computador via USB:

  1. Aguarde a luz de status verde ficar ativa (cerca de 15-20 segundos)
  2. Use um destes métodos para acessar a interface web:
    • Método 1: Abra o aplicativo Limelight Hardware Manager, escaneie por Limelights e dê um duplo clique no seu Limelight 3A quando ele aparecer
    • Método 2: Abra um navegador web e navegue até http://limelight.local:5801

Uma vez conectado, você terá acesso a:

  • Aba Configurações - Configure o número da equipe, nome do host e outras configurações do sistema
  • Abas de Pipeline de Visão - Configure e ajuste seus pipelines de processamento de visão
  • Aba Câmera e Mira - Ajuste as configurações da câmera e parâmetros da mira
  • Aba de Visualização 3D - Veja a detecção e localização de AprilTag em tempo real

Toda a configuração é feita através desta interface web. As alterações são salvas automaticamente no seu Limelight.

4. Atualizando o LimelightOS

info

Os Limelights vêm com uma imagem pré-instalada. Você provavelmente pode pular esta etapa por enquanto.

Instruções de Atualização (Windows)
atenção

Salve seus pipelines antes de atualizar o LimelightOS. Eles serão excluídos durante a atualização.

  • Baixe os drivers USB mais recentes, a imagem do Limelight OS e a ferramenta Balena Flash na Página de Downloads
  • Reinicie sua máquina após instalar os drivers
  • Segure o botão de configuração azul no seu Limelight
  • Enquanto segura, conecte um cabo USB->USB-C do seu laptop ao seu Limelight (seu Limelight ligará automaticamente)
  • Depois de conectar seu LL ao seu laptop, você pode soltar o botão de configuração azul
  • Seu Limelight agora está no modo de flash, e seus LEDs não piscarão
  • Execute o "Balena Etcher" como administrador
  • Pode levar até 20 segundos para sua máquina reconhecer a câmera
  • Selecione a imagem .zip mais recente na sua pasta de downloads
  • Selecione um dispositivo "Compute Module" no menu "Drives"
  • Clique em "Flash"
  • Quando o flash estiver completo, remova o cabo USB do seu Limelight
Instruções de Atualização (Avançado) (macOS e Linux)
atenção

Salve seus pipelines antes de atualizar o LimelightOS. Eles serão excluídos durante a atualização.

nota

Estamos trabalhando para simplificar drasticamente o processo de atualização no macOS e Linux

  • Baixe a imagem do Limelight OS e a ferramenta Balena Flash na Página de Downloads
  • Compile o driver USB Boot você mesmo:
brew install libusb
brew install pkg-config
git clone --recurse-submodules --shallow-submodules --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
make
cd mass-storage-gadget64
sudo ../rpiboot -d .
# Enquanto o rpiboot estiver em execução, sua câmera será enumerada corretamente no macOS e Linux
# Você precisa executar o rpiboot toda vez que quiser fazer o flash.
  • Segure o botão de configuração azul no seu Limelight
  • Enquanto segura, conecte um cabo USB->USB-C do seu laptop ao seu Limelight (seu Limelight ligará automaticamente)
  • Depois de conectar seu LL ao seu laptop, você pode soltar o botão de configuração azul
  • Seu Limelight agora está no modo de flash, e seus LEDs não piscarão
  • Execute o "Balena Etcher"
  • Pode levar até 20 segundos para sua máquina reconhecer a câmera
  • Selecione a imagem .zip mais recente na sua pasta de downloads
  • Selecione um dispositivo "Compute Module" no menu "Drives"
  • Clique em "Flash"
  • Quando o flash estiver completo, remova o cabo USB do seu Limelight

5. Processo de Configuração

Para FTC

  1. Conecte seu Limelight ao seu laptop com um cabo USB
  2. Acesse a interface web como descrito na seção 3
  3. Vá para a aba Configurações e defina o número da sua equipe, depois clique em "Reiniciar Cliente de Visão"
  4. Configure seus pipelines conforme desejado (AprilTag, Redes Neurais, Python Personalizado, etc.)
  5. Quando estiver pronto para a competição, conecte seu Limelight 3A à porta USB 3.0 do seu Control Hub
  6. No aplicativo FTC DriverStation, clique em "Configurar Robô"
  7. Se você não tiver uma configuração ativa, talvez precise criar uma nova
  8. Clique no botão "escanear"
  9. Você deverá ver um "Dispositivo Ethernet" aparecer
  10. Você pode editar o nome deste dispositivo para "limelight" para maior clareza
  11. Agora você pode inicializar um objeto Limelight3A em seu código usando o mapa de hardware

Para FRC

  1. Conecte seu Limelight 3A ao seu laptop, aguarde a atividade da luz de status
  2. Acesse a interface web como descrito na seção 3
  3. Na aba Configurações, defina o número da sua equipe e clique em "Reiniciar Cliente de Visão"
  1. Configure seus pipelines conforme desejado
  2. Quando estiver pronto, conecte seu Limelight 3A à porta USB do seu roboRIO
  3. Abra seu painel de controle preferido para garantir que seu 3A esteja enviando dados para as NetworkTables do seu roboRIO

6. Tipos de Pipeline Disponíveis

O Limelight 3A oferece os mesmos recursos de processamento de visão que outros modelos Limelight:

  • Rastreamento de AprilTag e localização do robô
  • Rastreamento de blob de cor
  • Detecção de objetos por rede neural (apenas CPU)
  • Classificação por rede neural
  • Rastreamento de código de barras
  • Pipelines Python personalizados

Cada 3A vem com um mapa de campo Into The Deep integrado para FTC.

7. Programação FTC

Exemplo Básico FTC: Amostra FTC

A maioria das aplicações requer menos de 10 linhas de código:

public class Teleop extends LinearOpMode {

private Limelight3A limelight;

@Override
public void runOpMode() throws InterruptedException
{
limelight = hardwareMap.get(Limelight3A.class, "limelight");

telemetry.setMsTransmissionInterval(11);

limelight.pipelineSwitch(0);

/*
* Inicia a coleta de dados.
*/
limelight.start();

while (opModeIsActive()) {
LLResult result = limelight.getLatestResult();
if (result != null) {
if (result.isValid()) {
Pose3D botpose = result.getBotpose();
telemetry.addData("tx", result.getTx());
telemetry.addData("ty", result.getTy());
telemetry.addData("Botpose", botpose.toString());
}
}
}
}
}

Para máxima precisão de localização 3D, chame updateRobotOrientation() e use getBotPose_MT2():

while (opModeIsActive()) {
YawPitchRollAngles orientation = imu.getRobotYawPitchRollAngles();
limelight.updateRobotOrientation(orientation.getYaw(AngleUnit.DEGREES));
LLResult result = limelight.getLatestResult();
if (result != null) {
if (result.isValid()) {
Pose3D botpose = result.getBotpose_MT2();
// Use os dados de botpose
}
}
}

Para mais informações, consulte a página de Programação FTC

8. Solução de Problemas

Indicadores de Luz de Status

  • Luz Verde: Pisca lentamente (sem alvos), pisca rapidamente (alvos detectados)

Perguntas Frequentes

  • Por que meu Limelight está tão quente? Para que o Limelight funcione o mais frio possível, é necessário que ele esteja o mais quente possível/seguro ao toque. Seu invólucro é um dissipador de calor altamente condutor que ajuda a manter a CPU a uma temperatura razoavelmente fria.

  • Por que a imagem parece tão granulada? Para minimizar a latência, vários filtros normalmente presentes em câmeras comerciais são ignorados. O stream também é comprimido para minimizar a taxa de bits. Em 2024.10.1, alteramos os valores padrão de balanço de cores para fazer as imagens parecerem mais naturais e vibrantes ao olho humano.

  • O que o Limelight oferece em comparação ao OpenCV no Control Hub? Um algoritmo de localização multi-tag pronto para uso, sem código, com fusão de sensores IMU do robô, redes neurais e muito mais.