You are on page 1of 51

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

You might also like