Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
e41e0de
migrate exploration planner from subt
YuanJunbin Aug 13, 2025
dbbe2a3
config for running in ros2 gazebo env
YuanJunbin Aug 28, 2025
72d5334
gazebo configuration finished
YuanJunbin Aug 31, 2025
7efcea7
scripts for manual takeoff without gui
YuanJunbin Aug 31, 2025
37b3e0e
adding a mode for receiving target path instead of extracting frontier
YuanJunbin Sep 3, 2025
44f2040
some config change for exploration run
YuanJunbin Sep 3, 2025
7d75455
manual launch of robot
YuanJunbin Sep 3, 2025
29fdf1a
Merge branch 'main' into junbin/planning_dev
YuanJunbin Sep 4, 2025
ed4fdc4
blosc config for build error
YuanJunbin Sep 6, 2025
2d51421
add inspection_planner
caomuqing Sep 10, 2025
0c467a5
merge from planning dev
YuanJunbin Sep 11, 2025
ae3f455
pull from demo
YuanJunbin Sep 11, 2025
a7a53ae
repair docker compose
YuanJunbin Sep 11, 2025
dde8d6b
Merge branch 'main' into junbin/planning_dev
YuanJunbin Sep 11, 2025
773b42f
merge from dev that merged from main
YuanJunbin Sep 11, 2025
0ea9a85
fix cmakelist after merge
YuanJunbin Sep 11, 2025
593be4a
fix cmakelist after merge
YuanJunbin Sep 11, 2025
e579063
fixed docker compoer env
YuanJunbin Sep 11, 2025
54a1f7e
manually launch robot
YuanJunbin Sep 11, 2025
d9bed98
Merge branch 'junbin/planning_dev' into junbin/planning_demo
YuanJunbin Sep 11, 2025
2ed7fec
another fix
YuanJunbin Sep 11, 2025
c2c3ae9
Merge branch 'junbin/planning_dev' into junbin/planning_demo
YuanJunbin Sep 11, 2025
393142b
tiny modification of waypoing routing
YuanJunbin Sep 11, 2025
60ec811
Merge branch 'junbin/planning_dev' into junbin/planning_demo
YuanJunbin Sep 11, 2025
be77510
publishing inspection pose markers
caomuqing Sep 13, 2025
f90c973
Merge branch 'junbin/planning_demo' of github.com:castacks/AirStack i…
caomuqing Sep 14, 2025
be67314
add filter prediction semantics
caomuqing Sep 15, 2025
8cee231
update filter prediction semantics
caomuqing Sep 16, 2025
6822bb7
Merge branch 'main' into junbin/planning_dev
YuanJunbin Sep 24, 2025
4fa116b
adding inspection planning
YuanJunbin Sep 24, 2025
f59a8fb
Merge branch 'main' into junbin/planning_dev
YuanJunbin Sep 26, 2025
b3fc055
RRT shortening, difference interpolation and extend step size
YuanJunbin Sep 26, 2025
e69727d
Update README.md
YuanJunbin Sep 26, 2025
b533c76
add doc line in mkdocs
YuanJunbin Sep 26, 2025
6419ac7
image change
YuanJunbin Sep 26, 2025
650609a
remove inspection planner, not ready
YuanJunbin Sep 26, 2025
3e581ba
revert docker compose to align with main before pull request
YuanJunbin Sep 26, 2025
f9d58c4
minor change before pull request
YuanJunbin Sep 26, 2025
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
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ nav:
- Planning:
- docs/robot/autonomy/4_global/planning/index.md
- robot/ros_ws/src/autonomy/4_global/b_planners/random_walk/README.md
- robot/ros_ws/src/autonomy/4_global/b_planners/exploration/README.md
- Behavior:
- docs/robot/autonomy/5_behavior/index.md
- docs/robot/autonomy/5_behavior/behavior_tree.md
Expand Down
12 changes: 12 additions & 0 deletions robot/ros_ws/manual_exploration.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
set -euo pipefail

# Pair 2 (run in parallel)
ros2 service call /robot_1/behavior/global_plan_toggle \
std_srvs/srv/Trigger "{}" & p1=$!

ros2 service call /robot_1/trajectory_controller/set_trajectory_mode \
airstack_msgs/srv/TrajectoryMode "{mode: 3}" & p2=$!

wait $p1 $p2
echo "exploration command sent"
12 changes: 12 additions & 0 deletions robot/ros_ws/manual_takeoff.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
set -euo pipefail

# Pair 1 (run in parallel)
ros2 service call /robot_1/trajectory_controller/set_trajectory_mode \
airstack_msgs/srv/TrajectoryMode "{mode: 2}" & p1=$!

ros2 service call /robot_1/takeoff_landing_planner/set_takeoff_landing_command \
airstack_msgs/srv/TakeoffLandingCommand "{command: 0}" & p2=$!

wait $p1 $p2
echo "takeoff command sent"
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
cmake_minimum_required(VERSION 3.5)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules" ${CMAKE_MODULE_PATH})
project(exploration_planner)

# Default to C++14
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 17)
endif()

# Find dependencies
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rclcpp_action REQUIRED)
find_package(std_msgs REQUIRED)
find_package(std_srvs REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(nav_msgs REQUIRED)
find_package(visualization_msgs REQUIRED)
find_package(tf2 REQUIRED)
find_package(tf2_ros REQUIRED)
find_package(tf2_eigen REQUIRED)
find_package(tf2_geometry_msgs REQUIRED)

# set(OpenVDB_INCLUDE_DIR "/usr/local/include/openvdb" CACHE STRING "Path to OpenVDB installation")
find_package(OpenVDB REQUIRED)
# find_package(vdb_mapping REQUIRED)
find_package(Eigen3 REQUIRED)
find_package(PCL REQUIRED)
find_package(pcl_conversions REQUIRED)
find_package(message_filters REQUIRED)

###################################
## ament specific configuration ##
###################################

ament_package()

###########
## Build ##
###########

# Specify additional locations of header files

# Declare a C++ executable
add_executable(exploration_planner
src/exploration_node_run.cpp
src/exploration_node.cpp
src/exploration_logic.cpp
src/viewpoint_sampling.cpp
src/collision_checker.cpp
src/rrt_planner.cpp
src/utils.cpp)

target_include_directories(exploration_planner
PRIVATE
${PCL_INCLUDE_DIRS}
${EIGEN3_INCLUDE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include)

target_link_libraries(exploration_planner
# vdb_mapping::vdb_mapping
OpenVDB::openvdb
${EIGEN3_LIBRARIES}
${PCL_LIBRARIES})

add_executable(waypoint_routing_planner
src/waypoint_routing_node.cpp
src/exploration_node.cpp
src/exploration_logic.cpp
src/viewpoint_sampling.cpp
src/collision_checker.cpp
src/rrt_planner.cpp
src/utils.cpp)

target_include_directories(waypoint_routing_planner
PRIVATE
${PCL_INCLUDE_DIRS}
${EIGEN3_INCLUDE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include)

target_link_libraries(waypoint_routing_planner
# vdb_mapping::vdb_mapping
OpenVDB::openvdb
${EIGEN3_LIBRARIES}
${PCL_LIBRARIES})

# Link libraries
ament_target_dependencies(exploration_planner
rclcpp
rclcpp_action
std_msgs
std_srvs
geometry_msgs
nav_msgs
visualization_msgs
tf2
tf2_ros
pcl_conversions
tf2_eigen
tf2_geometry_msgs
)

ament_target_dependencies(waypoint_routing_planner
rclcpp
rclcpp_action
std_msgs
std_srvs
geometry_msgs
nav_msgs
visualization_msgs
tf2
tf2_ros
pcl_conversions
tf2_eigen
tf2_geometry_msgs
)

# Install executable
install(TARGETS
exploration_planner
waypoint_routing_planner
DESTINATION lib/${PROJECT_NAME}
)

install(DIRECTORY
launch
DESTINATION share/${PROJECT_NAME})

install(DIRECTORY
config
DESTINATION share/${PROJECT_NAME})

install(DIRECTORY
src
DESTINATION share/${PROJECT_NAME})


#############
## Testing ##
#############

# Add gtest based cpp test target and link libraries
# ament_add_gtest(${PROJECT_NAME}-test test/test_exploration_planner.cpp)
# if(TARGET ${PROJECT_NAME}-test)
# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}_node)
# endif()
Loading