Iceberg ASV is a student-led, interdisciplinary engineering competition team representing Memorial University of Newfoundland at the annual International RoboBoat competition in Sarasota, Florida. Our team collaborates to design, build, and test an Autonomous Surface Vehicle (ASV).
Outline of how our repositories are structured.
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;
gz-simulator contains all software and resources used in our GAZEBO simulation environment.
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 encounters a problem while working to resolve an issue, they must create a new issue and a new feature branch to address it.
In each hardware component repository, developers must add the links and commands used to install packages on the TX2.
- 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.
- A function should carry out one task. Functions should not be lengthy.
- Adequate naming conventions can replace the use of comments.
- Comments can be used to:
- Explain a decision behind a code implementation
- Clarify and Inform
- 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 the files should be from high to low. The detail should progress as the file is scrolled.
- 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 the files should be from high to low. The detail should progress as the file is scrolled.
- Aim for short lines (100-120 characters)
- Horizontal spacing brings attention to related concepts
- Indentation gives structure to the file
