Observation analysis · Análise de observações
English · Português · Guided tour / Visita guiada · Validation / Validação
EN: Which trajectory intervals have enough evidence to include?
PT: Quais intervalos de trajetória têm evidência suficiente para inclusão?
| Goal · Objetivo | Where to go · Por onde começar |
|---|---|
| Understand a real example · Entender um exemplo concreto | Walkthrough / Roteiro |
| Reproduce and compare · Reproduzir e comparar | Evidence tour / Visita às evidências |
| Inspect the checks · Inspecionar as verificações | Validation record / Registro de validação · CI |
| Explore in the browser · Explorar no navegador | Public demonstration / Demonstração pública |
Example result · Resultado do exemplo: Unique timestamps / Instantes únicos: **6 **; Included distance / Distância incluÃda: 1.5 m; Excluded intervals / Intervalos excluÃdos: **2 **
Try a comparison · Experimente uma comparação
EN: Compare nominal, missing observations and conflicting timestamps; inspect exclusions before summing distance.
PT: Compare o nominal, observações ausentes e instantes conflitantes; inspecione exclusões antes de somar distâncias.
A read-only offline workbench for timestamped planar observations. It separates usable trajectory segments from gaps, invalid samples, conflicting timestamps and configured speed outliers.
This is a software workbench in a research portfolio centered on the Unitree Go2 PRO. The current release runs independently of physical hardware.
- Timestamp normalization with explicit disorder and duplicate reports.
- Conflicting same-time observations invalidate the shared anchor.
- Distance totals include only qualified adjacent intervals.
- Zero-order-hold replay with age and staleness indicators.
- A documented export path into Go2 PRO Clearance Bench for contiguous traces.
Use Node.js 22 or newer. There are no third-party runtime packages to install.
git clone https://github.com/galafis/go2-pro-telemetry-replay.git
cd go2-pro-telemetry-replay
npm test
npm startOpen http://127.0.0.1:4173. The browser includes an English/Portuguese switch. Choose an example, adjust the primary assumption, and select Update. Expand Edit all scenario fields for the complete JSON editor. Invalid imports leave the last valid result visible with an explicit error message. Export both the scenario and report to preserve the experiment.
For headless use:
node scripts/analyze.mjs examples/nominal.json report.json
npm run examples
npm run test:coverageThe command-line exit codes are 0 for completed analysis or review notes, 2 for a valid scenario that needs review, and 1 for invalid input or invocation. A review-required result is still written to the requested report file.
The nominal six-sample polyline totals 2.5 m over 5,000 ms. Every segment travels 0.5 m in one second. Reducing maxGapMs from 1,500 to 999 excludes all five intervals; the result reports zero included distance instead of pretending that the observations are continuous.
- Sort observations by timestamp while preserving source order within equal-time groups.
- Identical repeated samples collapse to one sample. Conflicting samples at one timestamp become an invalid anchor, excluding both neighboring intervals.
- An interval contributes distance only if both endpoints are valid, its gap is no larger than maxGapMs and its derived speed is no larger than speedLimitMps.
included distance = Σ hypot(Δx, Δy) over accepted adjacent intervals / distância incluída = Σ hipot(Δx, Δy) nos intervalos adjacentes aceitos
The architecture guide explains every rule and boundary case. The data contract documents fields, units, limits and the report envelope. Research scope separates implemented behavior from future platform work.
The JSON format is a public project schema, not a Unitree wire protocol. There is no live robot connection, sensor decoder, localization correction or motion control. Included distance is a quality-filtered sum under supplied assumptions and can underestimate travel when data are excluded.
Prepare a measured closed course and record independent observations using supported controls. Confirm any read-only interface before implementing a vendor adapter. Compare timestamp units, coordinate frame, validity flags and sampling intervals. Keep interrupted and incomplete records as part of the evaluation.
Related public project: go2-pro-clearance-bench. Each repository is independently runnable; a link does not imply a live integration. See integration notes for the exact supported exchange, where present.
Uma bancada offline, somente de leitura, para observações planas com registro de tempo. Separa segmentos de trajetória utilizáveis de lacunas, amostras inválidas, instantes conflitantes e valores de velocidade acima do limite configurado.
Esta é uma bancada de software de um portfólio de pesquisa centrado no Unitree Go2 PRO. A versão atual funciona independentemente de hardware físico.
- Normalização dos instantes com registro explícito de desordem e duplicatas.
- Observações conflitantes no mesmo instante invalidam a referência compartilhada.
- Os totais de distância incluem apenas intervalos adjacentes qualificados.
- Reprodução mantendo a última amostra, com indicação de idade e validade temporal.
- Caminho de exportação documentado para o Go2 PRO Clearance Bench em trajetórias contínuas.
Use Node.js 22 ou mais recente. Não há pacotes externos de execução para instalar.
git clone https://github.com/galafis/go2-pro-telemetry-replay.git
cd go2-pro-telemetry-replay
npm test
npm startAbra http://127.0.0.1:4173. O navegador oferece alternância entre português e inglês. Escolha um exemplo, ajuste a hipótese principal e selecione Atualizar. Expanda Editar todos os campos do cenário para acessar o editor JSON completo. Importações inválidas mantêm o último resultado válido visível com mensagem explícita de erro. Exporte o cenário e o relatório para preservar o experimento.
Para usar sem interface gráfica:
node scripts/analyze.mjs examples/nominal.json report.json
npm run examples
npm run test:coverageOs códigos de saída são 0 para análise concluída ou com notas, 2 para cenário válido que exige revisão e 1 para entrada ou chamada inválida. Resultados que exigem revisão também são gravados no arquivo de relatório solicitado.
A linha poligonal nominal de seis amostras totaliza 2,5 m em 5.000 ms. Cada segmento percorre 0,5 m em um segundo. Reduzir maxGapMs de 1.500 para 999 exclui os cinco intervalos; o resultado informa distância incluída igual a zero, sem presumir continuidade das observações.
- Ordene as observações por instante, preservando a ordem de origem dentro dos grupos de mesmo instante.
- Amostras repetidas idênticas são consolidadas. Amostras conflitantes no mesmo instante criam uma referência inválida, excluindo os dois intervalos vizinhos.
- Um intervalo contribui para a distância somente se os dois extremos forem válidos, o intervalo não exceder maxGapMs e a velocidade derivada não exceder speedLimitMps.
included distance = Σ hypot(Δx, Δy) over accepted adjacent intervals / distância incluída = Σ hipot(Δx, Δy) nos intervalos adjacentes aceitos
O guia de arquitetura explica todas as regras e os casos limite. O contrato de dados documenta campos, unidades, limites e o formato do relatório. O escopo de pesquisa separa funcionalidades implementadas de futuras etapas com a plataforma.
O formato JSON é um esquema público do projeto, não um protocolo de comunicação da Unitree. Não há conexão com robô, decodificação de sensores, correção de localização ou controle de movimento. A distância incluída é uma soma filtrada segundo hipóteses informadas e pode subestimar o percurso quando dados são excluídos.
Prepare um percurso fechado medido e registre observações independentes usando controles compatíveis. Confirme qualquer interface de leitura antes de implementar um adaptador do fabricante. Compare unidades de tempo, sistema de coordenadas, indicadores de validade e intervalos de amostragem. Mantenha registros interrompidos e incompletos na avaliação.
Projeto público relacionado: go2-pro-clearance-bench. Cada repositório funciona independentemente; um link não implica integração em tempo real. Consulte as notas de integração para conhecer as trocas efetivamente suportadas, quando existentes.
| Example · Exemplo | Result · Resultado | Reproduce · Reproduzir |
|---|---|---|
| Closed course Percurso fechado |
complete |
Input · Entrada · Report · Relatório |
| Missing observations Observações ausentes |
review-notes |
Input · Entrada · Report · Relatório |
| Conflicting timestamp Instante conflitante |
review-required |
Input · Entrada · Report · Relatório |
| Document · Documento | Content · Conteúdo |
|---|---|
| Architecture · Arquitetura | Domain rules, algorithms and boundaries · Regras, algoritmos e limites |
| Data contract · Contrato de dados | Fields, units and JSON format · Campos, unidades e formato JSON |
| Schema | Structural JSON Schema · Esquema estrutural JSON |
| Validation · Validação | Behavioral tests and review protocol · Testes de comportamento e protocolo de revisão |
| Research scope · Escopo de pesquisa | Platform relationship and next steps · Relação com a plataforma e próximas etapas |
| Integration · Integração | Public artifact exchange · Troca de artefatos públicos |
| Contributing · Contribuições | Development and review · Desenvolvimento e revisão |
| Security · Segurança | Privacy and responsible reports · Privacidade e relatos responsáveis |
| Changelog · Histórico | Versioned changes · Alterações por versão |
Gabriel Demetrios Lafis · Brazil / Brasil
[email protected] · GitHub
Independent work; institutional contact does not imply institutional or vendor endorsement.
Trabalho independente; o contato institucional não implica endosso de instituição ou fabricante.
Worked examples with expected metrics · Exemplos comentados com métricas esperadas