Constructor
| 110 | |
| 111 | // Constructor |
| 112 | FissPlannerNode::FissPlannerNode() : tf_listener(tf_buffer) |
| 113 | { |
| 114 | // topics |
| 115 | std::string odom_topic; |
| 116 | std::string lane_info_topic; |
| 117 | std::string obstacles_topic; |
| 118 | |
| 119 | std::string ref_path_topic; |
| 120 | std::string curr_traj_topic; |
| 121 | std::string next_traj_topic; |
| 122 | std::string sample_space_topic; |
| 123 | std::string final_traj_topic; |
| 124 | std::string candidate_trajs_topic; |
| 125 | std::string vehicle_cmd_topic; |
| 126 | |
| 127 | ros::NodeHandle private_nh("~"); |
| 128 | f = boost::bind(&dynamicParamCallback, _1, _2); |
| 129 | server.setCallback(f); |
| 130 | |
| 131 | // Hyperparameters from launch file |
| 132 | ROS_ASSERT(private_nh.getParam("odom_topic", odom_topic)); |
| 133 | ROS_ASSERT(private_nh.getParam("lane_info_topic", lane_info_topic)); |
| 134 | ROS_ASSERT(private_nh.getParam("obstacles_topic", obstacles_topic)); |
| 135 | ROS_ASSERT(private_nh.getParam("ref_path_topic", ref_path_topic)); |
| 136 | ROS_ASSERT(private_nh.getParam("curr_traj_topic", curr_traj_topic)); |
| 137 | ROS_ASSERT(private_nh.getParam("next_traj_topic", next_traj_topic)); |
| 138 | ROS_ASSERT(private_nh.getParam("sample_space_topic", sample_space_topic)); |
| 139 | ROS_ASSERT(private_nh.getParam("final_traj_topic", final_traj_topic)); |
| 140 | ROS_ASSERT(private_nh.getParam("candidate_trajs_topic", candidate_trajs_topic)); |
| 141 | ROS_ASSERT(private_nh.getParam("vehicle_cmd_topic", vehicle_cmd_topic)); |
| 142 | |
| 143 | // Instantiate FissPlanner |
| 144 | frenet_planner_ = FissPlanner(SETTINGS); |
| 145 | |
| 146 | // Subscribe & Advertise |
| 147 | odom_sub = nh.subscribe(odom_topic, 1, &FissPlannerNode::odomCallback, this); |
| 148 | lane_info_sub = nh.subscribe(lane_info_topic, 1, &FissPlannerNode::laneInfoCallback, this); |
| 149 | obstacles_sub = nh.subscribe(obstacles_topic, 1, &FissPlannerNode::obstaclesCallback, this); |
| 150 | |
| 151 | ref_path_pub = nh.advertise<nav_msgs::Path>(ref_path_topic, 1); |
| 152 | curr_traj_pub = nh.advertise<nav_msgs::Path>(curr_traj_topic, 1); |
| 153 | next_traj_pub = nh.advertise<nav_msgs::Path>(next_traj_topic, 1); |
| 154 | |
| 155 | sample_space_pub = nh.advertise<visualization_msgs::Marker>(sample_space_topic, 1); |
| 156 | final_traj_pub = nh.advertise<visualization_msgs::Marker>(final_traj_topic, 1); |
| 157 | candidate_paths_pub = nh.advertise<visualization_msgs::MarkerArray>(candidate_trajs_topic, 1); |
| 158 | |
| 159 | vehicle_cmd_pub = nh.advertise<autoware_msgs::VehicleCmd>(vehicle_cmd_topic, 1); |
| 160 | obstacles_pub = nh.advertise<autoware_msgs::DetectedObjectArray>("fiss_planner/objects", 1); |
| 161 | |
| 162 | run_time_pub = nh.advertise<std_msgs::Float32>("fiss_planner/run_time", 1); |
| 163 | freqency_pub = nh.advertise<std_msgs::Float32>("fiss_planner/freqency", 1); |
| 164 | iteration_pub = nh.advertise<std_msgs::Float32>("fiss_planner/iteration", 1); |
| 165 | cost_pub = nh.advertise<std_msgs::Float32>("fiss_planner/cost", 1); |
| 166 | |
| 167 | // Initializing states |
| 168 | regenerate_flag_ = false; |
| 169 | target_lane_id_ = LaneID::CURR_LANE; |
nothing calls this directly
no test coverage detected