工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

NVIDIA Jetson NanoとIsaac SDKで作る低コスト自律レゴ戦車

NVIDIA Jetson NanoとIsaac SDKで作る低コスト自律レゴ戦車

このガイドでは、標準LEGO EV3キットを、NVIDIA Jetson Nano、Isaac SDK、YDLIDAR-X4 LiDAR、Pixy2ビジョンカメラで駆動する完全自律履帯ロボットへ変える方法を示します。CarterとKayaリファレンスデザインの予算優しい代替ながら、NVIDIAロボティクススタックの高度な知覚と計画能力をすべて保持しています。

Part 8またはPart 10で完全自律ナビゲーションデモへジャンプ。

プロジェクト構成コンポーネント:

なぜIsaac SDKでROSではないのか?

なぜLEGOパーツなのか?

この道を選ぶといくつか課題も:

Part 1: 導入

1. Isaac SDKインストール

2. 音声認識(オプション)

3. EV3devイメージ

最新ev3dev-stretchイメージをmicroSDまたはmicroSDHCカードにフラッシュ。microSDXCはEV3ブリック非対応。

4. ev3dev用ARMクロスコンパイラー

sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi 

Ubuntu 18.04(ホストとJetson)はGLIBC 2.28使用だがev3devはGLIBC 2.24。数学ライブラリ除き動的リンクでコンパイル必須。jetson-ev3/toolchain/CROSSTOOLファイル調整、またはDebian 9 Dockerイメージ使用。

5. Jetson + EV3ワークスペース

git clone https://github.com/andrei-ace/jetson-ev3.git 

jetson-ev3/WORKSPACE編集しIsaac SDKパス指定:

local_repository(
    name = 'com_nvidia_isaac',
    path = '/home/andrei/ml/isaac'
) 

jetson-ev3/toolchain/CROSSTOOLのツールチェインパス更新:

# ご自身のパスに編集
linker_flag: '-L/home/andrei/ml/jetson-ev3/toolchain' 

6. Jetson NanoとEV3接続

USB-A - mini-USBケーブル使用。JetsonからEV3へSSH:

ssh user@ev3dev.local 

デフォルトパスワード:maker。

7. Ping-Pongチュートリアル

Isaacの「Ping-Pong」Codeletでプロセス間通信をデモ。JetsonとEV3ブリック間メッセージ送信用に適応。

EV3サーバービルド:

bazel build --config=ev3dev //apps/ev3/ping_pong:ev3_pong 

Jetsonにクライアントデプロイ:

<YOUR-ISAAC-INSTALL>/engine/build/deploy.sh --remote_user <YOUR-USER-JETSON> -p //apps/ev3/ping_pong:ping_pong-pkg -d jetpack43 -h <YOUR-JETSON-IP> 

両バイナリ実行。EV3が「Ping」メッセージを発話。

Part 2: Isaacからモーター制御

同原理でEV3モーターを制御するカスタムIsaacドライバー作成、Segway RMPベースを模倣。Ev3ControlServerがEV3上で稼働:

bazel build --config=ev3dev //packages/ev3/ev3dev:ev3_control_server
ev3_control_server ev3dev.local:9000 

Sightバーチャルジョイスティックと統合し手動テレオペレーション可能。

Part 3: ロボット構築

シャーシはLEGO公式EV3 Track3r設計に準拠。Jetson NanoケースはこのGitHubリポジトリから調達。

Part 4: Isaacアプリアーキテクチャ

Isaacアプリは3層構成:

音声制御ナビゲーションアプリの簡潔例(全JSONファイルはvoice_controlフォルダ参照):

{ 'name': 'voice_control',
  'modules': [
    '//apps/ev3/voice_control:voice_control_goal_generator',
    '@com_nvidia_isaac//packages/navigation',
    '@com_nvidia_isaac//packages/planner'
  ],
  'config_files': [
    'apps/ev3/voice_control/model/isaac_vcd_model.metadata.json'
  ],
  'config': { ... },
  'graph': {
    'nodes': [...],
    'edges': [...]
  }
} 

サブグラフ再利用可能;ナビゲーションスタックは全ロボットバリエーションで共有。

Part 5: EV3上でのIsaacアプリ実行

EV3ドライバーはSegway RMPベースと同API実装し、ジョイスティックコントローラー、分散GMapping、フルナビゲーションスタック等の既存Isaacアプリを直接再利用可能。

Part 6: オドメトリキャリブレーション

正確なオドメトリは自律動作に不可欠。Ev3ControlServerが2つのRPCコール公開:

ホイール半径とトレッド幅から線速度計算:

if left == right:
    v = left
elif left == -right:
    v = 0
else:
    v = (left + right) / 2 

角速度はホイール速度差をトレッド幅で除算し導出。

Part 7: 音声制御自律ナビゲーション

音声検出サブグラフがマイク監視し、学習済みキーワード検知時にvoice_command_id発行。Isaac Speech Toolkitで「jetson」「left」「right」3単語をRNN学習。モデルはプロジェクトリポジトリからダウンロード可能。

コマンド受信時、GoalGeneratorがグローバルプランナーへゴール発行。例:ロボットを90°左旋回させる場合:

auto proto = rx_detected_command().getProto();
int id = proto.getCommandId();
auto goal_proto = tx_goal().initProto();
goal_proto.setStopRobot(true);
goal_proto.setTolerance(0.1);
goal_proto.setGoalFrame('robot');
ToProto(Pose2d::Rotation(90), goal_proto.initGoal());
tx_goal().publish(); 

実運用では10W電力モードで確実動作。5Wでは推論レイテンシ(約30ms)が高くスムーズ動作困難。

Part 8: 分散GMappingによるマッピング

マッピングはホストPCで実行、EV3がLiDARデータ提供。Jetsonに分散GMappingアプリデプロイ:

./engine/build/deploy.sh --remote_user andrei -p //apps/ev3:gmapping_distributed_ev3-pkg -d jetpack43 -h 192.168.0.218 

ホスト側実行:

bazel run apps/ev3:gmapping_distributed_host 

ホストJSONファイルで正しいJetson IP指定確認:

'tcp_subscriber': {
    'isaac.alice.TcpSubscriber': {
        'port': 5000,
        'host': '192.168.0.218'
    }
} 

数分探査後、高解像度占有グリッド生成。

結論

LEGOテクニックパーツ、YDLIDAR、Pixy2カメラへの控えめな投資で、NVIDIA Isaac SDKの全機能を活用した完全自律履帯ロボットが構築可能。音声コマンド、LiDARベースマッピング、GPU加速知覚に対応し、研究、教育、ホビープロジェクトに汎用的なプラットフォームとなります。

全コード、設定ファイル、学習済みモデルはプロジェクトリポジトリで公開。

製造プロセス

  1. 自律走行Donkey Car:TensorFlow MobileNetV2 AIでゴミ収集
  2. Raspberry Pi Tank:距離・方位センサー追加で精密ナビゲーションを実現
  3. JQR四足歩行自律ロボット:自律ナビゲーションと救助向けDIY脚式ロボット
  4. 燃料タンク溶接の重要安全ガイドライン:爆発・火災を防ぐ正しい手順
  5. 燃料タンク漏れの応急修理と本格修理|エポキシパテ溶接の手順と危険性
  6. 自律走行車の未来:技術、課題、イノベーション
  7. プレミアム 1/24スケール CNC削り出し 99式主力戦車モデル
  8. リザーブタンク(予備タンク)の目的・種類・メリット:燃料・水・油のバックアップ供給源
  9. 自律ロボットがドア開閉・通過を習得、サービスロボットのブレイクスルー
  10. NASAの自律組立ロボットが月面居住モジュールを建設
  11. 自律走行の未来への備え:フリートオーナーが先手を打つ方法