Git Product home page Git Product logo

columbia-university-robotics / mate-rov Goto Github PK

View Code? Open in Web Editor NEW
14.0 4.0 4.0 87.99 MB

Mono-repository for MATE ROV development.

Home Page: https://www.columbiaroboticsclub.com/mate-rov

License: MIT License

Python 4.06% C++ 4.24% CMake 4.35% C 0.34% Makefile 9.22% Shell 0.22% Common Lisp 1.50% JavaScript 0.57% Jupyter Notebook 75.51%
ros mate-rov robotics columbia-university curc gazebo computer-vision deep-learning

mate-rov's Introduction

๐Ÿค– mate-rov

Mono-repository for CURC's MATE ROV code.

Project Structure

.
+-- arduino
|   +-- rov_motor_control
|   +-- rov_motor_control_working
+-- ros
|   +-- build
|   +-- devel
|   +-- src
+-- README.md
+-- LICENSE.md

The Software Diagram

This repository contains all of the code for the ROS packages and Arduino controllers.

How to Install Locally

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.

  1. 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'
  2. Set up your keys: sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  3. sudo apt update
  4. Install: sudo apt install ros-melodic-desktop-full
  5. Initialize rosdep: sudo rosdep init and rosdep update

Now, you are ready to clone the repo and run the code.

  1. git clone

Running/Testing

To compile and run the project:

  1. cd ros
  2. catkin_make
  3. source devel/setup.bash
  4. roslaunch driver rov.launch

Contributing

To contribute code to this repository, you must:

  1. 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.
  2. 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.
  3. Once approved, your remote branch will be committed to master.

Naming Commits

Do

Provide short, accurate descriptions of your code changes.

For example:

  • Fixed backwards/forwards mixup bug
  • Changed tracking tolerance to 0.9

Don't

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

Naming Remote Branches

feat-FEATURE_NAME

Name your remote branch this if you are working on an entirely new feature for the project.

fix-FEATURE_NAME-##

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.

refactor-FEATURE_NAME

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.

test-FEATURE_NAME

Name your remote branch this if you are testing an already-existing feature. The above applies here too.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Contact

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.

mate-rov's People

Contributors

1hada avatar adithyas98 avatar alt2177 avatar anthonykrivonos avatar badinkajink avatar jordanphillips23 avatar kidusam avatar neilnie avatar nihargarg avatar williamhammond44 avatar williamshammond avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.