URBI is a little revolution in the programming world.
Our technology is based on a new script language that brings totally new features in terms of parallelism, event-based programming and distributed object management with UObject. All this with a familiar C++ like syntax that makes it easy to learn.
URBI is also fully interfaced through liburbi with your favorite languages: C++, Java, Matlab, Python, Ruby, and many others. Liburbi is available under the GPL license.
Check this quick overview of the Urbi technology or go directly to our dedicated pages
1 - The UObject Architecture
You can import objects written in C++ and plug them in URBI to use them as normal objects inside the language. They are called UObjects. You can also run a UObject as a remote object, a simple autonomous executable in Windows, Linux or Mac OSX. You don't have to change a single line of code to switch from embedded "linked" mode to remote mode.
|
2 - Parallelism & Events
Robotics needs parallelism and requires to go beyond threads and application-level parallelism. URBI integrates parallelism and event-based programming at the core of its semantics, which is new. Commands like 'whenever' or 'at' will start code when events occur. The & symbol can be used instead of the usual semicolon: A&B means that A and B will run in parallel. It's that simple.
|
3 - Advanced Language Features
|
As a truly parallel language, URBI brings powerful abstractions that you will never access as easily in another script language. Here is a few of these features:
|
More about the Urbi technologyUrbi Studio



