Skip to content

Software Requirements Introduction

Simran Cheema edited this page Jul 15, 2026 · 1 revision

1. Introduction

1.1 Purpose

This document outlines guidelines, requirements, and design considerations for developing the Rover software system for CIRC 2026. It is a central reference for software architecture, subsystem responsibilities, assumptions, dependencies, and design constraints. It will evolve with development and testing.

1.2 Background

Team experience ranges from beginner to intermediate. The initial framework references Daniel Snider’s ROS Rover architecture as a starting point.

Reference repo: https://github.com/danielsnider/ros-rover

As the system matures, a custom software architecture diagram specific to the UVic Rover will be produced.

A rudimentary, high level diagram is as follows:

Software-Hardware-Diagram

1.3 System Overview

Subsystems:

  • Arm Control System — 6-DOF arm control for manipulation tasks.
  • Drive System — Movement/maneuverability across terrain.
  • Perception System — Visual awareness, depth sensing, marker localization.
  • Odometry System — Pose estimation via fused sensor data.
  • Antenna (Communication System) — Rover ↔ Base Station connectivity.
  • Autonomous System — Autonomous navigation/decision-making.
  • User Interface (Base Station) — Operator control, feedback, situational awareness.

1.4 Glossary and Acronyms (to be filled out)

Key terms: ArUco Marker, Autonomous, CAN, CIRC, CI/CD, End-Effector, EKF, E-Stop, Gazebo, IK, Microcontrollers, Odometry, PWM, ROS, rostest, ROS Service, ROS Topic, RTAB-Map, RViz, Simulation Readiness Gate, Tank-Steering, Teleoperation, Ubuntu, Watchdog, ZED2i, *.yaml.

Clone this wiki locally