A Next-best-view (NBV) planning approach for target-aware active semantic mapping in horticultural environments. Further description will be available soon.
Video - Active mapping with robot manipulator
- ROS Noetic
- Nanoflann
- Opencv
- Sklearn
- scipy
- PCL (Point Cloud Library)
- OctoMap
- octomap_msgs
- octomap_rviz_plugins
- SSMI-agriculture
- Install ROS Noetic
- Opencv
sudo apt install libopencv-dev python3-opencv
- PCL
sudo apt-get install libpcl-dev
- Sklearn
pip3 install scikit-learn
- Scipy
pip3 install scipy==1.10.1
- Octomap
sudo apt install ros-noetic-octomap ros-noetic-octomap-server
ros-noetic-octomap-msgs
ros-noetic-octomap-rviz-plugins
- Nanoflann
- Download nanoflann
- Decompress the zip file
- Install Nanoflann
cd nanoflann
cd ..
mkdir nanoflann-install
cd nanoflann
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=<path-to-nanoflann-install> ..
make install
cd catkin_ws/src
git clone https://github.com/jrcuaranv/SSMI-agriculture.git
git clone https://github.com/jrcuaranv/nbv_planning.git
cd ..
catkin_make
- Go to nbv_planning/data/models and run script install_models.sh to copy gazebo plant models to your home directory.
cd catkin_ws/src/nbv_planning/data/models
./install_models.sh
- Set "data_dir" and "save_path" in /catkin_ws/src/nbv_planning/params/params.yaml and catkin_ws/src/SSMI-agriculture/SSMI-Mapping/params/octomap_generator_evaluation_gazebo.yaml, respectively.
- Launch main files in independent terminals (easy for debugging and visualization)
cd catkin_ws
source devel/setup.bash
roslaunch nbv_planning gazebo_environment.launch
roslaunch semantic_octomap semantic_octomap_evaluation.launch
roslaunch nbv_planning nbv_planning.launch
- If rviz does not start properly, open rviz and visualize main topics:
- Set world as fixed frame
- Add ColorOccupancyGrid and set /octomap_full as topic and cell_color as voxel coloring.
- Add /camera2/color/rgb and /camera2/color/semantics topics
- Add Axes to visualize the /camera2_frame topic (the target goal)