ME 405 Term Project
Loading...
Searching...
No Matches
main Namespace Reference

Functions

 main ()

Detailed Description

@file main.py
@author Allan Pham and Michael Duperly
@date December 2025
@brief Main file for ME 405 Term Project implementing cooperative multitasking
       with cotask scheduler.

Each task is encapsulated in its own class, and communication is handled using task_share objects.
 (shares and queues) to avoid global variables. The cotask scheduler manages task execution based on priority and period.

The tasks included are:
- UITask: Manages Bluetooth serial communication and sets motor commands.
- MotorControlTask: Controls motors based on encoder feedback and updates shares.
- StreamTask: Streams buffered data back to the PC via Bluetooth.
- SteeringTask: Processes IR sensor data to compute steering corrections.
- GCTask: Manages garbage collection to optimize memory usage.
- SpectatorTask: Tracks the robot's position and orientation.
- PathPlanningTask: Implements path planning algorithms for navigation.

A list of inactive tasks is also provided:
- DataCollectionTask: Collects and logs data for analysis.
- StateEstimationTask: Implements a state observer for estimating robot states.
- ReadIMUTask: Reads data from the IMU sensor.
- BumpTask: Monitors bump sensors for collision detection.

Function Documentation

◆ main()

main.main ( )