How utahrobotics/utah-lunabotics-2026 works
Lunabot is a robotics system whose production runtime coordinates sensing, state estimation, autonomy, and motor control; it also supports simulation and log replay. The README identifies a Copper task configuration as the source of task and datatype wiring, but that configuration is not in the supplied tree, so the graph avoids asserting detailed task-to-task connections. Runtime entry-point and component roles are based on the sampled source and repository paths.
Main entry points: motor_controller.rs Motor controller · main.rs Copper application · autonomy_main.rs Autonomous navigation · teleop.rs Teleoperation
Components 21
Runtime and data
- Copper application
lunabot-cu/src/main.rs - Task components
lunabot-cu/src/tasks - Task payloads
lunabot-cu/src/payloads - RealSense publisher
external-tasks/realsense/src/main.rs
Sensing and state
- Localization
lunabot-cu/src/tasks/localizer.rs - State estimation
lunabot-cu/src/kalman_filtering - Obstacle mapping
lunabot-cu/src/tasks/realsense_occupancy_grid.rs - Camera capture
lunabot-cu/src/tasks/sources/realsense_subscriber.rs
Control and autonomy
- AI behavior
lunabot-cu/src/tasks/ai/lunabot_ai.rs - Teleoperation
lunabot-cu/src/tasks/ai/behaviors/teleop.rs - Autonomous navigation
lunabot-cu/src/tasks/ai/behaviors/autonomy/autonomy_main.rs - Pathfinding
lunabot-cu/src/pathfinding
Hardware interface
- Motor controller
lunabot-cu/src/tasks/sinks/motor_controller.rs - Pico firmware
embedded/src/bin/pico-prime.rs
Observability
- Runtime log
lunabot-cu/src/main.rs - Rerun visualization
lunabot-cu/src/rerun_viz.rs - Log replay
lunabot-cu/src/resim.rs
Other components
- Operator
- Robot environment
- Robot sensors
- Motor hardware
Connections 18
- Operator → Teleoperation: issues commands
- Robot environment → Robot sensors: produces measurements
- Robot sensors → Task components: supplies sensor data
- Copper application → Task components: runs configured tasks
- Copper application → RealSense publisher: launches process
- RealSense publisher → Camera capture: publishes camera data
- Camera capture → Obstacle mapping: provides frames
- Localization → State estimation: provides localization input
- AI behavior → Teleoperation: selects behavior
- AI behavior → Autonomous navigation: selects behavior
- Autonomous navigation → Pathfinding: requests routes
- Teleoperation → Motor controller: supplies steering
- Autonomous navigation → Motor controller: supplies steering
- Motor controller → Motor hardware: commands motors
- Pico firmware → Motor hardware: drives actuators
- Copper application → Runtime log: initializes logging
- Motor controller → Rerun visualization: logs telemetry
- Runtime log → Log replay: replays records