Version 15 (modified by 16 months ago) ( diff ) | ,
---|
Self Driving Vehicular Project
Self Driving Vehicular Project
WINLAB Summer Internship 2023
Group Members: Adarsh Narayanan, Brandon Cheng, Christopher Sawicki, Joshua Menezes, Ruben Alias, Tommy Chu, Aleicia Zhu, Ranvith Adulla
Project Objective
This project has several objectives involving the WINLAB miniature intersection.
RASCAL (Robotic Autonomous Scale Car for Adaptive Learning) | MIMIC (Miniature Intersection Motion Imitation Car) |
---|---|
Continue work on the miniature autonomous car hardware project developed last summer (see the project page here: https://www.orbit-lab.org/wiki/Other/Summer/2022/Hardware). The goal for this summer is to finish prototyping the hardware and develop drivers to control the car with ROS. If time allows, once the ROS integration is complete, we will be able to develop and test machine learning models to control the car. | Develop a remote-controllable car which can be used to mimic the path taken by a car in the real intersection. For this platform, mechanum wheels will be used to allow for real-time corrections to the path. The platform will be developed using Robot Operating System (ROS). Students will need to prototype hardware and develop software to extract the path from video of the real intersection, translate that into a path for the miniature intersection, and produce a set of commands for the car. |
Week 1
Week 2
Week 3
Week 4
Week 5
Week 6
[ Week 6 Slides]
Week 7
[ Week 7 Slides]
Week 8
[ Week 8 Slides]
Week 9
[ Week 9 Slides]
Week 10
[ Week 10 Slides]
Project Setup Instructions
VM setup instructions:
- Download virtualbox https://www.virtualbox.org/wiki/Downloads
- Download ubuntu https://releases.ubuntu.com/focal/
- Follow a guide to install ubuntu on Virtualbox: https://www.wikihow.com/Install-Ubuntu-on-VirtualBox
- If you are on mac, MAKE SURE you start Virtualbox by typing "sudo virtualbox" in the commandline, instead of starting it normally. This is the only workaround I could find to get controller input to work in virtualbox!
- If you are using Ubuntu 22.04, then there is a bug when using it with VirtualBox where you can't open the terminal by default. You need to update the locale of the machine for some reason. Follow this link to get into terminal mode: https://superuser.com/questions/100693/how-to-switch-to-non-graphical-view-in-ubuntu
- Then follow this to update the locale: https://askubuntu.com/questions/1435918/terminal-not-opening-on-ubuntu-22-04-on-virtual-box-7-0-0
- Restart the VM (power it off and on in VirtualBox) and now you should be able to open the terminal in Graphical mode
- You will need to have Sudo access on your account in Ubuntu. Follow this StackOverflow: https://askubuntu.com/questions/124166/how-do-i-add-myself-into-the-sudoers-group
ROS setup instructions:
- Follow these instructions to set up ROS Noetic: http://wiki.ros.org/noetic/Installation/Ubuntu
- Note: any time you edit a startup file, like .bashrc, you need to logout and login (on VM you might need to power it off and on) for the effects to take place.
Set up SSH key for gitlab
- If you clone the repository with HTTPS, then you don't need to do this. However, then you will need to input your username and password every time you want to fetch or push from gitlab. To get around this, you can generate an SSH key pair and upload the public key to gitlab.
- navigate to your .ssh directory by doing "cd ~/.ssh"
- run the command "ssh-keygen".
- It will prompt you to name the file. For example, "gitlab".
- It will then prompt for a passphrase for the key. Leave it empty if you don't want to put in a password every time you use it, or put one for security if you prefer.
- Two files called "gitlab" and "gitlab.pub" will be created in the ~/.ssh directory now. We need to upload the public key to gitlab.
- Navigate to your .ssh directory and use the command "cat gitlab.pub" to print the contents of the file into the terminal. Copy all of the file, including the "sha-rsa" and the username at the end.
- Login to gitlab (the winlab specific gitlab! https://gitlab.orbit-lab.org) and click on your profile picture on the top right.
- Go to SSH keys and add the public key in the text box. You should now be able to access orbit gitlab repositories through ssh.
- NOTE: If you have previously cloned a repository using HTTPS instead of SSH, then you will need to update the remote URL. Follow this guide: https://docs.github.com/en/get-started/getting-started-with-git/managing-remote-repositories
Project instructions:
- Clone the desired repository. You can click "clone" on the repository page for the desired repository on gitlab (https://gitlab.orbit-lab.org/self-driving-car-2023). For example, "git clone git@…:self-driving-car-2023/upcar.git"
Other Notes:
- The user needs to have input permission for ROS to read data from joystick inputs. To set this, do "sudo usermod -aG input username". -aG specifies adding an additional group (input) to a user (username)
- Changing groups requires the user to log out and in for effects to take place
- For MIMIC, which was built on ROS Melodic, any python files need to be marked as executable. To do this, run "sudo chmod +x path/to/file.py". This adds execute permission (+x) to the file.
Note:
See TracWiki
for help on using the wiki.