The control system for Vortex NTNU's ROVs. The repository contains several ROS packages.
The easiest way to quickly get started building the project is to use the accompanying Docker container.
By running docker run -it -v $(pwd):/catkin_ws/src/ vortexntnu/rov-control:latest /bin/bash
, when the current
directory is set to the root of this package, you will get a container all set up with ROS and the required
dependencies. You can then run the following commands to build and test the package:
source /opt/ros/kinetic/setup.bash
source /catkin_ws/devel/setup.bash
cd /catkin_ws
# Build the packages
catkin_make
# Build the tests
catkin_make tests
# Run the tests
catkin_make run_tests
# Run roslint
catkin_make roslint
roslaunch vortex maelstrom.launch
to start the system for the Maelstrom ROV.roslaunch vortex terrapin.launch
to start the system for the Terrapin ROV.rosrun rqt_reconfigure rqt_reconfigure
to open the dynamic reconfigure GUI window.
Tests run automatically on a Travis server. Run tests manually with catkin_make run_tests
,
and check test results with catkin_test_results
. Linting is done automatically when running tests,
but you can also lint manually with catkin_make roslint
.
The Eigen C++ library
sudo apt install libeigen3-dev
The eigen_conversions ROS package
sudo apt install ros-kinetic-eigen-conversions
The gtest package in the Ubuntu repository is not precompiled, so it needs to be built and put in place.
sudo apt install libgtest-dev
cd /usr/src/gtest
sudo cmake .
sudo make
sudo cp libg* /usr/lib/
roslint is used for linting of the ROS C++/Python code.
sudo apt install ros-kinetic-roslint
Necessary for connecting the Web-based GUI to the ROV
sudo apt install ros-kinetic-rosbridge-server
- Create a feature branch out of
master
for each new feature, solved issue, significant refactor, etc. - Open a pull request to have your branch merged back into
master
.