Installation for development computer
Looking for instructions on how to also install on a NavQPlus?
Click here to get instructions on how to setup and configure a NavQPlus. Continue this guide for installing CogniPilot on a native development computer.
Requirements
- Ubuntu 24.04 host environment.
- Stable internet connection for downloading and installing packages.
This may work on other environments but only Ubuntu 24.04 is officially supported.
Optional before installing
Setup SSH keys on host and GitHub
If planning to develop and make changes to code it is suggested to set up ssh keys, however, it is not strictly required to do so.
- Ensure that ssh keys are setup on host computer and GitHub to be able to clone the CogniPilot repositories with ssh.
Setup GPG keys on host and GitHub
- Optionally setup gpg keys on host computer and GitHub to sign commits.
Use CogniPilot universal installer
Using Docker instead.
If preferring to use docker, there is a Docker Development Container that may be used instead.
To install CogniPilot on a system download the universal installer and run it (follow the prompts in the installer).
sudo apt-get update
sudo apt-get install git wget -y
mkdir -p ~/cognipilot/installer
wget -O ~/cognipilot/installer/install_cognipilot.sh https://raw.githubusercontent.com/CogniPilot/helmet/main/install/install_cognipilot.sh
chmod a+x ~/cognipilot/installer/install_cognipilot.sh
/bin/bash ~/cognipilot/installer/install_cognipilot.sh
When prompted to choose a release:
- brave for the current stable non-development release.
- main for active development.
When prompted to choose installer type select 1 for native:
- native select this for installing on development computer
- navqplus only if installing on a NavQPlus image that does not already have the installer on it. Click here for the proper way to install on a NavQPlus.
When prompted to choose whether or not to use ssh-keys:
- y to clone with ssh keys, best for development work but only select if ssh keys are already present and setup with GitHub.
- n to clone with https, best for users who do not plan to make modifications or develop.
Build the workspace
The build_workspace
script:
Build the CogniPilot workspace with build_workspace
script (follow the prompts in the workspace builder).
When prompted to choose whether or not to use ssh-keys:
- y to clone with ssh keys, best for development work but only select if ssh keys are already present and setup with GitHub.
- n to clone with https, best for users who do not plan to make modifications or develop.
When prompted to choose a platform to build:
- b3rb is an ackermann based mobile robotic platform with simulation.
- melm is a differential drive based mobile robotic platform with simulation.
- rdd2 is a quadcopter based mobile robotic platform with simulation.
Platforms
Currently supported platforms in this release are B3RB and ELM4.
Using a real platform:
- B3RB hardware guide.
- MELM hardware guide coming soon.
- RDD2 hardware guide coming soon.
Simulating a platform:
- B3RB simulation guide.
- MELM simulation guide coming soon.
- RDD2 simulation guide coming soon.
Convenience Scripts
docs script
The docs
script:
- Downloads and builds the documentation repositories for the documentation currently being read so that contributions can be made easily.
- Allows for selection of documents to be served with mkdocs.
To view the docs offline locally or to contribute to them use the docs
convenience script (follow the prompts for the correct docs).
When prompted to choose whether or not to use ssh-keys:
- y to clone with ssh keys, best if contributing to the documentation but only select if ssh keys are already present and setup with GitHub.
- n to clone with https, best for users who do not plan to contribute and only want a local viewer.
When prompted to choose a doc to build:
- airy is the airy developers guide site (airy.cognipilot.org).
- brave is the brave developers guide site (brave.cognipilot.org).
- overview is the release overview site (cognipilot.org).
I ran the command where are the docs?
cyecca script
The cyecca
script:
- Starts a JupyterLab instance for Cyecca to aid in developing control and estimation algorithms.
To develop algorithms with cyecca
use the cyecca
convenience script.