March 30th, 2009
With Urbi 1 Gostai introduced a revolutionary means to program robots: a domain specific scripting language that brings together the efficiency of C++, and the flexibility of a dynamic language. Urbi 1 was designed pragmatically, based on user requests and feedback. That’s how Urbi 1 was made useful, and how it met its users expectations. Yet, because of this iterative design process, it suffers a number of limitations.
We are happy to announce the first release candidate of Urbi SDK 2.0, which addresses these issues. It is the result of several years of effort by Gostai. Urbi SDK 2.0 already runs on a large range of architectures which include the major PC architectures (GNU/Linux x86 and ARM, Windows, Mac OS X x86 and PPC). Technical previews have been made available for months to our partners who are working on providing Urbi SDK 2.0 support on their robots.
Read the rest of this entry »
Posted in Features Preview | Comments Off
February 16th, 2009
One frequently asked question is what visibility do variables have in Urbi, especially when they are declared at the toplevel. In this session, we will see the mechanisms behind slots, local variables and scoping to fully explain this behavior and determine how to proceed to give the right visibility to variables.
Read the rest of this entry »
Posted in Tutorial | No Comments »
January 19th, 2009
The Urbi platform features UObjects, an easy means to extend UrbiScript with new native objects. This is typically used to provide computation intensive structures or algorithms, such as computer-vision, Simultaneous localization and mapping (SLAM) support, etc.
Read the rest of this entry »
Posted in Features Preview | No Comments »
December 2nd, 2008
We are receiving a lot of questions on thread-safeness issues in UObject code. So here comes a quick explanation on how things work in plugin and remote mode, with a focus on those questions.
Read the rest of this entry »
Posted in Uncategorized | No Comments »
February 22nd, 2008
With Urbi 1 Gostai introduced a revolutionary means to program robots: a domain specific scripting language that brings together the efficiency of C++, and the flexibility of a dynamic language. Urbi 1 was designed pragmatically, based on user requests and feedback. That’s how Urbi 1 was made useful, and how it met its users expectations. Yet, because of this iterative design process, it suffers a number of limitations.
To address these issues, Gostai launched the Urbi 2 project months ago. We are happy to announce that Urbi 2 is up and running. It will be made available for technical preview in the near future. In the meanwhile, let us show you some of the changes we made in Urbi. For a start, we will focus on the changes of the Object-Orientation support in Urbi, later articles will cover other facets of the Urbi 2 system.
What follows is implemented, runs, and can be done at home in total safety.
Read the rest of this entry »
Tags: urbi2
Posted in Features Preview | No Comments »
February 22nd, 2008
There are no “pointers” available in Urbi 1.x, nor references like in C++ for example. This will change in Urbi 2, where everything is an object and references can be made with a simple assignment between objects. Meanwhile, it is possible to use the “map” type of Urbi 1.x to emulate pointers in various ways, and we give some simple examples here.
Read the rest of this entry »
Posted in Tutorial | No Comments »
January 14th, 2008
Thanks to the interpreted nature of the language, Urbi is very well suited for automatic mappings between interfaces, as it allow to create/delete object methods at run time. We will use this to give a few guidelines on how to design a generic UObject capable of creating a proxy to most distributed object architectures. We will take Corba as an illustration, but other component architectures like WebServices, Microsoft Robotics Studio or RT Middleware could in principle be interfaced using the same approach.
Read the rest of this entry »
Posted in Tutorial | No Comments »
January 12th, 2008
Currently in Urbi 1.x there is no way to include a function inside an expression. This might sound shocking at first, but the deep reason for this is that Urbi 1.x took the (wrong) road of separating commands and expressions, and since functions can involve commands run in parallel and arbitrarily complex execution trees, it was basically impossible to do it without a hack. Urbi 2.x has unified commands and expressions (actually, everything is an object in Urbi 2.x) and the problem has disappeared. So it won’t be long until this problem is properly fixed.
Still, there is a very easy workaround in Urbi 1.x to include function calls inside expressions, and we describe it here.
Read the rest of this entry »
Posted in Workarounds | No Comments »
January 12th, 2008
Posted in Workarounds | No Comments »
January 12th, 2008
Posted in Workarounds | No Comments »