Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Membangun Tank Lego Otonom Biaya Rendah dengan NVIDIA Jetson Nano & Isaac SDK

Membangun Tank Lego Otonom Biaya Rendah dengan NVIDIA Jetson Nano & Isaac SDK

Dalam panduan ini saya menunjukkan cara mengubah kit LEGO EV3 standar menjadi robot berjejak otonom penuh, yang diberi daya oleh NVIDIA Jetson Nano, Isaac SDK, YDLIDAR‑X4 LiDAR, dan kamera visi Pixy2. Hasilnya adalah alternatif hemat biaya untuk desain referensi Carter dan Kaya, namun tetap mempertahankan semua kemampuan persepsi dan perencanaan canggih dari stack robotika NVIDIA.

Lompat ke Bagian 8 atau Bagian 10 untuk demo navigasi otonom lengkap.

Proyek ini terdiri dari komponen berikut:

Mengapa Isaac SDK dan bukan ROS?

Mengapa bagian LEGO?

Memilih jalur ini memperkenalkan beberapa tantangan:

Bagian 1: Memulai

1. Instal Isaac SDK

2. Pengenalan Suara (Opsional)

3. Gambar ev3dev

Flash gambar ev3dev‑stretch terbaru ke kartu microSD atau microSDHC. microSDXC tidak didukung oleh brick EV3.

4. ARM Cross-Compiler untuk ev3dev

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

Karena Ubuntu 18.04 (host dan Jetson) menggunakan GLIBC 2.28 sementara ev3dev menggunakan GLIBC 2.24, kita harus kompilasi dengan linking dinamis kecuali untuk library matematika. Sesuaikan file jetson-ev3/toolchain/CROSSTOOL sesuai, atau gunakan image Docker Debian 9.

5. Ruang Kerja Jetson + EV3

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

Edit jetson-ev3/WORKSPACE untuk menunjuk ke jalur Isaac SDK Anda:

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

Dan perbarui jalur toolchain di jetson-ev3/toolchain/CROSSTOOL:

# edit with your path to the toolchain linker_flag: '-L/home/andrei/ml/jetson-ev3/toolchain' 

6. Hubungkan Jetson Nano dengan EV3

Gunakan kabel USB‑A ke mini‑USB. SSH ke EV3 dari Jetson:

ssh user@ev3dev.local 

Kata sandi default: maker.

7. Tutorial Ping‑Pong

Codelet “Ping‑Pong” Isaac menunjukkan komunikasi antar-proses. Adaptasikan untuk mengirim pesan antara Jetson dan brick EV3.

Bangun server EV3:

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

Deploy client pada 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> 

Jalankan kedua biner. EV3 harus mengucapkan pesan “Ping”.

Bagian 2: Mengontrol Motor dari Isaac

Menggunakan prinsip yang sama, kontrol motor EV3 melalui driver Isaac kustom yang meniru basis Segway RMP. Ev3ControlServer berjalan pada EV3:

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

Integrasikan server dengan Sight joystick virtual untuk teleoperasi manual.

Bagian 3: Membangun Robot

Chassis mengikuti desain resmi EV3 Track3r LEGO. Case Jetson Nano diambil dari repo GitHub ini.

Bagian 4: Arsitektur Aplikasi Isaac

Sebuah Isaac App terdiri dari tiga lapisan:

Berikut adalah contoh singkat aplikasi navigasi dikontrol suara. (Lihat folder lengkap voice_control untuk semua file JSON.)

{ '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': [...] } } 

Subgraph dapat digunakan kembali; stack navigasi dibagikan di semua varian robot.

Bagian 5: Menjalankan Aplikasi Isaac pada EV3

Driver EV3 mengimplementasikan API yang sama dengan basis Segway RMP, memungkinkan penggunaan ulang langsung aplikasi Isaac yang ada seperti pengontrol joystick, distributed GMapping, dan stack navigasi penuh.

Bagian 6: Kalibrasi Odometri

Odometri yang akurat sangat penting untuk operasi otonom. Ev3ControlServer mengekspos dua panggilan RPC:

Menggunakan radius roda dan lebar jejak, hitung kecepatan linier sebagai:

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

Kecepatan sudut diturunkan dari diferensial kecepatan roda dibagi lebar jejak.

Bagian 7: Navigasi Otonom Dikontrol Suara

Subgraph deteksi suara mendengarkan mikrofon dan memancarkan voice_command_id ketika salah satu kata kunci yang dilatih terdeteksi. Saya melatih RNN pada tiga kata—“jetson”, “left”, dan “right”—menggunakan Isaac Speech Toolkit. Model yang dihasilkan dapat diunduh dari repositori proyek.

Saat perintah diterima, GoalGenerator menerbitkan tujuan ke global planner. Misalnya, untuk memutar robot 90° ke kiri:

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(); 

Dalam praktiknya, sistem bekerja dengan andal dalam mode daya 10 W. Pada 5 W, latensi inferensi (≈30 ms) terlalu tinggi untuk operasi yang halus.

Bagian 8: Pemetaan dengan Distributed GMapping

Pemetaan dilakukan pada host PC sementara EV3 menyediakan data LiDAR. Deploy aplikasi distributed GMapping pada Jetson:

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

Pada host jalankan:

bazel run apps/ev3:gmapping_distributed_host 

Pastikan file JSON host menunjuk ke IP Jetson yang benar:

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

Setelah beberapa meni eksplorasi, grid ocupansi resolusi tinggi dihasilkan.

Kesimpulan

Dengan investasi yang seadanya dalam bagian LEGO Technic, YDLIDAR, dan kamera Pixy2, Anda dapat membangun robot berjejak otonom penuh yang memanfaatkan kekuatan penuh dari Isaac SDK NVIDIA. Sistem mendukung perintah suara, pemetaan berbasis LiDAR, dan percepi dipercepat GPU, menjadikannya platform serbaguna untuk penelitian, pendidikan, dan proyek hobi.

Semua kode, file konfigurasi, dan model yang dilatih tersedia di repositori proyek.

Proses manufaktur

  1. Mobil Donkey Otonom: AI TensorFlow MobileNetV2 untuk Pengumpulan Sampah
  2. Tank Raspberry Pi: Menambahkan Sensor Jarak & Arah untuk Navigasi yang Presisi
  3. Robot Quadruped Otonom JQR: Robot Kaki DIY untuk Navigasi Otonom dan Penyelamatan
  4. Menyiapkan Masa Depan Otonom: Bagaimana Pemilik Armada Bisa Unggul
  5. Model Tank Pertempuran Utama Type 99 CNC Premium Skala 1:24
  6. Robot Otonom Menguasai Masuk Pintu – Perkembangan Besar untuk Robot Pelayanan
  7. Robot Penyusun Otonom NASA Membangun Habitat Bulan
  8. Tangki Cadangan: Tujuan, Jenis, dan Manfaat
  9. Pedoman Keamanan Kritis untuk Pengelasan Tangki Bahan Bakar
  10. Cara Memperbaiki Kebocoran Bahan Bakar Mobil dengan Cepat dan Aman