Awesome
rtb-sim
This was my university thesis project, completed in 2017 under the suprevision of Distinguished Professor
Peter Corke. It is a class-based interface designed for use with Peter Corke's Robotics Toolbox for MATLAB.
It wraps V-REP's Remote API MATLAB bindings, and provides a set of classes to mirror simulation objects in the
MATLAB workspace. The goal is to make it a bit simpler to interact with V-REP in MATLAB.
It is released under an MIT License with no warrenty in the hope anyone who finds it useful expands upon it.
Operation
A simulator object, VREP.m, creates and manages the V-REP Remote API connection.
'v = VREP();' will by default attempt to connect to the V-REP Remote API on localhost (127.0.0.1:19997).
VREP.m also wraps the majority of V-REP's Remote API methods, see the documentation in VREP.m for a full list of methods.
An entity object, sim_entity.m, represents a generic object inside the V-REP scene.
Factory methods are provided in VREP.m to generate these objects.
'obj = v.entity('objname');' will create an instance of the sim_entity.m class for the V-REP scene object 'objname'.
The entity object is subclassed for specific object types such as joints, camera's, LiDAR's, etc.
The V-REP object types supported in this initial release are:
* Generic entities: sim_entity.m
* Joints: sim_joint.m
* Spherical Joints: sim_spherical_joint.m
* Vision Sensors: sim_vision_sensor.m
* XY Sensors: sim_xy_sensor.m
* XYZ Sensors: sim_xyz_sensor.m
* RGB/Greyscale Image Sensors: sim_camera.m
* Depth Image Sensor: sim_depth_camera.m
* (TRS Task) RGBD Camera: sim_cameraRGBD.m
* Proximity Sensor: sim_proximity_sensor.m
* Force Sensor: sim_force_sensor.m
* Fast (Image Sensor Type) Hokuyo: sim_fast_hokuyo.m
* Arm Assemblies: sim_arm.m
* Standard V-REP youBot Model: sim_youBot.m
* (TRS Task) Modified youBot Model: sim_youBot_TRS.m
* (diffBot Demo) Basic Differential Robot Model in diffBot_Demo: sim_diffBot.m
Dependencies
Peter Corke's Robotics Toolbox for MATLAB is required.
Installation
Clone, or download as zip and extract, into a folder on your MATLAB path.
To use the V-REP Remote API the following 3 files must be in a folder
on your MATLAB path:
* remoteApiProto.m
* remApi.m
* One of the following library files:
* remoteApi.dll (Windows)
* remoteApi.so (Linux)
* remoteApi.dylib (OSX)
These files are found in:
"path/to/VREP_install_directory/programming/remoteApiBindings/lib/"
and
"path/to/VREP_install_directory/programming/remoteApiBindings/matlab/"
See the documentation in VREP.m for alternatives.
Examples
See trs_demo and diffBot_demo repositories.
License
This code is provided as-is under an MIT License. Have fun! :)
TODO:
* Add support for VREP 3.5
* Seperate the classes representing the diffBot and TRS youBot into their repective repositories.
* @Folder method of defining VREP.m class. This would make it easier to add factory methods for new object types.
E.g. @newobjtypefactory.m in @VREP. Would allow factory methods to be provided in packages containing new object types without
overwriting/modifying the VREP.m file.
* Rework Image Sensor handling. There are currently 5 classes representing variations of Image Sensor operations, this seems
a bit redundant.