/ovc

the Open Vision Computer

Primary LanguageCApache License 2.0Apache-2.0

Open Vision Computer (OVC)

Here is an outdated-but-maybe-interesting overview presentation of the project (March 2018).

This repo contains hardware, firmware, and software for an open-source embedded vision system: the Open Vision Computer (OVC). The goal is to connect state of the art open hardware with open firmware and software. There are a few revs:

  • ovc0: three Python1300 imagers, an Artix-7 FPGA, DRAM, and USB3 via a Cypress FX3 controller.
  • ovc1: two Python1300 imagers, a Jetson TX2 (6x ARMv8, GPU, etc.) connected to a Cyclone-V GT FPGA over PCIe.
  • ovc2: two Python1300 imagers, a Jetson TX2 (6x ARMv8, GPU, etc.) connected to a Cyclone 10 GX FPGA over PCIe Gen 2.0 x4
  • ovc3: three ON Semi AR0144CS imagers, USB Type-C peripheral, Trenz TE0820 module with Xilinx Zynq UltraScale+, RAM, flash, etc. Up to four optional external camera boards, each of which add a pair of AR0144CS imagers.
  • ovc4: A Jetson Xavier NX carrier board with an NXP MCU, USB Type-C interface and six Picam compatible connectors.
  • ovc5 (current work): based on Zynq UltraScale+ modules from Enclustra, with up to six external MIPI camera boards. Both Zynq USB SuperSpeed (5 Gbps) transceivers connect to an onboard USB-SS+ (10 Gbps) hub controller IC, which multiplexes them upstream via a USB type-C connector. Also has three Qwiic/STEMMA connectors and some random FPGA GPIO for low-speed expansion.

Where do I find stuff

Each camera family has its own directory in this repository that contains its relevant hardware, firmware, and software.

Hardware Design

We are using the very latest KiCAD: the nightly development builds. Installation instructions are here: http://kicad-pcb.org/download/ubuntu/

Once you have installed kicad-nightly on your machine, then you will need to set up the repos as follows:

mkdir ~/hw
cd ~/hw
git clone ssh://git@github.com/osrf/osrf_hw
git clone ssh://git@github.com/osrf/ovc

Add the following line to your .bashrc file to set the KIWORKSPACE environment variable to point at your hardware folder:

export KIWORKSPACE=~/hw

Then you should be able to view the latest developments:

cd ~/hw/ovc/ovc5/hardware/carrier
kicad-nightly ovc5.kicad_pro