Introducing catkin
Catkin is the official build system of ROS. Before catkin, ROS used the rosbuild system to build packages. Its replacement is catkin on the latest ROS version. Catkin combines CMake macros and Python scripts to provide the same normal workflow that CMake produces. Catkin provides better distribution of packages, better cross-compilation, and better portability than the rosbuild system. For more information, refer to wiki.ros.org/catkin.
Catkin workspace is a folder where you can modify, build, and install catkin packages.
Let's check how to create an ROS catkin workspace.
The following command will create a parent directory called catkin_ws and a subfolder called src:
$ mkdir -p ~/catkin_ws/src
Switch directory to the src folder using the following command. We will create our packages in the src folder:
$ cd ~/catkin_ws/src
Initialize the catkin workspace using the following command:
$ catkin_init_workspace
After you initialize the catkin workspace, you can simply build the package (even if there is no source file) using the following command:
$ cd ~/catkin_ws/ $ catkin_make
The catkin_make command is used to build packages inside the src directory. After building the packages, we will see a build and devel folder in catkin_ws The executables are stored in the build folder. In the devel folder, there are shell script files to add the workspace on the ROS environment.