Skip to content
Yasantha Niroshan edited this page Dec 21, 2024 · 4 revisions

Software Requirements Specification

Version History

Version Date Status
1.0 12/21/2024 Draft

Introduction

Purpose

This document outlines the requirements for the development of Obo Playground, an online simulation platform designed to teach robotics using the Obo Car. Obo Playground will simulate the behavior and sensors of the Obo Car, providing an interactive environment where students can program the robot virtually using MicroPython.

Scope

Obo Playground aims to provide a virtual alternative to physical hardware for robotics education. It will allow users to:

  1. Simulate Obo Car movements and sensor responses in a 3D environment.
  2. Write and execute code using an integrated MicroPython editor.

Target users include students and educators in RoboticGen Academy


Features

  1. 3D Simulation

    • Render Obo Car and its environment in a 3D simulation.
    • Simulate real-world physics for accurate robot behavior.
  2. Code Editor

    • Integrated MicroPython editor with syntax highlighting and code suggestions.
    • Execute MicroPython code within the simulated environment.
  3. Sensor and Actuator Simulation

    • Simulate Obo Car sensors (e.g., ultrasonic, IR) and actuators (e.g., motors).
  4. Performance Metrics

    • Track and display performance metrics like execution time and sensor data.
  5. Web-Based Platform

    • Fully accessible through modern web browsers without installation.

Functional Requirements

3D Simulation

  1. Render the Obo Car in a 3D environment.
  2. Simulate accurate physics for motion and interactions.
  3. Include configurable environments.

Code Editor

  1. Support for MicroPython syntax with highlighting and autocompletion.
  2. Provide debugging tools, including step-through execution and error messages.
  3. Allow users to save and load code projects.

Sensor and Actuator Simulation

  1. Simulate the following sensors

    • Ultrasonic sensor (distance measurement).
    • IR sensors (line-following).
  2. Simulate actuators

    • DC motors for movement.

Performance Metrics

  1. Display live sensor data during simulations.
  2. Log execution time for tasks.

Web-Based Platform

  1. Ensure compatibility with modern web browsers (Chrome, Firefox, Edge).
  2. Optimize performance for smooth simulation rendering.

Interfaces

User Interfaces

  1. 3D Simulation Viewer: Interactive viewport for viewing the Obo Car and environment.
  2. Code Editor: Integrated text editor with MicroPython support.
  3. Performance Dashboard: Displays metrics

Hardware Interfaces

  • Simulated interfaces only; no direct hardware interaction is required.

Non-Functional Requirements

Performance

  1. Ensure smooth rendering of 3D simulations at reasonable fps
  2. Maintain responsive interaction with the editor

Security

  1. Ensure sandboxed execution of MicroPython code to prevent malicious activity.
  2. Protect user projects and data.

Usability

  1. Design an intuitive and user-friendly interface suitable for students and educators.
  2. Provide documentation and tutorials for first-time users.

Development Timeline

Phase Duration
Requirements Gathering 2 weeks
Design and Architecture 6 weeks
Frontend Development 10 weeks
Backend Development 10 weeks
Integration and Testing 6 weeks
Deployment 2 weeks

Glossary

  • MicroPython: A lean implementation of Python designed for microcontrollers.
  • Obo Car: A programmable robotic car used in RoboticGen