This video demonstrates the TurtleBot 2 mobile robot performing automatic docking maneuvres using an Android app. This demo works out of the box and only requires that the TurtleBot has a working wifi connection. Once docked, the mobile base and the on-board laptop both begin charging so the robot is always ready for whatever tasks are queued.
To get the robot to start ROS on bootup with minimal configuration we have developed an external Debian package ros-system-daemon-groovy. This package provides infrastructure to run ROS system wide as user 'ros' in a way that is compliant with the Debian FHS with logs written to /var/log/ros and rotated on a daily basis and expired after a week. The package includes network autoconfiguration tools that query NetworkManager via D-Bus and Upstart scripts that start ROS once a network connection becomes active.
This package is designed not just to work with the TurtleBot, but we hope that it can be useful for other robot developers who need a way to start ROS at bootup.
Basic documentation for the package can be found here.
Feedback is greatly appreciated and please submit bugs and feature requests to the issue tracker on Github.