1 Introduction
1.1 Urbi and UObjects
1.2 The Big Picture
1.3 Urbi and urbiscript
1.4 Genesis
1.5 Outline
1.6 Documentation
2 Getting Started
I urbiscript User Manual
3 First Steps
3.1 Comments
3.2 Literal values
3.3 Function calls
3.4 Variables
3.5 Scopes
3.6 Method calls
3.7 Function definition
3.8 Conclusion
4 Basic Objects, Value Model
4.1 Objects in urbiscript
4.2 Methods
4.3 Everything is an object
4.4 The urbiscript values model
4.5 Conclusion
5 Flow Control Constructs
5.1 if
5.2 while
5.3 for
5.4 switch
5.5 do
6 Advanced Functions and Scoping
6.1 Scopes as expressions
6.2 Advanced scoping
6.3 Local functions
6.4 Lexical closures
7 Objective Programming, urbiscript Object Model
7.1 Prototype-Based Programming in urbiscript
7.2 Prototypes and Slot Lookup
7.3 Copy on Write
7.4 Defining Pseudo-Classes
7.5 Constructors
7.6 Operators
7.7 Properties
7.7.1 Features of Values
7.7.2 Features of Slots
7.8 Getters and setters
7.8.1 When to use properties?
8 Organizing your code using package and import
8.1 Why object lookup is not enough
8.2 Import and package
9 Functional Programming
9.1 First class functions
9.2 Lambda functions
9.3 Lazy arguments
10 Parallelism, Concurrent Flow Control
10.1 Parallelism operators
10.2 Detach
10.3 Tags for parallel control flows
10.4 timeout, freezeif and stopif
10.4.1 timeout
10.4.2 stopif and freezeif
10.5 Advanced example with parallelism and tags
11 Event-based Programming
11.1 Watchdog constructs
11.2 Events
11.2.1 Emitting Events
11.2.2 Emitting events with a payload
11.2.3 waituntil
12 Urbi for ROS Users
12.1 Communication on topics
12.1.1 Starting a process from Urbi
12.1.2 Listening to Topics
12.1.3 Advertising on Topics
12.1.3.1 Simple Talker
12.1.3.2 Turtle Simulation
12.2 Using Services
12.3 Image Publisher from ROS to Urbi
12.4 Image Subscriber from Urbi to ROS
12.5 Remote communication
II Guidelines and Cook Books
13 Installation
13.1 Download
13.1.1 Download Urbi 3.0.0
13.1.2 Download a Specific Version of Urbi
13.2 Install & Check
13.2.1 GNU/Linux and Mac OS X
13.2.2 Windows
14 Frequently Asked Questions
14.1 Build Issues
14.1.1 Complaints about ‘+=’
14.1.2 error: ‘<anonymous>’ is used uninitialized in this function
14.1.3 AM_LANGINFO_CODESET
14.1.4 configure: error: The Java VM java failed
14.1.5 ‘make check’ fails
14.1.6 check: error: Unable to load native library: libjava.jnilib
14.2 Troubleshooting
14.2.1 error while loading shared libraries: libport.so
14.2.2 Error 1723: “A DLL required for this install to complete
could not be run.”
14.2.3 When executing a program, the message “The system cannot
execute the specified program.” is raised.
14.2.4 When executing a program, the message “This application
has failed to start” is raised.
14.2.5 The server dies with “stack exhaustion”
14.2.6 ’myuobject: file not found’. What can I do?
14.3 urbiscript
14.3.1 Objects lifetime
14.3.2 Slots and variables
14.3.3 Tags
14.3.4 Events
14.3.5 Standard Library
14.4 UObjects
14.4.1 Is the UObject API Thread-Safe?
14.5 Miscellaneous
14.5.1 What has changed since the latest release?
14.5.2 How can I contribute to the code?
14.5.3 How do I report a bug?
15 Urbi Guideline
15.1 urbiscript Programming Guideline
15.1.1 Prefer Expressions to Statements
15.1.2 Avoid return
16 Migration from urbiscript 1 to urbiscript 2
16.1 $(Foo)
16.2 delete Foo
16.3 emit Foo
16.4 eval(Foo)
16.5 foreach
16.6 group
16.7 loopn
16.8 new Foo
16.9 self
16.10 stop Foo
16.11 # line
16.12 tag+end
17 Migration from urbiscript 2 to urbiscript 3
17.1 Automatic function evaluation without parenthesis
17.2 getSlot and setSlot
17.3 Packages
18 Building Urbi SDK
18.1 Building
18.1.1 Getting and installing qibuild
18.1.2 Setting up an urbi worktree
18.1.3 Building
18.1.4 Modifying the grammar or the AST
18.1.5 Installing
18.2 Run
18.3 Check
18.4 Debug
18.4.1 GDB commands
III Urbi SDK Reference Manual
19 Programs
19.1 Environment Variables
19.1.1 Search Path Variables
19.1.2 Environment Variables
19.2 Special Files
19.3 urbi — Running an Urbi Server
19.3.1 Options
19.3.2 Quitting
19.4 urbi-image — Querying Images from a Server
19.4.1 Options
19.5 urbi-launch — Running a UObject
19.5.1 Invoking urbi-launch
19.5.2 Examples
19.5.3 UObject Module Options
19.6 urbi-launch-java — Running a Java UObject
19.6.1 Invoking urbi-launch-java
19.7 urbi-ping — Checking the Delays with a Server
19.7.1 Options
19.8 urbi-send — Sending urbiscript Commands to a Server
19.9 urbi-sound — Querying Sounds from a Server
19.9.1 Options
19.10 umake — Compiling UObject Components
19.10.1 Invoking umake
19.10.2 umake Wrappers
20 urbiscript Language Reference Manual
20.1 Syntax
20.1.1 Characters, encoding
20.1.2 Comments
20.1.3 Synclines
20.1.4 Identifiers
20.1.5 Keywords
20.1.6 Literals
20.1.6.1 Angles
20.1.6.2 Dictionaries
20.1.6.3 Durations
20.1.6.4 Floats
20.1.6.5 Lists
20.1.6.6 Strings
20.1.6.7 Tuples
20.1.6.8 Pseudo classes
20.1.7 Statement Separators
20.1.7.1 ‘;’
20.1.7.2 ‘,’
20.1.7.3 ‘|’
20.1.7.4 ‘&’
20.1.8 Operators
20.1.8.1 Arithmetic operators
20.1.8.2 Assignment operators
20.1.8.3 Increment/decrement Operators
20.1.8.4 Bitwise operators
20.1.8.5 Logical operators
20.1.8.6 Comparison operators
20.1.8.7 Container operators
20.1.8.8 Object operators
20.1.8.9 All operators summary
20.2 Scopes and local variables
20.2.1 Scopes
20.2.2 Local variables
20.3 Functions
20.3.1 Function Definition
20.3.2 Arguments
20.3.2.1 Default value
20.3.2.2 Argument typing
20.3.3 Return value
20.3.4 Call messages
20.3.5 Strictness
20.3.6 Closures
20.3.7 Variadic functions
20.4 Objects
20.4.1 Slots
20.4.1.1 Manipulation
20.4.1.2 Syntactic Sugar
20.4.2 Properties
20.4.2.1 Manipulation
20.4.3 Direct slot access
20.4.3.1 Getting and setting slots
20.4.3.2 Properties
20.4.4 Other features
20.4.5 Prototypes
20.4.5.1 Manipulation
20.4.5.2 Inheritance
20.4.5.3 Copy on write
20.4.6 Sending messages
20.5 Enumeration types
20.6 Structural Pattern Matching
20.6.1 Basic Pattern Matching
20.6.2 Variable
20.6.3 Guard
20.7 Imperative flow control
20.7.1 break
20.7.2 continue
20.7.3 do
20.7.4 for
20.7.5 C-like for
20.7.5.1 for;
20.7.5.2 for|
20.7.6 Range-for
20.7.6.1 Range-for;
20.7.6.2 Range-for|
20.7.7 Anonymous range-for
20.7.7.1 Anonymous Range-for;
20.7.7.2 Anonymous Range-for;
20.7.8 if
20.7.9 loop
20.7.9.1 loop;
20.7.9.2 loop|
20.7.10 switch
20.7.11 while
20.7.11.1 while;
20.7.11.2 while|
20.8 Exceptions
20.8.1 Throwing exceptions
20.8.2 Catching exceptions
20.8.3 Inspecting exceptions
20.8.4 Finally
20.8.4.1 Regular execution
20.8.4.2 Control-flow
20.8.4.3 Tags
20.8.4.4 Exceptions
20.9 Assertions
20.9.1 Asserting an Expression
20.9.2 Assertion Blocks
20.10 Parallel Flow Control
20.10.1 Tagging
20.10.2 every
20.10.2.1 every;
20.10.2.2 every|
20.10.2.3 every,
20.10.3 C-for,
20.10.4 Range-for&
20.10.5 Anonymous range-for&
20.10.6 loop,
20.10.7 timeout
20.10.8 stopif
20.10.9 freezeif
20.10.10 while,
20.11 Event Handling
20.11.1 at
20.11.1.1 at on Events
20.11.1.2 at on Boolean Expressions
20.11.1.3 Synchronous and asynchronous at
20.11.1.4 Execution Context
20.11.1.5 Tags and at
20.11.1.6 Scoped at
20.11.2 waituntil
20.11.2.1 waituntil on Events
20.11.2.2 waituntil on Boolean Expressions
20.11.3 watch
20.11.4 whenever
20.11.4.1 whenever on Events
20.11.4.2 whenever on Boolean Expressions
20.12 Trajectories
20.13 Garbage Collection and Limitations
21 urbiscript Standard Library
21.1 Barrier
21.1.1 Prototypes
21.1.2 Construction
21.1.3 Slots
21.2 Binary
21.2.1 Prototypes
21.2.2 Construction
21.2.3 Slots
21.3 Boolean
21.3.1 Truth Values
21.3.2 Prototypes
21.3.3 Construction
21.3.4 Slots
21.4 CallMessage
21.4.1 Examples
21.4.1.1 Evaluating an argument several times
21.4.1.2 Strict Functions
21.4.2 Prototypes
21.4.3 Slots
21.5 Channel
21.5.1 Prototypes
21.5.2 Construction
21.5.3 Slots
21.6 Code
21.6.1 Prototypes
21.6.2 Construction
21.6.3 Slots
21.7 Comparable
21.7.1 Example
21.7.2 Prototypes
21.7.3 Slots
21.8 Container
21.8.1 Prototypes
21.8.2 Slots
21.9 Control
21.9.1 Prototypes
21.9.2 Slots
21.10 Date
21.10.1 Prototypes
21.10.2 Construction
21.10.3 Slots
21.11 Dictionary
21.11.1 Example
21.11.2 Hash values
21.11.3 Prototypes
21.11.4 Construction
21.11.5 Slots
21.12 Directory
21.12.1 Prototypes
21.12.2 Construction
21.12.3 Slots
21.13 Duration
21.13.1 Prototypes
21.13.2 Construction
21.13.3 Slots
21.14 Enumeration
21.14.1 Examples
21.14.2 Prototypes
21.14.3 Construction
21.14.4 Slots
21.15 Event
21.15.1 Examples
21.15.2 Synchronicity of Event Handling
21.15.3 Sustained Events
21.15.4 Prototypes
21.15.5 Construction
21.15.6 Slots
21.16 Exception
21.16.1 Prototypes
21.16.2 Construction
21.16.3 Slots
21.16.3.1 General Features
21.16.3.2 Specific Exceptions
21.17 Executable
21.17.1 Prototypes
21.17.2 Construction
21.17.3 Slots
21.18 File
21.18.1 Prototypes
21.18.2 Construction
21.18.3 Slots
21.19 Finalizable
21.19.1 Example
21.19.2 Prototypes
21.19.3 Construction
21.19.4 Slots
21.20 Float
21.20.1 Prototypes
21.20.2 Construction
21.20.3 Slots
21.21 Float.limits
21.21.1 Prototypes
21.21.2 Slots
21.22 FormatInfo
21.22.1 Prototypes
21.22.2 Construction
21.22.3 Slots
21.23 Formatter
21.23.1 Prototypes
21.23.2 Construction
21.23.3 Slots
21.24 Global
21.24.1 Prototypes
21.24.2 Slots
21.25 Group
21.25.1 Example
21.25.2 Prototypes
21.25.3 Construction
21.25.4 Slots
21.26 Hash
21.26.1 Prototypes
21.26.2 Construction
21.26.3 Slots
21.27 InputStream
21.27.1 Prototypes
21.27.2 Construction
21.27.3 Slots
21.28 IoService
21.28.1 Example
21.28.2 Prototypes
21.28.3 Construction
21.28.4 Slots
21.29 Job
21.29.1 Prototypes
21.29.2 Construction
21.29.3 Slots
21.30 Kernel1
21.30.1 Prototypes
21.30.2 Construction
21.30.3 Slots
21.31 Lazy
21.31.1 Examples
21.31.1.1 Evaluating once
21.31.1.2 Evaluating several times
21.31.2 Caching
21.31.3 Prototypes
21.31.4 Construction
21.31.5 Slots
21.32 List
21.32.1 Prototypes
21.32.2 Construction
21.32.3 Slots
21.33 Loadable
21.33.1 Example
21.33.2 Prototypes
21.33.3 Construction
21.33.4 Slots
21.34 Lobby
21.34.1 Examples
21.34.2 Prototypes
21.34.3 Construction
21.34.4 Slots
21.35 Location
21.35.1 Prototypes
21.35.2 Construction
21.35.3 Slots
21.36 Logger
21.36.1 Examples
21.36.2 Existing Categories
21.36.3 Prototypes
21.36.4 Construction
21.36.5 Slots
21.37 Math
21.37.1 Prototypes
21.37.2 Construction
21.37.3 Slots
21.38 Matrix
21.38.1 Prototypes
21.38.2 Construction
21.38.3 Slots
21.39 Mutex
21.39.1 Prototypes
21.39.2 Construction
21.39.3 Slots
21.40 nil
21.40.1 Prototypes
21.40.2 Construction
21.40.3 Slots
21.41 Object
21.41.1 Prototypes
21.41.2 Construction
21.41.3 Slots
21.42 Orderable
21.42.1 Example
21.42.2 Prototypes
21.42.3 Slots
21.43 OutputStream
21.43.1 Prototypes
21.43.2 Construction
21.43.3 Slots
21.44 Pair
21.44.1 Prototypes
21.44.2 Construction
21.44.3 Slots
21.45 Path
21.45.1 Prototypes
21.45.2 Construction
21.45.3 Slots
21.46 Pattern
21.46.1 Prototypes
21.46.2 Construction
21.46.3 Slots
21.47 Position
21.47.1 Prototypes
21.47.2 Construction
21.47.3 Slots
21.48 Primitive
21.48.1 Prototypes
21.48.2 Construction
21.48.3 Slots
21.49 Process
21.49.1 Example
21.49.2 Prototypes
21.49.3 Construction
21.49.4 Slots
21.50 Profile
21.50.1 Example
21.50.1.1 Basic profiling
21.50.1.2 Asynchronous profiling
21.50.2 Prototypes
21.50.3 Construction
21.50.4 Slots
21.51 Profile.Function
21.51.1 Prototypes
21.51.2 Construction
21.51.3 Slots
21.52 PseudoLazy
21.52.1 Prototypes
21.52.2 Slots
21.53 PubSub
21.53.1 Prototypes
21.53.2 Construction
21.53.3 Slots
21.54 PubSub.Subscriber
21.54.1 Prototypes
21.54.2 Construction
21.54.3 Slots
21.55 RangeIterable
21.55.1 Prototypes
21.55.2 Slots
21.56 Regexp
21.56.1 Prototypes
21.56.2 Construction
21.56.3 Slots
21.57 Semaphore
21.57.1 Prototypes
21.57.2 Construction
21.57.3 Slots
21.58 Serializables
21.58.1 Prototypes
21.58.2 Slots
21.59 Server
21.59.1 Prototypes
21.59.2 Construction
21.59.3 Slots
21.60 Singleton
21.60.1 Prototypes
21.60.2 Construction
21.60.3 Slots
21.61 Slot
21.61.1 Accessing the slot object
21.61.2 Key features
21.61.3 Split mode
21.61.4 Construction
21.61.5 Prototypes
21.61.6 Slots
21.62 Socket
21.62.1 Example
21.62.2 Prototypes
21.62.3 Construction
21.62.4 Slots
21.63 StackFrame
21.63.1 Prototypes
21.63.2 Construction
21.63.3 Slots
21.64 Stream
21.64.1 Prototypes
21.64.2 Construction
21.64.3 Slots
21.65 String
21.65.1 Prototypes
21.65.2 Construction
21.65.3 Slots
21.66 Subscription
21.66.1 Prototypes
21.66.2 Construction
21.66.3 Slots
21.67 System
21.67.1 Prototypes
21.67.2 Slots
21.68 System.PackageInfo
21.68.1 Prototypes
21.68.2 Slots
21.69 System.Platform
21.69.1 Prototypes
21.69.2 Slots
21.70 Tag
21.70.1 Examples
21.70.1.1 Stop
21.70.1.2 Block/unblock
21.70.1.3 Freeze/unfreeze
21.70.1.4 Scope tags
21.70.1.5 Enter/leave events
21.70.1.6 Begin/end
21.70.2 Hierarchical tags
21.70.3 Prototypes
21.70.4 Construction
21.70.5 Slots
21.71 Timeout
21.71.1 Examples
21.71.2 Prototypes
21.71.3 Construction
21.71.4 Slots
21.72 Traceable
21.72.1 Prototypes
21.72.2 Slots
21.73 TrajectoryGenerator
21.73.1 Examples
21.73.1.1 Accel
21.73.1.2 Cos
21.73.1.3 Sin
21.73.1.4 Smooth
21.73.1.5 Speed
21.73.1.6 Time
21.73.1.7 Trajectories and Tags
21.73.2 Prototypes
21.73.3 Construction
21.73.4 Slots
21.74 Triplet
21.74.1 Prototypes
21.74.2 Construction
21.74.3 Slots
21.75 Tuple
21.75.1 Prototypes
21.75.2 Construction
21.75.3 Slots
21.76 UObject
21.76.1 Prototypes
21.76.2 Slots
21.77 uobjects
21.77.1 Prototypes
21.77.2 Slots
21.78 UValue
21.78.1 Prototypes
21.78.2 Slots
21.79 UValueSerializable
21.79.1 Example
21.79.2 Prototypes
21.79.3 Slots
21.80 Vector
21.80.1 Prototypes
21.80.2 Construction
21.80.3 Slots
21.81 void
21.81.1 Prototypes
21.81.2 Construction
21.81.3 Slots
22 Communication with ROS
22.1 Ros
22.1.1 Construction
22.1.2 Slots
22.2 Ros.Topic
22.2.1 Construction
22.2.2 Slots
22.2.2.1 Common
22.2.2.2 Subscription
22.2.2.3 Advertising
22.2.3 Example
22.3 Ros.Service
22.3.1 Construction
22.3.2 Slots
23 Urbi Standard Robotics API
23.1 The Structure Tree
23.2 Frame of Reference
23.3 Component naming
23.4 Localization
23.5 Interface
23.5.1 AudioIn
23.5.2 AudioOut
23.5.3 Battery
23.5.4 BlobDetector
23.5.5 Identity
23.5.6 Led
23.5.6.1 RGBLed
23.5.7 Mobile
23.5.7.1 Blocking API
23.5.7.2 Speed-control API
23.5.7.3 Safety
23.5.7.4 State
23.5.8 Motor
23.5.8.1 LinearMotor
23.5.8.2 LinearSpeedMotor
23.5.8.3 RotationalMotor
23.5.8.4 RotationalSpeedMotor
23.5.9 Network
23.5.10 Sensor
23.5.10.1 AccelerationSensor
23.5.10.2 DistanceSensor
23.5.10.3 GyroSensor
23.5.10.4 Laser
23.5.10.5 TemperatureSensor
23.5.10.6 TouchSensor
23.5.11 SpeechRecognizer
23.5.12 TextToSpeech
23.5.13 Tracker
23.5.14 VideoIn
23.6 Standard Components
23.6.1 Yaw/Pitch/Roll orientation
23.6.2 Standard Component List
23.7 Compact notation
23.8 Support classes
23.8.1 Interface
23.8.2 Component
23.8.3 Localizer
IV Urbi and UObjects User Manual
24 Quick Start
24.1 UObject Basics
24.1.1 The Objects to Bind into Urbi
24.1.2 Wrapping into an UObject
24.1.3 Running Components
24.1.3.1 Compiling
24.1.3.2 Running UObjects
24.2 Using urbiscript
24.2.1 The urbiscript Scripting Language
24.2.2 Concurrency
24.2.2.1 First Attempt
24.2.2.2 Second Attempt: Threaded Functions
24.3 Conclusion
25 The UObject API
25.1 Compiling UObjects
25.1.1 Compiling with qibuild
25.1.2 Compiling by hand
25.1.3 The umake-* family of tools
25.1.4 Using the Visual C++ Wizard
25.2 Creating a class, binding variables and functions
25.3 Creating new instances
25.4 Binding functions
25.4.1 Simple binding
25.4.2 Multiple bindings
25.4.3 Asynchronous binding
25.5 Notification of a variable change or access
25.5.1 Threaded notification
25.6 Data-flow based programming: exchanging UVars
25.7 Data-flow based programming: InputPort
25.7.1 Customizing data-flow links
25.8 Timers
25.9 The special case of sensor/actuator variables
25.10 Using Urbi variables
25.11 Emitting events
25.12 UObject and Threads
25.13 Using binary types
25.13.1 UVar conversion and memory management
25.13.2 Binary conversion
25.13.3 0-copy mode
25.14 Direct communication between UObjects
25.15 Using hubs to group objects
25.16 Sending urbiscript code
25.17 Using RTP transport in remote mode
25.17.1 Enabling RTP
25.17.2 Per-UVar control of RTP mode
25.18 Extending the cast system
25.18.1 Principle
25.18.2 Casting simple structures
26 The UObject Java API
26.1 Compiling and running UObjects
26.1.1 Compiling and running by hand
26.1.2 The umake-java and urbi-launch-java tools
26.2 Creating a class, binding variables and functions
26.3 Creating new instances
26.4 Binding functions
26.5 Notification of a variable change or access
26.6 Timers
26.7 Using Urbi variables
26.8 Sending Urbi code
26.9 Providing a main class or not
26.10 Import the examples with Eclipse
26.11 Run the UObject Java examples
27 Use Cases
27.1 Writing a Servomotor Device
27.1.1 Caching
27.1.2 Using Timers
27.2 Using Hubs to Group Objects
27.2.1 Alternate Implementation
27.3 Writing a Camera Device
27.3.1 Optimization in Plugin Mode
27.4 Writing a Speaker or Microphone Device
27.5 Writing a Softdevice: Ball Detection
V Tables and Indexes
28 Notations
28.1 Words
28.2 Frames
28.2.1 C++ Code
28.2.2 Grammar Excerpts
28.2.3 Java Code
28.2.4 Shell Sessions
28.2.5 urbiscript Sessions
28.2.6 urbiscript Assertions
29 Grammar
30 Release Notes
30.1 Urbi SDK 3.0
30.1.1 Major changes
30.1.2 Fixes
30.1.3 Changes
30.1.3.1 urbiscript
30.1.3.2 urbiscript Standard Library
30.1.3.3 Miscellaneous
30.1.4 New features
30.1.4.1 urbiscript
30.1.4.2 urbiscript Standard Library
30.1.4.3 Miscellaneous
30.1.5 Documentation
30.2 Urbi SDK 2.7.5
30.2.1 Fixes
30.2.2 Changes
30.2.3 New Feature
30.2.4 Documentation
30.3 Urbi SDK 2.7.4
30.3.1 Fixes
30.3.2 Changes
30.3.3 Documentation
30.4 Urbi SDK 2.7.3
30.4.1 Fixes
30.4.2 Changes
30.4.3 Documentation
30.5 Urbi SDK 2.7.2
30.5.1 Fixes
30.6 Urbi SDK 2.7.1
30.6.1 Fixes
30.6.2 Changes
30.6.3 Documentation
30.7 Urbi SDK 2.7
30.7.1 Changes
30.7.2 New Features
30.7.3 Documentation
30.8 Urbi SDK 2.6
30.8.1 Fixes
30.8.2 Optimizations
30.8.3 New Features
30.8.4 Documentation
30.9 Urbi SDK 2.5
30.9.1 Fixes
30.9.2 New Features
30.9.3 Changes
30.9.4 Documentation
30.10 Urbi SDK 2.4
30.10.1 Fixes
30.10.2 New Features
30.10.3 Documentation
30.11 Urbi SDK 2.3
30.11.1 Fixes
30.11.2 New Features
30.12 Urbi SDK 2.2
30.12.1 Fixes
30.12.2 New Features
30.12.3 Documentation
30.13 Urbi SDK 2.1
30.13.1 Fixes
30.13.2 New Features
30.13.3 Optimization
30.13.4 Documentation
30.14 Urbi SDK 2.0.3
30.14.1 New Features
30.14.2 Fixes
30.14.3 Documentation
30.15 Urbi SDK 2.0.2
30.15.1 urbiscript
30.15.2 Fixes
30.15.3 Documentation
30.16 Urbi SDK 2.0.1
30.16.1 urbiscript
30.16.2 Documentation
30.16.3 Fixes
30.17 Urbi SDK 2.0
30.17.1 urbiscript
30.17.1.1 Changes
30.17.1.2 New features
30.17.2 UObjects
30.17.3 Documentation
30.18 Urbi SDK 2.0 RC 4
30.18.1 urbiscript
30.18.1.1 Changes
30.18.1.2 New objects
30.18.1.3 New features
30.18.2 UObjects
30.19 Urbi SDK 2.0 RC 3
30.19.1 urbiscript
30.19.1.1 Fixes
30.19.1.2 Changes
30.19.2 Documentation
30.20 Urbi SDK 2.0 RC 2
30.20.1 Optimization
30.20.2 urbiscript
30.20.2.1 New constructs
30.20.2.2 New objects
30.20.2.3 New features
30.20.2.4 Fixes
30.20.2.5 Deprecations
30.20.2.6 Changes
30.20.3 UObjects
30.20.4 Documentation
30.20.5 Various
30.21 Urbi SDK 2.0 RC 1
30.21.1 Auxiliary programs
30.21.2 urbiscript
30.21.2.1 Changes
30.21.2.2 Fixes
30.21.3 URBI Remote SDK
30.21.4 Documentation
30.22 Urbi SDK 2.0 beta 4
30.22.1 Documentation
30.22.2 urbiscript
30.22.2.1 Bug fixes
30.22.2.2 Changes
30.22.3 Programs
30.22.3.1 Environment variables
30.22.3.2 Scripting
30.22.3.3 urbi-console
30.22.3.4 Auxiliary programs
30.23 Urbi SDK 2.0 beta 3
30.23.1 Documentation
30.23.2 urbiscript
30.23.2.1 Fixes
30.23.2.2 Changes
30.23.3 UObjects
30.23.4 Auxiliary programs
30.24 Urbi SDK 2.0 beta 2
30.24.1 urbiscript
30.24.2 Standard library
30.24.3 UObjects
30.24.4 Run-time
30.24.5 Bug fixes
30.24.6 Auxiliary programs
31 Licenses
31.1 Boost Software License 1.0
31.2 BSD License
31.3 Expat License
31.4 gnu.bytecode
31.5 ICU License
31.6 Independent JPEG Group’s Software License
31.7 Libcoroutine License
31.8 OpenSSL License
31.9 ROS
31.10 Urbi Open Source Contributor Agreement
32 Bibliography
33 Glossary
34 List of Tables
35 List of Figures