Show simple item record

dc.contributor.advisorHendseth, Sverre
dc.contributor.authorMunz, Jostein
dc.date.created2015-07-13
dc.date.issued2015
dc.identifierntnudaim:13963
dc.identifier.urihttp://hdl.handle.net/11250/2364892
dc.description.abstractThere has been an increased interest in researching and developing technical solutions for underwater vehicles the last years. In most cases, underwater vehicles are expensive and not affordable to private individuals. Development of low cost ROVs has lately been increasing supported by an active Do-It-Yourself (DIY) community. The OpenROV project has contributed to this community by producing cheap ROVs with open source software, encouraging users to develop their own plugins. Development of a lost cost ROV were carried out fall 2014, as a project thesis \cite{follestad}. The result was a low-cost ROV prototype, called Neptunus using OpenROV computer hardware and software. The growth of the internet over the last decates has motivated the development of web applications. The communication between web servers and clients has been dominated by the use of the Hyper Text Transfer Protocol (HTTP) and the request-response pattern. In the recent years, developments have been made to facilitate bi-directional communication protocols. The WebSockets protocol provides this, as an alternative to the HTTP protocol. Node.js is a runtime environment that uses the Google V8 JavaScript engine to run Node.js web servers. The use of the WebSockets protocol is facilitated in Node.js web servers, making it a desireable choice for real-time applications. Design of hardware and software solutions for the ROV Neptunus was performed. This includes review of frameworks and software tools. A Node.js web server was implemented on a BeagleBone computer running Linux Ubuntu. The Node.js specific framework Express.io was used. A user interface consisting of an operator interface and a developer interface was implemented in JavaScript. The operator interface contains methods for controlling the ROV with the use of keyboard, touchscreen and joystick. The operator interface contains functionality vital in development such as logging and plotting. A control module was implemented to control the ROV with either motion control or manual control. This included a thrust allocation procedure for the motion control mode. A camera module for streaming of the video was implemented. The mjpg-streamer application was used to stream the video from the camera to the client. A simulator module was implemented to facilitate parallel development. Remote monitoring and control over WiFi was implemented. This included methods for taking and giving control, as only one operator can be in control at any time. All the implemented functionality was tested. Documentation of the system and relevant software tools for development was included.
dc.languageeng
dc.publisherNTNU
dc.subjectKybernetikk og robotikk
dc.titleDesign and Implementation of Software for the ROV Neptunus
dc.typeMaster thesis
dc.source.pagenumber73


Files in this item

Thumbnail
Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record