![]() |
Roomba Controller Dashboard 1
A GUI and TCP client application that is used to control a Roomba for Computer Engineering 2880 @ Iowa State
|
#include <Field.hpp>
Public Member Functions | |
Field (const std::vector< Pillar > &pillars, const Pose2D &desiredDestination, const Pillar &botPose) | |
Field (const std::vector< Pillar > &pillars, const Pose2D &desiredDestination) | |
Field () | |
Field (const std::unique_ptr< std::vector< Pillar > > &pillars, const Pose2D &desired_destination, const Pillar &bot_pose, const Graph< Pose2D > &graph) | |
void | addEdgeMeasurement (double rawPosition, Cardinality cardinality) |
HoleManager & | getManager () |
void | applyOffsetToEdge (double x, double y) |
int32_t | getDesiredIndex () const |
void | clearField () |
Graph< Pose2D > & | getGraph () |
Pillar | getBotPose () |
void | discretizeGraph () |
void | weightGraph () |
std::vector< Pose2D > | makePath () |
void | addPillar (Pillar &newPillar) |
void | updateBotPose (const Pose2D &updatedPosition) |
std::unique_ptr< std::vector< Pillar > > | getPillars () |
void | setPillars (std::unique_ptr< std::vector< Pillar > > pillars) |
std::vector< Pillar > | getCopyPillars () |
bool | validLocationForNode (const Pose2D &location) |
Pose2D | getDesiredDestination () |
void | updateDesired (const Pose2D &other) |
void | setDesiredIndex (int32_t index) |
Static Public Member Functions | |
static bool | outOfBounds (const Pose2D &location) |
static bool | lineIntersectsCircle (double cx, double cy, double r, double x1, double y1, double x2, double y2) |
static bool | lineIntersectsCircle (Pillar p1, const Pose2D &one, const Pose2D &two) |
static double | roundRadius (double radius) |
Protected Attributes | |
std::unique_ptr< std::vector< Pillar > > | pillars |
HoleManager | holeManager |
Pose2D | offset |
Pose2D | desiredDestination |
Pillar | botPose |
Pose2D | runningError |
Graph< Pose2D > | graph |
int32_t | desiredIndex = -1 |
std::vector< Pillar > | newPillars |
A class that represents the objects that can be and are on the field
Field::Field | ( | const std::unique_ptr< std::vector< Pillar > > & | pillars, |
const Pose2D & | desired_destination, | ||
const Pillar & | bot_pose, | ||
const Graph< Pose2D > & | graph ) |
Copys the majority of the important parts of the field
pillars | the pillars to store |
desired_destination | the desired destination to travel to |
bot_pose | the bot position |
graph | the graph object |
void Field::addEdgeMeasurement | ( | double | rawPosition, |
Cardinality | cardinality ) |
void Field::addPillar | ( | Pillar & | newPillar | ) |
void Field::applyOffsetToEdge | ( | double | x, |
double | y ) |
void Field::clearField | ( | ) |
void Field::discretizeGraph | ( | ) |
Pillar Field::getBotPose | ( | ) |
std::vector< Pillar > Field::getCopyPillars | ( | ) |
Pose2D Field::getDesiredDestination | ( | ) |
int32_t Field::getDesiredIndex | ( | ) | const |
HoleManager & Field::getManager | ( | ) |
std::unique_ptr< std::vector< Pillar > > Field::getPillars | ( | ) |
|
static |
std::vector< Pose2D > Field::makePath | ( | ) |
|
static |
|
inlinestatic |
void Field::setDesiredIndex | ( | int32_t | index | ) |
void Field::setPillars | ( | std::unique_ptr< std::vector< Pillar > > | pillars | ) |
void Field::updateBotPose | ( | const Pose2D & | updatedPosition | ) |
void Field::updateDesired | ( | const Pose2D & | other | ) |
bool Field::validLocationForNode | ( | const Pose2D & | location | ) |
void Field::weightGraph | ( | ) |
|
protected |
|
protected |
|
protected |
The graph object which is used to generate trajectorys from nodes. Nodes represent places we can be on the field. The connections between nodes represents the possible paths we can take. The values of the connections represent the cost of moving between those nodes which is measured as the distance between nodes.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |