A Lego robot simulator is something I’ve wanted for a long time. I’ve used the Lego Mindstorms robots a lot in my classroom – first the NXT robots and now EV3 versions. They are great fun for teachers and students alike. However there is no getting away from the fact that the Lego kits are expensive and it is hard to cater to a whole class. It could be more effective to use robotic simulators in the classroom to help students design, build, and test their robots. Students could then move over to the real hardware to try their final designs. (A nice side effect is the opportunity to experience first hand how computer models and simulations can differ from the real world.)
I’ve seen several robot simulators available online, but none have really met my requirements. RoboMind is nice but rather simple, and so not really suitable for IB students. Microsoft Robotic Studio was an interesting product which did include simulations of the Lego NXT robots, but the software was rather complex and is no longer developed. Recently I got my hands on a copy of Virtual Robotics Toolkit, and I must say it is quite a good product.
Virtual Robotics Toolkit offers a simulation of both the 2nd generation NXT Lego robots and the latest 3rd generation EV3 versions. Starting the software offers a wide range of built-in challenges, including:
Sim Basics: Offering introduction level tasks such as ‘vacuum the apartment’ , ‘clear the rubble off the matt’, and ‘navigate the maze’ – all Lego Mindstorms staples.
Challenges: These are quite a unique feature: ‘two player’ challenges such as football or sumo that pit two separately programmed robots against each other. Perfect for robot competitions.
FIRST Lego League and WRO: Feature challenges from these two very well known organisers of Lego competitions. These allow you to pit yourself against digit versions of the actual challenges used in global competitions.
These built-in challenges are a fantastic resource for classrooms and robotic clubs, providing a wide range of variety and difficulty. Each challenge also has a example video and extensive help files. The range on offer means that students can learn at their own pace and select a challenge appropriate for them. Of course, you can also skip the challenges and dive straight into the simulation.
The simulation provides basic models for all of the inbuilt challenges and games, based on a standard Mindstorms NXT or EV3 kit. All standard Lego sensors are included – touch, ultrasonic, and light/colour. There is also support for the Compass sensor and IR sensor, which is nice to see. A recent update seems to have added the Gyro sensor, too.
A range of built-in environments are provided including mazes, arenas, and a bedroom that needs tidying. You can also add a standard ‘play pen’ and add your own obstacles and features, complete with texture mapping. I must say that my attempt to create the Mars landscape from our real life Mars Lego competition didn’t end too well though. Time to get practising…
The software is purely a simulation environment: programs are still written using the official Lego programming software, and even downloaded to the ‘robot’ in the same manner (using a WiFi connection or a local file). The only difference is that the ‘robot’ receiving the data is a virtual one. This is perfect as it means there are no new steps to learn when using the simulator. It is also possible to use other programming environments to write programs, provided they can generate the appropriate bytecode for the robot. Personally I like Brixcc, which allows you to write in a C-style language. Environments which require you to ‘flash’ the Lego robot’s EEPROM, such as Lejos, won’t work with the simulator.
Once a program is downloaded into the virtual robot, it can be played, pause, and sped up or slowed down. It is also possible to control the robot directly with the WASD key. The simulator’s camera can be ‘flown’ around the virtual environment or tracked to the robot, and it is even possible to create multiple cameras viewpoints.
Advanced users will be pleased to see Virtual Robotics Toolkit has support for the LDraw file format. This means you can design your own virtual Lego robots in software such as Lego Digital Designer (LDD) or LeoCAD and import them into the simulator.
Virtual Robotics Toolkit is a great companion to the real Lego robots kits, with some quirks. When I roll it out in my classroom I plan to use it first with students who are already familiar with the physical Lego kits, to reduce the learning curve.
The simulator’s accuracy and compatibility are major selling points. You can literally replace the physical robotics kit with the simulator and continue to use the same software, lesson resources, and books. This is how simulation should work.
If I had one criticism of the software, it would be the user interface. It is rather clunky and doesn’t use the operating system’s standard UI components. I found resizing windows particularly difficult, often requiring pixel-perfect mouse positioning and several attempts. It is worth noting that the simulator basically cannot be used without a mouse, although this is a reasonable requirement for this type of software. A high resolution display is also important. The 1280 x 800 display on the MacBook Pro I used for testing was only just sufficient. I imagine it would look great on a 4K display though…
The built in help system could be slightly better too. Although extensive, help links in the program send you to a separate PDF document. This feels a bit jarring, and the PDF doesn’t always scroll to the correct page for the topic you want, leaving you to hunt around.
The only other difficulty I had with the software was actually buying it. Cogmation Robotics’ website has some strange geo-customization on it, meaning I couldn’t see the sales page. It took well over a week and several emails to customer support to get this sorted out and actually convince them to take my money! To be fair, customer service did give me a discount because of the difficulties I encountered – but it is still strange to find a company making it so difficult to buy a product – especially a digital one.
Virtual Robotics Toolkit runs on Mac OS X and Windows. It costs 50 USD for single user licence and 200 USD for 10-seat licence. The numerous ‘little’ features – such as the compatibility with NXT and EV3, the ability to import LDD models, and the built-in challenges really add polish and longevity to the product. 20 USD per seat for such feature packed software really is excellent value for money.
In the past I’ve managed to link Lego robot competitions to contemporary events such as the Mars Curiosity rover and the DARPA Robotics Challenge. I’ve also used the robots in ITGS to help students understand the capabilities and limitations of robotic technology (HL topic 3.11). I can see the Virtual Lego Toolkit fitting in nicely.