Mastering ROS for Robotics Programming: Best practices and troubleshooting solutions when working with ROS - Joseph (IEEE, 2003)