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).
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 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.
In each repository for hardware components it is essential that developers 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 convention 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 file should be 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 file should be 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
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.