This repo is for automatically labelling point cloud data from Gazebo simulation, specifically to test rover perception systems
Everything runs on Ubuntu 18.04 LTS
- Install ROS Melodic: http://wiki.ros.org/melodic/Installation/Ubuntu
- Install catkin:
$ sudo apt-get install ros-melodic-catkin - Create a catkin workspace: http://wiki.ros.org/catkin/Tutorials/create_a_workspace
- Clone this repo to src folder of your catkin workspace.
- If the ROS installation didn't install gazebo then follow: http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install
- Install Gazebo_ros_pkgs:
$ sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control$ sudo apt-get install ros-melodic-hector-gazebo-plugins$ sudo apt-get install ros-melodic-rqt-robot-steering- pkg for steering rover via a gui
- Depends on messages defined in common repo https://github.com/novarover/common, please clone into same workspace.
- Depends on the Gazebo simulation at https://github.com/novarover/gazebo, please clone into same workspace and change to the feature/ground_label branch
- Clone this repository into a subdirectory of the catkin workspace src folder.
- To develop a feature: branch from
developand make a pull request intodevelopwhen finished with changes.
- Use
$ catkin buildanywhere within workspace to build your packages. If you've previously usedcatkin_makethen you may need to delete build and devel folders from your workspace. - For ROS to see your packages you must use command
$ source ~/catkin_ws/devel/setup.bashwherecatkin_wsis the path of your workspace folder. This can be done automatically with each new terminal by adding to .bashrc:$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc - Gazebo searches for models using env variable
GAZEBO_MODEL_PATH. Therefore, you need to add the full path of the models folder to the variable.$ echo "export GAZEBO_MODEL_PATH=/path/to/models/:$GAZEBO_MODEL_PATH" >> ~/.bashrc
- Go to the workspace directory and start the Gazebo simulation
$ roslaunch autonomous_sim rough_terrain.launch - Start the Skid Steer Drive Controller graphical tool
$ rosrun rqt_robot_steering rqt_robot_steering - Can visualize the point cloud output by using
$ rvizand adding a PointCloud2 visualization on the /camera/depth/points topic. May need to change the Global Fixed Frame setting to one of the drop down options as well - Start recording the point cloud stream
$ rosrun record_pointcloud record.py - Quit the node to stop recording. The raw point cloud data will be stored under
./data/gazebo_pointcloud.npyand the labelled dataset will be stored under./data/gazebo_pc_dataset.pickle