Class MbfGoalActionsPanel

Inheritance Relationships

Base Type

  • public rviz_common::Panel

Class Documentation

class MbfGoalActionsPanel : public rviz_common::Panel

Public Functions

explicit MbfGoalActionsPanel(QWidget *parent = nullptr)
~MbfGoalActionsPanel() noexcept override
void onInitialize() override
void save(rviz_common::Config config) const override
void load(const rviz_common::Config &config) override
void newGoalCallback(const geometry_msgs::msg::PoseStamped &msg)

Protected Functions

void constructPropertiesWidget()

Sets up the properties widget, which contains editable fields that configures the panel (e.g. which topic to subscribe to)

void constructGoalInputWidget()

Sets up the goal input widget, which displays information about whether goal poses are being received.

void constructGetPathWidget()

Sets up the get path widget, which displays information about the currently active or previous get path action goal.

void constructExePathWidget()

Sets up the exe path widget, which displays information about the currently active or previous exe path action.

void sendGetPathGoal(const mbf_msgs::action::GetPath::Goal &goal)
void getPathResultCallback(const GetPathClient::GoalHandle::WrappedResult &wrapped_result)
void sendExePathGoal(const mbf_msgs::action::ExePath::Goal &goal)
void exePathResultCallback(const ExePathClient::GoalHandle::WrappedResult &wrapped_result)

Protected Attributes

rclcpp::Subscription<geometry_msgs::msg::PoseStamped>::SharedPtr goal_pose_subscription_
rclcpp::Node::SharedPtr ros_node_
std::mutex get_path_action_client_mutex_

Action client for getting a path.

GetPathClient::SharedPtr action_client_get_path_
std::shared_ptr<rclcpp::AsyncParametersClient> planner_parameter_client_
std::string get_path_node_name_
std::string get_path_action_server_name_
std::string get_path_planner_name_
GetPathClient::GoalHandle::SharedPtr goal_handle_get_path_

Goal handle of active get path action.

std::mutex exe_path_action_client_mutex_

Action client for traversing a path.

ExePathClient::SharedPtr action_client_exe_path_
std::shared_ptr<rclcpp::AsyncParametersClient> controller_parameter_client_
std::string exe_path_node_name_
std::string exe_path_action_server_name_
std::string exe_path_controller_name_
ExePathClient::GoalHandle::SharedPtr goal_handle_exe_path_

Goal handle of active exe path action.

std::atomic_bool conn_check_thread_get_path_stop_
std::thread conn_check_thread_get_path_
std::atomic_bool conn_check_thread_exe_path_stop_
std::thread conn_check_thread_exe_path_
std::atomic_bool executor_thread_stop_
std::thread executor_thread_
size_t goal_retry_cnt_

Retry counter for goal execution.

geometry_msgs::msg::PoseStamped current_goal_

Current goal pose.

QVBoxLayout *ui_layout_
rviz_common::properties::PropertyTreeWidget *properity_tree_widget_
rviz_common::properties::PropertyTreeModel *properity_tree_model_
rviz_common::properties::RosTopicProperty *goal_input_topic_
rviz_common::properties::RosActionProperty *get_path_action_server_path_
rviz_common::properties::EditableEnumProperty *planner_name_property_
rviz_common::properties::RosActionProperty *exe_path_action_server_path_
rviz_common::properties::EditableEnumProperty *controller_name_property_
QGroupBox *goal_input_ui_box_
QVBoxLayout *goal_input_ui_layout_
QLabel *goal_input_status_
QGroupBox *get_path_ui_box_
QVBoxLayout *get_path_ui_layout_
QHBoxLayout *get_path_ui_layout_server_status_
QLabel *get_path_action_server_status_desc_
QLabel *get_path_action_server_status_
QHBoxLayout *get_path_ui_layout_goal_status_
QLabel *get_path_action_goal_status_desc_
QLabel *get_path_action_goal_status_
QPushButton *stop_get_path_button_
QGroupBox *exe_path_ui_box_
QVBoxLayout *exe_path_ui_layout_
QHBoxLayout *exe_path_ui_layout_server_status_
QLabel *exe_path_action_server_status_desc_
QLabel *exe_path_action_server_status_
QHBoxLayout *exe_path_ui_layout_goal_status_
QLabel *exe_path_action_goal_status_desc_
QLabel *exe_path_action_goal_status_
QPushButton *stop_exe_path_button_