Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
rc::DeviceNodelet Class Reference

#include <device_nodelet.h>

Inheritance diagram for rc::DeviceNodelet:
Inheritance graph
[legend]

Public Member Functions

bool depthAcquisitionTrigger (rc_common_msgs::Trigger::Request &req, rc_common_msgs::Trigger::Response &resp)
 Trigger stereo matching in mode 'SingleFrame'. More...
 
 DeviceNodelet ()
 
bool dynamicsResetSlam (rc_common_msgs::Trigger::Request &req, rc_common_msgs::Trigger::Response &resp)
 Reset SLAM (keep Stereo INS running) More...
 
bool dynamicsRestart (rc_common_msgs::Trigger::Request &req, rc_common_msgs::Trigger::Response &resp)
 Restart Stereo INS. More...
 
bool dynamicsRestartSlam (rc_common_msgs::Trigger::Request &req, rc_common_msgs::Trigger::Response &resp)
 Restart Stereo INS+SLAM. More...
 
bool dynamicsStart (rc_common_msgs::Trigger::Request &req, rc_common_msgs::Trigger::Response &resp)
 Start Stereo INS. More...
 
bool dynamicsStartSlam (rc_common_msgs::Trigger::Request &req, rc_common_msgs::Trigger::Response &resp)
 Start Stereo INS+SLAM. More...
 
bool dynamicsStop (rc_common_msgs::Trigger::Request &req, rc_common_msgs::Trigger::Response &resp)
 Stop Stereo INS(+SLAM if running) More...
 
bool dynamicsStopSlam (rc_common_msgs::Trigger::Request &req, rc_common_msgs::Trigger::Response &resp)
 Stop SLAM (keep Stereo INS running) More...
 
bool getSlamTrajectory (rc_visard_driver::GetTrajectory::Request &req, rc_visard_driver::GetTrajectory::Response &resp)
 Get the Slam trajectory. More...
 
bool loadSlamMap (rc_common_msgs::Trigger::Request &req, rc_common_msgs::Trigger::Response &resp)
 Load the onboard SLAM map. More...
 
virtual void onInit ()
 
bool removeSlamMap (rc_common_msgs::Trigger::Request &req, rc_common_msgs::Trigger::Response &resp)
 Remove the onboard SLAM map. More...
 
bool saveSlamMap (rc_common_msgs::Trigger::Request &req, rc_common_msgs::Trigger::Response &resp)
 Save the onboard SLAM map. More...
 
virtual ~DeviceNodelet ()
 
- 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 ()
 

Private Member Functions

void grab (std::string device, rcg::Device::ACCESS access)
 
void initConfiguration (const std::shared_ptr< GenApi::CNodeMapRef > &nodemap, rc_visard_driver::rc_visard_driverConfig &cfg, rcg::Device::ACCESS access)
 
void keepAliveAndRecoverFromFails ()
 
void produce_connection_diagnostics (diagnostic_updater::DiagnosticStatusWrapper &stat)
 
void produce_device_diagnostics (diagnostic_updater::DiagnosticStatusWrapper &stat)
 
void reconfigure (rc_visard_driver::rc_visard_driverConfig &config, uint32_t level)
 

Static Private Member Functions

static ThreadedStream::Ptr CreateDynamicsStreamOfType (rc::dynamics::RemoteInterface::Ptr rcdIface, const std::string &stream, ros::NodeHandle &nh, const std::string &frame_id_prefix, bool tfEnabled, bool staticImu2CamTf)
 

Private Attributes

bool atLeastOnceSuccessfullyStarted
 
bool autopublishTrajectory
 
bool autostartDynamics
 
bool autostartSlam
 
bool autostopDynamics
 
int cntConsecutiveRecoveryFails
 
rc_visard_driver::rc_visard_driverConfig config
 
ros::ServiceServer depthAcquisitionTriggerService
 wrapper for REST-API calls relating to rc_visard's dynamics interface More...
 
std::string dev_ipaddr
 
std::string dev_macaddr
 
std::string dev_serialno
 
bool dev_supports_chunk_data
 
bool dev_supports_color
 
bool dev_supports_depth_acquisition_trigger
 
bool dev_supports_double_shot
 
bool dev_supports_gain
 
bool dev_supports_wb
 
std::string dev_version
 
rc::dynamics::RemoteInterface::Ptr dynamicsInterface
 
ros::ServiceServer dynamicsResetSlamService
 
ros::ServiceServer dynamicsRestartService
 
ros::ServiceServer dynamicsRestartSlamService
 
ros::ServiceServer dynamicsStartService
 
ros::ServiceServer dynamicsStartSlamService
 
ros::ServiceServer dynamicsStopService
 
ros::ServiceServer dynamicsStopSlamService
 
ThreadedStream::Manager::Ptr dynamicsStreams
 
ros::ServiceServer getSlamTrajectoryService
 
std::string gev_packet_size
 
std::string gev_userid
 
std::atomic_bool imageRequested
 
std::atomic_bool imageSuccess
 
std::thread imageThread
 
bool iocontrol_avail
 
std::atomic_uint_least32_t level
 
int maxNumRecoveryTrials
 
boost::recursive_mutex mtx
 
bool perform_depth_acquisition_trigger
 
std::shared_ptr< rcg::Devicercgdev
 
std::shared_ptr< GenApi::CNodeMapRef > rcgnodemap
 
dynamic_reconfigure::Server< rc_visard_driver::rc_visard_driverConfig > * reconfig
 
std::thread recoverThread
 
bool recoveryRequested
 
ros::ServiceServer slamLoadMapService
 
ros::ServiceServer slamRemoveMapService
 
ros::ServiceServer slamSaveMapService
 
bool stereo_plus_avail
 
std::atomic_bool stopImageThread
 
std::atomic_bool stopRecoverThread
 
bool tfEnabled
 should poses published also via tf? More...
 
std::string tfPrefix
 all frame names must be prefixed when using more than one rc_visard More...
 
tf2_ros::StaticTransformBroadcaster tfStaticBroadcaster
 
unsigned int totalCompleteBuffers
 
unsigned int totalConnectionLosses
 
unsigned int totalImageReceiveTimeouts
 
unsigned int totalIncompleteBuffers
 
ros::Publisher trajPublisher
 
diagnostic_updater::Updater updater
 diagnostics publishing More...
 

Additional Inherited Members

- Protected Member Functions inherited from nodelet::Nodelet
ros::CallbackQueueInterfacegetMTCallbackQueue () const
 
ros::NodeHandlegetMTNodeHandle () const
 
ros::NodeHandlegetMTPrivateNodeHandle () const
 
const V_stringgetMyArgv () const
 
const std::string & getName () const
 
ros::NodeHandlegetNodeHandle () const
 
ros::NodeHandlegetPrivateNodeHandle () const
 
const M_stringgetRemappingArgs () const
 
ros::CallbackQueueInterfacegetSTCallbackQueue () const
 
std::string getSuffixedName (const std::string &suffix) const
 

Detailed Description

Definition at line 61 of file device_nodelet.h.

Constructor & Destructor Documentation

rc::DeviceNodelet::DeviceNodelet ( )

Definition at line 129 of file device_nodelet.cc.

rc::DeviceNodelet::~DeviceNodelet ( )
virtual

Definition at line 156 of file device_nodelet.cc.

Member Function Documentation

ThreadedStream::Ptr rc::DeviceNodelet::CreateDynamicsStreamOfType ( rc::dynamics::RemoteInterface::Ptr  rcdIface,
const std::string &  stream,
ros::NodeHandle nh,
const std::string &  frame_id_prefix,
bool  tfEnabled,
bool  staticImu2CamTf 
)
staticprivate

Definition at line 108 of file device_nodelet.cc.

bool rc::DeviceNodelet::depthAcquisitionTrigger ( rc_common_msgs::Trigger::Request &  req,
rc_common_msgs::Trigger::Response &  resp 
)

Trigger stereo matching in mode 'SingleFrame'.

Returns
always true, check resp.return_code.value == 0

Definition at line 1786 of file device_nodelet.cc.

bool rc::DeviceNodelet::dynamicsResetSlam ( rc_common_msgs::Trigger::Request &  req,
rc_common_msgs::Trigger::Response &  resp 
)

Reset SLAM (keep Stereo INS running)

Returns
always true, check resp.return_code.value == 0 for whether the dynamics service has been called

Definition at line 159 of file dynamics_handlers.cc.

bool rc::DeviceNodelet::dynamicsRestart ( rc_common_msgs::Trigger::Request &  req,
rc_common_msgs::Trigger::Response &  resp 
)

Restart Stereo INS.

Returns
always true, check resp.return_code.value == 0 for whether the dynamics service has been called

Definition at line 135 of file dynamics_handlers.cc.

bool rc::DeviceNodelet::dynamicsRestartSlam ( rc_common_msgs::Trigger::Request &  req,
rc_common_msgs::Trigger::Response &  resp 
)

Restart Stereo INS+SLAM.

Returns
always true, check resp.return_code.value == 0 for whether the dynamics service has been called

Definition at line 141 of file dynamics_handlers.cc.

bool rc::DeviceNodelet::dynamicsStart ( rc_common_msgs::Trigger::Request &  req,
rc_common_msgs::Trigger::Response &  resp 
)

Start Stereo INS.

Returns
always true, check resp.return_code.value == 0 for whether the dynamics service has been called

Definition at line 123 of file dynamics_handlers.cc.

bool rc::DeviceNodelet::dynamicsStartSlam ( rc_common_msgs::Trigger::Request &  req,
rc_common_msgs::Trigger::Response &  resp 
)

Start Stereo INS+SLAM.

Returns
always true, check resp.return_code.value == 0 for whether the dynamics service has been called

Definition at line 129 of file dynamics_handlers.cc.

bool rc::DeviceNodelet::dynamicsStop ( rc_common_msgs::Trigger::Request &  req,
rc_common_msgs::Trigger::Response &  resp 
)

Stop Stereo INS(+SLAM if running)

Returns
always true, check resp.return_code.value == 0 for whether the dynamics service has been called

Definition at line 147 of file dynamics_handlers.cc.

bool rc::DeviceNodelet::dynamicsStopSlam ( rc_common_msgs::Trigger::Request &  req,
rc_common_msgs::Trigger::Response &  resp 
)

Stop SLAM (keep Stereo INS running)

Returns
always true, check resp.return_code.value == 0 for whether the dynamics service has been called

Definition at line 153 of file dynamics_handlers.cc.

bool rc::DeviceNodelet::getSlamTrajectory ( rc_visard_driver::GetTrajectory::Request &  req,
rc_visard_driver::GetTrajectory::Response &  resp 
)

Get the Slam trajectory.

Returns
always true

Definition at line 165 of file dynamics_handlers.cc.

void rc::DeviceNodelet::grab ( std::string  device,
rcg::Device::ACCESS  access 
)
private

Definition at line 1353 of file device_nodelet.cc.

void rc::DeviceNodelet::initConfiguration ( const std::shared_ptr< GenApi::CNodeMapRef > &  nodemap,
rc_visard_driver::rc_visard_driverConfig &  cfg,
rcg::Device::ACCESS  access 
)
private

Definition at line 499 of file device_nodelet.cc.

void rc::DeviceNodelet::keepAliveAndRecoverFromFails ( )
private

Definition at line 187 of file device_nodelet.cc.

bool rc::DeviceNodelet::loadSlamMap ( rc_common_msgs::Trigger::Request &  req,
rc_common_msgs::Trigger::Response &  resp 
)

Load the onboard SLAM map.

Returns
always true, check resp.return_code.value == 0 for wheter map could be loaded

Definition at line 232 of file dynamics_handlers.cc.

void rc::DeviceNodelet::onInit ( )
virtual

Implements nodelet::Nodelet.

Definition at line 177 of file device_nodelet.cc.

void rc::DeviceNodelet::produce_connection_diagnostics ( diagnostic_updater::DiagnosticStatusWrapper stat)
private

Definition at line 1798 of file device_nodelet.cc.

void rc::DeviceNodelet::produce_device_diagnostics ( diagnostic_updater::DiagnosticStatusWrapper stat)
private

Definition at line 1833 of file device_nodelet.cc.

void rc::DeviceNodelet::reconfigure ( rc_visard_driver::rc_visard_driverConfig &  config,
uint32_t  level 
)
private

Definition at line 775 of file device_nodelet.cc.

bool rc::DeviceNodelet::removeSlamMap ( rc_common_msgs::Trigger::Request &  req,
rc_common_msgs::Trigger::Response &  resp 
)

Remove the onboard SLAM map.

Returns
always true, check resp.return_code.value == 0 for wheter map could be removed

Definition at line 263 of file dynamics_handlers.cc.

bool rc::DeviceNodelet::saveSlamMap ( rc_common_msgs::Trigger::Request &  req,
rc_common_msgs::Trigger::Response &  resp 
)

Save the onboard SLAM map.

Returns
always true, check resp.return_code.value == 0 for wheter map could be saved

Definition at line 201 of file dynamics_handlers.cc.

Member Data Documentation

bool rc::DeviceNodelet::atLeastOnceSuccessfullyStarted
private

Definition at line 155 of file device_nodelet.h.

bool rc::DeviceNodelet::autopublishTrajectory
private

Definition at line 175 of file device_nodelet.h.

bool rc::DeviceNodelet::autostartDynamics
private

Definition at line 175 of file device_nodelet.h.

bool rc::DeviceNodelet::autostartSlam
private

Definition at line 175 of file device_nodelet.h.

bool rc::DeviceNodelet::autostopDynamics
private

Definition at line 175 of file device_nodelet.h.

int rc::DeviceNodelet::cntConsecutiveRecoveryFails
private

Definition at line 153 of file device_nodelet.h.

rc_visard_driver::rc_visard_driverConfig rc::DeviceNodelet::config
private

Definition at line 144 of file device_nodelet.h.

ros::ServiceServer rc::DeviceNodelet::depthAcquisitionTriggerService
private

wrapper for REST-API calls relating to rc_visard's dynamics interface

Definition at line 160 of file device_nodelet.h.

std::string rc::DeviceNodelet::dev_ipaddr
private

Definition at line 185 of file device_nodelet.h.

std::string rc::DeviceNodelet::dev_macaddr
private

Definition at line 185 of file device_nodelet.h.

std::string rc::DeviceNodelet::dev_serialno
private

Definition at line 185 of file device_nodelet.h.

bool rc::DeviceNodelet::dev_supports_chunk_data
private

Definition at line 133 of file device_nodelet.h.

bool rc::DeviceNodelet::dev_supports_color
private

Definition at line 130 of file device_nodelet.h.

bool rc::DeviceNodelet::dev_supports_depth_acquisition_trigger
private

Definition at line 132 of file device_nodelet.h.

bool rc::DeviceNodelet::dev_supports_double_shot
private

Definition at line 134 of file device_nodelet.h.

bool rc::DeviceNodelet::dev_supports_gain
private

Definition at line 129 of file device_nodelet.h.

bool rc::DeviceNodelet::dev_supports_wb
private

Definition at line 131 of file device_nodelet.h.

std::string rc::DeviceNodelet::dev_version
private

Definition at line 185 of file device_nodelet.h.

rc::dynamics::RemoteInterface::Ptr rc::DeviceNodelet::dynamicsInterface
private

Definition at line 161 of file device_nodelet.h.

ros::ServiceServer rc::DeviceNodelet::dynamicsResetSlamService
private

Definition at line 168 of file device_nodelet.h.

ros::ServiceServer rc::DeviceNodelet::dynamicsRestartService
private

Definition at line 164 of file device_nodelet.h.

ros::ServiceServer rc::DeviceNodelet::dynamicsRestartSlamService
private

Definition at line 165 of file device_nodelet.h.

ros::ServiceServer rc::DeviceNodelet::dynamicsStartService
private

Definition at line 162 of file device_nodelet.h.

ros::ServiceServer rc::DeviceNodelet::dynamicsStartSlamService
private

Definition at line 163 of file device_nodelet.h.

ros::ServiceServer rc::DeviceNodelet::dynamicsStopService
private

Definition at line 166 of file device_nodelet.h.

ros::ServiceServer rc::DeviceNodelet::dynamicsStopSlamService
private

Definition at line 167 of file device_nodelet.h.

ThreadedStream::Manager::Ptr rc::DeviceNodelet::dynamicsStreams
private

Definition at line 157 of file device_nodelet.h.

ros::ServiceServer rc::DeviceNodelet::getSlamTrajectoryService
private

Definition at line 169 of file device_nodelet.h.

std::string rc::DeviceNodelet::gev_packet_size
private

Definition at line 185 of file device_nodelet.h.

std::string rc::DeviceNodelet::gev_userid
private

Definition at line 185 of file device_nodelet.h.

std::atomic_bool rc::DeviceNodelet::imageRequested
private

Definition at line 148 of file device_nodelet.h.

std::atomic_bool rc::DeviceNodelet::imageSuccess
private

Definition at line 148 of file device_nodelet.h.

std::thread rc::DeviceNodelet::imageThread
private

Definition at line 147 of file device_nodelet.h.

bool rc::DeviceNodelet::iocontrol_avail
private

Definition at line 143 of file device_nodelet.h.

std::atomic_uint_least32_t rc::DeviceNodelet::level
private

Definition at line 145 of file device_nodelet.h.

int rc::DeviceNodelet::maxNumRecoveryTrials
private

Definition at line 154 of file device_nodelet.h.

boost::recursive_mutex rc::DeviceNodelet::mtx
private

Definition at line 141 of file device_nodelet.h.

bool rc::DeviceNodelet::perform_depth_acquisition_trigger
private

Definition at line 136 of file device_nodelet.h.

std::shared_ptr<rcg::Device> rc::DeviceNodelet::rcgdev
private

Definition at line 138 of file device_nodelet.h.

std::shared_ptr<GenApi::CNodeMapRef> rc::DeviceNodelet::rcgnodemap
private

Definition at line 139 of file device_nodelet.h.

dynamic_reconfigure::Server<rc_visard_driver::rc_visard_driverConfig>* rc::DeviceNodelet::reconfig
private

Definition at line 127 of file device_nodelet.h.

std::thread rc::DeviceNodelet::recoverThread
private

Definition at line 150 of file device_nodelet.h.

bool rc::DeviceNodelet::recoveryRequested
private

Definition at line 152 of file device_nodelet.h.

ros::ServiceServer rc::DeviceNodelet::slamLoadMapService
private

Definition at line 171 of file device_nodelet.h.

ros::ServiceServer rc::DeviceNodelet::slamRemoveMapService
private

Definition at line 172 of file device_nodelet.h.

ros::ServiceServer rc::DeviceNodelet::slamSaveMapService
private

Definition at line 170 of file device_nodelet.h.

bool rc::DeviceNodelet::stereo_plus_avail
private

Definition at line 142 of file device_nodelet.h.

std::atomic_bool rc::DeviceNodelet::stopImageThread
private

Definition at line 148 of file device_nodelet.h.

std::atomic_bool rc::DeviceNodelet::stopRecoverThread
private

Definition at line 151 of file device_nodelet.h.

bool rc::DeviceNodelet::tfEnabled
private

should poses published also via tf?

Definition at line 181 of file device_nodelet.h.

std::string rc::DeviceNodelet::tfPrefix
private

all frame names must be prefixed when using more than one rc_visard

Definition at line 178 of file device_nodelet.h.

tf2_ros::StaticTransformBroadcaster rc::DeviceNodelet::tfStaticBroadcaster
private

Definition at line 174 of file device_nodelet.h.

unsigned int rc::DeviceNodelet::totalCompleteBuffers
private

Definition at line 186 of file device_nodelet.h.

unsigned int rc::DeviceNodelet::totalConnectionLosses
private

Definition at line 186 of file device_nodelet.h.

unsigned int rc::DeviceNodelet::totalImageReceiveTimeouts
private

Definition at line 186 of file device_nodelet.h.

unsigned int rc::DeviceNodelet::totalIncompleteBuffers
private

Definition at line 186 of file device_nodelet.h.

ros::Publisher rc::DeviceNodelet::trajPublisher
private

Definition at line 173 of file device_nodelet.h.

diagnostic_updater::Updater rc::DeviceNodelet::updater
private

diagnostics publishing

Definition at line 184 of file device_nodelet.h.


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


rc_visard_driver
Author(s): Heiko Hirschmueller , Christian Emmerich , Felix Ruess
autogenerated on Sat Feb 13 2021 03:42:55