Virtual Robotics Toolkit – an Advanced LEGO Mindstorms Simulator

Virtual Robotics Toolkit

The possibility of simulating processes or products and their behavior in the environment throughout the entire life cycle has a clear and positive impact in all stages of development and maintenance of an equipment or system. Nevertheless there are also pitfalls which can be easily avoided, head to our software simulation article to learn more.

In this article we will explore some of the features of Virtual Robotics Toolkit, a feature-rich simulation environment for LEGO Mindstorms robots which allows testing any robotic creation similar to an actual model without actually owning one – simply import any LDraw 3D model, load an EV3-G script, run the simulation and start observing what your robot does.


Virtual Robotics Toolkit (VRT) has been developed by Cogmation Robotics, a Canadian company with over 10 years of experience in the field of custom robotics simulators, better known for products like robotSim or the Roboteer mobile app. Development on the VRT software started over 9 years ago and supported more expensive robots such as the NAO.

Trash Trek Challenge example project in VRT

Trash Trek Challenge example project
Click to enlarge

VRT is geared towards STEM educational audiences and is a great asset for teams who want to get their creations in shape for robotics competitions such as the FIRST LEGO League (FLL) or the World Robot Olympiad (WRO). In fact the are integrated example project selection includes sample projects for current challenges – complete with robot models, environment as well as documentation – in order to help getting your projects up and running in a very short time.

Personally I found the help section to be written in a clear and succinct manner, and was able to access most basic functionality after only a few minutes, and relevant information can be easily found while using the software. Additional resources are available online, there is some pretty extensive documentation as well as established communities.

The prime feature of VRT is the ability to import your own 3D LEGO models made with any CAD software based on the LDraw framework standard. This means that you can use the official LEGO Digital Designer tool or alternatives such as MLCAD to build robots or other assemblies and then seamlessly import them and test their functionality in VRT.

Programming the virtual LEGO bricks takes place as if these were the real thing, and this is not an overstatement. Any program previously created with the official EV3-G or NXT-G visual environments can be imported in VRT and executed as if it were uploaded onto a physical brick after quickly mapping motors and sensors to their ports.

Speaking of sensors, most official Mindstorms sensors are supported (ultrasonic, infrared, color, touch) as well as the HiTechnic infrared and compass sensors.

Getting started

A Virtual Robotics Toolkit single seat license will cost US $50 while a 10 seat team license will set you back about US $200. You can access the ordering page to get your copy or find more licensing info.

Most modern computers should easily cope with VRT and the other software products, so as long as your system is equipped with an Intel i3 or equivalent CPU, has a decent amount of RAM and runs Windows 7 or MacOS X you should not worry about it.

In order to take advantage of VRT’s full potential you need to install the LEGO CAD and programming tools as well as the LDraw parts library. All of them are available as free downloads for Windows and Mac:

  • LEGO Digital Designer (LDD) – as mentioned earlier this tool allows you to create your 3D models for importing. Parts can be easily filtered according to set, type and so on;
  • Mindstorms EV3 Software – this is the EV3-G visual programming environment, it is also compatible with NXT bricks;
  • LDraw parts library – as the name implies this is the LEGO parts library which is continuously updated. The default packages are sufficient for the purpose of working with VRT, however you can also select additional packages from the installer.
Patch LDD from Virtual Robotics Toolkit

Patch LDD option under Help

Once everything is in place, after launching VRT, in this case VRT for Windows, you can patch the LDD software by clicking the corresponding option in the Help menu. Should you also use the older NXT-G software you can also apply the corresponding patch from the same menu. This is the final setup step, next you can start working with the software.


In the following you can find an overview of various functionalities offered by VRT, covering importing, programming and running your simulation. Advanced features such as physics engine and rendering accuracy, workflow and other more advanced features will be covered in a future article after observing various aspects in a longer period of using the software.

Importing a 3D model
This is accomplished from Environment->Import Model… and then following the on screen instructions. I did not previously create a model with LDD and imported a model already present in the LDraw library, in this case the 42035 truck set rendering. From the Environment menu you can also customize your working environment by changing the physics parameters, lights, backdrop or define various triggers.

Importing a LEGO 3D model to VRT

Importing a LEGO 3D model

Uploading a program to the virtual brick
This procedure is very similar as if the program would be uploaded to a physical EV3 brick. The virtual brick needs to be displayed by accessing View->EV3. After this turn on the brick from the virtual power button and the brick should appear in the EV3-G software in the Available bricks area, then the program can be uploaded. Other options in the View menu allow you to select various displays such as console, real time sensor data, devices list and so on.

Uploading a file to the VRT virtual LEGO EV3 brick

Uploading a file to the virtual LEGO EV3 brick from EV3-G

Robot attachments and actors
From here you can manage the robot’s attachments such as sensors, arms or other assemblies as well as objects in the environment by selecting the appropriate option from the Actors menu.

VRT actors and robot attachments

Actors and robot attachments

Preferences and other settings
In File->Preferences… you can change the 3D rendering quality and frame rate, viewport limits, network and input settings, measurement units and other parameters.

VRT preferences display

Preferences display

Hopefully you enjoyed this article and found some useful info, as mentioned earlier there will be a series of articles about VRT. You can also find out more info by accessing the resources below.