Giter Site home page Giter Site logo

tinker-twins / singaboat-vrx Goto Github PK

View Code? Open in Web Editor NEW
25.0 2.0 7.0 449.33 MB

Team SINGABOAT-VRX's GitHub Repository for Virtual RobotX (VRX) Competition.

License: BSD 2-Clause "Simplified" License

CMake 3.12% Python 35.50% Dockerfile 0.16% Shell 1.03% C++ 49.85% HTML 5.54% TeX 3.38% Makefile 0.09% GLSL 1.33%
asv autonomous-robots autonomous-surface-vehicles autonomous-systems control perception planning robotx unmanned-surface-vehicles usv

singaboat-vrx's Introduction

SINGABOAT-VRX | Virtual RobotX (VRX) Competition

Github Stars Github Forks Docker Stars Docker Pulls

COMPETITION: Virtual RobotX (VRX) Competition 2022

TEAM NAME: SINGABOAT-VRX

INSTITUTE: Nanyang Technological University, Singapore

MEMBERS: Tanmay Vilas Samak, Chinmay Vilas Samak and Chern Peng Lee

ADVISOR: Dr. Ming Xie

DEPENDENCIES

  1. Robot Operating System (ROS) - Tested with ROS Noetic Ninjemys on Ubuntu 20.04.4 LTS (Focal Fossa).
  2. Virtual RobotX (VRX) Simulation Environment - Included as vrx directory with this SINGABOAT-VRX repository.
  3. Python3 Dependencies - Listed in requirements.txt file of singaboat_vrx ROS package. These can be simply installed using the following command:
    $ pip3 install -r requirements.txt

SETUP

  1. Clone this SINGABOAT-VRX repository:
    $ git clone https://github.com/Tinker-Twins/SINGABOAT-VRX.git
  2. Make a directory VRX_Workspace to act as your catkin workspace for VRX Competition.
    $ mkdir -p VRX_Workspace/src/
  3. Move the SINGABOAT-VRX repository to the source space (src) of your VRX_Workspace.
    $ mv ~/SINGABOAT-VRX ~/VRX_Workspace/src/
  4. Build the packages within your VRX_Workspace.
    $ cd ~/VRX_Workspace
    $ catkin_make
  5. Source the setup.bash file of your VRX_Workspace.
    $ echo "source /home/$USER/VRX_Workspace/devel/setup.bash" >> ~/.bashrc
    $ source ~/.bashrc

USAGE

  1. Launch any VRX task simulation instance.
$ roslaunch vrx_gazebo <TASK_NAME>.launch urdf:=$(rospack find singaboat_vrx)/urdf/singaboat.urdf

$ roslaunch vrx_gazebo station_keeping.launch urdf:=$(rospack find singaboat_vrx)/urdf/singaboat.urdf
$ roslaunch vrx_gazebo wayfinding.launch urdf:=$(rospack find singaboat_vrx)/urdf/singaboat.urdf
$ roslaunch vrx_gazebo perception_task.launch urdf:=$(rospack find singaboat_vrx)/urdf/singaboat.urdf
$ roslaunch vrx_gazebo wildlife.launch urdf:=$(rospack find singaboat_vrx)/urdf/singaboat.urdf
$ roslaunch vrx_gazebo gymkhana.launch urdf:=$(rospack find singaboat_vrx)/urdf/singaboat.urdf
$ roslaunch vrx_gazebo scan_dock_deliver.launch urdf:=$(rospack find singaboat_vrx)/urdf/singaboat.urdf
  1. Launch singaboat_task_manager to automatically identify the VRX task and execute the corresponding SINGABOAT-VRX solution algorithm.
$ roslaunch singaboat_vrx singaboat_vrx.launch

DOCKER

The docker container image(s) containing all the source code as well as dependencies is available on Docker Hub.

VIDEOS

Demonstration videos are available on YouTube.

Task Descriptions Task Solutions

VRX COMPETITION 2022

Our team worked meticulously to complete all the 6 tasks of VRX Competition 2022 and ultimately emerged as one of the winners of the challange, while also bagging several other special awards.

Station-Keeping Wayfinding Scene Perception
Station-Keeping Task Wayfinding Task Scene Perception Task
Semantic Navigation Gymkhana Challenge Scan-Dock-Deliver
Semantic Navigation Task Gymkhana Challenge Task Scan-Dock-Deliver Task

The detailed scores and ranks of all the teams that qualified for finals of VRX Competition 2022 are available on VRX GitHub Wiki, and a summary of results and awards declared during the VRX 2022 Award Ceremony are available on VRX Website.

singaboat-vrx's People

Contributors

tinker-twins avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

singaboat-vrx's Issues

Boat not moving

Excellent work!

I have downloaded your repo and followed the instructions provided. I'm interested in the wayfinding task.

Terminal #1:

roslaunch vrx_gazebo wayfinding.launch

Terminal #2:

roslaunch singaboat_vrx singaboat_vrx.launch
# Initially this threw an error because the launch files had been moved to 
#     VRX_Workspace/src/SINGABOAT-VRX/singaboat_vrx/launch/submissions
# but the script was looking for them here:
#     VRX_Workspace/src/SINGABOAT-VRX/singaboat_vrx/launch
# I fixed that so that singaboat_vrx.launch works properly, identifies the task, and launches the appropriate launch file.

Terminal #2 begins to print messages like this:

Wayfinding to waypoint 1 of 3...
Current Target Waypoint: -525.8 m, 171.5 m, 1.218 rad

Error Pos X: 6.285 m
Error Pos Y: 9.168 m
Error Rot Z: -0.02901 rad

Lin Vel X: 2.23 m/s
Lin Vel Y: 0.0 m/s
Ang Vel Z: -0.6599 rad/s

Thrust C: 0.0
Thrust L: 1.0
Thrust R: 0.1901

However, the boat doesn't move. It stays in its initial position. Any ideas why?

Note that I am using Ubuntu 20.04 with ROS Noetic. (The repo built fine, with no errors, so I don't suspect this is the cause for the observed behavior.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.