ROS Robotics By Example - Second Edition: Learning to control wheeled, limbed, and flying robots using ROS Kinetic Kame