There are multiple ways to develop software for the autonomous systems' pipeline. Some environments have been configured before by team members and have been established as good solutions. The steps for setting up these environments is described in various documents that will be listed below. The documents are listed by order of preference, with the first document having the best environment overall. A member can choose not to use any of these environments, so long his setup does not stop him from doing anything that the ones listed below would allow.
Much of the software developed on this department is only compatible or preferrably compatible with Ubuntu. As such, it is highly advisable to use it, specifically Ubuntu 22.04. If you want to use another one, do it at your own risk. In any way, some of the development environment options might work decently well with a native Windows environment. Here are the options studied:
- Docker Environment on Ubuntu - Having Ubuntu 22.04 installed in your disc, with VSCode, and docker and the development environment running inside a docker container.
- Docker Environment on Windows WSL - Having Windows installed in your disc, with WSL (Windows Subsystem for Linux), VSCode and docker and the development environment running inside a docker container.
- Docker Environment on Mac - Having a Mac with Docker desktop docker and the development environment running inside a docker container.
- Docker Environment on Windows - Having Windows installed in your disc, without WSL (Windows Subsystem for Linux), VSCode and docker and the development environment running inside a docker container.
- Direct installation on Ubuntu - Having Ubuntu 22.04 installed in your disc, with VSCode, and the development environment running inside a directly on the OS.
- Direct installation on Windows WSL - Having Windows installed in your disc, with WSL (Windows Subsystem for Linux), VSCode and the development environment running inside WSL.
For each of the approaches, there are different steps here:
- Docker Environment on Ubuntu
- Install Ubuntu 22.04 - video tutorial
- Install Docker
- Docker Environment on Windows WSL
- Docker Environment on Mac both steps can be seen being executed in this tutorial
- Docker Environment on Windows
- Install Docker
- Install VcXSrv - for graphical interfaces (example of usage)
- Direct installation on Ubuntu
- Install Ubuntu 22.04 - video tutorial
- Direct installation on Windows WSL
- Install Windows - if you don't have it, don't do it, Windows sucks
- Install WSL 2 inside windows - tutorial
The second step is common to all approaches: install vscode and clone this repository. Follow the coding_environment tutorial for this.
For each of the approaches, there are different steps here:
- Docker Environment - Follow this tutorial
- Direct installation - Follow this tutorial
This project depends on submodules to function. Most, if not all of these submodules are other repositories of this organization.
- For all environments:
git submodule update --init --recursive ./ext/gtsam
- For in vehicle testing:
git submodule update --init --recursive ./ext/xsens-imu # IMU git submodule update --init --recursive ./ext/hesai-lidar # LiDAR git submodule update --init ./ext/as-integration # ROS_CAN, NOT RECURSIVE
Check the git advanced tutorial in the startup guide later if you want to understand how submodules work.