- ROS Noetic
- OctoMap
- PCL
- Eigen
- OpenCV
- Python3
- ROS Noetic
- OctoMap
- PCL (Point Cloud Library)
- Eigen
- OpenCV
- Python3
# Update package index
sudo apt update
# Install ROS Noetic (if not already installed)
sudo apt install ros-noetic-desktop-full
# Install OctoMap packages
sudo apt install ros-noetic-octomap ros-noetic-octomap-msgs ros-noetic-octomap-server
# Install PCL and related ROS interfaces
sudo apt install libpcl-dev ros-noetic-pcl-ros ros-noetic-pcl-conversions
# Install Eigen
sudo apt install libeigen3-dev
# Install OpenCV (C++ and Python interfaces)
sudo apt install libopencv-dev python3-opencv
# Ensure Python3 is installed
sudo apt install python3 python3-pipecho $ROS_DISTRO
# Expected output: noetic
roscore
# Should start ROS master; Ctrl+C to exit.rosrun octomap_server octomap_server_node
# If started without error, OctoMap is installed.
# Ctrl+C to exit.pkg-config --modversion pcl_common
# Should output a version number, e.g., 1.10.0
# Optional: check Python PCL (if needed for your project)
python3 -c "import pcl"
# No error = installed; Error = Python PCL not installed (usually not needed for ROS C++)pkg-config --modversion eigen3
# Should output a version number, e.g., 3.4.0# For C++ interface
pkg-config --modversion opencv4
# Should output a version number, e.g., 4.2.0
# For Python interface
python3 -c "import cv2; print(cv2.__version__)"
# Should print the OpenCV version, e.g., 4.2.0python3 --version
# Should output a version number, e.g., Python 3.8.10| Dependency | Install Command | Check Command | Expected Output |
|---|---|---|---|
| ROS Noetic | sudo apt install ros-noetic-desktop-full |
echo $ROS_DISTROroscore |
noetic, ROS master |
| OctoMap | sudo apt install ros-noetic-octomap ros-noetic-octomap-msgs ros-noetic-octomap-server |
rosrun octomap_server octomap_server_node |
No error |
| PCL | sudo apt install libpcl-dev ros-noetic-pcl-ros ros-noetic-pcl-conversions |
pkg-config --modversion pcl_common |
Version number |
| Eigen | sudo apt install libeigen3-dev |
pkg-config --modversion eigen3 |
Version number |
| OpenCV | sudo apt install libopencv-dev python3-opencv |
pkg-config --modversion opencv4python3 -c ... |
Version number |
| Python3 | sudo apt install python3 python3-pip |
python3 --version |
Version number |
**step-by-step guide**
---
# ROS Workspace Setup and Project Execution Guide
## 1. **Install All Dependencies**
> Make sure you have installed ROS Noetic, PCL, OctoMap, Eigen, OpenCV, Python3, and any other required system or Python dependencies.
---
## 2. **Create a Catkin Workspace**
```bash
mkdir -p ~/WS_SE/src
cd ~/WS_SE/src
You can replace WS_SE with any workspace name you prefer.
git clone [https://github.com/BohemianRhapsodyz/semantic_exploration.git](https://github.com/Lawaries/semantic_exploration_test.git)
# Clone any other required repositories here as wellcd ~/WS_SE
catkin config --install
catkin buildBefore running any ROS nodes, always source the workspace’s setup file in every new terminal:
source ~/WS_SE/install/setup.bashTip: You can add this line to your ~/.bashrc to source automatically in every terminal:
echo "source ~/WS_SE/install/setup.bash" >> ~/.bashrcOpen a new terminal for each node you need to run, and remember to source the setup file every time.
cd ~/WS_SE
source install/setup.bash
roslaunch orb_slam2_ros orb_slam2_exploration.launchcd ~/WS_SE
source install/setup.bash
#python3 odom_transfer.py
python3 src/semantic_exploration/3dParty/orb_slam_2_ros/odom_transfer.pycd ~/WS_SE
source install/setup.bash
roslaunch semantic_octomap semantic_mapping.launchcd ~/WS_SE
source install/setup.bash
roslaunch semantic_exploration run_semantic_exploration.launch- Always use the workspace root (e.g.,
~/WS_SE) for building with catkin. - All your ROS packages should be inside the
srcfolder. - If you encounter errors about missing packages or nodes, ensure you have sourced the setup file and installed all dependencies.
| Step | Command/Action |
|---|---|
| Create workspace | mkdir -p ~/WS_SE/src |
| Clone repositories | git clone <repo_url> |
| Build workspace | cd ~/WS_SEcatkin config --installcatkin build |
| Source environment | source ~/WS_SE/install/setup.bash |
| Launch each node (separate terminal) | See above examples |
@inproceedings{zhang2024active,
title={Active Semantic Mapping and Pose Graph Spectral Analysis for Robot Exploration},
author={Zhang, Rongge and Bong, Haechan Mark and Beltrame, Giovanni},
booktitle={2024 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
pages={13787--13794},
year={2024},
organization={IEEE}
}
- Acknowledgments
**License**
[](https://choosealicense.com/licenses/mit/)
## **Contributors**
<a href="https://github.com/BohemianRhapsodyz/semantic_exploration/graphs/contributors">
<img src="https://contrib.rocks/image?repo=BohemianRhapsodyz/semantic_exploration" />
</a>

