Setting up your Local Computer¶
This page will walk you through the steps needed to prepare your personal computer to program your RACECAR-MN. Your computer can use Windows, Mac, or Linux.
The RACECAR-MN libraries and labs are organized in a Git repository distributed through GitHub Classroom. A Git repository is a special type of directory which stores files and tracks changes to those files. This allows us to easily restore previous versions and synchronize changes across multiple places. If multiple people clone a repository onto their computer, they can use Git to ensure that the repository stays up to date with changes made by all users. You can learn more about Git here.
In this step, you will create or join a team on GitHub Classroom and create your own racecar repository.
- Click on the following GitHub classroom assignment link. You will be asked to sign in to GitHub. If you do not have an account, you can create one by following the “Create an account” link.
- When prompted, authorize GitHub Classroom to access your GitHub account.
- Next, you will need to select your team. If you are working individually or are the first person from your team, you can create a new team with the dialog at the bottom of the screen. Otherwise, you can join an existing team. Ask your instructor how you should complete this step.
This is your only opportunity to select your team, so please double check that you have selected the correct team. Carefully follow any instructions from your instructor to ensure that you complete this step correctly.
- Once you have successfully created or joined a team, follow the link to your team’s GitHub repository.
We recommend that you favorite/bookmark this page for easy access. The next section will show you how to clone this repository onto your computer.
You are now ready to clone your racecar repository and install the racecar command line tool by following the instructions on this webpage.
To begin, the webpage will ask you to provide the following information:
- GitHub repository: This is the clone link for the repository you created/joined in the GitHub Classroom step. On your repository’s home page, click the green
Clonebutton, make sure it says “Clone with HTTPS”, and copy the provided URL. This URL should look something like
- Absolute path: This is the directory on your computer into which you will download the racecar repository. On Mac or Linux, you can navigate to the directory and type the
pwdcommand to show the absolute path.
On Windows, navigate to the directory in File Explorer. Right click in an empty area and select
Properties. The “Location” shown in the properties window is the absolute path up to this directory, so you will need to add the name of the current directory to the end. For the example shown in the picture below, the location is
C:\Users\matth\Documents and the name of the directory is
Racecar, so the absolute path is
- IP Address: This is the static IP address of your racecar assigned by the Wi-Fi router. Ask your instructor for this information. If you do not know your IP address, you can put a placeholder for now (such as
0.0.0.0) and fill it in later.
- Operating System: Select the operating system of your computer, either Windows, Mac, or Linux.
If you are using Windows, remember to use bash, as described in Windows Only: Ubuntu on Windows. You cannot use Command Prompt (cmd) or PowerShell.
- If you run into issues, try closing all open terminals and opening a brand new terminal.
- If this does not work, try restarting your computer.
Step 3 (Clone repository)¶
In you are using Windows, and after the
git clone command you see an error of the form
error: chmod on <some directory path> failed: Operation not permitted, try the following steps.
Restart your computer.
Open a terminal and enter the following commands
sudo umount /mnt/c sudo mount -t drvfs C: /mnt/c -o metadata
Repeat step 3 from the webpage.
For more details, see this post On StackExchange.
Step 4 (Create config file)¶
Once you complete this step, you should see a file called .config appear in the scripts folder of your racecar repository. Depending on your settings, this file may be hidden in your file explorer, but you should be able to see it in Visual Studio Code. The contents of the file should look something like this (although the exact values will vary):
If this file was not created, ask an instructor for help. As a fall back, you can create the file manually in VS Code and add the following text:
RACECAR_ABSOLUTE_PATH="<absolute path to your racecar directory>" RACECAR_IP="<racecar IP address>" RACECAR_TEAM="<team name>" RACECAR_CONFIG_LOADED="TRUE" export DISPLAY=localhost:42.0
Replace <absolute path to your racecar directory>, <racecar IP address>, and <team name> with their respective values, as seen in the example above. Only include the line export DISPLAY=localhost:42.0 if you are on Windows.
Step 5 (Setup racecar tool)¶
At the end of this step when you run
racecar test, if you receive the error
racecar: command not found, then the racecar tool was not successfully installed.
The commands you ran in this step add code to your
.zshrc to source the
.config file (created in step 4) and the
racear_tool.sh script. To see if they have been added to your
cat ~/.bashrc if you are using bash or
cat ~/.zshrc if you are using zsh. The output should be long, and end with something like this:
Specifically, you should see two
if statements to source
.bash_racecar respectively, with each line ending with the tag
# RACECAR_ALIASES. Here are some things to check for:
- Check that the paths to
.bash_racecarare correct. If not, ask an instructor to help you fix them manually with a command line editor such as
- Check that there are only two if statements with the
# RACECAR_ALIASEStags (one for
.configand one for
.bash_racecar). If there are more than two if statements with this tag, an older version may have not been removed properly. With the help of an instructor, use
nanoto remove the outdated if statements.
- If you see no such if statements, then the Step 4 command did not properly modify your
.bashrc. Try running the relevant portions of the command again, or ask an instructor for help.
- If the command
cat ~/.bashrcreturns the error
cat: home/<username>/.bashrc: No such file or directory, then you do not have a
.bashrcfile in your home directory. With the help of an instructor, locate your
.bashrcfile (it may have another name, such as
.bash_profile), and add the two if statements to source