#include <cmath>
#include <fstream>
#include <iostream>
#include <map>
#include <ros/ros.h>
#include <stdexcept>
#include "duration.h"
#include <sys/time.h>
#include "ros/time.h"
#include <cstdio>
#include <sstream>
#include <log4cxx/logger.h>
#include "ros/console.h"
#include <boost/static_assert.hpp>
#include <cassert>
#include <stdint.h>
#include <assert.h>
#include <stddef.h>
#include <string>
#include "ros/assert.h"
#include <vector>
#include <set>
#include <list>
#include <boost/shared_ptr.hpp>
#include <boost/weak_ptr.hpp>
#include <boost/function.hpp>
#include "exceptions.h"
#include <boost/shared_array.hpp>
#include "ros/types.h"
#include "ros/forwards.h"
#include "ros/common.h"
#include "ros/macros.h"
#include <string.h>
#include <boost/array.hpp>
#include "serialized_message.h"
#include "message_forward.h"
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/remove_const.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include "message_traits.h"
#include "ros/exception.h"
#include <boost/call_traits.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/or.hpp>
#include <boost/mpl/not.hpp>
#include <cstring>
#include <boost/bind.hpp>
#include <typeinfo>
#include <ros/message.h>
#include <boost/type_traits/is_void.hpp>
#include <boost/type_traits/is_base_of.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/add_const.hpp>
#include <boost/make_shared.hpp>
#include <ros/static_assert.h>
#include "ros/message_traits.h"
#include "ros/builtin_message_traits.h"
#include "ros/serialization.h"
#include "ros/message_event.h"
#include "forwards.h"
#include "timer_options.h"
#include "wall_timer_options.h"
#include "ros/service_traits.h"
#include <boost/lexical_cast.hpp>
#include "subscription_callback_helper.h"
#include "ros/spinner.h"
#include <time.h>
#include "ros/publisher.h"
#include <boost/utility.hpp>
#include "ros/service_server.h"
#include "ros/subscriber.h"
#include "ros/node_handle.h"
#include "ros/init.h"
#include "XmlRpcValue.h"
#include "node_handle.h"
#include "ros/names.h"
#include <ostream>
#include "ros/message_operations.h"
#include <errno.h>
#include <ros/ros.h>
#include "std_msgs/Header.h"
#include <boost/format.hpp>
Go to the source code of this file.
Defines | |
#define | DEBUG_TO_FILE 0 |
#define | NODE "ringcomp" |
Functions | |
void | compInitialize () |
void | displayHelp () |
int | getParameters (int argc, char *argv[]) |
int | main (int argc, char *argv[]) |
void | mapInitialize () |
void | printmatrix (velodyne::laserscan_xyz_t mat[][64]) |
void | processXYZ (const std::vector< velodyne::laserscan_xyz_t > &scan) |
callback for XYZ points | |
int | radtodeg (float rad) |
void | ringMeasure (velodyne::laserscan_xyz_t vect[][64]) |
float | twodDistance (velodyne::laserscan_xyz_t p1, velodyne::laserscan_xyz_t p2) |
Variables | |
int | CASE_1_LIM |
float | CASE_1_RANGES [64] |
int | CASE_3_LIM = 58 |
float | COMP_BASE [63] |
static velodyne::DataXYZ * | data = NULL |
velodyne::laserscan_xyz_t | data_mat [360][64] |
bool | first_run = true |
const float | FLAT_COMP [63] |
const float | LAZ_ANG [64] |
std::map< int, int > | MAP_ORDER |
float | MIN_OBST = .15 |
const int | NUM_LAZERS = 64 |
static ros::Publisher | output |
sensor_msgs::PointCloud | pc |
static int | qDepth = 1 |
const int | TEMP_LAZ_ORDER [64] |
const int | VEL_HEIGHT = 2.2 |
This ROS node processes raw Velodyne HDL-64E 3D LIDAR data using ring compression.
Definition in file ringcomp.cc.
#define DEBUG_TO_FILE 0 |
#define NODE "ringcomp" |
Definition at line 27 of file ringcomp.cc.
void compInitialize | ( | ) |
Definition at line 226 of file ringcomp.cc.
void displayHelp | ( | ) |
Definition at line 362 of file ringcomp.cc.
int getParameters | ( | int | argc, | |
char * | argv[] | |||
) |
get command line and ROS parameters
Definition at line 383 of file ringcomp.cc.
int main | ( | int | argc, | |
char * | argv[] | |||
) |
Definition at line 416 of file ringcomp.cc.
void mapInitialize | ( | ) |
Definition at line 217 of file ringcomp.cc.
void printmatrix | ( | velodyne::laserscan_xyz_t | mat[][64] | ) |
Definition at line 323 of file ringcomp.cc.
void processXYZ | ( | const std::vector< velodyne::laserscan_xyz_t > & | scan | ) |
callback for XYZ points
performs ring compression on Velodyne data points
Definition at line 337 of file ringcomp.cc.
int radtodeg | ( | float | rad | ) |
Definition at line 251 of file ringcomp.cc.
void ringMeasure | ( | velodyne::laserscan_xyz_t | vect[][64] | ) |
Definition at line 275 of file ringcomp.cc.
float twodDistance | ( | velodyne::laserscan_xyz_t | p1, | |
velodyne::laserscan_xyz_t | p2 | |||
) |
Definition at line 203 of file ringcomp.cc.
int CASE_1_LIM |
Definition at line 198 of file ringcomp.cc.
float CASE_1_RANGES[64] |
Definition at line 195 of file ringcomp.cc.
int CASE_3_LIM = 58 |
Definition at line 199 of file ringcomp.cc.
float COMP_BASE[63] |
Definition at line 193 of file ringcomp.cc.
velodyne::DataXYZ* data = NULL [static] |
Definition at line 34 of file ringcomp.cc.
velodyne::laserscan_xyz_t data_mat[360][64] |
Definition at line 38 of file ringcomp.cc.
bool first_run = true |
Definition at line 41 of file ringcomp.cc.
const float FLAT_COMP[63] |
Definition at line 126 of file ringcomp.cc.
const float LAZ_ANG[64] |
Definition at line 59 of file ringcomp.cc.
std::map<int, int> MAP_ORDER |
Definition at line 44 of file ringcomp.cc.
float MIN_OBST = .15 |
Definition at line 50 of file ringcomp.cc.
const int NUM_LAZERS = 64 |
Definition at line 196 of file ringcomp.cc.
ros::Publisher output [static] |
Definition at line 35 of file ringcomp.cc.
sensor_msgs::PointCloud pc |
Definition at line 273 of file ringcomp.cc.
int qDepth = 1 [static] |
Definition at line 31 of file ringcomp.cc.
const int TEMP_LAZ_ORDER[64] |
{6,7,10,11,0,1,4,5,8,9,14,15,18,19,22, 23,12,13,16,17,20,21,26,27,30,31,2,3, 24,25,28,29,38,39,42,43,32,33,36,37,40, 41,46,47,50,51,54,55,44,45,48,49,52,53, 58,59,62,63,34,35,56,57,60,61}
Definition at line 52 of file ringcomp.cc.
const int VEL_HEIGHT = 2.2 |
Definition at line 47 of file ringcomp.cc.