Synthesis: An Autodesk Technology Synthesis: An Autodesk Technology


GitHub Actions Workflow Status GitHub Actions Workflow Status GitHub Actions Workflow Status GitHub Actions Workflow Status GitHub Actions Workflow Status

Synthesis is a robotics simulator designed by and for FIRST® robotics students to help teams design, strategize, test and practice. Teams have the ability to import their own robots and fields using our Fusion Exporter or use the pre-made ones available within Synthesis.

For more information on the product itself or the team, visit http://synthesis.autodesk.com.

Goals

Synthesis is built with a direct focus on the FIRST® community. Every single one of our developers is or was a FIRST® student. We've also made the project completely open source in order to better involve the community. This way contributors can help improve Synthesis broadly or adapt it to their team’s needs.

Here are some of our primary goals for Synthesis:

Getting Started

If you are a FIRST robotics student who just wants to use Synthesis, you don't need this repo. Simply go follow this link to the simulator and start spawning in robots!

If you're a developer who wants to contribute to Synthesis, you're in the right place. Synthesis is comprised of 2 main components that can be developed separately:

Follow the above links to the respective READMEs on how to build, run, and test each component.

[!NOTE] As Fusion is not officially supported on Linux, we do not provide an installer for the Fusion Exporter on Linux.

Contributing

See CONTRIBUTING.md for information on how you can help build synthesis

Other Components

Mirabuf

Mirabuf is a file format we use to store physical data from Fusion to load into the Synthesis simulator (Fission). This is a separate project that is a submodule of Synthesis.

Jolt Physics

Jolt is the core physics engine for our web-based simulator.

Protocols

Additional protobuf files that we use in addition to Mirabuf. See Protocols

Tutorials

We have a variety of tutorials available to help you get started with Synthesis. Additionally, you can view these same tutorials as Markdown files in the tutorials directory of this repository.

Updating our tutorials is an ongoing process. If you are at all interested in helping, check out the Synthesis Contribution Guide for more information on how to get started.

Immersion Program

Annually, since 2014, Autodesk has sponsored the Synthesis Immersion Program for FIRST robotics students to develop Synthesis. The immersion program is a 10 week paid work experience at the Portland, Oregon Autodesk office from June 16th to August 22nd. The immersion program focuses on not only developing Synthesis, but also allowing for opportunities to meet and collaborate with other Autodesk employees.

Want To Be A Part Of The Team?

If you're a FIRST robotics student who wants to be a part of the Synthesis development team here is some basic information about applying.

Applicants must:

Applications open each year during the spring. For more information about applying, exceptions to these requirements or for more info about specific positions offered, please visit Synthesis Immersion Program.

Contact

If you have any questions about Synthesis or the Immersion Program, you can contact us through email (frc@autodesk.com). Additionally, please reach out through our community Discord. It's the best way to get in touch with not only the community, but Synthesis' current development team.

License

Copyright (c) Autodesk

SPDX-License-Identifier: Apache-2.0