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 |
- Create a catkin worspace following the guidelines given here
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..
catkin_make
- 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
- 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
- Build the package using
catkin_make
cd ~/catkin_ws
# To maximize performance, build the workspace in Release mode
catkin_make -DCMAKE_BUILD_TYPE=Release
- Launching the vehicle in simulation
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)
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! :)