Augmented Reality

Realidade aumentada

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.

Augmented Reality - Imagem 1

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.

Selecione e crie um marcador fiducial

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:

Augmented Reality - Imagem 2    Augmented Reality - Imagem 3    Augmented Reality - Imagem 4    Augmented Reality - Imagem 5

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.

Importar o marcador

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.

Augmented Reality - Imagem 6

6.Coloque a estrutura do marcador na estação para alinhar os objetos da estação em relação ao marcador.

Configure a câmera simulada

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.

Augmented Reality - Imagem 7

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

Criar um arquivo de calibração de câmera personalizado

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.

Criar um condutor de detecção

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.

Crie uma AR a partir de um feed de vídeo

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.

Realidade mista

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).

Augmented Reality - Imagem 8

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)

Augmented Reality - Imagem 9

7.Inicie o SteamVR pelo Virtual Desktop.

8.Inicie o RoboDK e ative o modo VR: Conecte ➔ Conecte o Headset de RV.