# Sistema de coordenadas 3D em detalhes

___

### **Espaço da câmera da LimeLight**

Sistema de Coordenadas Cartesianas 3D com (0,0,0) na lente da câmera.

X+ → Apontando para a direita (se você estivesse incorporando a câmera)

Y+ → Apontando para baixo

Z+ → Apontando para fora da câmera

### **Espaço do alvo**

Sistema de coordenadas cartesianas 3D com (0, 0, 0) no centro do alvo

X+ → Apontando para a direita do alvo (se você estiver olhando para o alvo)

Y+ → Apontando para baixo

Z+ → pontando para fora do alvo (ortogonal ao plano do alvo)

### **Espaço do robô**

Sistema de Coordenadas Cartesianas 3D com (0,0,0) localizado no centro do quadro do robô projetado para baixo até o chão.

X+ → Apontando para frente (Vetor para a Frente)

Y+ → Apontando para a direita do robô (Vetor para a Direita)

Z+ → Apontando para cima (Vetor para Cima)

### **Espaço do campo**

Sistema de Coordenadas Cartesianas 3D com (0,0,0) localizado no centro do campo.

X+ → Aponta ao longo do lado longo do campo

Y+ → Aponta para cima ao longo do lado curto do campo

Z+ → Aponta em direção ao céu

Destro. Um ângulo theta positivo resulta em uma rotação no sentido anti-horário a partir da perspectiva positiva externa.

### **Especificação do mapa AprilTag**

A funcionalidade de localização no espaço do campo do Limelight utiliza arquivos .fmap para calcular uma pose do robô a ser usada pelos estimadores de pose do WPILIB. Nossos arquivos .fmap suportam mapas compostos por diferentes tamanhos de alvo e diferentes famílias.

Você pode usar os .fmap para definir "ambientes", como campos de competição FRC, ou "objetos", como objetos que possuem vários AprilTags anexados. Para usar um .fmap, tudo o que você precisa fazer é fazer o upload para o seu Limelight usando a interface ou uma das APIs de upload (em breve).

O arquivo .fmap é um arquivo JSON contendo uma única matriz "fiducial". Cada entrada na matriz fiducial tem a seguinte estrutura:

| family | AprilTag/Família Fiducial |
|--- | --- |
| id | Id da Tag |
| size | Tamanho da Tag em mm |
| transform | Transformação de matriz 4x4 do alvo, Linha-Maior, unidades no SI |
| unique | Especifica se o alvo é único neste mapa ou se aparece várias vezes |

### **Mapa de AprilTag para FRC Charged Up 2023**

```json

 {
        "fiducials": [
            {
            "family": "apriltag3_16h5_classic",
            "id": 1,
            "size": 152.4,
            "transform": [
                -1,
                0,
                0,
                7.24310,
                0,
                -1,
                0,
                -2.93659,
                0,
                0,
                1,
                0.46272,
                0,
                0,
                0,
                1
            ],
            "unique": 1
            },
            {
            "family": "apriltag3_16h5_classic",
            "id": 2,
            "size": 152.4,
            "transform": [
                -1,
                0,
                0,
                7.24310,
                0,
                -1,
                0,
                -1.26019,
                0,
                0,
                1,
                0.46272,
                0,
                0,
                0,
                1
            ],
            "unique": 1
            },
            {
            "family": "apriltag3_16h5_classic",
            "id": 3,
            "size": 152.4,
            "transform": [
                -1,
                0,
                0,
                7.24310,
                0,
                -1,
                0,
                0.41621,
                0,
                0,
                1,
                0.46272,
                0,
                0,
                0,
                1
            ],
            "unique": 1
            },
            {
            "family": "apriltag3_16h5_classic",
            "id": 4,
            "size": 152.4,
            "transform": [
                -1,
                0,
                0,
                7.90832,
                0,
                -1,
                0,
                2.74161,
                0,
                0,
                1,
                0.695452,
                0,
                0,
                0,
                1
            ],
            "unique": 1
            },
            {
            "family": "apriltag3_16h5_classic",
            "id": 5,
            "size": 152.4,
            "transform": [
                1,
                0,
                0,
                -7.90832,
                0,
                1,
                0,
                2.74161,
                0,
                0,
                1,
                0.695452,
                0,
                0,
                0,
                1
            ],
            "unique": 1
            },
            {
            "family": "apriltag3_16h5_classic",
            "id": 6,
            "size": 152.4,
            "transform": [
                1,
                0,
                0,
                -7.24310,
                0,
                1,
                0,
                0.41621,
                0,
                0,
                1,
                0.46272,
                0,
                0,
                0,
                1
            ],
            "unique": 1
            },
            {
            "family": "apriltag3_16h5_classic",
            "id": 7,
            "size": 152.4,
            "transform": [
                1,
                0,
                0,
                -7.24310,
                0,
                1,
                0,
                -1.26019,
                0,
                0,
                1,
                0.46272,
                0,
                0,
                0,
                1
            ],
            "unique": 1
            },
            {
            "family": "apriltag3_16h5_classic",
            "id": 8,
            "size": 152.4,
            "transform": [
                1,
                0,
                0,
                -7.24310,
                0,
                1,
                0,
                -2.93659,
                0,
                0,
                1,
                0.46272,
                0,
                0,
                0,
                1
            ],
            "unique": 1
            }
        ]
    }
```