IndexNextUpPreviousUrbi SDK 2.7.5

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  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