Effective Robotics Programming with ROS