From d9a97fcad1e7109595195993dbc0ff6136880bb9 Mon Sep 17 00:00:00 2001 From: RFisaac Date: Wed, 10 Jun 2026 22:58:13 -0600 Subject: [PATCH 1/3] Create IsaacRF-Project-BETL-001.md --- projects/IsaacRF-Project-BETL-001.md | 32 ++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 projects/IsaacRF-Project-BETL-001.md diff --git a/projects/IsaacRF-Project-BETL-001.md b/projects/IsaacRF-Project-BETL-001.md new file mode 100644 index 0000000..da4d55a --- /dev/null +++ b/projects/IsaacRF-Project-BETL-001.md @@ -0,0 +1,32 @@ +# BETL-001 — BPU Education Transport & Lidar Robot + +- **Participant:** IsaacRF +- **Stage completed:** 1 +- **Repository:** https://github.com/RFisaac/BETL-001 +- **Demo video:** *Stage 1 recap video in production — link will be added to this PR within a few days.* +- **Community post:** https://discord.com/channels/1300358874280230994/1509220927462969575/1514489192158330931 + +## Summary + +BETL-001 (BPU Education Transport & Lidar robot) is my entry platform for the Robotics Dream Keeper Challenge, built on the D-Robotics RDK X5. The long-term goal is an educational transport robot combining BPU-accelerated vision with lidar-based navigation; Stage 1 focused on bringing the brain online. + +Starting from first contact with the board, I flashed a supported OS image with RDK Studio, brought up Wi-Fi networking with verified public DNS resolution from the board, and established SSH access for remote development. For sensor bring-up I went beyond a basic camera preview: using the D-Robotics GS130W MIPI stereo camera, I ran on-device stereo depth estimation (DStereoV2.4, BPU-accelerated) producing a live colorized depth map at ~14.6 fps. For the first AI task I ran YOLOv8n object detection using the stock on-board model, executing on the X5's BPU via ROS 2 with annotated bounding-box output (person detection in my workshop). + +Along the way I documented a real-world integration quirk: the GS130W mounts rotated 90° and only that orientation has valid GDC rectification calibration, so the depth preview renders upside-down — cosmetic only, the depth data is geometrically correct — and the fix is physical mount design, not software rotation. Stage 2 moves BETL-001 from running demos to a defined robot architecture integrating depth, detection, and lidar for transport tasks. All bring-up steps, run commands, dependencies, and evidence screenshots are documented in the linked repository. + +## Technical Highlights + +- **Platform:** D-Robotics RDK X5 (Ubuntu 22.04.5, ROS 2 Humble / tros.b), flashed via RDK Studio; Wi-Fi + SSH remote development workflow +- **Sensor:** D-Robotics GS130W MIPI stereo camera (dual SC132GS global-shutter sensors, MIPI CSI dual-lane, I2C 0x32/0x33) via hobot_mipi_cam / hobot_stereonet +- **Depth:** DStereoV2.4_int16 (IGEV-based) on the BPU — ~14.6 fps at ~95–100% BPU utilization +- **AI task:** YOLOv8n (640×640 NV12, stock on-board .bin) on the X5 BPU via dnn_node_example, fed live from the stereo left eye +- **Roadmap:** Stage 2 architecture integrating depth + detection + lidar for an educational transport robot + +## Links & Evidence + +- Screenshots: https://github.com/RFisaac/BETL-001/tree/main/media/stage1 +- Stage 1 documentation: https://github.com/RFisaac/BETL-001#stage-1--ignite-challenge + +--- + +I agree that this showcase document may be used by the Robotics Dream Keeper Challenge organizers as described in the official README (promotion, judging, and archives). From 50b4d23c1774d2a3312dec385ad9e67a36f91b98 Mon Sep 17 00:00:00 2001 From: RFisaac Date: Wed, 10 Jun 2026 23:01:22 -0600 Subject: [PATCH 2/3] Update project documentation by removing demo video link Removed demo video placeholder from project documentation. --- projects/IsaacRF-Project-BETL-001.md | 1 - 1 file changed, 1 deletion(-) diff --git a/projects/IsaacRF-Project-BETL-001.md b/projects/IsaacRF-Project-BETL-001.md index da4d55a..f24460a 100644 --- a/projects/IsaacRF-Project-BETL-001.md +++ b/projects/IsaacRF-Project-BETL-001.md @@ -3,7 +3,6 @@ - **Participant:** IsaacRF - **Stage completed:** 1 - **Repository:** https://github.com/RFisaac/BETL-001 -- **Demo video:** *Stage 1 recap video in production — link will be added to this PR within a few days.* - **Community post:** https://discord.com/channels/1300358874280230994/1509220927462969575/1514489192158330931 ## Summary From ceadc728a805924260e70570b0dc633240d745d9 Mon Sep 17 00:00:00 2001 From: RFisaac Date: Sat, 27 Jun 2026 18:03:34 -0600 Subject: [PATCH 3/3] Stage 2 update Stage 2 update --- projects/IsaacRF-Project-BETL-001.md | 57 +++++++++++++++++++++------- 1 file changed, 43 insertions(+), 14 deletions(-) diff --git a/projects/IsaacRF-Project-BETL-001.md b/projects/IsaacRF-Project-BETL-001.md index f24460a..cec746d 100644 --- a/projects/IsaacRF-Project-BETL-001.md +++ b/projects/IsaacRF-Project-BETL-001.md @@ -1,31 +1,60 @@ # BETL-001 — BPU Education Transport & Lidar Robot - **Participant:** IsaacRF -- **Stage completed:** 1 +- **Stage completed:** 2 - **Repository:** https://github.com/RFisaac/BETL-001 - **Community post:** https://discord.com/channels/1300358874280230994/1509220927462969575/1514489192158330931 ## Summary -BETL-001 (BPU Education Transport & Lidar robot) is my entry platform for the Robotics Dream Keeper Challenge, built on the D-Robotics RDK X5. The long-term goal is an educational transport robot combining BPU-accelerated vision with lidar-based navigation; Stage 1 focused on bringing the brain online. - -Starting from first contact with the board, I flashed a supported OS image with RDK Studio, brought up Wi-Fi networking with verified public DNS resolution from the board, and established SSH access for remote development. For sensor bring-up I went beyond a basic camera preview: using the D-Robotics GS130W MIPI stereo camera, I ran on-device stereo depth estimation (DStereoV2.4, BPU-accelerated) producing a live colorized depth map at ~14.6 fps. For the first AI task I ran YOLOv8n object detection using the stock on-board model, executing on the X5's BPU via ROS 2 with annotated bounding-box output (person detection in my workshop). - -Along the way I documented a real-world integration quirk: the GS130W mounts rotated 90° and only that orientation has valid GDC rectification calibration, so the depth preview renders upside-down — cosmetic only, the depth data is geometrically correct — and the fix is physical mount design, not software rotation. Stage 2 moves BETL-001 from running demos to a defined robot architecture integrating depth, detection, and lidar for transport tasks. All bring-up steps, run commands, dependencies, and evidence screenshots are documented in the linked repository. +BETL-001 ("BPU-Education, Transport, Lidar" — pronounced "Beetle") is my scratch-built, +bio-inspired expressive lidar mobile robot on the D-Robotics RDK X5: a modular research +platform with personality baked in from the start. The long-term goal is an educational +transport robot combining BPU-accelerated vision with lidar-based navigation. + +**Stage 1 (Ignite) — brain online.** Starting from first contact with the board, I flashed a +supported OS image with RDK Studio, brought up Wi-Fi with verified public DNS resolution, and +established SSH for remote development. For sensor bring-up I went beyond a basic camera +preview: using the D-Robotics GS130W MIPI stereo camera I ran on-device stereo depth +(DStereoV2.4, BPU-accelerated) at ~14.6 fps, and ran YOLOv8n object detection on the X5's BPU +via ROS 2 with annotated output (person detection in my workshop). I documented a real +integration quirk: the GS130W mounts rotated 90 degrees and only that orientation has valid GDC +rectification, so the depth preview renders upside-down — cosmetic only, the fix is mount +design, not software rotation. + +**Stage 2 (Build) — full robot architecture.** Stage 2 moves BETL-001 from running demos to a +complete design: a 4-wheel skid-steer base on hoverboard hub motors driven by four ODESC +controllers over the X5's native CAN FD bus, with the two required concurrent workloads being +YOLOv8s detection on the BPU and slam_toolbox 2D SLAM on the CPU — separate compute units. +Forward depth fuses the D-Robotics stereo camera with a RealSense D435i so their failure modes +cancel; an optional "poor-man's spherical lidar" payload spins an RPLIDAR A1 on a +closed-loop-stepper slip-ring stage and encoder-reprojects it to a 3D cloud. The architecture +rests on a baseline sensor tier as a hard safety contract plus software-declared optional +payloads, and a single arbitrated path to the motors with soft + hardware e-stop. ## Technical Highlights -- **Platform:** D-Robotics RDK X5 (Ubuntu 22.04.5, ROS 2 Humble / tros.b), flashed via RDK Studio; Wi-Fi + SSH remote development workflow -- **Sensor:** D-Robotics GS130W MIPI stereo camera (dual SC132GS global-shutter sensors, MIPI CSI dual-lane, I2C 0x32/0x33) via hobot_mipi_cam / hobot_stereonet -- **Depth:** DStereoV2.4_int16 (IGEV-based) on the BPU — ~14.6 fps at ~95–100% BPU utilization -- **AI task:** YOLOv8n (640×640 NV12, stock on-board .bin) on the X5 BPU via dnn_node_example, fed live from the stereo left eye -- **Roadmap:** Stage 2 architecture integrating depth + detection + lidar for an educational transport robot +**Stage 1 (demonstrated on hardware)** +- **Platform:** RDK X5 (Ubuntu 22.04.5, ROS 2 Humble / tros.b), flashed via RDK Studio; Wi-Fi + SSH workflow +- **Sensor:** D-Robotics GS130W MIPI stereo (dual SC132GS global-shutter, MIPI CSI, I2C 0x32/0x33) +- **Depth:** DStereoV2.4_int16 (IGEV-based) on the BPU — ~14.6 fps at ~95-100% BPU utilization +- **AI task:** YOLOv8n (640x640 NV12, stock .bin) on the BPU via dnn_node_example, fed from the stereo left eye + +**Stage 2 (designed architecture)** +- **Concurrent workloads:** YOLOv8s INT8 640x640 on the **BPU** (target >=30 FPS) + slam_toolbox 2D SLAM on the **CPU** — separate units +- **Drivetrain:** 4-wheel skid steer, hoverboard hub motors, 4x Flipsky ODESC V4.2 on the X5's **native CAN FD** bus; AS5600 wheel odometry +- **Sensing:** D-Robotics stereo + RealSense D435i (active-IR + base IMU), fused; 2x side 8x8 ToF (VL53L7CX); optional spinning-lidar payload via M6 cheese plate +- **Architecture:** baseline-vs-optional capability tiers (software-declared); single cmd_mux path to motors with soft + hardware e-stop +- **Microcontrollers:** RP2350/Pico 2 class (stage, odometry, power, load cell, LED) over micro-ROS +- **On-robot learning (goals):** mass-conditioned energy-efficient locomotion + goal-conditioned Y-horn ball-pushing, trained in Isaac Lab with roller-dyno sim-to-real calibration ## Links & Evidence -- Screenshots: https://github.com/RFisaac/BETL-001/tree/main/media/stage1 -- Stage 1 documentation: https://github.com/RFisaac/BETL-001#stage-1--ignite-challenge +- **Stage 2 proposal** (Challenges 1-3, diagrams, BOM, risks): https://github.com/RFisaac/BETL-001/blob/main/PROPOSAL.md +- **Roadmap** (milestones through July 15): https://github.com/RFisaac/BETL-001/blob/main/ROADMAP.md +- **Stage 1 screenshots:** https://github.com/RFisaac/BETL-001/tree/main/media/stage1 +- **Stage 1 documentation:** https://github.com/RFisaac/BETL-001#stage-1--ignite-challenge --- -I agree that this showcase document may be used by the Robotics Dream Keeper Challenge organizers as described in the official README (promotion, judging, and archives). +I agree that this showcase document may be used by the Robotics Dream Keeper Challenge organizers as described in the official README (promotion, judging, and archives). \ No newline at end of file