26 #include <pcl/io/pcd_io.h>
27 #include <pcl/point_types.h>
31 #include <ArmarXCore/interface/observers/ObserverInterface.h>
33 #include <RobotAPI/interface/visualization/DebugDrawerInterface.h>
40 using PointT = pcl::PointXYZRGBL;
53 defineOptionalProperty<std::string>(
54 "Folder",
"/tmp",
"Path where to store the point clouds.");
55 defineOptionalProperty<std::string>(
"DebugObserverName",
57 "Name of the topic the DebugObserver listens on");
58 defineOptionalProperty<std::string>(
59 "DebugDrawerTopicName",
"DebugDrawerUpdates",
"Name of the DebugDrawerTopic");
60 defineOptionalProperty<float>(
61 "UpdateRate", 2.0f,
"Frequency how often the voxel grid is updated");
62 defineOptionalProperty<int>(
63 "NumPointClouds", 0,
"Number of point clouds before exiting");
64 defineOptionalProperty<bool>(
"WriteBinary",
66 "If enabled, the point clouds will be stored in binary "
67 "format. Otherwise, in ASCII format.");
68 defineOptionalProperty<bool>(
71 "If enabled, invalid points will be removed from the point cloud.");
96 return "PointCloudRecorder";
136 std::unique_ptr<armarx::CycleUtil> cycleKeeper;