# YAMS

## Home

- [Yet Another Mechanism System](https://yams.yassrobotics.com/readme.md): Yet Another Mechanism System: the mechanism library built from years of FRC experience. Describe your mechanism once, and get the commands, simulation, telemetry, and live tuning.

## Documentation

- [Welcome](https://yams.yassrobotics.com/documentation/readme.md)
- [Why YAMS?](https://yams.yassrobotics.com/documentation/why-yams.md)
- [Upgrading from 2026 to 2027](https://yams.yassrobotics.com/documentation/upgrading-from-2026-to-2027.md)
- [Create a project and install YAMS](https://yams.yassrobotics.com/documentation/tutorials/project-setup.md): Make the robot project that every tutorial starts from.
- [Arm](https://yams.yassrobotics.com/documentation/tutorials/arm.md): Learn how to program an Arm.
- [Step 1: The motor controller](https://yams.yassrobotics.com/documentation/tutorials/arm/motor-controller.md): Configure the SparkMax and wrap it in a SmartMotorController.
- [Step 2: The arm](https://yams.yassrobotics.com/documentation/tutorials/arm/mechanism.md): Describe the arm and create the Arm mechanism.
- [Step 3: Commands and buttons](https://yams.yassrobotics.com/documentation/tutorials/arm/commands.md): Make commands from the Arm and bind them to controller buttons.
- [Step 4: Simulate it](https://yams.yassrobotics.com/documentation/tutorials/arm/simulate.md): Run the arm in simulation and drive it with a controller.
- [Elevator](https://yams.yassrobotics.com/documentation/tutorials/elevator.md): Learn how to program an Elevator.
- [Step 1: The motor controller](https://yams.yassrobotics.com/documentation/tutorials/elevator/motor-controller.md): Configure the SparkMax and wrap it in a SmartMotorController.
- [Step 2: The elevator](https://yams.yassrobotics.com/documentation/tutorials/elevator/mechanism.md): Describe the elevator and create the Elevator mechanism.
- [Step 3: Commands and buttons](https://yams.yassrobotics.com/documentation/tutorials/elevator/commands.md): Make commands from the Elevator and bind them to controller buttons.
- [Step 4: Simulate it](https://yams.yassrobotics.com/documentation/tutorials/elevator/simulate.md): Run the elevator in simulation and drive it with a controller.
- [Shooter/FlyWheels](https://yams.yassrobotics.com/documentation/tutorials/shooter-flywheels.md): We will learn how to program a Shooter!
- [Step 1: The motor controller](https://yams.yassrobotics.com/documentation/tutorials/shooter-flywheels/motor-controller.md): Configure the SparkMax and wrap it in a SmartMotorController.
- [Step 2: The flywheel](https://yams.yassrobotics.com/documentation/tutorials/shooter-flywheels/mechanism.md): Describe the flywheel and create the FlyWheel mechanism.
- [Step 3: Commands and buttons](https://yams.yassrobotics.com/documentation/tutorials/shooter-flywheels/commands.md): Make commands from the FlyWheel and bind them to controller buttons.
- [Step 4: Simulate it](https://yams.yassrobotics.com/documentation/tutorials/shooter-flywheels/simulate.md): Run the flywheel in simulation and drive it with a controller.
- [Double FlyWheel](https://yams.yassrobotics.com/documentation/tutorials/double-flywheel.md): We will learn how to program a Double FlyWheel shooter!
- [Step 1: Two motor controllers](https://yams.yassrobotics.com/documentation/tutorials/double-flywheel/motor-controllers.md): One config and one SmartMotorController for each flywheel.
- [Step 2: Commands and buttons](https://yams.yassrobotics.com/documentation/tutorials/double-flywheel/commands.md): One command sets both flywheel speeds. Presets give no spin, backspin or topspin.
- [Step 3: Spin control and followers](https://yams.yassrobotics.com/documentation/tutorials/double-flywheel/spin-and-followers.md): A spin ratio between the two flywheels, and what to do when they share a shaft.
- [Swerve Drive](https://yams.yassrobotics.com/documentation/tutorials/swerve-drive.md): Learn how to program a Swerve Drive.
- [Step 1: The module motors](https://yams.yassrobotics.com/documentation/tutorials/swerve-drive/module-motors.md): A SmartMotorControllerConfig for the drive motors and one for the azimuth motors.
- [Step 2: The modules and the drive](https://yams.yassrobotics.com/documentation/tutorials/swerve-drive/modules-and-drive.md): Build four SwerveModules, add the gyro, and create the SwerveDrive.
- [Step 3: Driving](https://yams.yassrobotics.com/documentation/tutorials/swerve-drive/driving.md): Drive commands, a SwerveInputStream for the sticks, and the bindings.
- [How to set an Arm's target Angle?](https://yams.yassrobotics.com/documentation/how-to-mechanisms/how-to-set-an-arms-target-angle.md)
- [How to set an Elevator's target Height?](https://yams.yassrobotics.com/documentation/how-to-mechanisms/how-to-set-an-elevators-target-height.md)
- [How to shoot with a Shooter?](https://yams.yassrobotics.com/documentation/how-to-mechanisms/how-to-shoot-with-a-shooter.md)
- [How do I shoot on the move?](https://yams.yassrobotics.com/documentation/how-to-mechanisms/how-do-i-shoot-on-the-move.md): Where to learn shooting on the move, and how the ideas in those sources apply to YAMS.
- [How do I use absolute encoders on my Arm?](https://yams.yassrobotics.com/documentation/how-to-mechanisms/how-do-i-use-absolute-encoders-on-my-arm.md)
- [How do I home a mechanism with limit switches?](https://yams.yassrobotics.com/documentation/how-to-mechanisms/how-do-i-home-a-mechanism-with-limit-switches.md)
- [How do I control a mechanism that carries a game piece?](https://yams.yassrobotics.com/documentation/how-to-mechanisms/how-do-i-control-a-mechanism-that-carries-a-game-piece.md): A game piece makes a mechanism heavier, and can move its center of mass, which changes the feedforward and feedback gains it needs.
- [How do I control a Mechanism without a Mechanism Class?](https://yams.yassrobotics.com/documentation/how-to-mechanisms/how-do-i-control-a-mechanism-without-a-mechanism-class.md): Control each SmartMotorController yourself, such as when the motors of one mechanism need different setpoints.
- [How do I use a vendor hardware config?](https://yams.yassrobotics.com/documentation/how-to-motor-controllers-and-sensors/how-do-i-use-a-vendor-hardware-config.md)
- [How do I use a DCMotor that isn't in WPILib?](https://yams.yassrobotics.com/documentation/how-to-motor-controllers-and-sensors/how-do-i-use-a-dcmotor-that-isnt-in-wpilib.md)
- [How to find your mechanism circumference?](https://yams.yassrobotics.com/documentation/how-to-motor-controllers-and-sensors/how-to-find-your-mechanism-circumference.md)
- [How do I use exponential profiles?](https://yams.yassrobotics.com/documentation/how-to-motor-controllers-and-sensors/how-do-i-use-exponential-profiles.md)
- [How to disable linear closed loop control?](https://yams.yassrobotics.com/documentation/how-to-motor-controllers-and-sensors/how-to-disable-linear-closed-loop-control.md)
- [How do I sense activity based off of the current?](https://yams.yassrobotics.com/documentation/how-to-motor-controllers-and-sensors/how-do-i-sense-activity-based-off-of-the-current.md)
- [How do I use a gyro mounted on its side?](https://yams.yassrobotics.com/documentation/how-to-motor-controllers-and-sensors/how-do-i-use-a-gyro-mounted-on-its-side.md)
- [How do I enable battery discharge simulation?](https://yams.yassrobotics.com/documentation/how-to-simulation-and-logging/how-do-i-enable-battery-discharge-simulation.md)
- [How do I run a high fidelity simulation?](https://yams.yassrobotics.com/documentation/how-to-simulation-and-logging/how-do-i-run-a-high-fidelity-simulation.md): Step the simulated physics every millisecond from a Notifier, so a closed loop running on the motor controller sees a fresh measurement on every run.
- [How do I view my DataLog in AdvantageScope?](https://yams.yassrobotics.com/documentation/how-to-simulation-and-logging/how-do-i-view-my-datalog-in-advantagescope.md)
- [How do I show my mechanisms on a 3D robot model?](https://yams.yassrobotics.com/documentation/how-to-simulation-and-logging/how-do-i-show-my-mechanisms-on-a-3d-robot-model.md): Publish each mechanism's Pose3d, so AdvantageScope moves the matching part of your robot's CAD model as the real mechanism moves.
- [Organizing configs in constants](https://yams.yassrobotics.com/documentation/understanding/config-organization.md)
- [Battery simulation](https://yams.yassrobotics.com/documentation/understanding/battery-simulation.md)
- [Smart motor controllers](https://yams.yassrobotics.com/documentation/understanding/editor.md)
- [SmartMotorControllerConfig](https://yams.yassrobotics.com/documentation/understanding/editor/config.md)
- [Motor basics](https://yams.yassrobotics.com/documentation/understanding/editor/config/motor-basics.md)
- [Gearing and units](https://yams.yassrobotics.com/documentation/understanding/editor/config/gearing-and-units.md)
- [Closed loop control](https://yams.yassrobotics.com/documentation/understanding/editor/config/closed-loop-control.md)
- [Feedforward](https://yams.yassrobotics.com/documentation/understanding/editor/config/feedforward.md)
- [Motion profiles](https://yams.yassrobotics.com/documentation/understanding/editor/config/motion-profiles.md)
- [Limits and protection](https://yams.yassrobotics.com/documentation/understanding/editor/config/limits-and-protection.md)
- [Encoders](https://yams.yassrobotics.com/documentation/understanding/editor/config/encoders.md)
- [Followers](https://yams.yassrobotics.com/documentation/understanding/editor/config/followers.md)
- [Simulation](https://yams.yassrobotics.com/documentation/understanding/editor/config/simulation.md)
- [Motor controller feature matrix](https://yams.yassrobotics.com/documentation/understanding/editor/feature-matrix.md)
- [Simulation-only PID + feedforward](https://yams.yassrobotics.com/documentation/understanding/editor/simulation-only-pid-+-feedforward.md)
- [Limiting power consumption](https://yams.yassrobotics.com/documentation/understanding/editor/limiting-power-consumption.md)
- [Exponential profiles](https://yams.yassrobotics.com/documentation/understanding/editor/exponential-profiles.md)
- [LQR controllers](https://yams.yassrobotics.com/documentation/understanding/editor/lqr-controllers.md)
- [Mechanism configs](https://yams.yassrobotics.com/documentation/understanding/mechanism-configs.md)
- [Shared options](https://yams.yassrobotics.com/documentation/understanding/mechanism-configs/shared-options.md)
- [Sensors](https://yams.yassrobotics.com/documentation/understanding/sensors.md): YAMS Supports simulation really well, but my sensors don't.
- [Arms](https://yams.yassrobotics.com/documentation/understanding/arms.md)
- [ArmConfig](https://yams.yassrobotics.com/documentation/understanding/arms/arm-config.md)
- [Elevators](https://yams.yassrobotics.com/documentation/understanding/elevators.md)
- [ElevatorConfig](https://yams.yassrobotics.com/documentation/understanding/elevators/elevator-config.md)
- [Turrets/Wrists](https://yams.yassrobotics.com/documentation/understanding/turrets-wrists.md)
- [PivotConfig](https://yams.yassrobotics.com/documentation/understanding/turrets-wrists/pivot-config.md)
- [Shooters](https://yams.yassrobotics.com/documentation/understanding/shooters.md)
- [FlyWheelConfig](https://yams.yassrobotics.com/documentation/understanding/shooters/flywheel-config.md)
- [Swerve Drive](https://yams.yassrobotics.com/documentation/understanding/swerve-drive.md)
- [SwerveDriveConfig](https://yams.yassrobotics.com/documentation/understanding/swerve-drive/swerve-drive-config.md)
- [Swerve Module](https://yams.yassrobotics.com/documentation/understanding/swerve-drive/swerve-module.md)
- [SwerveModuleConfig](https://yams.yassrobotics.com/documentation/understanding/swerve-drive/swerve-module/swerve-module-config.md)
- [Swerve Input Stream](https://yams.yassrobotics.com/documentation/understanding/swerve-drive/swerve-input-stream.md)
- [run() vs runTo() Commands](https://yams.yassrobotics.com/documentation/understanding/run-vs-runto.md)
- [Setpoint Methods vs Command Helpers](https://yams.yassrobotics.com/documentation/understanding/setpoint-methods.md)
- [Telemetry](https://yams.yassrobotics.com/documentation/understanding/telemetry.md)
- [DataLog best practices](https://yams.yassrobotics.com/documentation/understanding/datalog-best-practices.md)
- [Live tuning](https://yams.yassrobotics.com/documentation/understanding/live-tuning.md)
- [TunerX in simulation](https://yams.yassrobotics.com/documentation/understanding/live-tuning/tunerx-in-simulation.md)
- [EasyCRT](https://yams.yassrobotics.com/documentation/understanding/easycrt.md): Chinese Remainder Theorem! Made easy by 6911
- [AdvantageKit Integration](https://yams.yassrobotics.com/documentation/understanding/advantagekit-integration.md)
- [Step 1: Define the IO interface](https://yams.yassrobotics.com/documentation/understanding/advantagekit-integration/io-interface.md)
- [Step 2: Implement the IO class](https://yams.yassrobotics.com/documentation/understanding/advantagekit-integration/io-implementation.md)
- [Steps 3 and 4: The subsystem and RobotContainer](https://yams.yassrobotics.com/documentation/understanding/advantagekit-integration/subsystem-and-robotcontainer.md)
- [Log replay](https://yams.yassrobotics.com/documentation/understanding/advantagekit-integration/log-replay.md)
- [Swerve drive with AdvantageKit](https://yams.yassrobotics.com/documentation/understanding/advantagekit-integration/swerve-drive.md)
- [Without an IO layer](https://yams.yassrobotics.com/documentation/understanding/advantagekit-integration/direct-subsystem.md)

## API Reference

- [Overview](https://yams.yassrobotics.com/api-reference/readme.md)
- [Getting started](https://yams.yassrobotics.com/api-reference/getting-started.md)
- [Overview](https://yams.yassrobotics.com/api-reference/java-reference/java.md)
- [Mechanisms](https://yams.yassrobotics.com/api-reference/java-reference/mechanisms.md)
- [Arm](https://yams.yassrobotics.com/api-reference/java-reference/mechanisms/arm.md)
- [Elevator](https://yams.yassrobotics.com/api-reference/java-reference/mechanisms/elevator.md)
- [Pivot](https://yams.yassrobotics.com/api-reference/java-reference/mechanisms/pivot.md)
- [FlyWheel](https://yams.yassrobotics.com/api-reference/java-reference/mechanisms/flywheel.md)
- [DoubleJointedArm](https://yams.yassrobotics.com/api-reference/java-reference/mechanisms/double-jointed-arm.md)
- [DifferentialMechanism](https://yams.yassrobotics.com/api-reference/java-reference/mechanisms/differential-mechanism.md)
- [Configuration](https://yams.yassrobotics.com/api-reference/java-reference/config.md)
- [ArmConfig](https://yams.yassrobotics.com/api-reference/java-reference/config/arm-config.md)
- [ElevatorConfig](https://yams.yassrobotics.com/api-reference/java-reference/config/elevator-config.md)
- [PivotConfig](https://yams.yassrobotics.com/api-reference/java-reference/config/pivot-config.md)
- [FlyWheelConfig](https://yams.yassrobotics.com/api-reference/java-reference/config/flywheel-config.md)
- [DifferentialMechanismConfig](https://yams.yassrobotics.com/api-reference/java-reference/config/differential-mechanism-config.md)
- [MechanismPositionConfig](https://yams.yassrobotics.com/api-reference/java-reference/config/mechanism-position-config.md)
- [SensorConfig](https://yams.yassrobotics.com/api-reference/java-reference/config/sensor-config.md)
- [Motor Controllers](https://yams.yassrobotics.com/api-reference/java-reference/motor-controllers.md)
- [SmartMotorController](https://yams.yassrobotics.com/api-reference/java-reference/motor-controllers/smart-motor-controller.md)
- [SmartMotorControllerConfig](https://yams.yassrobotics.com/api-reference/java-reference/motor-controllers/smart-motor-controller-config.md)
- [SmartMotorControllerTelemetryConfig](https://yams.yassrobotics.com/api-reference/java-reference/motor-controllers/smart-motor-controller-telemetry-config.md)
- [SparkWrapper](https://yams.yassrobotics.com/api-reference/java-reference/motor-controllers/spark-wrapper.md)
- [NovaWrapper](https://yams.yassrobotics.com/api-reference/java-reference/motor-controllers/nova-wrapper.md)
- [Talon Wrapper](https://yams.yassrobotics.com/api-reference/java-reference/motor-controllers/talonfx-wrapper.md)
- [Swerve Drive](https://yams.yassrobotics.com/api-reference/java-reference/swerve.md)
- [SwerveDrive](https://yams.yassrobotics.com/api-reference/java-reference/swerve/swerve-drive.md)
- [SwerveModule](https://yams.yassrobotics.com/api-reference/java-reference/swerve/swerve-module.md)
- [SwerveDriveConfig](https://yams.yassrobotics.com/api-reference/java-reference/swerve/swerve-drive-config.md)
- [SwerveModuleConfig](https://yams.yassrobotics.com/api-reference/java-reference/swerve/swerve-module-config.md)
- [SwerveInputStream](https://yams.yassrobotics.com/api-reference/java-reference/swerve/swerve-input-stream.md)
- [Gearing](https://yams.yassrobotics.com/api-reference/java-reference/gearing.md)
- [GearBox](https://yams.yassrobotics.com/api-reference/java-reference/gearing/gearbox.md)
- [Sprocket](https://yams.yassrobotics.com/api-reference/java-reference/gearing/sprocket.md)
- [MechanismGearing](https://yams.yassrobotics.com/api-reference/java-reference/gearing/mechanism-gearing.md)
- [Math & Control](https://yams.yassrobotics.com/api-reference/java-reference/math.md)
- [SmartMath](https://yams.yassrobotics.com/api-reference/java-reference/math/smart-math.md)
- [ExponentialProfilePIDController](https://yams.yassrobotics.com/api-reference/java-reference/math/exponential-profile-pid-controller.md)
- [LQRConfig](https://yams.yassrobotics.com/api-reference/java-reference/math/lqr-config.md)
- [LQRController](https://yams.yassrobotics.com/api-reference/java-reference/math/lqr-controller.md)
- [DerivativeTimeFilter](https://yams.yassrobotics.com/api-reference/java-reference/math/derivative-time-filter.md)
- [Units & Utilities](https://yams.yassrobotics.com/api-reference/java-reference/units.md)
- [YUnits](https://yams.yassrobotics.com/api-reference/java-reference/units/yunits.md)
- [EasyCRT](https://yams.yassrobotics.com/api-reference/java-reference/units/easy-crt.md)
- [Simulation](https://yams.yassrobotics.com/api-reference/java-reference/sensor.md)
- [BatterySim](https://yams.yassrobotics.com/api-reference/java-reference/sensor/battery-sim.md)
- [Exceptions](https://yams.yassrobotics.com/api-reference/java-reference/exceptions.md)
- [Overview](https://yams.yassrobotics.com/api-reference/c++-reference/cpp.md)
- [Mechanisms](https://yams.yassrobotics.com/api-reference/c++-reference/mechanisms.md)
- [Arm](https://yams.yassrobotics.com/api-reference/c++-reference/mechanisms/arm.md)
- [Elevator](https://yams.yassrobotics.com/api-reference/c++-reference/mechanisms/elevator.md)
- [Pivot](https://yams.yassrobotics.com/api-reference/c++-reference/mechanisms/pivot.md)
- [FlyWheel](https://yams.yassrobotics.com/api-reference/c++-reference/mechanisms/flywheel.md)
- [Configuration](https://yams.yassrobotics.com/api-reference/c++-reference/config.md)
- [ArmConfig](https://yams.yassrobotics.com/api-reference/c++-reference/config/arm-config.md)
- [ElevatorConfig](https://yams.yassrobotics.com/api-reference/c++-reference/config/elevator-config.md)
- [PivotConfig](https://yams.yassrobotics.com/api-reference/c++-reference/config/pivot-config.md)
- [FlyWheelConfig](https://yams.yassrobotics.com/api-reference/c++-reference/config/flywheel-config.md)
- [MechanismPositionConfig](https://yams.yassrobotics.com/api-reference/c++-reference/config/mechanism-position-config.md)
- [SensorConfig](https://yams.yassrobotics.com/api-reference/c++-reference/config/sensorconfig.md)
- [SimSensorConfig](https://yams.yassrobotics.com/api-reference/c++-reference/config/sim-sensor-config.md)
- [Motor Controllers](https://yams.yassrobotics.com/api-reference/c++-reference/motor-controllers.md)
- [SmartMotorController](https://yams.yassrobotics.com/api-reference/c++-reference/motor-controllers/smart-motor-controller.md)
- [SmartMotorControllerConfig](https://yams.yassrobotics.com/api-reference/c++-reference/motor-controllers/smart-motor-controller-config.md)
- [SmartMotorControllerTelemetryConfig](https://yams.yassrobotics.com/api-reference/c++-reference/motor-controllers/smart-motor-controller-telemetry-config.md)
- [TalonFXWrapper / TalonFXSWrapper](https://yams.yassrobotics.com/api-reference/c++-reference/motor-controllers/talonfx-wrapper.md)
- [SparkWrapper](https://yams.yassrobotics.com/api-reference/c++-reference/motor-controllers/spark-wrapper.md)
- [NovaWrapper](https://yams.yassrobotics.com/api-reference/c++-reference/motor-controllers/nova-wrapper.md)
- [Swerve Drive](https://yams.yassrobotics.com/api-reference/c++-reference/swerve.md)
- [SwerveDrive](https://yams.yassrobotics.com/api-reference/c++-reference/swerve/swerve-drive.md)
- [SwerveModule](https://yams.yassrobotics.com/api-reference/c++-reference/swerve/swerve-module.md)
- [SwerveDriveConfig](https://yams.yassrobotics.com/api-reference/c++-reference/swerve/swerve-drive-config.md)
- [SwerveModuleConfig](https://yams.yassrobotics.com/api-reference/c++-reference/swerve/swerve-module-config.md)
- [SwerveInputStream](https://yams.yassrobotics.com/api-reference/c++-reference/swerve/swerve-input-stream.md)
- [Gearing](https://yams.yassrobotics.com/api-reference/c++-reference/gearing.md)
- [GearBox](https://yams.yassrobotics.com/api-reference/c++-reference/gearing/gearbox.md)
- [Sprocket](https://yams.yassrobotics.com/api-reference/c++-reference/gearing/sprocket.md)
- [MechanismGearing](https://yams.yassrobotics.com/api-reference/c++-reference/gearing/mechanism-gearing.md)
- [Math & Control](https://yams.yassrobotics.com/api-reference/c++-reference/math.md)
- [LQRConfig](https://yams.yassrobotics.com/api-reference/c++-reference/math/lqr-config.md)
- [LQRController](https://yams.yassrobotics.com/api-reference/c++-reference/math/lqr-controller.md)
- [DerivativeTimeFilter](https://yams.yassrobotics.com/api-reference/c++-reference/math/derivative-time-filter.md)
- [Units & Utilities](https://yams.yassrobotics.com/api-reference/c++-reference/units.md)
- [EasyCRT](https://yams.yassrobotics.com/api-reference/c++-reference/units/easy-crt.md)
- [Simulation](https://yams.yassrobotics.com/api-reference/c++-reference/sensor.md)
- [BatterySim](https://yams.yassrobotics.com/api-reference/c++-reference/sensor/battery-sim.md)
- [Exceptions](https://yams.yassrobotics.com/api-reference/c++-reference/exceptions.md)
- [Overview](https://yams.yassrobotics.com/api-reference/guides/guides.md)
- [Configuring a motor controller](https://yams.yassrobotics.com/api-reference/guides/configuring-a-motor.md)
- [Building an arm subsystem](https://yams.yassrobotics.com/api-reference/guides/building-an-arm.md)
- [Building an elevator subsystem](https://yams.yassrobotics.com/api-reference/guides/building-an-elevator.md)
- [Building a flywheel subsystem](https://yams.yassrobotics.com/api-reference/guides/building-a-flywheel.md)
- [Setting up Swerve Drive](https://yams.yassrobotics.com/api-reference/guides/setting-up-swerve.md)
- [Building positional mechanisms (C++)](https://yams.yassrobotics.com/api-reference/guides/building-mechanisms-cpp.md)
- [Building a flywheel subsystem (C++)](https://yams.yassrobotics.com/api-reference/guides/building-a-flywheel-cpp.md)
- [Setting up Swerve Drive (C++)](https://yams.yassrobotics.com/api-reference/guides/setting-up-swerve-cpp.md)
- [Using YAMS sensors](https://yams.yassrobotics.com/api-reference/guides/using-yams-sensors.md)
- [Simulation](https://yams.yassrobotics.com/api-reference/guides/simulation.md)

## Changelog

- [Changelog](https://yams.yassrobotics.com/changelog/readme.md): New updates and improvements
