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.bash

We can verify this worked by running:

env | grep ROS

ROS can now resolve things in our workspace:

# run executable in package
rosrun ros_pkg hello_node.py
 
# enter the package directory
roscd ros_pkg

Frame 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.