Last 26th of July I published a post about the necessity to create a standard Linux distribution for robots based on Ubuntu which “exclusively” includes software and applications directed towards robotics with the aim of accelerating their development and in order to be used in as many current or future robotic platforms as possible.
The idea would be to use any of Ubuntu’s Linux distributions as a basis and make it as light as possible concerning software and unnecessary services in order to optimize starting time to the maximum and allow its installation on both hard disks and memory cards.
Shortly after writing that post I got an email from my friend Alfonso de Cala, responsible for Guadalinex Linux distribution, in which him and his team offered themselves to make a Linux distribution based on Ubuntu with all those packages, repositories and desktop environment that TheCorpora’s team would determine.
As it is normal we accepted the offer immediately and our team and Guadalinex’s worked together to get, in a bit more than a month, a first Alpha version based on Ubuntu 10.04 that we have called OpenQbo which contains all that is needed to make our dear robot Qbo work. There is still a long way to walk but at least it is a start.
This Alpha version is at your disposal so that you can help us improve it by sending all your suggestions to the following email: firstname.lastname@example.org.
- desktop improvements (themes, fonts, wallpaper, etc.)
- packages and/or services you would add or remove
- start up and shut down errors of the system
- any other thing you may consider of interest
VERY IMPORTANT NOTE: It is a version in development and its use is NOT recommended in production equipments.
PACKAGES CURRENTLY INSTALLED ON OPENQBO (Alpha Version)
Gnome as graphic environment. We know it is not precisely the lightest environment available for Linux but we do believe it is one of the most stable and, for the moment, it works pretty well on boards based on the Intel ATOM chip with at least 1 Gb of RAM memory. Future will tell if we keep relying on it.
Festival as speech synthesis engine. Developed by the University of Edinburgh. Thanks to its engine and the different tools developed by Carnegie Mellon University, available in the FestVox project, it let us generate very high quality voices.
Julius as speech recognition engine. Julius was initially developed by the Japanese LVCSR in 1997, continued by the CSRC (Continuous Speech Recognition Consortium ) from 2000 to 2003 and currently developed by the ISTC ( Interactive Speech Technology Consortium ).
It requires a grammar and an acoustic model previously trained. At the moment, there is not an acoustic model which is totally developed for Julius in English or Spanish mainly due to the large number of voice transcriptions which are necessary in order to achieve an optimal recognition.
There is a project called VoxForge created in 2005 by Ken MacLean which collects transcribed text to be compiled for use with OpenSource speech recognition engines such as Julius or Sphinx. We will shortly talk more in depth about this software and how our robot Qbo uses it to recognize sentences which have been previously introduced in its grammar.
ROS as meta-operating system ( repositories added ). We have already mentioned it in previous posts. Developed by Willow Garage it allows to operate different types of hardware components through subscriptions to nodes.
In this video you can see how OpenQbo , the operating system installed on the robot ( naked ), does SLAM in real time with the odometry of both the base and the head in motion. In order to carry out this operation in real time Qbo slows down its movement speed in more than 4 times to go back to its “natural” values once the map has been built up.
OpenCV as artificial vision system. Originally developed by Intel in 1999 and now supported by Willow Garage. It contains more than 500 functions oriented to artificial vision. Some of them make possible person and object recognition, webcam calibration or stereoscopic vision generation among others.
Apache as web server. Qbo can be accessed in different ways and Apache is one of them. It allows to access the robot’s GUI from any remote web browser. It is especially interesting for those people with little knowledge of Linux who only want to access specific functions of the robot.
SSH (Client and Server) as order interpreter under a secure protocol. For those with knowledge of Linux who want remote access to Linux Shell from another machine to operate their own way. All the traffic between the remote machine and ours for command sending, file reception/sending or file visualization and edition it is always carried out by a secure protocol with RSA codes.
Mysql Server as database server. Its main function in and out of Qbo will be handling the chatterbot, among others.
Firestarter server as Firewall. Security is also very important in the world of Linux so we have added a powerful programme which allows us to control outgoing and/or incoming data traffic at all times in a totally graphic way.
Qbo GUI as the graphical interface between the robot and the user. Developed by TheCorpora it allows to easily access all the functions of the robot. At the moment it has not been installed yet since there is not a sufficiently stable version available. It will be installed on future versions of OpenQbo.
Others. There are many other packages installed on this version which we consider necessary to build a standard distribution oriented to robotics. Some of them are:
- Last ALSA drivers which are necessary for Julius to work since there was a bug in previous versions.
- PHP as support for the design of Qbo’s GUI.
- Gstreamer which is necessary, among other things, to receive images from Qbo’s webcams.
- GCC compiler for C
- Python as high level language. It is really useful to quickly create small software modules for ROS, for example.
HOW TO TRY OPENQBO
We recommend to do it through a virtualization software such as VirtualBox or a PenDrive or DVD. Since I do not want to expand on this matter, in future posts we will talk about how to do a step-by-step installation on VirtualBox for those who have never done it before.
If you use VirtualBox it is only possible to use OpenQbo if you fully install it as virtual machine. There is a BUG and it is NOT possible to use it in mode “TRY OPENQBO”. If you start up from a DVD or a Pendrive it IS possible to use it in mode “TRY OPENQBO”.
Additional thanks: Although in the end it could not be, I do not want to miss the opportunity to thank Bogdan Rădulescu , creator of NimbleX Linux distribution, for his email offering himself to create a Linux distribution for Qbo. Thanks also CICA to provide us FTP & HTTP hosting servers.
This first Alpha version can be downloaded from here:
As you can see OpenQbo’s size is nearly 1Gb and around the 65% is taken by ROS and Qbo’s voice.
REMEMBER: It is a version in development and its use is NOT recommended in production equipments.