#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <ros/ros.h>
#include <nav_msgs/Odometry.h>
#include <sensor_msgs/Imu.h>
#include <tf/transform_datatypes.h>
#include <tf/transform_listener.h>
#include <tf/transform_broadcaster.h>
#include "cameraParameters.h"
#include "pointDefinition.h"
Go to the source code of this file.
Functions | |
pcl::PointCloud < pcl::PointXYZI >::Ptr | depthCloud (new pcl::PointCloud< pcl::PointXYZI >()) |
void | depthCloudHandler (const sensor_msgs::PointCloud2ConstPtr &depthCloud2) |
pcl::PointCloud< DepthPoint >::Ptr | depthPointsCur (new pcl::PointCloud< DepthPoint >()) |
pcl::PointCloud< DepthPoint >::Ptr | depthPointsLast (new pcl::PointCloud< DepthPoint >()) |
pcl::PointCloud< DepthPoint >::Ptr | depthPointsSend (new pcl::PointCloud< DepthPoint >()) |
void | imageDataHandler (const sensor_msgs::Image::ConstPtr &imageData) |
pcl::PointCloud< ImagePoint >::Ptr | imagePointsCur (new pcl::PointCloud< ImagePoint >()) |
void | imagePointsHandler (const sensor_msgs::PointCloud2ConstPtr &imagePoints2) |
pcl::PointCloud< ImagePoint >::Ptr | imagePointsLast (new pcl::PointCloud< ImagePoint >()) |
pcl::PointCloud< pcl::PointXYZ > ::Ptr | imagePointsProj (new pcl::PointCloud< pcl::PointXYZ >()) |
void | imuDataHandler (const sensor_msgs::Imu::ConstPtr &imuData) |
pcl::PointCloud < pcl::PointXYZHSV >::Ptr | ipRelations (new pcl::PointCloud< pcl::PointXYZHSV >()) |
pcl::PointCloud < pcl::PointXYZHSV >::Ptr | ipRelations2 (new pcl::PointCloud< pcl::PointXYZHSV >()) |
pcl::KdTreeFLANN < pcl::PointXYZI >::Ptr | kdTree (new pcl::KdTreeFLANN< pcl::PointXYZI >()) |
int | main (int argc, char **argv) |
pcl::PointXYZ | origin (0, 0, 0) |
pcl::PointCloud< ImagePoint >::Ptr | startPointsCur (new pcl::PointCloud< ImagePoint >()) |
pcl::PointCloud< ImagePoint >::Ptr | startPointsLast (new pcl::PointCloud< ImagePoint >()) |
pcl::PointCloud < pcl::PointXYZHSV >::Ptr | startTransCur (new pcl::PointCloud< pcl::PointXYZHSV >()) |
pcl::PointCloud < pcl::PointXYZHSV >::Ptr | startTransLast (new pcl::PointCloud< pcl::PointXYZHSV >()) |
void | transformBack (pcl::PointXYZ *point, float *r) |
void | transformPoint (pcl::PointXYZ *point, float *r) |
pcl::PointXYZ | xAxis (1, 0, 0) |
pcl::PointXYZ | yAxis (0, 1, 0) |
pcl::PointXYZ | zAxis (0, 0, 1) |
Variables | |
float | angleSum [3] = {0} |
sensor_msgs::CvBridge | bridge |
int | depthCloudNum = 0 |
double | depthCloudTime |
int | depthPointsCurNum = 0 |
int | depthPointsLastNum = 0 |
ros::Publisher * | depthPointsPubPointer = NULL |
IplImage * | image |
int | imagePointsCurNum = 0 |
double | imagePointsCurTime |
int | imagePointsLastNum = 0 |
double | imagePointsLastTime |
ros::Publisher * | imagePointsProjPubPointer = NULL |
ros::Publisher * | imageShowPubPointer |
bool | imuInited = false |
float | imuPitch [imuQueLength] = {0} |
float | imuPitchCur = 0 |
float | imuPitchLast = 0 |
int | imuPointerFront = 0 |
int | imuPointerLast = -1 |
const int | imuQueLength = 200 |
float | imuRoll [imuQueLength] = {0} |
float | imuRollCur = 0 |
float | imuRollLast = 0 |
double | imuTime [imuQueLength] = {0} |
float | imuYaw [imuQueLength] = {0} |
float | imuYawCur = 0 |
float | imuYawInit = 0 |
float | imuYawLast = 0 |
std::vector< int > | ipInd |
std::vector< float > | ipy2 |
const double | PI = 3.1415926 |
std::vector< int > | pointSearchInd |
std::vector< float > | pointSearchSqrDis |
const int | showDSRate = 2 |
tf::TransformBroadcaster * | tfBroadcasterPointer = NULL |
float | transformSum [6] = {0} |
ros::Publisher * | voDataPubPointer = NULL |
pcl::PointCloud<pcl::PointXYZI>::Ptr depthCloud | ( | new pcl::PointCloud< pcl::PointXYZI > | () | ) |
void depthCloudHandler | ( | const sensor_msgs::PointCloud2ConstPtr & | depthCloud2 | ) |
Definition at line 740 of file visualOdometry.cpp.
pcl::PointCloud<DepthPoint>::Ptr depthPointsCur | ( | new pcl::PointCloud< DepthPoint > | () | ) |
pcl::PointCloud<DepthPoint>::Ptr depthPointsLast | ( | new pcl::PointCloud< DepthPoint > | () | ) |
pcl::PointCloud<DepthPoint>::Ptr depthPointsSend | ( | new pcl::PointCloud< DepthPoint > | () | ) |
void imageDataHandler | ( | const sensor_msgs::Image::ConstPtr & | imageData | ) |
Definition at line 775 of file visualOdometry.cpp.
pcl::PointCloud<ImagePoint>::Ptr imagePointsCur | ( | new pcl::PointCloud< ImagePoint > | () | ) |
void imagePointsHandler | ( | const sensor_msgs::PointCloud2ConstPtr & | imagePoints2 | ) |
Definition at line 126 of file visualOdometry.cpp.
pcl::PointCloud<ImagePoint>::Ptr imagePointsLast | ( | new pcl::PointCloud< ImagePoint > | () | ) |
pcl::PointCloud<pcl::PointXYZ>::Ptr imagePointsProj | ( | new pcl::PointCloud< pcl::PointXYZ > | () | ) |
void imuDataHandler | ( | const sensor_msgs::Imu::ConstPtr & | imuData | ) |
Definition at line 760 of file visualOdometry.cpp.
pcl::PointCloud<pcl::PointXYZHSV>::Ptr ipRelations | ( | new pcl::PointCloud< pcl::PointXYZHSV > | () | ) |
pcl::PointCloud<pcl::PointXYZHSV>::Ptr ipRelations2 | ( | new pcl::PointCloud< pcl::PointXYZHSV > | () | ) |
pcl::KdTreeFLANN<pcl::PointXYZI>::Ptr kdTree | ( | new pcl::KdTreeFLANN< pcl::PointXYZI > | () | ) |
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 800 of file visualOdometry.cpp.
pcl::PointXYZ origin | ( | 0 | , |
0 | , | ||
0 | |||
) |
pcl::PointCloud<ImagePoint>::Ptr startPointsCur | ( | new pcl::PointCloud< ImagePoint > | () | ) |
pcl::PointCloud<ImagePoint>::Ptr startPointsLast | ( | new pcl::PointCloud< ImagePoint > | () | ) |
pcl::PointCloud<pcl::PointXYZHSV>::Ptr startTransCur | ( | new pcl::PointCloud< pcl::PointXYZHSV > | () | ) |
pcl::PointCloud<pcl::PointXYZHSV>::Ptr startTransLast | ( | new pcl::PointCloud< pcl::PointXYZHSV > | () | ) |
void transformBack | ( | pcl::PointXYZ * | point, |
float * | r | ||
) |
Definition at line 104 of file visualOdometry.cpp.
void transformPoint | ( | pcl::PointXYZ * | point, |
float * | r | ||
) |
Definition at line 82 of file visualOdometry.cpp.
pcl::PointXYZ xAxis | ( | 1 | , |
0 | , | ||
0 | |||
) |
pcl::PointXYZ yAxis | ( | 0 | , |
1 | , | ||
0 | |||
) |
pcl::PointXYZ zAxis | ( | 0 | , |
0 | , | ||
1 | |||
) |
float angleSum[3] = {0} |
Definition at line 53 of file visualOdometry.cpp.
Definition at line 80 of file visualOdometry.cpp.
int depthCloudNum = 0 |
Definition at line 47 of file visualOdometry.cpp.
double depthCloudTime |
Definition at line 46 of file visualOdometry.cpp.
int depthPointsCurNum = 0 |
Definition at line 40 of file visualOdometry.cpp.
int depthPointsLastNum = 0 |
Definition at line 41 of file visualOdometry.cpp.
ros::Publisher* depthPointsPubPointer = NULL |
Definition at line 73 of file visualOdometry.cpp.
IplImage* image |
Definition at line 79 of file visualOdometry.cpp.
int imagePointsCurNum = 0 |
Definition at line 37 of file visualOdometry.cpp.
double imagePointsCurTime |
Definition at line 34 of file visualOdometry.cpp.
int imagePointsLastNum = 0 |
Definition at line 38 of file visualOdometry.cpp.
double imagePointsLastTime |
Definition at line 35 of file visualOdometry.cpp.
Definition at line 74 of file visualOdometry.cpp.
Definition at line 75 of file visualOdometry.cpp.
bool imuInited = false |
Definition at line 60 of file visualOdometry.cpp.
float imuPitch[imuQueLength] = {0} |
Definition at line 68 of file visualOdometry.cpp.
float imuPitchCur = 0 |
Definition at line 62 of file visualOdometry.cpp.
float imuPitchLast = 0 |
Definition at line 63 of file visualOdometry.cpp.
int imuPointerFront = 0 |
Definition at line 57 of file visualOdometry.cpp.
int imuPointerLast = -1 |
Definition at line 58 of file visualOdometry.cpp.
const int imuQueLength = 200 |
Definition at line 59 of file visualOdometry.cpp.
float imuRoll[imuQueLength] = {0} |
Definition at line 67 of file visualOdometry.cpp.
float imuRollCur = 0 |
Definition at line 62 of file visualOdometry.cpp.
float imuRollLast = 0 |
Definition at line 63 of file visualOdometry.cpp.
double imuTime[imuQueLength] = {0} |
Definition at line 66 of file visualOdometry.cpp.
float imuYaw[imuQueLength] = {0} |
Definition at line 69 of file visualOdometry.cpp.
float imuYawCur = 0 |
Definition at line 62 of file visualOdometry.cpp.
float imuYawInit = 0 |
Definition at line 65 of file visualOdometry.cpp.
float imuYawLast = 0 |
Definition at line 63 of file visualOdometry.cpp.
std::vector<int> ipInd |
Definition at line 31 of file visualOdometry.cpp.
std::vector<float> ipy2 |
Definition at line 32 of file visualOdometry.cpp.
const double PI = 3.1415926 |
Definition at line 16 of file visualOdometry.cpp.
std::vector<int> pointSearchInd |
Definition at line 49 of file visualOdometry.cpp.
std::vector<float> pointSearchSqrDis |
Definition at line 50 of file visualOdometry.cpp.
const int showDSRate = 2 |
Definition at line 77 of file visualOdometry.cpp.
Definition at line 72 of file visualOdometry.cpp.
float transformSum[6] = {0} |
Definition at line 52 of file visualOdometry.cpp.
ros::Publisher* voDataPubPointer = NULL |
Definition at line 71 of file visualOdometry.cpp.