メインコンテンツまでスキップ

ソフトウェア変更ログとフィードバック

問題点や機能リクエストはメールまたはLimelightフィードバックリポジトリに提出してください。

Limelight OS 2024.10 (2024年9月4日)

FTC向けLimelight 3Aサポート

  • Limelight3Aが完全にサポートされました
  • 3AはFTCとFRCの両方で使用可能です

AprilTagマップの更新

  • マップエディターが標準とダイアモンドのFTCマップ生成をサポートするようになりました
  • LLOSウェブインターフェースは、アップロードされたマップに基づいて正しいフィールドタイプを自動的に表示します
  • すべてのツールとインターフェース across のフィールドビジュアライザーがアライアンスゾーンとFTCタイルグリッドを表示します
  • 3Dビジュアライザーのパフォーマンスが向上しました

ControlHubとRoboRioでのUSB Limelightサポート

  • FTCチームはControl Hub上で1つのUSB対応Limelightを使用できます
  • FRCチームはRoboRio上で最大16個のUSB対応Limelightを使用できます。USB LimelightはイーサネットLimelightと同様に自動的にnetworktablesに追加されます
    • 複数のUSB Limelightを使用するには、各LLに一意のUSBインデックスと一意のホスト名を与えてください

USB接続の改善

  • MacOSはもはやインターネットアクセスにUSBイーサネットLimelightインターフェースを使用しません
  • WindowsはもはやインターネットアクセスにUSBイーサネットLimelightインターフェースを使用しようとしません

REST APIの更新

  • update-robotorientation POSTリクエストを修正しました
  • MT2がNetworkTablesなしで完全にアクセス可能になりました
  • update-robotorientationルートが使用されると、再起動するまでNetworkTablesの方向更新は無効になります

Limelight OS 2024.9.1 (2024年7月7日)

  • マップビルダーツールがWPILibの.json形式のエイプリルタグレイアウトを受け入れ/変換できるようになりました
  • Python Snapscriptsにエイプリルタグ3を追加しました(from apriltag import apriltag)
  • GitHubのexamplesリポジトリにある例を参照してください
  • WindowsでのUSB接続ゲートウェイの問題を修正しました

モザイクスクリーンショット:

Limelight OS 2024.9 (2024年5月7日)

MegaTagのアップグレード

  • Limelight OSがNetworkTables 4.0に移行しました

  • MegaTag2は、roboRIOからタイムスタンプ付きIMUアップデートを取得するためにNT4のgetAtomic()を使用するようになりました

  • タイムスタンプ付き画像フレームは、補間が行われる前に、最も関連性の高い2つのIMUサンプルとマッチングされます

  • NT4のflush()がLimelightLibに追加されました。古いバージョンのLimelight OSにFlush()を追加すると、2024.9のパフォーマンスにかなり近づきますが、NT4は常に高い精度を保証します

  • MT2のビジュアライザーロボットは緑色のバンパーを、MT1のビジュアライザーロボットは黄色のバンパーを使用するようになりました

  • メトリクスは折りたたみ可能になり、仮想ロボットを非表示にすることができます

  • 以下の動画は、ロボット側でflush()を使用する2024.9のMegaTag 2(緑色のロボット)が、Flush()を使用しない2024.5のMegaTag2(赤色のロボット)よりも堅牢であることを示しています

USB IDと新しいUSB IPアドレス

  • 設定ページで「USB ID」を設定することで、任意のシステムで複数のUSB Limelightを使用できます
  • システムに表示されるUSB-Ethernetインターフェースは、USB IDによって決定されるIPアドレスを使用します
  • Linux/Android/Macシステムは、デフォルトで172.29.0.0/24サブネットを使用するようになりました
  • Windowsシステムは、デフォルトで172.28.0.0/24サブネットを使用するようになりました
  • USBIDが設定されている場合、サブネットはLinux/Android/Mac用に172.29.(USBID).0/24、Windows用に172.28.(USBID).0/24に変更されます
  • これにより、例えば、ホスト名とUSB IDを調整することで、4つのLimelightデバイスを1つのUSBハブに接続できるようになりました

CPU神経分類器

  • CPU .tflite分類器をアップロードすることで、Google Coralなしでニューラル分類を有効にできます。LL3バリアントで15-18 FPSが期待できます
  • 2024.9にはデフォルトのCPU分類器が付属しています
  • この機能を有効にするには、分類器ランタイムを「CPU」に設定してください

CPUニューラル検出器

  • CPU .tflite検出器をアップロードすることで、Google Coralなしでニューラル検出を有効にできます。LL3バリアントで10 FPSが期待できます
  • 2024.9にはデフォルトのCPU検出器が付属しています
  • この機能を有効にするには、検出器ランタイムを「CPU」に設定してください

Limelight OS 2024.8 (2024年7月3日)

  • JSON結果オブジェクトにPython出力(PythonOut)、tx、ty、txnc、tync、taを追加
  • MT2レイテンシー補償をさらに改善

Limelight OS 2024.7 (2024年5月21日)

  • Linux 6.6へのアップグレード

バグ修正

  • ビジョンパイプライン変換の修正
  • キャリブレーションアップロード、スナップショットアップロード、ニューラルネットワークアップロードの修正

Limelight OS 2024.6 (2024年5月8日)

LimelightLib Python

  • pip install limelightlib-python
  • 私たちのPythonライブラリを使用すると、任意のプラットフォームでUSBおよびEthernet Limelightと対話できます。
  • WebUIとの対話なしで、Limelightの完全な設定が可能です。
  • パイプライン、ニューラルネットワーク、フィールドマップなどをアップロードできます。
  • オプションの「ディスクにフラッシュ」機能を使用して、任意のパイプラインパラメータにリアルタイムで変更を加えることができます。
  • カスタムPython入力データの投稿、ロボットの向きの設定などが可能です。

MegaTag2のアップグレード

  • MegaTag2のジャイロ遅延補償が改善されました。近日中にさらなる改善が予定されています!
  • UIに「ジャイロ遅延調整」スライダーを追加しました。MegaTag 2の遅延補償を手動で調整するには、ロボットを回転させ、回転中のローカライゼーション結果が完璧になるまでスライダーを調整します。

標準偏差メトリクス

  • 3Dフィールドビジュアライザーに、MegaTag1とMegatag2のx、y、yawの標準偏差が追加されました。

新しい「フォーカス」パイプラインタイプ

  • 「フォーカス」モードでは、ストリーム品質スライダーとクロップボックススライダーにアクセスできます。
  • レンズを回転させて「フォーカス」スコアを最大化します。
  • カメラが固定位置にある場合、これは1分以下で完了します。固定/マウントされたLimelightでフォーカスを合わせることをお勧めします。

新しい「バーコード」パイプラインタイプ

  • 1280x800で50-60FPSの複数QRコード検出とデコード
  • 1280x800で50-60FPSの複数DataMatrix検出とデコード
  • 1280x800で30FPSの複数UPC、EAN、Code128、PDF417
  • バーコードデータ文字列は「rawbarcodes」NT配列に投稿されます。
  • バーコードパイプラインは、tx、ty、ta、tcornxyなどのすべての2Dメトリクスを生成します。

全く新しいREST API

  • https://docs.limelightvision.io/docs/docs-limelight/apis/rest-http-api
  • REST / HTTP APIが完全に再構築されました。
  • REST APIを使用すると、WebUIとの対話なしでLimelightの完全な設定が可能です。
  • パイプライン、ニューラルネットワーク、フィールドマップなどをアップロードできます。
  • オプションの「ディスクにフラッシュ」機能を使用して、任意のパイプラインパラメータにリアルタイムで変更を加えることができます。
  • Python入力データの投稿、ロボットの向きの設定などが可能です。

UIからカメラの向き設定を削除(破壊的変更)

  • これは「ストリームの向き」オプションに置き換えられました。キャリブレーションとターゲティングはこのオプションの影響を受けません。
  • 新しいオプションはストリームにのみ影響します。上下反転、90度時計回り、90度反時計回り、水平ミラー、垂直ミラー
  • チームは回転したカメラを使用する際に、必要に応じてtxとtyを手動で反転する必要があります。

GRIPサポートの削除(破壊的変更)

「ドライバー」ゼロ処理モードの削除(破壊的変更)

  • これは「ビューファインダー」パイプラインタイプに置き換えられました。

「ビューファインダー」パイプラインタイプの追加

  • ビューファインダーパイプラインは、最小限の遅延のためにすべての処理を無効にします。
  • これにより、チームは表示専用モードのための独自の「ドライバー」パイプラインを設計できます。

パイプラインファイルがJSONフォーマットを使用するようになりました(破壊的変更)

  • パイプラインは引き続き.vpr拡張子を使用します。
  • (2024.6では一部のケースで動作しません)UIは「アップロード」ボタンを使用すると、パイプラインを自動的にJSONに変換します。
  • (完全に機能します)https://tools.limelightvision.io/pipeline-upgrade を使用してパイプラインをアップグレードすることもできます。

キャリブレーションUXの改善

  • キャリブレーション設定がキャッシュされるようになりました。キャリブレーションを行うたびにキャリブレーション設定を入力する必要がなくなりました。
  • デフォルトのキャリブレーション辞書が、Calib.ioの推奨800x600mmの粗いボードで動作するように更新されました。

キャリブレーションモザイク

  • 以前は、キャリブレーション画像の品質を判断するのが困難でした。
  • キャリブレーションタブに「キャリブレーションモザイクのダウンロード」ボタンが追加されました。モザイクは、各画像がキャリブレーションにどのように貢献しているかを正確に示します。

モザイクのスクリーンショット:

「重心」ターゲティング領域

  • カラーパイプラインでのオブジェクト追跡を改善するために、「出力」タブに重心ターゲティングモードが追加されました。

動的3Dオフセット(NT: fiducial_offset_set)

  • パイプラインを変更せずに3Dオフセットを調整することが可能になりました。これは、「狙いポイント」が距離やその他のプロパティに基づいて変更する必要がある状況で役立ちます。

Modbusサポートの追加

  • Limelight OSに、検査、物流、産業用アプリケーション向けの常時稼働Modbusサーバーが追加されました。
  • Modbusレジスタ仕様はこちら: https://docs.limelightvision.io/docs/docs-limelight/apis/modbus
  • デフォルトのModbusサーバーポートはUIの設定タブで変更できます。
  • ModbusとSnapscript Pythonパイプラインを通じて、双方向通信を備えた完全にカスタマイズ可能なビジョンアプリケーションがサポートされるようになりました。

カスタムNTサーバー

  • 設定タブにカスタムNTサーバーのエントリが追加されました。
  • これにより、PCで実行されるガラスNTサーバーとUSB経由で通信するLimelight 3Gを含む新しいワークフローが可能になります。

Rawfiducialの変更

  • 生のフィデューシャルの「面積」値が、約0-1の範囲でキャリブレーションされ、正規化された値になりました。

すべてのNetworkTablesとJSONの変更

  • NT getpipetype を追加 - 現在のパイプラインタイプ文字列を取得(例:pipe_color、pipe_fiducial)

  • NT tcclass を追加 - 分類器パイプラインで検出されたクラス名

  • NT tdclass を追加 - 検出器パイプラインで検出されたクラス名

  • 保証された原子的2Dターゲティングのための NT t2d を追加 - [valid,targetcount, targetlatency, capturelatency, tx, ty, txnc, tync, ta, targetid, classifierID, detectorID, tlong, tshort, thor, tvert, ts(skew)]

  • NT tlong, tshort, thor, tvert, ts を削除

  • NT 'crosshairs' 配列 [cx0,cy0,cx1,cy1] を追加

  • NT cx0, cy0, cx1, cy1 を削除

  • NT rawbarcodes を追加 - バーコードデータのNT文字列配列。最大32エントリ。

  • すべての「raw」配列が最大32ターゲットをサポート(以前は8)

  • fiducial_offset_set 動的3Dオフセット設定を追加

  • JSONのトップレベル結果に "pType" を追加

  • JSONのトップレベル結果に "stdev_mt1" と "stdev_mt2" を追加 (x,y,z,roll,pitch,yaw) (メートル、度)

その他のファイル形式とJSONダンプの変更

  • キャリブレーションファイル形式が簡素化されました。古いキャリブレーションはアップロード時に新しい形式に自動変換されます。
  • 結果とステータスのJSONダンプから1層のネストが削除されました。

バグ修正

  • 以前は、ニューラルパイプラインがアクティブな状態でGoogle Coralが取り外されると、パイプラインが永続的に「color/retro」モードに戻ってしまう問題がありました。
    • 現在は、「CHECK CORAL」または「CHECK MODEL」が画像に表示されます。パイプラインタイプは変更されません。
  • 以前は、フィデューシャルIDフィルターを正常に通過したタグが、緑の輪郭ではなく赤の輪郭で描画されることがありました。この視覚化の問題は修正されました。
  • AprilTagパイプラインがtcornxy NT配列を生成するようになりました。
  • AprilTagパイプラインが最小-最大面積スライダーを完全に尊重するようになりました。以前は、AprilTagパイプラインはタグ面積に基づいて2D結果をフィルタリングしていましたが、3D/ローカライゼーション結果はフィルタリングしていませんでした。

Limelight OS 2024.5.0 (2024年4月9日)

  • Linux 6.1にアップグレード

カメラスタックの更新

  • Limelight3Gのカメラ周辺機器のロックアップを修正するため、カメラスタック全体が更新されました。
    • 症状には以下が含まれます
  • この更新を適用した後、露出とゲインの設定を再調整してください。

動的ダウンスケーリング

  • チームは現在のパイプラインのダウンスケール設定を上書きするために "fiducial_downscale_set" を設定できるようになりました
  • 0:UI制御、1:1倍、2:1.5倍、3:2倍、4:3倍、5:4倍
  • 新しいHelpersメソッドを0.0(UI制御)、1.0、1.5、2.0、3.0、4.0で使用してください
  • これはオーバーヘッドのない操作です。
  • 動的ダウンスケールと動的クロップを組み合わせることで、チームは複数のパイプラインを管理することなくFPSを最大化できます

MegaTag2の改善

  • MT2は、90度および-90度のロールを含む「縦向き」モードを含め、Limelightの向きに関係なく機能するようになりました

"rawdetections" ntアレイ

  • [classID, txnc, tync, ta, corner0x, corner0y, corner1x, corner2y, corner3x, corner3y, corner4x, corner4y]
  • コーナーはキャリブレーションが適用されていないピクセル空間にあります

侵食/膨張の更新

  • カラーパイプラインで最大10ステップの膨張と10ステップの侵食がサポートされるようになりました
  • カラーパイプラインに膨張と侵食のステップの順序を逆にする「リバースモルフォ」オプションが追加されました

LimelightLib 1.6 (2024年4月9日)

  • void SetFiducialDownscalingOverride(float downscale) を追加

パイプライン制御の場合は0に設定し、パイプラインのダウンスケール設定を上書きする場合は以下のいずれかに設定します: 1, 1.5, 2, 3, 4

  • RawFiducial[] GetRawFiducials() を追加
  • RawDetection[] GetRawDetections() を追加

Limelight OS 2024.4.0 (2024年4月3日)

このアップデートのアイデアを提供してくださったすべてのチームに感謝します。

Megatag 2

Megatag 2は曖昧さのない位置特定システムです。Megatag1よりも高い精度と正確性を持ち、以下の要件を満たすように設計されました:

  • ポーズの曖昧さの問題を解消し、画像/コーナーノイズに対する堅牢性を向上させる。
  • 1つ以上のタグがある場合、視点に関係なく優れたポーズ推定を提供する。
  • 物理的なAprilTagの配置の不正確さに対する堅牢性を向上させる。
  • 良好なポーズ推定結果を得るために必要なロボット側のフィルタリングの量を減らす。

この非常に曖昧な単一タグのケースにおける、MegaTag2(赤いロボット)とMegatag(青いロボット)の違いに注目してください:

Megatag2では、新しいメソッド呼び出しでロボットの向きを設定する必要があります。以下は完全な例です:

      LimelightHelpers.SetRobotOrientation("limelight", m_poseEstimator.getEstimatedPosition().getRotation().getDegrees(), 0, 0, 0, 0, 0);
LimelightHelpers.PoseEstimate mt2 = LimelightHelpers.getBotPoseEstimate_wpiBlue_MegaTag2("limelight");
if(Math.abs(m_gyro.getRate()) > 720) // 角速度が720度/秒を超える場合、ビジョンの更新を無視する
{
doRejectUpdate = true;
}
if(mt2.tagCount == 0)
{
doRejectUpdate = true;
}
if(!doRejectUpdate)
{
m_poseEstimator.setVisionMeasurementStdDevs(VecBuilder.fill(.6,.6,9999999));
m_poseEstimator.addVisionMeasurement(
mt2.pose,
mt2.timestampSeconds);
}

Megatag2は、単一のタグでも任意の距離で曖昧さのない優れた結果を提供します。 これは、関連性があり、望ましい配置許容範囲内にあるタグのみに焦点を当てることが完全に実行可能であることを意味します。 タグが正しい位置にない、または関連性がない場合は、新しい動的フィルター機能でフィルタリングできます。

動的AprilTagフィルタリング

  • MegaTag2は可能な限り多くのAprilTagを蓄積する必要がないため、適切に配置され関連性のあるタグを安全にフィルタリングできます:
int[] validIDs = {3,4};
LimelightHelpers.SetFiducialIDFiltersOverride("limelight", validIDs);

MegaTag2への移行

Megatag2が正しく機能するには、ロボットの向きが必要です。0度、360度、720度などの向きは、ロボットが赤いアライアンスの壁に向いていることを意味します。 これは、PathPlanner、Chorero、Botpose、Botpose_wpiblueで使用されているのと同じ規則です。

SetRobotOrientation()をコードに追加したら、組み込みの3Dビジュアライザーをチェックしてください。近距離では、Megatag2とMegatag1は密接に、あるいは完全に一致するはずです。長距離では、Megatag 2(赤いロボット)はMegatag1(青いロボット)よりも正確で安定しているはずです。

組み込みビジュアライザーが良好な結果を示したら、自律期間中にMegatag2を安全に使用してロボットを誘導できます。

推奨する唯一のフィルターは「最大角速度」フィルターです。高角速度では、ポーズ推定の信頼性が若干低下する可能性があります。

例のリポジトリには、このフィルターを含むMegatag2の例があります。

    if(Math.abs(m_gyro.getRate()) > 720) // 角速度が720度/秒を超える場合、ビジョンの更新を無視する
{
doRejectUpdate = true;
}
if(mt2.tagCount == 0)
{
doRejectUpdate = true;
}

LimelightLib 1.5 (2024年4月3日)

以下を追加

getBotPoseEstimate_wpiRed_MegaTag2()
getBotPoseEstimate_wpiBlue_MegaTag2()
SetRobotOrientation()

Limelight OS 2024.3.4 (2024年3月20日)

このアップデートのアイデアを提供してくださったすべてのチームに感謝します。

高精度シングルタグソルバー

MegaTagのシングルタグ3Dソルバーが改善されました。以前よりも長距離での安定性が大幅に向上しています。

JSONがデフォルトで無効化(破壊的変更)

  • バンド幅使用量を削減するため、およびShuffleboardなどの自動購読ダッシュボードを使用するチーム全体で、JSONがデフォルトで無効化されました。
  • これによりRoboRIOのNT負荷とCPU使用率も削減されるはずです。
  • 出力タブでパイプラインごとにJSONを再有効化できます。
  • このアップデートには、さらに多くのチームがポーズ推定でJSONから移行できるようにする変更が含まれています。

歪み補正された面積(破壊的変更)

任意のターゲットの面積を計算する前に、コーナーの歪みが補正されるようになりました。

botpose、botpose_wpiblue、botpose_wpiredにフィデューシャルごとのメトリクスを含める

[tx, ty, tz, roll, pitch, yaw, tagCount, tagSpan (メートル), averageDistance (メートル), averageArea (画像の割合), (tags)]

megatagローカライゼーションで使用される各タグについて、上記の配列に以下が含まれるようになりました:(tagID, txnc, tync, ta, distanceToCamera, distanceToRobot, ambiguity)

ambiguityは0-1の範囲の新しいメトリクスで、タグの現在の視点の曖昧さを示します。ambiguityが0.9を超えるシングルタグアップデートは、おそらく拒否すべきです。

"rawtargets"と"rawfiducials" NT配列(破壊的変更)

  • rawtargets - ターゲットごとの(txnc,tync,ta)
  • rawfiducials - ターゲットごとの(tagID, txnc, tync, ta, distanceToCamera, distanceToRobot, ambiguity)
  • 以前のrawtargets NTエントリ(tx0,ty0など)は削除されました。

バグ修正

  • priorityIDが見つからない場合、すべてのシングルタグ3D情報をゼロにします。以前は、priorityTagが見つからない場合、Tx、Ta、Ty、Tvのみがゼロにされていました。
  • UIの「IDフィルター」機能でフィルタリングされた唯一の可視タグがある場合、botposeをゼロにします。以前は、フィルタリングされたタグが唯一の可視タグだった場合、botposeはフィールドの中心にリセットされていました。
  • 2024.2では、まれな場合に特定のネットワークテーブルエントリにNANが投稿されることがありました。これは今後発生しなくなります。

LimelightLib 1.4 (2024年3月21日)

  • 2024.3.4 生フィデューシャルのサポートを追加。PoseEstimatesに、id、txnc、tync、ta、distanceToCamera、distanceToRobot、およびambiguityを含む生フィデューシャルの配列が含まれるようになりました。

Limelight ハードウェアマネージャー 1.4 (2024年3月18日)

バグ修正

発見されたUSB Limelightが、2つの部分的なエントリではなく、適切に1つのエントリとして表示されるようになりました。


Limelight OS 2024.2.2 (2024年3月17日)

バグ修正

NTエントリーにおいて、TXとTYがクロスヘアを適切に考慮するようになりました。


Limelight OS 2024.2 (2024年3月8日)

JSONによるゼロクロスヘアターゲティング (tx_nocross, ty_nocross) およびNT (txnc, tync)

カスタム内部パラメータキャリブレーションを使用してtx/tyターゲティングを行っている場合、Limelightのクロスヘアがカメラの主点ピクセルと一致していないため、カメラ間の変動が依然として見られる可能性があります。より高精度のtx/ty値を必要とするチームは、クロスヘアを主点ピクセルに合わせるか、これらの新しいメトリクスを使用することができます。

tx/tyにおける潜在的な破壊的変更

今シーズン初めに、JSONにおけるtx、ty、およびtx + tyのカスタムキャリブレーションを特に破壊するバグが導入されました。Limelight OSが複数のケースでデフォルトのキャリブレーションに戻っていました。

キャリブレーションの改善

キャリブレーションが、キャプチャされた画像の数に関係なく、ほぼ瞬時に完了するようになりました。また、特定の状況下で約30枚以上の画像がある場合に発生していたクラッシュも修正しました。

紙のターゲットを使用した15-20枚の画像で約1ピクセルの再投影誤差、高品質のcalib.ioターゲットを使用した場合は0.3ピクセルの誤差を一貫して得られるようになりました。

フィデューシャルフィルターUIの修正

フィデューシャルフィルターのテキストボックスが任意の数のフィルターを受け入れるようになりました。

その他

Apriltagジェネレーターのデフォルトが「ボーダーなし」に設定され、165.1 mmタグでのスケーリングを防止します。

Limelight OS 2024.1.1 (2024年2月24日)

  • priorityIDの修正

Limelight OS 2024.1 (2024年2月24日)

ハードウェアメトリクス (networktablesのhwキー、/status GETリクエスト)

キャリブレーションの改善

  • キャリブレーション画像に正確に1つの有効な検出が含まれている場合に発生する可能性があったクラッシュを修正しました。Web UIのフィードバックを改善しました。

ロボット位置推定の改善(タグ数など)

  • すべてのnetworktables botposeアレイ(botpose、botpose_wpiblue、botpose_wpired)に、タグ数、タグスパン(メートル)、平均距離(メートル)、平均面積(画像の割合)が含まれるようになりました。

  • これらのメトリクスは、アップロードされたフィールドマップに含まれるタグを使用して計算されます。カスタムおよび/または移動可能なAprilTagはこれらのメトリクスに影響しません。

  • デバイスのキャリブレーションとこのbotposeアレイのアップグレードにより、今年の大多数のユースケースではJSONが必要ないと考えています。

  • JSONダンプには、便宜上botpose_avgarea、botpose_avgdist、botpose_span、botpose_tagcountが含まれるようになりました。

[tx,ty,tz,rx,ry,rz,latency,tagcount,tagspan,avgdist,avgarea]

新機能:優先ID(NTキー priorityid)

  • ロボットがオドメトリベースの機能とtx/tyベースの機能の両方を使用している場合、次のようなUXの問題に遭遇したことがあるでしょう:

  • このアップデート以前は、tx/tyターゲティングの優先タグIDを簡単に切り替える方法がありませんでした。

  • UIにIDフィルターがありますが、

    • 動的ではありません
    • メガタグの位置推定からタグを削除します。
  • これは、チームが複数のパイプラインを作成する必要があったことを意味します:3D位置推定用のパイプラインと、tx/tyタグごとのパイプライン(青側シューティング用のタグ7用パイプライン、青側アンピング用のタグ6用パイプラインなど)。

  • 新しい優先ID機能(NTキー priorityid)を使用すると、Limelightに「すべてのタグ検出、フィルタリング、ソートが完了した後、優先IDに一致するタグに焦点を当てる」よう指示できます。

  • これは位置推定には影響せず、JSONの結果でタグの順序をわずかに変更するだけです。

  • 優先IDが-1でない場合、選択されたタグが見えない限り、tx/ty/taは0を返します。

その他

  • 3D AprilTagパイプラインでデュアルターゲットモードを使用する際の画面上の「x」を修正
  • REST APIをニューラルネットワークラベルのアップロード(/uploadlabels)で拡張
  • /status jsonにデバイスのニックネームを含めるようになりました

LimelightLib 1.3

  • LimelightLib(JavaとCPP)が更新され、位置推定がこれまで以上に簡単になりました。
  LimelightHelpers.PoseEstimate limelightMeasurement = LimelightHelpers.getBotPoseEstimate_wpiBlue("limelight");
if(limelightMeasurement.tagCount >= 2)
{
m_poseEstimator.setVisionMeasurementStdDevs(VecBuilder.fill(.7,.7,9999999));
m_poseEstimator.addVisionMeasurement(
limelightMeasurement.pose,
limelightMeasurement.timestampSeconds);
}

チーム向けの新しいリソース

Limelight フィードバックと課題トラッカー: https://github.com/LimelightVision/limelight-feedback/issues

サンプルリポジトリ: https://github.com/LimelightVision/limelight-examples

スワーブドライブを使用した照準と距離測定の例: https://docs.limelightvision.io/docs/docs-limelight/tutorials/tutorial-swerve-aiming-and-ranging

MegaTagを使用したローカライゼーションの例: https://docs.limelightvision.io/docs/docs-limelight/tutorials/tutorial-swerve-pose-estimation

最近の貢献者jasondaming、Gold876、JosephTLockwood、Andrew Gasser、virtualdに感謝します


Limelight 2024アップデート (2024年2月6日)

Limelightドキュメンテーションのアップグレード

Limelight AprilTagジェネレーター

  • https://tools.limelightvision.io/ に、初のオンラインAprilTagジェネレーターが登場しました。
  • 用紙サイズ、マーカーサイズ、タグIDを選択して、印刷可能なPDFを生成できます。
  • 現時点では、Safariでタグが正しく表示されない場合があります。

Limelight マップビルダー

  • https://tools.limelightvision.io/map-builder
  • 直感的なUIを使用してカスタムAprilTagマップを作成できるようになりました。
  • デフォルトのファミリーとタグサイズが2024年のフィールドに合わせて更新されました。

新しいハードウェアマネージャー

  • Finder ToolがLimelight Hardware Managerに変更されました
  • 一から書き直されました。Limelightをより確実に検出し、より有用な診断情報を提供し、正常に動作するために再起動を必要としなくなりました。
  • ダウンロードページから今すぐ入手できます ノートブックのスクリーンショット:

独自のニューラルネットワークを訓練する

ノートブックのスクリーンショット:

2024 AprilTagマップと注釈検出器

  • マップと検出器モデルがダウンロードページと最新のLimelight OSイメージに追加されました。

Limelight OS 2024.0 (2024年2月6日)

ChArUcoキャリブレーションの修正

  • ChArUco検出器のサブピクセル精度が向上しました。クリップボードターゲットと20枚の画像を使用して、1-2ピクセルの再投影誤差が達成可能になりました。
  • 同じカメラと同じターゲットを使用した場合、2023.6では20ピクセルのRPEでしたが、2024.0では1.14ピクセルのRPEを達成しました。
  • 入力フィールドが文字や特殊文字を受け付けなくなりました。これにより、クラッシュの可能性が排除されました。

Megatagの精度向上(設定不要)

  • この更新以前は、Limelightの内部Megatagマップジェネレーターが.fmapファイルで提供されたタグサイズではなく、UIのタグサイズスライダーを参照していました。
  • Megatagは現在、fmapファイルで設定されたタグサイズを尊重し、サイズスライダーを無視します。
  • サイズスライダーが165.1 mmに設定されていない場合、位置推定精度の即時改善が見られるでしょう。

パフォーマンスの向上とバグ修正

  • AprilTagパイプラインのFPS向上
  • フィールドスペースビジュアライザーのパフォーマンスが大幅に改善されました。

バグ修正

  • 3DビジュアライザーでのApriltagが時々不正確または破損したタグ画像で描画されていました。タグが常に正しく表示されるようになりました。
  • "v" / tv / "valid"は、有効な検出がある場合にのみ"1"を返すようになりました。以前は、tvは常に"1"でした。

2023.6 (2023年4月18日)

簡単なChArUcoキャリブレーションとキャリブレーションビジュアライザー

  • ChArUcoキャリブレーションは、チェッカーボードキャリブレーションよりも優れていると考えられています。これは、遮蔽や不適切なコーナー検出に対処でき、ボード全体が見える必要がないためです。これにより、画像の端や角に近いキャリブレーションボードのコーナーを捉えることがはるかに容易になります。これは歪み係数の推定に非常に重要です。
  • Limelightのキャリブレーションプロセスは各ステップでフィードバックを提供し、良好なキャリブレーション結果を得るために必要なすべてを確実に行います。このプロセスをできるだけ堅牢にするために多大な努力が払われています。
  • 最も重要なのは、キャリブレーション結果をデフォルトのキャリブレーションと並べて視覚化できることです。一目で、キャリブレーション結果が妥当かどうかを理解できます。
  • また、キャリブレーションダッシュボードを学習ツールとして使用することもできます。ダウンロードしたキャリブレーション結果ファイルを修正して再アップロードし、内部パラメータ行列と歪み係数がターゲティング結果、視野角などにどのように影響するかを学ぶことができます。
  • 以下の動画をご覧ください:

2023.5.1 & 2023.5.2 (2023年3月22日)

  • 2023.5.0で導入された不具合を修正しました - 2023.5では非平面レイアウトのメガタグを修正しましたが、単一タグのポーズ推定のパフォーマンスが低下していました。これを修正しました。単一タグのポーズ推定は2023.4で使用されていたのと全く同じソルバーを使用しています。

  • スナップショットインターフェースがより高速になりました。スナップショットグリッドは低解像度の128pサムネイルを読み込むようになりました。

  • Limelightのヨーが3Dビジュアライザーで正しく表示されるようになりました。ビジュアライザー内部では反時計回りが正の値となります。

  • フィールドスペースビジュアライザーで、現在追跡中のターゲットを表示するようになりました。


2023.5.0 (2023年3月21日)

重大な変更

  • 以前のリリースで発生した回帰を修正 - Limelightのロボット空間における「Yaw」が反転していました。Web UIでのLimelightのヨーは、内部的に反時計回りが正となりました。

領域選択の更新

  • ニューラル検出器パイプラインで、領域選択が期待通りに機能するようになりました。
  • 回転していないターゲット矩形の中央、上、左、右、上部、または下部を選択する5つの新しい領域オプションを追加しました。

「hwreport」REST API

  • :5807/hwreportは、カメラの内部パラメータと歪み情報を詳細に示すJSONレスポンスを返します。

MegaTagの修正

  • 特定の非共面AprilTagレイアウトがMegaTagで破損していました。これが修正され、すべてのフィールドタグでポーズ推定が安定するようになりました。これにより、以前よりもさらに遠距離でも安定したポーズ推定が可能になりました。

txとtyの精度向上

  • TXとTYがこれまで以上に正確になりました。ターゲットは完全に歪みが補正され、視野角は完全にカメラの内部パラメータによって決定されます。

2023.4.0 (2023年2月18日)

ニューラル検出器クラスフィルター

追跡したいクラスを指定して、不要な検出結果を簡単にフィルタリングできます。

ニューラル検出器の拡張サポート

任意の入力解像度をサポートし、他のオブジェクト検出アーキテクチャをサポートするための追加の出力形状をサポートします。EfficientDet0ベースのモデルが新たにサポートされました。


2023.3.1 (2023年2月14日)

AprilTagの精度向上

すべてのモデルにおいて、内部パラメータ行列と、特に重要な歪み係数が改善されました。単一のAprilTagによるローカライゼーションに顕著な改善が見られます。

検出器のアップロード

検出器のアップロードの問題が修正されました。


2023.3 (2023年2月13日)

キャプチャレイテンシー (NTキー: "cl", JSON結果: "cl")

新しいキャプチャレイテンシーエントリは、Limelightの画像センサーの中央行の露光終了から処理パイプラインの開始までの時間を表します。

AprilTagsの新しい品質閾値

新しい品質閾値スライダーにより、誤検出されたAprilTagsをより簡単にフィルタリングできるようになりました。2023.3で設定されたデフォルト値は、ほとんどの誤検出を除去するはずです。

ロボット空間でのカメラポーズのオーバーライド (NTキー: "camerapose_robotspace_set", "camerapose_robotspace")

ロボット空間におけるLimelightの位置をその場で調整できるようになりました。キーが0の配列に設定されている場合、Webインターフェースで設定されたポーズが使用されます。

エレベーター上のLimelightの例: エレベーター上のLimelight

最大露光時間の増加

最大露光時間が33ms(従来の12.5 msから増加)になりました。高フレームレートのキャプチャモードは依然として(1/fps)秒に制限されています。例えば、90Hzのパイプラインでは、11ms以上の露光時間では画像が明るくなりません。

Botposeの更新

ネットワークテーブルの3つのbotpose配列すべてに、7番目のエントリとして総レイテンシー(キャプチャレイテンシー + ターゲティングレイテンシー)が追加されました。

バグ修正

  • ShuffleboardでのLL3 MJPEGストリームの修正
  • camModeの修正 - ドライバーモードで明るく使用可能な画像が生成されるようになりました
  • 露光ラベルの修正 - 各「目盛り」が0.1 msではなく0.01msを表すように修正
  • ニューラルネット検出器のアップロードの修正

2023.2 (1/28/23)

3Dをこれまで以上に簡単に。

WPILib互換のBotposes

Botposeがさらに使いやすくなりました。

これらはWPILibの座標系に一致します。megatag botpose example:

すべてのbotposeはWebインターフェースのフィールドスペースビジュアライザーに直接表示されるため、一目で全てが正常に動作していることを確認できます。

3Dデータへのより簡単なアクセス(破壊的変更)

TargetSpace内のRobotPoseは、AprilTagsに関してLimelightから出力される最も有用なデータと言えます。これだけで、フィールド上のAprilTagとドライブトレインを完璧に位置合わせすることができます。

  • NetworkTablesのキー "campose" が "camerapose_targetspace" に変更
  • NetworkTablesのキー "targetpose" が "targetpose_cameraspace" に変更
  • 新しいNetworkTablesキー - "targetpose_robotspace"
  • 新しいNetworkTablesキー - "botpose_targetspace"

ニューラルネットのアップロード

Teachable Machineモデルを Limelight Classifier Pipeline にアップロードできます。Tensorflow Lite EdgeTPU互換モデルであることを確認してください。 .tfliteファイルと.txtラベルファイルを別々にアップロードしてください。


2023.1 (2023年1月19日)

MegaTagとパフォーマンス向上

誤りの修正

UIのデフォルトマーカーサイズパラメータが152.4mm(203.2mmから減少)に修正されました。これがほとんどの精度問題の根本原因でした。

トラッキング安定性の向上

AprilTagの検出とデコードを調整する方法がいくつかあります。全体的に安定性が向上し、特に低光量/低露出環境で改善されました。

超高速グレースケール化

グレースケール化が以前の3〜6倍速くなりました。AprilTagをトラッキングする際、チームは常にグレーのビデオストリームを見ることになります。

パフォーマンス向上のためのクロッピング

AprilTagパイプラインにクロップスライダーが追加されました。画像をクロップすることで、任意の解像度でフレームレートが向上します。

より簡単なフィルタリング

AprilTagパイプラインに単一の「IDフィルター」フィールドが追加され、JSON出力、botpose対応タグ、tx/ty対応タグをフィルタリングします。二重フィルター設定はバグが多く、混乱を招いていました。

破壊的変更

NTキー「camtran」が「campose」に変更されました。

JSON更新

「botpose」がjson結果ダンプの一部になりました。

フィールドスペースビジュアライザーの更新

フィールドスペースビジュアライザーが2023年のFRCフィールドを表示するようになりました。これにより、botposeの精度を一目で判断しやすくなりました。

Limelight MegaTag(新しいbotpose)

私の最優先事項は、より高い精度、ノイズの低減、曖昧さへの耐性を持つbotposeの書き直しでした。Limelightの新しいbotpose実装はMegaTagと呼ばれています。複数の個別のフィールドスペースポーズの単純な平均でbotposeを計算する代わりに、MegaTagは本質的にすべてのタグを1つの巨大な3Dタグに複数のキーポイントとして組み合わせます。これには大きな利点があります。

以下のGIFは、タグのフリッピングを誘発するように設計された状況を示しています: 緑の円筒:個別のタグごとのボットポーズ 青の円筒:2023.0.1 BotPose 白の円筒:新しいMegaTag Botpose

新しいbotpose(白い円筒)が古いbotpose(青い円筒)と比較して非常に安定していることに注目してください。txとty値も確認できます。

タグの曖昧さを示すフルスクリーンはこちらです:

以下が利点です:

  • 複数のタグが視界に入っている場合、Botposeは曖昧さ(タグのフリッピング)に対して耐性があります(タグが近くて同一平面上にある場合を除く。理想的にはキーポイントが同一平面上にないこと)。
  • 複数のタグが視界に入っている場合、Botposeはタグの角のノイズに対してより耐性があります。タグ同士が離れているほど良い結果が得られます。
  • これは平面的なタグに限定されません。完全な3Dで任意の数のタグ、任意の向きに対応します。床のタグと天井のタグも完璧に機能します。

これがどのように機能するかを示す図を以下に示します。単純な平面的なケースです。実際の結果は描かれているものよりも優れています。描かれているMegaTagは1点ではなく3点に大きな誤差が適用されているためです。3Dの組み合わせたMegaTagのサイズとキーポイント数が増えるほど、安定性が向上します。

ニューラルネットのアップロードは2023.2に延期されました!

2023.0.0および2023.0.1 (2023年1月11日)

AprilTags、ロボット位置推定、ディープニューラルネットワーク、スクリーンショットインターフェースの書き直しなどを導入しました。

機能、変更点、バグ修正

  • 新しいセンサーキャプチャパイプラインとゲイン制御
    • 新しいキャプチャパイプラインにより、2022年版と比べて100倍短い露光時間が可能になりました。新しいパイプラインはゲイン制御も可能にします。これはAprilTagsトラッキングにとって非常に重要で、レトロリフレクティブターゲティングをこれまで以上に信頼性の高いものにします。Limelight OS 2023以前は、Limelightのセンサーゲインは非決定的でした(それでも動作するようにいくつかのトリックを実装していました)。
    • 新しい「センサーゲイン」スライダーにより、チームは露光スライダーを触ることなく、これまで以上に画像を暗くしたり明るくしたりすることができます。ゲインを上げると画像のノイズが増加します。
    • 低いゲインと新しい低露光時間を組み合わせることで、フル輝度のLEDとレトロリフレクティブターゲットでほぼ完全に黒い画像を生成することが可能になりました。これはレトロリフレクティブターゲットを追跡する際のLEDや太陽光の反射を軽減するのに役立ちます。
    • センサーゲインを上げて露光時間を減らすことで、チームはAprilTagsを追跡する際の高露光時間によるモーションブラーの影響を最小限に抑えることができます。
    • すべての機能(90fps、ハードウェアズームなど)を維持しながら、この新しいパイプラインを開発することができました。
  • より多くの解像度オプション
    • LL1、LL2、LL2+に2つの新しいキャプチャ解像度が追加されました:640x480x90fpsと1280x960x22fps
  • 最適化されたWebインターフェース
    • ロボットネットワーク上でのWeb GUIの読み込みと初期化が最大3倍速くなりました。
  • スナップショットインターフェースの書き直し
    • スナップショット機能が完全に書き直され、画像のアップロード、ダウンロード、削除が可能になりました。また、ドキュメントに記載されているスナップショットをキャプチャするための新しいAPIもあります。
  • SolvePnPの改善
    • SolvePnPベースのカメラ位置推定機能には、4フレームごとにその精度を深刻に制限する厄介なバグがありました。これが解決され、レトロリフレクティブ/カラーSolvePNP可視化のための新しい完全3Dキャンバスが構築されました。
  • Webインターフェースのバグ修正
    • 2022年版では、フラッシュ後の最初の起動時にWebインターフェースが永続的に破損し、ユーザーに再フラッシュを強制する非常にまれな問題がありました。根本原因が発見され、完全に修正されました。
  • 新しいAPI
    • LimelightにはRESTとWebsocket APIが含まれるようになりました。REST、Websocket、NetworkTables APIはすべて新しいJSONダンプ機能をサポートしており、すべてのターゲットのすべてのデータを人間が読みやすく、解析しやすい形式でFRCおよびその他のすべてのアプリケーション用にリストアップします。

ゼロコード学習ベースビジョンとGoogle Coralサポート

  • Google Coralがすべてのライムライトモデルでサポートされるようになりました。Google Coralは、8ビットニューラルネットワークの推論用に特別に設計された4TOPs(1秒あたり1兆回の演算)のUSBハードウェアアクセラレータです。
  • 数年前のレトロリフレクティブトラッキングと同様に、FRCロボットでの学習ベースビジョンの参入障壁は、平均的なチームが試みるには高すぎました。私たちは、ライムライトでレトロリフレクティブターゲットと同じくらい簡単に学習ベースビジョンを実現するために必要なすべてのインフラストラクチャを開発しました。
  • クラウドGPUクラスター、トレーニングスクリプト、データセット集約ツール、人間によるラベリングチームが準備できています。私たちは、初めてFRCコミュニティにディープニューラルネットワークをもたらすことに興奮しています。
  • 現在、2種類のモデルをサポートしています:物体検出モデルと画像分類モデル。
    • 物体検出モデルは、検出されたすべての物体に対して「クラスID」とバウンディングボックス(レトロリフレクティブターゲットと同様)を提供します。これはリアルタイムのゲームピーストラッキングに最適です。
      • こちらで画像を提出して、FRC初の物体検出モデルに貢献してください:https://datasets.limelightvision.io/frc2023
      • 検出ネットワークを使用するには、tx、ty、ta、tclassのnetworktablesキーまたはJSONダンプを使用してください。
    • 画像分類モデルは画像を取り込み、単一のクラスラベルを生成します。
      • 自分のモデルをライムライト用にトレーニングする方法について詳しく知るには、GoogleのTeachable Machineをチェックしてください。
      • https://www.youtube.com/watch?v=T2qQGqZxkD0
      • Teachable machineモデルはライムライトと直接互換性があります。
      • 画像分類器は、内部ロボット状態、フィールド機能の状態などを分類するのに使用できます。
      • これらのモデルを使用するには、tclassのnetworktablesキーを使用してください。
  • Limelight OS 2023.0では、カスタムモデルをアップロードする機能は提供されていません。これは2023.1で間もなく有効になる予定です。

ゼロコードAprilTagサポート

  • AprilTagsはライムライトでレトロリフレクティブターゲットと同じくらい簡単です。IDという形で自然なハードフィルターを持っているため、roboRIOにビジョン関連のフィルタリングを行わせる理由はさらに少なくなります。
  • 開始するには、通常通りtx、ty、taを使用してください。コードの変更は必要ありません。任意のターゲット特性でソートし、ターゲットグループを利用するなどが可能です。
  • AprilTagsは常に正方形で常に一意に識別可能なため、完全な3Dポーズ計算のための完璧なプラットフォームを提供します。
  • このサポートチャンネルでこの機能に対して受け取ったフィードバックは非常に肯定的でした。私たちは2Dトラッキングからフィールド上の完全な3Dロボット位置推定まで、AprilTagsを可能な限り簡単にしました。
  • より詳細な情報については、フィールドマップ仕様と座標系のドキュメントをチェックしてください。
  • ライムライトでAprilTagsを使用する方法は4つあります:
  • 2DのAprilTags
    • tx、ty、taを使用します。特定のタグIDを探すようにパイプラインを設定します。
    • <gif>
  • 注目点3D AprilTags
    • tx、ty、ta、tidのnetworktablesキーを使用します。注目点オフセットは、AprilTagsが直接取り付けられていないターゲットを追跡するために、ほとんどのチームが必要とするものです。
    • <gif>
  • 完全3D
    • LL、ロボット、またはタグを完全3Dで追跡します。関連データをroboRioに取り込むには、camposeまたはjsonを使用します。
    • <gif>
  • フィールド空間ロボット位置推定
    • ライムライトにその取り付け方法を伝え、フィールドマップをアップロードすると、LLはWPILib Pose Estimatorで使用するためのロボットのフィールドポーズを提供します。
    • フィールド座標系は、コーナーではなくフィールドの中心に(0,0)を配置します。
    • この機能にはbotposeのnetworktablesキーを使用します。
    • <gif>

2022.3.0 (4/13/22)

バグ修正とハートビート。

バグ修正

  • USBカメラストリームと複数のストリームインスタンスに関連するパフォーマンス、ストリームの安定性、ストリームのラグの問題を修正しました。

機能と変更点

  • "hb" ハートビートNetworkTableキー
    • "hb"の値は処理フレームごとに1ずつ増加し、2000000000でゼロにリセットされます。

2022.2.3 (2022年3月16日)

バグ修正とロボットコードによるクロップフィルタリング。

バグ修正

  • "stream" NetworkTablesキーとピクチャーインピクチャーモードを修正
  • "snapshot" NetworkTablesキーを修正。ユーザーはスクリーンショットを撮るために、"snapshot"キーを"1"に設定する前に"0"に設定する必要があります。
  • Webインターフェースから不要なPython関連のアラートを削除

機能と変更点

  • 手動クロップフィルタリング
    • "crop" NetworkTables配列を使用して、チームはロボットコードからクロップ矩形を制御できるようになりました。
    • "crop"キーが機能するためには、現在のパイプラインがデフォルトの広く開いたクロップ矩形(minXとminYに-1、maxXとmaxYに+1)を使用している必要があります。
    • さらに、"crop" NetworkTables配列には正確に4つの値が必要で、そのうち少なくとも1つの値がゼロ以外である必要があります。

2022.2.2 (2023年2月23日)

Week 0とFMS信頼性テストに基づき、全チームに必須のアップグレードです。

バグ修正

  • オープンWebインターフェース、FMS、FMS類似のセットアップ、複数のビューアデバイスなどに関連する接続の切断/ターゲティングの喪失の問題を修正しました。

機能と変更点

  • クロップフィルタリング

    • 指定されたクロップ矩形の外側のすべてのピクセルを無視します
    • フライホイールがフィールド上に特定の有利な位置がある場合、クロップフィルタを使用して特定のパイプラインで大部分のピクセルを無視することができます。この機能により、チームが非ターゲットを追跡する確率を減らすのに役立ちます。
    • カーゴを追跡している場合、この機能を使用して画像の特定の部分内でのみカーゴを探すことができます。自チームのバンパーや遠くのターゲットなどを無視することを検討してください。
  • コーナー機能がスマートターゲットグルーピングと互換性を持つようになりました

    • これは、RIO上でより高度なカスタムビジョンを行いたいチーム向けの機能です
    • "tcornxy"コーナーの制限が64コーナーに増加しました
    • 輪郭の単純化と凸形状の強制機能が、スマートターゲットグルーピングとコーナー送信で適切に動作するようになりました
  • IQRフィルターの最大値が3.0に増加しました

  • Webインターフェースのライブターゲット更新レートを30fpsから15fpsに減少させ、Webインターフェースが開いている間の帯域幅とCPU負荷を軽減しました

2022.1 (2022年1月25日)

バグ修正

  • Limelight 2で特に使用されているCPUの約1/75に影響する問題(および修正!)について、サプライヤーの1社から情報を入手しました(特定のバッチに関連している可能性があります)。これは理にかなっており、2022年のイメージと2020年のイメージの間で残っていた数少ない起動の違いの1つでした。
  • GRIPの入力とSolvePNPモデルのアップロードボタンを修正しました。

新機能

  • 色相レインボー

    • 新しい色相レインボーにより、色相のしきい値の設定がより簡単になりました。
  • 色相反転

    • 新しい色相反転機能は、赤い物体を追跡したい場合に重要な機能です。赤は色相範囲の始まりと終わりの両方にあるためです:
  • 新しいPythonライブラリ

    • Pythonサンドボックスにscipy、scikit-image、pywavelets、pillow、pyserialを追加しました。

2022.0および2022.0.3(2022年1月15日)

これは大きな更新です。以下が主な4つの変更点です:

機能

  • スマートターゲットグルーピング

    • 個々のターゲットフィルターをすべて通過するターゲットを自動的にグループ化します。
    • グループサイズスライダーの最小値から最大値の間で、任意の数のターゲットを動的にグループ化します。
  • 外れ値の除外

    • このゴールは他のゴールよりも挑戦的ですが、フィルタリングの機会が増えます。概念的に、このゴールは単なる「緑の塊」以上のものです。ゴールが互いに近接する複数のターゲットで構成されていることがわかっているため、単独で存在する外れ値のターゲットを実際に除外することができます。
    • 今年のゴールに対しては、ほぼ完全に適切なターゲットフィルタリングに依存し、カメラストリームで偽のはずれ値が見られるか予想される場合にのみ、外れ値の除外を使用してください。標準的なターゲットフィルタリングが不十分な場合、外れ値検出が逆効果になる可能性があります!
  • Limelight 2022イメージのアップグレード ソフトウェアから数百の可動部分を削除しました。結果は以下の通りです:

    • 圧縮イメージサイズ:2020年の1.3 GB → 2022年は76MB(17倍の削減!)
    • ダウンロード時間:2020年の数十分 → 2022年は数秒
    • フラッシュ時間:2020年の5分以上 → 2022年は数秒
    • 起動時間:2020年の35秒以上 → 2022年は14秒(LEDが点灯するまで10秒)
  • 完全なPythonスクリプティング

    • Limelightは、多くの学生にロボティクスにおけるコンピュータビジョンの能力の一部を紹介することに成功しました。Pythonスクリプティングにより、チームは独自の画像処理パイプラインを作成することで、さらに一歩前進することができます。
  • この更新は、Limelight 1を含むすべてのLimelightハードウェアと互換性があります。

  • 既知の問題:Pythonでハードウェアズームを使用すると、予期しない結果が生じる可能性があります。

  • 2022.0.3では5802 GRIPストリームが復元され、一部のLL2ユニットでの起動の問題に対処するため、起動時間の最適化の一部が元に戻されました。起動時間は16秒に増加しています。

2020.4 (3/11/20)

2020.4 は、mjpegストリームの突然の切断時に発生する可能性のある2〜4秒の断続的なクラッシュを解消する重要なアップデートです。これは試合の最後に発生することが多く、場合によっては試合中に発生することもありました。


2020.3 (2/25/20)

2020.3は、断続的なネットワーク関連のソフトウェア再起動に対処し、USBカメラの切断時に発生するクラッシュを解決する重要なアップデートです。


2020.2 (2020年1月30日)

2020.2では、Limelightのハードウェア機能をさらに拡張し、任意の点へのパンとズームが可能になりました。また、まったく新しいビデオモードと重要なバグ修正も追加されています。今後のアップデートで見たい機能がありましたら、ぜひお知らせください!

機能

  • 60 FPSでの3倍ハードウェアズーム

    • 前回のアップデートでは、すべてのLimelightモデルに追加コストなしで2倍のハードウェアズームを追加しました。今回、私たちはハードウェアズームをさらに強化し、3倍のハードウェアズームを実現しました。すべてのLimelightモデルが60fpsで3倍のハードウェアズームが可能になりました。これにより、すべてのチームにとってフルコートトラッキングがさらに容易になります。
  • ハードウェアパンニング

    • 2020年に長距離と短距離の両方から射撃が可能なロボットは、アクティブで調整可能なLimelightマウントを使用せずにLimelightでハードウェアズームを使用するのが困難だったでしょう。この問題を解決するために、ハードウェアパンニングを組み込みました。

バグ修正

  • カラーバランススライダーを破損させていたドライバーの問題に対処
  • チームからの少数のネットワークパフォーマンスに関する報告に対処するため、ネットワーク関連のすべてのドライバーを2019シーズンのバリアントに戻しました

2020.1 (2020年1月16日)

2020.1では、Limelightの最もクールな機能の1つが追加されました:2倍ハードウェアズーム。これはデジタルズームではなく、現在すべてのLimelightバージョンで利用可能です。

機能

  • 2倍ハードウェアズーム

    • デジタルズームではありません
    • 2倍ハードウェアズームを有効にすることで、長距離での追跡が大幅に改善され、コート全体の距離でも安定した追跡が可能になります。
    • この機能には遅延やフレームレートのコストが全くありません - 追跡は追加のオーバーヘッドなしで90fpsで実行され続けます。
  • 手動クロスヘア

    • Webインターフェースのスライダーを使用して、シングルおよびデュアルクロスヘアの位置を手動で調整できます
  • 新しいSolvePNP / 3D機能(まだ実験的)

    • ターゲットの最外郭の点のみを使用する「Force Convex」オプションを追加しました - これは2020年の六角形ターゲットに使用される薄いテープのために必要です。
    • 「bind target」オプションが追加されました。この機能は「tx」と「ty」を3Dターゲットにバインドします。これは3Dターゲットを使用してロボットを誘導するために必要です。
    • 最後に、「Goal Z-Offset」オプションを追加して、3D空間での目標位置をZ軸上で自動的にオフセットします。
    • Infinite Rechargeでは、「Goal Z-Offset」は六角形のゴールの後ろにある小さな円形のゴールの中心を追跡するために使用されます。
  • 「tc」によるカラーセンシング

    • Network Tablesの新しい「tc」配列を読み取り、クロスヘアの位置での赤、緑、青の値を取得します。入力タブの「Blue Balance」と「Red Balance」を調整して、完璧なカラーセンシングを実現します。

バグ修正

  • 2020.0で動作しなくなっていたUSBカメラ機能が2020.1で修正されました
  • 2020.0で動作しなくなっていたSolvePnP機能が2020.1で修正されました
  • SolvePnPがモデルの中心を軸の可視化の中心として適切に使用するようになりました

2019.7 (4/5/19)

2019.7では2つの新機能が追加されました。

機能

  • 160x120 30fpsストリーミング
    • 広角USBカメラを使用するチーム向けに、よりスムーズで低帯域幅のストリーミングを実現。180度カメラストリームの帯域幅が約3.7Mbpsから約1.8Mbpsに低下しました。
    • 設定タブでストリーム解像度を変更できます。
    • 広角USBカメラを接続したLimelightでストリーム解像度を変更。ピクチャーインピクチャーはなく、通常のストリームレートです。
  • スマートスペックル除去
    • 今年、カメラをターゲットと一直線に取り付けたチームは、不要なLED反射に対処する必要がありました。
    • チームは遠距離で小さなビジョンターゲットを追跡したいため、エリアスライダーだけではこの問題を解決できません。
    • この新機能は、他のすべてのフィルターを通過した比較的小さな輪郭を自動的に除外します。
    • ロボットがビジョンターゲットから離れる(サイズが小さくなる)につれて、SSRは自動的に調整され、比較的小さな輪郭のみを除外します。

変更点

  • ツールチップ
    • 一部のLimelightコントロールでツールチップが利用可能になりました

2019.6.1 ホットフィックス (2019年3月14日)

2019.6.1はGripのアップロードの問題を修正しました。


2019.6 (2019年3月12日)

2019.6は信頼性に重点を置いています。

バグ修正

  • USBカメラ
    • 起動時に一部のUSBカメラが機能しない問題に対処しました。
  • FMS
    • FMSの再起動やフィールド/ラップトップのネットワーク変更に対して、Limelightをより(完全に)耐性を持たせました。
    • クライアントのネットワーク変更が突然発生しても、Limelightがハングしなくなりました。
  • 生の輪郭のソート(互換性のない変更)
    • 交差フィルターが生の輪郭のソートに影響しなくなりました。
  • Smartdashboardの自動投稿
    • LLが特定の情報をSmartDashboardに自動投稿します(IPアドレス、インターフェースURL等)。これらの値の名前にホスト名が含まれるようになりました。

機能と変更点

  • compute3d機能の精度と安定性を大幅に向上させました。より遠距離でも平行移動と回転の測定が安定しています。
  • 最大黒レベルオフセットを40に増加(以前は25)し、さらに暗い画像に対応しました。
  • 「デュアルクロスヘア」モードが有効な場合、「出力」タブに新しい「最も近い」ソートオプションを追加しました。
    • 標準 - 「デュアルクロスヘア」モードでの現在の「最も近い」ソート実装。
    • 標準V2 - 「デュアルクロスヘア」モードでの実験的でスマートな「最も近い」ソート実装。
    • クロスヘアの平均 - 「デュアルクロスヘア」モードでの「最も近い」ソート原点は2つのクロスヘアの平均です。
    • クロスヘアA - 「デュアルクロスヘア」モードでの「最も近い」ソート原点はクロスヘアAです。
    • クロスヘアB - 「デュアルクロスヘア」モードでの「最も近い」ソート原点はクロスヘアBです。
  • 新しい「LEDモード」パイプラインオプション:「左半分」、「右半分」
  • compute3Dが有効な場合、生の角の値を浮動小数点で表示します。
  • マジックワンドを使用中に画像の装飾を非表示にします。
  • Webインターフェースでのストリームを拡大しました。

2019.5 (2019年2月9日)

2019.5では、まったく新しいcompute3Dカメラローカライゼーション機能を導入しています。この機能をビジョンシステムに追加しようとしたチームはごくわずかでしたが、今やLimelight 1とLimelight 2のすべてのユーザーが利用できるようになりました。

これは今年のゲームにおける特効薬ではありません。この機能が絶対に必要な場合を除いて、標準的な高速90 fpsトラッキングを創造的に使用する方法を考えることを強くお勧めします。

機能

  • 高精度モードとPnP
    • 以下のgifでは、Limelight 2がターゲットの37インチ後方、14.5インチ右に配置されています。
    • その後、Limelightを手で回転させました。距離がほとんど変わらないことに注目してください。
    • 2019.4では、コーナー送信を導入しました。これにより、先進的なチームがOpenCVのsolvePNP()を使用して独自のアルゴリズムを作成できるようになりました。2019.5では、これらすべてがオンボードで行われます。
    • ターゲットのモデルをプレーンテキストのcsvファイルでアップロードします。2019年のターゲットの事前構築モデルは当社のウェブサイトでホストされています。すべてのモデルは中心に原点を持ち、反時計回りのポイント順序とインチスケーリングを使用する必要があります。
    • 新しい高解像度960x720モードを有効にし、次に「Solve 3D」を有効にして、ターゲットに対するLimelightの位置と回転を取得します。
    • コーナー番号が画像に表示されるようになり、モデル作成としきい値調整が容易になりました。
    • "camtran"ネットワークテーブル数値配列を読み取ることで、カメラの変換の6次元すべて(x、y、z、ピッチ、ヨー、ロール)を読み取ることができます。
  • ブラックレベル
    • 新しいブラックレベルスライダーにより、しきい値設定がさらに簡単になりました。ブラックレベルオフセットを上げると、画像をさらに暗くすることができます。

破壊的変更

  • LL2の報告される垂直FOVが、リストされている49.7度の値と一致するように修正されました。これにより「ty」の値が変更されます。

バグ修正

  • 魚眼USBカメラが接続されている場合に発生する可能性があったストリームのみのクラッシュを修正しました。
  • ネットワーク関連のドライバーによって引き起こされる稀なハングを修正しました。
  • コーナー近似が常に有効になりました。

2019.4 (2019年1月26日)

この リリースで、すべての重要なバグ報告が対応されたと考えています。

機能

  • コーナー
    • ターゲットのコーナーを2つの配列(tcornx、tcorny)として送信できるようになりました。*現在は「出力」タブで「コーナーを送信」を有効にすることで、tcornxyとして送信されます。これにより、solvePNP()のような高度なパイプラインに興味のあるチームがさらに活用できるようになります。
    • 「出力」タブの「コーナー近似」スライダーでコーナーの近似を調整できます。

バグ修正

  • 2つのターゲットの面積、x座標、またはy座標が完全に同じ場合に発生するハングアップとまれなクラッシュを修正しました。
  • デュアルターゲットモードとトリプルターゲットモードでの面積計算を修正しました。
  • パフォーマンス向上のためにコンターのソートを最適化しました。

2019.3 (1/19/19)

2019.3では多くのバグ修正と機能要望に対応しました。

機能

  • ストリームレート(帯域幅削減)
    • 設定ページでストリームレートを「低」に設定すると、低帯域幅の15fpsビデオストリームになります。
  • NetworkTablesでRaw Contoursを無効化(帯域幅削減)
    • Raw contoursはデフォルトで無効になりました。これによりLimelightの全体的な帯域幅がさらに削減されます。
    • デフォルトで1秒あたり約180個少ないネットワークテーブルエントリが送信されるようになりました。
    • Raw contoursを再度有効にするには、「Output」タブの新しい「Raw Contours」パイプラインオプションを参照してください。
  • アクティブパイプラインインデックス
    • ネットワークテーブルキー「getpipe」を読み取ることで、カメラの真のアクティブパイプラインインデックスを取得できます。これは90Hzで更新されます。
    • アクティブパイプラインインデックスがFPS表示の下のビデオストリームに書き込まれるようになりました。
  • 左右交差フィルター
    • チームは「左」と「右」のデュアルコンター交差フィルターを選択できるようになりました。「上」と「下」の交差フィルターは2019.2で追加されました。

バグ修正

  • 2019.2で導入されたLabViewダッシュボードストリーミングのバグを修正
  • ウェブページがインターネットからアイコンフォントを要求しなくなりました。すべてのフォントはローカルに保存されています。これによりインターフェースの読み込みが高速化されるはずです。
  • 「ドライバーモード」の露出を減少
  • 「Distance Transform」のGRIP実装を修正
  • ホスト名の変更によって引き起こされる20秒の通信遅延を修正

2019.2 (1/7/19)

2019.2では、2019年シーズンのチームをより良くサポートするための新機能が追加されました。

  • 交差フィルター
  • 方向フィルター

その他の変更と修正

  • イベントのトラブルシューティングを容易にするため、IPアドレスがSmartDashboard/Shuffleboardに自動投稿されるようになりました。これが問題になるという報告はほとんどありませんでしたが、これは別の予防機能として機能します。
  • パイプライン名がSmartDashboard/Shuffleboardに自動投稿されるようになりました。
  • 新しいネットワークテーブルキーを使用して、ラフな境界ボックスのピクセル単位の幅と高さにアクセスできるようになりました。
  • 新しいネットワークテーブルキーを使用して、完全な境界ボックスの最長辺と最短辺のピクセル単位の長さにアクセスできるようになりました。
  • 「ソートモード」が二重輪郭にも適用されるようになりました。
  • 「ソートモード」が修正されました。
  • 5802ストリームがカメラへの負荷を軽減しました。

2019.1 (18/12/18)

2019.1はベータ期間中に報告されたすべての主要なバグを修正しました

  • パフォーマンスは安定した90fpsに戻りました。ベータ期間中のパフォーマンス問題の根本原因はドライバーの問題でした
  • IPとホスト名の設定が実際に適用され、「固定」されるようになりました
  • マジックワンドがLimelight 2018ソフトウェアのものと一致するように並べ替えられました
  • ウェブインターフェースを通じてマスクなどのGrip入力をサポートするようになりました
  • NetworkTablesのフリーズが修正されました

2019.0 (2018/12/10)

2019年版では、GRIPサポート、まったく新しいインターフェース、そしてよりクリーンなフラッシング手順を導入しています。

  • GRIPサポート
    • LimelightのためのパイプラインをGRIPで構築し、"LL Script"ファイルをエクスポートしてカメラにアップロードできます。
    • マスクとNetworkTablesのサポートは将来のアップデートで追加される予定です
    • GRIPでのテスト用に、http://limelighturl:5802 で生のビデオストリームを公開
  • 全く新しいWebインターフェース
    • より小さなコントロール
    • より多くのツールチップ
    • インターフェースからLEDをオフにする機能を追加
    • ディスプレイの切り替えを容易にするため、ストリームの下にディスプレイコンボボックスを移動
    • Limelightとのより高速な通信。新しいWeb技術により、コードの他の部分を簡素化できました。
  • フラッシング
    • "Balena Etcher"に移行しました
    • Etcherは2倍速く、すべてのプラットフォームで動作します
    • 移行によりフラッシュのポップアップが修正されました。
  • その他
    • LEDモードが変更され、パイプライン固有のLEDモードが可能になりました
    • 自動IP割り当てモードでの起動時間が短縮されました
    • 最適化とマイナーなバグ修正

2018.5 (2018年3月28日)

2018.5では、ユーザーがスナップショット上でパイプラインをチューニングできなくなる重大な問題を修正しました。


2018.4 (2018年3月19日)

2018.4では、新しい輪郭ソートオプションが追加されました。これらは今年のキューブトラッキングにとってかなり重要です。チームは必ずしも視界内の最大のキューブを追跡したいわけではありません。多くの場合、チームはインテークに最も近いキューブを追跡したいと考えています。多くのユーザーが独自のソートを実装するために生の輪郭機能を使用しなければならなかったため、これをできるだけ簡単にしたいと考えています。

機能

  • 輪郭ソートモード
    • "最大"、"最小"、"最高"、"最低"、"最左"、"最右"、"最近" のソートオプションから選択できます。
    • 多くのチームがキューブトラッキングに "最近" オプションを利用すると考えています。

2018.3 (2018年2月28日)

2018.3では、NetworkTablesの再接続に関する重大なバグが修正されました。このバグにより、NetworkTablesの設定変更がLimelightに反映されない問題がありました。この基礎となるNTのバグを特定し修正してくれたPeter JohnsonとWPILibチームに感謝します。これは(我々の知る限り)Limelightが直面していた最後の高優先度のバグでした。

ledMode、pipeline、camModeなどの設定変更は、常にLimelightに適用されるはずです。デバッグ中、ロボットコードの再起動後、roborioの再起動後にLimelightの設定を変更するための回避策は、もはや必要ないはずです。

変更点

  • LabViewデバッグ中やroborioのリセット/再起動後に設定変更(ledMode、pipeline、camMode)が機能しなくなる重大なNT同期の問題を修正。
  • スポイトツール:
    • スポイトツールは色相に対して同じ10単位のウィンドウを使用しますが、彩度と明度に対しては30単位のウィンドウを使用するようになりました。これにより、しきい値設定が多くの場合、複数のステップではなく1クリックで完了できるようになりました。
  • スナップショット
    • スナップショット値を「1」に設定すると、1回のスナップショットのみを撮影し、値を0にリセットします。スナップショットは1秒あたり2枚に制限されています。
    • スナップショットの上限が100画像に増加。
    • スナップショットセレクタエリアが100画像をサポートするためにスクロール可能になりました。

2018.2 (2018年2月10日)

2018.2は、様々なFRCダッシュボードとのストリーミングに関する既知のバグをすべて修正しました。また、Limelightのチューニングをより簡単にし、イベント中の汎用性を高めました。

機能

  • しきい値設定ワンド
    • クリック数回でHSVしきい値パラメータを設定
    • "Set"ワンドは選択したピクセルを中心にHSVパラメータを設定
    • "Add"ワンドは選択したピクセルを含むようにHSVパラメータを調整
    • "Subtract"ワンドは選択したピクセルを無視するようにHSVパラメータを調整
  • スナップショット
    • スナップショットを使用すると、試合中やイベントのキャリブレーション中にLimelightが見ているものを保存し、フィールドから離れた場所でパイプラインをチューニングできます。
    • Webインターフェースを使用してスナップショットを保存するか、"snapshot" NetworkTablesキーに "1" をポストして保存
    • スナップショットを表示するには、入力タブの "Image Source" コンボボックスを変更します。これにより、Limelightのカメラフィードではなく、スナップショットでパイプラインをテストできます。
    • Limelightは最大32個のスナップショットを保存します。この制限を超えると、古いスナップショットは自動的に削除されます。
  • 新しいストリーミングオプション
    • Limelightのストリーミングモードを制御する "stream" NetworkTablesキーを導入しました。特定のダッシュボードに対応するため、PiP(ピクチャーインピクチャー)モードのリクエストがありました。
    • 0 - 標準 - WebカメラがLimelightに接続されている場合、サイドバイサイドのストリーム
    • 1 - PiPメイン - セカンダリカメラストリームがプライマリカメラストリームの右下隅に配置されます。
    • 2 - PiPセカンダリ - プライマリカメラストリームがセカンダリカメラストリームの右下隅に配置されます。
  • ストリーミングフレームレートを22fpsに増加
  • 収縮と膨張
    • 収縮と膨張の両方を最大1回まで有効化できます。
    • 収縮はHSVしきい値の結果をわずかに縮小します。これは、多くのオブジェクトが調整されたHSVしきい値を通過する場合に役立ちます。
    • 膨張はHSVしきい値の結果をわずかに拡大します。しきい値処理結果の穴を埋めるのに使用します。
  • 再起動ボタン
    • WebインターフェースからLimelightのビジョントラッキングを再起動します。これは、LabViewコードのデバッグ中に断続的な問題を経験するチームにのみ有用です。

最適化

  • 定常状態のパイプライン実行時間を3.5-4msに短縮。

バグ修正

  • Shuffleboardストリーミングの問題を修正
  • LabViewダッシュボードストリーミングの問題を修正

2018.1 (1/8/18)

  • 赤バランススライダー
  • 青バランススライダー
  • より良いデフォルトのカラーバランス設定
  • 最大露出設定の増加

2018.0 (2018年1月3日)

多数の新しいケーススタディ、より詳細なドキュメント、そして自律型STEAMWORKSシューターの完全なサンプルプログラムに加えて、ソフトウェアは大幅なアップグレードを受けました。

機能

  • 新しいビジョンパイプラインインターフェース
    • 最大10個のユニークなビジョンパイプラインを追加可能。各パイプラインにはカスタムクロスヘア、閾値オプション、露出、フィルタリングオプションなどが設定可能。
    • 各ビジョンパイプラインに名前を付けられる。
    • 任意のパイプラインを「デフォルト」パイプラインとしてマーク可能。
    • 新しい「pipeline」NetworkTables値を使用して、試合中に瞬時にパイプラインを切り替え可能。これは複数のビジョンターゲットを持つゲーム(例:2017年のギアペグとボイラー)に有用。また、ロボット、フィールド、アライアンスごとに少し異なるクロスヘアオプションを使用する必要があるチームにも役立つ。
    • Limelightからビジョンパイプラインをダウンロードしてバックアップや他のチームとの共有が可能。
    • ダウンロードしたパイプラインを使用するために、任意の「スロット」にアップロード可能。
  • ターゲットの「グループ化」オプション
    • 「デュアル」グループ化モードで2つの形状で構成されるターゲットを即座に優先。「シングル」と「トリプル」オプションも利用可能。
  • 新しいクロスヘアキャリブレーションインターフェース
    • 「シングル」と「デュアル」クロスヘアモード。
    • 「シングル」モードは、このアップデート以前のLimelightが使用していたもの。チームは手動でロボットを位置合わせし、クロスヘアを中心にターゲティング値を再ゼロ化するために「キャリブレーション」を行う。
    • 「デュアル」モードは、ターゲットのエリア/ターゲットまでの距離が変化するにつれて自動的に調整される動的クロスヘアを必要とするロボット向けの高度な機能。我々はこの機能を一部の射撃ロボットで使用しており、一部のロボットは若干のカーブで射撃していた。この機能は、中心からずれたり位置がずれたLimelightマウントを持つロボットにも役立つ。
    • X軸とY軸の個別キャリブレーション。
  • 有効なターゲット「tv」キーをNetwork Tablesに追加。
  • ターゲティングレイテンシー「tl」キーをNetwork Tablesに追加。「tl」はビジョンパイプラインの実行時間を測定。キャプチャ時間のために少なくとも11 msを追加。
  • アスペクト比の計算を説明するための追加の長方形を描画。
  • スロットリング機能を削除し、Limelightを90fpsにロック。
  • ほとんどのWebインターフェースボタンのフォーカスを無効化。クロスヘアをキャリブレーションした後、「Enter」キーを押してロボットを有効にしようとしたチームから報告されたワークフローの問題を修正。
  • 3つの「生の」輪郭と両方のクロスヘアをNetwork Tablesに投稿。
    • tx0、tx1、ta0、ta1などで生の輪郭にアクセス可能。
    • cx0、cy0、cx1、cy1で両方の生のクロスヘアにアクセス可能。
    • すべてのx/y値は正規化されたスクリーン空間(-1.0から1.0)で表現。
  • Webインターフェースに「サフィックス」オプションを追加。ユーザーがLimelightのホスト名とNetworkTablesにサフィックスを追加可能(例:limelight-boiler)。この機能は、チームが1台のロボットで複数のLimelightを使用する場合にのみ利用すべき。
  • Webインターフェースにイメージバージョンを表示

最適化

  • ネットワーク関連のレイテンシーを約10msから約0.2msに削減(Thad House氏に感謝)
  • ストリームエンコーディングとjpg圧縮を第3コアに移動し、6フレームごとに見られた10msのヒッチ(2台のカメラで25〜30msのヒッチ)を排除。
  • SIMD最適化により、定常状態のパイプライン実行時間を5msに短縮。

バグ修正

  • 値が100%に達するのを妨げていた軽微なエリア値の不正確さを修正(最大約99%)。
  • すべてのターゲティング計算における半ピクセルのオフセットを修正。
  • Limelightの起動シーケンス後に開始されたNTサーバーのカメラストリーム情報が入力されない問題を修正。カメラストリーム情報を定期的に更新。
  • アスペクト比が時々「反転」する原因となっていたバグを修正。
  • ドライバーモードで標準ストリーム出力(閾値処理された出力ではなく)を強制。
  • ネットワーキング情報をリセットした後にLEDが点滅しなくなるバグを修正。

2017.7 (2017年11月21日)

  • 輪郭のソートを改善。小さな輪郭を大きな輪郭よりも優先していた問題を修正。
  • 新しい座標系:中心が(0,0)。tyはターゲットがY軸に沿って「上」に移動すると増加し、txはターゲットがX軸に沿って「右」に移動すると増加。
  • より正確な角度計算(ピンホールカメラモデル)。
  • ウェブページにターゲティング情報(tx、ty、ta、ts)を表示。
  • デフォルトのターゲティング値はゼロ。これは、ターゲットが視界にない場合にゼロが返されることを意味する。
  • 新しい横並びのウェブページレイアウト。小さなデバイスでは単一列に折りたたまれる。
  • 連続的なスライダーの更新が設定パネルのパフォーマンスに影響を与えない。
  • エリアがパーセンテージ(0-100)としてNTに送信される。
  • イメージサイズが2.1GBから700MBに縮小。

2017.6 (17/11/13)

  • 新しいイメージングツール。Win7、Win8、Win10でテスト済み。
  • カメラストリームをcameraserverストリームに投稿。スマートダッシュボードのカメラストリームで動作しますが、シャッフルボードにはここで既知のバグがあります
  • 面積スライダーに4次スケーリング、アスペクト比スライダーに2次スケーリングを適用。これにより調整が非常に容易になります
  • コントロールを「入力」、「しきい値」、「フィルター」、「出力」タブに整理
  • スライダーをドラッグ中も継続的に更新
  • 面積はNTにパーセンテージ(0-100)として送信
  • 表示画像サイズを2.1GBから700MBに縮小

2017.5 (11/9/17)

  • イメージサイズを3.9GBから2.1GBに縮小
  • ドライバーモードとLEDモードのAPIを追加
  • limelightテーブルでledModeを0、1、または2に設定可能
  • limelightテーブルでcamModeを0または1に設定可能
  • Webインターフェースでしきい値画像と生画像を切り替える機能を追加(後のリリースで改善予定)
  • カメラストリームをCameraPublishing/limelight/streamsのネットワークテーブルに投稿(ホットフィックスが必要)
  • ターゲティング情報にスキューを追加(limelightテーブルの "ts")
  • より多くのプロトコルを見越して、基本的な "CommInterface" を追加

2017.4 (2017年10月30日)

  • 起動とシャットダウンの堅牢性を大幅に向上

2017.3 (2017年10月25日)

  • 色相の範囲が0-255から0-179に変更
  • 最大ログサイズの縮小、ログのクリア、aptキャッシュのクリア

2017.2 (2017年10月23日)

  • 手動ISOセンシティビティ
  • 最小露出時間を2に増加

2017.1 (2017年10月21日)

  • 最適化
  • 「凸度」を「充実度」に変更
  • 露光範囲を0-255 msから0-128 msに設定
  • 2台のカメラをサポート
  • シングルポイントキャリブレーションを完全サポート