📈 GH Trending Explorer 🎲 Surprise me

← all repos

TJU-Aerial-Robotics / GeoMonoPlan

git clone https://github.com/TJU-Aerial-Robotics/GeoMonoPlan.git v1.0.0 · 7d ago

Geometry-Aware Monocular RGB Planning

+28
stars, 24h · #1,364
+~196
stars, 7 days · #1,153
+~840
stars, 30 days · #1,004
84
★ total · +196% this week
3
forks · 0 open issues

Star history (as recorded here)

2026-10-22 · 56 ★ 2026-10-23 · 84 ★
LanguageC++
LicenseMIT
Created2026-09-01 (1mo ago)
Last push2d ago
Watchers0
OwnerOrganization

Links

README excerpt
Learning Geometry-Aware Planning Representations for Monocular Flight with Cross-Modal Supervision 
## 🌏 Overview
🎬 Watch the paper introduction video on 🌐 my homepage or 📺 Bilibili.
## 🎮 Simulation Flights
### 🕹️ Unity
 🟢 Training environments  🔵 Validation environments 
### ✨ 3D Gaussian Splatting (3DGS)
## 🚁 Real-World Flights
## 🧠 Method
Our monocular planner generates smooth trajectories from **two consecutive RGB images, their metric relative pose, and the vehicle state**. During training, a privileged depth expert transfers planning-relevant geometry to the RGB branch through feature alignment, aided by an auxiliary coarse-depth objective. Pose-conditioned temporal fusion brings together geometric cues across frames.
1. **Learn from depth:** pretrain the depth expert and shared planner with trajectory objectives.
2. **Transfer geometry:** freeze the expert and shared planner; train the RGB branch with feature alignment and auxiliary depth supervision.
3. **Adapt for RGB:** freeze RGB perception and adapt the shared planner to its learned representation.
At deployment, the depth expert and auxiliary depth decoder are removed. The RGB planner selects a smooth trajectory from predicted motion primitives, without explicitly reconstructing depth.
## 🚀 Inference and TensorRT Deployment
 Click to expand deployment instructions 
### 1. Environment Setup
The project was tested on **Ubuntu 20.04 with ROS1 Noetic**.
Install ROS1 Noetic and a CUDA-compatible NVIDIA driver before proceeding.
**Clone the repository:**
 [code] 
**Create the Python environment and install dependencies:**
 [code] 
On Linux x86_64, this installs CUDA-enabled PyTorch, ONNX, and the full
**TensorRT 11.1.0.106** builder/runtime. The same environment supports PT
inference, TensorRT export and engine inference. For Jetson, install the
PyTorch and TensorRT packages matched to JetPack.
**Download the simulator and checkpoint:**
The **standalone simulation environment** and **PT checkpoint** are available
from Releases.
Place the checkpoint at `weights/geomonoplan.pt`. The checkpoint contains the
complete inference weights; no separate YOLO weight download is required.
Download `AeroScene.zip` to the repository root, then create `Simulator` and
extract the environment into it:
 [code] 
Keep all extracted simulator files together.
### 2. Build the Controller
Use a ROS terminal outside Conda. From the repository root:
 [code] 
### 3. Set Up Unity–ROS Communication
Create a separate `unity_ros` workspace inside `Simulator`, alongside
`AeroScene`. From the repository root, in the same ROS terminal:
 [code] 
If you already have `ros_tcp_endpoint`, reuse its workspace and source its
`devel/setup.bash` when starting the endpoint below.
### 4. Start the Simulation Environment
Our simulation environment is based on
YOPO-Sim.
The startup order is **select environment → Respawn → start the ROS modules
and planner → ROS connect**.
**Launch Unit