ME 507 Romi++
Cylindrical Differential Drive Robot created for ME 507 at Cal Poly in Spring 2025
|
Motor control task with feedback and coordination logic. More...
#include "motor_driver.h"
#include "encoder.h"
#include "bluetooth.h"
#include "command_parser.h"
#include "heading.h"
#include "balance.h"
#include "time_utils.h"
#include <stdint.h>
#include <algorithm>
Go to the source code of this file.
Classes | |
class | MOTOR_TASK |
Finite State Machine for low-level motor control. More... |
Variables | |
TIM_HandleTypeDef | htim1 |
Timer handle for PWM generation on motor 1. | |
TIM_HandleTypeDef | htim3 |
Timer handle for encoder 1 (e.g., left wheel). | |
TIM_HandleTypeDef | htim4 |
Timer handle for encoder 2 (e.g., right wheel). | |
TIM_HandleTypeDef | htim5 |
Timer handle for motor 2 PWM generation. | |
BLUETOOTH | bluetooth |
Global reference to Bluetooth control FSM. | |
COMMAND_PARSER | parser |
Global reference to UART command parser. | |
HEADING | heading |
Global reference to heading control task. | |
BALANCE | balance |
Global reference to balance control task. | |
int32_t | AR |
Global auto-reload value for timers. |
Motor control task with feedback and coordination logic.
Defines the MOTOR_TASK class, which uses encoder feedback and setpoints from various control modules (Bluetooth, Heading, Balance) to regulate motor speed and direction using PID control.
|
extern |
Global reference to UART command parser.
Global reference to UART command parser.
BNO055 data structure definition which hold euler, quaternion, linearaccel, gyro etc. parameters