Skip to content

Commit

Permalink
First pass, still not compiling
Browse files Browse the repository at this point in the history
  • Loading branch information
ana-GT committed Oct 28, 2024
2 parents c8360ed + 480b10f commit 5e06ecf
Show file tree
Hide file tree
Showing 875 changed files with 39,398 additions and 17,506 deletions.
32 changes: 0 additions & 32 deletions .github/workflows/ci_pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,38 +7,6 @@ on:

jobs:

build-xenial:

runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Checkout submodule
run: git submodule update --init --depth 1 description/media

- name: Build, test
run: ./scripts/docker/build.sh --xenial --remote
astrobee test_astrobee

build-bionic:

runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Checkout submodule
run: git submodule update --init --depth 1 description/media

- name: Build, test
run: ./scripts/docker/build.sh --bionic --remote
astrobee test_astrobee

build-focal:

runs-on: ubuntu-20.04
Expand Down
64 changes: 24 additions & 40 deletions .github/workflows/ci_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,46 +2,12 @@ name: Build, test and push packages CI

on:
push:
branches: [ 'develop' ]
branches-ignore:
- gh-pages
- ros2

jobs:

build-xenial:

runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3

- name: Checkout submodule
run: git submodule update --init --depth 1 description/media

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

- name: Build, test, push docker
run: ./scripts/docker/build.sh --xenial --remote
--owner ${{ github.repository_owner }}
astrobee test_astrobee push_astrobee

build-bionic:

runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3

- name: Checkout submodule
run: git submodule update --init --depth 1 description/media

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

- name: Build, test, push docker
run: ./scripts/docker/build.sh --bionic --remote
--owner ${{ github.repository_owner }}
astrobee test_astrobee push_astrobee

build-focal:

runs-on: ubuntu-20.04
Expand All @@ -56,6 +22,24 @@ jobs:
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin

- name: Build, test, push docker
run: ./scripts/docker/build.sh --focal --remote
--owner ${{ github.repository_owner }}
astrobee test_astrobee push_astrobee
run: >
revision="latest";
build_arg="astrobee";
push_arg="";
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}};
if [ "${{ github.repository_owner }}" == "nasa" ]; then
if [ $branch == "develop" ]; then
push_arg="push_astrobee";
fi;
if [ $branch == "master" ]; then
export VERSION=`grep -w -m 1 "Release" RELEASE.md | awk '{print $3}'`;
revision="v${VERSION}";
build_arg="astrobee_base astrobee";
push_arg="push_astrobee_base push_astrobee";
fi;
fi;
command="./scripts/docker/build.sh --focal --remote --revision ${revision} \
--owner ${{ github.repository_owner }} \
${build_arg} test_astrobee ${push_arg}";
echo "$command";
eval "$command";
82 changes: 0 additions & 82 deletions .github/workflows/ci_release.yml

This file was deleted.

36 changes: 0 additions & 36 deletions .github/workflows/docker_push_latest_base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,42 +8,6 @@ on: ['workflow_dispatch']

jobs:

build-xenial:

runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3

- name: Checkout submodule
run: git submodule update --init --depth 1 description/media

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

- name: Build base, build, test, push base docker
run: ./scripts/docker/build.sh --xenial
--owner ${{ github.repository_owner }}
astrobee_base astrobee test_astrobee push_astrobee_base

build-bionic:

runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3

- name: Checkout submodule
run: git submodule update --init --depth 1 description/media

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

- name: Build base, build, test, push base docker
run: ./scripts/docker/build.sh --bionic
--owner ${{ github.repository_owner }}
astrobee_base astrobee test_astrobee push_astrobee_base

build-focal:

runs-on: ubuntu-20.04
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/msgs_jar.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Check for lint error and auto correct them

name: Build jar messages

on: ['push', 'pull_request']

jobs:
build-jar-msgs:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3

- name: Build image astrobee/astrobee:msgs-ubuntu20.04
run: docker build . -f ./scripts/docker/astrobee_msgs.Dockerfile
-t astrobee/astrobee:msgs-ubuntu20.04

- name: Build image astrobee/astrobee:latest-msgs-jar-ubuntu20.04
run: docker build . -f ./scripts/docker/build_msgs_jar.Dockerfile
-t ghcr.io/${{ github.repository_owner }}/astrobee:latest-msgs-jar

- name: Copy jar files
run: |
docker cp $(docker create --rm ghcr.io/${{ github.repository_owner }}/astrobee:latest-msgs-jar):/src/msgs/devel/share/maven/ .
find maven -name *.jar
- name: Upload .jar messages artifact
if: ${{ github.event_name == 'push' }}
uses: actions/upload-artifact@v3
with:
name: jar-msgs
path: maven/**/*.jar

- name: Log in to registry
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
- name: Push Docker image if master or develop
run: >
branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}};
if [[ "${{ github.repository_owner }}" == "nasa" ]]; then
if [[ $branch == "develop" ]]; then
docker push ghcr.io/${{ github.repository_owner }}/astrobee:latest-msgs-jar;
fi;
if [[ $branch == "master" ]]; then
export VERSION=`grep -w -m 1 "Release" RELEASE.md | awk '{print $3}'`;
docker tag ghcr.io/${{ github.repository_owner }}/astrobee:latest-msgs-jar ghcr.io/${{ github.repository_owner }}/astrobee:v${VERSION}-msgs-jar
docker push ghcr.io/${{ github.repository_owner }}/astrobee:v${VERSION}-msgs-jar;
fi;
fi;
2 changes: 1 addition & 1 deletion .isort.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@
# added to a new folder, you can auto-update it by running
# scripts/git/configure_isort_paths.sh.

src_paths = doc/scripts,hardware/eps_driver/tools,hardware/pico_driver/scripts,hardware/pmc_actuator/tools,localization/localization_common,localization/localization_common/scripts/localization_common,localization/marker_tracking/tools/marker_tracking_node,localization/sparse_mapping/scripts,localization/sparse_mapping/tools,scripts/build,scripts/calibrate,scripts/debug,scripts/git,scripts/postprocessing/coverage_analysis,tools/bag_processing/scripts,tools/bag_processing/scripts/utilities,tools/bag_processing/test,tools/calibration/scripts,tools/gds_helper/src,tools/gnc_visualizer/dds,tools/gnc_visualizer/scripts,tools/gnc_visualizer/scripts/communications,tools/localization_analysis/scripts,tools/performance_tester/scripts
src_paths = doc/scripts,hardware/eps_driver/tools,hardware/pico_driver/scripts,hardware/pmc_actuator/tools,localization/camera/test,localization/localization_common,localization/localization_common/scripts/localization_common,localization/marker_tracking/tools/marker_tracking_node,localization/sparse_mapping/scripts,localization/sparse_mapping/tools,scripts/build,scripts/calibrate,scripts/debug,scripts/git,scripts/postprocessing/coverage_analysis,tools/bag_processing,tools/bag_processing/scripts,tools/bag_processing/scripts/utilities,tools/bag_processing/src/bag_processing,tools/bag_processing/src/bag_processing/bak,tools/bag_processing/test,tools/calibration/scripts,tools/gds_helper/src,tools/gnc_visualizer/dds,tools/gnc_visualizer/scripts,tools/gnc_visualizer/scripts/communications,tools/localization_analysis/scripts,tools/performance_tester/scripts
36 changes: 30 additions & 6 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@

## System requirements

Ubuntu 20.04 is the preferred host OS for most Astrobee developers to use.
Ubuntu 20.04 is currently the only supported platform.

Here are the available host OS options with development roadmap details (use 64-bit PC (AMD64) desktop image):
- [Ubuntu 20.04](http://releases.ubuntu.com/20.04): This is the preferred host OS for most Astrobee developers to use. The Astrobee Facility team is currently preparing to upgrade the robots on ISS from Ubuntu 16.04 to Ubuntu 20.04, but we aren't yet ready to announce a deployment date for that upgrade.
- [Ubuntu 18.04](http://releases.ubuntu.com/18.04): We are not aware of any current robot users that still need Ubuntu 18.04 support, and expect to discontinue support in the near future. New users should not select this host OS.
- [Ubuntu 16.04](http://releases.ubuntu.com/16.04): The Astrobee robot hardware on ISS currently runs Ubuntu 16.04. Only developers with NASA internal access can cross-compile software to run on the robot, and must use 16.04 for that. Most developers shouldn't need to work with 16.04, especially when just getting started. Support will eventually be discontinued after the robot hardware on ISS is upgraded to Ubuntu 20.04.
(Ubuntu 22.04 not supported)
Here are the currently available host OS options with development roadmap details (use 64-bit PC (AMD64) desktop image):
- [Ubuntu 20.04](http://releases.ubuntu.com/20.04): This is currently the only supported platform. The Astrobee hardware on ISS has been running Ubuntu 20.04 since it was upgraded during the "Crew-Minimal S14" activity on December 19, 2023.

Specifically not supported:
- ~~[Ubuntu 16.04](http://releases.ubuntu.com/16.04)~~: No longer supported. The Astrobee robot hardware ran Ubuntu 16.04 from its launch in 2019 until it was upgraded to run Ubuntu 20.04. Ubuntu 16.04 support was discontinued in February 2024. Ending Ubuntu 16.04 support removed important limitations. For example, going forward, Astrobee's software will no longer need to be backward-compatible with Python 2 and OpenCV 3.
- ~~[Ubuntu 18.04](http://releases.ubuntu.com/18.04)~~: Ubuntu 18.04 support as a software development platform was discontinued as of November 2023. (It was never supported on the robot hardware.)
- ~~[Ubuntu 22.04](http://releases.ubuntu.com/22.04)~~: There is currently no plan for Ubuntu 22.04 support on the Astrobee roadmap. However, note that Astrobee ROS2 support, when it eventually becomes available, is currently expected to use the ROS2 Humble Hawksbill distribution that normally runs on 22.04, but backported to run on 20.04 (the last Ubuntu version supported by ROS1). This will facilitate migrating from ROS1 to ROS2 without requiring a simultaneous Ubuntu distribution upgrade.

Graphical interfaces will perform best if your host OS is running natively (not in a virtual machine).

Expand Down Expand Up @@ -60,3 +62,25 @@ The native installation instructions below walk you through manually running the
- If you are an external developer, see: \subpage install-nonNASA

- If you have NASA internal access and need to cross-compile for the robot hardware, see: \subpage install-NASA

### Important Notice: OpenCV 4 Upgrade

Starting from version 0.18.0, our project uses exclusively OpenCV 4. If you have an earlier version of Astrobee natively build, please follow the steps below to uninstall the previous debians:

dpkg -r astrobee0
dpkg -r libalvar2
dpkg -r libopenmvg1
dpkg -r libdbow21
dpkg -r libdbowdlib1
dpkg -r libopencv3.3.1


once this is done, please follow the external developer install instructions \ref install-nonNASA:

pushd $ASTROBEE_WS
cd src/scripts/setup/debians
sudo apt-get update
./build_install_debians.sh
cd ../
./install_desktop_packages.sh
popd
30 changes: 29 additions & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,34 @@
# Releases

# Release 0.17.0
## Release 0.19.1

* Updated Map Matching with TEBLID and CLAHE

## Release 0.19.0

* New split localizer

## Release 0.18.0

* Astrobee now using OpenCV 4! Please see install updates in INSTALL.md

## Release 0.17.3

* Comms bridge added rate feature
* Bug fixes
* User feedback improvements

## Release 0.17.2

* Adding Generic comms bridge
* Multiple bug fixes
* Ubuntu 20 only supported now

## Release 0.17.1

* Multiple bug fixes

## Release 0.17.0

* Full compatibility and debians built for Ubuntu 20
* Deleted all simulink autocode for ctl and fam
Expand Down
2 changes: 1 addition & 1 deletion astrobee.doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ PROJECT_NAME = "NASA Astrobee Robot Software"
# control system is used.


PROJECT_NUMBER = 0.17.0
PROJECT_NUMBER = 0.19.1

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
Loading

0 comments on commit 5e06ecf

Please sign in to comment.