IndexNextUpPreviousUrbi SDK 3.0.0

Contents

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