Public Member Functions | Private Types | Private Member Functions | Private Attributes
freenect_camera::DriverNodelet Class Reference

#include <driver.h>

Inheritance diagram for freenect_camera::DriverNodelet:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~DriverNodelet ()

Private Types

typedef FreenectConfig Config
typedef
diagnostic_updater::FrequencyStatusParam 
FrequencyStatusParam
typedef
dynamic_reconfigure::Server
< Config
ReconfigureServer
typedef
diagnostic_updater::HeaderlessTopicDiagnostic 
TopicDiagnostic
typedef boost::shared_ptr
< TopicDiagnostic
TopicDiagnosticPtr

Private Member Functions

void checkFrameCounters ()
void configCb (Config &config, uint32_t level)
void depthCb (const ImageBuffer &depth_image, void *cookie)
void depthConnectCb ()
sensor_msgs::CameraInfoPtr getDefaultCameraInfo (int width, int height, double f) const
sensor_msgs::CameraInfoPtr getDepthCameraInfo (const ImageBuffer &image, ros::Time time) const
sensor_msgs::CameraInfoPtr getIrCameraInfo (const ImageBuffer &image, ros::Time time) const
sensor_msgs::CameraInfoPtr getProjectorCameraInfo (const ImageBuffer &image, ros::Time time) const
sensor_msgs::CameraInfoPtr getRgbCameraInfo (const ImageBuffer &image, ros::Time time) const
void irCb (const ImageBuffer &_image, void *cookie)
void irConnectCb ()
OutputMode mapConfigMode2OutputMode (int mode) const
int mapMode2ConfigMode (const OutputMode &output_mode) const
virtual void onInit ()
 Nodelet initialization routine.
void onInitImpl ()
void publishDepthImage (const ImageBuffer &depth, ros::Time time) const
void publishIrImage (const ImageBuffer &ir, ros::Time time) const
void publishRgbImage (const ImageBuffer &image, ros::Time time) const
void rgbCb (const ImageBuffer &image, void *cookie)
void rgbConnectCb ()
void setupDevice ()
void startSynchronization ()
void stopSynchronization ()
void updateDiagnostics ()
void updateModeMaps ()
void watchDog (const ros::TimerEvent &event)

Private Attributes

bool close_diagnostics_
std::map< int, OutputModeconfig2mode_map_
Config config_
boost::mutex connect_mutex_
boost::mutex counter_mutex_
int depth_frame_counter_
std::string depth_frame_id_
double depth_ir_offset_x_
double depth_ir_offset_y_
ros::Time depth_time_stamp_
boost::shared_ptr< FreenectDevicedevice_
 the actual openni device
boost::shared_ptr
< diagnostic_updater::Updater
diagnostic_updater_
boost::thread diagnostics_thread_
bool enable_depth_diagnostics_
bool enable_ir_diagnostics_
bool enable_rgb_diagnostics_
boost::thread init_thread_
int ir_frame_counter_
boost::shared_ptr
< camera_info_manager::CameraInfoManager
ir_info_manager_
ros::Time ir_time_stamp_
bool libfreenect_debug_
 enable libfreenect debugging
std::map< OutputMode, int > mode2config_map_
image_transport::CameraPublisher pub_depth_
TopicDiagnosticPtr pub_depth_freq_
image_transport::CameraPublisher pub_depth_registered_
double pub_freq_max_
double pub_freq_min_
image_transport::CameraPublisher pub_ir_
TopicDiagnosticPtr pub_ir_freq_
ros::Publisher pub_projector_info_
image_transport::CameraPublisher pub_rgb_
TopicDiagnosticPtr pub_rgb_freq_
bool publish_depth_
bool publish_ir_
bool publish_rgb_
boost::shared_ptr
< ReconfigureServer
reconfigure_server_
 reconfigure server
int rgb_frame_counter_
std::string rgb_frame_id_
boost::shared_ptr
< camera_info_manager::CameraInfoManager
rgb_info_manager_
 Camera info manager objects.
ros::Time rgb_time_stamp_
double time_out_
 timeout value in seconds to throw TIMEOUT exception
ros::Time time_stamp_
ros::Timer watch_dog_timer_
int z_offset_mm_

Detailed Description

Definition at line 63 of file driver.h.


Member Typedef Documentation

typedef FreenectConfig freenect_camera::DriverNodelet::Config [private]

Definition at line 68 of file driver.h.

Definition at line 70 of file driver.h.

typedef dynamic_reconfigure::Server<Config> freenect_camera::DriverNodelet::ReconfigureServer [private]

Definition at line 69 of file driver.h.

Definition at line 71 of file driver.h.

Definition at line 72 of file driver.h.


Constructor & Destructor Documentation

Todo:
Test watchdog timer for race conditions. May need to use a separate callback queue controlled by the driver nodelet.

Definition at line 47 of file driver.cpp.


Member Function Documentation

Definition at line 419 of file driver.cpp.

void freenect_camera::DriverNodelet::configCb ( Config config,
uint32_t  level 
) [private]

Definition at line 701 of file driver.cpp.

void freenect_camera::DriverNodelet::depthCb ( const ImageBuffer depth_image,
void *  cookie 
) [private]

Definition at line 456 of file driver.cpp.

Todo:
pub_projector_info_? Probably also subscribed to a depth image if you need it
Todo:
Warn if requested topics don't agree with Freenect registration setting

Definition at line 366 of file driver.cpp.

sensor_msgs::CameraInfoPtr freenect_camera::DriverNodelet::getDefaultCameraInfo ( int  width,
int  height,
double  f 
) const [private]

Definition at line 597 of file driver.cpp.

sensor_msgs::CameraInfoPtr freenect_camera::DriverNodelet::getDepthCameraInfo ( const ImageBuffer image,
ros::Time  time 
) const [private]
Todo:
Could put this in projector frame so as to encode the baseline in P[3]

Definition at line 674 of file driver.cpp.

sensor_msgs::CameraInfoPtr freenect_camera::DriverNodelet::getIrCameraInfo ( const ImageBuffer image,
ros::Time  time 
) const [private]

Definition at line 653 of file driver.cpp.

sensor_msgs::CameraInfoPtr freenect_camera::DriverNodelet::getProjectorCameraInfo ( const ImageBuffer image,
ros::Time  time 
) const [private]

Definition at line 690 of file driver.cpp.

sensor_msgs::CameraInfoPtr freenect_camera::DriverNodelet::getRgbCameraInfo ( const ImageBuffer image,
ros::Time  time 
) const [private]
Todo:
Use binning/ROI properly in publishing camera infos

Definition at line 632 of file driver.cpp.

void freenect_camera::DriverNodelet::irCb ( const ImageBuffer _image,
void *  cookie 
) [private]

Definition at line 478 of file driver.cpp.

Definition at line 392 of file driver.cpp.

Definition at line 820 of file driver.cpp.

int freenect_camera::DriverNodelet::mapMode2ConfigMode ( const OutputMode output_mode) const [private]
Todo:
Consolidate all the mode stuff, maybe even in different class/header

Definition at line 807 of file driver.cpp.

void freenect_camera::DriverNodelet::onInit ( ) [private, virtual]

Nodelet initialization routine.

Implements nodelet::Nodelet.

Definition at line 64 of file driver.cpp.

Todo:
Make it ir instead?

Definition at line 71 of file driver.cpp.

void freenect_camera::DriverNodelet::publishDepthImage ( const ImageBuffer depth,
ros::Time  time 
) const [private]

Definition at line 533 of file driver.cpp.

void freenect_camera::DriverNodelet::publishIrImage ( const ImageBuffer ir,
ros::Time  time 
) const [private]

Definition at line 578 of file driver.cpp.

void freenect_camera::DriverNodelet::publishRgbImage ( const ImageBuffer image,
ros::Time  time 
) const [private]

Definition at line 499 of file driver.cpp.

void freenect_camera::DriverNodelet::rgbCb ( const ImageBuffer image,
void *  cookie 
) [private]

Definition at line 434 of file driver.cpp.

Definition at line 329 of file driver.cpp.

Definition at line 249 of file driver.cpp.

Definition at line 774 of file driver.cpp.

Definition at line 785 of file driver.cpp.

Definition at line 242 of file driver.cpp.

Definition at line 794 of file driver.cpp.

void freenect_camera::DriverNodelet::watchDog ( const ros::TimerEvent event) [private]

Definition at line 832 of file driver.cpp.


Member Data Documentation

Definition at line 120 of file driver.h.

Definition at line 168 of file driver.h.

Definition at line 134 of file driver.h.

Definition at line 130 of file driver.h.

Definition at line 145 of file driver.h.

Definition at line 147 of file driver.h.

Definition at line 139 of file driver.h.

Definition at line 140 of file driver.h.

Definition at line 141 of file driver.h.

Definition at line 159 of file driver.h.

the actual openni device

Definition at line 128 of file driver.h.

Definition at line 110 of file driver.h.

Definition at line 118 of file driver.h.

Definition at line 115 of file driver.h.

Definition at line 117 of file driver.h.

Definition at line 113 of file driver.h.

Definition at line 129 of file driver.h.

Definition at line 148 of file driver.h.

Definition at line 137 of file driver.h.

Definition at line 160 of file driver.h.

enable libfreenect debugging

Definition at line 165 of file driver.h.

Definition at line 167 of file driver.h.

Definition at line 105 of file driver.h.

Definition at line 114 of file driver.h.

Definition at line 105 of file driver.h.

Definition at line 111 of file driver.h.

Definition at line 111 of file driver.h.

Definition at line 106 of file driver.h.

Definition at line 116 of file driver.h.

Definition at line 107 of file driver.h.

Definition at line 104 of file driver.h.

Definition at line 112 of file driver.h.

Definition at line 151 of file driver.h.

Definition at line 150 of file driver.h.

Definition at line 149 of file driver.h.

reconfigure server

Definition at line 133 of file driver.h.

Definition at line 146 of file driver.h.

Definition at line 138 of file driver.h.

Camera info manager objects.

Definition at line 137 of file driver.h.

Definition at line 158 of file driver.h.

timeout value in seconds to throw TIMEOUT exception

Definition at line 157 of file driver.h.

Definition at line 161 of file driver.h.

Definition at line 162 of file driver.h.

Definition at line 142 of file driver.h.


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


freenect_camera
Author(s): Patrick Mihelich, Suat Gedikli, Radu Bogdan Rusu (original openni_camera driver)., Piyush Khandelwal (libfreenect port).
autogenerated on Mon Oct 6 2014 00:00:36