Developing a Telescope Control System With DAQAstra
The Challenge
While developing the low-level hardware controls for TransAstra's TKO machines, it became clear to the DAQAstra team that compartmentalized control of individual sensors and actuators would not be sufficient to manage a system as complex as TKO.
As the number of sensors and actuators increased, so did the complexity of controlling them. It soon became evident that a new solution was necessary—one that could simplify coordination while maintaining precision and reliability.
Key Insight:
Controlling each sensor and actuator independently doesn’t scale well for complex systems like TKO. A higher-level abstraction is needed to manage interdependent hardware efficiently.
The Solution
The DAQAstra team's answer to this challenge was the creation of two Actuator services designed to simplify system control:
- Generic Actuator — A simple wrapper for grouping sensors and actuators
- Stateful Actuator — A more advanced service that defines a complete state machine
Generic Actuator
The Generic Actuator provides users with an easy way to wrap sensors and actuators together into cohesive control units.
To configure one, the user simply defines:
- A list of states, each with its own combination of sensors and actuators
- Each sensor and actuator is selected from services the user has already configured
Once this service is created, all actuator commands and sensor verifications can be handled with a simple MQTT message:
{
"command": "example_state",
}
Example in Action:
On TKO, Generic Actuator services control the movement of the telescopes, switching several solenoids simultaneously to alter the field of view the telescopes have of the night sky.
Stateful Actuator
The Stateful Actuator expands on this idea by allowing users to integrate sensors and actuators into a unified state machine.
Configuration involves:
- Defining states (based on sensor readings)
- Specifying valid transitions between those states
- Assigning actuator behaviors to each transition
Operators can then:
- Send transition commands that only execute if the requested transition is valid from the current state
- Define sequences — a set of chained transitions that move through multiple states with a single command
For example:
```json
{
"command": "example_transition_or_sequence",
}
```
Why It Matters:
The stateful approach ensures commands are only executed when the system is in the correct state, maintaining both safety and predictability during operation.
Conclusion
DAQAstra’s Stateful Actuator provides a powerful yet intuitive way to combine multiple sensors and actuators into clean, message-driven control interfaces.
For the TKO system, this design:
- Accelerated development of the machine’s control logic
- Reduced operator workload through automation
- Simplified future scaling and full system automation
In short:
By wrapping low-level device management into modular services, DAQAstra enables both speed and reliability—critical for controlling advanced machines like TransAstra’s TKO.
Ready to learn more? Check out our hardware page.