Synthesis is a robotics simulator designed to help FIRST Robotics teams design, strategize, test, and practice. Teams can import their own robot and field designs or use preexisting ones into the simulator for a variety of uses, including:
- Testing robot designs
- Exploring the field environment
- Driver practice & strategy
Developed solely by FIRST students, Synthesis is built with a direct focus on the FIRST community. We've also made the project completely open source in order to better involve the community. This way contributors can help make Synthesis better or modify Synthesis to better suit their teamโs needs.
For more information on the product itself or the team, visit http://synthesis.autodesk.com/
Getting Started
Synthesis is comprised of 4 separate components that are mostly developed independently of each other. You will want to clone the entire repository first, then follow a different set of steps depending on which component you wish to work on. The links below will lead you to specific instructions that will get you a copy of that component up and running on your local machine for development and testing purposes.
Installing
Get the latest release here. You can find all of our other releases on the releases page
Windows
Download and run SynthesisWin[Version Number].exe.
MacOS
Download and Unzip SynthesisOSX[Version Number].zip. Navigate to the Synthesis.pkg, and use that to install Synthesis.
Linux
Download the Synthesis_x86_64.appimage file. You can run that directly or move it to your ~/Applications/ directory to have it registered as an app within ubuntu or whatever debian system you are using.
The linux installer does not come with the Fusion360 Addin for exporting robots and fields.
NOTE FOR NON DEBIAN USERS: Synthesis can be installed and ran on other distros, however our linux package is tailored to Debian.
Contributing
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change. This way, we can ensure that there is no overlap between contributions and internal development work. You may contact us at [email protected].
When ready to contribute, just submit a pull request and be sure to include a clear and detailed description of the changes you've made so that we can verify them and eventually merge. Feel free to check out our contributing guidlines to learn more.
Contact
If you have any questions, you can contact us using the email mentioned above. We also have a community discord you can join to get updates about Synthesis and consult directly with the students who make it.