Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
rtabmap_odom::OdometryROS Class Referenceabstract

#include <OdometryROS.h>

Inheritance diagram for rtabmap_odom::OdometryROS:
Inheritance graph
[legend]

Classes

class  OdomStatusTask
 

Public Member Functions

const std::stringframeId () const
 
const std::stringguessFrameId () const
 
bool isPaused () const
 
 OdometryROS (bool stereoParams, bool visParams, bool icpParams)
 
const std::stringodomFrameId () const
 
const rtabmap::ParametersMapparameters () const
 
bool pause (std_srvs::Empty::Request &, std_srvs::Empty::Response &)
 
void processData (rtabmap::SensorData &data, const std_msgs::Header &header)
 
bool reset (std_srvs::Empty::Request &, std_srvs::Empty::Response &)
 
bool resetToPose (rtabmap_msgs::ResetPose::Request &, rtabmap_msgs::ResetPose::Response &)
 
bool resume (std_srvs::Empty::Request &, std_srvs::Empty::Response &)
 
bool setLogDebug (std_srvs::Empty::Request &, std_srvs::Empty::Response &)
 
bool setLogError (std_srvs::Empty::Request &, std_srvs::Empty::Response &)
 
bool setLogInfo (std_srvs::Empty::Request &, std_srvs::Empty::Response &)
 
bool setLogWarn (std_srvs::Empty::Request &, std_srvs::Empty::Response &)
 
virtual ~OdometryROS ()
 
- Public Member Functions inherited from nodelet::Nodelet
void init (const std::string &name, const M_string &remapping_args, const V_string &my_argv, ros::CallbackQueueInterface *st_queue=NULL, ros::CallbackQueueInterface *mt_queue=NULL)
 
 Nodelet ()
 
virtual ~Nodelet ()
 
- Public Member Functions inherited from UThread
Handle getThreadHandle () const
 
unsigned long getThreadId () const
 
bool isCreating () const
 
bool isIdle () const
 
bool isKilled () const
 
bool isRunning () const
 
void join (bool killFirst=false)
 
void kill ()
 
void setAffinity (int cpu=0)
 
void setPriority (Priority priority)
 
void start ()
 
 UThread (Priority priority=kPNormal)
 
virtual ~UThread ()
 
- Public Member Functions inherited from UThreadC< void >
int Create (Handle *const &H=0, const bool &CreateDetached=false, const unsigned int &StackSize=0, const bool &CancelEnable=false, const bool &CancelAsync=false) const
 
int Create (Handle *const &H=0, const bool &CreateDetached=false, const unsigned int &StackSize=0, const bool &CancelEnable=false, const bool &CancelAsync=false) const
 
int Create (unsigned long &ThreadId, Handle *const &H=0, const bool &CreateDetached=false, const unsigned int &StackSize=0, const bool &CancelEnable=false, const bool &CancelAsync=false) const
 
int Create (unsigned long &ThreadId, Handle *const &H=0, const bool &CreateDetached=false, const unsigned int &StackSize=0, const bool &CancelEnable=false, const bool &CancelAsync=false) const
 
virtual ~UThreadC ()
 
virtual ~UThreadC ()
 

Protected Member Functions

virtual void flushCallbacks ()=0
 
void initDiagnosticMsg (const std::string &subscribedTopicsMsg, bool approxSync, const std::string &subscribedTopic="")
 
virtual void postProcessData (const rtabmap::SensorData &data, const std_msgs::Header &header) const
 
double previousStamp () const
 
tf::TransformListenertfListener ()
 
rtabmap::Transform velocityGuess () const
 
double waitForTransformDuration () const
 
- Protected Member Functions inherited from nodelet::Nodelet
ros::CallbackQueueInterfacegetMTCallbackQueue () const
 
ros::NodeHandlegetMTNodeHandle () const
 
ros::NodeHandlegetMTPrivateNodeHandle () const
 
const V_stringgetMyArgv () const
 
const std::stringgetName () const
 
ros::NodeHandlegetNodeHandle () const
 
ros::NodeHandlegetPrivateNodeHandle () const
 
const M_stringgetRemappingArgs () const
 
ros::CallbackQueueInterfacegetSTCallbackQueue () const
 
std::string getSuffixedName (const std::string &suffix) const
 
- Protected Member Functions inherited from UThreadC< void >
 UThreadC ()
 
 UThreadC ()
 

Private Member Functions

void callbackIMU (const sensor_msgs::ImuConstPtr &msg)
 
virtual void mainLoop ()
 
virtual void mainLoopKill ()
 
virtual void onInit ()
 
virtual void onOdomInit ()=0
 
void reset (const rtabmap::Transform &pose=rtabmap::Transform::getIdentity())
 
virtual void updateParameters (rtabmap::ParametersMap &parameters)
 

Private Attributes

bool bufferedDataToProcess_
 
std::string compressionImgFormat_
 
bool compressionParallelized_
 
std_msgs::Header dataHeaderToProcess_
 
UMutex dataMutex_
 
USemaphore dataReady_
 
rtabmap::SensorData dataToProcess_
 
double expectedUpdateRate_
 
std::string frameId_
 
std::string groundTruthBaseFrameId_
 
std::string groundTruthFrameId_
 
rtabmap::Transform guess_
 
std::string guessFrameId_
 
double guessMinRotation_
 
double guessMinTime_
 
double guessMinTranslation_
 
rtabmap::Transform guessPreviousPose_
 
bool icpParams_
 
UMutex imuMutex_
 
bool imuProcessed_
 
std::map< double, rtabmap::IMUimus_
 
ros::Subscriber imuSub_
 
double maxUpdateRate_
 
double minUpdateRate_
 
rtabmap::Odometryodometry_
 
std::string odomFrameId_
 
ros::Publisher odomInfoLitePub_
 
ros::Publisher odomInfoPub_
 
ros::Publisher odomLastFrame_
 
ros::Publisher odomLocalMap_
 
ros::Publisher odomLocalScanMap_
 
ros::Publisher odomPub_
 
ros::Publisher odomRgbdImagePub_
 
ros::Publisher odomSensorDataCompressedPub_
 
ros::Publisher odomSensorDataFeaturesPub_
 
ros::Publisher odomSensorDataPub_
 
int odomStrategy_
 
rtabmap::ParametersMap parameters_
 
bool paused_
 
ros::ServiceServer pauseSrv_
 
double previousStamp_
 
bool publishCompressedSensorData_
 
bool publishNullWhenLost_
 
bool publishTf_
 
int resetCountdown_
 
int resetCurrentCount_
 
ros::ServiceServer resetSrv_
 
ros::ServiceServer resetToPoseSrv_
 
ros::ServiceServer resumeSrv_
 
ros::ServiceServer setLogDebugSrv_
 
ros::ServiceServer setLogErrorSrv_
 
ros::ServiceServer setLogInfoSrv_
 
ros::ServiceServer setLogWarnSrv_
 
OdomStatusTask statusDiagnostic_
 
bool stereoParams_
 
std::unique_ptr< rtabmap_sync::SyncDiagnosticsyncDiagnostic_
 
tf2_ros::TransformBroadcaster tfBroadcaster_
 
tf::TransformListener tfListener_
 
rtabmap_util::ULogToRosout ulogToRosout_
 
bool visParams_
 
bool waitForTransform_
 
double waitForTransformDuration_
 
bool waitIMUToinit_
 

Additional Inherited Members

- Public Types inherited from UThread
enum  Priority
 
- Public Types inherited from UThreadC< void >
typedef THREAD_HANDLE Handle
 
typedef THREAD_HANDLE Handle
 
typedef void(* Handler) ()
 
typedef void(* Handler) ()
 
- Static Public Member Functions inherited from UThread
static unsigned long currentThreadId ()
 
- Static Public Member Functions inherited from UThreadC< void >
static int Create (const Handler &Function, Handle *const &H=0, const bool &CreateDetached=false, const unsigned int &StackSize=0, const bool &CancelEnable=false, const bool &CancelAsync=false)
 
static int Create (const Handler &Function, Handle *const &H=0, const bool &CreateDetached=false, const unsigned int &StackSize=0, const bool &CancelEnable=false, const bool &CancelAsync=false)
 
static int Detach (const Handle &H)
 
static int Detach (Handle H)
 
static int Join (const Handle &H)
 
static int Join (Handle H)
 
static int Kill (const Handle &H)
 
static int Kill (Handle H)
 
- Public Attributes inherited from UThread
 kPAboveNormal
 
 kPBelowNormal
 
 kPLow
 
 kPNormal
 
 kPRealTime
 
- Static Protected Member Functions inherited from UThreadC< void >
static void Exit ()
 
static void Exit ()
 
static int Self ()
 
static Handle Self ()
 
static void TestCancel ()
 
static void TestCancel ()
 

Detailed Description

Definition at line 59 of file OdometryROS.h.

Constructor & Destructor Documentation

◆ OdometryROS()

rtabmap_odom::OdometryROS::OdometryROS ( bool  stereoParams,
bool  visParams,
bool  icpParams 
)

Definition at line 60 of file OdometryROS.cpp.

◆ ~OdometryROS()

rtabmap_odom::OdometryROS::~OdometryROS ( )
virtual

Definition at line 94 of file OdometryROS.cpp.

Member Function Documentation

◆ callbackIMU()

void rtabmap_odom::OdometryROS::callbackIMU ( const sensor_msgs::ImuConstPtr &  msg)
private

Definition at line 414 of file OdometryROS.cpp.

◆ flushCallbacks()

virtual void rtabmap_odom::OdometryROS::flushCallbacks ( )
protectedpure virtual

◆ frameId()

const std::string& rtabmap_odom::OdometryROS::frameId ( ) const
inline

Definition at line 77 of file OdometryROS.h.

◆ guessFrameId()

const std::string& rtabmap_odom::OdometryROS::guessFrameId ( ) const
inline

Definition at line 79 of file OdometryROS.h.

◆ initDiagnosticMsg()

void rtabmap_odom::OdometryROS::initDiagnosticMsg ( const std::string subscribedTopicsMsg,
bool  approxSync,
const std::string subscribedTopic = "" 
)
protected

Definition at line 388 of file OdometryROS.cpp.

◆ isPaused()

bool rtabmap_odom::OdometryROS::isPaused ( ) const
inline

Definition at line 81 of file OdometryROS.h.

◆ mainLoop()

void rtabmap_odom::OdometryROS::mainLoop ( )
privatevirtual

Implements UThread.

Definition at line 488 of file OdometryROS.cpp.

◆ mainLoopKill()

void rtabmap_odom::OdometryROS::mainLoopKill ( )
privatevirtual

Reimplemented from UThread.

Definition at line 482 of file OdometryROS.cpp.

◆ odomFrameId()

const std::string& rtabmap_odom::OdometryROS::odomFrameId ( ) const
inline

Definition at line 78 of file OdometryROS.h.

◆ onInit()

void rtabmap_odom::OdometryROS::onInit ( )
privatevirtual

Implements nodelet::Nodelet.

Definition at line 100 of file OdometryROS.cpp.

◆ onOdomInit()

virtual void rtabmap_odom::OdometryROS::onOdomInit ( )
privatepure virtual

◆ parameters()

const rtabmap::ParametersMap& rtabmap_odom::OdometryROS::parameters ( ) const
inline

Definition at line 80 of file OdometryROS.h.

◆ pause()

bool rtabmap_odom::OdometryROS::pause ( std_srvs::Empty::Request &  ,
std_srvs::Empty::Response &   
)

Definition at line 1140 of file OdometryROS.cpp.

◆ postProcessData()

virtual void rtabmap_odom::OdometryROS::postProcessData ( const rtabmap::SensorData data,
const std_msgs::Header header 
) const
inlineprotectedvirtual

Reimplemented in rtabmap_odom::ICPOdometry.

Definition at line 91 of file OdometryROS.h.

◆ previousStamp()

double rtabmap_odom::OdometryROS::previousStamp ( ) const
inlineprotected

Definition at line 90 of file OdometryROS.h.

◆ processData()

void rtabmap_odom::OdometryROS::processData ( rtabmap::SensorData data,
const std_msgs::Header header 
)

Definition at line 461 of file OdometryROS.cpp.

◆ reset() [1/2]

void rtabmap_odom::OdometryROS::reset ( const rtabmap::Transform pose = rtabmap::Transform::getIdentity())
private

Definition at line 1122 of file OdometryROS.cpp.

◆ reset() [2/2]

bool rtabmap_odom::OdometryROS::reset ( std_srvs::Empty::Request &  ,
std_srvs::Empty::Response &   
)

Definition at line 1107 of file OdometryROS.cpp.

◆ resetToPose()

bool rtabmap_odom::OdometryROS::resetToPose ( rtabmap_msgs::ResetPose::Request &  req,
rtabmap_msgs::ResetPose::Response &   
)

Definition at line 1114 of file OdometryROS.cpp.

◆ resume()

bool rtabmap_odom::OdometryROS::resume ( std_srvs::Empty::Request &  ,
std_srvs::Empty::Response &   
)

Definition at line 1154 of file OdometryROS.cpp.

◆ setLogDebug()

bool rtabmap_odom::OdometryROS::setLogDebug ( std_srvs::Empty::Request &  ,
std_srvs::Empty::Response &   
)

Definition at line 1168 of file OdometryROS.cpp.

◆ setLogError()

bool rtabmap_odom::OdometryROS::setLogError ( std_srvs::Empty::Request &  ,
std_srvs::Empty::Response &   
)

Definition at line 1186 of file OdometryROS.cpp.

◆ setLogInfo()

bool rtabmap_odom::OdometryROS::setLogInfo ( std_srvs::Empty::Request &  ,
std_srvs::Empty::Response &   
)

Definition at line 1174 of file OdometryROS.cpp.

◆ setLogWarn()

bool rtabmap_odom::OdometryROS::setLogWarn ( std_srvs::Empty::Request &  ,
std_srvs::Empty::Response &   
)

Definition at line 1180 of file OdometryROS.cpp.

◆ tfListener()

tf::TransformListener& rtabmap_odom::OdometryROS::tfListener ( )
inlineprotected

Definition at line 87 of file OdometryROS.h.

◆ updateParameters()

virtual void rtabmap_odom::OdometryROS::updateParameters ( rtabmap::ParametersMap parameters)
inlineprivatevirtual

◆ velocityGuess()

rtabmap::Transform rtabmap_odom::OdometryROS::velocityGuess ( ) const
protected

Definition at line 405 of file OdometryROS.cpp.

◆ waitForTransformDuration()

double rtabmap_odom::OdometryROS::waitForTransformDuration ( ) const
inlineprotected

Definition at line 88 of file OdometryROS.h.

Member Data Documentation

◆ bufferedDataToProcess_

bool rtabmap_odom::OdometryROS::bufferedDataToProcess_
private

Definition at line 151 of file OdometryROS.h.

◆ compressionImgFormat_

std::string rtabmap_odom::OdometryROS::compressionImgFormat_
private

Definition at line 165 of file OdometryROS.h.

◆ compressionParallelized_

bool rtabmap_odom::OdometryROS::compressionParallelized_
private

Definition at line 166 of file OdometryROS.h.

◆ dataHeaderToProcess_

std_msgs::Header rtabmap_odom::OdometryROS::dataHeaderToProcess_
private

Definition at line 150 of file OdometryROS.h.

◆ dataMutex_

UMutex rtabmap_odom::OdometryROS::dataMutex_
private

Definition at line 147 of file OdometryROS.h.

◆ dataReady_

USemaphore rtabmap_odom::OdometryROS::dataReady_
private

Definition at line 148 of file OdometryROS.h.

◆ dataToProcess_

rtabmap::SensorData rtabmap_odom::OdometryROS::dataToProcess_
private

Definition at line 149 of file OdometryROS.h.

◆ expectedUpdateRate_

double rtabmap_odom::OdometryROS::expectedUpdateRate_
private

Definition at line 162 of file OdometryROS.h.

◆ frameId_

std::string rtabmap_odom::OdometryROS::frameId_
private

Definition at line 108 of file OdometryROS.h.

◆ groundTruthBaseFrameId_

std::string rtabmap_odom::OdometryROS::groundTruthBaseFrameId_
private

Definition at line 111 of file OdometryROS.h.

◆ groundTruthFrameId_

std::string rtabmap_odom::OdometryROS::groundTruthFrameId_
private

Definition at line 110 of file OdometryROS.h.

◆ guess_

rtabmap::Transform rtabmap_odom::OdometryROS::guess_
private

Definition at line 159 of file OdometryROS.h.

◆ guessFrameId_

std::string rtabmap_odom::OdometryROS::guessFrameId_
private

Definition at line 112 of file OdometryROS.h.

◆ guessMinRotation_

double rtabmap_odom::OdometryROS::guessMinRotation_
private

Definition at line 114 of file OdometryROS.h.

◆ guessMinTime_

double rtabmap_odom::OdometryROS::guessMinTime_
private

Definition at line 115 of file OdometryROS.h.

◆ guessMinTranslation_

double rtabmap_odom::OdometryROS::guessMinTranslation_
private

Definition at line 113 of file OdometryROS.h.

◆ guessPreviousPose_

rtabmap::Transform rtabmap_odom::OdometryROS::guessPreviousPose_
private

Definition at line 160 of file OdometryROS.h.

◆ icpParams_

bool rtabmap_odom::OdometryROS::icpParams_
private

Definition at line 158 of file OdometryROS.h.

◆ imuMutex_

UMutex rtabmap_odom::OdometryROS::imuMutex_
private

Definition at line 146 of file OdometryROS.h.

◆ imuProcessed_

bool rtabmap_odom::OdometryROS::imuProcessed_
private

Definition at line 169 of file OdometryROS.h.

◆ imus_

std::map<double, rtabmap::IMU> rtabmap_odom::OdometryROS::imus_
private

Definition at line 170 of file OdometryROS.h.

◆ imuSub_

ros::Subscriber rtabmap_odom::OdometryROS::imuSub_
private

Definition at line 143 of file OdometryROS.h.

◆ maxUpdateRate_

double rtabmap_odom::OdometryROS::maxUpdateRate_
private

Definition at line 163 of file OdometryROS.h.

◆ minUpdateRate_

double rtabmap_odom::OdometryROS::minUpdateRate_
private

Definition at line 164 of file OdometryROS.h.

◆ odometry_

rtabmap::Odometry* rtabmap_odom::OdometryROS::odometry_
private

Definition at line 105 of file OdometryROS.h.

◆ odomFrameId_

std::string rtabmap_odom::OdometryROS::odomFrameId_
private

Definition at line 109 of file OdometryROS.h.

◆ odomInfoLitePub_

ros::Publisher rtabmap_odom::OdometryROS::odomInfoLitePub_
private

Definition at line 125 of file OdometryROS.h.

◆ odomInfoPub_

ros::Publisher rtabmap_odom::OdometryROS::odomInfoPub_
private

Definition at line 124 of file OdometryROS.h.

◆ odomLastFrame_

ros::Publisher rtabmap_odom::OdometryROS::odomLastFrame_
private

Definition at line 128 of file OdometryROS.h.

◆ odomLocalMap_

ros::Publisher rtabmap_odom::OdometryROS::odomLocalMap_
private

Definition at line 126 of file OdometryROS.h.

◆ odomLocalScanMap_

ros::Publisher rtabmap_odom::OdometryROS::odomLocalScanMap_
private

Definition at line 127 of file OdometryROS.h.

◆ odomPub_

ros::Publisher rtabmap_odom::OdometryROS::odomPub_
private

Definition at line 123 of file OdometryROS.h.

◆ odomRgbdImagePub_

ros::Publisher rtabmap_odom::OdometryROS::odomRgbdImagePub_
private

Definition at line 129 of file OdometryROS.h.

◆ odomSensorDataCompressedPub_

ros::Publisher rtabmap_odom::OdometryROS::odomSensorDataCompressedPub_
private

Definition at line 132 of file OdometryROS.h.

◆ odomSensorDataFeaturesPub_

ros::Publisher rtabmap_odom::OdometryROS::odomSensorDataFeaturesPub_
private

Definition at line 131 of file OdometryROS.h.

◆ odomSensorDataPub_

ros::Publisher rtabmap_odom::OdometryROS::odomSensorDataPub_
private

Definition at line 130 of file OdometryROS.h.

◆ odomStrategy_

int rtabmap_odom::OdometryROS::odomStrategy_
private

Definition at line 167 of file OdometryROS.h.

◆ parameters_

rtabmap::ParametersMap rtabmap_odom::OdometryROS::parameters_
private

Definition at line 121 of file OdometryROS.h.

◆ paused_

bool rtabmap_odom::OdometryROS::paused_
private

Definition at line 153 of file OdometryROS.h.

◆ pauseSrv_

ros::ServiceServer rtabmap_odom::OdometryROS::pauseSrv_
private

Definition at line 135 of file OdometryROS.h.

◆ previousStamp_

double rtabmap_odom::OdometryROS::previousStamp_
private

Definition at line 161 of file OdometryROS.h.

◆ publishCompressedSensorData_

bool rtabmap_odom::OdometryROS::publishCompressedSensorData_
private

Definition at line 120 of file OdometryROS.h.

◆ publishNullWhenLost_

bool rtabmap_odom::OdometryROS::publishNullWhenLost_
private

Definition at line 119 of file OdometryROS.h.

◆ publishTf_

bool rtabmap_odom::OdometryROS::publishTf_
private

Definition at line 116 of file OdometryROS.h.

◆ resetCountdown_

int rtabmap_odom::OdometryROS::resetCountdown_
private

Definition at line 154 of file OdometryROS.h.

◆ resetCurrentCount_

int rtabmap_odom::OdometryROS::resetCurrentCount_
private

Definition at line 155 of file OdometryROS.h.

◆ resetSrv_

ros::ServiceServer rtabmap_odom::OdometryROS::resetSrv_
private

Definition at line 133 of file OdometryROS.h.

◆ resetToPoseSrv_

ros::ServiceServer rtabmap_odom::OdometryROS::resetToPoseSrv_
private

Definition at line 134 of file OdometryROS.h.

◆ resumeSrv_

ros::ServiceServer rtabmap_odom::OdometryROS::resumeSrv_
private

Definition at line 136 of file OdometryROS.h.

◆ setLogDebugSrv_

ros::ServiceServer rtabmap_odom::OdometryROS::setLogDebugSrv_
private

Definition at line 137 of file OdometryROS.h.

◆ setLogErrorSrv_

ros::ServiceServer rtabmap_odom::OdometryROS::setLogErrorSrv_
private

Definition at line 140 of file OdometryROS.h.

◆ setLogInfoSrv_

ros::ServiceServer rtabmap_odom::OdometryROS::setLogInfoSrv_
private

Definition at line 138 of file OdometryROS.h.

◆ setLogWarnSrv_

ros::ServiceServer rtabmap_odom::OdometryROS::setLogWarnSrv_
private

Definition at line 139 of file OdometryROS.h.

◆ statusDiagnostic_

OdomStatusTask rtabmap_odom::OdometryROS::statusDiagnostic_
private

Definition at line 184 of file OdometryROS.h.

◆ stereoParams_

bool rtabmap_odom::OdometryROS::stereoParams_
private

Definition at line 156 of file OdometryROS.h.

◆ syncDiagnostic_

std::unique_ptr<rtabmap_sync::SyncDiagnostic> rtabmap_odom::OdometryROS::syncDiagnostic_
private

Definition at line 185 of file OdometryROS.h.

◆ tfBroadcaster_

tf2_ros::TransformBroadcaster rtabmap_odom::OdometryROS::tfBroadcaster_
private

Definition at line 141 of file OdometryROS.h.

◆ tfListener_

tf::TransformListener rtabmap_odom::OdometryROS::tfListener_
private

Definition at line 142 of file OdometryROS.h.

◆ ulogToRosout_

rtabmap_util::ULogToRosout rtabmap_odom::OdometryROS::ulogToRosout_
private

Definition at line 172 of file OdometryROS.h.

◆ visParams_

bool rtabmap_odom::OdometryROS::visParams_
private

Definition at line 157 of file OdometryROS.h.

◆ waitForTransform_

bool rtabmap_odom::OdometryROS::waitForTransform_
private

Definition at line 117 of file OdometryROS.h.

◆ waitForTransformDuration_

double rtabmap_odom::OdometryROS::waitForTransformDuration_
private

Definition at line 118 of file OdometryROS.h.

◆ waitIMUToinit_

bool rtabmap_odom::OdometryROS::waitIMUToinit_
private

Definition at line 168 of file OdometryROS.h.


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


rtabmap_odom
Author(s): Mathieu Labbe
autogenerated on Mon Apr 28 2025 02:42:24