11Installation
22======================================
33
4- .. note ::
5- If you are completely unfamiliar with the command line or basic git
6- usage, see the Tutorial page before proceeding.
7-
84There are two main ways to install our software. The first is use a native
95or virtual machine running Ubuntu 22.04, and the second is to use Docker.
10- The Docker method is recommended for Mac users.
6+
7+ .. Note ::
8+ If you elect to use Docker, you need to ensure your system has sufficient
9+ memory as Docker is not the greatest with RAM management. In particular, it's
10+ recommended that you have at least 16 GB of RAM allocated.
1111
1212
1313Native/Virtual Machine Setup
@@ -20,7 +20,7 @@ with Ubuntu 22.04 will work. The steps to set this up can be found `here
2020.com/tutorials/install-ubuntu-on-wsl2-on-windows-10#1-overview> `_. For Mac
2121users, Ubuntu 22.04 can be emulated in a virtual machine. For M1 Macs
2222specifically, using the arm64 version of Ubuntu 22.04 with the application UTM
23- has worked in the past.
23+ has worked in the past. If you need the Ubuntu 22.04 image, see the SW lead.
2424
2525First, clone the repository from GitHub:
2626
@@ -78,6 +78,11 @@ Sadly, this program has no output, so when you run it nothing will appear to
7878happen. However, it will become obvious after you start our UI whether or not
7979you've correctly started the simulator or not.
8080
81+ .. _building_the_stack :
82+
83+ Building the Stack
84+ ------------------
85+
8186In another terminal, change directories back into ``robocup-software ``.
8287Make sure you're on the most updated version of ``ros2 `` branch. This is
8388where the latest working version of our codebase exists. (See Contributing page for
@@ -97,12 +102,19 @@ Then, source the ROS setup file. This allows your shell to use ROS commands.
97102 If you're on zsh, source ``setup.zsh `` instead. (If you don't know what
98103zsh is, you're not on zsh.)
99104
100- Then build the codebase. This compiles all of our code. On a VM, this step will
101- take upwards of 15 minutes.
105+ Then build the codebase. If you are running this on your own dedicated Linux
106+ machine, you are welcome to simply run:
102107
103108.. code-block :: bash
104109
105- make perf
110+ colcon build
111+
112+ However, if you are on a VM/Docker, then you need to restrict the amount of resources
113+ that ``colcon `` takes up, by running:
114+
115+ .. code-block :: bash
116+
117+ colcon build --parallel-workers 1 --executor sequential
106118
107119 After building, we need to source our custom ROS setup. Run the following in
108120the ``robocup-software `` directory:
@@ -131,6 +143,7 @@ If everything is working properly, you should see the following window show up.
131143
132144.. image :: ./_static/soccer.png
133145
146+ .. _docker-setup :
134147
135148Docker Setup
136149----------------------------
@@ -140,13 +153,17 @@ image that runs Ubuntu 22.04. The Docker image also has our tech stack and all t
140153pre-installed with a desktop GUI. The Docker setup should work on any platform
141154(Windows, Mac, ARM, x86, etc.).
142155
143- Before you start, make sure you have Docker installed on your computer. The steps for doing
144- so can be found `here <https://docs.docker.com/engine/install/ >`_.
156+ The easiest way to get started with Docker is to just download Docker desktop.
157+ Note that when using Docker desktop, you will need to have the app open in the background
158+ to run your containers. For installation details, see the `Docker Desktop Manual
159+ <https://docs.docker.com/desktop/> `_.
145160
146161Once you have Docker installed, please follow the steps for installing and using our RoboCup
147162image at `DockerHub
148163<https://hub.docker.com/r/robojackets/robocup-software-dev> `_.
149164
165+ Once you're done, follow the instructions on :ref: `building the stack <building_the_stack >`.
166+
150167
151168Shortcuts
152169---------
@@ -190,17 +207,4 @@ machine, though, you can build again more quickly with:
190207
191208 The ``source.bash `` line is necessary to source the file in ``install/ ``, which
192209is refreshed on each build. (**Note: ** this does not build any CMake-related
193- files, so if you're editing those, use ``make perf `` as usual.)
194-
195- There are a few different ways to build our code. See the makefile for more
196- details, but in short:
197-
198- .. code-block :: bash
199-
200- make all # builds with full debugging symbols
201- make debug # alias for make all
202- make all-release # builds with 0 debugging symbols
203- make perf # builds with some debugging symbols; preferred method
204-
205- TODO(Kevin): add description of running on field comp (move that md file over
206- too)
210+ files, so if you're editing those, use ``colcon build `` as usual.)
0 commit comments