Skip to content

Commit 48d3ec7

Browse files
committed
WIP Port terrain_planner_benchmarks
WIP
1 parent e368ef4 commit 48d3ec7

File tree

5 files changed

+46
-31
lines changed

5 files changed

+46
-31
lines changed

terrain_planner_benchmark/CMakeLists.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,19 @@ find_package(grid_map_geo REQUIRED)
2929
find_package(terrain_navigation REQUIRED)
3030
find_package(Boost REQUIRED) # Workaround for terrain_planner not exporting this correctly
3131
find_package(terrain_planner REQUIRED)
32+
find_package(geometry_msgs REQUIRED)
3233

3334
add_library(${PROJECT_NAME})
3435
add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
3536

3637
target_include_directories(${PROJECT_NAME}
3738
PUBLIC
3839
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
40+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>"
41+
)
42+
43+
target_link_libraries(${PROJECT_NAME} PUBLIC
44+
${geometry_msgs_TARGETS}
3945
)
4046

4147
add_executable(terrain_planner_benchmark_node)
@@ -45,9 +51,13 @@ add_executable(test_rrt_replanning_node EXCLUDE_FROM_ALL)
4551
add_executable(surface_visualization EXCLUDE_FROM_ALL)
4652
add_executable(test_dubins_classification EXCLUDE_FROM_ALL)
4753
add_executable(run_replay EXCLUDE_FROM_ALL)
48-
add_executable(test_rrt_circle_goal EXCLUDE_FROM_ALL)
54+
add_executable(test_rrt_circle_goal)
4955
add_subdirectory(src)
5056

57+
target_link_libraries(test_rrt_circle_goal PUBLIC
58+
${PROJECT_NAME}
59+
)
60+
5161
include(GNUInstallDirs)
5262
install(
5363
TARGETS

terrain_planner_benchmark/launch/test_ompl_rrt_circle.launch

Lines changed: 0 additions & 17 deletions
This file was deleted.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<launch>
3+
<!-- <node pkg="turtlesim" exec="turtlesim_node" name="sim" namespace="turtlesim1" />
4+
<node pkg="turtlesim" exec="turtlesim_node" name="sim" namespace="turtlesim2" />
5+
<node pkg="turtlesim" exec="mimic" name="mimic">
6+
<remap from="/input/pose" to="/turtlesim1/turtle1/pose" />
7+
<remap from="/output/cmd_vel" to="/turtlesim2/turtle1/cmd_vel" />
8+
</node> -->
9+
<node pkg="terrain_planner_benchmark" exec="test_rrt_circle_goal" name="rrt_planner">
10+
</node>
11+
</launch>
12+
<!-- <?xml version="1.0" encoding="UTF-8"?>
13+
<launch>
14+
<arg name="visualization" default="true"/>
15+
<arg name="location" default="gotthard"/>
16+
17+
<node pkg="tf" type="static_transform_publisher" name="world_map" args="0 0 0 0 0 0 world map 10"/>
18+
19+
<group if="$(arg visualization)">
20+
<node type="rviz" name="rviz" pkg="rviz" args="-d $(find terrain_planner)/launch/config_ompl.rviz" />
21+
</group>
22+
</launch> -->

terrain_planner_benchmark/package.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
<build_depend>terrain_navigation</build_depend>
2626
<build_depend>ompl</build_depend>
2727
<build_depend>terrain_planner</build_depend>
28+
<build_depend>geometry_msgs</build_depend>
2829
<exec_depend>python3-gdal</exec_depend>
2930

3031
<export>

terrain_planner_benchmark/src/test_rrt_circle_goal.cpp

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@
3838
* @author Jaeyoung Lim <[email protected]>
3939
*/
4040

41-
#include <geometry_msgs/Point.h>
42-
#include <ros/ros.h>
41+
#include <geometry_msgs/msg/point.hpp>
42+
#include <rclcpp/rclcpp.hpp>
4343
#include <terrain_navigation/terrain_map.h>
4444
#include <tf2/LinearMath/Quaternion.h>
4545
#include <tf2_eigen/tf2_eigen.h>
4646
#include <tf2_geometry_msgs/tf2_geometry_msgs.h>
47-
#include <visualization_msgs/MarkerArray.h>
47+
#include <visualization_msgs/msg/marker.hpp>
4848

4949
#include <any>
5050
#include <grid_map_ros/GridMapRosConverter.hpp>
@@ -54,23 +54,24 @@
5454
#include "terrain_planner/terrain_ompl_rrt.h"
5555
#include "terrain_planner/visualization.h"
5656

57-
void publishCircleSetpoints(const ros::Publisher& pub, const Eigen::Vector3d& position, const double radius) {
57+
void publishCircleSetpoints(rclcpp::Publisher<visualization_msgs::msg::Marker>::SharedPtr pub,
58+
const Eigen::Vector3d& position, const double radius) {
5859
visualization_msgs::msg::Marker marker;
5960
marker.header.stamp = rclcpp::Clock().now();
6061
marker.type = visualization_msgs::msg::Marker::LINE_STRIP;
6162
marker.action = visualization_msgs::msg::Marker::ADD;
6263
marker.header.frame_id = "map";
6364
marker.id = 0;
6465
marker.header.stamp = rclcpp::Clock().now();
65-
std::vector<geometry_msgs::Point> points;
66+
std::vector<geometry_msgs::msg::Point> points;
6667
for (double t = 0.0; t <= 1.0; t += 0.02) {
67-
geometry_msgs::Point point;
68+
geometry_msgs::msg::Point point;
6869
point.x = position.x() + radius * std::cos(t * 2 * M_PI);
6970
point.y = position.y() + radius * std::sin(t * 2 * M_PI);
7071
point.z = position.z();
7172
points.push_back(point);
7273
}
73-
geometry_msgs::Point start_point;
74+
geometry_msgs::msg::Point start_point;
7475
start_point.x = position.x() + radius * std::cos(0.0);
7576
start_point.y = position.y() + radius * std::sin(0.0);
7677
start_point.z = position.z();
@@ -88,7 +89,7 @@ void publishCircleSetpoints(const ros::Publisher& pub, const Eigen::Vector3d& po
8889
marker.pose.orientation.x = 0.0;
8990
marker.pose.orientation.y = 0.0;
9091
marker.pose.orientation.z = 0.0;
91-
pub.publish(marker);
92+
pub->publish(marker);
9293
}
9394

9495
void getDubinsShortestPath(std::shared_ptr<fw_planning::spaces::DubinsAirplaneStateSpace>& dubins_ss,
@@ -143,9 +144,7 @@ PathSegment getLoiterPath(Eigen::Vector3d end_position, Eigen::Vector3d end_velo
143144
}
144145

145146
int main(int argc, char** argv) {
146-
ros::init(argc, argv, "ompl_rrt_planner");
147-
ros::NodeHandle nh("");
148-
ros::NodeHandle nh_private("~");
147+
rclcpp::init(argc, argv);
149148

150149
// Initialize ROS related publishers for visualization
151150
auto start_pos_pub = nh.advertise<visualization_msgs::msg::Marker>("start_position", 1, true);
@@ -248,7 +247,7 @@ int main(int argc, char** argv) {
248247
std::string output_file_path = output_directory + "/" + location + "_planned_path.csv";
249248
data_logger->writeToFile(output_file_path);
250249

251-
ros::Duration(1.0).sleep();
252-
ros::spin();
250+
rclcpp::spin(ompl_rrt_planner);
251+
rclcpp::shutdown();
253252
return 0;
254253
}

0 commit comments

Comments
 (0)