Displaying Articles 1 - 12 of 19 in total

History of the Simulator

The Virtual Robotics Toolkit began its life 10 years ago, as a tool for researchers and engineers. Back then the idea was simple, before investing time and money in building an expensive real robot, perhaps it would be advantageous to have some way of testing on a digital prototype. As a result, the Cogmation simulator was born, and its earliest versions targeted expensive robots used primarily in academia, such as the Aldebaran® Nao™ and the iRobot® Packbot™. Of course, creating a great design tool was just part of the solution. What we had really hoped for, was to use the simulator to teach robotics itself; and if that were the goal, then why not work with a robot specifically designed for the beginner? Why not design the simulator to work with a LEGO® MINDSTORMS® roboT?

Why virtual robotics?

There are many benefits adding simulation capability to the MINDSTORMS® experience, but a few of the more compelling reasons are given below:  Perhaps the most obvious benefit is that by using a simulated robot we can write programs to work with the robot, even if it isn’t physically available. For example, your robotics club might only have a single MINDSTORMS® robot, but the whole team could be working and programming on a digital version of that same competition robot from home.   When it comes to environments, simulation offers a much greater variety of challenges that would ever be physically possible. Although it might be too expensive to test our robot in the near-weightless of space, we could easily simulate it.

Video game vs simulation

The distinction between simulation and video game is not always easily made, but it’s a point worth considering. While both types of software allow for the design, creation, and manipulation of 3D objects, at its core, simulations are about things (or systems) and how they behave. Most video games on the other hand, are about having fun. . The software you see before you is a complex, real-time, physics enabled simulator, it is not a video game. Although it is possible to have a fun time using it, it is a different kind of fun. It's the kind of fun that comes from inventing something cool, seeing it spring to life, and sharing it with others. Despite this important difference, the simulator as a modeling tool can be incredibly effective at building models to compete in the kinds of complex games that are typical of FIRST Robotics challenges.

System Requirements

The Virtual Robotics Toolkit can be easily installed by following the steps in the installation wizard. The first time you launch the program, you'll be asked to either begin your trial or register the product. To activate the product, ensure that your computer is connected to the Internet, and enter the product registration key that you were given. If installing the software on a school network, a firewall exception to the url: http://activations.cogmation.com may have to be made. Minimal: ● Intel processors (i3, i5), AMD processors (A8, A10) ● 4 GB of RAM ● Integrated graphics card ● Windows 7 or better, Mac OS X - Mavericks or better ● 64 bit Operating System ● Internet Connection(for one-time activation,competition and Learning Environment) Ideal (beautiful simulation): ● Multi-core processor, Intel i7 ● 8 GB of RAM ● Dedicated graphics card ● Windows 7 or better, Mac OS X - Mavericks or better ● 64 bit Operating System ● Internet Connection(for one-time activation,competition and Learning Environment) Available Platforms The simulator can be installed on to most computers purchased in the last three years, however,  we assume that it might be important for you to know the minimum and recommended technical specifications. As of January 2015, the software exists in both Windows and Macintosh formats. Unfortunately, due to the processing power needed to run the physics engine, the software will not run on lightweight devices such as Chromebooks or Tablets.

About the Virtual Robotics Toolkit

on Designed for use with the LEGO® MINDSTORMS® NXT™ and EV3™, the Virtual Robotics Toolkit™ is a physics enabled simulator, that is an essential tool for anyone looking to enhance or expand the MINDSTORMS experience. The simulator allows users to design and program their own digital robot, but without the burden of ever needing space for testing, or running out of physical bricks. This tool can be especially useful to those who are interested in teaching with robots, but who lack enough physical kits for each student in their class, and for robotics clubs who are looking for an excellent prototyping utility to help give them the edge over the competition.


In this article, we will look at the installation process of the Virtual Robotics Toolkit. We will also spend some time discussing the minimum and recommended systrequirements and talking about some other LEGO tools you might want to use. The Virtual Robotic Toolkit uses a standard setup wizard. To proceed, you must know the terms of the license agreement, accept these terms, and click the Download button. Now, depending on the type of computer you are using, the installation may take several minutes. However, when this is done, we will close the setup wizard and see that we have a desktop shortcut for the simulator on the screen. Double-click the icon to open the Virtual Robotics toolkit. You will be prompted to type an activation key or start letter. Make your selection and click OK. The Virtual Robotic Toolkit is now installed on my computer. Now, to get the best results from the simulator, there are some additional tools you can use, such as the EV3 programming environment, which you can download for free from the official Mindstorms website. To create 3D models, we will use another downloadable Lego digital designer from LEGO Group. Once your 3D models are created, you need a way to export them to the simulation tool. LDraw is an open source CAD standard specifically designed to work with Lego. To install the LDraw library, click the Start link on the LDraw home page, select a platform, and then click the step-by-step download link. LDraw All-in-One installer is really what we're looking for, so do a click and download. When the setup wizard opens here, the LDraw part libraries are the ones we are most interested in. We can remove ML Cad and some of these programs as disk saving measures. When selections are made, I can click Next to specify an installation path and complete the installation of the LDraw All-in-one library. The next step is patching Lego Digital Designer. To use it with our newly installed block library, click the Help menu in the Virtual Robotic Toolkit for Patch Lego Digital Designer. We are ready to explore the virtual robotics room while eliminating these boring things.

Supported Robotics Platforms

LEGO® MINDSTORMS® EV3™ - (3rd generation robot) The following is a list of EV3 sensors that are supported in the simulator. Touch sensor Ultrasonic sensor Infrared sensor Color sensor HiTechnic Compass sensor HiTechnic IR sensor

Additional Resources

About the LEGO® programming environment The Virtual Robotics Toolkit is designed to work with both NXT and EV3 programming environments. If you are new to MINDSTORMS® programming, the language itself is quite different from traditional programming syntax. Unlike other languages, MINDSTORMS® robots are programmed by arranging sequences of modules to create new behaviors.                                                                              Example EV3 code At the time of this writing, LEGO® can be downloaded from the official MINDSTORMS® community website, which can be freely supplied with both programming environments, both the old second-generation NXT and the new EV3 brick. http://www.lego.com/en-us/mındstorms/downloads Learning to use the MINDSTORMS® programming environment is beyond the scope of this manual, but there are a number of important resources on the web to get you started. The programming environment itself includes a set of tutorials in the software. Here are some external sources that may be a little interesting for beginners. NXT Resources: NXT Programs.com, (http://www.nxtprograms.com) has tons of great projects and programming teachers for both the retail and educational versions of the old second-generation robot. I learned to program my first MINDSTORMS® robot by doing most of the same projects. EV3 Resources: STEMcentric EV3 tutorials (http://www.stemcentric.com/ev3-tutorial/) are a collection of screencasts that summarize the basics of programming for LEGO®'s third-generation robot. Blogs and social media: The NXT step (http://www.thenxtstep.com) is the most important blog about MINDSTORMS® robots. FLL Casts.com (http://www.fllcasts.com) is a subscription site, but it is well worth the money with excellent webinars packed with useful tips for FIRST® LEGO® League teams. About modeling using LEGO® Digital Designer ™ LEGO® Digital Designer ™ (or LDD, as is more commonly known) is a freely available CAD tool. If you are interested in designing your own digital robots, you will want to seriously consider meeting this design tool. What makes modeling so easy with LDD is that the software closely reflects the real life process by emphasizing the existing connection points (using physical bricks) between model items. Once your model is created, the LDD can produce both a material list and a set of building instructions that can be used to build Physical robot. You can download LEGO Digital Designer from the following link (free of charge):                                   Http://Ldd.lego.com/En-Us/Download/                                                                      Example 3D model created using LEGO Digital Designer LDraw In addition to LEGO Digital Designer, you can also consider installing the LDraw "All-in-One" component library. One of the many file formats supported by LDraw is the Lego Digital designer and will probably create and share 3D LEGO models among the CAD programs that are the most popular file format.The Virtual Robotics Toolkit includes an import wizard that can be used to simulate LDraw files.  If this library is not required to be installed, the installation will provide much more options for the types of bricks that can be brought into the simulator.The LDraw library can be downloaded (free of charge) and can be downloaded from the official website listed on the link below:                                                                                             Http://Www.ldraw.org/Help/Getting-Started.html Once you've installed the 'All-in-One' library, you'll want to update your LEGO Digital Designer so you can export your models to SIM. This can be achieved by clicking on the Help menu, selecting Patch Lego Digital Designer.                                                                                                  Applying the LEGO Digital Designer patch


In this chapter we outlined the process for installing and setting up the Virtual Robotics Toolkit on to a computer. While the software usually installs without issue, in school computer labs, it is occasionally the case that an exception must be made to a network firewall to allow the Activation Manager to reach the Cogmation licensing server. The URL to include on your exceptions list is: http://activations.cogmation.com Like most applications, the Toolkit runs best on a new computer with lots of memory and a multi core processor, and even better when that computer has a dedicated graphics card. Installing the LEGO MINDSTORMS EV3 programming environment will allow you to write autonomous code for your virtual creation.  Installing LEGO Digital Designer along with the LDraw library will allow you to create 3D models of your own that can be easily imported into the simulator. With the fun stuff out of the way, we're ready to get started.

Getting Started

In this section, we'll dive into the Robot Vacuum project where we'll learn the basics of starting, stopping, and navigating our way through a simulator project file.  We will build on the tools and concepts that are learned here in the later lessons on programming and design so you will want to pay special attention to what is in this section. As you may have already noticed, upon launching the simulator, you are greeted by the Welcome Screen.  In the base installation, this window is divided into four tabs. Sim Basics: A collection of beginner projects to get you started. Challenges: A collection of advanced multi-player projects where we can test your newly learned skills against another friend or autonomous robot. FIRST LEGO League: FIRST LEGO League's 2015 challenge: Trash Trek. WRO (World Robot Olympiad):  World Robot Olympiad' 2015 challenge mats. The first tab, "Sim Basics," contains four projects to help you get started. A brief overview of each project as well as the recommended sequence for tackling each challenge is provided below:                                                                     Sim Basics Tab • Getting Started is nothing more than an empty room with a robot. The goal of this distraction free environment, is to learn the basics of starting and stopping the simulator, and how to use the keyboard controls to drive the robot. • Maze is the next project you should practice with. The goal of this project is to learn how to connect the MINDSTORMS® programming environment to the simulator.This will allow us to solve the maze by writing our own programs using MINDSTORMS® software and uploading it to the existing virtual robot in the simulator. • Clean-up Challenge is the "build" challenge in this training series. While we can use the given robot that is provided to clear the playing surface, the real goal here is to introduce LEGO Digital Designer and demonstrate how we can use the LDraw import wizard to work with our own customized robots. • Apartment is the last in the series of training projects. Here we can use the given robot along with its various attachments, and use our skills to program it to navigate around the room and vacuum the blocks that littered the floor. Each of the above mentioned projects will be elaborated in the next chapter. The second tab on the Welcome Screen, presents three additional multi-robot "Challenges" where we can test our newly learned skills against another friend or autonomous robot.                                                                               Challenges Tab • Multiplayer Sweep is a two robot variant of the Clean-up challenge. Here we can either use keyboard controls to compete head to head against another player, or alternatively load different control programs into multiple Intelligent Bricks. • Sumo is a digital version of the popular robotics challenge, where two robots are programmed to push each other out of a ring. The last robot standing wins. • Soccer is a simulated version of the World Robot Olympiad - GEN II soccer game. This is probably the most complex of all the challenges. Players will have to program their robot to work with the HiTechnic® sensors to locate the soccer ball and push it into the opposing goal. The third tab, "FIRST LEGO League," contains 2015 challenge called Trash Trek.  Trash Trek is all about handling trash. Teams get to identify the problems associated with handling waste, design an intuitive solution to the identified problem and share their experience with other teams. The fourth tab, "WRO," contains the following challenges for 2015:   Pearl Diving, WRO 2015 Regular Elementary Challenge. Treasure Hunt, WRO 2015 Regular Junior High Challenge. Mountaineering, WRO 2015 Regular High School Challenge. Each project tile on the Welcome Screen is further divided into: A preview video of the challenge. A project Readme that contains an eBook built around that particular project file. Click on the tiled image to launch the project and give your project a name. All the above mentioned projects will be discussed more in detail in the later sections.

Customizing the User Interface

With the vacuum project file open, we can see that the simulator is divided into two areas. A large Main Camera area, also known as model space, where we can interact with the 3D environment, and a Toolbar that sits at the top of the screen that provides quick access to commonly used commands. Customizing the user interface Clearing and restoring windows To clear all windows on the screen, click on the 'View' menu and choose 'Clear Windows'. To restore all windows, click on the 'View' menu and choose 'Restore Windows'. When Restore Windows is chosen, any windows that were previously docked will now reappear on the screen. Alternatively, choosing to Clear Windows from the View menu will as you might have guessed, maximize our available screen space by hiding all docked windows, and closing any floating panes. We can toggle between these two commands by pressing the F12 keyboard shortcut. Opening and closing menus If there are any additional windows that we wish to work with, we can easily add them to the screen in one of two ways: Clicking on a button on the Toolbar Clicking on the 'View' menu and selecting the desired window Alternatively, you can close a window by right clicking on its tab and selecting 'close'. Docking and Undocking windows When a new window is added, the default setting for the dialog is to float over the screen. To dock a window to a particular place, simply select the title bar of the window and drag and drop it to the desired location. As you drag the window, a list of available docking locations for the dialog will display on the screen. If multiple windows are docked in the same location, they will be displayed as a series of tabs.                                           1. Floating Window, 2. Multiple docked windows with tabs Windows within the simulator can be positioned and dock to best suit the users workflow. To undock a window: Right click on the window's tab Select 'Undock' The window will now float freely above model space. To dock the window: Drag the floating window to either of the four sides of the model space As you approach a side, docking points will become available. Drop your window on one of the docking points. Your window is now docked to its new position on screen.

The Toolbars

Simple Mode Toolbar 1. File management & Simulator Control: Getting Started window Start the simulation Stop the simulation 2. Virtual Tools: Manage robot attachments Scoreboard Ev3 Virtual Brick 3. Windows Maximization Maximizes the EV3 MINDSTORMS® environment Maximizes the Learning Environment Maximizes the Virtual Rrobotics Toolkit Simulation window 4. Other Views Opens the Three Window Interface(Simulation,Learning Environment and EV3 Programming Environment) Opens the Two Window Interface(Simulation and EV3 Programming Environment) Closes the program Advanced Mode Toolbar File management: Shortcuts to new, open, and save dialog boxes Undo / Redo stack: It allows you to undo or reboot an action in an object (for example, change the position of an object in the model field), keeps a list of recent commands (eg, add or delete an object) Simulator control: Used to start, stop and pause the simulation Previous / Next state stack: A saved simulation allows you to step into the status line. For example, while driving the robot across the walls of a room, we can "pause" the simulation when the robot turns every corner. Clicking on the "backwards" or "forward" buttons in the "previous / next state stack" will simulatively return or advance the robot to different stages (or corners). Manipulation tools: Includes shortcuts to frequently used tools to manipulate the object. The Truck Camera allows us to adjust the position of the main camera at a fixed distance. The Move Object is the primary tool used to select objects in the model field, allowing the user to change the position of the model along the x, y, z axes. Rotate Object is used to change the rotation of a selected object along the x, y, z axes. When Object Find is selected in the Find Object window, it will find an object in the model field. Robot Tools: Includes shortcuts to commonly used tools for working with the robot. The Import Wizard allows the user to import an LDraw (* .ldr) formatted robot into the model space. Manage Attachments allows the user to add or remove selected robot attachments. If no robot is selected, this button is disabled. Real-Time Data allows the user to see the current readings from the robots' attached motors and sensors. The Scoreboard View will open the scoreboard of the projects. 7. Objects: Contains shortcuts to access objects and properties. The Object List now lists the objects in the model field. The Object Library is a collection of 3D models that can be added to the model space. Object Properties, where we can set the physical properties of a selected object. Markers, which allow the user to mesasure the distance and angle between two points on the mat. Opens the EV3 Virtual Brick. Maximizes EV3 Programming Environment. The Mission Manager, which on WRO mats, allows the user to randomize objects and on FLL mats, allows the user to remove unwanted mission models that are loaded by default. Note: Not all levels support Mission Manager. Only WRO 2017, WRO 2018, FLL 2017, and FLL 2018 mats allow the use of this tool.