Skip to content

Commit 82e26b0

Browse files
Merge pull request #9 from nasa/master
Updating StanfordASL master
2 parents 7c5f492 + bf30648 commit 82e26b0

File tree

784 files changed

+33248
-16938
lines changed

Some content is hidden

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

784 files changed

+33248
-16938
lines changed

.github/workflows/msgs_jar.yaml

+3-10
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,12 @@ jobs:
1111
steps:
1212
- uses: actions/checkout@v3
1313

14-
- name: Build image astrobee/astrobee:msgs-ubuntu16.04
14+
- name: Build image astrobee/astrobee:msgs-ubuntu20.04
1515
run: docker build . -f ./scripts/docker/astrobee_msgs.Dockerfile
16-
--build-arg UBUNTU_VERSION=16.04
17-
--build-arg ROS_VERSION=kinetic
18-
--build-arg PYTHON=''
19-
-t astrobee/astrobee:msgs-ubuntu16.04
16+
-t astrobee/astrobee:msgs-ubuntu20.04
2017

21-
- name: Build image astrobee/astrobee:latest-msgs-jar-ubuntu16.04
18+
- name: Build image astrobee/astrobee:latest-msgs-jar-ubuntu20.04
2219
run: docker build . -f ./scripts/docker/build_msgs_jar.Dockerfile
23-
--build-arg UBUNTU_VERSION=16.04
24-
--build-arg ROS_VERSION=kinetic
25-
--build-arg PYTHON=''
26-
--build-arg REPO=astrobee
2720
-t ghcr.io/${{ github.repository_owner }}/astrobee:latest-msgs-jar
2821

2922
- name: Copy jar files

.isort.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@
1515
# added to a new folder, you can auto-update it by running
1616
# scripts/git/configure_isort_paths.sh.
1717

18-
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
18+
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

INSTALL.md

+25-3
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
## System requirements
44

5-
Ubuntu 20.04 is currently the only supported platform for most Astrobee development use cases.
5+
Ubuntu 20.04 is currently the only supported platform.
66

77
Here are the currently available host OS options with development roadmap details (use 64-bit PC (AMD64) desktop image):
8-
- [Ubuntu 20.04](http://releases.ubuntu.com/20.04): This is currently the only supported platform for most Astrobee development use cases. 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.
9-
- [Ubuntu 16.04](http://releases.ubuntu.com/16.04): No longer supported for most use cases. 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 for most use cases 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. However, Ubuntu 16.04 is still required in a very limited role that most developers don't need to worry about. We use it to compile a JAR file binary artifact of Astrobee message definitions used by the [astrobee_android](https://github.com/nasa/astrobee_android) code hosted on Astrobee's High-Level Processor, which runs a legacy version of Android with `rosjava`, which was designed to communicate with the ROS Kinetic distribution. Compiling the JAR file requires the `ros-kinetic-rosjava` package that is only available for Ubuntu 16.04. (But most developers shouldn't need to generate this artifact.)
8+
- [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.
109

1110
Specifically not supported:
11+
- ~~[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.
1212
- ~~[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.)
1313
- ~~[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.
1414

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

6464
- If you have NASA internal access and need to cross-compile for the robot hardware, see: \subpage install-NASA
65+
66+
### Important Notice: OpenCV 4 Upgrade
67+
68+
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:
69+
70+
dpkg -r astrobee0
71+
dpkg -r libalvar2
72+
dpkg -r libopenmvg1
73+
dpkg -r libdbow21
74+
dpkg -r libdbowdlib1
75+
dpkg -r libopencv3.3.1
76+
77+
78+
once this is done, please follow the external developer install instructions \ref install-nonNASA:
79+
80+
pushd $ASTROBEE_WS
81+
cd src/scripts/setup/debians
82+
sudo apt-get update
83+
./build_install_debians.sh
84+
cd ../
85+
./install_desktop_packages.sh
86+
popd

RELEASE.md

+21-3
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,34 @@
11
# Releases
22

3-
# Release 0.17.2
3+
## Release 0.19.1
4+
5+
* Updated Map Matching with TEBLID and CLAHE
6+
7+
## Release 0.19.0
8+
9+
* New split localizer
10+
11+
## Release 0.18.0
12+
13+
* Astrobee now using OpenCV 4! Please see install updates in INSTALL.md
14+
15+
## Release 0.17.3
16+
17+
* Comms bridge added rate feature
18+
* Bug fixes
19+
* User feedback improvements
20+
21+
## Release 0.17.2
422

523
* Adding Generic comms bridge
624
* Multiple bug fixes
725
* Ubuntu 20 only supported now
826

9-
# Release 0.17.1
27+
## Release 0.17.1
1028

1129
* Multiple bug fixes
1230

13-
# Release 0.17.0
31+
## Release 0.17.0
1432

1533
* Full compatibility and debians built for Ubuntu 20
1634
* Deleted all simulink autocode for ctl and fam

astrobee.doxyfile

+1-1
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.17.2
42+
PROJECT_NUMBER = 0.19.1
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

astrobee/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
cmake_minimum_required(VERSION 3.0)
1919
project(astrobee)
2020

21-
set(ASTROBEE_VERSION 0.17.2)
21+
set(ASTROBEE_VERSION 0.19.1)
2222

2323
## Compile as C++14, supported in ROS Kinetic and newer
2424
add_compile_options(-std=c++14)

astrobee/commands/freeFlyerPlanSchema.json

+51-1
Original file line numberDiff line numberDiff line change
@@ -802,6 +802,30 @@
802802
]
803803
},
804804

805+
{
806+
"type": "CommandSpec",
807+
"id": "Settings.setExposure",
808+
"isRapidNative": false,
809+
"notes": "Set the exposure value for either the nav or dock camera.",
810+
"availableContexts": [
811+
"teleop"
812+
],
813+
"parent": "Command",
814+
"params": [
815+
{
816+
"type": "ParamSpec",
817+
"id": "cameraName",
818+
"parent": "Settings.CameraName"
819+
},
820+
{
821+
"type": "ParamSpec",
822+
"id": "exposure",
823+
"valueType": "float",
824+
"notes": "The value to set the exposurec to."
825+
}
826+
]
827+
},
828+
805829
{
806830
"type": "CommandSpec",
807831
"id": "GuestScience.startGuestScience",
@@ -894,6 +918,25 @@
894918
]
895919
},
896920

921+
{
922+
"type": "CommandSpec",
923+
"id": "Settings.setMap",
924+
"isRapidNative": false,
925+
"notes": "Sets the map used for localization.",
926+
"availableContexts": [
927+
"teleop"
928+
],
929+
"parent": "Command",
930+
"params": [
931+
{
932+
"type": "ParamSpec",
933+
"id": "mapName",
934+
"valueType" : "string",
935+
"notes": "Full path to the map file to use. 'default' uses the default map loaded on startup."
936+
}
937+
]
938+
},
939+
897940
{
898941
"type": "CommandSpec",
899942
"id": "Plan.setPlan",
@@ -1007,7 +1050,14 @@
10071050
"teleop"
10081051
],
10091052
"parent": "Command",
1010-
"params": []
1053+
"params": [
1054+
{
1055+
"type": "ParamSpec",
1056+
"id": "berthNumber",
1057+
"valueType": "long",
1058+
"notes": "Which berth Astrobee is using. 1=left, 2=right."
1059+
}
1060+
]
10111061
},
10121062

10131063
{

astrobee/config/behaviors/dock.config

+3-3
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ parameters = {
9595
id = "enable_validation",
9696
reconfigurable = false,
9797
type = "boolean",
98-
default = true,
98+
default = false,
9999
unit = "boolean",
100100
description = "Should we validate segments before executing them?"
101101
},{
@@ -134,7 +134,7 @@ parameters = {
134134
id = "enable_faceforward",
135135
reconfigurable = false,
136136
type = "boolean",
137-
default = true,
137+
default = false,
138138
unit = "boolean",
139139
description = "Should planning be face-forward only?"
140140
},{
@@ -174,4 +174,4 @@ parameters = {
174174
unit = "m/s",
175175
description = "Soft planning limit on net angular acceleration"
176176
}
177-
}
177+
}

astrobee/config/commands.config

+28-1
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,12 @@ commandConfig = {
231231
commands={
232232
{
233233
name="autoReturn",
234-
parameters={}
234+
parameters={
235+
{
236+
key="berthNumber",
237+
type="RAPID_INT"
238+
}
239+
}
235240
},
236241
{
237242
name="dock",
@@ -445,6 +450,19 @@ commandConfig = {
445450
}
446451
}
447452
},
453+
{
454+
name="setExposure",
455+
parameters={
456+
{
457+
key="cameraName",
458+
type="RAPID_STRING"
459+
},
460+
{
461+
key="exposure",
462+
type="RAPID_FLOAT"
463+
}
464+
}
465+
},
448466
{
449467
name="setFlashlightBrightness",
450468
parameters={
@@ -488,6 +506,15 @@ commandConfig = {
488506
}
489507
}
490508
},
509+
{
510+
name="setMap",
511+
parameters={
512+
{
513+
key="mapName",
514+
type="RAPID_STRING"
515+
}
516+
}
517+
},
491518
{
492519
name="setOperatingLimits",
493520
parameters={

astrobee/config/communications/comms_bridge.config

+14-9
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,20 @@ links = {
6464
-- and relay_both (to be relayed in both directions). Providing all three fields gives the user
6565
-- full directional control while minimizing repetition and copy/paste errors.
6666

67-
-- Each topic entry can contain an input topic and an output topic. The
68-
-- in topic is the topic being published on the robot sending the data and
69-
-- must be specified. The optional out topic is the name of the topic a
70-
-- user wants the data published on in the receiving robot. If the
71-
-- out topic is not specified, the comms bridge will set it to be the name
72-
-- of the robot sending the data combined with the in topic name. For
73-
-- instance, if the from robot was Bumble and the to robot was Honey and
74-
-- one of the in topics in the relay forward list was "mgt/ack", then it
75-
-- would be published on Honey on topic "bumble/mgt/ack".
67+
-- Each topic entry can contain an input topic, output topic, and a rate.
68+
-- In topic: Required. This is the topic being published on the robot
69+
-- sending the data.
70+
-- Out topic: Optional. This is the name of the topic a user wants the data
71+
-- published on in the receiving robot. If the out topic is not specified,
72+
-- the comms bridge will set it to be the name of the robot sending the data
73+
-- combined with the in topic name. For instance, if the from robot was
74+
-- Bumble and the to robot was Honey and one of the in topics in the relay
75+
-- forward list was "mgt/ack", then it would be published on Honey on topic
76+
-- "bumble/mgt/ack".
77+
-- Rate: Optional. The rate in seconds at which a user wants the topic
78+
-- published to the receiving robot. Please omit the rate, if the topic
79+
-- should be published at the same rate it is published on the robot.
80+
7681
-- Please note that only one unique in topic can exist in the relay forward
7782
-- and relay both lists and the relay backward and relay both lists. It is
7883
-- fine to have the same in topic in the relay forward and relay backward

astrobee/config/gnc.config

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
require "common_lua"
1919
require "geometry"
2020

21+
-- Velocity Feedforward Gain
22+
tun_vel_gain = 0.5;
2123
-- Accel Feedforward Gains
2224
tun_accel_gain = vec3(1.0, 1.0, 1.0);
2325
tun_alpha_gain = vec3(1.0, 1.0, 1.0);

0 commit comments

Comments
 (0)