How to Create a New Package in ROS Noetic

To create a package in ROS, you use the catkin_create_pkg command followed by your desired name for the package and then a list of any packages that your package depends on.

Here is the syntax:

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

For example, let’s create a new package named noetic_basics_part_1 that depends on two packages, std_msgs (a package for handling common data types like integers, strings, and arrays) and roscpp (the standard C++ package for ROS).

In a new terminal window, move to the src (source) folder of your workspace.

cd ~/catkin_ws/src

Now create the package.

catkin_create_pkg noetic_basics_part_1 std_msgs roscpp
4-create-new-packageJPG

If you go inside the package, you’ll see we have all the basic files of a ROS package.

5-all-the-basic-filesJPG
  • CMakeLists.txt (contains the commands to build the ROS source code inside the noetic_basics_part_1 package)
  • include (where the package header files are located)
  • package.xml (contains descriptive information about the package)
  • src (the folder that will contain your C++ source code…note that if you write Python code, you’ll want to create another folder inside the package named scripts).

How to Change Your Current Working Directory in ROS Noetic

Let’s say we want to move to a specific directory. To do that, we use the roscd command, where cd means “change directory.”

For example, to go to the directory of the turtlesim package, we use this command:

roscd turtlesim

We can verify that we are in fact inside the turtlesim package, by typing this command:

pwd

pwd literally means “print working directory.”

3-print-working-directoryJPG