Building catkin workspace
You can build all projects in a catkin workspace by running the following command:
catkin_make
This will automatically scale make to your CPU.
ROS Package Path
ROS looks for our packages by looking at the ROS_PACKAGE_PATH, we can setup ROS to look at our workspace by first Building catkin workspace and then we can run:
source devel/setup.bashWe can verify this worked by running:
env | grep ROSROS can now resolve things in our workspace:
# run executable in package
rosrun ros_pkg hello_node.py
# enter the package directory
roscd ros_pkgFrame of Reference
We need a frame of reference for coordinates and angles, the convention with ROS is to use the right-hand rule.
We arbitrarily choose the x-axis to be aligned with the front of the robot. If you align your thumb with the x-axis, the index finger will be aligned with the y-axis and middle finger with the z-axis.

Rotation angles can be defined around each axis:
- y-axis: roll
- x-axis: pitch
- z-axis: yaw
Positive rotations are counter-clockwise. In ROS, all distances are metric, distance in m, time in seconds, angles in radians, etc.