#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 | |
void | accumulateRotation (double cx, double cy, double cz, double lx, double ly, double lz, double &ox, double &oy, double &oz) |
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 | diffRotation (double cx, double cy, double cz, double lx, double ly, double lz, double &ox, double &oy, double &oz) |
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::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 >()) |
Variables | |
double | angleSum [3] = {0} |
int | depthCloudNum = 0 |
double | depthCloudTime |
int | depthPointsCurNum = 0 |
int | depthPointsLastNum = 0 |
ros::Publisher * | depthPointsPubPointer = NULL |
int | imagePointsCurNum = 0 |
double | imagePointsCurTime |
int | imagePointsLastNum = 0 |
double | imagePointsLastTime |
ros::Publisher * | imagePointsProjPubPointer = NULL |
ros::Publisher * | imageShowPubPointer |
bool | imuInited = false |
double | imuPitch [imuQueLength] = {0} |
double | imuPitchCur = 0 |
double | imuPitchLast = 0 |
int | imuPointerFront = 0 |
int | imuPointerLast = -1 |
const int | imuQueLength = 200 |
double | imuRoll [imuQueLength] = {0} |
double | imuRollCur = 0 |
double | imuRollLast = 0 |
double | imuTime [imuQueLength] = {0} |
double | imuYaw [imuQueLength] = {0} |
double | imuYawCur = 0 |
double | imuYawInit = 0 |
double | imuYawLast = 0 |
std::vector< float > * | ipDepthCur = new std::vector<float>() |
std::vector< float > * | ipDepthLast = new std::vector<float>() |
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 |
double | transformSum [6] = {0} |
ros::Publisher * | voDataPubPointer = NULL |
void accumulateRotation | ( | double | cx, |
double | cy, | ||
double | cz, | ||
double | lx, | ||
double | ly, | ||
double | lz, | ||
double & | ox, | ||
double & | oy, | ||
double & | oz | ||
) |
Definition at line 80 of file visualOdometry.cpp.
pcl::PointCloud<pcl::PointXYZI>::Ptr depthCloud | ( | new pcl::PointCloud< pcl::PointXYZI > | () | ) |
void depthCloudHandler | ( | const sensor_msgs::PointCloud2ConstPtr & | depthCloud2 | ) |
Definition at line 760 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 diffRotation | ( | double | cx, |
double | cy, | ||
double | cz, | ||
double | lx, | ||
double | ly, | ||
double | lz, | ||
double & | ox, | ||
double & | oy, | ||
double & | oz | ||
) |
Definition at line 99 of file visualOdometry.cpp.
void imageDataHandler | ( | const sensor_msgs::Image::ConstPtr & | imageData | ) |
Definition at line 795 of file visualOdometry.cpp.
pcl::PointCloud<ImagePoint>::Ptr imagePointsCur | ( | new pcl::PointCloud< ImagePoint > | () | ) |
void imagePointsHandler | ( | const sensor_msgs::PointCloud2ConstPtr & | imagePoints2 | ) |
Definition at line 120 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 780 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 820 of file visualOdometry.cpp.
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 > | () | ) |
double angleSum[3] = {0} |
Definition at line 56 of file visualOdometry.cpp.
int depthCloudNum = 0 |
Definition at line 50 of file visualOdometry.cpp.
double depthCloudTime |
Definition at line 49 of file visualOdometry.cpp.
int depthPointsCurNum = 0 |
Definition at line 43 of file visualOdometry.cpp.
int depthPointsLastNum = 0 |
Definition at line 44 of file visualOdometry.cpp.
ros::Publisher* depthPointsPubPointer = NULL |
Definition at line 74 of file visualOdometry.cpp.
int imagePointsCurNum = 0 |
Definition at line 40 of file visualOdometry.cpp.
double imagePointsCurTime |
Definition at line 37 of file visualOdometry.cpp.
int imagePointsLastNum = 0 |
Definition at line 41 of file visualOdometry.cpp.
double imagePointsLastTime |
Definition at line 38 of file visualOdometry.cpp.
Definition at line 75 of file visualOdometry.cpp.
Definition at line 76 of file visualOdometry.cpp.
bool imuInited = false |
Definition at line 61 of file visualOdometry.cpp.
double imuPitch[imuQueLength] = {0} |
Definition at line 69 of file visualOdometry.cpp.
double imuPitchCur = 0 |
Definition at line 63 of file visualOdometry.cpp.
double imuPitchLast = 0 |
Definition at line 64 of file visualOdometry.cpp.
int imuPointerFront = 0 |
Definition at line 58 of file visualOdometry.cpp.
int imuPointerLast = -1 |
Definition at line 59 of file visualOdometry.cpp.
const int imuQueLength = 200 |
Definition at line 60 of file visualOdometry.cpp.
double imuRoll[imuQueLength] = {0} |
Definition at line 68 of file visualOdometry.cpp.
double imuRollCur = 0 |
Definition at line 63 of file visualOdometry.cpp.
double imuRollLast = 0 |
Definition at line 64 of file visualOdometry.cpp.
double imuTime[imuQueLength] = {0} |
Definition at line 67 of file visualOdometry.cpp.
double imuYaw[imuQueLength] = {0} |
Definition at line 70 of file visualOdometry.cpp.
double imuYawCur = 0 |
Definition at line 63 of file visualOdometry.cpp.
double imuYawInit = 0 |
Definition at line 66 of file visualOdometry.cpp.
double imuYawLast = 0 |
Definition at line 64 of file visualOdometry.cpp.
std::vector<float>* ipDepthCur = new std::vector<float>() |
Definition at line 34 of file visualOdometry.cpp.
std::vector<float>* ipDepthLast = new std::vector<float>() |
Definition at line 35 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 52 of file visualOdometry.cpp.
std::vector<float> pointSearchSqrDis |
Definition at line 53 of file visualOdometry.cpp.
const int showDSRate = 2 |
Definition at line 78 of file visualOdometry.cpp.
Definition at line 73 of file visualOdometry.cpp.
double transformSum[6] = {0} |
Definition at line 55 of file visualOdometry.cpp.
ros::Publisher* voDataPubPointer = NULL |
Definition at line 72 of file visualOdometry.cpp.