Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/nasa/isaac into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
marinagmoreira committed Jun 13, 2024
2 parents 11248b1 + 597a0d0 commit a807b20
Show file tree
Hide file tree
Showing 164 changed files with 11,839 additions and 430 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/apk.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Check for lint error and auto correct them

name: Compile APK

on: ['push', 'pull_request', 'workflow_dispatch']
Expand Down
55 changes: 36 additions & 19 deletions .github/workflows/ci_pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:

build-xenial:
build-focal:

runs-on: ubuntu-20.04

Expand All @@ -25,26 +25,43 @@ jobs:
submodules: recursive
path: isaac/

- name: Build code for isaac:astrobee Ubuntu 16
run: isaac/scripts/docker/build.sh --remote --xenial --astrobee-source-path astrobee/
# This version is more elegant but currently uses too much space for GitHub CI workers
#- name: Build code for isaac:astrobee Ubuntu 20
# run: isaac/scripts/docker/build.sh --remote --focal --astrobee-source-path astrobee/

build-focal:
# These steps were copied verbatim from ci_push.yml which seems to use less space.
- name: Build code for isaac:astrobee Ubuntu 20
run: docker build isaac -f isaac/scripts/docker/isaac_astrobee.Dockerfile
--build-arg UBUNTU_VERSION=20.04
--build-arg ROS_VERSION=noetic
--build-arg PYTHON=3
--build-arg REMOTE=ghcr.io/nasa
-t ghcr.io/${{ github.repository_owner }}/isaac:latest-astrobee-ubuntu20.04

runs-on: ubuntu-20.04
- name: Build code for isaac:latest Ubuntu 20
run: docker build isaac -f isaac/scripts/docker/isaac.Dockerfile
--build-arg UBUNTU_VERSION=20.04
--build-arg ROS_VERSION=noetic
--build-arg PYTHON=3
--build-arg REMOTE=ghcr.io/nasa
-t ghcr.io/${{ github.repository_owner }}/isaac:latest-ubuntu20.04

steps:
- name: Build messages dockers for Ubuntu 20 (astrobee)
run: docker build astrobee -f isaac/scripts/docker/astrobee_msgs.Dockerfile
--build-arg UBUNTU_VERSION=20.04
--build-arg ROS_VERSION=noetic
--build-arg PYTHON=3
-t ghcr.io/${{ github.repository_owner }}/isaac:astrobee-msgs-ubuntu20.04

- name: Checkout Astrobee
uses: actions/checkout@v3
with:
repository: nasa/astrobee
path: astrobee/

- name: Checkout ISAAC
uses: actions/checkout@v3
with:
submodules: recursive
path: isaac/
- name: Build messages dockers for Ubuntu 20 (isaac)
run: docker build isaac -f isaac/scripts/docker/isaac_msgs.Dockerfile
--build-arg UBUNTU_VERSION=20.04
--build-arg ROS_VERSION=noetic
--build-arg PYTHON=3
--build-arg REMOTE=ghcr.io/nasa
-t ghcr.io/${{ github.repository_owner }}/isaac:msgs-ubuntu20.04

- name: Build code for isaac:astrobee Ubuntu 20
run: isaac/scripts/docker/build.sh --remote --focal --astrobee-source-path astrobee/
- name: Build analyst image isaac/isaac:msgs-ubuntu20.04
run: docker build isaac -f isaac/scripts/docker/analyst.Dockerfile
--build-arg REMOTE=ghcr.io/nasa
-t ghcr.io/${{ github.repository_owner }}/isaac_analyst_notebook:latest
63 changes: 2 additions & 61 deletions .github/workflows/ci_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,65 +8,6 @@ on:

jobs:

build-xenial:

runs-on: ubuntu-20.04

steps:

- name: Checkout Astrobee
uses: actions/checkout@v3
with:
repository: nasa/astrobee
path: astrobee/

- name: Checkout ISAAC
uses: actions/checkout@v3
with:
submodules: recursive
path: isaac/

- name: Build code for isaac:astrobee Ubuntu 16
run: docker build isaac -f isaac/scripts/docker/isaac_astrobee.Dockerfile
--build-arg UBUNTU_VERSION=16.04
--build-arg ROS_VERSION=kinetic
--build-arg PYTHON=''
--build-arg REMOTE=ghcr.io/nasa
-t ghcr.io/${{ github.repository_owner }}/isaac:latest-astrobee-ubuntu16.04

- name: Build code for isaac:latest Ubuntu 16
run: docker build isaac -f isaac/scripts/docker/isaac.Dockerfile
--build-arg UBUNTU_VERSION=16.04
--build-arg ROS_VERSION=kinetic
--build-arg PYTHON=''
--build-arg REMOTE=ghcr.io/nasa
-t ghcr.io/${{ github.repository_owner }}/isaac:latest-ubuntu16.04

- name: Build messages dockers for Ubuntu 16 (astrobee)
run: docker build astrobee -f isaac/scripts/docker/astrobee_msgs.Dockerfile
--build-arg UBUNTU_VERSION=16.04
--build-arg ROS_VERSION=kinetic
--build-arg PYTHON=''
-t ghcr.io/${{ github.repository_owner }}/isaac:astrobee-msgs-ubuntu16.04

- name: Build messages dockers for Ubuntu 16 (isaac)
run: docker build isaac -f isaac/scripts/docker/isaac_msgs.Dockerfile
--build-arg UBUNTU_VERSION=16.04
--build-arg ROS_VERSION=kinetic
--build-arg PYTHON=''
--build-arg REMOTE=ghcr.io/nasa
-t ghcr.io/${{ github.repository_owner }}/isaac:msgs-ubuntu16.04

- name: Log in to registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin

- name: Push Docker image
run: |
if [ "${{ github.repository_owner }}" = "nasa" ]; then docker push ghcr.io/${{ github.repository_owner }}/isaac:latest-astrobee-ubuntu16.04; fi;
if [ "${{ github.repository_owner }}" = "nasa" ]; then docker push ghcr.io/${{ github.repository_owner }}/isaac:latest-ubuntu16.04; fi;
if [ "${{ github.repository_owner }}" = "nasa" ]; then docker push ghcr.io/${{ github.repository_owner }}/isaac:astrobee-msgs-ubuntu16.04; fi;
if [ "${{ github.repository_owner }}" = "nasa" ]; then docker push ghcr.io/${{ github.repository_owner }}/isaac:msgs-ubuntu16.04; fi;
build-focal:

runs-on: ubuntu-20.04
Expand Down Expand Up @@ -118,8 +59,8 @@ jobs:

- name: Build analyst image isaac/isaac:msgs-ubuntu20.04
run: docker build isaac -f isaac/scripts/docker/analyst.Dockerfile
--build-arg REMOTE=ghcr.io/nasa
-t ghcr.io/${{ github.repository_owner }}/isaac_analyst_notebook:latest
--build-arg REMOTE=ghcr.io/nasa
-t ghcr.io/${{ github.repository_owner }}/isaac_analyst_notebook:latest


- name: Log in to registry
Expand Down
62 changes: 0 additions & 62 deletions .github/workflows/ci_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,68 +8,6 @@ on:

jobs:

build-xenial:

runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3

- name: Checkout Astrobee
uses: actions/checkout@v3
with:
repository: nasa/astrobee
path: astrobee/

- name: Checkout ISAAC
uses: actions/checkout@v3
with:
submodules: recursive
path: isaac/

- name: Build code for isaac:astrobee Ubuntu 16
run: docker build isaac -f isaac/scripts/docker/isaac_astrobee.Dockerfile
--build-arg UBUNTU_VERSION=16.04
--build-arg ROS_VERSION=kinetic
--build-arg PYTHON=''
--build-arg REMOTE=ghcr.io/nasa
-t isaac/isaac:latest-astrobee-ubuntu16.04

- name: Build code for isaac:latest Ubuntu 16
run: docker build isaac -f isaac/scripts/docker/isaac.Dockerfile
--build-arg UBUNTU_VERSION=16.04
--build-arg ROS_VERSION=kinetic
--build-arg PYTHON=''
--build-arg REMOTE=isaac
-t isaac/isaac:latest-ubuntu16.04

- name: Build messages dockers for Ubuntu 16 (astrobee)
run: docker build astrobee -f isaac/scripts/docker/astrobee_msgs.Dockerfile
--build-arg UBUNTU_VERSION=16.04
--build-arg ROS_VERSION=kinetic
--build-arg PYTHON=''
-t isaac/isaac:astrobee-msgs-ubuntu16.04

- name: Build messages dockers for Ubuntu 16 (isaac)
run: docker build isaac -f isaac/scripts/docker/isaac_msgs.Dockerfile
--build-arg UBUNTU_VERSION=16.04
--build-arg ROS_VERSION=kinetic
--build-arg PYTHON=''
--build-arg REMOTE=isaac
-t isaac/isaac:msgs-ubuntu16.04

- name: Log in to registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin

- name: Push Docker image
run: |
cd isaac
export VERSION=`grep -w -m 1 "Release" RELEASE.md | awk '{print $3}'`
docker tag isaac/isaac:latest-astrobee-ubuntu16.04 ghcr.io/${{ github.repository_owner }}/isaac:v${VERSION}-astrobee-ubuntu16.04
if [ "${{ github.repository_owner }}" = "nasa" ]; then docker push ghcr.io/${{ github.repository_owner }}/isaac:v${VERSION}-astrobee-ubuntu16.04; fi;
docker tag isaac/isaac:latest-ubuntu16.04 ghcr.io/${{ github.repository_owner }}/isaac:v${VERSION}-ubuntu16.04
if [ "${{ github.repository_owner }}" = "nasa" ]; then docker push ghcr.io/${{ github.repository_owner }}/isaac:v${VERSION}-ubuntu16.04; fi;
build-focal:

runs-on: ubuntu-20.04
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Run black
run: |
black . --diff --extend-exclude cmake --check
black . --diff --extend-exclude=cmake --extend-exclude=submodules --extend-exclude=astrobee/survey/survey_dependencies --check
- name: Run isort
run: |
isort . --diff --extend-skip cmake --profile black --check-only
isort . --diff --extend-skip=cmake --extend-skip=submodules --extend-skip=astrobee/survey/survey_dependencies --profile=black --check-only
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,11 @@ analyst/workspace/.ipython
analyst/workspace/.jupyter
analyst/workspace/.local
analyst/workspace/.ipynb_checkpoints
analyst/workspace/results
analyst/workspace/scripts/.ipynb_checkpoints
analyst/workspace/.cache
analyst/workspace/craft_mlt_25k.pth
analyst/workspace/data

# vscode
isaac.code-workspace
isaac.code-workspace
16 changes: 16 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
[submodule "isaac_msgs"]
path = communications/isaac_msgs
url = https://github.com/nasa/isaac_msgs.git
[submodule "ros2_planning_system"]
path = astrobee/survey/survey_dependencies/ros2_planning_system
url = https://github.com/bckempa/ros2_planning_system
branch = noetic-devel
[submodule "ros1_lifecycle"]
path = astrobee/survey/survey_dependencies/ros1_lifecycle
url = https://github.com/bckempa/ros1_lifecycle.git
branch = noetic-devel
[submodule "popf"]
path = astrobee/survey/survey_dependencies/popf
url = https://github.com/Bckempa/popf.git
branch = noetic-devel
[submodule "optic_planner"]
path = astrobee/survey/survey_dependencies/optic_planner
url = https://github.com/Bckempa/optic_planner.git
branch = noetic-devel
2 changes: 1 addition & 1 deletion .isort.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@
# folder, you can auto-update it by running
# scripts/git/configure_isort_paths.sh.

src_paths = analyst/workspace/scripts,anomaly/image/scripts,astrobee/behaviors/inspection/scripts,astrobee/simulation/acoustics_cam/src,dense_map/geometry_mapper/tools,isaac_msgs/isaac_msgs/test,pano/pano_stitch/scripts,pano/pano_view/scripts,scripts/git
src_paths = analyst/workspace/scripts,anomaly/gmm-change-detection,anomaly/gmm-change-detection/scripts/gmm,anomaly/image/scripts,astrobee/behaviors/inspection/scripts,astrobee/simulation/acoustics_cam/src,astrobee/survey/survey_manager,astrobee/survey/survey_manager/scripts,astrobee/survey/survey_manager/src/survey_manager,astrobee/survey/survey_manager/tools/bak,communications/isaac_msgs/isaac_msgs/test,dense_map/geometry_mapper/tools,dense_map/volumetric_mapper/scripts,pano/pano_stitch/scripts,pano/pano_view/scripts,scripts/git
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ the [Astrobee robot](https://github.com/nasa/astrobee). This repository includes
- [Dense mapping](https://nasa.github.io/isaac/html/geometric_streaming_mapper.html) to create a textured 3D map
- [Volumetric mapping](https://nasa.github.io/isaac/html/volumetric_mapper.html) to map volumetric signals, such as WiFi.
- [Image analysis](https://nasa.github.io/isaac/html/ano.html) module to train a neural network to detect anomalies
- [Survey Manager](https://nasa.github.io/isaac/html/survey.html) semi-autonomous planning and execution of imaging tasks.

You may also be interested in the separate repository for the [ISAAC User Interface](https://github.com/nasa/isaac_user_interface),
which enables monitoring of multiple robots through a web browser.
Expand Down
23 changes: 23 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
# Releases

## Release 0.2.10

* ISAAC 15 prep
* Improve action result

## Release 0.2.9

* Fixes to survey_manager
* Fixes to CI

## Release 0.2.8

* Improvements to survey_manager output
* Bug fixes

## Release 0.2.7

* Survey manager
* Multiple fixes to inspection
* GMM anomaly detection
* Ubuntu 20 only supported now
* Others

## Release 0.2.6

* Upgrades on inspection tool
Expand Down
3 changes: 2 additions & 1 deletion analyst/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@

**The jupyter notebooks will be able to access data that is in the `$HOME/data` and `$HOME/data/bags`, therefore, make sure all the relevant bag files are there**

**If you want to run the OCR, make sure there is a `$HOME/data/str` folder with all the data**

For the Analyst notebook to be functional, it needs to start side-by-side with the database and the IUI (ISAAC user interface).
To do so, the recommended method is to use the remote docker images, as:

$ISAAC_SRC/scripts/docker/run.sh --analyst --no-sim --remote
$ISAAC_SRC/scripts/docker/run.sh --analyst --mount --no-sim --remote

The ISAAC UI is hosted in: http://localhost:8080
The ArangoDB database is hosted in: http://localhost:8529
Expand Down
Loading

0 comments on commit a807b20

Please sign in to comment.