Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion nav2_amcl/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
Comment thread
SteveMacenski marked this conversation as resolved.
project(nav2_amcl)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_behavior_tree/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_behavior_tree CXX)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_behavior_tree/plugins/action/follow_path_action.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ void FollowPathAction::on_wait_for_result(
getInput("path", new_path);

// Check if it is not same with the current one
if (goal_.path != new_path && new_path != nav_msgs::msg::Path()) {
if (goal_.path != new_path && !new_path.poses.empty()) {
Comment thread
SteveMacenski marked this conversation as resolved.

@SteveMacenski SteveMacenski Jun 30, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are actually not the same thing since there is a possibility to have an empty, but "populated" path with no poses. Checking the constructor is to check if there was never a new path in the first place, not simply that its empty.

I know this was to fix a compilation issue, but perhaps we could just change this to:

nav_msgs::msg::Path initialized_path;
if (goal_.path != new_path && new_path != initialized_path) {

I however, don't actually feel that strongly about it. Its just a potential subtle bug that could happen in some situations I'm trying to avoid.

// the action server on the next loop iteration
goal_.path = new_path;
goal_updated_ = true;
Expand Down
2 changes: 1 addition & 1 deletion nav2_behaviors/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_behaviors)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_bringup/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_bringup)

find_package(ament_cmake REQUIRED)
Expand Down
9 changes: 7 additions & 2 deletions nav2_bringup/launch/bringup_launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,9 +169,14 @@ def generate_launch_description() -> LaunchDescription:
name=container_name,
namespace=namespace,
package='rclcpp_components',
executable='component_container_isolated',
executable='component_container',
parameters=[configured_params, {'autostart': autostart}],
arguments=['--ros-args', '--log-level', log_level],
# event executor + isolated + thread num = 1
arguments=['--isolated', '--executor-type', 'events-cbg',
'--ros-args', '--log-level', log_level, '-p', 'thread_num:=1'],
# single threaded + isolated
# arguments=['--isolated', '--executor-type', 'single-threaded',
# '--ros-args', '--log-level', log_level],
Comment on lines +174 to +179

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obviously some of this commentary would need to be removed (temporarily) until we actually do migrate to the events executor in another PR?

remappings=remappings,
output='screen',
),
Expand Down
2 changes: 1 addition & 1 deletion nav2_bt_navigator/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_bt_navigator)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_collision_monitor/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_collision_monitor)

find_package(ament_cmake REQUIRED)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ class Circle : public Polygon
* @brief Updates polygon from radius value
* @param radius New circle radius to update polygon
*/
void updatePolygon(double radius);
void updatePolygonFromRadius(double radius);
Comment thread
SteveMacenski marked this conversation as resolved.

/**
* @brief Dynamic circle radius callback
Expand Down
4 changes: 2 additions & 2 deletions nav2_collision_monitor/src/circle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ void Circle::createSubscription(std::string & polygon_sub_topic)
}
}

void Circle::updatePolygon(double radius)
void Circle::updatePolygonFromRadius(double radius)
{
// Update circle radius
radius_ = radius;
Expand All @@ -190,7 +190,7 @@ void Circle::radiusCallback(std_msgs::msg::Float32::ConstSharedPtr msg)
logger_,
"[%s]: Polygon circle radius update has been arrived",
polygon_name_.c_str());
updatePolygon(msg->data);
updatePolygonFromRadius(msg->data);
}

} // namespace nav2_collision_monitor
2 changes: 1 addition & 1 deletion nav2_collision_monitor/src/polygon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ std::vector<std::string> Polygon::getSourcesNames() const

void Polygon::getPolygon(std::vector<Point> & poly) const
{
poly = poly_;
poly.assign(poly_.begin(), poly_.end());
Comment thread
SteveMacenski marked this conversation as resolved.

@SteveMacenski SteveMacenski Jun 30, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why? This seems immensely silly if we cannot copy a vector

}

bool Polygon::isShapeSet()
Expand Down
2 changes: 1 addition & 1 deletion nav2_common/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)

project(nav2_common NONE)

Expand Down
2 changes: 1 addition & 1 deletion nav2_constrained_smoother/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_constrained_smoother)

set(CMAKE_BUILD_TYPE Release) # significant Ceres optimization speedup
Expand Down
2 changes: 1 addition & 1 deletion nav2_controller/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_controller)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_core/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_core)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_costmap_2d/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_costmap_2d)

find_package(ament_cmake REQUIRED)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#ifndef NAV2_COSTMAP_2D__FOOTPRINT_SUBSCRIBER_HPP_
#define NAV2_COSTMAP_2D__FOOTPRINT_SUBSCRIBER_HPP_

#include <atomic>
#include <string>
#include <vector>

Expand Down Expand Up @@ -90,8 +91,8 @@ class FootprintSubscriber
tf2_ros::Buffer & tf_;
std::string robot_base_frame_;
double transform_tolerance_;
bool footprint_received_{false};
Comment thread
SteveMacenski marked this conversation as resolved.
geometry_msgs::msg::PolygonStamped::ConstSharedPtr footprint_;
std::atomic_bool footprint_received_{false};
std::atomic<geometry_msgs::msg::PolygonStamped::ConstSharedPtr> footprint_;
nav2::Subscription<geometry_msgs::msg::PolygonStamped>::SharedPtr footprint_sub_;
};

Expand Down
4 changes: 2 additions & 2 deletions nav2_costmap_2d/include/nav2_costmap_2d/layered_costmap.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ class LayeredCostmap
/** @brief Returns the latest footprint stored with setFootprint(). */
const std::vector<geometry_msgs::msg::Point> & getFootprint()
{
return *std::atomic_load(&footprint_);
return *footprint_.load();
}

/** @brief The radius of a circle centered at the origin of the
Expand Down Expand Up @@ -231,7 +231,7 @@ class LayeredCostmap
bool initialized_;
bool size_locked_;
std::atomic<double> circumscribed_radius_, inscribed_radius_;
std::shared_ptr<std::vector<geometry_msgs::msg::Point>> footprint_;
std::atomic<std::shared_ptr<std::vector<geometry_msgs::msg::Point>>> footprint_;
};

} // namespace nav2_costmap_2d
Expand Down
2 changes: 1 addition & 1 deletion nav2_costmap_2d/plugins/obstacle_layer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ ObstacleLayer::~ObstacleLayer()

void ObstacleLayer::onInitialize()
{
bool track_unknown_space;
bool track_unknown_space = false;
double transform_tolerance = 0.1;

// The topics that we'll subscribe to from the parameter server
Expand Down
17 changes: 9 additions & 8 deletions nav2_costmap_2d/src/footprint_subscriber.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,7 @@
#include <memory>

#include "nav2_costmap_2d/footprint_subscriber.hpp"
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic"
#include "tf2/utils.hpp"
#pragma GCC diagnostic pop

namespace nav2_costmap_2d
{
Expand All @@ -30,11 +27,15 @@ FootprintSubscriber::getFootprintRaw(
std::vector<geometry_msgs::msg::Point> & footprint,
std_msgs::msg::Header & footprint_header)
{
if (!footprint_received_) {
if (!footprint_received_.load()) {
return false;
}

auto current_footprint = footprint_.load();
if (!current_footprint) {
return false;
}

auto current_footprint = std::atomic_load(&footprint_);
footprint = toPointVector(current_footprint->polygon);
footprint_header = current_footprint->header;

Expand Down Expand Up @@ -76,9 +77,9 @@ void
FootprintSubscriber::footprint_callback(
const geometry_msgs::msg::PolygonStamped::ConstSharedPtr & msg)
{
std::atomic_store(&footprint_, msg);
if (!footprint_received_) {
footprint_received_ = true;
footprint_.store(msg);
if (!footprint_received_.load()) {
footprint_received_.store(true);
}
}

Expand Down
3 changes: 1 addition & 2 deletions nav2_costmap_2d/src/layered_costmap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -301,8 +301,7 @@ void LayeredCostmap::setFootprint(const std::vector<geometry_msgs::msg::Point> &
footprint_spec);
// use atomic store here since footprint is used by various planners/controllers
// and not otherwise locked
std::atomic_store(
&footprint_,
footprint_.store(
std::make_shared<std::vector<geometry_msgs::msg::Point>>(footprint_spec));
inscribed_radius_.store(std::get<0>(inside_outside));
circumscribed_radius_.store(std::get<1>(inside_outside));
Expand Down
2 changes: 1 addition & 1 deletion nav2_docking/opennav_docking/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(opennav_docking)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_docking/opennav_docking_bt/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(opennav_docking_bt)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_docking/opennav_docking_core/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(opennav_docking_core)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_dwb_controller/costmap_queue/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(costmap_queue)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_dwb_controller/dwb_core/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(dwb_core)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_dwb_controller/dwb_critics/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(dwb_critics)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_dwb_controller/dwb_msgs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(dwb_msgs)

find_package(backward_ros REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_dwb_controller/dwb_plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(dwb_plugins)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_dwb_controller/nav2_dwb_controller/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_dwb_controller)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_dwb_controller/nav_2d_msgs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav_2d_msgs)

find_package(backward_ros REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_dwb_controller/nav_2d_utils/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav_2d_utils)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_following/opennav_following/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.20)
project(opennav_following)

find_package(ament_cmake REQUIRED)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class FollowingServerShim : public FollowingServer
return FollowingServer::getTrackingPose(pose, frame_id);
}

virtual bool rotateToObject(geometry_msgs::msg::PoseStamped &)
virtual bool rotateToObject(geometry_msgs::msg::PoseStamped &, const std::string &)
Comment thread
SteveMacenski marked this conversation as resolved.
{
return true;
}
Expand Down
2 changes: 1 addition & 1 deletion nav2_graceful_controller/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_graceful_controller)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_lifecycle_manager/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_lifecycle_manager)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_loopback_sim/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_loopback_sim)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_map_server/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_map_server)

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake_modules)
Expand Down
2 changes: 1 addition & 1 deletion nav2_mppi_controller/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_mppi_controller)

find_package(ament_cmake REQUIRED)
Expand Down
13 changes: 9 additions & 4 deletions nav2_mppi_controller/test/parameter_handler_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,15 @@ TEST(ParameterHandlerTest, asTypeConversionTest)
EXPECT_EQ(a.asWrapped<bool>(bool_p), false);
EXPECT_EQ(a.asWrapped<std::string>(string_p), std::string("hello"));

EXPECT_EQ(a.asWrapped<std::vector<int64_t>>(intv_p)[0], 1);
Comment thread
SteveMacenski marked this conversation as resolved.
EXPECT_EQ(a.asWrapped<std::vector<double>>(doublev_p)[0], 10.0);
EXPECT_EQ(a.asWrapped<std::vector<bool>>(boolv_p)[0], false);
EXPECT_EQ(a.asWrapped<std::vector<std::string>>(stringv_p)[0], std::string("hello"));
const auto intv = a.asWrapped<std::vector<int64_t>>(intv_p);
const auto doublev = a.asWrapped<std::vector<double>>(doublev_p);
const auto boolv = a.asWrapped<std::vector<bool>>(boolv_p);
const auto stringv = a.asWrapped<std::vector<std::string>>(stringv_p);

EXPECT_EQ(intv[0], 1L);
EXPECT_DOUBLE_EQ(doublev[0], 10.0);
EXPECT_EQ(boolv[0], false);
EXPECT_EQ(stringv[0], std::string("hello"));
}

TEST(ParameterHandlerTest, PrePostDynamicCallbackTest)
Expand Down
2 changes: 1 addition & 1 deletion nav2_msgs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_msgs)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_navfn_planner/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_navfn_planner)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_planner/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_planner)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_regulated_pure_pursuit_controller/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_regulated_pure_pursuit_controller)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_ros_common/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_ros_common)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_rotation_shim_controller/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_rotation_shim_controller)

find_package(ament_cmake REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion nav2_route/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.20)
project(nav2_route CXX)

find_package(ament_cmake REQUIRED)
Expand Down
Loading
Loading