EasyNav Simple Stack
Loading...
Searching...
No Matches
FriendAMCLLocalizer Class Reference
Inheritance diagram for FriendAMCLLocalizer:
Collaboration diagram for FriendAMCLLocalizer:

Public Member Functions

void force_path (const std::string &path)
 
void force_path (const std::string &path)
 
- Public Member Functions inherited from AMCLLocalizer
 AMCLLocalizer ()
 Default constructor.
 
nav_msgs::msg::Odometry get_pose ()
 Gets the current estimated pose as an Odometry message.
 
tf2::Transform getEstimatedPose () const
 Gets the current estimated pose as a transform.
 
virtual std::expected< void, std::string > on_initialize () override
 Initializes the localization method.
 
void update (NavState &nav_state) override
 General update of the localization state.
 
void update_rt (NavState &nav_state) override
 Real-time update of the localization state.
 
 ~AMCLLocalizer ()
 Destructor.
 
- Public Member Functions inherited from SimpleController
std::expected< void, std::string > on_initialize () override
 Initializes parameters and PID controllers.
 
 SimpleController ()
 
void update_rt (NavState &nav_state) override
 Updates the controller using the given NavState.
 
 ~SimpleController () override
 Destructor.
 

Additional Inherited Members

- Protected Member Functions inherited from AMCLLocalizer
void correct (NavState &nav_state)
 Applies the sensor model to update particle weights.
 
void initializeParticles ()
 Initializes the set of particles.
 
void odom_callback (nav_msgs::msg::Odometry::UniquePtr msg)
 Callback for receiving odometry updates.
 
void predict (NavState &nav_state)
 Applies the motion model to update particle poses.
 
void publishEstimatedPose (const tf2::Transform &est_pose)
 Publishes the estimated pose with covariance.
 
void publishParticles ()
 Publishes the current set of particles.
 
void publishTF (const tf2::Transform &map2bf)
 Publishes a TF transform between map and base footprint.
 
void reseed ()
 Re-initializes the particle cloud if necessary.
 
- Protected Member Functions inherited from SimpleController
double get_angle (const geometry_msgs::msg::Point &from, const geometry_msgs::msg::Point &to)
 Computes the angle between two points.
 
double get_diff_angle (const geometry_msgs::msg::Quaternion &a, const geometry_msgs::msg::Quaternion &b)
 Computes the angular difference between two quaternions (yaw).
 
double get_distance (const geometry_msgs::msg::Pose &a, const geometry_msgs::msg::Pose &b)
 Computes the Euclidean distance between two poses.
 
geometry_msgs::msg::Pose get_ref_pose (const nav_msgs::msg::Path &path, double look_ahead)
 Gets the reference pose at look-ahead distance on the path.
 
- Protected Attributes inherited from AMCLLocalizer
rclcpp::Publisher< geometry_msgs::msg::PoseWithCovarianceStamped >::SharedPtr estimate_pub_
 Publisher for the estimated robot pose with covariance.
 
bool initialized_odom_ = false
 Flag indicating if the odometry has been initialized.
 
tf2::Transform last_odom_ {tf2::Transform::getIdentity()}
 Previous odometry transform (used to compute deltas).
 
rclcpp::Time last_reseed_
 Timestamp of the last reseed event.
 
double min_noise_xy_ {0.05}
 Minimum translation noise threshold.
 
double min_noise_yaw_ {0.05}
 Minimum yaw noise threshold.
 
double noise_rotation_ {0.01}
 Rotational noise standard deviation.
 
double noise_translation_ {0.01}
 Translational noise standard deviation.
 
double noise_translation_to_rotation_ {0.01}
 Coupling noise between translation and rotation.
 
tf2::Transform odom_ {tf2::Transform::getIdentity()}
 Last odometry transform received.
 
rclcpp::Subscription< nav_msgs::msg::Odometry >::SharedPtr odom_sub_
 Subscriber for odometry messages.
 
std::vector< Particleparticles_
 List of particles representing the belief distribution.
 
rclcpp::Publisher< geometry_msgs::msg::PoseArray >::SharedPtr particles_pub_
 Publisher for visualization of the particle cloud.
 
nav_msgs::msg::Odometry pose_
 Current estimated odometry-based pose.
 
double reseed_time_
 Time interval (in seconds) after which the particles should be reseeded.
 
std::default_random_engine rng_
 Random number generator used for sampling noise.
 
std::unique_ptr< tf2_ros::TransformBroadcaster > tf_broadcaster_
 TF broadcaster to publish map to base_footprint transform.
 
- Protected Attributes inherited from SimpleController
std::shared_ptr< PIDControllerangular_pid_
 PID controller for angular velocity.
 
double k_rot_ {0.5}
 
rclcpp::Time last_update_ts_
 Timestamp of the last control update.
 
double last_vlin_ {0.0}
 Previous linear velocity for acceleration limiting.
 
double last_vrot_ {0.0}
 Previous angular velocity for acceleration limiting.
 
std::shared_ptr< PIDControllerlinear_pid_
 PID controller for linear velocity.
 
double look_ahead_dist_ {1.0}
 Distance ahead of the robot to track in meters.
 
double max_angular_acc_ {0.3}
 Maximum angular acceleration in rad/s².
 
double max_angular_speed_ {1.0}
 Maximum angular speed in rad/s.
 
double max_linear_acc_ {0.3}
 Maximum linear acceleration in m/s².
 
double max_linear_speed_ {1.0}
 Maximum linear speed in m/s.
 
double tolerance_dist_ {0.05}
 Distance threshold to switch to orientation tracking.
 
geometry_msgs::msg::TwistStamped twist_stamped_
 Current velocity command.
 

Member Function Documentation

◆ force_path() [1/2]

void force_path ( const std::string & path)

◆ force_path() [2/2]

void force_path ( const std::string & path)

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