16#ifndef EASYNAV_MPPI_CONTROLLER__MPPICONTROLLER_HPP_
17#define EASYNAV_MPPI_CONTROLLER__MPPICONTROLLER_HPP_
22#include "geometry_msgs/msg/twist_stamped.hpp"
24#include "easynav_core/ControllerMethodBase.hpp"
25#include "easynav_common/types/NavState.hpp"
29#include "visualization_msgs/msg/marker_array.hpp"
49 void update_rt(NavState & nav_state)
override;
73 const std::vector<std::vector<std::pair<double, double>>> & all_trajs,
74 const std::vector<std::pair<double, double>> & best_traj);
std::unique_ptr< MPPIOptimizer > optimizer_
MPPI optimizer.
Definition MPPIController.hpp:65
void publish_mppi_markers(const std::vector< std::vector< std::pair< double, double > > > &all_trajs, const std::vector< std::pair< double, double > > &best_traj)
Publishes MPPI markers for visualization.
Definition MPPIController.cpp:71
double max_lin_vel_
Maximum linear velocity for MPPI.
Definition MPPIController.hpp:56
double safety_radius_
Safety radius for obstacle avoidance.
Definition MPPIController.hpp:61
double dt_
Time step for MPPI.
Definition MPPIController.hpp:54
double max_ang_acc_
Maximum angular acceleration for MPPI.
Definition MPPIController.hpp:59
double lambda_
Temperature parameter for MPPI.
Definition MPPIController.hpp:55
geometry_msgs::msg::TwistStamped twist_stamped_
Current velocity command.
Definition MPPIController.hpp:63
void update_rt(NavState &nav_state) override
Updates the controller using the given NavState.
Definition MPPIController.cpp:137
int num_samples_
Number of samples for MPPI.
Definition MPPIController.hpp:52
rclcpp::Publisher< visualization_msgs::msg::MarkerArray >::SharedPtr mppi_candidates_pub_
Publisher for MPPI candidates markers.
Definition MPPIController.hpp:66
~MPPIController() override
Destructor.
double max_ang_vel_
Maximum angular velocity for MPPI.
Definition MPPIController.hpp:57
void on_initialize() override
Initializes parameters and MPPI controller.
Definition MPPIController.cpp:35
double fov_
Field of view for MPPI.
Definition MPPIController.hpp:60
int horizon_steps_
Prediction horizon for MPPI.
Definition MPPIController.hpp:53
MPPIController()
Definition MPPIController.cpp:30
double max_lin_acc_
Maximum linear acceleration for MPPI.
Definition MPPIController.hpp:58
rclcpp::Publisher< visualization_msgs::msg::MarkerArray >::SharedPtr mppi_optimal_pub_
Publisher for MPPI optimal path markers.
Definition MPPIController.hpp:67
Provides a mapping for often used cost values.
Definition cost_values.hpp:41