AUV-IITK/Varun-Software

Name: Varun-Software

Owner: AUV-IITK

Description: Documentation at http://auv-iitk.github.io/auv2016/

Created: 2016-03-19 11:17:46.0

Updated: 2018-04-04 07:12:19.0

Pushed: 2018-03-01 13:05:31.0

Homepage:

Size: 26916

Language: C++

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

AUV Varun

The main objective is to perform tasks like line detection, hitting a buoy, and dropping markers underwater by using input data from sensors like IMU, monocular cameras, and a pressure sensor. To decrease the complexity of the task, we broke it down into levels of abstraction with the help of ROS stacks.

| S. No. | Operating System | ROS Version | Build Status | |:——: |:—————-: |:————: |:————: | | 1. | Ubuntu 14.04 LTS | Indigo Igloo | Build Status |

Tasks

We explain the tasks at hand in the following sub-sections

Line Following

This is the first of the task that needs to be handled, the robot needs to follow the lines to guide through the arena and for this it should be able to come in the center of the line present beneath it as well as align itself with the line. This requires precise motion controls to stabilize and align the robot with the center of the line.

Buoy Hitting

The task is to hit a circular buoy present at a definite height below the surface of water. The challenges involved are to localize the robot with respect to the center of the buoy using camera data and to move the robot steadily with rapidly fluctuating camera data. To make the system more robust we need to avoid the absurd motion due to noisy and sometimes false data obtained from camera due to improper detection and also need to handle the movement of the robot when the buoy is out of the camera frame.

Passing through a Gate

The task is to pass the robot through an L-shaped gate without hitting its? ends within a certain region as defined by the competition rules. The task was to locate the orientation(distance and angle) and the center of the gate from the robot?s position and then performing the required manoeuvre.

Torpedo Shooting

The task at hand is to shoot the torpedo through a launcher when the robot is at a certain distance from two separately colored cupids such that it passes through the center of the targets.

Implementation

The task at hand is gargantuan and needs to be abstracted out into different modules. ROS is perfect for helping out in this abstraction. For more information on different layers present in the code, refer to the following documentations:

How to build the code?
  1. Create a catkin worspace following the guidelines given here

    r -p ~/catkin_ws/src
    in_init_workspace
    /catkin_ws/
    in_make
    
  2. Clone this repository to your catkin workspace

    /catkin_ws/src
    clone https://github.com/AUV-IITK/auv2016.git
    
  3. Run the build.sh script

    tkin_ws/src/auv2016/build.sh
    
Contribution Guidelines

To get started with contributing to this repository, look out for open issues here. Kindly read the Developer's Guide before sending a pull request! :)


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.