"But as with so many things in our lives, the reason for doing something is not the important thing. It is the fact of doing that remains."
โ Dan Simmons, Hyperion (1989)
Hyperion is a real-time general purpose robotics framework built in Rust.
Currently Hyperion is only supported within a monolithic repository structure. Eventually it may support being included in other repositories, but for the moment any project build with Hyperion must be a subfolder of a cloned version of Hyperion, i.e
+ hyperion
+ execution/
+ math/
+ your_project/
...
Hyperion can be built on most modern Linux platforms. Currently only some specific platforms are supported through Bazel:
//tools/platforms:bionic-linux-x86_64
//tools/platforms:disco-linux-x86_64
//tools/platforms:cortex-m7f-none
These can be switched between via Bazel flags --host_platform=
and
--target_platforms=
. The differentiating feature between the two ubuntu platforms
as far as I can tell currently is whether or not Clang is built against
libtinfo6
or libtinfo5
. For example, the Ubuntu Disco toolchain works on
Arch Linux kernel version 5.0.8.
All unit tests in the project can be tested via bazel test //...
. Be aware that
pending a patch to Bazel to allow something similar to CPU environment groups, this
may break if some ocmponents are only meant to be built for a single platform.