#include <node.h>
Classes | |
struct | Subscriber |
struct | TrajectorySensorSamplers |
Public Member Functions | |
int | AddOfflineTrajectory (const std::set< cartographer::mapping::TrajectoryBuilderInterface::SensorId > &expected_sensor_ids, const TrajectoryOptions &options) |
std::vector< std::set <::cartographer::mapping::TrajectoryBuilderInterface::SensorId > > | ComputeDefaultSensorIdsForMultipleBags (const std::vector< TrajectoryOptions > &bags_options) const |
void | FinishAllTrajectories () |
bool | FinishTrajectory (int trajectory_id) |
void | HandleImuMessage (int trajectory_id, const std::string &sensor_id, const sensor_msgs::Imu::ConstPtr &msg) |
void | HandleLandmarkMessage (int trajectory_id, const std::string &sensor_id, const cartographer_ros_msgs::LandmarkList::ConstPtr &msg) |
void | HandleLaserScanMessage (int trajectory_id, const std::string &sensor_id, const sensor_msgs::LaserScan::ConstPtr &msg) |
void | HandleMultiEchoLaserScanMessage (int trajectory_id, const std::string &sensor_id, const sensor_msgs::MultiEchoLaserScan::ConstPtr &msg) |
void | HandleNavSatFixMessage (int trajectory_id, const std::string &sensor_id, const sensor_msgs::NavSatFix::ConstPtr &msg) |
void | HandleOdometryMessage (int trajectory_id, const std::string &sensor_id, const nav_msgs::Odometry::ConstPtr &msg) |
void | HandlePointCloud2Message (int trajectory_id, const std::string &sensor_id, const sensor_msgs::PointCloud2::ConstPtr &msg) |
void | LoadState (const std::string &state_filename, bool load_frozen_state) |
Node (const NodeOptions &node_options, std::unique_ptr< cartographer::mapping::MapBuilderInterface > map_builder, tf2_ros::Buffer *tf_buffer, bool collect_metrics) | |
Node (const Node &) | |
::ros::NodeHandle * | node_handle () |
Node & | operator= (const Node &) |
void | RunFinalOptimization () |
void | SerializeState (const std::string &filename, const bool include_unfinished_submaps) |
void | StartTrajectoryWithDefaultTopics (const TrajectoryOptions &options) |
~Node () | |
Private Member Functions | |
void | AddExtrapolator (int trajectory_id, const TrajectoryOptions &options) |
void | AddSensorSamplers (int trajectory_id, const TrajectoryOptions &options) |
int | AddTrajectory (const TrajectoryOptions &options) |
std::set <::cartographer::mapping::TrajectoryBuilderInterface::SensorId > | ComputeExpectedSensorIds (const TrajectoryOptions &options) const |
cartographer_ros_msgs::StatusResponse | FinishTrajectoryUnderLock (int trajectory_id) EXCLUSIVE_LOCKS_REQUIRED(mutex_) |
MapBuilderBridge map_builder_bridge_ | GUARDED_BY (mutex_) |
bool | HandleFinishTrajectory (cartographer_ros_msgs::FinishTrajectory::Request &request, cartographer_ros_msgs::FinishTrajectory::Response &response) |
bool | HandleGetTrajectoryStates (::cartographer_ros_msgs::GetTrajectoryStates::Request &request,::cartographer_ros_msgs::GetTrajectoryStates::Response &response) |
bool | HandleReadMetrics (cartographer_ros_msgs::ReadMetrics::Request &request, cartographer_ros_msgs::ReadMetrics::Response &response) |
bool | HandleStartTrajectory (cartographer_ros_msgs::StartTrajectory::Request &request, cartographer_ros_msgs::StartTrajectory::Response &response) |
bool | HandleSubmapQuery (cartographer_ros_msgs::SubmapQuery::Request &request, cartographer_ros_msgs::SubmapQuery::Response &response) |
bool | HandleTrajectoryQuery (::cartographer_ros_msgs::TrajectoryQuery::Request &request,::cartographer_ros_msgs::TrajectoryQuery::Response &response) |
bool | HandleWriteState (cartographer_ros_msgs::WriteState::Request &request, cartographer_ros_msgs::WriteState::Response &response) |
void | LaunchSubscribers (const TrajectoryOptions &options, int trajectory_id) |
void | MaybeWarnAboutTopicMismatch (const ::ros::WallTimerEvent &) |
void | PublishConstraintList (const ::ros::WallTimerEvent &timer_event) |
void | PublishLandmarkPosesList (const ::ros::WallTimerEvent &timer_event) |
void | PublishLocalTrajectoryData (const ::ros::TimerEvent &timer_event) |
void | PublishSubmapList (const ::ros::WallTimerEvent &timer_event) |
void | PublishTrajectoryNodeList (const ::ros::WallTimerEvent &timer_event) |
cartographer_ros_msgs::StatusResponse | TrajectoryStateToStatus (int trajectory_id, const std::set< cartographer::mapping::PoseGraphInterface::TrajectoryState > &valid_states) |
bool | ValidateTopicNames (const TrajectoryOptions &options) |
bool | ValidateTrajectoryOptions (const TrajectoryOptions &options) |
Private Attributes | |
::ros::Publisher | constraint_list_publisher_ |
std::map< int,::cartographer::mapping::PoseExtrapolator > | extrapolators_ |
::ros::Publisher | landmark_poses_list_publisher_ |
std::unique_ptr < cartographer_ros::metrics::FamilyFactory > | metrics_registry_ |
absl::Mutex | mutex_ |
::ros::NodeHandle | node_handle_ |
const NodeOptions | node_options_ |
::ros::Timer | publish_local_trajectory_data_timer_ |
::ros::Publisher | scan_matched_point_cloud_publisher_ |
std::unordered_map< int, TrajectorySensorSamplers > | sensor_samplers_ |
std::vector<::ros::ServiceServer > | service_servers_ |
::ros::Publisher | submap_list_publisher_ |
std::unordered_set< std::string > | subscribed_topics_ |
std::unordered_map< int, std::vector< Subscriber > > | subscribers_ |
tf2_ros::TransformBroadcaster | tf_broadcaster_ |
std::unordered_set< int > | trajectories_scheduled_for_finish_ |
::ros::Publisher | trajectory_node_list_publisher_ |
std::vector<::ros::WallTimer > | wall_timers_ |
cartographer_ros::Node::Node | ( | const NodeOptions & | node_options, |
std::unique_ptr< cartographer::mapping::MapBuilderInterface > | map_builder, | ||
tf2_ros::Buffer * | tf_buffer, | ||
bool | collect_metrics | ||
) |
cartographer_ros::Node::Node | ( | const Node & | ) |
void cartographer_ros::Node::AddExtrapolator | ( | int | trajectory_id, |
const TrajectoryOptions & | options | ||
) | [private] |
int cartographer_ros::Node::AddOfflineTrajectory | ( | const std::set< cartographer::mapping::TrajectoryBuilderInterface::SensorId > & | expected_sensor_ids, |
const TrajectoryOptions & | options | ||
) |
void cartographer_ros::Node::AddSensorSamplers | ( | int | trajectory_id, |
const TrajectoryOptions & | options | ||
) | [private] |
int cartographer_ros::Node::AddTrajectory | ( | const TrajectoryOptions & | options | ) | [private] |
std::vector< std::set< cartographer::mapping::TrajectoryBuilderInterface::SensorId > > cartographer_ros::Node::ComputeDefaultSensorIdsForMultipleBags | ( | const std::vector< TrajectoryOptions > & | bags_options | ) | const |
std::set< cartographer::mapping::TrajectoryBuilderInterface::SensorId > cartographer_ros::Node::ComputeExpectedSensorIds | ( | const TrajectoryOptions & | options | ) | const [private] |
bool cartographer_ros::Node::FinishTrajectory | ( | int | trajectory_id | ) |
cartographer_ros_msgs::StatusResponse cartographer_ros::Node::FinishTrajectoryUnderLock | ( | int | trajectory_id | ) | [private] |
MapBuilderBridge map_builder_bridge_ cartographer_ros::Node::GUARDED_BY | ( | mutex_ | ) | [private] |
bool cartographer_ros::Node::HandleFinishTrajectory | ( | cartographer_ros_msgs::FinishTrajectory::Request & | request, |
cartographer_ros_msgs::FinishTrajectory::Response & | response | ||
) | [private] |
bool cartographer_ros::Node::HandleGetTrajectoryStates | ( | ::cartographer_ros_msgs::GetTrajectoryStates::Request & | request, |
::cartographer_ros_msgs::GetTrajectoryStates::Response & | response | ||
) | [private] |
void cartographer_ros::Node::HandleImuMessage | ( | int | trajectory_id, |
const std::string & | sensor_id, | ||
const sensor_msgs::Imu::ConstPtr & | msg | ||
) |
void cartographer_ros::Node::HandleLandmarkMessage | ( | int | trajectory_id, |
const std::string & | sensor_id, | ||
const cartographer_ros_msgs::LandmarkList::ConstPtr & | msg | ||
) |
void cartographer_ros::Node::HandleLaserScanMessage | ( | int | trajectory_id, |
const std::string & | sensor_id, | ||
const sensor_msgs::LaserScan::ConstPtr & | msg | ||
) |
void cartographer_ros::Node::HandleMultiEchoLaserScanMessage | ( | int | trajectory_id, |
const std::string & | sensor_id, | ||
const sensor_msgs::MultiEchoLaserScan::ConstPtr & | msg | ||
) |
void cartographer_ros::Node::HandleNavSatFixMessage | ( | int | trajectory_id, |
const std::string & | sensor_id, | ||
const sensor_msgs::NavSatFix::ConstPtr & | msg | ||
) |
void cartographer_ros::Node::HandleOdometryMessage | ( | int | trajectory_id, |
const std::string & | sensor_id, | ||
const nav_msgs::Odometry::ConstPtr & | msg | ||
) |
void cartographer_ros::Node::HandlePointCloud2Message | ( | int | trajectory_id, |
const std::string & | sensor_id, | ||
const sensor_msgs::PointCloud2::ConstPtr & | msg | ||
) |
bool cartographer_ros::Node::HandleReadMetrics | ( | cartographer_ros_msgs::ReadMetrics::Request & | request, |
cartographer_ros_msgs::ReadMetrics::Response & | response | ||
) | [private] |
bool cartographer_ros::Node::HandleStartTrajectory | ( | cartographer_ros_msgs::StartTrajectory::Request & | request, |
cartographer_ros_msgs::StartTrajectory::Response & | response | ||
) | [private] |
bool cartographer_ros::Node::HandleSubmapQuery | ( | cartographer_ros_msgs::SubmapQuery::Request & | request, |
cartographer_ros_msgs::SubmapQuery::Response & | response | ||
) | [private] |
bool cartographer_ros::Node::HandleTrajectoryQuery | ( | ::cartographer_ros_msgs::TrajectoryQuery::Request & | request, |
::cartographer_ros_msgs::TrajectoryQuery::Response & | response | ||
) | [private] |
bool cartographer_ros::Node::HandleWriteState | ( | cartographer_ros_msgs::WriteState::Request & | request, |
cartographer_ros_msgs::WriteState::Response & | response | ||
) | [private] |
void cartographer_ros::Node::LaunchSubscribers | ( | const TrajectoryOptions & | options, |
int | trajectory_id | ||
) | [private] |
void cartographer_ros::Node::LoadState | ( | const std::string & | state_filename, |
bool | load_frozen_state | ||
) |
void cartographer_ros::Node::MaybeWarnAboutTopicMismatch | ( | const ::ros::WallTimerEvent & | unused_timer_event | ) | [private] |
void cartographer_ros::Node::PublishConstraintList | ( | const ::ros::WallTimerEvent & | timer_event | ) | [private] |
void cartographer_ros::Node::PublishLandmarkPosesList | ( | const ::ros::WallTimerEvent & | timer_event | ) | [private] |
void cartographer_ros::Node::PublishLocalTrajectoryData | ( | const ::ros::TimerEvent & | timer_event | ) | [private] |
void cartographer_ros::Node::PublishSubmapList | ( | const ::ros::WallTimerEvent & | timer_event | ) | [private] |
void cartographer_ros::Node::PublishTrajectoryNodeList | ( | const ::ros::WallTimerEvent & | timer_event | ) | [private] |
void cartographer_ros::Node::SerializeState | ( | const std::string & | filename, |
const bool | include_unfinished_submaps | ||
) |
void cartographer_ros::Node::StartTrajectoryWithDefaultTopics | ( | const TrajectoryOptions & | options | ) |
cartographer_ros_msgs::StatusResponse cartographer_ros::Node::TrajectoryStateToStatus | ( | int | trajectory_id, |
const std::set< cartographer::mapping::PoseGraphInterface::TrajectoryState > & | valid_states | ||
) | [private] |
bool cartographer_ros::Node::ValidateTopicNames | ( | const TrajectoryOptions & | options | ) | [private] |
bool cartographer_ros::Node::ValidateTrajectoryOptions | ( | const TrajectoryOptions & | options | ) | [private] |
std::map<int, ::cartographer::mapping::PoseExtrapolator> cartographer_ros::Node::extrapolators_ [private] |
std::unique_ptr<cartographer_ros::metrics::FamilyFactory> cartographer_ros::Node::metrics_registry_ [private] |
absl::Mutex cartographer_ros::Node::mutex_ [private] |
::ros::NodeHandle cartographer_ros::Node::node_handle_ [private] |
const NodeOptions cartographer_ros::Node::node_options_ [private] |
std::unordered_map<int, TrajectorySensorSamplers> cartographer_ros::Node::sensor_samplers_ [private] |
std::vector<::ros::ServiceServer> cartographer_ros::Node::service_servers_ [private] |
std::unordered_set<std::string> cartographer_ros::Node::subscribed_topics_ [private] |
std::unordered_map<int, std::vector<Subscriber> > cartographer_ros::Node::subscribers_ [private] |
std::unordered_set<int> cartographer_ros::Node::trajectories_scheduled_for_finish_ [private] |
std::vector<::ros::WallTimer> cartographer_ros::Node::wall_timers_ [private] |