AVSLab / basilisk

Astrodynamics simulation framework
https://hanspeterschaub.info/basilisk
ISC License
149 stars 61 forks source link

Hardware-in-the-Loop example #574

Closed Juliusz-SatRev closed 9 months ago

Juliusz-SatRev commented 10 months ago

Describe your use case I am looking for documentation regarding distributed simulation to be able to implement communication between Basilisk and the satellite's on-board computer. I would like to use Basilisk in my testing pipeline.

Describe alternatives solutions you've considered To my knowledge, Basilisk uses ZeroMQ and (custom) BlackLion, but the search engine on the documentation page doesn't show any useful results. I found several publications and videos from conferences, but in none of them I found a piece-of-code demonstrating the implementation of distributed communication. Basilisk communicates with Vizard, but since my main language is Python, I haven't delved into how vizSupport implements its interfaces.

Are there examples of such communication available?

In scenarioBasicOrbitStream.py I found an example of using the SimSynch module, which can be useful for adjusting the simulation frequency. Are there other modules worth knowing when implementing Hardware-in-the-Loop?

The ideal solution would be to create a tutorial or example in which messages are defined and communication between Basilisk and a separate Python process is implemented.

Additional context N/A

sassy-asjp commented 10 months ago

As far as I know, the code was never released. In addition, the Basilisk message passing system has changed since 2021 so any code from that project would not currently work anyways.

Here is the paper: https://arc.aiaa.org/doi/10.2514/1.I010827

It is fairly straightforward to implement something that follows the same general architecture based on the ideas presented in the paper.

schaubh commented 10 months ago

Correct, the hardware interfaces we have done ourselves were very mission specific and not useful to the general community. The simulation module that sync's the sim is useful to run BSK at a particular real time frequency.