Telemetri: Gerçek Zamanlı Veri Kaydı ve Gönderimi

Telemetry - telemetri verilerinin kaydı ve görüntülenmesi mühendislik sürecinin önemli bir kısmıdır; doğru telemetri verileri robotunuzun en iyi şekilde çalışması için robotunuzu ayarlamanıza yardımcı olmakta ve beklenilen şekilde çalışmadığında robotunuzdaki hatalarını ayıklanması için vazgeçilmezdir.

By default, no telemetry data is recorded (saved) on the robot. However, recording data on the robot can provide benefits over recording on a dashboard, namely that more data can be recorded (there are no bandwidth limitations), and all the recorded data can be very accurately timestamped. WPILib has integrated support for on-robot recording of telemetry data via the DataLogManager and DataLog classes and provides a tool for downloading data log files and converting them to CSV. The Java library also provides a convenient annotation to autogenerate telemetry logging code based on your project.

Not

Robot içerisine telemetri verilerinin kaydedilmesinin yanı sır takımlar telemetri verilerini ref:Shuffleboard recordings <docs/software/dashboards/shuffleboard/getting-started/shuffleboard-recording:Recording and Playback> aracılığıyla driver station - sürücü istasyonu bilgisayarlarına kaydedebilmektedir.

Robot Koduna Telemetri Eklenmesi

WPILib robot kodundan telemetri verisinin kaydedilmesi ve gönderilmesi için birçok farklı yöntemi desteklemektedir.

En temel düzeyde Riolog robot kodundan gelen çıktı bildirilerinin görüntülenmesi için destek sağlamaktadır. Bu yöntem, sorunlu bir koddaki hataların anlık hızlıca ayıklanması için faydalıdır, ancak kumanda arayüzleri zengin veri akışlarına elverişli olmadığı için daha büyük ölçekli bir kullanıma olanak tanımamaktadır.

WPILib, kullanıcıların zengin telemetri verilerini kolayca sürücü istasyonu bilgisayarına göndermelerine olanak tanıyan birçok gösterge panelini desteklemektedir. Tüm WPILib gösterge panelleri NetworkTables ile iletişim halindedir ve bu sebeple tüm paneller birbirleriyle uyumludur (bir gösterge paneline kaydedilen telemetri başka panellerde de görüntülenebilmekte, ancak belirli araçlar/biçimlendirmeler genellikle paneller arası uyuma sahip değildir). NetworkTables (ve sonuç olarak tüm WPILib gösterge panelleri) şu anlık aşağıdaki veri türlerini desteklemektedir.

  • boolean

  • boolean[]

  • double

  • double[]

  • string

  • string[]

  • byte[]

Telemetri verileri ilgili bir WPILib metodu kullanılarak (daha fazla bilgi için söz konusu panelin şartnamesini inceleyiniz) veya verilerin doğrudan NetworkTables’a yayınlanmasıyla bir WPILib gösterge paneline gönderilebilmektedir.

NetworkTables henüz karmaşık veri türlerinin dizileştirilmesini destekliyor olmasa da (kesin olmasa da bu desteğin 2024 yılında eklenmesi planlanmaktadır) kullanıcı kodundaki değişken türler Sendable arayüzüyle kolayca WPILib gösterge panelleriyle arayüzlencek şekilde genişletilebilmektedir. Sendable arayüzünün kullanımı bir sonraki yazıda ele alınmaktadır.