ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

ROS Installer Tooling

Hello fellow humans and robots,

We have recently been working on a new TurtleBot ISO release and have now finally written enough documentation for an official release of the build toolchain for the installer.

Roll Your Own ISO

ryo-iso [0] is a modern ISO builder that streamlines the process of deploying a complete robot operating system from a yaml config file. It has been tested with Ubuntu 16.04 and 18.04 and has significant automation for caching and tracking upstream releases.

As an example, the TurtleBot ryo-iso project is being used to generate an ISO installer with Ubuntu 16.04 + ROS Kinetic + drivers + desktop and system enhancements.

Along the way we have developed a few ROS packages, that should be available in the next Kinetic sync, which we would like to highlight for potential collaborators. Melodic support should be done within a few weeks.

Network Autoconfiguration

network_autoconfig [1] provides automatic configuration of the ROS_MASTER_URI, ROS_IP, and ROS_HOSTNAME for most use cases by introspecting the kernel routing tables and network interfaces for the current IP address. This allows mobile robots running on a wireless network to automagically connect to a workstation running ROS. It is designed to support fixed interfaces, Zeroconf, DHCP and/or a VPN.

Caveat emptor: It may also make it easier to access your robot from the internet.

Robot Startup

robot_systemd [2] builds on a broad survey of previous work starting ROS at bootup. This package should work with most robots that have Systemd installed.

For example to run roslaunch turtlebot_bringup minimal.launch at bootup

sudo apt install ros-kinetic-robot-systemd
systemctl --user enable roslaunch@turtlebot_bringup:minimal.launch
systemctl --user start roslaunch@turtlebot_bringup:minimal.launch
# Start at bootup instead of graphical login
sudo loginctl enable-linger $USER

robot_indicator provides an efficient GUI interface for locally starting and stopping services enabled by the robot_systemd package.

Please let me know if you have any feedback!

Thanks,
Bil

3 Likes