Software
The AUTD3 SDK is implemented in Rust and also provides bindings for Python / C#. A package for Unity is also provided. The packages provided for each language are as follows.
- autd3-rs: Client
- autd3-rs-core: Core layer
- autd3-rs-pattern: Pattern computation (single focal point, etc.)
- autd3-rs-pattern-holo: Multi-focus optimization
- autd3-rs-pattern-holo-wgpu: GPU backend for multi-focus optimization
- autd3-rs-modulation: AM modulation computation
- autd3-rs-emulator: Emulator that records emission data without real hardware
- autd3-rs-link-echocat: AUTD3 dedicated EtherCAT Link
- autd3-rs-link-ethercrab: EtherCrab-based Link
- autd3-rs-link-soem: SOEM-based Link (GPL-3.0-only)
- autd3-rs-link-remote: Link for remote connections
- autd3-rs-link-twincat: TwinCAT-based Link
- autd3: Client
- autd3-core: Core layer
- autd3-pattern: Pattern computation (single focal point, etc.)
- autd3-pattern-holo: Multi-focus optimization
- autd3-modulation: AM modulation computation
- autd3-emulator: Emulator that records emission data without real hardware
- autd3-link-echocat: AUTD3 dedicated EtherCAT Link
- autd3-link-ethercrab: EtherCrab-based Link
- autd3-link-soem: SOEM-based Link (GPL-3.0-only)
- autd3-link-remote: Link for remote connections
- autd3-link-twincat: TwinCAT-based Link
- AUTD3: Client
- AUTD3.Core: Core layer
- AUTD3.Pattern: Pattern computation (single focal point, etc.)
- AUTD3.Pattern.Holo: Multi-focus optimization
- AUTD3.Modulation: AM modulation computation
- AUTD3.Link.Echocat: AUTD3 dedicated EtherCAT Link
- AUTD3.Link.Ethercrab: EtherCrab-based Link
- AUTD3.Link.Soem: SOEM-based Link (GPL-3.0-only)
- AUTD3.Link.Remote: Link for remote connections
- AUTD3.Link.TwinCAT: TwinCAT-based Link
The Unity package is distributed via the npm registry (npmjs).
The supported Unity version is 6 (6000.x) or later.
- com.shinolab.autd3-sdk: Client
- com.shinolab.autd3-sdk.core: Core layer
- com.shinolab.autd3-sdk.pattern: Pattern computation (single focal point, etc.)
- com.shinolab.autd3-sdk.pattern.holo: Multi-focus optimization
- com.shinolab.autd3-sdk.modulation: AM modulation computation
- com.shinolab.autd3-sdk.link.echocat: AUTD3 dedicated EtherCAT Link
- com.shinolab.autd3-sdk.link.ethercrab: EtherCrab-based Link
- com.shinolab.autd3-sdk.link.soem: SOEM-based Link (GPL-3.0-only)
- com.shinolab.autd3-sdk.link.remote: Link for remote connections
- com.shinolab.autd3-sdk.link.twincat: TwinCAT-based Link
- com.shinolab.autd3-sdk.link.nop: Link that does nothing (for testing)
Installation
Section titled “Installation”Add the scoped registry and the required packages to the Unity project’s Packages/manifest.json.
{ "scopedRegistries": [ { "name": "npmjs", "url": "https://registry.npmjs.org", "scopes": ["com.shinolab"] } ], "dependencies": { "com.shinolab.autd3-sdk": "0.6.0", "com.shinolab.autd3-sdk.pattern": "0.6.0", "com.shinolab.autd3-sdk.modulation": "0.6.0", "com.shinolab.autd3-sdk.link.echocat": "0.6.0" }}To do this from the GUI, add the following registry under Edit → Project Settings → Package Manager → Scoped Registries.
- Name:
npmjs - URL:
https://registry.npmjs.org - Scope(s):
com.shinolab
Then add the required packages from Window → Package Manager → My registries → npmjs.