College of DuPage Lunabotics Documentation  2025
NavigationClient Class Reference

Handles localization responses and sends navigation and excavation requests. More...

Inheritance diagram for NavigationClient:
Collaboration diagram for NavigationClient:

Public Types

using NavigateToPose = nav2_msgs::action::NavigateToPose
 
using GoalHandleNavigate = rclcpp_action::ClientGoalHandle< NavigateToPose >
 
using Localization = lunabot_msgs::action::Localization
 
using GoalHandleLocalization = rclcpp_action::ClientGoalHandle< Localization >
 
using Excavation = lunabot_msgs::action::Excavation
 
using GoalHandleExcavation = rclcpp_action::ClientGoalHandle< Excavation >
 

Public Member Functions

 NavigationClient ()
 Constructor for the NavigationClient class. More...
 

Private Member Functions

void execute ()
 Runs the main execution sequence. More...
 
void request_localization ()
 Sends localization request to localization server. More...
 
void handle_localization_result (const GoalHandleLocalization::WrappedResult &result)
 Handles the result from the localization server. More...
 
void request_navigation ()
 Sends goal request to navigation server. More...
 
void handle_navigation_result (const GoalHandleNavigate::WrappedResult &result)
 Callback for the result of the navigation goal. More...
 
void request_excavation ()
 Sends a request to the excavation server. More...
 
void handle_excavation_result (const GoalHandleExcavation::WrappedResult &result)
 Callback for the result of the excavation action. More...
 

Private Attributes

rclcpp_action::Client< NavigateToPose >::SharedPtr navigation_client_
 
rclcpp_action::Client< Localization >::SharedPtr localization_client_
 
rclcpp_action::Client< Excavation >::SharedPtr excavation_client_
 
rclcpp::TimerBase::SharedPtr execution_timer_
 
bool start_localization_
 
bool start_navigation_
 
bool start_excavation_
 
double initial_x_
 
double initial_y_
 

Detailed Description

Handles localization responses and sends navigation and excavation requests.

Member Typedef Documentation

◆ Excavation

using NavigationClient::Excavation = lunabot_msgs::action::Excavation

◆ GoalHandleExcavation

using NavigationClient::GoalHandleExcavation = rclcpp_action::ClientGoalHandle<Excavation>

◆ GoalHandleLocalization

using NavigationClient::GoalHandleLocalization = rclcpp_action::ClientGoalHandle<Localization>

◆ GoalHandleNavigate

using NavigationClient::GoalHandleNavigate = rclcpp_action::ClientGoalHandle<NavigateToPose>

◆ Localization

using NavigationClient::Localization = lunabot_msgs::action::Localization

◆ NavigateToPose

using NavigationClient::NavigateToPose = nav2_msgs::action::NavigateToPose

Constructor & Destructor Documentation

◆ NavigationClient()

NavigationClient::NavigationClient ( )
inline

Constructor for the NavigationClient class.

Member Function Documentation

◆ execute()

void NavigationClient::execute ( )
inlineprivate

Runs the main execution sequence.

◆ handle_excavation_result()

void NavigationClient::handle_excavation_result ( const GoalHandleExcavation::WrappedResult &  result)
inlineprivate

Callback for the result of the excavation action.

Parameters
resultThe result of the excavation action.

◆ handle_localization_result()

void NavigationClient::handle_localization_result ( const GoalHandleLocalization::WrappedResult &  result)
inlineprivate

Handles the result from the localization server.

Parameters
resultThe result from the localization action.

◆ handle_navigation_result()

void NavigationClient::handle_navigation_result ( const GoalHandleNavigate::WrappedResult &  result)
inlineprivate

Callback for the result of the navigation goal.

Parameters
resultThe result of the goal execution.

◆ request_excavation()

void NavigationClient::request_excavation ( )
inlineprivate

Sends a request to the excavation server.

◆ request_localization()

void NavigationClient::request_localization ( )
inlineprivate

Sends localization request to localization server.

◆ request_navigation()

void NavigationClient::request_navigation ( )
inlineprivate

Sends goal request to navigation server.

Member Data Documentation

◆ excavation_client_

rclcpp_action::Client<Excavation>::SharedPtr NavigationClient::excavation_client_
private

◆ execution_timer_

rclcpp::TimerBase::SharedPtr NavigationClient::execution_timer_
private

◆ initial_x_

double NavigationClient::initial_x_
private

◆ initial_y_

double NavigationClient::initial_y_
private

◆ localization_client_

rclcpp_action::Client<Localization>::SharedPtr NavigationClient::localization_client_
private

◆ navigation_client_

rclcpp_action::Client<NavigateToPose>::SharedPtr NavigationClient::navigation_client_
private

◆ start_excavation_

bool NavigationClient::start_excavation_
private

◆ start_localization_

bool NavigationClient::start_localization_
private

◆ start_navigation_

bool NavigationClient::start_navigation_
private

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