V-Rep. Presentation no.
Introduction to V-Rep.
Highlights
• Features of V-REP.
• User Interface
• Console Window
• Application Window
• Several Dialogs
• Application Window Elements
V-REP
• Virtual Robot Experimentation
Platform (V-Rep) is a general
purpose robot simulator developed
by Coppelia Robotics
Features of V-REP
• V-rep is based on a distributed control architecture: each
object/model can be individually controlled via an embedded script, a
plugin, a ROS node, a remote API client, or a custom solution
• Controllers can be written in C/C++, Python, Java, Lua, Matlab, Octave
or Urbi.
Features of V-REP.|
6 Programming Approaches
Simulator and simulations
are fully customizable, with
6 programming approaches
that are mutually
compatible and that can
even work hand-in-hand. 6
fully supported
programming languages.
Features of V-REP.|
Powerful APIs, 6 languages
Regular API: C & Lua
Remote API: C, Python, Java,
Matlab, Octave & Lua
ROS & BlueZero interfaces:
publishers, subscribers &
service calls. Support all
standard messages,
extendable.
Features of V-REP.|
Remote API
> 100 embeddable V-REP
functions: control a
simulation or the simulator
itself remotely (e.g. from a
real robot or another PC).
Easy to use, supports sync. or
async. operation, is optimized
for heavy data transfer and
minimizes comm. lag
Features of V-REP.|
Dynamics/Physics
4 physics engines (Bullet
Physics, ODE, Vortex Dynamics
and Newton Dynamics) for fast
and customizable dynamics
calculations, to simulate real-
world physics and object
interactions (collision
response, grasping, etc.)
Features of V-REP.|
Inverse/Forward Kinematics
Inverse/forward kinematics
calculations for any type of
mechanism (branched,
closed, redundant, containing
nested loops, etc.). An
embeddable version of the
IK/FK algorithms is available
(i.e. can run on your robot).
Features of V-REP.|
Dynamic Particles
V-REP supports
customizable particles
that can be used to
simulate air or water
jets, jet engines,
propellers, etc.
Features of V-REP.|
Collision Detection
Fast interference
checking between any
mesh, octree, point
cloud, or collection of
those.
Features of V-REP.|
Minimum Distance Calculation
Fast and exact minimum
distance calculation
between any mesh
(convex, concave, open,
closed), octree, point
cloud, or collection of
those.
Features of V-REP.|
Cross-Platform & Portable
V-REP is cross-platform,
and allows the creation of
portable, scalable and easy
maintainable content: a
single portable file can
contain a fully functional
model (or scene), including
control code.
Features of V-REP.|
Proximity Sensor Simulation
Powerful and realistic proximity
sensor simulation (exact min.
distance calculation within a
customizable detection
volume). Much more
continuous operation than with
discrete ray sensors. Operates
on meshes, octrees and point
clouds
Features of V-REP.|
Vision Sensor Simulation
Simulation of vision
sensors with many built-
in image processing
filters, fully customizable
and extendable (e.g. via
plugin)
Features of V-REP.|
Building Block Concept
Anything - from sensors or
actuators, to whole robotic
systems - can be built within
V-REP by combining basic
objects and linking various
functionality via embedded
scripts. Every scene object
can have its own embedded
script!
Features of V-REP.|
Path/Motion Planning
Path planning / motion
planning is supported in
a very flexible way via
the OMPL library
wrapped in a plugin for
V-REP
Features of V-REP.|
Data Recording and Visualization
A large variety of
recordable data streams
(including user-defined)
can display time-graphs,
or can be combined with
each other to form x/y-
graphs, or 3D curves
Features of V-REP.|
Custom User Interfaces
Unlimited number of
fully customizable user
interface elements.
Window-style or
OpenGl-style are
supported
Features of V-REP.|
Integrated Edit Modes
Special mesh edit modes
are supported (including
a semi-automatic
primitive shape
extraction method,
convex decomposition,
mesh decimation, etc.)
Features of V-REP.|
Easy Data Import/Export
Following file formats
are supported (also
when called through the
API): URDF, COLLADA,
DXF, 3DS, OBJ, STL
(ASCII & binary)
Features of V-REP.|
RRS Interface & Motion Library
The RRS-1 interface
specifications are fully
implemented, and the
Reflexxes Motion Library
type II is fully
supported.
Features of V-REP.|
Full-Featured Scene Hierarchy
The scene composition is
intuitively visualized in a
scene hierarchy view,
indicating object names,
types, associated control
scripts, loop closures,
selection and visibility
states, warnings, etc.
Features of V-REP.|
Convenient Model Browser
The integrated model browser
supports drag-and-drop
operations (also during
simulation!) for convenient
scene composition. The
available model library,
updated at each release, can
be easily extended by the user
Features of V-REP.|
Full Interaction
Full interaction also during
simulations: models,
together with their
associated behavior (i.e.
embedded scripts) can be
shifted, rotated, copy/pasted,
scaled, erased, etc. without
having to adjust any code
User interface
*A typical view of the V-REP application
The V-REP application is composed by several
elements. Its main elements are:
• 1. Console Window
Under Windows, when the V-REP application starts, a
console window is created but directly hidden again. This
default behavior of hiding the console window can be
altered in the user settings dialog.
Under Linux, V-REP needs to be started from the console,
which stays visible throughout the whole V-REP session.
Under MacOSX, best is to start V-REP from a terminal, in
order to have messages visible.
• 2. Application Window:
Is the application's main window. It is used to display,
edit, simulate and interact with a scene. The left and
right mouse buttons, the mouse wheel as well as the
keyboard have specific functions when activated in the
application window. Within the application window the
functions of the input devices (mouse and keyboard)
may vary on context or activation location.
• Several Dialogs:
next to the application window, the user can also edit
and interact with a scene by adjusting dialog settings or
parameters. Each dialog groups a set of related
functions, or functions that apply to a same target
object. A dialog's content might be context sensitive
(e.g. dependent on the object selection state).
• When you launch the V-REP
application, V-REP will initialized
one default scene. The user is free
to open several scenes in parallel.
• Each scene shares the application
window and the dialogs with the
other scenes, but only the active
scene content will be visible in the
application window or the dialogs
(only one scene is visible at a
given time).
In following section, a brief description will
be given of the application window's
elements.
User Interface | Application Window
Application Bar: the application bar indicates
the type of license of your V-REP copy, the
filename of the scene that is currently being
displayed, the time used for one rendering
pass (one display pass), and the simulator's
current state
User Interface | Application Window
Application Bar: the application bar indicates
the type of license of your V-REP copy, the
filename of the scene that is currently being
displayed, the time used for one rendering
pass (one display pass), and the simulator's
current state
User Interface | Application Window
Menu Bar: the menu bar allows accessing
almost all functionalities of the simulator. Most
of the time, the items in the menu bar activate
a dialog. The menu bar content is context-
sensitive (i.e. it will depend on the current
state of the simulator).
User Interface | Application Window
Toolbars: the toolbars present functions that
are often accessed (e.g. changing the
navigation mode, selecting another page, etc.).
Some functions in toolbar 1, and all functions
in toolbar 2 can also be accessed through the
menu bar or popup menu.
User Interface | Application Window
[Toolbar 1]
User Interface | Application Window
[Toolbar 2]
User Interface | Application Window
Model Browser: the model browser is visible
by default, but can be toggled with its
corresponding toolbar button. It displays in its
upper part a V-REP model folder structure, and
in its lower part, thumbnails of models
contained in the selected folder.
User Interface | Application Window
[Model Browser]
User Interface | Application Window
Scene Hierarchy: the scene hierarchy is visible by
default, but can be toggled with its corresponding
toolbar button. It displays the content of a scene (i.e. all
scene objects composing a scene). Since scene objects
are built in a hierarchy-like structure, the scene
hierarchy displays a tree of this hierarchy, and
individual elements can be expanded or collapsed.
User Interface | Application Window
[Scene hierarchy]
User Interface | Application Window
Page: each scene may contain up to 8
pages, each of them may contain an
unlimited number of views. A page can be
seen as container for views. Refer to the
pages and views section for more details.
User Interface | Application Window
Views: there can be an unlimited number of
views contained in a page. A view is used to
display the scene (itself containing an
environment and objects), seen through a
viewable object (e.g. cameras, graphs or vision
sensors).
User Interface | Application Window
Information Text: the information text
displays information related to current
object/item selection and to running simulation
states or parameters. The text display can be
toggled with one of the two small buttons on
the upper left side of a page.
User Interface | Application Window
Status Bar: the status bar displays information
related to performed operations, commands,
and also displays error messages from the Lua
interpreter. From within a script the user can
also output strings to the status bar with the
sim.addStatusbarMessage function.
User Interface | Application Window
Lua Commander: a read-eval-print loop, that
adds a text input to the V-REP status bar,
allowing to enter and execute Lua code on the
fly, like in a terminal. The code can be run in a
sandbox script, or any other active script in V-
REP.
User Interface | Application Window
Custom User Interfaces: custom user
interfaces are user-defined UI surfaces that
can be used to display information (text,
images, etc.) or a custom dialog, allowing to
interact with the user in a customized way.
User Interface | Application Window
Popup menus: popup menus are the menus
that appear after a right mouse button click. To
activate a popup menu, make sure the mouse
doesn't move during the click operation,
otherwise the camera rotation mode may be
activated.
User Interface | Application Window
Page: each scene may contain up to 8
pages, each of them may contain an
unlimited number of views. A page can be
seen as container for views. Refer to the
pages and views section for more details.
Following Highlights
V-Rep. Presentation no. 2
• User Interface
• Custom UIs
• Custom UI API
• Custom UI XML syntax