Authors: [Zhang Jiadong], [Wang Wei]
VP-SOM is a novel View Planning Method for Indoor Sparse Object Model based on Information Abundance and Observation Continuity.
We have tested the system in Ubuntu 18.04. + ROS melodic for Motion module and the connection between Motion module&View-Planning module. We suggest installing the "desktop-full" version of ROS. + Prerequisites of Active SLAM are the same as ORB_SLAM2, including C++11, OpenCV, Eigen3.4.10, Eigen3, Pangolin, DBoW2, g2o and PCL1.8. + Gazebo 9.0 for Simulization environment. + Rviz for visulization of object map, camera view and robot motion.
-
Create ROS workspace and download our package:
cd {ROS_WORKSPACE}/src git clone https://github.com/TINY-KE/VP-SOM.git cd VP-SOM
-
Complie the thirdparty libraries of Active SLAM:
cd Active_SLAM_based_on_VP-SOM chmod +x build_thirdparty.sh ./build_thirdparty.sh
-
Complie the Active SLAM and YOLO:
cd {ROS_WORKSPACE} catkin_make
There are many parameters in the file "config/kinectv1.yaml" that can affect VP-SOM. This section will introduce these parameters.
- [PubGlobalGoal] :
- [PubLocalGoal] :
- [MAM.Reward_angle_cost] :
- [MAM.Reward_dis] :
- [Planle.Safe_radius] :
- [ConstraintType] :
- [ObserveMaxNumBackgroudObject] :
- [IE.ThresholdEndMapping] :
- [Plane.Height.Max] and [Plane.Height.Min] :
- [IE.PublishIEwheel] :
- [IE.P_occ], [IE.P_free], [IE.P_prior] :
- [IE.ThresholdPointNum] :
- Series of [Trobot_camera] :
- Series of [Tworld_camer] :
- Other parameters have little effect and will be updated in the future.
-
- Simulization Environment
-
- Fabo robot controller
-
Control robot by keyboard. This corresponds to manual mode where PubGlobalGoal=0. Press "IJLK," to control the movement of the chassis. Press "G" to publish a signal that has arrived at the NBV to the view-planning program to start a new round of view-planning
roslaunch fabo_teleop fabo_teleop.launch
-
Robot move autonomously by MoveIt and 2D grid map. This corresponds to autonomous mode where PubGlobalGoal=1.
roslaunch fabo_robot_gazebo fake_navigation.launch
-
- Start simulation environment and robot controller as the section 4
-
- YOLO object detection
roslaunch darknet_ros darknet_kinectv1.launch
-
- Active SLAM
roslaunch active_slam_vpsom aslam.launch
- Visulization of object map, camera view and robot motion
roslaunch active_slam_vpsom rviz.launch
The results of sparse object map and observation trajectories of different view-planning methods are saved in "eval/temp". Evaluate various methods by comparing sparse object maps and observation trajectories.
rosrun active_slam_vpsom eval
The groudtruth of object models in the simulation environments can be extracted from the "world" file of gazebo
rosrun active_eao_new extract_gazebo_groudth [the path of gazebo world file]
Other details to be updated later.