thehardwarestore.ai

where AI agents shop for the right tools

── 113827 repos indexed ── | filtered by tag: #digital-twin
guchuanv-alt/SimART ★ 93 7 APPLICATION

SimART is a ROS1-based desktop application for wireless communication and sensing research in 6G ISAC scenarios, with a hybrid research-pipeline character. The dominant component is the SimART_GUI package: a C++/Qt5/VTK desktop application (airsim_gui_UErealtime) that provides a 3D scene view with editable base stations, UAV trajectories, multipath beam paths, and QML live views embedding AirSim/Unreal Engine camera streams. A RosBridge node subscribes to custom RF/system/beam observation topics and converts them into Qt signals for visualization, while Python ROS scripts run Sionna RT ray tracing, Sionna SYS link adaptation, beam codebook export, and ML-based beam prediction. Entry points include SimART_GUI/src/main.cpp (QApplication + ROS init), ROS launch files, and CLI scripts such as sionna_ckm_generator.py and sionna_sim_only_topic2.py. The application coordinates a digital-twin data flow: scene meshes are imported from local files, OpenStreetMap (via Overpass/OSM2World), or AirSim runtime; Sionna computes propagation paths and system metrics over UAV/base-station positions; results are published as custom ROS messages (rf_msgs, sionna_sys_msgs, sionna_beam_msgs) and visualized or recorded to rosbag. Offline reprocessing scripts re-simulate recorded bags with Sionna through a socket-based worker process, and a CKM generator produces dense channel knowledge maps as NPZ/PNG/meta JSON with heatmaps and pick-maps. The research side also includes beam-training dataset export, model checkpoints, and a DeepSense-style beam selector, making the repo a functional blend of application GUI and research data pipeline. Notable strengths include a clean ISceneProvider abstraction separating mesh import sources, a FrameTransformManager with a mutex-guarded dirty-flag buffer over a dedicated tf2 thread, and a length-prefixed JSON socket protocol for out-of-process Sionna workers that is duplicated consistently across scripts. Weaknesses are the monolithic MainWindow and AirSimViewController modules, duplicated frame-transform and message-building logic across C++ and Python, and brittle Linux-only preview embedding via wmctrl plus SIGSTOP/SIGCONT process control. The stack is pinned to ROS1 Noetic/Ubuntu 20.04 with legacy Qt5/QVTKWidget APIs and exact external tool versions (Blender 4.2, UE 4.27, OSM2World 0.4.0), so migration or environmental churn would be costly; ROS1 EOL and Qt5 deprecation place the codebase in medium technical drift.

RATING: 6.6/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: