An open API service indexing awesome lists of open source software.

https://github.com/olivia-banks/cardinal

Cardinal FTC Simulation Software
https://github.com/olivia-banks/cardinal

aerospace-engineering first-tech-challenge quantum-machine-learning robotics simulation simulation-modeling

Last synced: about 2 months ago
JSON representation

Cardinal FTC Simulation Software

Awesome Lists containing this project

README

          

# Cardinal

![A red, North-American cardinal](/assets/images/cardinal.jpg)

Cardinal is a way to simulate FTC (First Tech Challenge) OpModes. It's not done, and shouldn't be
used just yet.

## Technical Details

When you open a robot controller that knows about a Cardinal-enabled OpMode, the
OpMode falls into native code. This code essentially hijacks parts of the VFS device
tree, and through this it fakes the existence of I2C, USB, etc. devices. Whenever data
is written to one of these fake devices, it is passed to the native code running on
the Android phone, which shakes the protocol, extracts the data, and repackages it,
so it can be sent to the desktop client.

The desktop client then takes the information the Android phone sends it, and uses it
to construct a fake version of reality, and sensor data can then be gleaned from
there.

Since Cardinal works at such a low level, no code changes are needed in your code,
or in any code you pull in. It's just that easy! Other simulates have to modify
the RobotCore, which isn't terribly flexible.