This script builds upon the e-puck model that comes bundled with V-REP and uses the V-REP ROSInterface plugin in order to communicate with ROS.
The ROS topics are the same as those used by the epuck_driver_cpp ROS package, that is used to control a real robot, namely:
Input from robot:
proximity0
toproximity7
camera
imu
tf
Output to robot:
cmd_vel
cmd_led
The topics are prefixed with the robot number, e.g /ePuck0/camera
.
Copy-pasted robots will be numbered incrementaly.
This repository includes:
* `epuck_vrep_ros.lua`: the lua script that can be attached to a simulated e-puck
* `e-puck.ttm`: an epuck model that can be directly loaded in a V-REP scene, using `File -> Load model`
Before starting any simulation, make sure that the opMode
parameter of the e-puck is to 2
as the first two values (0
and 1
) are reserved for the original line-follower and leader-follow behaviours that came with the e-puck model. See the V-REP user interface documentation for information on modifying parameters.
A detailed description of this package and the noise model that was applied in order to simulate infrared sensor noise is avaialble in the following paper:
Assuming you have a working ROS and VREP configuration, complete with the epuck_driver_cpp
, using this extension is simply a matter of drag-and-dropping e-puck.ttm
into your V-REP scene.
The following is usefull only to users that do not have a working ROS, VREP configuration.
In order to simplify the installation procedure, users of Docker can use a specially built container that has ROS, V-REP and this extension pre-installed.
After installing docker, the container can be downloaded using:
docker pull naturo/epuck_vrep_ros
Once downloaded, the steps required to simulate an e-puck in V-REP and control it through ROS are shown on the DockerHub page: https://hub.docker.com/r/naturo/epuck_vrep_ros/
The MIT license applies specifically to the ROS extensions introduced in this repository. The rest of the code is licensed under the e-puck license.
If this extension was useful in your academic work, please cite the following paper:
@article{ ISI:000440896700001,
Author = {Florea, Andrei George},
Title = {{INTEGRATING A V-REP SIMULATED MOBILE ROBOT INTO ROS}},
Journal = {{UNIVERSITY POLITEHNICA OF BUCHAREST SCIENTIFIC BULLETIN SERIES
C-ELECTRICAL ENGINEERING AND COMPUTER SCIENCE}},
Year = {{2018}},
Volume = {{80}},
Number = {{3}},
Pages = {{3-16}},
Publisher = {{POLYTECHNIC UNIV BUCHAREST}},
Address = {{SPLAIUL INDEPENDENTEI 313, SECTOR 6, BUCH, 060042, ROMANIA}},
Type = {{Article}},
Language = {{English}},
ISSN = {{2286-3540}},
Keywords = {{simulation; V-REP; ROS; e-puck}},
}
Andrei George Florea, Cătălin Buiu
Department of Automatic Control And Systems Engineering,
Politehnica University of Bucharest
Bucharest, Romania.