Software Requirements Autonomous System - Uvic-Robotics-Club/uvic-rover-2027 GitHub Wiki
3.6 Autonomous System
3.6.1 Objectives
- Robust navigation using ZED2i, GPS, IMU, encoders.
- Plan/execute paths to waypoints with obstacle avoidance.
- Accurate localization via fused VO/GPS/IMU.
- Real-time visualization/goal management via RViz or Base Station UI.
3.6.2 Functional Requirements
FR-6.1 Sensor Integration
- ZED2i provides stereo odometry + depth for local obstacle detection.
- GPS/IMU/encoders integrated for robust localization.
- All inputs time-synchronized and on standard topics.
FR-6.2 Mapping & Localization
- Use RTAB-Map (or equivalent) for local mapping with depth + odom.
- Maintain global map by combining GPS + local SLAM for long-range nav.
- Drift < 5% over 100 m vs ground-truth GPS.
- Publish
/map,/odom,/tf. - Survive short GPS losses using visual/inertial odometry.
FR-6.3 Navigation Stack
- Layered costmap:
- Static layer,
- Obstacle layer (ZED2i point cloud),
- Inflation layer.
- Global planner: optimal paths to waypoints.
- Local planner: smooth, collision-free velocities within limits.
- Detect/avoid static & dynamic obstacles ≥ 30 cm.
- Auto re-plan when blocked.
FR-6.4 Waypoint Management
- Operators define/upload waypoint sequences via RViz or Base UI.
- Autonomous following of waypoint sequences.
- Dynamic replanning and mission resume if blocked.
- Waypoints logged for replay/debugging/analysis.
FR-6.5 Visualization & Operator Interface
- RViz shows pose, paths, costmaps, waypoints in real time.
- Operators can set/modify goals in RViz/Base UI.
FR-6.6 Configuration
- All parameters in
navigation.yaml.
3.6.3 Non-Functional Requirements
| ID | Type | Requirement |
|---|---|---|
| NFR-6.1 | Performance | Local planner ≥ 10 Hz; global replanning ≥ 1 Hz. |
| NFR-6.2 | Latency | Sensor→command loop ≤ 200 ms. |
| NFR-6.3 | Reliability | Complete ≥ 50 m predefined mission without intervention. |
| NFR-6.4 | Robustness | Tolerate GPS dropouts up to 10 s without losing localization. |
| NFR-6.5 | Maintainability | Navigation configs documented. |
3.6.4 Verification Criteria
- Complete 50 m course with ≥ 3 waypoints; no collisions or intervention.
- Detect/avoid ≥ 30 cm obstacles (static/dynamic).
- Auto re-plan and resume when blocked.
- Drift < 5% vs GPS over 100 m.
- RViz updates ≥ 10 Hz for pose/paths/costmaps/waypoints.
- End-to-end loop ≤ 200 ms during testing.
- Full simulation functionality (mapping, planning, execution) before field.