The big picture - northern-bites/nbites GitHub Wiki

When you first go into our codebase you’ll notice that there are three major directories:

  1. data
  2. src
  3. util

The data directory is where our data lives naturally. Here you’ll find our log files, our color tables, our sliders (used for generating color tables) and more. Most of this data lives on the microwave server in the robocup directory. You can generally pull stuff from the server by cd’ing into the appropriate directory and issuing the command

./sync down
In some cases you’ll want to add the specific bit you want to pull. Conversely, if you have just generated some data you can
./sync up
to push it to the server.

The src directory is where our source code lives. There are a bunch of subdirectories in there but for most people the only two that truly matter are man and qtool. man is where all of the code lives that actually goes on the robot. qtool is the home of our development tool. Basically you run the qtool in order to figure out how to modify the code in man.

The util directory is, as its name implies, our utility directory. You’ll find things here like our scripts. But you probably knew this if you have installed our code base.

In terms of man, it too has a bunch of subdirectories and files. Among the important ones are

  • vision – houses the vision system
  • noggin – houses the behavior system and the localization system
  • corpus – houses things that pertain to the robot’s body (like its lights)
  • motion – houses the motion system
  • comm – houses the communication system
  • include – contains common include files used all over the system

In terms of qtool the subdirectories roughly map onto the different modules you’ll find when you run the qtool. For instance the colorcreator directory houses the code having to do with making color tables. There are some general directories too, such as the image directory which has code pertaining to image processing that is used in numerous modules.

Our code is written in two languages: C++ and Python. Essentially anything that needs to be fast (vision, motion, localization) is written in C++ while the behaviors are written in Python. You can find most of the behavior code in noggin/players.

⚠️ **GitHub.com Fallback** ⚠️