Directory Structure
The main code repository represents a monorepo containing many parts of the robotic control software and several tools. The directory structure is organized as follows, only touching parts relevant for the framework:
crates/
: Contains several crates relevant to the framework, beside other crates for the robotics domain and toolingcode_generation/
: Once the source code is analyzed, this crate will generate all necessary code to execute all cyclers and nodescommunication/
: The Communication server (for the framework) and client (for debug tooling)context_attribute/
: Contains the proc-macro#[context]
used in our nodes to augment and prepare them for the execution in the frameworkframework/
: Some basic building blocks (future queue and multiple buffers) and other framework typesparameters/
: Functionality for de/serializing a parameter directorypath_serde/
: Traits needed for all types available via Communicationpath_serde_derive/
: Derive macro for thePathSerialize, PathDeserialize, PathIntrospect
trait
etc/
: All additional files necessary when deploying the code to a robotparameters/
: Parameter files that are deployed to NAOs and are read during startup
tools/
: Miscellaneous projects and tools more or less related to the codepepsi/
: Mainly a tool for deploying and interacting with the NAOtwix/
: Current iteration of a debug tool