9#include "core/robot_specs.h"
10#include "core/utils/command_structure/auto_command.h"
11#include "core/utils/math/geometry/pose2d.h"
50 AutoCommand* SetPositionCmd(
const Pose2d& newpos = zero_pos);
double ang_accel_deg
Definition odometry_base.h:125
static int background_task(void *ptr)
Definition odometry_base.cpp:21
double ang_speed_deg
Definition odometry_base.h:124
Pose2d current_pos
Current position of the robot in terms of x,y,rotation.
Definition odometry_base.h:120
virtual double get_accel()
Definition odometry_base.cpp:98
double get_angular_accel_deg()
Definition odometry_base.cpp:114
double speed
Definition odometry_base.h:122
OdometryBase(bool is_async)
Definition odometry_base.cpp:8
static double smallest_angle(double start_deg, double end_deg)
Definition odometry_base.cpp:74
vex::mutex mut
Mutex to control multithreading.
Definition odometry_base.h:117
double accel
Definition odometry_base.h:123
virtual double get_speed()
Definition odometry_base.cpp:90
virtual Pose2d update()=0
void end_async()
Definition odometry_base.cpp:39
virtual Pose2d get_position(void)
Gets the current position and rotation.
Definition odometry_base.cpp:42
vex::task * handle
handle to the vex task that is running the odometry code
Definition odometry_base.h:114
bool end_task
end_task is true if we instruct the odometry thread to shut down
Definition odometry_base.h:85
virtual void set_position(const Pose2d &newpos=zero_pos)
Sets the current position of the robot.
Definition odometry_base.cpp:54
double get_angular_speed_deg()
Definition odometry_base.cpp:106