Skip to content

Commit aa1fa52

Browse files
Merge pull request #651 from nasa/develop
Release 0.16.7
2 parents 271b690 + 578fed8 commit aa1fa52

File tree

247 files changed

+6623
-2465
lines changed

Some content is hidden

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

247 files changed

+6623
-2465
lines changed

.devcontainer/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
FROM ghcr.io/nasa/astrobee:latest-ubuntu20.04
2+
ENV DEBIAN_FRONTEND=dialog

.devcontainer/devcontainer.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"dockerFile": "Dockerfile",
3+
"build": {
4+
"args": {
5+
"WORKSPACE": "${containerWorkspaceFolder}"
6+
}
7+
},
8+
"remoteUser": "root",
9+
"runArgs": [
10+
"--network=host",
11+
"--cap-add=SYS_PTRACE",
12+
"--security-opt=seccomp:unconfined",
13+
"--security-opt=apparmor:unconfined",
14+
"--volume=/tmp/.X11-unix:/tmp/.X11-unix"
15+
],
16+
"containerEnv": {
17+
"DISPLAY": "${localEnv:DISPLAY}",
18+
"LIBGL_ALWAYS_SOFTWARE": "1" // Needed for software rendering of opengl
19+
},
20+
// Set *default* container specific settings.json values on container create.
21+
"settings": {
22+
"terminal.integrated.profiles.linux": {
23+
"zsh": {
24+
"path": "/bin/zsh"
25+
}
26+
},
27+
"terminal.integrated.defaultProfile.linux": "zsh"
28+
},
29+
"extensions": [
30+
// "althack.ament-task-provider",
31+
"DotJoshJohnson.xml",
32+
"ms-azuretools.vscode-docker",
33+
"ms-python.python",
34+
"ms-vscode.cpptools",
35+
"redhat.vscode-yaml",
36+
"smilerobotics.urdf",
37+
"streetsidesoftware.code-spell-checker",
38+
"twxs.cmake",
39+
"yzhang.markdown-all-in-one",
40+
"zachflower.uncrustify"
41+
],
42+
"workspaceMount": "source=${localWorkspaceFolder},target=/src/astrobee/src,type=bind",
43+
"workspaceFolder": "/workspace"
44+
}

.github/workflows/ci_pr.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99

1010
build-xenial:
1111

12-
runs-on: ubuntu-18.04
12+
runs-on: ubuntu-20.04
1313

1414
steps:
1515
- uses: actions/checkout@v2
@@ -25,7 +25,7 @@ jobs:
2525

2626
build-bionic:
2727

28-
runs-on: ubuntu-18.04
28+
runs-on: ubuntu-20.04
2929

3030
steps:
3131
- uses: actions/checkout@v2

.github/workflows/ci_push.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88

99
build-xenial:
1010

11-
runs-on: ubuntu-18.04
11+
runs-on: ubuntu-20.04
1212

1313
steps:
1414
- uses: actions/checkout@v2
@@ -26,7 +26,7 @@ jobs:
2626

2727
build-bionic:
2828

29-
runs-on: ubuntu-18.04
29+
runs-on: ubuntu-20.04
3030

3131
steps:
3232
- uses: actions/checkout@v2

.github/workflows/ci_release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88

99
build-xenial:
1010

11-
runs-on: ubuntu-18.04
11+
runs-on: ubuntu-20.04
1212

1313
steps:
1414
- uses: actions/checkout@v2
@@ -33,7 +33,7 @@ jobs:
3333
3434
build-bionic:
3535

36-
runs-on: ubuntu-18.04
36+
runs-on: ubuntu-20.04
3737

3838
steps:
3939
- uses: actions/checkout@v2

.github/workflows/docker_push_latest_base.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010

1111
build-xenial:
1212

13-
runs-on: ubuntu-18.04
13+
runs-on: ubuntu-20.04
1414

1515
steps:
1616
- uses: actions/checkout@v2
@@ -28,7 +28,7 @@ jobs:
2828

2929
build-bionic:
3030

31-
runs-on: ubuntu-18.04
31+
runs-on: ubuntu-20.04
3232

3333
steps:
3434
- uses: actions/checkout@v2

.github/workflows/docs.yaml

Lines changed: 13 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ name: Build and Push Documentation to gh-pages Branch
55
on:
66
push:
77
branches: ['develop']
8+
workflow_dispatch:
89

910
jobs:
1011
build_and_push_docs:
11-
runs-on: ubuntu-18.04
12+
runs-on: ubuntu-20.04
1213

1314
steps:
1415
- name: Checkout
@@ -20,51 +21,22 @@ jobs:
2021
with:
2122
path: docs/
2223
ref: gh-pages
23-
- name: Install dependencies
24-
run: |
25-
sudo apt-get install -y bison
26-
sudo apt-get install -y flex
27-
sudo apt-get install -y graphviz
28-
sudo apt-get install -y python-setuptools
29-
- name: Install doxygen
30-
run: |
31-
wget 'https://sourceforge.net/projects/doxygen/files/rel-1.8.20/doxygen-1.8.20.src.tar.gz'
32-
tar -zxvf doxygen-1.8.20.src.tar.gz
33-
cd doxygen-1.8.20
34-
mkdir build
35-
cd build
36-
cmake -G "Unix Makefiles" ..
37-
make
38-
sudo make install
39-
- name: install xgds_planner2
40-
run: |
41-
sudo pip install iso8601
42-
sudo pip install "django<2"
43-
git clone https://github.com/geocam/geocamUtilWeb.git
44-
cd geocamUtilWeb
45-
sudo python setup.py install
46-
cd ..
47-
git clone https://github.com/xgds/xgds_planner2.git
48-
cd xgds_planner2
49-
sudo python setup.py install
50-
- name: Generating command dictionary documentation
51-
run: |
52-
cd repo
53-
mkdir doc/html
54-
./scripts/build/genCommandDictionary.py astrobee/commands/freeFlyerPlanSchema.json doc/html/AstrobeeCommandDictionary.html
55-
- name: Build Documentation
56-
run: |
57-
cd repo/doc/diagrams/ && make && cd ../..
58-
doxygen astrobee.doxyfile
59-
cd ..
24+
- name: Build docker image with dependencies + build docs
25+
run: docker build repo -f repo/scripts/docker/documentation.Dockerfile
26+
-t astrobee:documentation
27+
6028
- name: Replace old documentation with new
6129
run: |
62-
[ -d docs ] || mkdir docs
63-
[ -d docs/html ] && rm -r docs/html
64-
cp -r repo/doc/html docs
30+
(cd docs && git rm -r "*")
31+
cp repo/doc/documentation.html docs/index.html
32+
cp repo/doc/documentation.html docs/documentation.html
33+
cp repo/doc/README.md docs/README.md
34+
docker cp $(docker create --rm astrobee:documentation):/repo/doc/html docs/html
35+
6536
- name: Commit and Push
6637
run: |
6738
cd docs
39+
git add index.html documentation.html README.md
6840
git add --all html/
6941
EMAIL=`git show -s --format='%ae' HEAD`
7042
NAME=`git show -s --format='%an' HEAD`

INSTALL.md

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,48 @@
11
# Install
22

3-
## Quick start using the Astrobee Docker image
3+
## System requirements
44

5-
*The following has been tested on native (non-VM) Ubuntu systems using X11 (the default). Please see [these ROS pages](http://wiki.ros.org/docker/Tutorials#Tooling_with_Docker) for more resources.*
5+
Ubuntu 20.04 is the preferred host OS for most Astrobee developers to use.
66

7-
If you just want to try out the astrobee simulator, you can use one of the Docker images in the [Github Container Registry](https://github.com/nasa/astrobee/pkgs/container/astrobee).
7+
Here are the available host OS options with development roadmap details:
8+
- Ubuntu 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.
9+
- Ubuntu 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.
10+
- Ubuntu 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.
811

9-
Make sure you have Docker installed in your Ubuntu system following the [installation instructions](https://docs.docker.com/engine/install/ubuntu/) and [post-installation steps for Linux](https://docs.docker.com/engine/install/linux-postinstall/).
12+
Graphical interfaces will perform best if your host OS is running natively (not in a virtual machine).
1013

11-
For some systems (with discrete graphics cards), you may need to install [additional software](http://wiki.ros.org/docker/Tutorials/Hardware%20Acceleration).
14+
Your host OS must have an X11 server installed if you want to use graphical applications, even if you are developing inside a Docker container (the X11 application running inside the container will forward its interface to the host's X11 server). X11 comes with Ubuntu Desktop by default.
1215

13-
``` bash
14-
git clone https://github.com/nasa/astrobee.git
15-
cd astrobee
16-
./scripts/docker/run.sh --remote
17-
```
16+
If you plan to develop inside Docker, see [this page on using ROS with Docker](http://wiki.ros.org/docker/Tutorials#Tooling_with_Docker) for more details.
1817

19-
## Building the code natively
18+
## Option 1: Install inside a Docker container
2019

21-
There are different ways to build and test the code.
20+
1. Make sure you have Docker installed in your system by following:
21+
- [Docker installation instructions](https://docs.docker.com/engine/install/ubuntu/)
22+
- [Docker post-installation configuration for Linux](https://docs.docker.com/engine/install/linux-postinstall/)
23+
- If your system has a discrete graphics card, you may need to install [additional software for hardware acceleration](http://wiki.ros.org/docker/Tutorials/Hardware%20Acceleration).
2224

23-
### Non-NASA users
25+
2. Check out the Astrobee Robot Software with:
26+
```bash
27+
export ASTROBEE_WS=$HOME/astrobee # your choice where
28+
git clone https://github.com/nasa/astrobee.git $ASTROBEE_WS/src
29+
cd $ASTROBEE_WS/src
30+
git submodule update --init --depth 1 description/media
31+
```
2432

25-
If you are a non-NASA user the preferred supported method is to use Ubuntu 16 and ROS kinetic. Ubuntu 18 and ROS melodic instructions are included, but not officially supported. This method does not require VPN access.
33+
3. Here is a quick-start command to install the Astrobee Robot Software inside a Docker container and start a simulation run:
34+
```bash
35+
./scripts/docker/run.sh --remote
36+
```
2637

27-
\subpage install-nonNASA
38+
There is also experimental support for using the Visual Studio Code Dev Containers plugin to access an integrated development environment running inside the Docker container!
2839

40+
For much more discussion, see: \subpage install-docker.
2941

30-
### NASA users
42+
## Option 2: Install in your native OS
3143

32-
If you are a NASA user and want to install the cross-compiler for robot testing follow these instructions:
44+
The native installation instructions below walk you through manually running the same steps that are fully automated in a Docker installation.
3345

34-
\subpage install-NASA
46+
- If you are an external developer, see: \subpage install-nonNASA
3547

36-
## Using Docker
37-
38-
Docker builds are available for Ubuntu 16.04, 18.04 and 20.04.
39-
40-
Instructions on how to build the images natively and run the containers are in:
41-
42-
\subpage install-docker
48+
- If you have NASA internal access and need to cross-compile for the robot hardware, see: \subpage install-NASA

RELEASE.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Releases
22

3+
## Release 0.16.7
4+
5+
* Remove simulink auto-generated code
6+
* improved documentation, other tools and fixes
7+
38
## Release 0.16.6
49

510
* switch map online possibility

astrobee.doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ PROJECT_NAME = "NASA Astrobee Robot Software"
3939
# control system is used.
4040

4141

42-
PROJECT_NUMBER = 0.16.6
42+
PROJECT_NUMBER = 0.16.7
4343

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

0 commit comments

Comments
 (0)