mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-04 00:37:46 +08:00
Added rtabmap_ros/rtabmap nodelet #96 and test_rtabmap_nodelets.launch file as an example
This commit is contained in:
@@ -56,7 +56,7 @@ namespace rtabmap_ros {
|
||||
|
||||
class CommonDataSubscriber {
|
||||
public:
|
||||
CommonDataSubscriber();
|
||||
CommonDataSubscriber(bool gui);
|
||||
virtual ~CommonDataSubscriber();
|
||||
|
||||
bool isSubscribedToDepth() const {return subscribedToDepth_;}
|
||||
@@ -69,6 +69,7 @@ public:
|
||||
int getQueueSize() const {return queueSize_;}
|
||||
|
||||
protected:
|
||||
void setupCallbacks(ros::NodeHandle & nh, ros::NodeHandle & pnh);
|
||||
virtual void commonDepthCallback(
|
||||
const nav_msgs::OdometryConstPtr & odomMsg,
|
||||
const rtabmap_ros::UserDataConstPtr & userDataMsg,
|
||||
@@ -102,6 +103,8 @@ private:
|
||||
void warningLoop();
|
||||
void callbackCalled() {callbackCalled_ = true;}
|
||||
void setupDepthCallbacks(
|
||||
ros::NodeHandle & nh,
|
||||
ros::NodeHandle & pnh,
|
||||
bool subscribeOdom,
|
||||
bool subscribeUserData,
|
||||
bool subscribeScan2d,
|
||||
@@ -110,11 +113,15 @@ private:
|
||||
int queueSize,
|
||||
bool approxSync);
|
||||
void setupStereoCallbacks(
|
||||
ros::NodeHandle & nh,
|
||||
ros::NodeHandle & pnh,
|
||||
bool subscribeOdom,
|
||||
bool subscribeOdomInfo,
|
||||
int queueSize,
|
||||
bool approxSync);
|
||||
void setupRGBDCallbacks(
|
||||
ros::NodeHandle & nh,
|
||||
ros::NodeHandle & pnh,
|
||||
bool subscribeOdom,
|
||||
bool subscribeUserData,
|
||||
bool subscribeScan2d,
|
||||
@@ -123,6 +130,8 @@ private:
|
||||
int queueSize,
|
||||
bool approxSync);
|
||||
void setupRGBD2Callbacks(
|
||||
ros::NodeHandle & nh,
|
||||
ros::NodeHandle & pnh,
|
||||
bool subscribeOdom,
|
||||
bool subscribeUserData,
|
||||
bool subscribeScan2d,
|
||||
@@ -133,9 +142,9 @@ private:
|
||||
|
||||
protected:
|
||||
std::string subscribedTopicsMsg_;
|
||||
int queueSize_;
|
||||
|
||||
private:
|
||||
int queueSize_;
|
||||
bool approxSync_;
|
||||
boost::thread* warningThread_;
|
||||
bool callbackCalled_;
|
||||
|
||||
@@ -30,6 +30,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
#include <ros/ros.h>
|
||||
#include <nodelet/nodelet.h>
|
||||
|
||||
#include <std_srvs/Empty.h>
|
||||
|
||||
@@ -71,14 +72,16 @@ class StereoDense;
|
||||
|
||||
namespace rtabmap_ros {
|
||||
|
||||
class CoreWrapper : public CommonDataSubscriber
|
||||
class CoreWrapper : public CommonDataSubscriber, public nodelet::Nodelet
|
||||
{
|
||||
public:
|
||||
CoreWrapper(bool deleteDbOnStart, const rtabmap::ParametersMap & parameters);
|
||||
CoreWrapper();
|
||||
virtual ~CoreWrapper();
|
||||
|
||||
private:
|
||||
|
||||
virtual void onInit();
|
||||
|
||||
bool odomUpdate(const nav_msgs::OdometryConstPtr & odomMsg);
|
||||
bool odomTFUpdate(const ros::Time & stamp); // TF odom
|
||||
|
||||
@@ -242,6 +245,7 @@ private:
|
||||
MoveBaseClient mbClient_;
|
||||
|
||||
boost::thread* transformThread_;
|
||||
bool tfThreadRunning_;
|
||||
|
||||
// for loop closure detection only
|
||||
image_transport::Subscriber defaultSub_;
|
||||
|
||||
Reference in New Issue
Block a user