Skip to content

Commit 43925a4

Browse files
nakai-omermdrwiega
authored andcommitted
Additional ROS2 humble changes
1 parent 4126103 commit 43925a4

File tree

5 files changed

+33
-22
lines changed

5 files changed

+33
-22
lines changed

Diff for: nav_layer_from_points/CMakeLists.txt

+12-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ find_package(nav2_costmap_2d REQUIRED)
1212

1313
ament_auto_find_build_dependencies()
1414

15+
set(dep_pkgs
16+
rclcpp
17+
tf2_ros
18+
geometry_msgs
19+
nav2_costmap_2d
20+
)
21+
1522
### Build
1623
ament_auto_add_library(${PROJECT_NAME} SHARED
1724
src/costmap_layer.cpp
@@ -24,9 +31,13 @@ target_include_directories(${PROJECT_NAME}
2431
)
2532

2633
# Export package
27-
ament_export_dependencies(${PROJECT_NAME} PUBLIC tf2_ros geometry_msgs nav2_costmap_2d)
34+
ament_export_dependencies(${dep_pkgs})
35+
# Export package nav2_costmap_2d
36+
pluginlib_export_plugin_description_file(nav2_costmap_2d costmap_plugins.xml)
37+
2838

2939
### Install
40+
3041
ament_auto_package(INSTALL_TO_SHARE
3142
config
3243
)

Diff for: nav_layer_from_points/costmap_plugins.xml

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
<class_libraries>
2-
<library path="libcostmap_layers">
3-
<class type="nav_layer_from_points::NavLayerFromPoints" base_class_type="nav2_costmap_2d::Layer">
4-
<description>Represensts obstacles based on points list.</description>
5-
</class>
6-
</library>
7-
</class_libraries>
1+
<library path="nav_layer_from_points">
2+
<class type="nav_layer_from_points::NavLayerFromPoints" base_class_type="nav2_costmap_2d::Layer">
3+
<description>Represensts obstacles based on points list.</description>
4+
</class>
5+
</library>

Diff for: nav_layer_from_points/include/nav_layer_from_points/costmap_layer.h

+3-4
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525

2626
#include <pluginlib/class_list_macros.hpp>
2727

28-
#include <geometry_msgs/msg/polygon_stamped.hpp>
29-
#include <geometry_msgs/msg/point_stamped.hpp>
28+
#include "geometry_msgs/msg/polygon_stamped.hpp"
29+
#include "geometry_msgs/msg/point_stamped.hpp"
3030

3131
#include <tf2_ros/buffer.h>
3232

@@ -70,8 +70,6 @@ class NavLayerFromPoints : public nav2_costmap_2d::CostmapLayer
7070

7171
geometry_msgs::msg::PolygonStamped points_list_; ///< List of received points
7272

73-
tf2_ros::Buffer tf_buffer_;
74-
7573
std::list<geometry_msgs::msg::PointStamped> transformed_points_;
7674

7775
// After this time points will be delete
@@ -80,6 +78,7 @@ class NavLayerFromPoints : public nav2_costmap_2d::CostmapLayer
8078
std::recursive_mutex lock_;
8179
bool first_time_;
8280
double last_min_x_, last_min_y_, last_max_x_, last_max_y_;
81+
std::string topic_;
8382

8483
private:
8584
double point_radius_;

Diff for: nav_layer_from_points/package.xml

+4-3
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818
<test_depend>ament_lint_common</test_depend>
1919
<test_depend>ament_lint_auto</test_depend>
2020

21-
<export>
22-
<build_type>ament_cmake</build_type>
23-
</export>
21+
<export>
22+
<costmap_2d plugin="${prefix}/costmap_plugins.xml" />
23+
<build_type>ament_cmake</build_type>
24+
</export>
2425
</package>
2526

2627

Diff for: nav_layer_from_points/src/costmap_layer.cpp

+9-7
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ namespace nav_layer_from_points
2222
{
2323

2424
NavLayerFromPoints::NavLayerFromPoints()
25-
: tf_buffer_(clock_)
2625
{
2726
layered_costmap_ = nullptr;
2827
}
@@ -37,13 +36,16 @@ void NavLayerFromPoints::onInitialize()
3736
throw std::runtime_error{"Failed to lock node"};
3837
}
3938

40-
node->declare_parameter(name_ + "." + "enabled", true);
41-
node->declare_parameter(name_ + "." + "keep_time", 0.75);
42-
node->declare_parameter(name_ + "." + "point_radius", 0.2);
43-
node->declare_parameter(name_ + "." + "robot_radius", 0.6);
39+
node->declare_parameter(getFullName("keep_time"), 0.75);
40+
enabled_ = node->declare_parameter(getFullName("enabled"), true);
41+
point_radius_ = node->declare_parameter(getFullName("point_radius"), 0.2);
42+
robot_radius_ = node->declare_parameter(getFullName("robot_radius"), 0.6);
43+
topic_ = node->declare_parameter(getFullName("topic"), "points");
44+
45+
points_keep_time_ = rclcpp::Duration::from_seconds(node->get_parameter(getFullName("keep_time")).as_double());
4446

4547
sub_points_ = node->create_subscription<geometry_msgs::msg::PolygonStamped>(
46-
"points", 1, std::bind(&NavLayerFromPoints::pointsCallback, this, std::placeholders::_1));
48+
topic_, 1, std::bind(&NavLayerFromPoints::pointsCallback, this, std::placeholders::_1));
4749
}
4850

4951
void NavLayerFromPoints::pointsCallback(
@@ -96,7 +98,7 @@ void NavLayerFromPoints::updateBounds(
9698
pt.point.z = tpt.point.z;
9799
pt.header.frame_id = points_list_.header.frame_id;
98100

99-
tf_buffer_.transform(pt, out_pt, global_frame);
101+
tf_->transform(pt, out_pt, global_frame);
100102
tpt.point.x = out_pt.point.x;
101103
tpt.point.y = out_pt.point.y;
102104
tpt.point.z = out_pt.point.z;

0 commit comments

Comments
 (0)