1.2. Setup & Installation
BRASH is a NASA-funded Phase II STTR focused on developing tools for integrating ROS2 with Flight Software (FSW) tools such as cFS.
These are instructions to install the BRASH tools on Ubuntu 22.04 using ROS2 humble. You’ll need vcstool to pull some packages:
$ pip3 install vcstool
1.2.1. Install TRACLabs’ cFS
We have forked NASA’s cFS here. The following instructions will guide you through checking it out and testing it.
Note
Note that the basic BRASH demos and bridge plugins will run with NASA’s cFS (https://github.com/nasa/cFS), version 7.0.0. There are some additional cFE applications we have developed for testing and logging that are included in our fork however. So for testing and tutorial processes it is recommended you use that fork.
Checkout and install the cFS source
$ export CFE_ROOT=$HOME/code/cFS # or someplace else you want to keep the cFS $ echo "export CFE_ROOT=$CFE_ROOT" >> ~/.bashrc $ source ~/.bashrc $ mkdir -p $CFE_ROOT $ git clone git@github.com:traclabs/cFS.git $CFE_ROOT $ pushd $CFE_ROOT $ git submodule update --init --recursive $ make SIMULATION=native prep $ make $ make install $ popd
Test the install
$ cd build/exe/cpu1 $ ./core-cpu1 2>&1 | tee out.txt
1.2.2. Install the BRASH ROS2 Workspace
Checkout the BRASH workspace and its packages:
$ cd ~/code # or wherever you want to install the BRASH ROS2 workspace $ git clone git@github.com:traclabs/brash.git $ cd brash $ mkdir src $ git checkout main $ vcs import src < https.repos # User choice of https.repos or ssh.repos
Pulling code updates
$ vcs pull src # this will do a git pull on all the checked our repos in src
Compile
$ source /opt/ros/humble/setup.bash $ colcon build --symlink-install
1.2.3. Optional but recommended
If you want to develop your own applications and create new messages, you will need juicer. If you want to transfer files from flight to ground, you’ll need CFDP:
Install juicer: Taken from the juicer README docs:
$ cd ~/code $ sudo apt install libdwarf-dev libelf-dev libsqlite3-dev $ git clone https://github.com/WindhoverLabs/juicer.git --recursive $ cd juicer $ git checkout archive_unions $ make $ make run-tests
Pay special attention to the branch (archive_unions) as this contains a patch made specifically for BRASH. Note that the run-tests currently fails on Ubuntu 22.04, but the executable will work.
Install CFDP:
$ pip3 install cfdp