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