Public Member Functions | Private Member Functions | Private Attributes | List of all members
robot_calibration::BaseCalibration Class Reference

Class for moving the base around and calibrating imu and odometry. More...

#include <base_calibration.h>

Public Member Functions

bool align (double angle, bool verbose=false)
 Align to the wall. More...
 
 BaseCalibration (ros::NodeHandle &n)
 Create a base calibration instance. More...
 
void clearMessages ()
 Clear any received messages. More...
 
std::string print ()
 Print out current calibration state. More...
 
std::string printCalibrationData ()
 Print out the calibration data. More...
 
bool spin (double velocity, int rotations, bool verbose=false)
 Spin and record imu, odom, scan. More...
 

Private Member Functions

void imuCallback (const sensor_msgs::Imu::Ptr &imu)
 
void laserCallback (const sensor_msgs::LaserScan::Ptr &scan)
 
void odometryCallback (const nav_msgs::Odometry::Ptr &odom)
 
void resetInternal ()
 Reset the odom/imu counters. More...
 
void sendVelocityCommand (double vel)
 Send a rotational velocity command. More...
 

Private Attributes

double accel_limit_
 
double align_gain_
 
double align_tolerance_
 
double align_velocity_
 
ros::Publisher cmd_pub_
 
boost::recursive_mutex data_mutex_
 
std::vector< double > imu_
 
double imu_angle_
 
ros::Subscriber imu_subscriber_
 
ros::Time last_imu_stamp_
 
ros::Time last_odom_stamp_
 
ros::Time last_scan_stamp_
 
double max_angle_
 
double min_angle_
 
std::vector< double > odom_
 
double odom_angle_
 
ros::Subscriber odom_subscriber_
 
double r2_tolerance_
 
bool ready_
 
std::vector< double > scan_
 
double scan_angle_
 
double scan_dist_
 
double scan_r2_
 
ros::Subscriber scan_subscriber_
 

Detailed Description

Class for moving the base around and calibrating imu and odometry.

Definition at line 33 of file base_calibration.h.

Constructor & Destructor Documentation

◆ BaseCalibration()

robot_calibration::BaseCalibration::BaseCalibration ( ros::NodeHandle n)

Create a base calibration instance.

Parameters
nNodeHandle at global scope - will subscribe to odom, imu, and base_scan in that namespace.

Definition at line 36 of file base_calibration.cpp.

Member Function Documentation

◆ align()

bool robot_calibration::BaseCalibration::align ( double  angle,
bool  verbose = false 
)

Align to the wall.

Parameters
Angleangle to align to wall.
verboseShould the console output be stupidly verbose?

Definition at line 111 of file base_calibration.cpp.

◆ clearMessages()

void robot_calibration::BaseCalibration::clearMessages ( )

Clear any received messages.

Definition at line 70 of file base_calibration.cpp.

◆ imuCallback()

void robot_calibration::BaseCalibration::imuCallback ( const sensor_msgs::Imu::Ptr &  imu)
private

Definition at line 219 of file base_calibration.cpp.

◆ laserCallback()

void robot_calibration::BaseCalibration::laserCallback ( const sensor_msgs::LaserScan::Ptr &  scan)
private

Definition at line 229 of file base_calibration.cpp.

◆ odometryCallback()

void robot_calibration::BaseCalibration::odometryCallback ( const nav_msgs::Odometry::Ptr &  odom)
private

Definition at line 209 of file base_calibration.cpp.

◆ print()

std::string robot_calibration::BaseCalibration::print ( )

Print out current calibration state.

Definition at line 77 of file base_calibration.cpp.

◆ printCalibrationData()

std::string robot_calibration::BaseCalibration::printCalibrationData ( )

Print out the calibration data.

Definition at line 84 of file base_calibration.cpp.

◆ resetInternal()

void robot_calibration::BaseCalibration::resetInternal ( )
private

Reset the odom/imu counters.

Definition at line 313 of file base_calibration.cpp.

◆ sendVelocityCommand()

void robot_calibration::BaseCalibration::sendVelocityCommand ( double  vel)
private

Send a rotational velocity command.

Definition at line 306 of file base_calibration.cpp.

◆ spin()

bool robot_calibration::BaseCalibration::spin ( double  velocity,
int  rotations,
bool  verbose = false 
)

Spin and record imu, odom, scan.

Definition at line 157 of file base_calibration.cpp.

Member Data Documentation

◆ accel_limit_

double robot_calibration::BaseCalibration::accel_limit_
private

Definition at line 88 of file base_calibration.h.

◆ align_gain_

double robot_calibration::BaseCalibration::align_gain_
private

Definition at line 89 of file base_calibration.h.

◆ align_tolerance_

double robot_calibration::BaseCalibration::align_tolerance_
private

Definition at line 89 of file base_calibration.h.

◆ align_velocity_

double robot_calibration::BaseCalibration::align_velocity_
private

Definition at line 89 of file base_calibration.h.

◆ cmd_pub_

ros::Publisher robot_calibration::BaseCalibration::cmd_pub_
private

Definition at line 72 of file base_calibration.h.

◆ data_mutex_

boost::recursive_mutex robot_calibration::BaseCalibration::data_mutex_
private

Definition at line 95 of file base_calibration.h.

◆ imu_

std::vector<double> robot_calibration::BaseCalibration::imu_
private

Definition at line 92 of file base_calibration.h.

◆ imu_angle_

double robot_calibration::BaseCalibration::imu_angle_
private

Definition at line 82 of file base_calibration.h.

◆ imu_subscriber_

ros::Subscriber robot_calibration::BaseCalibration::imu_subscriber_
private

Definition at line 75 of file base_calibration.h.

◆ last_imu_stamp_

ros::Time robot_calibration::BaseCalibration::last_imu_stamp_
private

Definition at line 81 of file base_calibration.h.

◆ last_odom_stamp_

ros::Time robot_calibration::BaseCalibration::last_odom_stamp_
private

Definition at line 78 of file base_calibration.h.

◆ last_scan_stamp_

ros::Time robot_calibration::BaseCalibration::last_scan_stamp_
private

Definition at line 84 of file base_calibration.h.

◆ max_angle_

double robot_calibration::BaseCalibration::max_angle_
private

Definition at line 87 of file base_calibration.h.

◆ min_angle_

double robot_calibration::BaseCalibration::min_angle_
private

Definition at line 87 of file base_calibration.h.

◆ odom_

std::vector<double> robot_calibration::BaseCalibration::odom_
private

Definition at line 93 of file base_calibration.h.

◆ odom_angle_

double robot_calibration::BaseCalibration::odom_angle_
private

Definition at line 79 of file base_calibration.h.

◆ odom_subscriber_

ros::Subscriber robot_calibration::BaseCalibration::odom_subscriber_
private

Definition at line 74 of file base_calibration.h.

◆ r2_tolerance_

double robot_calibration::BaseCalibration::r2_tolerance_
private

Definition at line 85 of file base_calibration.h.

◆ ready_

bool robot_calibration::BaseCalibration::ready_
private

Definition at line 96 of file base_calibration.h.

◆ scan_

std::vector<double> robot_calibration::BaseCalibration::scan_
private

Definition at line 91 of file base_calibration.h.

◆ scan_angle_

double robot_calibration::BaseCalibration::scan_angle_
private

Definition at line 85 of file base_calibration.h.

◆ scan_dist_

double robot_calibration::BaseCalibration::scan_dist_
private

Definition at line 85 of file base_calibration.h.

◆ scan_r2_

double robot_calibration::BaseCalibration::scan_r2_
private

Definition at line 85 of file base_calibration.h.

◆ scan_subscriber_

ros::Subscriber robot_calibration::BaseCalibration::scan_subscriber_
private

Definition at line 76 of file base_calibration.h.


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


robot_calibration
Author(s): Michael Ferguson
autogenerated on Fri Sep 1 2023 02:52:01