Mono-repository for CURC's MATE ROV code.
.
+-- arduino
| +-- rov_motor_control
| +-- rov_motor_control_working
+-- ros
| +-- build
| +-- devel
| +-- src
+-- README.md
+-- LICENSE.md
This repository contains all of the code for the ROS packages and Arduino controllers.
PLEASE NOTE: The project only supports Linux machines. Unfortunately you can't run the code on a Mac or Windows without a virtual desktop.
To install and run the code locally, you need to first install Robot Operating System (ROS). There are multiple ROS distributions, we recommend you using ROS Melodic Morenia. Here is a very brief guide. For more details please refer to ROS's official website.
- Set up your sources.list:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
- Set up your keys:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
- Install:
sudo apt install ros-melodic-desktop-full
- Initialize rosdep:
sudo rosdep init
androsdep update
Now, you are ready to clone the repo and run the code.
git clone
To compile and run the project:
cd ros
catkin_make
source devel/setup.bash
roslaunch driver rov.launch
To contribute code to this repository, you must:
- Ensure your current code does not affect major changes from the most recent master branch. To do this, constantly run
git pull
every time you write new code locally. - Submit a pull request to commit the changes to the repository. You'll require one approval from another developer before the code can be merged to the
master
branch. - Once approved, your remote branch will be committed to
master
.
Provide short, accurate descriptions of your code changes.
For example:
Fixed backwards/forwards mixup bug
Changed tracking tolerance to 0.9
Provide long or cryptic commit messages.
For example:
Created a new technique that tracks the presence of baby dolphins in the pool and propels the robot to swim directly to these dolphins
Updated driver code
Name your remote branch this if you are working on an entirely new feature for the project.
Name your remote branch this if you are fixing an already-existing feature. Feel free to add or ommit numbers at the end of the name to discern your branch from others.
Name your remote branch this if you are refactoring something in an already-existing feature, such as changing a variable name. The above applies here.
Name your remote branch this if you are testing an already-existing feature. The above applies here too.
This project is licensed under the MIT License - see the LICENSE.md file for details.
For any inquiries, questions, comments, or concerns, please contact Neil at [email protected].
For CURC club members and those who would like to join CURC, please reach out and join the Slack channel.