Creating and building a ROS package

Before we begin to design and build our robot model in simulation, we should create our first ROS package. In Chapter 1, Getting Started with ROS, we created a ROS catkin workspace under /home/<username>/catkin_ws. The structure of a catkin workspace looks like this:

catkin_ws/                     -- WORKSPACE
   build/                          -- BUILD SPACE
   devel/                          -- DEVEL SPACE
   src/                               -- SOURCE SPACE
   CMakeLists.txt          -- 'Toplevel' CMake file, provided by catkin

Tip

Make sure that you have source ~/catkin_ws/devel/setup.bash in your .bashrc file, or this command is entered at the terminal window prompt.

We begin by moving to your catkin workspace source directory:

$ cd ~/catkin_ws/src

Now, let's create our first ROS package, ros_robotics:

$ catkin_create_pkg ros_robotics

This command will create a /ros_robotics directory under the ~/catkin_ws/src directory. The /ros_robotics directory will contain a package.xml file and a CMakeLists.txt file. These files contain information generated from the $ catkin_create_pkg command execution.

Note

The catkin_create_pkg syntax

catkin_create_pkg requires a unique package name and, optionally, a list of dependencies for the package. The command format to create it is as follows:

$ catkin_create_pkg <package_name> [depend1] [depend2] [depend3]

[depend1], [depend2], and [depend3] specify software packages that are required to be present for this software package to be made.

We will not identify any dependencies for our ros_robotics package at this point.

Next, build the packages in the catkin workspace:

$ cd ~/catkin_ws
$ catkin_make

After the workspace has been built to include the ros_robotics package, the ~/catkin_ws/devel subdirectory will have a structure similar to the structure under the /opt/ros/indigo directory.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.81.73