6 releases (stable)
new 2.1.1 | Oct 30, 2024 |
---|---|
2.1.0 | May 3, 2024 |
2.0.0 | Mar 13, 2024 |
1.1.0 | Mar 4, 2024 |
0.1.0 | Feb 1, 2024 |
#4 in #gmt
5MB
15K
SLoC
gmt_dos-clients_servos
A client for the GMT servo-mechanisms.
lib.rs
:
GMT Servo-Mechanisms
A dos-actors system that combines together a few clients:
Per default, only a few inputs and outputs of the FEM are made available:
- FEM inputs:
MountTorques
M1HardpointsForces
HardpointsForces<ID>
M1ActuatorAppliedForces
ActuatorAppliedForces<ID>
M2ASMVoiceCoilsForces
VoiceCoilsForces<ID>
M2ASMFluidDampingForces
FluidDampingForces<ID>
M2PositionerForces
- FEM outputs
MountEncoders
M1HardpointsMotion
HardpointsMotion<ID>
M1RigidBodyMotions
M2ASMVoiceCoilsMotion
VoiceCoilsMotion<ID>
M2RigidBodyMotions
M2PositionerNodes
Other builders will add extra inputs and outputs to the FEM. These builders are:
Warning
The gmt_dos-clients_servos
crate depends on some code that is generated at compile timed
based on the value of the environment variables FEM_REPO
and MOUNT_MODEL
.
To get the full documentation, you need to set the FEM_REPO
environment variable and
recompile the docs locally with:
FEM_REPO=<path-to-fem> cargo doc --no-deps --package gmt_dos-clients_servos --open
Example
use gmt_dos_clients_servos::{asms_servo, AsmsServo, GmtServoMechanisms};
use gmt_fem::FEM;
const ACTUATOR_RATE: usize = 80; // 100Hz
let frequency = 8000_f64; // Hz
let fem = FEM::from_env()?;
let gmt_servos =
GmtServoMechanisms::<ACTUATOR_RATE, 1>::new(frequency, fem).build()?;
Dependencies
~69MB
~1M SLoC