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 Urbi and UObjects User Manual
3 Quick Start
3.1 UObject Basics
3.1.1 The Objects to Bind into Urbi
3.1.2 Wrapping into an UObject
3.1.3 Running Components
3.1.3.1 Compiling
3.1.3.2 Running UObjects
3.2 Using urbiscript
3.2.1 The urbiscript Scripting Language
3.2.2 Concurrency
3.2.2.1 First Attempt
3.2.2.2 Second Attempt: Threaded Functions
3.3 Conclusion
4 The UObject API
4.1 Compiling UObjects
4.1.1 Compiling by hand
4.1.2 The umake-* family of tools
4.1.3 Using the Visual C++ Wizard
4.2 Creating a class, binding variables and functions
4.3 Creating new instances
4.4 Binding functions
4.4.1 Simple binding
4.4.2 Multiple bindings
4.4.3 Asynchronous binding
4.5 Notification of a variable change or access
4.5.1 Threaded notification
4.6 Data-flow based programming: exchanging UVars
4.7 Data-flow based programming: InputPort
4.7.1 Customizing data-flow links
4.8 Timers
4.9 The special case of sensor/actuator variables
4.10 Using Urbi variables
4.11 Emitting events
4.12 UObject and Threads
4.13 Using binary types
4.13.1 UVar conversion and memory management
4.13.2 Binary conversion
4.13.3 0-copy mode
4.14 Direct Communication between UObjects
4.15 Using hubs to group objects
4.16 Sending urbiscript code
4.17 Using RTP transport in remote mode
4.17.1 Enabling RTP
4.17.2 Per-UVar control of RTP mode
4.18 Extending the cast system
4.18.1 Principle
4.18.2 Casting simple structures
5 The UObject Java API
5.1 Compiling and running UObjects
5.1.1 Compiling and running by hand
5.1.2 The umake-java and urbi-launch-java tools
5.2 Creating a class, binding variables and functions
5.3 Creating new instances
5.4 Binding functions
5.4.1 Simple binding
5.5 Notification of a variable change or access
5.6 Timers
5.7 Using Urbi variables
5.8 Sending Urbi code
5.9 Providing a main class or not
5.10 Import the examples with Eclipse
5.11 Run the UObject Java examples
6 Use Cases
6.1 Writing a Servomotor Device
6.1.1 Caching
6.1.2 Using Timers
6.2 Using Hubs to Group Objects
6.2.1 Alternate Implementation
6.3 Writing a Camera Device
6.3.1 Optimization in Plugin Mode
6.4 Writing a Speaker or Microphone Device
6.5 Writing a Softdevice: Ball Detection
II urbiscript User Manual
7 First Steps
7.1 Comments
7.2 Literal values
7.3 Function calls
7.4 Variables
7.5 Scopes
7.6 Method calls
7.7 Function definition
7.8 Conclusion
8 Basic Objects, Value Model
8.1 Objects in urbiscript
8.2 Methods
8.3 Everything is an object
8.4 The urbiscript values model
8.5 Conclusion
9 Flow Control Constructs
9.1 if
9.2 while
9.3 for
9.4 switch
9.5 do
10 Advanced Functions and Scoping
10.1 Scopes as expressions
10.2 Advanced scoping
10.3 Local functions
10.4 Lexical closures
11 Objective Programming, urbiscript Object Model
11.1 Prototype-Based Programming in urbiscript
11.2 Prototypes and Slot Lookup
11.3 Copy on Write
11.4 Defining Pseudo-Classes
11.5 Constructors
11.6 Operators
11.7 Properties
11.7.1 Features of Values
11.7.2 Features of Slots
12 Functional Programming
12.1 First class functions
12.2 Lambda functions
12.3 Lazy arguments
13 Parallelism, Concurrent Flow Control
13.1 Parallelism operators
13.2 Detach
13.3 Tags for parallel control flows
13.4 Advanced example with parallelism and tags
14 Event-based Programming
14.1 Watchdog constructs
14.2 Events
14.2.1 Emitting Events
14.2.2 Emitting events with a payload
15 Urbi for ROS Users
15.1 Communication on topics
15.1.1 Starting a process from Urbi
15.1.2 Listening to Topics
15.1.3 Advertising on Topics
15.1.3.1 Simple Talker
15.1.3.2 Turtle Simulation
15.2 Using Services
15.3 Image Publisher from ROS to Urbi
15.4 Image Subscriber from Urbi to ROS
15.5 Remote communication
III Guidelines and Cook Books
16 Installation
16.1 Download
16.2 Install & Check
16.2.1 GNU/Linux and Mac OS X
16.2.2 Windows
17 Frequently Asked Questions
17.1 Build Issues
17.1.1 Complaints about ‘+=’
17.1.2 error: ‘<anonymous>’ is used uninitialized in this function
17.1.3 AM_LANGINFO_CODESET
17.1.4 configure: error: The Java VM java failed
17.1.5 ‘make check’ fails
17.2 Troubleshooting
17.2.1 error while loading shared libraries: libport.so
17.2.2 Error 1723: “A DLL required for this install to complete
could not be run.”
17.2.3 When executing a program, the message “The system cannot
execute the specified program.” is raised.
17.2.4 When executing a program, the message “This application
has failed to start” is raised.
17.2.5 The server dies with “stack exhaustion”
17.2.6 ’myuobject: file not found’. What can I do?
17.3 urbiscript
17.3.1 Objects lifetime
17.3.2 Slots and variables
17.3.3 Tags
17.3.4 Events
17.3.5 Standard Library
17.4 UObjects
17.4.1 Is the UObject API Thread-Safe?
17.5 Miscellaneous
17.5.1 What has changed since the latest release?
17.5.2 How can I contribute to the code?
17.5.3 How do I report a bug?
18 Urbi Guideline
18.1 urbiscript Programming Guideline
18.1.1 Prefer Expressions to Statements
18.1.2 Avoid return
19 Migration from urbiscript 1 to urbiscript 2
19.1 $(Foo)
19.2 delete Foo
19.3 emit Foo
19.4 eval(Foo)
19.5 foreach
19.6 group
19.7 loopn
19.8 new Foo
19.9 self
19.10 stop Foo
19.11 # line
19.12 tag+end
20 Building Urbi SDK
20.1 Requirements
20.1.1 Bootstrap
20.1.2 Build
20.1.3 Check
20.2 Check out
20.3 Bootstrap
20.4 Configure
20.4.1 configuration options
20.4.2 Windows: Cygwin
20.4.3 Building For Windows
20.4.4 Building for Windows using Cygwin
20.5 Compile
20.6 Install
20.7 Relocatable
20.8 Run
20.9 Check
20.9.1 Lazy test suites
20.9.2 Partial test suite runs
IV Urbi SDK Reference Manual
21 Programs
21.1 Environment Variables
21.1.1 Search Path Variables
21.1.2 Environment Variables
21.2 Special Files
21.3 urbi — Running an Urbi Server
21.3.1 Options
21.3.2 Quitting
21.4 urbi-image — Querying Images from a Server
21.4.1 Options
21.5 urbi-launch — Running a UObject
21.5.1 Invoking urbi-launch
21.5.2 Examples
21.6 urbi-launch-java — Running a Java UObject
21.6.1 Invoking urbi-launch-java
21.7 urbi-ping — Checking the Delays with a Server
21.7.1 Options
21.8 urbi-send — Sending urbiscript Commands to a Server
21.9 urbi-sound — Querying Sounds from a Server
21.9.1 Options
21.10 umake — Compiling UObject Components
21.10.1 Invoking umake
21.10.2 umake Wrappers
22 urbiscript Language Reference Manual
22.1 Syntax
22.1.1 Characters, encoding
22.1.2 Comments
22.1.3 Synclines
22.1.4 Identifiers
22.1.5 Keywords
22.1.6 Literals
22.1.6.1 Angles
22.1.6.2 Dictionaries
22.1.6.3 Durations
22.1.6.4 Floats
22.1.6.5 Lists
22.1.6.6 Strings
22.1.6.7 Tuples
22.1.6.8 Pseudo classes
22.1.7 Statement Separators
22.1.7.1 ‘;’
22.1.7.2 ‘,’
22.1.7.3 ‘|’
22.1.7.4 ‘&’
22.1.8 Operators
22.1.8.1 Arithmetic operators
22.1.8.2 Assignment operators
22.1.8.3 Postfix Operators
22.1.8.4 Bitwise operators
22.1.8.5 Logical operators
22.1.8.6 Comparison operators
22.1.8.7 Container operators
22.1.8.8 Object operators
22.1.8.9 All operators summary
22.2 Scopes and local variables
22.2.1 Scopes
22.2.2 Local variables
22.3 Functions
22.3.1 Function Definition
22.3.2 Arguments
22.3.3 Return value
22.3.4 Call messages
22.3.5 Strictness
22.3.6 Lexical closures
22.3.7 Variadic functions
22.4 Objects
22.4.1 Slots
22.4.1.1 Manipulation
22.4.1.2 Syntactic Sugar
22.4.2 Properties
22.4.2.1 Manipulation
22.4.2.2 Standard Properties
22.4.3 Prototypes
22.4.3.1 Manipulation
22.4.3.2 Inheritance
22.4.3.3 Copy on write
22.4.4 Sending messages
22.5 Enumeration types
22.6 Structural Pattern Matching
22.6.1 Basic Pattern Matching
22.6.2 Variable
22.6.3 Guard
22.7 Imperative flow control
22.7.1 break
22.7.2 continue
22.7.3 do
22.7.4 if
22.7.5 for
22.7.5.1 C-like for
22.7.5.2 Range-for
22.7.5.3 for n-times
22.7.6 if
22.7.7 loop
22.7.8 switch
22.7.9 while
22.7.9.1 while;
22.7.9.2 while—
22.8 Exceptions
22.8.1 Throwing exceptions
22.8.2 Catching exceptions
22.8.3 Inspecting exceptions
22.8.4 Finally
22.8.4.1 Regular execution
22.8.4.2 Control-flow
22.8.4.3 Exceptions
22.9 Assertions
22.9.1 Asserting an Expression
22.9.2 Assertion Blocks
22.10 Parallel and event-based flow control
22.10.1 at
22.10.1.1 at on Events
22.10.1.2 at on Boolean Expressions
22.10.1.3 Synchronous and asynchronous at
22.10.1.4 Scoping at at
22.10.2 every
22.10.2.1 every|
22.10.3 watch
22.10.3.1 every,
22.10.4 for
22.10.4.1 C-for,
22.10.4.2 range-for& (:)
22.10.4.3 for& (n)
22.10.5 loop,
22.10.6 waituntil
22.10.6.1 waituntil on Events
22.10.6.2 waituntil on Boolean Expressions
22.10.7 whenever
22.10.7.1 whenever on Events
22.10.7.2 whenever on Boolean Expressions
22.10.8 While
22.10.8.1 while,
22.11 Trajectories
22.12 Garbage collection and limitations
23 urbiscript Standard Library
23.1 Barrier
23.1.1 Prototypes
23.1.2 Construction
23.1.3 Slots
23.2 Binary
23.2.1 Prototypes
23.2.2 Construction
23.2.3 Slots
23.3 Boolean
23.3.1 Prototypes
23.3.2 Construction
23.3.3 Truth Values
23.3.4 Slots
23.4 CallMessage
23.4.1 Examples
23.4.1.1 Evaluating an argument several times
23.4.1.2 Strict Functions
23.4.2 Slots
23.5 Channel
23.5.1 Prototypes
23.5.2 Construction
23.5.3 Slots
23.6 Code
23.6.1 Prototypes
23.6.2 Construction
23.6.3 Slots
23.7 Comparable
23.7.1 Slots
23.8 Container
23.8.1 Prototypes
23.8.2 Slots
23.9 Control
23.9.1 Prototypes
23.9.2 Slots
23.10 Date
23.10.1 Prototypes
23.10.2 Construction
23.10.3 Slots
23.11 Dictionary
23.11.1 Example
23.11.2 Hash values
23.11.3 Prototypes
23.11.4 Construction
23.11.5 Slots
23.12 Directory
23.12.1 Prototypes
23.12.2 Construction
23.12.3 Slots
23.13 Duration
23.13.1 Prototypes
23.13.2 Construction
23.13.3 Slots
23.14 Enumeration
23.14.1 Prototypes
23.14.2 Examples
23.14.3 Construction
23.14.4 Slots
23.15 Event
23.15.1 Prototypes
23.15.2 Examples
23.15.3 Construction
23.15.4 Slots
23.16 Exception
23.16.1 Prototypes
23.16.2 Construction
23.16.3 Slots
23.16.4 Specific Exceptions
23.17 Executable
23.17.1 Prototypes
23.17.2 Construction
23.17.3 Slots
23.18 File
23.18.1 Prototypes
23.18.2 Construction
23.18.3 Slots
23.19 Finalizable
23.19.1 Example
23.19.2 Prototypes
23.19.3 Construction
23.19.4 Slots
23.20 Float
23.20.1 Prototypes
23.20.2 Construction
23.20.3 Slots
23.21 Float.limits
23.21.1 Slots
23.22 FormatInfo
23.22.1 Prototypes
23.22.2 Construction
23.22.3 Slots
23.23 Formatter
23.23.1 Prototypes
23.23.2 Construction
23.23.3 Slots
23.24 Global
23.24.1 Prototypes
23.24.2 Slots
23.25 Group
23.25.1 Example
23.25.2 Prototypes
23.25.3 Construction
23.25.4 Slots
23.26 Hash
23.26.1 Prototypes
23.26.2 Construction
23.26.3 Slots
23.27 InputStream
23.27.1 Prototypes
23.27.2 Construction
23.27.3 Slots
23.28 IoService
23.28.1 Example
23.28.2 Prototypes
23.28.3 Construction
23.28.4 Slots
23.29 Job
23.29.1 Prototypes
23.29.2 Construction
23.29.3 Slots
23.30 Kernel1
23.30.1 Prototypes
23.30.2 Construction
23.30.3 Slots
23.31 Lazy
23.31.1 Examples
23.31.1.1 Evaluating once
23.31.1.2 Evaluating several times
23.31.2 Caching
23.31.3 Prototypes
23.31.4 Construction
23.31.5 Slots
23.32 List
23.32.1 Prototypes
23.32.2 Examples
23.32.3 Construction
23.32.4 Slots
23.33 Loadable
23.33.1 Prototypes
23.33.2 Example
23.33.3 Construction
23.33.4 Slots
23.34 Lobby
23.34.1 Prototypes
23.34.2 Construction
23.34.3 Examples
23.34.4 Slots
23.35 Location
23.35.1 Prototypes
23.35.2 Construction
23.35.3 Slots
23.36 Logger
23.36.1 Examples
23.36.2 Prototypes
23.36.3 Construction
23.36.4 Slots
23.37 Math
23.37.1 Prototypes
23.37.2 Construction
23.37.3 Slots
23.38 Mutex
23.38.1 Prototypes
23.38.2 Construction
23.38.3 Slots
23.39 nil
23.39.1 Prototypes
23.39.2 Construction
23.39.3 Slots
23.40 Object
23.40.1 Prototypes
23.40.2 Construction
23.40.3 Slots
23.41 Orderable
23.42 OutputStream
23.42.1 Prototypes
23.42.2 Construction
23.42.3 Slots
23.43 Pair
23.43.1 Prototype
23.43.2 Construction
23.43.3 Slots
23.44 Path
23.44.1 Prototypes
23.44.2 Construction
23.44.3 Slots
23.45 Pattern
23.45.1 Prototypes
23.45.2 Construction
23.45.3 Slots
23.46 Position
23.46.1 Prototypes
23.46.2 Construction
23.46.3 Slots
23.47 Primitive
23.47.1 Prototypes
23.47.2 Construction
23.47.3 Slots
23.48 Process
23.48.1 Prototypes
23.48.2 Example
23.48.3 Construction
23.48.4 Slots
23.49 Profile
23.49.1 Example
23.49.1.1 Basic profiling
23.49.1.2 Asynchronous profiling
23.49.2 Prototypes
23.49.3 Construction
23.49.4 Slots
23.50 Profile.Function
23.50.1 Prototypes
23.50.2 Construction
23.50.3 Slots
23.51 PseudoLazy
23.52 PubSub
23.52.1 Prototypes
23.52.2 Construction
23.52.3 Slots
23.53 PubSub.Subscriber
23.53.1 Prototypes
23.53.2 Construction
23.53.3 Slots
23.54 RangeIterable
23.54.1 Prototypes
23.54.2 Slots
23.55 Regexp
23.55.1 Prototypes
23.55.2 Construction
23.55.3 Slots
23.56 Semaphore
23.56.1 Prototypes
23.56.2 Construction
23.56.3 Slots
23.57 Server
23.57.1 Prototypes
23.57.2 Construction
23.57.3 Slots
23.58 Singleton
23.58.1 Prototypes
23.58.2 Construction
23.58.3 Slots
23.59 Socket
23.59.1 Example
23.59.2 Prototypes
23.59.3 Construction
23.59.4 Slots
23.60 StackFrame
23.60.1 Construction
23.60.2 Slots
23.61 Stream
23.61.1 Prototypes
23.61.2 Construction
23.61.3 Slots
23.62 String
23.62.1 Prototypes
23.62.2 Construction
23.62.3 Slots
23.63 System
23.63.1 Prototypes
23.63.2 Slots
23.64 System.PackageInfo
23.64.1 Prototypes
23.64.2 Slots
23.65 System.Platform
23.65.1 Prototypes
23.65.2 Slots
23.66 Tag
23.66.1 Examples
23.66.1.1 Stop
23.66.1.2 Block/unblock
23.66.1.3 Freeze/unfreeze
23.66.1.4 Scope tags
23.66.1.5 Enter/leave events
23.66.1.6 Begin/end
23.66.2 Construction
23.66.3 Slots
23.66.4 Hierarchical tags
23.67 Timeout
23.67.1 Prototypes
23.67.2 Construction
23.67.3 Examples
23.67.4 Slots
23.68 Traceable
23.68.1 Slots
23.69 TrajectoryGenerator
23.69.1 Prototypes
23.69.2 Examples
23.69.2.1 Accel
23.69.2.2 Cos
23.69.2.3 Sin
23.69.2.4 Smooth
23.69.2.5 Speed
23.69.2.6 Time
23.69.2.7 Trajectories and Tags
23.69.3 Construction
23.69.4 Slots
23.70 Triplet
23.70.1 Prototype
23.70.2 Construction
23.70.3 Slots
23.71 Tuple
23.71.1 Prototype
23.71.2 Construction
23.71.3 Slots
23.72 UObject
23.72.1 Prototypes
23.72.2 Slots
23.73 uobjects
23.73.1 Prototypes
23.73.2 Slots
23.74 UValue
23.75 UVar
23.75.1 Construction
23.75.2 Prototypes
23.75.3 Slots
23.76 void
23.76.1 Prototypes
23.76.2 Construction
23.76.3 Slots
24 Communication with ROS
24.1 Ros
24.1.1 Construction
24.1.2 Slots
24.2 Ros.Topic
24.2.1 Construction
24.2.2 Slots
24.2.2.1 Common
24.2.2.2 Subscription
24.2.2.3 Advertising
24.2.3 Example
24.3 Ros.Service
24.3.1 Construction
24.3.2 Slots
25 Gostai Standard Robotics API
25.1 The Structure Tree
25.2 Frame of Reference
25.3 Component naming
25.4 Localization
25.5 Interface
25.5.1 AudioIn
25.5.2 AudioOut
25.5.3 Battery
25.5.4 BlobDetector
25.5.5 Identity
25.5.6 Led
25.5.6.1 RGBLed
25.5.7 Mobile
25.5.7.1 Blocking API
25.5.7.2 Speed-control API
25.5.7.3 Safety
25.5.7.4 State
25.5.8 Motor
25.5.8.1 LinearMotor
25.5.8.2 LinearSpeedMotor
25.5.8.3 RotationalMotor
25.5.8.4 RotationalSpeedMotor
25.5.9 Network
25.5.10 Sensor
25.5.10.1 AccelerationSensor
25.5.10.2 DistanceSensor
25.5.10.3 GyroSensor
25.5.10.4 Laser
25.5.10.5 TemperatureSensor
25.5.10.6 TouchSensor
25.5.11 SpeechRecognizer
25.5.12 TextToSpeech
25.5.13 Tracker
25.5.14 VideoIn
25.6 Standard Components
25.6.1 Yaw/Pitch/Roll orientation
25.6.2 Standard Component List
25.7 Compact notation
25.8 Support classes
25.8.1 Interface
25.8.2 Component
25.8.3 Localizer
V Urbi Platforms
26 Aldebaran Nao
26.1 Introduction
26.2 Starting up
26.3 Accessing joints
26.3.1 Advanced parameters
26.3.1.1 Trajectory generator period
26.3.1.2 Motor back-end method
26.3.1.3 Motor command debugging
26.4 Leds
26.5 Camera
26.5.1 Slots
26.6 Whole body motion
26.7 Other sensors
26.8 Interfacing with NaoQi
26.8.1 Accessing the NaoQi shared memory region
26.8.2 Accessing standard NaoQi modules
26.8.3 Binding new NaoQi modules in Urbi
26.8.4 Writing NaoQi modules in Urbi
26.8.5 More examples
27 Bioloid
27.1 Introduction
27.2 Installing Urbi for Bioloid
27.2.1 Flashing the firmware
27.2.2 Getting Urbi and Urbi for Bioloid
27.3 First steps
27.3.1 Starting up
27.3.2 Motor features
27.3.3 Sensor features
28 Mindstorms NXT
28.1 Launching Urbi for Mindstorms NXT
28.2 First steps with Urbi to control Mindstorms NXT
28.2.1 Make basic movements
28.2.2 Improving the movements
28.2.3 Reading sensors
28.2.4 Tagging commands
28.2.5 Playing sounds
28.2.6 Cyclic moves
28.2.7 Parallelism
28.2.8 Using functions
28.2.9 Loading files
28.2.10 Conclusion
28.3 Default layout reference
28.3.1 Motors
28.3.2 Sensors
28.3.2.1 Bumper
28.3.2.2 Sonar
28.3.2.3 Decibel
28.3.2.4 Light
28.3.3 Battery
28.3.4 Beeper
28.3.5 Command
28.4 How to make its own layout
28.4.1 Instantiating Motors
28.4.2 Instantiating sensors
28.4.3 Other devices
28.5 Available UObject Devices
28.5.1 Servo
28.5.2 UltraSonicSensor
28.5.3 SoundSensor
28.5.4 LightSensor
28.5.5 Switch
28.5.6 Battery
28.5.7 Beeper
28.5.8 Command
28.5.9 Instances
28.5.10 Groups
29 Gostai Open Jazz
29.1 Getting started
29.1.1 Documentation and Support
29.1.1.1 Jazz User Manual
29.1.1.2 Getting Support
29.1.2 Requirements
29.1.3 Embedded Software
29.1.4 Connecting Jazz to your Local Area Network
29.1.5 Connecting to Jazz from your Computer
29.1.5.1 Obtaining Jazz IP Address
29.1.5.2 Gostai Suite
29.1.5.3 Telnet Connection to Urbi on Jazz
29.1.5.4 Ssh Access to Jazz Filesystem
29.1.6 Jazz internal website
29.1.7 Uploading and loading your code on Jazz
29.1.7.1 The User Services web page
29.1.7.2 Uploading Files on Jazz Filesystem using scp
29.1.8 Updating Jazz Software
29.1.9 Restarting Jazz Software
29.1.10 Changing Software Profile
29.1.11 Using the Examples
29.1.11.1 urbiscript Examples
29.1.11.2 UObjects examples
29.2 urbiscript API
29.2.1 Eye leds
29.2.1.1 robot.body.head.eye
29.2.1.2 Example
29.2.2 Docking
29.2.3 Head Motors
29.2.3.1 robot.body.head
29.2.3.2 Example
29.2.4 Microphone
29.2.4.1 Quickly Record the Audio Stream
29.2.4.2 robot.body.head.micro
29.2.4.3 Example
29.2.5 Network
29.2.5.1 robot.network
29.2.5.2 Example
29.2.6 Playing Sound
29.2.6.1 Example
29.2.7 Text to Speech
29.2.7.1 Example
29.2.8 Video Camera
29.2.8.1 Visualize the Video Stream
29.2.8.2 robot.camera
29.2.8.3 Example
29.2.9 Movement
29.2.9.1 urbiscript interface
29.2.9.2 Example
29.2.10 Screen Display
29.2.10.1 From urbiscript
29.2.10.2 Command Line
29.2.11 Sonars
29.2.11.1 urbiscript Interface
29.2.11.2 Example
29.2.12 IRs
29.2.12.1 urbiscript Interface
29.2.12.2 Example
29.2.13 Laser
29.2.13.1 robot.body.laser
29.3 urbiscript Library
29.3.1 AlsaMicrophone
29.3.2 AlsaSpeaker
29.3.3 EchoCanceller
29.4 urbiscript Interfaces
29.4.0.1 AutomaticGainControl
29.4.0.2 Denoiser
29.5 Troubleshooting
29.5.1 Get Jazz Version
29.5.2 Access Jazz Logs
29.5.3 Debug your Urbi Code
29.5.3.1 Monitor urbiscript Job Execution
29.5.3.2 Monitor UObjects Execution Time
29.5.4 Enable Core Dump
29.5.5 Monitor Jazz Processor and Memory Load
29.5.6 Monitor Jazz Hard-Drive Space
29.5.7 I/O Issues when Powering Robot Off
29.6 ROS support
29.6.1 About ROS
29.6.2 ROS support in Jazz
29.6.3 Enabling and configuring ROS service
29.6.4 Predefined topics
29.6.5 Using the navigation stack with ROS
29.6.5.1 Creating a map of your environment
29.6.5.2 Autonomous navigation
29.6.5.3 Troubleshooting
30 Pioneer 3-DX
30.1 Getting started
30.1.1 Prerequisites
30.1.2 Installation
30.1.3 Running
30.2 How to use Pioneer 3-DX robot
30.2.1 P3dx
30.2.2 P3dx.body
30.2.3 P3dx.body.odometry
30.2.4 P3dx.body.sonar
30.2.5 P3dx.body.laser
30.2.6 P3dx.body.camera
30.2.7 P3dx.body.x
30.2.8 P3dx.body.yaw
30.2.9 P3dx.planner
30.2.10 P3dx.body.battery
30.3 Mobility modes
30.4 About units
31 Segway RMP
31.1 RMP
31.1.1 Instantiation
31.1.2 Slots
31.2 GSRAPI compliance
32 Spykee
32.1 Installing Urbi on the Spykee
32.2 Device list
32.3 Dynamically loaded modules
32.3.1 Clapper
33 Webots
33.1 Setup
33.1.1 Installation
33.1.1.1 Linux
33.1.1.2 Mac OS X
33.1.1.3 Windows
33.1.2 License
33.1.2.1 Evaluation mode
33.1.2.2 Setting up a license
33.2 Using Urbi as a controller in your Webots worlds
33.2.1 Using the default urbi-2.0 controller
33.2.2 Defining custom Urbi controllers
33.3 Binding your own robots with Urbi for Webots
33.4 Built-in robots and worlds
33.5 Webots UObjects
33.5.1 Robot devices UObjects
33.5.1.1 Accelerometer
33.5.1.2 Camera
33.5.1.3 Differential Wheels
33.5.1.4 Distance Sensor
33.5.1.5 Led
33.5.1.6 Servo
33.5.1.7 Touch Sensor
33.5.2 Supervisor API UObjects
33.5.2.1 Label
33.5.2.2 Manipulate Node
33.5.2.3 Simulation Controller
VI Tables and Indexes
34 Notations
34.1 Words
34.2 Frames
34.2.1 C++ Code
34.2.2 Grammar Excerpts
34.2.3 Java Code
34.2.4 Shell Sessions
34.2.5 urbiscript Sessions
34.2.6 urbiscript Assertions
35 Release Notes
35.1 Urbi SDK 2.7.5
35.1.1 Fixes
35.1.2 Changes
35.1.3 New Feature
35.1.4 Documentation
35.2 Urbi SDK 2.7.4
35.2.1 Fixes
35.2.2 Changes
35.2.3 Documentation
35.3 Urbi SDK 2.7.3
35.3.1 Fixes
35.3.2 Changes
35.3.3 Documentation
35.4 Urbi SDK 2.7.2
35.4.1 Fixes
35.5 Urbi SDK 2.7.1
35.5.1 Fixes
35.5.2 Changes
35.5.3 Documentation
35.6 Urbi SDK 2.7
35.6.1 Changes
35.6.2 New Features
35.6.3 Documentation
35.7 Urbi SDK 2.6
35.7.1 Fixes
35.7.2 Optimizations
35.7.3 New Features
35.7.4 Documentation
35.8 Urbi SDK 2.5
35.8.1 Fixes
35.8.2 New Features
35.8.3 Changes
35.8.4 Documentation
35.9 Urbi SDK 2.4
35.9.1 Fixes
35.9.2 New Features
35.9.3 Documentation
35.10 Urbi SDK 2.3
35.10.1 Fixes
35.10.2 New Features
35.11 Urbi SDK 2.2
35.11.1 Fixes
35.11.2 New Features
35.11.3 Documentation
35.12 Urbi SDK 2.1
35.12.1 Fixes
35.12.2 New Features
35.12.3 Optimization
35.12.4 Documentation
35.13 Urbi SDK 2.0.3
35.13.1 New Features
35.13.2 Fixes
35.13.3 Documentation
35.14 Urbi SDK 2.0.2
35.14.1 urbiscript
35.14.2 Fixes
35.14.3 Documentation
35.15 Urbi SDK 2.0.1
35.15.1 urbiscript
35.15.2 Documentation
35.15.3 Fixes
35.16 Urbi SDK 2.0
35.16.1 urbiscript
35.16.1.1 Changes
35.16.1.2 New features
35.16.2 UObjects
35.16.3 Documentation
35.17 Urbi SDK 2.0 RC 4
35.17.1 urbiscript
35.17.1.1 Changes
35.17.1.2 New objects
35.17.1.3 New features
35.17.2 UObjects
35.18 Urbi SDK 2.0 RC 3
35.18.1 urbiscript
35.18.1.1 Fixes
35.18.1.2 Changes
35.18.2 Documentation
35.19 Urbi SDK 2.0 RC 2
35.19.1 Optimization
35.19.2 urbiscript
35.19.2.1 New constructs
35.19.2.2 New objects
35.19.2.3 New features
35.19.2.4 Fixes
35.19.2.5 Deprecations
35.19.2.6 Changes
35.19.3 UObjects
35.19.4 Documentation
35.19.5 Various
35.20 Urbi SDK 2.0 RC 1
35.20.1 Auxiliary programs
35.20.2 urbiscript
35.20.2.1 Changes
35.20.2.2 Fixes
35.20.3 URBI Remote SDK
35.20.4 Documentation
35.21 Urbi SDK 2.0 beta 4
35.21.1 Documentation
35.21.2 urbiscript
35.21.2.1 Bug fixes
35.21.2.2 Changes
35.21.3 Programs
35.21.3.1 Environment variables
35.21.3.2 Scripting
35.21.3.3 urbi-console
35.21.3.4 Auxiliary programs
35.22 Urbi SDK 2.0 beta 3
35.22.1 Documentation
35.22.2 urbiscript
35.22.2.1 Fixes
35.22.2.2 Changes
35.22.3 UObjects
35.22.4 Auxiliary programs
35.23 Urbi SDK 2.0 beta 2
35.23.1 urbiscript
35.23.2 Standard library
35.23.3 UObjects
35.23.4 Run-time
35.23.5 Bug fixes
35.23.6 Auxiliary programs
36 Licenses
36.1 Boost Software License 1.0
36.2 BSD License
36.3 Expat License
36.4 gnu.bytecode
36.5 ICU License
36.6 Independent JPEG Group’s Software License
36.7 Libcoroutine License
36.8 OpenSSL License
36.9 ROS
36.10 Urbi Open Source Contributor Agreement
37 Bibliography
38 Glossary
39 List of Tables
40 List of Figures