/AnahitaPlus

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

AUV Anahita

This repository contains the code for our second underwater vehicle Anahita.

S. No. Operating System ROS Version Build Status
1. Ubuntu 18.04 LTS Melodic Morenia Build Status

How to build the repository?

  1. Create a catkin worspace following the guidelines given here
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..
catkin_make
  1. Clone this repository to your catkin workspace
cd ~/catkin_ws/src
git clone https://github.com/AUV-IITK/AnahitaPlus.git

# Add the simulation repository also (uuv_simulator)
git clone https://github.com/AUV-IITK/uuv_simulator
  1. Install all dependency packages to run the repository

The repository requires the following ROS packages to run: usb_cam, geographic_msgs, rosserial_arduino, underwater_sensor_msgs, ros-melodic-grid-map, ros-melodic-image-geometry, ros-melodic-tf. To use some interpolation functions, you'll need to install scipy.

You can build and install those packages from their respective sources or you can use the following command in Ubuntu 16.04 to install them. If you are building from source or using a different package manager, make sure you are building the melodic version of these packages to ensure maximum compatibility.

sudo apt-get install ros-melodic-usb-cam \
                     ros-melodic-geographic-msgs \
                     ros-melodic-rosserial-arduino \
                     ros-melodic-underwater-sensor-msgs \
                     ros-melodic-grid-map \
                     ros-melodic-image-geometry \
                     ros-melodic-tf

pip install scipy
  1. Build the package using catkin_make
cd ~/catkin_ws
# To maximize performance, build the workspace in Release mode
catkin_make -DCMAKE_BUILD_TYPE=Release
  1. Launching the vehicle in simulation

in the workspace directory (catkin_ws), run the following commands

source devel/setup.bash
roslaunch uuv_gazebo_worlds qual_robosub_world.launch 
roslaunch anahita_description upload_anahita_default.launch
roslaunch uuv_trajectory_control cascaded_pid_dp_controller.launch
roslaunch odom_dvl_imu odom.launch
roslaunch uuv_thruster_manager thruster_manager.launch model_name:=anahita (for simulation)
master_layer/anahita_thruster_manager.py (for real navigation) 

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! :)