#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.