#include <pr2_odometry.h>
Definition at line 66 of file pr2_odometry.h.
◆ Pr2Odometry()
controller::Pr2Odometry::Pr2Odometry |
( |
| ) |
|
◆ ~Pr2Odometry()
controller::Pr2Odometry::~Pr2Odometry |
( |
| ) |
|
◆ computeBaseVelocity()
void controller::Pr2Odometry::computeBaseVelocity |
( |
| ) |
|
|
private |
Computes the base velocity from the caster positions and wheel speeds.
Definition at line 340 of file pr2_odometry.cpp.
◆ findWeightMatrix()
Finds the weight matrix from the iterative least squares residuals.
Definition at line 452 of file pr2_odometry.cpp.
◆ getCorrectedWheelSpeed()
double controller::Pr2Odometry::getCorrectedWheelSpeed |
( |
const int & |
index | ) |
|
|
private |
Computes the wheel's speed adjusted for the attached caster's rotational velocity.
- Parameters
-
index | The index of the wheel |
Definition at line 380 of file pr2_odometry.cpp.
◆ getOdometry() [1/2]
void controller::Pr2Odometry::getOdometry |
( |
double & |
x, |
|
|
double & |
y, |
|
|
double & |
yaw, |
|
|
double & |
vx, |
|
|
double & |
vy, |
|
|
double & |
vw |
|
) |
| |
|
private |
Takes the current odometery information and stores it into the six double parameters.
- Parameters
-
x | X component of the current odom position |
y | Y component of the current odom position |
yaw | Yaw (theta) component of the current odom position |
vx | X component of the current odom velocity |
vy | Y component of the current odom velocity |
vw | Angular velocity (omega) component of the current odom velocity |
Definition at line 329 of file pr2_odometry.cpp.
◆ getOdometry() [2/2]
void controller::Pr2Odometry::getOdometry |
( |
geometry_msgs::Point & |
odom, |
|
|
geometry_msgs::Twist & |
odom_vel |
|
) |
| |
|
private |
Takes the current odometry information and stores it into the Point and Twist parameters.
- Parameters
-
odom | Point into which the odometry position is placed (z is theta) |
odom_vel | into which the odometry velocity is placed |
Definition at line 257 of file pr2_odometry.cpp.
◆ getOdometryMessage()
void controller::Pr2Odometry::getOdometryMessage |
( |
nav_msgs::Odometry & |
msg | ) |
|
|
private |
Builds the odometry message and prepares it for sending.
- Parameters
-
msg | The nav_msgs::Odometry into which the odometry values are placed |
Definition at line 265 of file pr2_odometry.cpp.
◆ init()
Initializes and loads odometry information from the param server.
- Parameters
-
robot_state | The robot's current state |
config | Tiny xml element pointing to this controller |
- Returns
- Successful init
Implements pr2_controller_interface::Controller.
Definition at line 58 of file pr2_odometry.cpp.
◆ isInputValid()
bool controller::Pr2Odometry::isInputValid |
( |
| ) |
|
|
private |
◆ iterativeLeastSquares()
Function used to compute the most likely solution to the odometry using iterative least squares.
Definition at line 392 of file pr2_odometry.cpp.
◆ populateCovariance()
void controller::Pr2Odometry::populateCovariance |
( |
const double & |
residual, |
|
|
nav_msgs::Odometry & |
msg |
|
) |
| |
|
private |
populate the covariance part of the odometry message
Definition at line 284 of file pr2_odometry.cpp.
◆ publish()
void controller::Pr2Odometry::publish |
( |
| ) |
|
Publishes the currently computed odometry information.
Definition at line 499 of file pr2_odometry.cpp.
◆ publishOdometer()
void controller::Pr2Odometry::publishOdometer |
( |
| ) |
|
Publishes the currently computed odometer information.
Definition at line 464 of file pr2_odometry.cpp.
◆ publishState()
void controller::Pr2Odometry::publishState |
( |
| ) |
|
◆ publishTransform()
void controller::Pr2Odometry::publishTransform |
( |
| ) |
|
Publishes the currently computed odometry information to tf.
Definition at line 512 of file pr2_odometry.cpp.
◆ starting()
void controller::Pr2Odometry::starting |
( |
| ) |
|
|
virtual |
◆ update()
void controller::Pr2Odometry::update |
( |
void |
| ) |
|
|
virtual |
◆ updateOdometry()
void controller::Pr2Odometry::updateOdometry |
( |
| ) |
|
|
private |
Finds and stores the latest odometry information.
Definition at line 231 of file pr2_odometry.cpp.
◆ base_footprint_frame_
std::string controller::Pr2Odometry::base_footprint_frame_ |
|
private |
The topic name of the base footprint frame.
Definition at line 231 of file pr2_odometry.h.
◆ base_kin_
class where the robot's information is computed and stored
Definition at line 131 of file pr2_odometry.h.
◆ base_link_floor_z_offset_
double controller::Pr2Odometry::base_link_floor_z_offset_ |
|
private |
◆ base_link_frame_
std::string controller::Pr2Odometry::base_link_frame_ |
|
private |
The topic name of the base link frame.
Definition at line 226 of file pr2_odometry.h.
◆ caster_calibration_multiplier_
double controller::Pr2Odometry::caster_calibration_multiplier_ |
|
private |
◆ cbv_lhs_
◆ cbv_rhs_
◆ cbv_soln_
◆ cov_x_theta_
double controller::Pr2Odometry::cov_x_theta_ |
|
private |
◆ cov_x_y_
double controller::Pr2Odometry::cov_x_y_ |
|
private |
◆ cov_y_theta_
double controller::Pr2Odometry::cov_y_theta_ |
|
private |
◆ current_time_
ros::Time controller::Pr2Odometry::current_time_ |
|
private |
◆ debug_publisher_
◆ expected_odometer_publish_time_
double controller::Pr2Odometry::expected_odometer_publish_time_ |
|
private |
The time that the odometry is expected to be published next.
Definition at line 261 of file pr2_odometry.h.
◆ expected_publish_time_
double controller::Pr2Odometry::expected_publish_time_ |
|
private |
The time that the odometry is expected to be published next.
Definition at line 256 of file pr2_odometry.h.
◆ expected_state_publish_time_
double controller::Pr2Odometry::expected_state_publish_time_ |
|
private |
The time that the odometry is expected to be published next.
Definition at line 266 of file pr2_odometry.h.
◆ fit_lhs_
◆ fit_residual_
◆ fit_rhs_
◆ fit_soln_
◆ ils_max_iterations_
int controller::Pr2Odometry::ils_max_iterations_ |
|
private |
Number of iterations used during iterative least squares.
Definition at line 211 of file pr2_odometry.h.
◆ last_odometer_publish_time_
ros::Time controller::Pr2Odometry::last_odometer_publish_time_ |
|
private |
The last time the odometry information was published.
Definition at line 246 of file pr2_odometry.h.
◆ last_publish_time_
ros::Time controller::Pr2Odometry::last_publish_time_ |
|
private |
The last time the odometry information was published.
Definition at line 236 of file pr2_odometry.h.
◆ last_state_publish_time_
ros::Time controller::Pr2Odometry::last_state_publish_time_ |
|
private |
The last time the odometry information was published.
Definition at line 251 of file pr2_odometry.h.
◆ last_time_
ros::Time controller::Pr2Odometry::last_time_ |
|
private |
Stores the last update time and the current update time.
Definition at line 196 of file pr2_odometry.h.
◆ last_transform_publish_time_
ros::Time controller::Pr2Odometry::last_transform_publish_time_ |
|
private |
The last time the odometry information was published.
Definition at line 241 of file pr2_odometry.h.
◆ matrix_publisher_
◆ node_
◆ odom_
Point that stores the current translational position (x,y) and angular position (z)
Definition at line 201 of file pr2_odometry.h.
◆ odom_frame_
std::string controller::Pr2Odometry::odom_frame_ |
|
private |
The topic name of the published odometry.
Definition at line 221 of file pr2_odometry.h.
◆ odom_publish_rate_
double controller::Pr2Odometry::odom_publish_rate_ |
|
private |
◆ odom_vel_
geometry_msgs::Twist controller::Pr2Odometry::odom_vel_ |
|
private |
Twist that remembers the current translational velocities (vel.vx, vel.vy) and angular position (ang_vel.vz)
Definition at line 206 of file pr2_odometry.h.
◆ odometer_angle_
double controller::Pr2Odometry::odometer_angle_ |
|
private |
Total angular distance traveled by the base as computed by the odometer.
Definition at line 191 of file pr2_odometry.h.
◆ odometer_distance_
double controller::Pr2Odometry::odometer_distance_ |
|
private |
Total distance traveled by the base as computed by the odometer.
Definition at line 186 of file pr2_odometry.h.
◆ odometer_publish_rate_
double controller::Pr2Odometry::odometer_publish_rate_ |
|
private |
◆ odometer_publisher_
The RealtimePublisher that does the realtime publishing of the odometry.
Definition at line 276 of file pr2_odometry.h.
◆ odometry_publisher_
The RealtimePublisher that does the realtime publishing of the odometry.
Definition at line 271 of file pr2_odometry.h.
◆ odometry_residual_
◆ odometry_residual_max_
double controller::Pr2Odometry::odometry_residual_max_ |
|
private |
Maximum residual from the iteritive least squares.
Definition at line 216 of file pr2_odometry.h.
◆ publish_odom_
bool controller::Pr2Odometry::publish_odom_ |
|
private |
◆ publish_odometer_
bool controller::Pr2Odometry::publish_odometer_ |
|
private |
◆ publish_state_
bool controller::Pr2Odometry::publish_state_ |
|
private |
◆ publish_tf_
bool controller::Pr2Odometry::publish_tf_ |
|
private |
◆ sequence_
int controller::Pr2Odometry::sequence_ |
|
private |
◆ sigma_theta_
double controller::Pr2Odometry::sigma_theta_ |
|
private |
◆ sigma_x_
double controller::Pr2Odometry::sigma_x_ |
|
private |
◆ sigma_y_
double controller::Pr2Odometry::sigma_y_ |
|
private |
◆ state_publish_rate_
double controller::Pr2Odometry::state_publish_rate_ |
|
private |
◆ state_publisher_
The RealtimePublisher that does the realtime publishing of the odometry state.
Definition at line 281 of file pr2_odometry.h.
◆ tf_prefix_
std::string controller::Pr2Odometry::tf_prefix_ |
|
private |
◆ transform_publisher_
Publishes the transform between the odometry frame and the base frame.
Definition at line 286 of file pr2_odometry.h.
◆ verbose_
bool controller::Pr2Odometry::verbose_ |
|
private |
◆ w_fit
◆ weight_matrix_
The documentation for this class was generated from the following files: