Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ISAAC 15 prep #164

Merged
merged 6 commits into from
May 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions astrobee/simulation/isaac_gazebo/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
cmake_minimum_required(VERSION 3.5)
project(isaac_gazebo)

# Specify C++14 standard
add_definitions(-std=c++14)
# Specify C++17 standard
add_definitions(-std=c++17)

# Find packages
find_package(catkin REQUIRED COMPONENTS
Expand Down
16 changes: 8 additions & 8 deletions astrobee/survey/survey_manager/data/granite_survey_dynamic.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@

goals:

- {type: panorama, robot: bsharp, order: 0, location: gra_bay2}
- {type: stereo, robot: bsharp, order: 1, trajectory: gra_bay1_to_bay3}
- {type: panorama, robot: bsharp, order: 0, location: gra_bay6}
- {type: stereo, robot: bsharp, order: 1, trajectory: gro_bay1_to_bay3}
# This is one of the goals we previously had to comment out for POPF to return a halfway decent
# plan. Adding a let_other_robot_reach goal mostly fixed the problem.
- {type: robot_at, robot: bsharp, location: berth1}
- {type: robot_at, robot: bsharp, location: berth1_g}

# This let_other_robot_reach goal is effectively a very specific kind of between-robot ordering
# constraint. It tells honey to let bumble get to bay 5 before taking its first panorama. Without
Expand All @@ -37,13 +37,13 @@ goals:
# planner doesn't need the hint.)
# - {type: let_other_robot_reach, robot: honey, order: 0, location: jem_bay5}

- {type: panorama, robot: wannabee, order: 1, location: gra_bay6}
- {type: panorama, robot: wannabee, order: 1, location: gra_bay2}
# This is the other objective we previously had to comment out for POPF to return a decent plan.
- {type: stereo, robot: wannabee, order: 4, trajectory: gra_bay5_to_bay7}
- {type: robot_at, robot: wannabee, location: berth2}
- {type: stereo, robot: wannabee, order: 4, trajectory: gra_bay1_to_bay3}
- {type: robot_at, robot: wannabee, location: berth2_g}

init:
bsharp:
location: berth1
location: berth1_g
wannabee:
location: berth2
location: berth2_g
57 changes: 43 additions & 14 deletions astrobee/survey/survey_manager/data/granite_survey_static.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,18 @@
# Useful reference for positions and stereo survey trajectories:
# https://babelfish.arc.nasa.gov/confluence/display/FFOPS/ISAAC+Phase+1X+Activity+9+Ground+Procedure

# granite map:
#
# gra_1
# gra_2
# berth2| gra_3
#
# berth1| gra_4
# gra_5
# gra_6
# gra_7 gro_0 gro_1 gro_2 gro_3
#

bays:
# 3D coordinates for symbolic bays in ISS Analysis Coordinate System used by Astrobee
gra_bay1: [0.1, 0.7, -0.68]
Expand All @@ -35,38 +47,55 @@ bays:
gra_bay4: [0.1, 0.3, -0.68]
gra_bay5: [0.1, 0.1, -0.68]
gra_bay6: [0.1, -0.3, -0.68]
gra_bay7: [0.1, -0.5, -0.68]
gra_bay7: [0.15, -0.5, -0.68]
gra_bay8: [0.15, -0.5, -0.68]
gro_bay0: [0.20, -0.5, -0.68]
gro_bay1: [0.25, -0.5, -0.68]
gro_bay2: [0.30, -0.5, -0.68]
gro_bay3: [0.35, -0.5, -0.68]

bays_move:
gra_bay1: ["-pos", "0.1 0.7 -0.68"]
gra_bay2: ["-pos", "0.1 0.6 -0.68"]
gra_bay3: ["-pos", "0.1 0.5 -0.68"]
gra_bay1: ["-pos", "0.1 -0.5 -0.68", "-att", "3.14 1 0 0"]
gra_bay2: ["-pos", "0.1 -0.4 -0.68", "-att", "3.14 1 0 0"]
gra_bay3: ["-pos", "0.1 -0.3 -0.68", "-att", "3.14 1 0 0"]
gra_bay4: ["-pos", "0.1 0.3 -0.68"]
gra_bay5: ["-pos", "0.1 0.1 -0.68", "-att", "3.14 1 0 0"]
gra_bay6: ["-pos", "0.1 -0.3 -0.68", "-att", "3.14 1 0 0"]
gra_bay7: ["-pos", "0.1 -0.5 -0.68", "-att", "3.14 1 0 0"]
gra_bay5: ["-pos", "0.1 0.4 -0.68"]
gra_bay6: ["-pos", "0.1 0.5 -0.68"]
gra_bay7: ["-pos", "0.15 0.7 -0.68"]
gra_bay8: ["-pos", "0.20 0.7 -0.68"]
gro_bay0: ["-pos", "0.25 0.7 -0.68"]
gro_bay1: ["-pos", "0.30 0.7 -0.68"]
gro_bay2: ["-pos", "0.35 0.7 -0.68"]
gro_bay3: ["-pos", "0.40 0.7 -0.68"]
berth1_g: ["-pos", "0.1 0.3 -0.68"]
berth2_g: ["-pos", "0.1 -0.3 -0.68", "-att", "3.14 1 0 0"]

maps:
gra: "/data/maps/granite.map"
gro: "/data/maps/iss.map"

exposure:
gra: 175
gro: 300

bays_pano:
gra_bay2: "panorama_granite_bsharp.txt"
gra_bay6: "panorama_granite_wannabee.txt"
gra_bay6: "panorama_granite_bsharp.txt"
gra_bay2: "panorama_granite_wannabee.txt"

berth:
berth1_g: "1"
berth2_g: "2"

bogus_bays: [gra_bay0, gra_bay8]
berths: [berth1, berth2]
bogus_bays: [gra_bay0, gra_bay8, gro_bay0, gro_bay4]
berths: [berth1_g, berth2_g]
robots: [bsharp, wannabee]

stereo:
gra_bay1_to_bay3:
fplan: "startup"
base_location: gra_bay1
bound_location: gra_bay3
gra_bay5_to_bay7:
gro_bay1_to_bay3:
fplan: "startup"
base_location: gra_bay5
bound_location: gra_bay7
base_location: gro_bay1
bound_location: gro_bay3
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,19 @@ bays:
jem_bay5: [11.0, -8.0, 4.8]
jem_bay6: [11.0, -9.0, 4.8]
jem_bay7: [11.0, -9.7, 4.8]
jem_bay0: [11.0, -9.7, 4.8]
marinagmoreira marked this conversation as resolved.
Show resolved Hide resolved
nod2_bay1: [11.0, -9.7, 4.8]
nod2_bay2: [11.0, -1.0, 4.8]
nod2_bay3: [10.0, 0.0, 4.8]
nod2_bay4: [9.0, 0.0, 4.8]
nod2_bay5: [7.8, 0.0, 4.8]
usl_bay0: [5.3, 0.0, 4.8]
usl_bay1: [4.7, 0.0, 4.8]
usl_bay2: [3.65, 0.0, 4.8]
usl_bay3: [2.6, 0.0, 4.8]
usl_bay4: [1.55, 0.0, 4.8]
usl_bay5: [0.5, 0.0, 4.8]
usl_bay6: [-0.5, 0.0, 4.8]

bays_move:
jem_bay1: ["-pos", "11 -4 4.8", "-att", "1.5708 0 0 1"]
Expand All @@ -45,23 +58,19 @@ bays_move:
jem_bay5: ["-pos", "11 -8 4.8", "-att", "-1.5708 0 0 1"]
jem_bay6: ["-pos", "11 -9 4.8", "-att", "-1.5708 0 0 1"]
jem_bay7: ["-pos", "11 -9.7 4.8", "-att", "-1.5708 0 0 1"]
jem_hatch_to_nod2: ["-pos", "11 -3.5 4.8", "-att", "1.5708 0 0 1"]
jem_hatch_from_nod2: ["-pos", "11 -3.5 4.8", "-att", "-1.5708 0 0 1"]
nod2_hatch_from_jem: ["-pos", "11 -1.0 4.8", "-att", "1.5708 0 0 1"]
nod2_hatch_to_jem: ["-pos", "11 -1.0 4.8", "-att", "-1.5708 0 0 1"]
jem_bay0: ["-pos", "11 -3.5 4.8", "-att", "-1.5708 0 0 1"]
nod2_bay1: ["-pos", "11 -1.0 4.8", "-att", "-1.5708 0 0 1"]
nod2_bay2: ["-pos", "11 0 4.8", "-att", "0 0 0 1"]
nod2_bay3: ["-pos", "10 0 4.8", "-att", "0 0 0 1"]
nod2_bay4: ["-pos", "9 0 4.8", "-att", "0 0 0 1"]
nod2_hatch_to_usl: ["-pos", "7.8 -3.5 4.8", "-att", "3.14 0 0 1"]
nod2_hatch_from_usl: ["-pos", "7.8 -3.5 4.8", "-att", "0 0 0 1"]
usl_hatch_from_nod2: ["-pos", "5.3 -1.0 4.8", "-att", "3.14 0 0 1"]
usl_hatch_to_nod2: ["-pos", "5.3 -1.0 4.8", "-att", "0 0 0 1"]
nod2_bay5: ["-pos", "7.8 0.0 4.8", "-att", "0 0 0 1"]
usl_bay0: ["-pos", "5.3 0.0 4.8", "-att", "0 0 0 1"]
usl_bay1: ["-pos", "4.7 0 4.8", "-att", "0 0 0 1"]
usl_bay2: ["-pos", "3.65 0 4.8", "-att", "0 0 0 1"]
usl_bay3: ["-pos", "2.6 0 4.8", "-att", "0 0 0 1"]
usl_bay4: ["-pos", "1.55 0 4.8", "-att", "0 0 0 1"]
usl_bay5: ["-pos", "0.5 0 4.8", "-att", "0 0 0 1"]
usl_bay6: ["-pos", "-0.5 0 4.8", "-att", "0 0 0 1"]
usl_bay4: ["-pos", "1.55 0 4.8", "-att", "3.14 0 0 1"]
usl_bay5: ["-pos", "0.5 0 4.8", "-att", "3.14 0 0 1"]
usl_bay6: ["-pos", "-0.5 0 4.8", "-att", "3.14 0 0 1"]
# berth approach points from gds_configs/IssWorld/BookmarksList.json
berth1: ["-pos", "10.5 -9.25 4.5", "-att", "0 0 0 1"]
berth2: ["-pos", "10.5 -9.75 4.5", "-att", "3.14 1 0 0"]
Expand All @@ -85,19 +94,20 @@ bays_pano:
usl_bay6: "isaac11/usl_bay6_std_panorama.txt"

maps:
jem: "iss.map"
nod2: "isaac.map"
usl: "usl_only.map"
jem: "/data/maps/20240320_lam.map"
nod2: "/data/maps/20240205_usl_abad.map"
usl: "/data/maps/20240205_usl_abad.map"

exposure:
jem: 175
nod2: 300
usl: 300

berth:
berth1: "1"
berth2: "2"

bogus_bays: [jem_bay0, jem_bay8]
bogus_bays: [jem_bay0, jem_bay8, nod2_bay1, nod2_bay5, usl_bay0, usl_bay7]
berths: [berth1, berth2]
robots: [bumble, honey]

Expand All @@ -116,3 +126,15 @@ stereo:
fplan: "ISAAC/jem_stereo_mapping_bay7_to_bay4"
base_location: jem_bay7
bound_location: jem_bay4
usl_bay1_to_bay3:
fplan: "ISAAC/usl_stereo_mapping_bay1_to_bay3"
base_location: usl_bay1
bound_location: usl_bay3
usl_bay6_to_bay4:
fplan: "ISAAC/usl_stereo_mapping_bay6_to_bay4"
base_location: usl_bay6
bound_location: usl_bay4
usl_bay1_to_bay6:
fplan: "ISAAC/usl_stereo_mapping_start_bay1"
base_location: usl_bay1
bound_location: usl_bay6
8 changes: 4 additions & 4 deletions astrobee/survey/survey_manager/data/jem_survey_dynamic.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ goals:
- {type: stereo, robot: bumble, order: 4, trajectory: jem_bay1_to_bay3}
# This is one of the goals we previously had to comment out for POPF to return a halfway decent
# plan. Adding a let_other_robot_reach goal mostly fixed the problem.
- {type: robot_at, robot: bumble, location: berth1_g}
- {type: robot_at, robot: bumble, location: berth1}

# This let_other_robot_reach goal is effectively a very specific kind of between-robot ordering
# constraint. It tells honey to let bumble get to bay 5 before taking its first panorama. Without
Expand All @@ -45,10 +45,10 @@ goals:
- {type: panorama, robot: honey, order: 3, location: jem_bay5}
# This is the other objective we previously had to comment out for POPF to return a decent plan.
- {type: stereo, robot: honey, order: 4, trajectory: jem_bay7_to_bay4}
- {type: robot_at, robot: honey, location: berth2_g}
- {type: robot_at, robot: honey, location: berth2}

init:
bumble:
location: berth1_g
location: berth1
honey:
location: berth2_g
location: berth2
53 changes: 53 additions & 0 deletions astrobee/survey/survey_manager/data/usl_survey_dynamic.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Copyright (c) 2023, United States Government, as represented by the
# Administrator of the National Aeronautics and Space Administration.
#
# All rights reserved.
#
# The "ISAAC - Integrated System for Autonomous and Adaptive Caretaking
# platform" software is licensed under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

# Example dynamic configuration info used when generating a PDDL problem. For now, this is goal
# conditions and initial state. A likely conops is that the initial version of this file for a
# specific activity would be hand-generated, but it might later be automatically regenerated by the
# survey manager when a replan is needed (remove completed/failed goals, add retry goals, update
# initial state to match actual current state, etc.) See also jem_survey_static.yaml.

goals:

- {type: panorama, robot: bumble, order: 1, location: usl_bay3}
- {type: panorama, robot: bumble, order: 2, location: usl_bay2}
- {type: panorama, robot: bumble, order: 3, location: usl_bay1}
# - {type: stereo, robot: bumble, order: 4, trajectory: usl_bay1_to_bay3}
# This is one of the goals we previously had to comment out for POPF to return a halfway decent
# plan. Adding a let_other_robot_reach goal mostly fixed the problem.
- {type: robot_at, robot: bumble, location: berth1}

# This let_other_robot_reach goal is effectively a very specific kind of between-robot ordering
# constraint. It tells honey to let bumble get to bay 5 before taking its first panorama. Without
# this constraint, POPF produces a very inefficient plan where bumble never leaves the dock until
# after honey finishes all its tasks and returns to dock. (It's safe to comment this out if the
# planner doesn't need the hint.)
# - {type: let_other_robot_reach, robot: honey, order: 0, location: jem_bay5}

- {type: panorama, robot: honey, order: 1, location: usl_bay6}
- {type: panorama, robot: honey, order: 2, location: usl_bay5}
- {type: panorama, robot: honey, order: 3, location: usl_bay4}
# This is the other objective we previously had to comment out for POPF to return a decent plan.
- {type: stereo, robot: honey, order: 4, trajectory: usl_bay1_to_bay6}
- {type: robot_at, robot: honey, location: berth2}

init:
bumble:
location: usl_bay1
honey:
location: usl_bay6
Loading
Loading