Skip to content

Commit 6dc2bb6

Browse files
authored
Merge pull request #1 from ubc-subbots/rename
Rename
2 parents eb58c0d + 5510c99 commit 6dc2bb6

426 files changed

Lines changed: 1304 additions & 1304 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build_and_test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
build_and_test:
99
runs-on: ubuntu-24.04
1010
container:
11-
image: hashaam1217/subbots_steelhead_testing:1.0.1
11+
image: hashaam1217/subbots_spiderfish_testing:1.0.1
1212
steps:
1313
- name: Ensure Permissions
1414
run: |
@@ -46,7 +46,7 @@ jobs:
4646
echo "/usr/local/cuda/lib64" >> $GITHUB_PATH
4747
echo "/usr/local/cuda/bin" >> $GITHUB_PATH
4848
49-
- name: Check out ubc-subbots/steelhead
49+
- name: Check out ubc-subbots/spiderfish
5050
uses: actions/checkout@v3 # Update to the latest version.
5151

5252
- name: Install deps with rosdep

.github/workflows/push_docker.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build and push steelhead Docker image
1+
name: Build and push spiderfish Docker image
22

33
on:
44
push:
@@ -9,7 +9,7 @@ jobs:
99
runs-on: ubuntu-24.04
1010
steps:
1111

12-
- name: Check out ubc-subbots/steelhead
12+
- name: Check out ubc-subbots/spiderfish
1313
uses: actions/checkout@v2
1414

1515
- name: Log in to Docker Hub
@@ -23,4 +23,4 @@ jobs:
2323
with:
2424
context: ./docker
2525
push: true
26-
tags: ubcsubbots/steelhead:latest
26+
tags: ubcsubbots/spiderfish:latest

.github/workflows/sbc-docker-image.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
workflow_dispatch:
1212

1313
env:
14-
IMAGE_NAME: ghcr.io/ubc-subbots/steelhead-sbc
14+
IMAGE_NAME: ghcr.io/ubc-subbots/spiderfish-sbc
1515
PLATFORMS: linux/amd64,linux/arm64
1616

1717
jobs:

CONVENTIONS.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,19 +125,19 @@ The C++ programming conventions we use are loosely based off the [ROS C++ Style
125125
- Member variables are **under_scored_suffix_**
126126
- Members should be organized **Functions, Constants, Variables**
127127
- Leave **2** lines between functions and classes
128-
- If the C++ file exists in `steelhead_<PACKAGE_NAME>`, then the classes/functions should be namespaced using **<PACKAGE_NAME>**.
129-
- If the file `example_file.hpp` exists in `steelhead_<PACKAGE_NAME>`, it's should have a definition **STEELHEAD_<PACKAGE_NAME>__EXAMPLE_FILE**
128+
- If the C++ file exists in `spiderfish_<PACKAGE_NAME>`, then the classes/functions should be namespaced using **<PACKAGE_NAME>**.
129+
- If the file `example_file.hpp` exists in `spiderfish_<PACKAGE_NAME>`, it's should have a definition **SPIDERFISH_<PACKAGE_NAME>__EXAMPLE_FILE**
130130
- Includes should be organized **Standard, Third-Party, Application**
131131
- Includes should be in the `.hpp` as much as possible
132132
- Brackets (ie. `{` and `}`) should start on a new line
133133
- Function should be commented as per [Doxygen C++](https://www.doxygen.nl/manual/docblocks.html)
134134

135-
Here is an example `.hpp` and `.cpp` file in the package `steelhead_example` dispalying these conventions
135+
Here is an example `.hpp` and `.cpp` file in the package `spiderfish_example` dispalying these conventions
136136

137137
```
138138
// example_file.hpp
139-
#ifndef STEELHEAD_EXAMPLE__EXAMPLE_FILE
140-
#define STEELHEAD_EXAMPLE__EXAMPLE_FILE
139+
#ifndef SPIDERFISH_EXAMPLE__EXAMPLE_FILE
140+
#define SPIDERFISH_EXAMPLE__EXAMPLE_FILE
141141
142142
#include <some_standard_library>
143143
#include <another_standard_library>
@@ -203,12 +203,12 @@ namespace example
203203
204204
} // namespace example
205205
206-
#endif //STEELHEAD_EXAMPLE__EXAMPLE_FILE
206+
#endif //SPIDERFISH_EXAMPLE__EXAMPLE_FILE
207207
```
208208

209209
```
210210
// example_file.cpp
211-
#include "steelhead_example/example_file.hpp"
211+
#include "spiderfish_example/example_file.hpp"
212212
213213
namespace example
214214
{
@@ -242,7 +242,7 @@ namespace example
242242

243243
# ROS2
244244
ROS2 has it's own set of conventions which we will follow. The following list gives the conventions that should be followed
245-
- Packages should be named **steelhead_<PACKAGE_NAME>** where `<PACKAGE_NAME>` is short and descriptive of the packages purpose (e.g `steelhead_example`)
245+
- Packages should be named **spiderfish_<PACKAGE_NAME>** where `<PACKAGE_NAME>` is short and descriptive of the packages purpose (e.g `spiderfish_example`)
246246
- Namespaces should be **under_scored** and as short as possible (e.g `/ns/component_one/output`)
247247
- Topics, actions, services, and node_names should also be **under_scored**
248248
- All interface files (`.msg`,`.srv`,`.action`) should be **CamelCase** (e.g `CustomMessage.msg`)

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Steelhead AUV
1+
# Spiderfish AUV
22

3-
This repository contains the ROS2 system for the UBC SubBots Steelhead AUV. It is meant to be launched in Ubuntu 20.04 on the Jetson TX2 on board the Steelhead AUV.
3+
This repository contains the ROS2 system for the UBC SubBots Spiderfish AUV. It is meant to be launched in Ubuntu 20.04 on the Jetson TX2 on board the Spiderfish AUV.
44

55
## DISCLAIMER
66

@@ -20,7 +20,7 @@ This guide already assumes you have already followed the guide for installing Ub
2020

2121
To get started, first clone this repo to your computer running Ubuntu 20.04 into whatever directory you choose by running
2222

23-
git clone https://github.com/ubc-subbots/steelhead.git
23+
git clone https://github.com/ubc-subbots/spiderfish.git
2424

2525
### Gazebo Sourcing
2626
Next, we need to add the setup script to our `.bashrc` so that it is sourced on every new terminal. Open up `~/.bashrc` in a text editor or in nano as such
@@ -73,7 +73,7 @@ Next, install rosdep as such
7373
sudo apt install python3-rosdep2 -y --allow-unauthenticated
7474
rosdep update --include-eol #(Foxy is now at end of life)
7575

76-
Then, from the folder `steelhead`, resolve any dependency issues using the following command
76+
Then, from the folder `spiderfish`, resolve any dependency issues using the following command
7777

7878
rosdep install -i --from-path src --rosdistro foxy -y -r
7979

@@ -89,15 +89,15 @@ To finish the setup, edit your `.bashrc` file to source the global and local set
8989

9090
nano ~/.bashrc
9191

92-
Navigate to the bottom of the file and add the following three lines; be sure to set `<PATH_TO_STEELHEAD>` to whatever it is on your machine
92+
Navigate to the bottom of the file and add the following three lines; be sure to set `<PATH_TO_SPIDERFISH>` to whatever it is on your machine
9393

9494
source /opt/ros/foxy/setup.bash # global setup script
95-
source <PATH_TO_STEELHEAD>/steelhead/install/setup.bash # local setup script
95+
source <PATH_TO_SPIDERFISH>/spiderfish/install/setup.bash # local setup script
9696
export RCUTILS_COLORIZED_OUTPUT=1
9797

9898
The last line is helpful in that it colorizes ROS2 logging so that info/warn/error messages are easier to differentiate. Once this is done, open a new terminal for the `.bashrc` to be executed and the required scripts be sourced. To perform a sanity check that everything is working, launch the Gazebo sim by launching
9999

100-
ros2 launch steelhead_bringup barebones_gazebo_launch.py
100+
ros2 launch spiderfish_bringup barebones_gazebo_launch.py
101101

102102
If this command executes successfully, you are ready to develop!
103103

@@ -106,16 +106,16 @@ To learn how to contribute to this repo, see the seperate [workflow](WORKFLOW.md
106106

107107
## Tips
108108
Here are some tips to be aware of when developing on this repository and when developing in ROS2 in general
109-
- Make sure when you run any `colcon` command such as `colcon build` or `colcon test` that you do so in the root folder of this directory (i.e `steelhead`)
109+
- Make sure when you run any `colcon` command such as `colcon build` or `colcon test` that you do so in the root folder of this directory (i.e `spiderfish`)
110110
- After creating any new component nodes, you must either source the local setup script or simply open up a new terminal for them to show up under the command `ros2 component types` and be usable by the pipeline.
111111
- Make sure you spell topics/services/actions correctly, be sure to debug by using `ros2 topic|service|action list`and `rqt_graph` to see that you are using the desired communication channels.
112-
- If you have added a dependency to a package by modifying the appropriate files (`CMakeLists.txt`, `package.xml`) and the build of that package is failing because it says it can't find the package, make sure you have it installed by running `rosdep install -i --from-path src --rosdistro foxy -y` in the `steelhead` folder, and also that a release for the distro we are using (`foxy`) exists on the ROS2 package index.
112+
- If you have added a dependency to a package by modifying the appropriate files (`CMakeLists.txt`, `package.xml`) and the build of that package is failing because it says it can't find the package, make sure you have it installed by running `rosdep install -i --from-path src --rosdistro foxy -y` in the `spiderfish` folder, and also that a release for the distro we are using (`foxy`) exists on the ROS2 package index.
113113
- For non-ROS2 dependencies, check [here](https://github.com/ros/rosdistro/tree/master/rosdep) to see the available system dependencies that can be used with `rosdep`.
114114

115115
## Useful Shortcuts
116116
If you'd like, add these aliases to the bottom of your .bashrc
117117

118118
```
119119
alias build='colcon build && source install/setup.bash' # clean build
120-
alias clean='rm -r build install log' # cleans the workspace (MAKE SURE THAT YOU ONLY USE THIS IN THE BASE OF STEELHEAD)
120+
alias clean='rm -r build install log' # cleans the workspace (MAKE SURE THAT YOU ONLY USE THIS IN THE BASE OF SPIDERFISH)
121121
```

WORKFLOW.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
# Workflow
22
This document outlines the workflow that one should follow when developing on this repo.
33

4-
First, you will have been assigned to a GitHub issue associated to the `steelhead` repo that will look something like this:
4+
First, you will have been assigned to a GitHub issue associated to the `spiderfish` repo that will look something like this:
55

66
![Workflow Issue](assets/workflow_issue.png)
77

8-
This issue will generally have the following sections, a section describing the reason for the issue and what should be done to resolve it, a set of resources that might come in handy, a set of notes that should be taken into consideration when developing, and a set of tasks which break the issue up into smaller components. These tasks are meant to guide you through the issue, but are not concrete and are simply there to help keep you on track. Feel free to add to or modify the tasks as you see fit. To start working on the issue, you must branch off from the latest state of the `main` branch of `steelhead` as such **(*NOTE*: In some cases, you will be branching off of someone else's branch, keep track of if you do this and let a team lead know before submitting a pull request as you will have to merge with the other branch before `main` as shown later on)**
8+
This issue will generally have the following sections, a section describing the reason for the issue and what should be done to resolve it, a set of resources that might come in handy, a set of notes that should be taken into consideration when developing, and a set of tasks which break the issue up into smaller components. These tasks are meant to guide you through the issue, but are not concrete and are simply there to help keep you on track. Feel free to add to or modify the tasks as you see fit. To start working on the issue, you must branch off from the latest state of the `main` branch of `spiderfish` as such **(*NOTE*: In some cases, you will be branching off of someone else's branch, keep track of if you do this and let a team lead know before submitting a pull request as you will have to merge with the other branch before `main` as shown later on)**
99

10-
cd <PATH_TO_STEELHEAD>/steelhead
10+
cd <PATH_TO_SPIDERFISH>/spiderfish
1111
git checkout main
1212
git pull
1313
git checkout -b <YOUR_FIRST_NAME>/<APPROPRIATE_LABEL>
1414

15-
Note that `<PATH_TO_STEELHEAD>` should be substituted to what it is on your machine, `<YOUR_FIRST_NAME>` should be substituted as your first name, and `<APPROPRIATE_LABEL>` should be some short label that describes the changes you made.
15+
Note that `<PATH_TO_SPIDERFISH>` should be substituted to what it is on your machine, `<YOUR_FIRST_NAME>` should be substituted as your first name, and `<APPROPRIATE_LABEL>` should be some short label that describes the changes you made.
1616

17-
To update the state of your branch, follow the basic add, commit, and push workflow in git. [Here](https://www.atlassian.com/git/glossary) is a tutorial on that if you are new to git. Once you are have completed the tasks given in the issue, and are sure that it follows the [conventions](CONVENTIONS.md) (make sure you add/edit any package documentation as stated [here](CONVENTIONS.md#github)) you are asked to follow, it is time to make a pull request. Go to the `steelhead` repo on GitHub, make sure you are viewing the branch which you are trying to make a pull request for, and you should see a button which says "Contribute", which leads to a "Open pull request" button (GitHub also prompts you to compare and make pull request on branches that had recent pushes, as seen highlighted below):
17+
To update the state of your branch, follow the basic add, commit, and push workflow in git. [Here](https://www.atlassian.com/git/glossary) is a tutorial on that if you are new to git. Once you are have completed the tasks given in the issue, and are sure that it follows the [conventions](CONVENTIONS.md) (make sure you add/edit any package documentation as stated [here](CONVENTIONS.md#github)) you are asked to follow, it is time to make a pull request. Go to the `spiderfish` repo on GitHub, make sure you are viewing the branch which you are trying to make a pull request for, and you should see a button which says "Contribute", which leads to a "Open pull request" button (GitHub also prompts you to compare and make pull request on branches that had recent pushes, as seen highlighted below):
1818

1919
![Pull Request](assets/workflow_pull_request.png)
2020

docker-sbc/Dockerfile

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ RUN apt-get install -y apt-transport-https apt-utils bash-completion python3-pip
1111
WORKDIR /opt/ros/foxy
1212
RUN /bin/bash -c "source /opt/ros/foxy/setup.bash; RTI_NC_LICENSE_ACCEPTED=yes rosdep install --from-paths . --ignore-src --rosdistro foxy -yr"
1313

14-
# Clone Steelhead repo
14+
# Clone Spiderfish repo
1515
WORKDIR /root/
16-
RUN git clone https://github.com/ubc-subbots/steelhead.git
16+
RUN git clone https://github.com/ubc-subbots/spiderfish.git
1717

1818
# Realsense install. Only works on amd64! To run on Jetson we need to follow their specific guide (pain)
1919
RUN if [ "$TARGETARCH" = "amd64" ]; then \
@@ -41,14 +41,14 @@ RUN if [ "$TARGETARCH" = "amd64" ]; then \
4141
#RUN make -j4 && make install
4242
#RUN /bin/bash -c "source /opt/ros/foxy/setup.bash; rosdep update"
4343

44-
# Setup and build Steelhead
45-
WORKDIR /root/steelhead
44+
# Setup and build Spiderfish
45+
WORKDIR /root/spiderfish
4646
RUN /bin/bash -c 'source /opt/ros/foxy/setup.bash; rosdep update --include-eol-distros; rosdep install -i --from-path src --rosdistro foxy --skip-keys "gazebo_ros gazebo_dev gazebo_ros_pkgs phidgets_spatial realsense2_camera camera_model" -y'
4747
RUN python3 -m pip install setuptools==58.2.0 pyserial sshkeyboard
48-
RUN /bin/bash -c "source /opt/ros/foxy/setup.bash; colcon build --packages-skip steelhead_gazebo"
49-
RUN echo "source /root/steelhead/install/setup.bash" >> /root/.bashrc
50-
RUN echo 'echo "Sourced Steelhead in /root/steelhead/"' >> /root/.bashrc
51-
RUN echo "alias cbs='colcon build --packages-skip steelhead_gazebo && source install/setup.bash'" >> /root/.bashrc
48+
RUN /bin/bash -c "source /opt/ros/foxy/setup.bash; colcon build --packages-skip spiderfish_gazebo"
49+
RUN echo "source /root/spiderfish/install/setup.bash" >> /root/.bashrc
50+
RUN echo 'echo "Sourced Spiderfish in /root/spiderfish/"' >> /root/.bashrc
51+
RUN echo "alias cbs='colcon build --packages-skip spiderfish_gazebo && source install/setup.bash'" >> /root/.bashrc
5252
RUN echo "alias clean='rm -r build install log'" >> /root/.bashrc
5353

5454
CMD /bin/bash

docker-sbc/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ This Dockerfile is compatible with any SBC with amd64 or arm64 architecture CPU
44
However, it is only tested on the NVIDIA Jetson TX2 and Radxa X4, running Ubuntu 18.04 and 24.04 respectively.
55

66
## How to use
7-
1. Build the image by copying this Dockerfile to a new folder on the target SBC, then run `docker build -t "steelhead-foxy:<version>" . 2>&1 | tee build.log`. `<version>` convention is MAJOR.MINOR.BUGFIX-ARCH, e.g. `1.0.0-amd64`
8-
2. Run the container with `sudo docker run -it --net=host -v /dev:/dev --privileged steelhead-foxy:<version> bash`.
7+
1. Build the image by copying this Dockerfile to a new folder on the target SBC, then run `docker build -t "spiderfish-foxy:<version>" . 2>&1 | tee build.log`. `<version>` convention is MAJOR.MINOR.BUGFIX-ARCH, e.g. `1.0.0-amd64`
8+
2. Run the container with `sudo docker run -it --net=host -v /dev:/dev --privileged spiderfish-foxy:<version> bash`.
99
3. To open a new terminal session on an existing container, run `docker exec -it <container_id> bash`. `byobu` is supported within the container to allow multiple sessions in the same terminal window
10-
4. Update and `colcon build` the steelhead repo if necessary.
10+
4. Update and `colcon build` the spiderfish repo if necessary.
1111
5. Profit!

docker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM ros:foxy
22

3-
# setup steelhead
3+
# setup spiderfish
44
RUN mkdir -p /subbots
55
COPY build.sh /subbots
66
WORKDIR /subbots

docker/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# THIS WAS FOR TRITON AND MAY BE OUTDATED FOR STEELHEAD
1+
# THIS WAS FOR TRITON AND MAY BE OUTDATED FOR SPIDERFISH
22

33
## Docker
44

5-
We use `docker-compose` to orchestrate the `micro-ros` agent contianer with our custom built `steelhead` container. This Docker system can be launched on the TX2 and still be able to communicate with various devices as the `/dev` directory is mounted to every container.
5+
We use `docker-compose` to orchestrate the `micro-ros` agent contianer with our custom built `spiderfish` container. This Docker system can be launched on the TX2 and still be able to communicate with various devices as the `/dev` directory is mounted to every container.
66

77
### Setup Micro-Ros
88

@@ -16,14 +16,14 @@ To develop with micro-ros on a Teensy 4.0 (i.e be able to compile and upload Ard
1616

1717
### Building
1818

19-
There is no need to build manually, on every push to main, the image `ubcsubbots/steelhead:latest` on `dockerhub` is updated. The credentials used are stored in Github secrets and have to belong to a member of the `ubcsubbots` organization on `dockerhub`.
19+
There is no need to build manually, on every push to main, the image `ubcsubbots/spiderfish:latest` on `dockerhub` is updated. The credentials used are stored in Github secrets and have to belong to a member of the `ubcsubbots` organization on `dockerhub`.
2020

2121
### Usage
2222
To launch the entire docker system, run the following command in this directory. Note that for this to work, you need to have the micro-controller connected to the host on `/dev/ttyACM0`.
2323

2424
docker-compose up
2525

26-
To enter into the ROS2 container (which is running the `steelhead` system), use the following command
26+
To enter into the ROS2 container (which is running the `spiderfish` system), use the following command
2727

2828
docker exec -it docker_ros_1 /subbots/entrypoint.sh /bin/bash
2929

0 commit comments

Comments
 (0)