A Realidade Aumentada (AR) permite a capacidade de sobrepor elementos de uma estação RoboDK sobre um vídeo de entrada ou um feed de vídeo ao vivo.
Esse recurso está disponível no RoboDK ao ativar o Add-in do Editor de Processamento de Imagens.
Os recursos do Editor de Processamento de Imagens podem ser ativados navegando até Ferramentas > Gerenciador de Add-ins e ativando o Editor de Processamento de Imagens.
Com o Add-in Editor de Processamento de Imagens ativado, a estação deve agora ser preparada para a realidade aumentada. As etapas que precisam ser seguidas para criar uma renderização de RA bem-sucedida podem ser resumidas em três seções:
1.Selecione e crie um marcador fiducial. Importe o marcador para o RoboDK.
2.Crie uma câmera simulada no RoboDK.
3.Criar um condutor de detecção.
O Add-in de realidade aumentada requer o uso de marcadores para estimar a pose e a trajetória da câmera.
O RoboDK suporta 4 tipos de marcadores OpenCV: Aruco, Chessboard, Charuco Diamond e Charucoboard, respectivamente, conforme mostrado nas imagens a seguir:
Há muitos fatores a serem considerados ao selecionar um marcador. É importante considerar o tamanho da estação, a resolução da câmera, a taxa de quadros, o movimento, a iluminação e a oclusão. Por exemplo, uma estação grande com uma câmera fixa e sem oclusão se beneficiará muito com o uso de um marcador Aruco, pois a única ID do marcador pode ser detectada de muito mais longe do que as 4 ou mais IDs de um marcador Charuco Diamond ou Charucoboard do mesmo tamanho, e a ausência de desfoque de movimento e oclusão pode garantir que o marcador seja detectado o tempo todo. Se ocasionalmente o marcador for parcialmente ocluído, o Charucoboard deverá ser selecionado, pois não precisa que todas as IDs sejam detectadas para determinar a posição da câmera. Abaixo está uma tabela que ajuda na seleção dos tipos de marcadores:
Aruco | Diamante Charuco | Charucoboard | Tabuleiro de xadrez | |
Prós | - Configuração mais fácil - Tempo de renderização mais rápido | - Opção mais equilibrada (Precisão/tempo de renderização) | - Resistente à oclusão parcial - Mais preciso | - Calibração da câmera |
Contras
(Os marcadores devem permanecer na visão da câmera o tempo todo)
| - Perde o rastreamento quando ocluído - Pose menos precisa | - Perde o rastreamento quando ocluído - Mais difícil de configurar | - Tempos de renderização longos - Não é bom com o Live AR | - Mais difícil de detectar - Não pode ser ocluído |
Aplicações sugeridas | - Alto FPS / AR ao vivo de baixa resolução - Vídeos longos - Vídeos sem obstáculos - Câmera fixa - Estações grandes | - Melhor rastreamento para Live AR - Vídeos de alta resolução - Movimento lento da câmera | - Vídeo contendo oclusão parcial do marcador - Vídeos com requisitos de alta precisão de pose. | - Calibração da câmera (O tabuleiro de xadrez pode ser usado para gerar arquivos de calibração de câmera personalizados se a calibração genérica não for suficiente) |
Depois que o marcador apropriado for selecionado, o ID do marcador, o tamanho, o layout do tabuleiro de xadrez e o tamanho do quadrado poderão ser personalizados
O marcador deve então ser salvo e impresso. A função “Salvar como...” pode ser usada para salvar um PNG do marcador em seu computador, que pode ser facilmente importado para o RoboDK. Para imprimir o marcador, a opção "Copiar para a área de transferência” pode ser usada para importar rapidamente a imagem para um editor de texto/imagem, como o Word ou o GIMP, para ser dimensionada e impressa.
Você deve importar o marcador no RoboDK para indicar onde está a localização do marcador em relação ao robô e a outros objetos.
Siga estas etapas para colocar o marcador corretamente:
1.Em sua estação RoboDK, crie um novo frame de referência.
2.Clique com o botão direito do mouse no novo frame de referência e selecione "Adicionar Item...".
3.Localize e selecione o marcador PNG criado com o Gerador de Marcador Fiducial.
4.Ajuste a escala do marcador virtual para que corresponda ao tamanho do marcador real:
Exemplo: O marcador Charuco Diamond tem 106,186 mm x 106,186 mm por padrão. Se o tamanho do marcador impresso for 280 mm x 280 mm, será necessário aplicar um fator de escala de 2,63688 → ( 280 / 106,186 ). Isso pode ser feito clicando duas vezes no objeto do marcador e selecionando Mais opções à Aplicar escala.
5.Alinhe o centro do marcador à origem do quadro de referência, com o eixo Y apontando para o ID superior.
Exemplo: Para mover o marcador, clique duas vezes no objeto do marcador e modifique a posição do objeto com relação ao quadro do marcador. No nosso exemplo, o marcador precisava ser movido 140 mm em X, movido 140 mm em Y e girado 180° no eixo Z. Veja na imagem abaixo um exemplo da posição correta.
6.Coloque a estrutura do marcador na estação para alinhar os objetos da estação em relação ao marcador.
Para sobrepor com precisão os recursos da estação sobre o feed de vídeo, é necessário criar uma câmera simulada. Essa câmera simulada usa a pose e a trajetória da câmera calculadas usando os marcadores fiduciais para gravar a estação do RoboDK a partir do mesmo ângulo, distância e trajetória que o feed de vídeo de entrada.
A resolução dessa câmera simulada precisa corresponder ao vídeo de entrada para que o dimensionamento do marcador seja preciso. As etapas para adicionar uma câmera virtual à estação estão descritas abaixo:
1.Adicione uma câmera à sua estação selecionando Editor de Processamento de Imagens à Adicionar uma câmera RoboDK na barra de ferramentas.
2.Clique com o botão direito do mouse na câmera ou no feed da câmera e selecione " Configurações da câmera ".
3.Ajuste as configurações da câmera virtual para corresponder à resolução do feed de vídeo de entrada.
4.Alinhe o quadro de referência para que a câmera simulada possa ver o marcador Aruco virtual.
Para obter os melhores resultados, o vídeo de entrada física deve ser gravado com as seguintes considerações:
1.Coloque o marcador em uma superfície plana em um ambiente bem iluminado. Para obter os melhores resultados, considere o tamanho e a distância dos objetos na estação virtual em relação ao marcador e ao ambiente de gravação.
2.Configurações consistentes da câmera (as câmeras reais e simuladas devem ter configurações de resolução correspondentes).
3.Identificações legíveis da Aruco (a câmera deve manter as identificações legíveis). Coisas a evitar: Filmagem rápida/desfocada, baixa resolução da câmera, alta distância do marcador em relação à câmera).
4.Certifique-se de que o vídeo esteja no formato .mp4 ou .avi
Para criar um arquivo de calibração de câmera personalizado, imprima um tabuleiro de xadrez e tire cerca de 10 a 20 imagens do tabuleiro com a câmera, usando as mesmas configurações da filmagem de um vídeo.
Cada imagem deve conter o tabuleiro de xadrez inteiro. As imagens devem variar a orientação e o local do tabuleiro de xadrez em cada imagem.
Depois que as imagens tiverem sido tiradas, navegue até Editor de Processamento de Imagens à Calibrar a partir de arquivos... e preencha os parâmetros do tabuleiro de xadrez. Em seguida, selecione as imagens. O RoboDK gerará um arquivo de calibração que pode ser usado ao criar um condutor.
A etapa final da preparação da estação RoboDK para AR é criar um condutor para detectar os marcadores fiduciais. Esse condutor de detecção será usado para calcular a pose dos marcadores reais e virtuais e sobrepor os ativos da câmera RoboDK simulada em cima do feed de vídeo de entrada.
Siga estas etapas para criar um condutor de detecção:
1.Navegue até Editor de Processamento de Imagens à Editor de Processamento de Imagens na barra de ferramentas.
2.Selecione a câmera RoboDK simulada se estiver usando Video AR; para Camera AR, selecione a fonte da câmera.
3.Selecione seu marcador em Detectores à Charuco Diamond Markers.
4.Defina os parâmetros necessários com base nas dimensões físicas do marcador.
5.Em Dispositivo, defina o arquivo de calibração. Recomenda-se usar Calibração Genérica.
6.Salve o projeto do condutor em Arquivo à Salvar Projeto Como
Com a estação preparada, um vídeo de entrada gravado e um condutor de processamento salvo, podemos começar a criar vídeos de realidade aumentada. As próximas seções detalham como criar vídeos de AR e renderizações de AR ao vivo, bem como uma seção de solução de problemas para ajudar a corrigir renderizações indesejáveis.
A ferramenta Video AR é usada para criar uma sobreposição de AR em cima de um vídeo pré-gravado. Isso é ideal para vídeos de demonstração ou promocionais. A estação pode ser modificada enquanto o vídeo estiver sendo renderizado, e as alterações serão aplicadas imediatamente.
Siga estas etapas para criar efeitos de sobreposição de RA em um vídeo:
1.Oculte todos os objetos da estação que você não deseja que sejam renderizados no vídeo de RA.
2.Selecione Editor de Processamento de Imagens → Realidade Aumentada (Video).
3.Se vários condutores forem salvos, selecione o condutor correto para o seu marcador.
4.Selecione o quadro de referência que contém o marcador.
5.Selecione o arquivo de vídeo de entrada.
6.Selecione o local e o nome do vídeo de saída.
7.Monitorare o processo de renderização e fazer as alterações necessárias para obter a qualidade desejada.
8.Quando o vídeo tiver concluído a renderização, você poderá fechar o AR Camera Frame.
A Realidade Mista (MR) no RoboDK refere-se à substituição do plano de fundo do RoboDK por um feed de passagem ao vivo do headset VR. Ao fazer isso no RoboDK VR, você pode misturar seu ambiente local, o SteamVR e o RoboDK.
Requisitos:
●Headset Quest 2 / Quest 3 VR e um PC compatível com VR
●Área de trabalho virtual + Virtual Desktop Streamer
●SteamVR + Link do Meta Quest
Siga estas etapas para ativar a realidade mista:
1.Ative o modo de desenvolvedor do Quest 2/3:
Como ativar o modo de desenvolvedor no Meta Quest 3? (vr-expert.com)
2.Inicie o Meta Quest Link no seu PC e siga as instruções para vincular o Headset ao PC:
Configurar e conectar o Meta Quest Link e o Air Link | Meta Store
3.Conecte-se ao seu PC usando o Virtual Desktop
4.No aplicativo Virtual Desktop, ative a API VR Passthrough.
5.Modifique as configurações de VR Passthrough: Defina as cores da máscara Passthrough como 0, 255, 0 (verde).
6.No RoboDK, defina as opções de fundo superior e inferior para o mesmo tom de verde:
Ferramentas -> Opções -> Display -> Cor de fundo -> Defina como 0, 255, 0 (Verde)
7.Inicie o SteamVR pelo Virtual Desktop.
8.Inicie o RoboDK e ative o modo VR: Conecte ➔ Conecte o Headset de RV.