00001 /* 00002 * Copyright 2016 The Cartographer Authors 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 #ifndef CARTOGRAPHER_ROS_CARTOGRAPHER_ROS_NODE_CONSTANTS_H 00018 #define CARTOGRAPHER_ROS_CARTOGRAPHER_ROS_NODE_CONSTANTS_H 00019 00020 #include <string> 00021 #include <vector> 00022 00023 namespace cartographer_ros { 00024 00025 // Default topic names; expected to be remapped as needed. 00026 constexpr char kLaserScanTopic[] = "scan"; 00027 constexpr char kMultiEchoLaserScanTopic[] = "echoes"; 00028 constexpr char kPointCloud2Topic[] = "points2"; 00029 constexpr char kImuTopic[] = "imu"; 00030 constexpr char kOdometryTopic[] = "odom"; 00031 constexpr char kNavSatFixTopic[] = "fix"; 00032 constexpr char kLandmarkTopic[] = "landmark"; 00033 constexpr char kFinishTrajectoryServiceName[] = "finish_trajectory"; 00034 constexpr char kOccupancyGridTopic[] = "map"; 00035 constexpr char kScanMatchedPointCloudTopic[] = "scan_matched_points2"; 00036 constexpr char kSubmapListTopic[] = "submap_list"; 00037 constexpr char kSubmapQueryServiceName[] = "submap_query"; 00038 constexpr char kTrajectoryQueryServiceName[] = "trajectory_query"; 00039 constexpr char kStartTrajectoryServiceName[] = "start_trajectory"; 00040 constexpr char kWriteStateServiceName[] = "write_state"; 00041 constexpr char kGetTrajectoryStatesServiceName[] = "get_trajectory_states"; 00042 constexpr char kReadMetricsServiceName[] = "read_metrics"; 00043 constexpr char kTrajectoryNodeListTopic[] = "trajectory_node_list"; 00044 constexpr char kLandmarkPosesListTopic[] = "landmark_poses_list"; 00045 constexpr char kConstraintListTopic[] = "constraint_list"; 00046 constexpr double kConstraintPublishPeriodSec = 0.5; 00047 constexpr double kTopicMismatchCheckDelaySec = 3.0; 00048 00049 constexpr int kInfiniteSubscriberQueueSize = 0; 00050 constexpr int kLatestOnlyPublisherQueueSize = 1; 00051 00052 // For multiple topics adds numbers to the topic name and returns the list. 00053 std::vector<std::string> ComputeRepeatedTopicNames(const std::string& topic, 00054 int num_topics); 00055 00056 } // namespace cartographer_ros 00057 00058 #endif // CARTOGRAPHER_ROS_CARTOGRAPHER_ROS_NODE_CONSTANTS_H