Giter Club home page Giter Club logo

openrov-software's Introduction

Views in the last 24 hours Build Status Code Climate Coverage Status Scrutinizer Quality Score Code Coverage ![Gitter](https://badges.gitter.im/Join Chat.svg)

OpenROV Cockpit

"OpenROV is a DIY telerobotics community centered around underwater exploration & adventure." One goal of OpenROV is to have onboard video for live viewing as the user operates the ROV. Enter: OpenROV Cockpit.

Getting started

**If you just getting started and want to have working environment for the OpenROV Cockpit, we recommend that you start with using our last stable release from our releases page. If you want to explore building your own image from scratch, refer to our
OpenROV disk Image project. The latest development image (from master) can be downloaded from http://54.187.8.25:8080/job/OpenROV-Image_BuildImage_master/.

Introduction

We designed the onboard video platform using several key technologies:

Combining these great technologies provides a lot of power and room for future growth. But is also provides well documented means to extend OpenROV. With Node.js and Socket.io, not only are we able to stream video to a web browser by updating an image, but we are also able to control the ROV and view valuable sensor information. This is just the beginning.

Key Related Projects

Note on Repository Branches

The "master" branch is the most current development branch of the code. All work is done outside and submited as pull requests that should be working before they are merged. There will also be a <release>-maintanence branch that has the code from the last stable release. There may also be a <release>-alpha|beta|rc1 which is the next release that is being stabalized. This will more than likely change as committers come and go, but that it what it looks like today.

Requirements

Installation

Step 1

Follow the instructions from our image project to get a starting image: https://github.com/OpenROV/openrov-image. The default user is rov and password is OpenROV

Step 2

Go ahead and start up the image in the beaglebone. If you connect the rov to a router it will use DHCP to get an address. You many need to login to your router and examine the dhcp logs to figure out what IP was assigned. If you connect directly to a laptop, a static IP of 192.168.254.1 is used. Go ahead and SSH on to you rov

a) ssh rov@

Step 3

Customize the name of the image to match your rov#.

Change from "openrov" (without quotes) to "openrov-XXXX" (without quotes) - where XXXX is your serial number.

vi /etc/hosts
exit

Step 4

Upload the right firmware on to the arduino that is driving the motors and sensors. The source code for the arduino is actually installed in the git repo on the beaglebone. The beaglebone has a full arduino development environment and the ability to upload the firmware to the arduino.

Since there are multiple versions of the ROV with multiple possible configurations you have to first tailor the options for the firmware to match your ROV. It defaults to the stock installation for the current shipping ROV kit.

a) from the ssh session: sudo pico /opt/openrov/arduino/OpenROV/Aconfig.h

b) put a 1 for the options you have, a 0 if you don't have the option and save. For most folks you don't need to do anything because the type of board will be automatically detected. In case you could

c) Login to the web session for the rov, choose settings, and select the upload firmware to arduino option.

Updating

NOTE: This is changing and may not be working properly.
The easiest way to upgrade your installation is to ssh on to

  1. ssh on to your rov

  2. cd /opt/openrov/cockpit

  3. sudo ./update.sh

This will go to the github repository and pull the latest code. You may need to reboot after the update. There is a known issue where the serial.io project sometimes fails to compile. You can ignore that, but you may have to try again if it aborts the update.

Plugins

You can create your own plugins and share them with the community. Take a look at our openrov-grunt-init-plugin project.

How to Contribute

Contributions require that you sign a CLA before the project can accept your pull requests.

  1. Fork the project in github

  2. Add an issue to the issue list for the changes you want to make. Browse the issues lists for many of the fixes and enhancement requests if you are looking for ideas.

  3. Make your changes and or fixes.

  4. Test them locally on your ROV or using the mock framework for node if you don't have one.

  5. Send a pull request back to the Master repository.

More details can be found on the OpenROV Wiki.

Someone on the team will review the pull request and ensure the changes work on the ROVs before approving the pull request.

License

MIT License

Copyright (C) 2013 OpenROV Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

openrov-software's People

Contributors

codewithpassion avatar brianadams avatar dominik-fretz avatar simonech avatar bransorem avatar smurthas avatar samccone avatar fusion94 avatar estackpole avatar depperson avatar ohcolinho avatar v1o avatar jtrezzo avatar kevingrandon avatar mikemccand avatar frgtn avatar davidtlang avatar

Watchers

James Cloos 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.