Computer Setup


Setup Checklist


Complete all of the following steps to setup your Intro Robotics programming environment:

  1. Set Up Your ROS2 Programming Environment
  2. Install Dependency Packages
  3. Set Up Your ROS2 Workspace
  4. Set Up Your IDE

Set Up Your ROS2 Programming Environment


For this course, the most ideal programming environment is the Ubuntu 22.04 Operating System, however, ROS2 is now available for installation on a wide variety of operating systems (e.g., Ubuntu Linux 22.04, Windows 10, macOS). Below we highlight the different ways to set up your programming environment for this course depending on your computer's native operating system.


Install Dependency Packages (Skip if Using NoMachine CSIL VM)


Note: Skip this step if you are using the NoMachine CSIL VM. The NoMachine CSIL VM already has all of these dependencies installed.

Install the following dependencies. Note that the Debian package / Linux binary installation options are the only ones that the course staff have tested on a Ubuntu 22.04 installation (and have ensured that they work). ROS2 installations on Windows and Mac operating systems will require binary installation that may or may not install easily or properly.


Setting Up Your ROS2 Workspace


Creating Your ROS2 Workspace

These instructions are based on this ROS2 tutorial page. First, add the source /opt/ros/humble/setup.bash command to your ~/.bashrc file.

$ echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

Then carry out the following commands to create your ROS2 workspace directory and build it:

$ source ~/.bashrc
$ mkdir -p ~/intro_robo_ws/src
$ cd ~/intro_robo_ws/
$ colcon build

Then, source the overlay by adding the source install/local_setup.bash command to your ~/.bashrc file and source it.

$ echo "source ~/intro_robo_ws/install/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
Note: Every time you run the colcon build command or open a new terminal, you'll need to source the intro_robo_ws/install/local_setup.bash file, which is why we're adding it to the ~/.bashrc file.

Set Up git

If you have already set up git on your machine, you can skip this step.

Set up your git identity with the same email associated with your GitHub account:

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

There are several ways to set up git credentials on your machine. We'd suggest generating a personal access token and storing it on your machine. Here are the steps to do this:

Class Repo/Package Setup

In the last step, we setup the the class repository, a place where we will put some course-related code and common course utilities. Navigate to your ~/intro_robo_ws/src folder and clone the class repository:

$ cd ~/intro_robo_ws/src
$ git clone https://github.com/Intro-Robotics-UChicago-Fall-2025/intro_robo

The key files in the intro_robo repo are bash files that allow you to easily configure ROS2 environment variables to enable you to connect with a specific Turtlebot4 robot. To finish this setup, run:

$ echo "export ROS_LOCALHOST_ONLY=0" >> ~/.bashrc
$ echo "source ~/intro_robo_ws/src/intro_robo/intro_robo_utils/set_discovery_server_env_variables.sh" >> ~/.bashrc
$ echo "source ~/intro_robo_ws/src/intro_robo/intro_robo_utils/discovery_server_env_variables.sh" >> ~/.bashrc
$ source ~/.bashrc


Hints & Tricks



Acknowledgments


We give a BIG thank you to UChicago CS techstaff (especially Colin Hudler and Justin Laughlin) for their help and support in setting up the NoMachine CSIL VMs as well as their ongoing support for ensuring that each student in the class get a working programming environment for Intro Robotics. We also thank Borja Sotomayor for sharing the instructions he and his team developed for setting up a UTM VM for M1 Macs.