プログラミング
Copper-Rs: ロボットのためのライブテレメトリ決定論的ツイン
Copper-Rs: Live Telemetry Deterministic Twins for Robots (copper-robotics.com)
要約
Copper-Rs v1.2では、ネットワークの信頼性が低い状況でもロボットの状態をリアルタイムで複製・監視できるライブテレメトリ機能が導入されました。Forward Error Correction (FEC)とCopperスタックの決定論的な性質を活用し、パケットロスを回復してリモートでロボットの完全な状態を再構築します。また、エンコーディングの最適化や、ステレオ画像からの深度推定を行うAI/MLコンポーネント「cu-anynet」の追加、ROS2互換性の向上も行われました。
全文翻訳
copper-rs 1.2: ライブテレメトリ ツイン
9月19日 執筆者: Guillaume Binet
Copperはユーザーの現実としっかりと結びついています。ネットワークは信頼できない可能性があり、ロボットが戻ってこないかもしれません。地上設備の位置などをブロードキャストするリターンリンクが欲しい、あるいは持っているかもしれません…。v1.2では、お気に入りのロボットスタックの決定論性を最大限に活用した最先端のテレメトリ機能を実装しました。ぜひお読みください!
要するに、copper-rsは現在、信頼性の低い片方向リンク over で自身をライブクローンできるようになりました。この魔法は、パケットロスを回復するためのForward Error Correctionと、もちろんCopperスタック独自の決定論的なプロパティによって可能になり、そのTwinはロボットの全体の状態をリモートで再構築できます!
全体的なログストリーミングアーキテクチャ
この魔法がどのように起こるかをステップバイステップで見ていきましょう。
(1) これは通常のCopperスタックです。
(2) これは通常の.copperオンボードロギングシステムです。このログストリーミング機能に完全に依存する場合は、これはオプションになります。
(3) 入力の下流に来るものすべてを決定論的にするための最小入力のシリーズを設定できます。
(4) CopperはFEC付きのcopperlistsをストリーミングします。これは、過去のパケットのエラーパケット補正を後から送信することによって行われます。
(5) Twin Copperは、プロトコル内の冗長性に基づいて、ロスのある接続からのストリームをデコード、修正、並べ替えます。
(6) もし本当に多くを失ったら?心配いりません。スタックはリカバリポイント(それ自体が自己修復機能を持つ)を送信して、ツインの任意のポイントでジャンプスタートできます。
(7) Twin Copperスタックは、現在ロボットを実行しているものとまったく同じです!
(8) 標準の.copper決定論的ログを記録できます。
(9) 運用上、メッセージ、タスク状態、エラー状態、タスクフィールド、またはローカルで実行されている任意のCopperと同様の構造化ロギングなど、監視したいものすべてを公開する完全なテレメトリディスプレイを構築できます!ツリー内のTUI例ですが、GUIを構築するための完全なAPIがあります。
最小限のリモートテレメトリコンソール、シミュレートされたパケットロスなどを含む完全なデモアプリケーションはこちらで確認できます: https://github.com/copper-project/copper-rs/tree/master/examples/cu_logstream_demo
v1.2のその他の注目すべき改善点
ストリーミングを可能にするために、copperlistは深刻なエンコーディング最適化を受けました。たとえば、フライトコントローラーのロギングエントロピーは5.9816ビット/バイトから7.0975ビット/バイトに向上し、残りの無駄が大幅に減少したことを示しています。実際のバイト数では52.31%小さくなっています。これは、メタデータが支配的であるため、ロギングが軽量なロボット(画像なしなど)では予想されることです。
新しいcu-anynetステレオ3D再構築 for copper-rs
また、直接使用したり、同様のものを構築するためのインスピレーションを得たりできるコンポーネントとして、AI/MLベースのAnytimeアルゴリズムを追加しました。これはcu-anynetで、ステレオ画像から迅速に深度を再構築します。
そして、ROS2互換性の多くの改善!
完全なリリースノートはこちらです: https://github.com/copper-project/copper-rs/wiki/Copper-Release-Notes
ご質問がありましたら、info@copper-robotics.comまでお気軽にお問い合わせください。
Guillaume Binet