Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Kostengünstiger autonomer LEGO-Panzer mit NVIDIA Jetson Nano & Isaac SDK bauen

Kostengünstigen autonomen LEGO-Panzer mit NVIDIA Jetson Nano & Isaac SDK bauen

In dieser Anleitung demonstriere ich, wie man ein Standard LEGO EV3 Kit in vollautonomen Kettenroboter verwandelt, angetrieben von NVIDIA Jetson Nano, Isaac SDK, YDLIDAR-X4 LiDAR und Pixy2 Vision-Kamera. Ergebnis: budgetfreundliche Alternative zu Carter & Kaya Referenzdesigns, behält aber alle fortschrittlichen Wahrnehmungs- & Planungsfähigkeiten von NVIDIAs Robotik-Stack.

Zu Teil 8 oder Teil 10 springen für komplettes autonomes Navigationsdemo.

Projektkomponenten:

Warum Isaac SDK statt ROS?

Warum LEGO-Teile?

Dieser Pfad bringt Herausforderungen:

Teil 1: Einstieg

1. Isaac SDK installieren

2. Spracherkennung (Optional)

3. EV3dev Image

Neuestes ev3dev-stretch Image auf microSD oder microSDHC flashen. microSDXC wird von EV3 Brick nicht unterstützt.

4. ARM Cross-Compiler für ev3dev

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

Da Ubuntu 18.04 (Host & Jetson) GLIBC 2.28 nutzt, ev3dev aber GLIBC 2.24, müssen wir mit dynamischem Linking außer Math-Library kompilieren. jetson-ev3/toolchain/CROSSTOOL entsprechend anpassen, oder Debian 9 Docker Image nutzen.

5. Jetson + EV3 Workspace

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

jetson-ev3/WORKSPACE editieren auf Isaac SDK Pfad:

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

Toolchain-Pfad in jetson-ev3/toolchain/CROSSTOOL aktualisieren:

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

6. Jetson Nano mit EV3 verbinden

USB-A auf Mini-USB Kabel. SSH in EV3 von Jetson:

ssh user@ev3dev.local 

Default Passwort: maker.

7. Ping-Pong Tutorial

Isaacs „Ping-Pong“ Codelet demonstriert Inter-Prozess-Kommunikation. Anpassen für Nachrichten zwischen Jetson & EV3 Brick.

EV3 Server bauen:

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

Client auf Jetson deployen:

<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> 

Beide Binaries ausführen. EV3 sollte „Ping“ Nachrichten sprechen.

Teil 2: Motor von Isaac steuern

Mit gleichen Prinzipien EV3 Motoren via custom Isaac Driver steuern, der Segway RMP Base mimikt. Ev3ControlServer läuft auf EV3:

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

Server mit Sight Virtual Joystick für manuelle Teleoperation integrieren.

Teil 3: Roboter bauen

Chassis folgt eng LEGOs offiziellem EV3 Track3r Design. Jetson Nano Gehäuse von diesem GitHub Repo.

Teil 4: Isaac Apps Architektur

Isaac App besteht aus drei Layern:

Kurzes Beispiel Voice-Controlled Navigation App. (Vollständiger voice_control Ordner für alle JSON Files.)

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

Subgraphs wiederverwendbar; Navigationstack geteilt über alle Roboter-Varianten.

Teil 5: Isaac Apps auf EV3 ausführen

EV3 Driver implementiert gleiche API wie Segway RMP Base, ermöglicht direkte Wiederverwendung bestehender Isaac Apps: Joystick-Controller, distributed GMapping, voller Navigationstack.

Teil 6: Odometrie-Kalibrierung

Präzise Odometrie kritisch für autonomen Betrieb. Ev3ControlServer exponiert zwei RPC Calls:

Mit Radradius & Spurweite lineare Geschwindigkeit berechnen:

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

Winkelgeschwindigkeit aus Differential der Radgeschwindigkeiten geteilt durch Spurweite.

Teil 7: Sprachgesteuerte autonome Navigation

Voice Detection Subgraph lauscht Mikrofon, emittiert voice_command_id bei trainierten Keywords. Ich trainierte RNN auf drei Wörter – „jetson“, „left“, „right“ – via Isaac Speech Toolkit. Resultierendes Modell im Projekt-Repo downloadbar.

Bei Kommando publishGoalGenerator Ziel an Global Planner. Beispiel 90° Linksrotation:

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

In Praxis funktioniert System zuverlässig im 10 W Power Mode. Bei 5 W zu hohe Inferenzlatenz (≈30 ms) für smoothen Betrieb.

Teil 8: Mapping mit Distributed GMapping

Mapping auf Host-PC während EV3 LiDAR-Daten liefert. Distributed GMapping App auf Jetson deployen:

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

Auf Host ausführen:

bazel run apps/ev3:gmapping_distributed_host 

Host JSON auf korrekte Jetson IP prüfen:

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

Nach paar Minuten Erkundung entsteht hochauflösendes Occupancy Grid.

Fazit

Mit moderater Investition in LEGO Technic, YDLIDAR, Pixy2 bauen Sie vollautonomen Kettenroboter, der volle Power von NVIDIAs Isaac SDK nutzt. System unterstützt Sprachbefehle, LiDAR-Mapping, GPU-beschleunigte Wahrnehmung – vielseitige Plattform für Forschung, Bildung, Hobby.

Gesamter Code, Konfigurationsdateien, trainierte Modelle im Projekt Repository verfügbar.

Herstellungsprozess

  1. Autonomes Donkey Car: TensorFlow MobileNetV2 KI für Müllsammler
  2. Raspberry Pi Panzer: Reichweiten- & Peilungssensoren für präzise Navigation hinzufügen
  3. JQR Vierbein-Roboter: DIY-Laufroboter für autonome Navigation & Rettung
  4. Vorbereitung auf eine autonome Zukunft: Wie Flottenbetreiber vorausfahren können
  5. Premium 1:24 CNC-gefertigtes Type 99 Kampfpanzer-Modell
  6. Autonomer Roboter meistert Türöffnung – Durchbruch für Serviceroboter
  7. NASA's autonome Assembler-Roboter bauen Mondhabitate
  8. Reservetanks: Zweck, Arten und Vorteile
  9. Kritische Sicherheitsrichtlinien für das Schweißen von Kraftstofftanks
  10. Benzinleck am Auto finden & reparieren: Anleitung & Sicherheit