How pmvt19/physical_robot works
SunoBot is an autonomous mobile robot platform. Its user-facing workflows include SLAM and localization, geometric and semantic map creation, planning and navigation to locations, and live sensor monitoring. Robot provides the shared hardware/simulation interface; process runners and planners implement the higher-level workflows. The README documents simulated, physical-local, and server-client modes. Edges are limited to relationships visible in the README or SOURCE INDEX references; several process-level details and the monitoring server’s implementation were not sampled.
Main entry points: robot.py Robot interface · run_semantic_slam.py Semantic SLAM · run_semantic_motion_planning.py Semantic motion planning · ollama_vlm_client.py Vision-language models
Components 27
Robot workflows
- SLAM runner
physical_robot/processes/run_slam.py - Semantic SLAM
archive/run_semantic_slam.py - Semantic exploration
physical_robot/processes/run_semantic_exploration.py - Frontier exploration
physical_robot/processes/run_frontier_exploration.py - Localization runner
physical_robot/processes/run_localization_robot.py
Mapping and localization
- Map builder
physical_robot/map_builder/map_builder.py - Semantic map builder
physical_robot/map_builder/semantic_map_builder.py - Geometric map
physical_robot/maps/map.py - Advanced map
physical_robot/maps/advanced_map.py - Semantic map
physical_robot/maps/semantic_map.py - Particle localization
physical_robot/algorithms/particle_filter.py - ICP alignment
physical_robot/algorithms/icp.py - Image segmentation
physical_robot/models/segmentation/image_segmentation.py - Vision-language models
physical_robot/models/vlm/ollama_vlm_client.py
Planning and navigation
- Motion planner
physical_robot/motion_planner.py - Task planner
physical_robot/task_planner/task_planner.py - Semantic motion planning
physical_robot/processes/run_semantic_motion_planning.py
Robot and sensors
- Robot interface
physical_robot/robot/robot.py - Robot space
physical_robot/robot/robot_space.py - Simulated lidar
physical_robot/hardware/sensors/simulated/simulate_lidar.py - Motor controller
physical_robot/hardware/motors/dxl_controller.py - RPC server
physical_robot/robot/robot_server.py - Robot sensor telemetry
Monitoring UI
- RoboMonitor app
physical_robot/ui/robomonitor-pro/App.tsx - Telemetry WebSocket client
physical_robot/ui/robomonitor-pro/services/robotService.ts - Telemetry server
physical_robot/ui/ui_server.py
Other components
- Robot operator
Connections 34
- Robot operator → SLAM runner: runs SLAM
README.md - Robot operator → Semantic motion planning: requests navigation
README.md - Robot operator → RoboMonitor app: monitors robot
README.md - Semantic SLAM → Robot interface: uses robot
archive/run_semantic_slam.py - Semantic SLAM → Geometric map: uses map
archive/run_semantic_slam.py - Semantic SLAM → Advanced map: uses map
archive/run_semantic_slam.py - Semantic SLAM → Semantic map: uses map
archive/run_semantic_slam.py - Semantic SLAM → Image segmentation: uses vision
archive/run_semantic_slam.py - Semantic SLAM → Vision-language models: queries model
archive/run_semantic_slam.py - Semantic map builder → Image segmentation: uses vision
physical_robot/map_builder/semantic_map_builder.py - Semantic map builder → Vision-language models: queries model
physical_robot/map_builder/semantic_map_builder.py - Semantic map builder → Semantic map: builds map
physical_robot/map_builder/semantic_map_builder.py - Geometric map → ICP alignment: aligns scans
physical_robot/maps/map.py - Advanced map → ICP alignment: aligns scans
physical_robot/maps/advanced_map.py - Semantic map → ICP alignment: aligns scans
physical_robot/maps/semantic_map.py - Particle localization → Simulated lidar: simulates readings
physical_robot/algorithms/particle_filter.py - SLAM runner → Robot interface: uses robot
- Localization runner → Robot interface: uses robot
- Frontier exploration → Robot interface: uses robot
- Semantic exploration → Robot interface: uses robot
- Semantic motion planning → Semantic map: uses map
physical_robot/processes/run_semantic_motion_planning.py - Semantic motion planning → Particle localization: uses localization
physical_robot/processes/run_semantic_motion_planning.py - Semantic motion planning → Vision-language models: queries model
physical_robot/processes/run_semantic_motion_planning.py - Semantic motion planning → Robot space: uses robot space
physical_robot/processes/run_semantic_motion_planning.py - Motion planner → Robot space: plans in
physical_robot/motion_planner.py - Motion planner → Vision-language models: queries model
physical_robot/motion_planner.py - Task planner → Robot space: plans in
physical_robot/task_planner/task_planner.py - Task planner → Vision-language models: queries model
physical_robot/task_planner/task_planner.py - Robot interface → Simulated lidar: reads simulated scans
physical_robot/robot/robot.py - Robot interface → Motor controller: controls motors
physical_robot/robot/robot.py - RoboMonitor app → Telemetry WebSocket client: uses telemetry client
physical_robot/ui/robomonitor-pro/App.tsx - Telemetry WebSocket client → Telemetry server: connects by WebSocket
README.md - Telemetry server → Robot sensor telemetry: publishes readings
README.md - Robot interface → RPC server: serves RPC
README.md