In a move that has been anticipated since Dec, 2009 Gostai released an open source version of their Robotics Operating System, Urbi. Gostai was started in 2006 and has since grow to a team of 20 people. Their software is in use by several manufacturers more than 30 research laboratories. Urbi is currently involved with several projects including Sony's Aibo, Robotis' Bioloid, iRobot's Create, Mindstorms NXT for LEGO,Segway RMP, Wifibot, and others. Jean-Christophe Baillie, the CEO of Gostai recently took the time to answer some of my questions about Urbi and Gostai. But first, a little more information about what Urbi is all about.
From Sharprobotica What is Urbi? Urbi is complete open source software platform to control robots, a kind of Operating System for robotics. It includes a C++ distributed components architecture called UObject, and an orchestration script language called urbiscript. The urbiscript language is innovative because it integrates new ways to handle parallel and event-based programming, which are two essential issues in robot programming. Recently, Urbi is also integrating ROS support to be able to integrate ROS nodes inside an Urbi project, and benefit from the best of both worlds.
The following video gives a nice quick intro into the platform:
Here's a link to a longer YouTube video showing how to use Urbi.
aceize: It looks like Urbi is a C++ based language.
JC Baillie: Technically, Urbi is composed of a distributed component architecture (middleware) in C++, called UObject, and an orchestration script language, urbiscript, with parallel and event-based compabilities. We call Urbi a "meta-middleware" because it has numerous bridges with other middleware like ROS or RTC.
aceize: There was a short promo video posted at http://www.urbiforge.org/index.php/Main/Tutorial describing how Urbi was flexible and could integrate with several other languages such as Java. How does Urbi achieve this integration?
JC Baillie: When you start Urbi, you have a client/server based central engine, which can be accessed via other languages throught TCP/IP. The engine is responsible to run any urbiscript code that is sent to it via these connections, so it can be controlled from the outside.
aceize: What does this integration achieve in terms of robotics?
JC Baillie:Flexibility. People like their own language and habits. Urbi has to be flexible to allow people to reuse what they already have, and benefit from the novelty of Urbi at the same time.
aceize: I notice that Gostai is releasing the software under the GPL 3. Since Gostai already has Segway as a customer, will there be a dual licensing scheme in place for Urbi similar to MySQL?
JC Baillie: Exactly, dual licensing.
aceize: Was there any particular reason that Gostai chose the GPL 3 over GPL 2?
JC Baillie: It's A-GPL V3. There reason is that Affero GPL protects network usage too, which is important for us regarding the development of GostaiNet.
aceize: Some of the product documentation refers to complex systems. Does Gostai have a particular genre of system, or market, of systems programming that they are trying to reach with Urbi?
JC Baillie: We are very much interested in expanding in video games, interactive modeling, simulation or process control: factories for example.
aceize: What features does Urbi possess which assist in the creation of complex systems applications?
JC Baillie:Native parallelism and event-based capabilities, tag-based execution control flow, support for graphical programming of HFSM with Gostai Studio. These are abstractions that save a tremendous amount of development time.
aceize: What are Gostai's long term plans for their platform? Are there particular markets that Gostai is targeting?
JC Baillie: Really, our vision is consumer robotics everywhere. Or, "Robotics for everyone"
aceize: I assume that Gostai is planning on consumer and service industry robotics being more influential in the future than industrial, military or aerospace robotics.
JC Baillie: Yes
Looking at a few other open source robotics platforms it appears as though Urbi is the more complete of the available options. It is by far the most professional looking.
ROS
- There's ROS, which seems to have focus on low-level functionality and sensing. "Urbi is also integrating ROS support to be able to integrate ROS nodes inside an Urbi project, and benefit from the best of both worlds."
CLARAty
- Developed by JPL, Claraty has not been fully released. It appears as though some of the algorithms are not being released due to security concerns. It was developed as part of the mars program.
LeJOS
- A java based platofrm that has been used for lego robotics. Descriped as an introductory robotics platform
Orocos
- A collection of C++ libraries. The libraries appear to be distinctly usable and useful.
In my opinion, Gostai is definitely a company to watch in the coming years. First of all, they actually took the time to figure out how to get in touch with me, which is not an easy task. Secondly, their CEO is actually knowledgeable and well spoken about the business. A leadership trait which is not as common as it should be. Third, it appears as though they have a solid product which is well positioned in a market that is set to see good growth. Fourth, they are well positioned within their market as the most complete solution and a solution with direction.
Comments
Post new comment