VIKI—More Than a GUI for ROS
This chapter introduces the open-source software VIKI. VIKI is a software package that eases the configuration of complex robotic systems and behavior by providing an easy way to collect existing ROS packages and nodes into modules that provide coherent functionalities. This abstraction layer allows users to develop behaviors in the form of a collection of interconnected modules. A GUI allows the user to develop ROS-based software architectures by simple drag-and-drop of VIKI modules, thus providing a visual overview of the setup as well as ease of reconfiguration. When a setup has been created, VIKI generates a roslaunch file by using the information of this configuration, as well as the information from the module definitions, which is then launched automatically. Distributed capabilities are also guaranteed as VIKI enables the explicit configuration of roslaunch features in its interface. In order to show the potential of VIKI, the chapter is organised in the form of a tutorial which provides a technical overview of the software, installation instructions as well as three use-cases with increased difficulty. VIKI functions alongside your ROS installation, and only uses ROS as a runtime dependency.
KeywordsROS GUI Abstraction layer Modularity Educational Software architecture
- 1.Quigley, Morgan et al. 2009. ROS: an open-source Robot Operating System. In ICRA Workshop on Open Source Software.Google Scholar
- 2.Muellers, Filip. 2012. rxDeveloper 1.3b with sourcecode generators. http://www.ros.org/news/2012/04/rxdeveloper-13b-with-sourcecode-generators.html (visited on 17 April 2016).
- 3.BRIDE. BRICS Integrated Developement Environment. 2014. http://www.best-of-robotics.org/bride/.
- 4.Fraunhofer FKIE. Node Manager FKIE. 2016. https://fkie.github.io/multimaster_fkie/node_manager.html (visited on 13 May 2016).
- 5.Robotnik. ROS graphic user interfaces. 2013. http://www.robotnik.eu/ros-graphic-user-interfaces/ (visited on 17 April 2016).
- 6.Price, John H. Creating a Graphical user Interface for Joint Position Control in Controlit! https://robotcontrolit.com/documentation/gui_jpos (visited on 17 April 2016).
- 7.Stumm, Elena. 2010. ROS/Web based Grahical User Interface for the sFly Project. Semester-Thesis. ETH Zurich. http://students.asl.ethz.ch/upl_pdf/289-report.pdf?aslsid=c472f08de49967cf2e11840561d8175a.
- 8.Willow Garage. ROS GUI. 2012. http://www.willowgarage.com/blog/2012/10/21/ros-gui (visited on 17 April 2016).
- 9.Kaestner, Ralf. 2016. Plugins Related to ROS TF Frames. https://github.com/ethz-asl/ros-tf-plugins (visited on 17 April 2016).
- 10.James (Techsource Systems). ROS GUI. 2015. https://de.mathworks.com/matlabcentral/fileexchange/50640-ros-gui (visited on 17 April 2016).
- 11.Linkbot. Linkbot Labs. 2016. http://www.barobo.com/downloads/ (visited on 17 April 2016).
- 12.Hoogervorst, Robin, Alex Kamphuis, and Cees Trouwborst. VIKI documentation. 2016. http://viki.readthedocs.io (visited on 09 Sep 2016).