Skip to content

Commit 799466f

Browse files
committed
timer optimizations
1 parent 60f8ebf commit 799466f

File tree

1 file changed

+35
-41
lines changed

1 file changed

+35
-41
lines changed

planning/auto_parking/src/auto_parking/auto_parking_node.cpp

+35-41
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ bool AutoParkingNode::findParkingSpace()
325325
RCLCPP_INFO(get_logger(), "Auto-parking: Found free parking space!");
326326
return true;
327327
}
328+
328329
continue;
329330
}
330331
}
@@ -370,17 +371,13 @@ void AutoParkingNode::onTimer()
370371
return;
371372
}
372373

373-
// Check all inputs are ready
374-
if (!odom_ || !lanelet_map_ptr_ || !routing_graph_ptr_ ||
375-
!engage_sub_ || !client_engage_) {
376-
active_ = false;
377-
return;
378-
}
379-
380374
current_pose_.pose = odom_->pose.pose;
381375
current_pose_.header = odom_->header;
382376

383-
if (current_pose_.header.frame_id == "") {
377+
// Check all inputs are ready
378+
if (!odom_ || !lanelet_map_ptr_ || !routing_graph_ptr_ ||
379+
!engage_sub_ || !client_engage_ ||
380+
current_pose_.header.frame_id == "") {
384381
active_ = false;
385382
return;
386383
}
@@ -408,40 +405,37 @@ void AutoParkingNode::onTimer()
408405
return;
409406
}
410407

411-
// Search parking spaces if inside parking lot
412-
if(!set_parking_space_goal_ &&
413-
isInParkingLot() &&
414-
occupancy_grid_)
415-
{
416-
RCLCPP_INFO(get_logger(), "Auto-parking: Searching...");
417-
if(findParkingSpace()){
418-
goalPublisher(current_goal_);
419-
RCLCPP_INFO(get_logger(), "Auto-parking: Publishing parking space goal");
420-
set_parking_space_goal_ = true;
421-
}
422-
}
423-
424-
// Check if astar goal is still valid
425-
// else replan
426-
if(set_parking_space_goal_ &&
427-
isInParkingLot() &&
428-
occupancy_grid_)
408+
if(isInParkingLot() && occupancy_grid_)
429409
{
430-
// Set occupancy map and current pose
431-
algo_->setMap(*occupancy_grid_);
432-
const auto current_pose_in_costmap_frame = transformPose(
433-
current_pose_.pose,
434-
getTransform(occupancy_grid_->header.frame_id, current_pose_.header.frame_id));
435-
const auto goal_pose_in_costmap_frame = transformPose(
436-
current_goal_.pose,
437-
getTransform(occupancy_grid_->header.frame_id, current_goal_.header.frame_id));
438-
bool result = algo_->makePlan(current_pose_in_costmap_frame, goal_pose_in_costmap_frame);
439-
if(!result) {
440-
set_parking_space_goal_ = false;
441-
current_goal_.pose = parking_goal_;
442-
goalPublisher(current_goal_);
443-
set_parking_lot_goal_ = true;
444-
return;
410+
// Search parking spaces if inside parking lot
411+
if(!set_parking_space_goal_)
412+
{
413+
RCLCPP_INFO_THROTTLE(get_logger(), *this->get_clock(), 2000, "Auto-parking: Searching...");
414+
if(findParkingSpace()){
415+
goalPublisher(current_goal_);
416+
RCLCPP_INFO(get_logger(), "Auto-parking: Publishing parking space goal");
417+
set_parking_space_goal_ = true;
418+
}
419+
}
420+
// if parking space goal set
421+
// check if astar goal is still valid, else replan
422+
else
423+
{
424+
// Set occupancy map and current pose
425+
algo_->setMap(*occupancy_grid_);
426+
const auto current_pose_in_costmap_frame = transformPose(
427+
current_pose_.pose,
428+
getTransform(occupancy_grid_->header.frame_id, current_pose_.header.frame_id));
429+
const auto goal_pose_in_costmap_frame = transformPose(
430+
current_goal_.pose,
431+
getTransform(occupancy_grid_->header.frame_id, current_goal_.header.frame_id));
432+
bool result = algo_->makePlan(current_pose_in_costmap_frame, goal_pose_in_costmap_frame);
433+
if(!result) {
434+
set_parking_space_goal_ = false;
435+
current_goal_.pose = parking_goal_;
436+
goalPublisher(current_goal_);
437+
return;
438+
}
445439
}
446440
}
447441

0 commit comments

Comments
 (0)