|
void | force_path (const std::string &path) |
|
void | force_path (const std::string &path) |
|
| 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.
|
|
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.
|
|
|
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.
|
|
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.
|
|
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< Particle > | particles_ |
| 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.
|
|
std::shared_ptr< PIDController > | angular_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< PIDController > | linear_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.
|
|