Skip to content

Commit

Permalink
Merge pull request #298 from nasa/develop
Browse files Browse the repository at this point in the history
Release 0.15.2
  • Loading branch information
marinagmoreira authored Oct 1, 2021
2 parents c882f9f + 48ddff7 commit 7515c26
Show file tree
Hide file tree
Showing 161 changed files with 16,541 additions and 11,810 deletions.
32 changes: 25 additions & 7 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:

build-xenial:

runs-on: ubuntu-16.04
runs-on: ubuntu-18.04

steps:
- uses: actions/checkout@v2
Expand All @@ -19,10 +19,16 @@ jobs:
run: git submodule update --init --depth 1 description/media

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

- name: Test code
run: docker build . -f ./scripts/docker/test_astrobee_xenial.Dockerfile -t test
run: docker build . -f ./scripts/docker/test_astrobee.Dockerfile
--build-arg UBUNTU_VERSION=16.04
-t astrobee/astrobee:test-ubuntu16.04

build-bionic:

Expand All @@ -35,10 +41,16 @@ jobs:
run: git submodule update --init --depth 1 description/media

- name: Build code for Ubuntu 18
run: docker build . -f ./scripts/docker/astrobee_bionic.Dockerfile -t astrobee/astrobee:latest-bionic
run: docker build . -f ./scripts/docker/astrobee.Dockerfile
--build-arg UBUNTU_VERSION=18.04
--build-arg ROS_VERSION=melodic
--build-arg PYTHON=3
-t astrobee/astrobee:latest-ubuntu18.04

- name: Test code
run: docker build . -f ./scripts/docker/test_astrobee_bionic.Dockerfile -t test
run: docker build . -f ./scripts/docker/test_astrobee.Dockerfile
--build-arg UBUNTU_VERSION=18.04
-t astrobee/astrobee:test-ubuntu18.04

build-focal:

Expand All @@ -51,7 +63,13 @@ jobs:
run: git submodule update --init --depth 1 description/media

- name: Build code for Ubuntu 20
run: docker build . -f ./scripts/docker/astrobee_focal.Dockerfile -t astrobee/astrobee:latest-focal
run: docker build . -f ./scripts/docker/astrobee.Dockerfile
--build-arg UBUNTU_VERSION=20.04
--build-arg ROS_VERSION=noetic
--build-arg PYTHON=3
-t astrobee/astrobee:latest-ubuntu20.04

- name: Test code
run: docker build . -f ./scripts/docker/test_astrobee_focal.Dockerfile -t test
run: docker build . -f ./scripts/docker/test_astrobee.Dockerfile
--build-arg UBUNTU_VERSION=20.04
-t astrobee/astrobee:test-ubuntu20.04
19 changes: 18 additions & 1 deletion .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,27 @@ name: Check for lint errors
on: ['push', 'pull_request']

jobs:
lint_check:
lint_check_cpp:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Check repo for lint errors
run: ./scripts/git/cpplint_repo.py .

lint_check_python:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Install linters
run: |
pip install black
pip install isort
- name: Run black
run: |
black . --diff --extend-exclude cmake --check
- name: Run isort
run: |
isort . --diff --extend-skip cmake --profile black --check-only
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
cmake_minimum_required(VERSION 3.0)
project(Astrobee)

set(ASTROBEE_VERSION 0.15.1)
set(ASTROBEE_VERSION 0.15.2)

# Define our options
option(USE_CCACHE
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ due to NASA legal requirements. Thank you for your understanding.

[Extensive documentation is auto-generated from the contents of this repository.](https://nasa.github.io/astrobee/documentation.html)

["A Brief Guide to Astrobee’s Flight Software"](https://github.com/albee/a-brief-guide-to-astrobee/raw/master/a_brief_guide_to_astrobee_v1.0.pdf) is a good tutorial, with a particular emphasis on the advanced topic of modifying Astrobee's flight software to enable Guidance, Navigation, & Control (GN&C) research. (Note that most guest science can be implemented as an app that uses the [Astrobee Command API](https://nasa.github.io/astrobee/html/command_dictionary.html) without modifying the flight software.)
["A Brief Guide to Astrobee’s Flight Software"](https://github.com/albee/a-brief-guide-to-astrobee/raw/master/a_brief_guide_to_astrobee_latest.pdf) is a good tutorial, with a particular emphasis on the advanced topic of modifying Astrobee's flight software to enable Guidance, Navigation, & Control (GN&C) research. (Note that most guest science can be implemented as an app that uses the [Astrobee Command API](https://nasa.github.io/astrobee/html/command_dictionary.html) without modifying the flight software.)

For more information, read [Astrobee-related publications](https://www.nasa.gov/content/research-publications-0).
Learning about the Astrobee [platform](https://www.nasa.gov/sites/default/files/atoms/files/bualat_spaceops_2018_paper.pdf),
Expand Down
8 changes: 8 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Releases

## Release 0.15.2

* added python linters black and isort in the CI pipeline
* added perching arm reconnect service
* added nav and dock cam bayer image output option
* added code to report time for llp, mlp, hlp
* added end of motion check

## Release 0.15.1

* Separated config files for DDS communications to avoid conflict
Expand Down
4 changes: 2 additions & 2 deletions 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.15.1
PROJECT_NUMBER = 0.15.2

# 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 Expand Up @@ -2392,7 +2392,7 @@ DOT_PATH =
# command).
# This tag requires that the tag HAVE_DOT is set to YES.

DOTFILE_DIRS = behaviors mobility
DOTFILE_DIRS = behaviors mobility gnc

# The MSCFILE_DIRS tag can be used to specify one or more directories that
# contain msc files that are included in the documentation (see the \mscfile
Expand Down
15 changes: 13 additions & 2 deletions astrobee/config/cameras.config
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,13 @@

require "context"

-- bayer_enable: Set to true to enable publishing raw Bayer images (can
-- be converted to RGB). May incur significant I/O overhead.

-- bayer_throttle_ratio: Set to n to publish 1 raw Bayer image for
-- every n images grabbed. With n = 1, every image is
-- published. Larger n reduces I/O overhead.

nav_cam = {
width = 1280,
height = 960,
Expand All @@ -28,7 +35,9 @@ nav_cam = {
gain = robot_camera_calibrations.nav_cam.gain,
exposure = robot_camera_calibrations.nav_cam.exposure,
calibration_gain = 105,
calibration_exposure = 30
calibration_exposure = 30,
bayer_enable = false,
bayer_throttle_ratio = 3
};

dock_cam = {
Expand All @@ -42,7 +51,9 @@ dock_cam = {
gain= robot_camera_calibrations.dock_cam.gain,
exposure= robot_camera_calibrations.dock_cam.exposure,
calibration_gain = 105,
calibration_exposure = 30
calibration_exposure = 30,
bayer_enable = false,
bayer_throttle_ratio = 3
};

-- The haz and perch cam params below are ignored for the time being.
Expand Down
4 changes: 4 additions & 0 deletions astrobee/config/communications/dds_ros_bridge.config
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,10 @@ use_RTRT = true
pub_topic_RTRT = ""


-- ros_zones_rapid_compressed_file => RZRCF --
use_RZRCF = true
pub_topic_RZRCF = "-current_zones"

comm_status_rate = 1
cpu_state_rate = 0
disk_state_rate = 1
Expand Down
5 changes: 4 additions & 1 deletion astrobee/config/management/data_bagger.config
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,10 @@ default_topics = {{topic="gnc/ctl/traj", downlink="immediate", frequency=-1},
{topic="mob/state", downlink="immediate", frequency=-1},
{topic="command", downlink="immediate", frequency=-1},
{topic="mgt/ack", downlink="immediate", frequency=-1},
{topic="mgt/sys_monitor/time_diff", downlink="immediate", frequency=-1},
{topic="mgt/sys_monitor/time_sync", downlink="immediate", frequency=-1},
{topic="gs/gs_manager/ack", downlink="immediate", frequency=-1},
{topic="gs/gs_manager/config", downlink="immediate", frequency=-1},
{topic="gs/gs_manager/state", downlink="immediate", frequency=-1},
{topic="rosout", downlink="immediate", frequency=-1},
{topic="robot_name", downlink="immediate", frequency=-1}}

Expand Down
2 changes: 1 addition & 1 deletion astrobee/config/mobility/choreographer.config
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ parameters = {
description = "Allow new zones to overwrite the zone file"
},{
id = "tolerance_max_time", reconfigurable = false, type = "double",
default = 1.0, unit = "seconds",
default = 3.0, unit = "seconds",
description = "Maximum time a tolerance is acceptable"
}
}
15 changes: 12 additions & 3 deletions astrobee/config/mobility/mapper.config
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,23 @@ parameters = {
unit = "seconds",
description = "How long the octomap remembers the fading memory map. It remembers forever when this variable is <= 0."
},{
id = "inflate_radius",
id = "robot_radius",
reconfigurable = true,
type = "double",
default = 0.25,
default = 0.28,
min = 0.0,
max = 1.0,
description = "Radius of the robot considered in the planner (default is 0.16 * sqrt(3))",
unit = "m"
},{
id = "collision_distance",
reconfigurable = true,
type = "double",
default = 0.02,
min = 0.01,
max = 1,
unit = "meters",
description = "How much the octomap is inflated."
description = "Minimum distance margin to maintain away from obstacles."
},{
id = "cam_fov",
reconfigurable = true,
Expand Down
18 changes: 9 additions & 9 deletions astrobee/config/mobility/planner_qp.config
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,6 @@ parameters = {
max = 100,
description = "Rate at which control state commands are created in plan",
unit = "Hz"
}, {
id = "robot_radius",
reconfigurable = true,
type = "double",
default = 0.28,
min = 0.0,
max = 1.0,
description = "Radius of the robot considered in the planner (default is 0.16 * sqrt(3))",
unit = "m"
}, {
id = "two_d",
reconfigurable = true,
Expand Down Expand Up @@ -92,5 +83,14 @@ parameters = {
max = 10.0,
description = "loop time for trajectory optimization replay",
unit = "seconds"
}, {
id = "planner_distance",
reconfigurable = true,
type = "double",
default = 0.08,
min = 0.0,
max = 10.0,
description = "extra planner keepout distance, min is map tolerance",
unit = "seconds"
}
}
5 changes: 5 additions & 0 deletions astrobee/config/worlds/granite.config
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ world_flight_modes = {
speed = 0;

-- Tolerances
tolerance_pos_endpoint = 0.05; -- Endpoint position (5 cm)
tolerance_pos = 0.1; -- Position (10 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.1745; -- Attitude (10 degrees)
Expand Down Expand Up @@ -151,6 +152,7 @@ world_flight_modes = {
speed = 2;

-- Tolerances
tolerance_pos_endpoint = 0.05; -- Endpoint position (5 cm)
tolerance_pos = 0.2; -- Position (20 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.3491; -- Attitude (20 degrees)
Expand Down Expand Up @@ -192,6 +194,7 @@ world_flight_modes = {
speed = 3;

-- Tolerances
tolerance_pos_endpoint = 0.1; -- Endpoint position (5 cm)
tolerance_pos = 0.2; -- Position (20 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.3490; -- Attitude (20 degrees)
Expand Down Expand Up @@ -233,6 +236,7 @@ world_flight_modes = {
speed = 1;

-- Tolerances
tolerance_pos_endpoint = 0.05; -- Endpoint position (5 cm)
tolerance_pos = 0.1; -- Position (10 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.1745; -- Attitude (10 degrees)
Expand Down Expand Up @@ -273,6 +277,7 @@ world_flight_modes = {
speed = 3;

-- Tolerances
tolerance_pos_endpoint = 0.05; -- Endpoint position (5 cm)
tolerance_pos = 0.1; -- Position (10 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.1745; -- Attitude (10 degrees)
Expand Down
7 changes: 6 additions & 1 deletion astrobee/config/worlds/iss.config
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ world_flight_modes = {
speed = 0;

-- Tolerances
tolerance_pos_endpoint = 0.05; -- Endpoint position (5 cm)
tolerance_pos = 0.1; -- Position (10 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.1745; -- Attitude (10 degrees)
Expand Down Expand Up @@ -160,7 +161,8 @@ world_flight_modes = {
speed = 2;

-- Tolerances
tolerance_pos = 0.3; -- Position (30 cm)
tolerance_pos_endpoint = 0.05; -- Endpoint position (5 cm)
tolerance_pos = 0.25; -- Position (25 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.3491; -- Attitude (20 degrees)
tolerance_omega = 0; -- Omega (disabled)
Expand Down Expand Up @@ -200,6 +202,7 @@ world_flight_modes = {
speed = 3;

-- Tolerances
tolerance_pos_endpoint = 0.1; -- Endpoint position (5 cm)
tolerance_pos = 0.2; -- Position (20 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.3490; -- Attitude (20 degrees)
Expand Down Expand Up @@ -240,6 +243,7 @@ world_flight_modes = {
speed = 1;

-- Tolerances
tolerance_pos_endpoint = 0.05; -- Endpoint position (5 cm)
tolerance_pos = 0.1; -- Position (10 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.1745; -- Attitude (10 degrees)
Expand Down Expand Up @@ -280,6 +284,7 @@ world_flight_modes = {
speed = 3;

-- Tolerances
tolerance_pos_endpoint = 0.05; -- Endpoint position (5 cm)
tolerance_pos = 0.1; -- Position (10 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.1745; -- Attitude (10 degrees)
Expand Down
5 changes: 5 additions & 0 deletions astrobee/config/worlds/mgtf.config
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ world_flight_modes = {
speed_gain = 0;

-- Tolerances
tolerance_pos_endpoint = 0.05; -- Endpoint position (5 cm)
tolerance_pos = 0.1; -- Position (10 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.1745; -- Attitude (10 degrees)
Expand Down Expand Up @@ -143,6 +144,7 @@ world_flight_modes = {
speed = 2;

-- Tolerances
tolerance_pos_endpoint = 0.05; -- Endpoint position (5 cm)
tolerance_pos = 0.1; -- Position (10 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.1745; -- Attitude (10 degrees)
Expand Down Expand Up @@ -183,6 +185,7 @@ world_flight_modes = {
speed = 3;

-- Tolerances
tolerance_pos_endpoint = 0.1; -- Endpoint position (5 cm)
tolerance_pos = 0.2; -- Position (20 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.3490; -- Attitude (20 degrees)
Expand Down Expand Up @@ -223,6 +226,7 @@ world_flight_modes = {
speed = 1;

-- Tolerances
tolerance_pos_endpoint = 0.05; -- Endpoint position (5 cm)
tolerance_pos = 0.1; -- Position (10 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.1745; -- Attitude (10 degrees)
Expand Down Expand Up @@ -263,6 +267,7 @@ world_flight_modes = {
speed = 2;

-- Tolerances
tolerance_pos_endpoint = 0.05; -- Endpoint position (5 cm)
tolerance_pos = 0.1; -- Position (10 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.1745; -- Attitude (10 degrees)
Expand Down
Loading

0 comments on commit 7515c26

Please sign in to comment.