Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
geoops::RoverPose Struct Reference

This struct is used by the WaypointHandler to provide an easy way to store all pose data about the rover. More...

#include <GeospatialOperations.hpp>

Collaboration diagram for geoops::RoverPose:

Public Member Functions

 RoverPose (const geoops::GPSCoordinate &stRoverPosition=geoops::GPSCoordinate(), const double dRoverHeading=0.0)
 Construct a new Rover Pose object.
 
 RoverPose (const geoops::UTMCoordinate &stRoverPosition, const double dRoverHeading=0.0)
 Construct a new Rover Pose object.
 
const geoops::GPSCoordinateGetGPSCoordinate () const
 Accessor for the geoops::GPSCoordinate member variable.
 
const geoops::UTMCoordinateGetUTMCoordinate () const
 Accessor for the geoops::UTMCoordinate member variable.
 
double GetCompassHeading () const
 Accessor for the Compass Heading private member.
 
bool operator== (const RoverPose &stOtherRoverPose) const
 Overridden operator equals for RoverPose struct.
 
bool operator!= (const RoverPose &stOtherRoverPose) const
 Overridden operator equals for RoverPose struct.
 

Private Attributes

Waypoint stRoverPosition
 
double dRoverHeading
 

Detailed Description

This struct is used by the WaypointHandler to provide an easy way to store all pose data about the rover.

Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-04-08

Constructor & Destructor Documentation

◆ RoverPose() [1/2]

geoops::RoverPose::RoverPose ( const geoops::GPSCoordinate stRoverPosition = geoops::GPSCoordinate(),
const double  dRoverHeading = 0.0 
)
inline

Construct a new Rover Pose object.

Parameters
stRoverPosition- The current location of the rover stored in a GPSCoordinate struct.
dRoverHeading- The current heading of the rover.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-04-08
691 {
692 // Update member variables.
693 this->stRoverPosition = Waypoint(stRoverPosition);
694 this->dRoverHeading = dRoverHeading;
695 }

◆ RoverPose() [2/2]

geoops::RoverPose::RoverPose ( const geoops::UTMCoordinate stRoverPosition,
const double  dRoverHeading = 0.0 
)
inline

Construct a new Rover Pose object.

Parameters
stRoverPosition- The current location of the rover stored in a UTMCoordinate struct.
dRoverHeading- The current heading of the rover.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-04-08
707 {
708 // Update member variables.
709 this->stRoverPosition = Waypoint(stRoverPosition);
710 this->dRoverHeading = dRoverHeading;
711 }

Member Function Documentation

◆ GetGPSCoordinate()

const geoops::GPSCoordinate & geoops::RoverPose::GetGPSCoordinate ( ) const
inline

Accessor for the geoops::GPSCoordinate member variable.

Returns
geoops::GPSCoordinate - The location of the RoverPose stored in a geoops namespace GPSCoordinate struct.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-04-08
722{ return stRoverPosition.GetGPSCoordinate(); }
const geoops::GPSCoordinate & GetGPSCoordinate() const
Accessor for the geoops::GPSCoordinate member variable.
Definition GeospatialOperations.hpp:623
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetUTMCoordinate()

const geoops::UTMCoordinate & geoops::RoverPose::GetUTMCoordinate ( ) const
inline

Accessor for the geoops::UTMCoordinate member variable.

Returns
geoops::UTMCoordinate - The location of the RoverPose stored in a geoops namespace UTMCoordinate struct.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-04-08
733{ return stRoverPosition.GetUTMCoordinate(); }
const geoops::UTMCoordinate & GetUTMCoordinate() const
Accessor for the geoops::UTMCoordinate member variable.
Definition GeospatialOperations.hpp:634
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetCompassHeading()

double geoops::RoverPose::GetCompassHeading ( ) const
inline

Accessor for the Compass Heading private member.

Returns
const double - The compass heading of the rover pose.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-04-08
743{ return dRoverHeading; }
Here is the caller graph for this function:

◆ operator==()

bool geoops::RoverPose::operator== ( const RoverPose stOtherRoverPose) const
inline

Overridden operator equals for RoverPose struct.

Parameters
stOtherRoverPose- The other Waypoint struct we are comparing to.
Returns
true - The two RoverPoses are equal.
false - The two RoverPoses are not equal.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-04-08
756 {
757 // Check if location, altitude, and accuracy are the same. Not going to worry about other values for now.
758 return (stRoverPosition == stOtherRoverPose.GetGPSCoordinate() && stRoverPosition == stOtherRoverPose.GetUTMCoordinate() &&
759 dRoverHeading == stOtherRoverPose.dRoverHeading);
760 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator!=()

bool geoops::RoverPose::operator!= ( const RoverPose stOtherRoverPose) const
inline

Overridden operator equals for RoverPose struct.

Parameters
stOtherRoverPose- The other RoverPose struct we are comparing to.
Returns
true - The two RoverPoses are equal.
false - The two RoverPoses are not equal.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-04-08
772{ return !this->operator==(stOtherRoverPose); }
bool operator==(const RoverPose &stOtherRoverPose) const
Overridden operator equals for RoverPose struct.
Definition GeospatialOperations.hpp:755
Here is the call graph for this function:

The documentation for this struct was generated from the following file: