Skip to content
@IcebergASV

Iceberg ASV

Inter-disciplinary Engineering Club based at Memorial University aiming to compete in RoboNations Roboboat competition

Welcome ⛵

Iceberg ASV is a student-led, inter-disciplinary engineering competition team representing Memorial University at the annual International RoboBoat Competition in Florida. Our team works collaboratively to design, construct, and test an Autonomous Surface Vehicle (ASV).

GitHub Structure

Outline of how our repositories are structured.

asv-system

asv-system is our main repository that integrates all software used on our boat. There exists asv-system submodules for each hardware component, such as asv-lidar and asv-camera.

graph TD;
    asv-system-->asv-lidar;
    asv-system-->asv-camera;
    asv-system-->asv-imu;
    asv-system-->asv-pixhawk;
Loading

gz-simulator

gz-simulator contains all software and resources used in our GAZEBO simulation environment.

Workflow

Feature Branch Workflow

Iceberg ASV uses a Git Feature Branch Workflow. When a developer is working in a repository, they must must make or resolve an issue associated with that repository. The developer must also make a 'feature' branch to resolve the issue.

If a developer runs into a problem while working to resolve an issue, they must make a new issue and a new feature branch to resolve the issue.

Repository Readme

In each repository for hardware components it is essential that developers add the links and commands used to install packages on the TX2.

Developer Coding Guidelines

Name Convention

  • A name should cover the reason for its existence. It should be able to answer the following questions:
    • What will it achieve?
    • How will it be utilized?
  • Names should be pronounceable and avoid encoding.

Functions

  • A function should carry out one task. Functions should not be lengthy.

Comments

  • Adequate naming convention can replace the use of comments.
  • Comments can be used to:
    • Explain a decision behind a code implementation
    • Clarify and Inform

Formatting

  • Concepts that are closely related should keep a close vertical distance.
  • Declarations of variables or functions should take place close to where they will be used.
  • The order of file should be high to low. The detail should progress as the file is scrolled.

Vertical Formatting

  • Concepts that are closely related should keep a close vertical distance.
  • Declarations of variables or functions should take place close to where they will be used.
  • The order of file should be high to low. The detail should progress as the file is scrolled.

Horizontal Formatting

  • Aim for short lines (100-120 characters)
  • Horizontal spacing brings attention to related concepts
  • Indentation gives structure to the file

About TX2 Setup

We used the rootOnNVMe repository to put the root directory on out Samsung 970 Pro SSD.

Benefits: SSD is faster and larger than the storage on the TX2.

Sponsors

Popular repositories Loading

  1. usv_gazebo_plugins usv_gazebo_plugins Public

    basically a fork of osrf/vrx's usv_gazebo_plugins

    C++ 1

  2. object_detection_pkg object_detection_pkg Public

    Real-time object detection with ROS, based on YOLOv5 and PyTorch tailored for Iceberg ASV using Intel RealSense D435.

    CMake 1

  3. real_world_marine_markers_custom_dataset_yolo_training real_world_marine_markers_custom_dataset_yolo_training Public

    Repository showcasing YOLOv5 training on a custom dataset of real-world marine markers, featuring comprehensive Jupyter notebooks and archived model weights for advanced object detection in marine …

    Jupyter Notebook 1

  4. general general Public

    C++ 1 1

  5. asv-system asv-system Public

    ASV system integration

    Makefile

  6. .github .github Public

Repositories

Showing 10 of 43 repositories
  • general Public
    IcebergASV/general’s past year of commit activity
    C++ 1 1 1 1 Updated Mar 9, 2025
  • visualization Public

    GUI, RVIZ & RQT configuration

    IcebergASV/visualization’s past year of commit activity
    Python 0 MIT 0 0 1 Updated Mar 8, 2025
  • path_planner Public
    IcebergASV/path_planner’s past year of commit activity
    C++ 0 0 0 0 Updated Mar 7, 2025
  • IcebergASV/path_planning_plan’s past year of commit activity
    Python 0 0 0 0 Updated Mar 7, 2025
  • ModeSwitcher Public
    IcebergASV/ModeSwitcher’s past year of commit activity
    C++ 0 0 0 0 Updated Mar 7, 2025
  • rough_speedchallenge Public

    Rough speed challenge node

    IcebergASV/rough_speedchallenge’s past year of commit activity
    0 0 0 0 Updated Mar 6, 2025
  • pi-pico-led-tower-control Public Forked from micro-ROS/micro_ros_raspberrypi_pico_sdk

    Raspberry Pi Pico (RP2040) and micro-ROS integration

    IcebergASV/pi-pico-led-tower-control’s past year of commit activity
    C 0 Apache-2.0 69 0 0 Updated Mar 1, 2025
  • Iceberg-Dock-Models Public

    Models for dock identification.

    IcebergASV/Iceberg-Dock-Models’s past year of commit activity
    0 Apache-2.0 0 0 0 Updated Feb 27, 2025
  • Iceberg-Buoy-Models Public

    Repository for storing model training statistics

    IcebergASV/Iceberg-Buoy-Models’s past year of commit activity
    0 Apache-2.0 0 0 0 Updated Feb 13, 2025
  • MudderBoard Public

    KiCad Development of the 2024-2025 PCB; The MudderBoard

    IcebergASV/MudderBoard’s past year of commit activity
    Rich Text Format 0 0 0 0 Updated Jan 14, 2025

Top languages

Loading…

Most used topics

Loading…