Support for Rust flight software modules #262
Replies: 5 comments 3 replies
-
As an update, I shared Basilisk with the AeroRust forum and found several people interested in collaborating on bringing Rust to Basilisk. @schaubh do you have any resources or thoughts on how this could be done? Is there documentation on how basilisk integrates C modules that the Rust collaborators could look to for integrating Rust.modules? |
Beta Was this translation helpful? Give feedback.
-
The first challenge is does the SWIG language support Rust? I don't think it does. Then the build system would have to be updated to support compiling such modules. Generally speaking I like the BSK supports simulations with components written C, C++ and Python. It would be interesting to explore what it would take to include BSK modules written in other languages. @patkenneally, do you have any thoughts on this? |
Beta Was this translation helpful? Give feedback.
-
We love Basilisk and are especially excited about the possibility of maintaining software equivalence between simulation and flight, but we're hoping to use rust for flight software to take advantage of it's greater safety. In my opinion, the question doesn't need to be about supporting other languages generally. Rust stands out as the next-generation of C and is well underway in adoption. For example, Rust is the only other language to receive support in the Linux kernel (starting with Linux 6.1): https://www.infoq.com/news/2022/12/linux-6-1-rust/ |
Beta Was this translation helpful? Give feedback.
-
The key is creating a Python interface to the compiled code. There might be other tools out there that could be used for Rust BSK modules to create python bindings. However, just to be clear, this is not something we are currently working on. |
Beta Was this translation helpful? Give feedback.
-
This PR added support for using non-swig modules inside basilisk : #652 |
Beta Was this translation helpful? Give feedback.
-
The Rust Programming language is designed as a more reliable alternative to C. Has anyone thought about what it would take to implement support for flight software modules written in Rust?
There's a great AeroRust community for aerospace projects written in Rust. They'd probably be really excited about collaborating on basilisk Rust support.
Beta Was this translation helpful? Give feedback.
All reactions