Connecting the Pipes

It’s going to take a week or so to get a Teensy 4.1 in, so work on Instinctus has stopped for a minute. Instead, I took some time to continue working out how data will flow from one system to the next. As a starting point, Instinctus will transmit ToF and IMU data to Cogitator over serial. Cogitator will take that data and make it available to Explorator over a WebSocket connection.

The Instinctus code will have to wait, but it will basically consist of a loop that reads the data and dumps it into a serial buffer on the Teensy. Nothing earth-shaking.

Cogitator is Python code written for the Jetson Orin Nano. It will be composed of several independent services coordinated by ZeroMQ. Initially, these services are:

There is also a broker- a dumb pipe that routes data from publishers to subscribers. Right now, that’s just dummy publishing and gateway subscribing.

Over on Explorator, a WebSocket connection is created and maintained. For now, this is all running on my Mac, so it’s just a local connection — no Jetson involved. Data is then put in a Pania store, and UI elements react to changes. The result is a real-time chart of the data being produced by dummy. Once Instinctus is up and running, the full path from Instinctus to Cogitator to Explorator will be complete.

Real-time chart of simulated ToF data
Real-time chart of simulated ToF data.