-
Notifications
You must be signed in to change notification settings - Fork 0
SRS
Yasantha Niroshan edited this page Dec 21, 2024
·
4 revisions
Version | Date | Status |
---|---|---|
1.0 | 12/21/2024 | Draft |
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.
Obo Playground aims to provide a virtual alternative to physical hardware for robotics education. It will allow users to:
- Simulate Obo Car movements and sensor responses in a 3D environment.
- Write and execute code using an integrated MicroPython editor.
Target users include students and educators in RoboticGen Academy
-
3D Simulation
- Render Obo Car and its environment in a 3D simulation.
- Simulate real-world physics for accurate robot behavior.
-
Code Editor
- Integrated MicroPython editor with syntax highlighting and code suggestions.
- Execute MicroPython code within the simulated environment.
-
Sensor and Actuator Simulation
- Simulate Obo Car sensors (e.g., ultrasonic, IR) and actuators (e.g., motors).
-
Performance Metrics
- Track and display performance metrics like execution time and sensor data.
-
Web-Based Platform
- Fully accessible through modern web browsers without installation.
- Render the Obo Car in a 3D environment.
- Simulate accurate physics for motion and interactions.
- Include configurable environments.
- Support for MicroPython syntax with highlighting and autocompletion.
- Provide debugging tools, including step-through execution and error messages.
- Allow users to save and load code projects.
-
Simulate the following sensors
- Ultrasonic sensor (distance measurement).
- IR sensors (line-following).
-
Simulate actuators
- DC motors for movement.
- Display live sensor data during simulations.
- Log execution time for tasks.
- Ensure compatibility with modern web browsers (Chrome, Firefox, Edge).
- Optimize performance for smooth simulation rendering.
- 3D Simulation Viewer: Interactive viewport for viewing the Obo Car and environment.
- Code Editor: Integrated text editor with MicroPython support.
- Performance Dashboard: Displays metrics
- Simulated interfaces only; no direct hardware interaction is required.
- Ensure smooth rendering of 3D simulations at reasonable fps
- Maintain responsive interaction with the editor
- Ensure sandboxed execution of MicroPython code to prevent malicious activity.
- Protect user projects and data.
- Design an intuitive and user-friendly interface suitable for students and educators.
- Provide documentation and tutorials for first-time users.
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 |
- MicroPython: A lean implementation of Python designed for microcontrollers.
- Obo Car: A programmable robotic car used in RoboticGen