Noob mentor looking for a simulator

I’m a new this year mentor and am trying to get up to speed. I figured a simulator of some sort must exist, and boy was I right! There are lots of them: FRCSim, Gazebo, SnobotSim, Synthesis, etc. I’ve even found teams that wrote their own sims from scratch in Unity. But some seem deprecated/abandoned.

Now my head is spinning and I’m thoroughly confused.

Is there a current “best of breed” simulator? Using a sim also seems like a good way to get new team members up and playing with some robot code without having to dive into the deep end of an existing competition bot.

FWIW, I’m a Mac user and so the Driver Station is dead to me.

Its 2020 only but here’s

1 Like

Youre gonna be pretty SOL with most solutions then honestly.

That being said, Synthesis does have a mac version, and seems* like a good product for your needs. If youre looking for something like driver training and not explicitly code testing though, something that tests their reflexes (like a racing game, pretty easy to transfer movements over) and teamwork (Keep Talking and Nobody Explodes and Overcooked are good games) may be a easier way to train than trying to get a Sim working,

*I have not tested Synthesis myself in over a year, nor have I ever used the mac version.

SnobotSim should work on mac, and does not require the driver station. I’ve been outrageously busy and haven’t been able to make any updates to it and haven’t kept abreast of what features WPI’s simulator will have for next season, but either way you should be able to get SnobotSim up and running in the meantime.

The new WPILib simulator GUI for 2020 works on all 3 platforms (Windows, Mac, and Linux) and emulates the DS on all 3 platforms (including joystick support). Windows and Linux have seen the most testing so far, so there may be issues we haven’t found yet with Mac support, particularly with joysticks. Unlike Gazebo or Synthesis, the WPILib simulator GUI does not do any sort of virtual field or 3D simulation–its focus is on simply enabling teams to run/debug their code on desktop and do basic interactive robot control including seeing/changing the robot I/O.


I’ll +1 SnobotSim, which is what I used to test our swerve drive code this past offseason along with a graphing utility and seperately, unit testing.

I have and will continue to use Snobotsim when teaching newer students how to program, as I can go through the basics of robotInit(), teleopPeriodic(), etc. with printouts and if statements and explain the structure, as well as use it as a testing tool for actual development

I’ve been running on Windows 10 and the new macOS Catalina with the same code for the past few days fine, and been using the tool (albeit different versions as new ones came out) on macOS since at least January of this year and have had no problems.

I’m using SnobotSim version “2019-0.2.0” and GradleRIO version “2019.4.1”

Will it have support for 3rd Party vendors, like CTRE?

1 Like

Vendors will have to add support for the GUI to their desktop libraries. We have lots of hooks at various levels for doing so but I can’t promise at this point that vendors will use them.

1 Like

Do any sims (especially those that take robot and field CAD models and do fairly accurate physics) work with LabVIEW?

If not, which ones would be open source so I could help interface them with LV over network protocols or the like?

1 Like

FWIW, my progress so far has been to pull down the 2020 tools, create a sample Bot using RobotBuilder, compile & run on my desktop, and get some Command buttons to show up on Shuffleboard.

I see the 2020 tools come with hooks/plugin for Gazebo (which I have running), but I haven’t worked out how to install the plugin to get that all working.

At the very least, I can compile, run, and get some sort of output. So I’m pretty happy. I’m not simulating motors or sensors yet, but it’s a start.

P.S. The VS Code plugin is still set up to be 2019.

Is this new this year? Or has this been a thing in the past? Also, does it work with any languages besides java?

It’s new for 2020, works with both C++ and Java, and could be used by unofficial languages as well. It does not work with LabVIEW, but LabVIEW has had its own simulator for a while (several years at least).

1 Like

I thought the simulator that LabVIEW has doesn’t support any sort of external libraries like CTRE phoenixlib, making it useless for a lot of teams.

Neither does this one (at least out of the box). There are hooks for vendors to add simulation support to it, and I believe LabVIEW has hooks as well.


This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.