Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
543 commits
Select commit Hold shift + click to select a range
2b4a374
added filtered pc fcn
rsoussan Nov 22, 2021
9c06fbd
added helperfunctions for filtered pc and filtered pc with normals
rsoussan Nov 22, 2021
57e7088
cleaned up interfaces for icp depth odom and icp
rsoussan Nov 22, 2021
3ae5be0
cleaned up depth odom nodelet
rsoussan Nov 22, 2021
a44daa2
removed depth odom nodelet params
rsoussan Nov 22, 2021
4e511a0
cleaned up depth odom wrapper more
rsoussan Nov 22, 2021
bc73a95
cleaned up depth odom wrapper and nodelet
rsoussan Nov 23, 2021
5a11a32
renamed erase including to up to and including
rsoussan Nov 23, 2021
e967c8f
renamed jacobian to point to plane jacobian
rsoussan Nov 23, 2021
f85eb26
moved point to plane cov to utils
rsoussan Nov 23, 2021
79f71f0
removed compute from function names
rsoussan Nov 23, 2021
7d935d7
added point and normal conversion fcns
rsoussan Nov 23, 2021
d696824
made common least squares cov fcn
rsoussan Nov 23, 2021
fc4f5a8
added save correspondences fcn
rsoussan Nov 23, 2021
2ff55ea
moved point to plane cov to utils
rsoussan Nov 23, 2021
3430ddb
added icp correspondence struct, using this in p2plane icp
rsoussan Nov 23, 2021
5ea6a6d
modified rel trafo to have correspondences
rsoussan Nov 23, 2021
57942d0
added passing pose with cov and correspondeces from p2plane depth odom
rsoussan Nov 23, 2021
b3f762c
made depth odom msg, updated depth odom wrapper to use this
rsoussan Nov 23, 2021
53f9711
added conversion to depth odom msg
rsoussan Nov 24, 2021
7747d1f
added downsampled icp function
rsoussan Nov 24, 2021
4d6e33b
added optional downsampling for p2plane icp
rsoussan Nov 24, 2021
dbf8d6a
added param reader to vision common, started image feature aligner de…
rsoussan Nov 24, 2021
b11e57a
changed icp to not be a unique ptr
rsoussan Nov 24, 2021
700049c
added image features with known correspondences aligner
rsoussan Nov 29, 2021
08293e7
added returning correspondence in image feature alginer
rsoussan Nov 29, 2021
f26bb69
changed pcc to pc
rsoussan Nov 29, 2021
f91f0b7
added boost optional normals for pc aligner
rsoussan Nov 29, 2021
fa8365c
started pcc test
rsoussan Nov 29, 2021
17c22aa
fixed pcl include
rsoussan Nov 29, 2021
551286e
added point to point jacobian test
rsoussan Nov 29, 2021
d951c19
added valid point checks
rsoussan Nov 29, 2021
8c2a31e
added zero normal check, approx zero test
rsoussan Nov 29, 2021
52cdee2
added conversion tests
rsoussan Nov 30, 2021
bd5a968
added removenansandzeros test
rsoussan Nov 30, 2021
8820e5c
renamed remove nans and zeros to remove invalid and zero
rsoussan Nov 30, 2021
6328fbe
added filtered pc cloud test
rsoussan Nov 30, 2021
98066dd
added filtered pc with normals test
rsoussan Nov 30, 2021
b594af3
added invalid points check, changed assert to expect
rsoussan Nov 30, 2021
909a62e
added more invalid pt tests
rsoussan Nov 30, 2021
b6d7c2f
templated get normals, added test
rsoussan Nov 30, 2021
3a14987
added filter correspondences test
rsoussan Nov 30, 2021
982bbc6
added downsample test
rsoussan Nov 30, 2021
4c7d3f8
added interpolate test
rsoussan Nov 30, 2021
37ca677
added lu inverse to cov computation, return boost optional in case of…
rsoussan Nov 30, 2021
d1878a3
started umeyama tests
rsoussan Nov 30, 2021
7a56a3c
renamed test utils in pcc
rsoussan Nov 30, 2021
5f4e237
starting adding test utils
rsoussan Nov 30, 2021
a5ac607
added helper fcns to test utils
rsoussan Dec 1, 2021
efcaef0
added umeyama test
rsoussan Dec 1, 2021
0213767
started icp test
rsoussan Dec 1, 2021
123626e
fixed cmake pcc
rsoussan Dec 1, 2021
0431288
templated correspondence estimator
rsoussan Dec 1, 2021
c3e73ca
templated point to plane icp
rsoussan Dec 1, 2021
c16944d
templated icp
rsoussan Dec 1, 2021
2b15c42
fixed p2plane icp test
rsoussan Dec 1, 2021
e7251f0
added symmetric cost test
rsoussan Dec 1, 2021
f7b3e84
added random points test
rsoussan Dec 1, 2021
1923117
added corresp rejector test
rsoussan Dec 1, 2021
d2f817c
added correspondence test to p2plane icp
rsoussan Dec 1, 2021
b8189bf
added downsample icp test
rsoussan Dec 1, 2021
aec76ea
added coarse to fine test
rsoussan Dec 1, 2021
ea4b0f9
fixed coarse to fine inversion bug
rsoussan Dec 1, 2021
52a1a90
fixed notation for point to plane icp to use source and target frames…
rsoussan Dec 1, 2021
0d87a55
started pwkca tests
rsoussan Dec 2, 2021
f202354
added default pwka params fcn
rsoussan Dec 2, 2021
38b4bf6
added transform points with normals fcn
rsoussan Dec 2, 2021
0f0a142
added option to pass initial source_T_target to pwkca
rsoussan Dec 2, 2021
5ed0619
added wrapper for pwka compute rel trafo
rsoussan Dec 2, 2021
8c8f75f
added inverting umeyama estimate and estimate for opt vector
rsoussan Dec 2, 2021
f61c066
added frame notation to cov and umeyama fcns
rsoussan Dec 2, 2021
a3ab9f5
updated frames in pwkca, fixed cov calls
rsoussan Dec 2, 2021
dd7afb9
updated cov call in icp
rsoussan Dec 2, 2021
238dec2
updated pwka test
rsoussan Dec 2, 2021
2b0059d
updated icp to take target_T_source
rsoussan Dec 2, 2021
7844e68
updated target_T_source in icp test
rsoussan Dec 2, 2021
a59ab77
fixed corr icp test
rsoussan Dec 2, 2021
6b589f0
changed pwka to use target_T_source
rsoussan Dec 2, 2021
df05d76
fixed pwka test
rsoussan Dec 2, 2021
9968d61
added invert pose with cov, updated depth odom to invert rel trafos
rsoussan Dec 2, 2021
e4676ff
added frames to point 2 x residuals
rsoussan Dec 2, 2021
68ff822
fixed symmetric cost functoin
rsoussan Dec 2, 2021
7e5e1f9
added pwcka random pts test
rsoussan Dec 2, 2021
d0b03a4
added p2plane pwkca test
rsoussan Dec 2, 2021
0738932
added symm p2plane pwkca test
rsoussan Dec 2, 2021
fdeb037
added noise in pwka tests
rsoussan Dec 2, 2021
9c3d68c
added pwka umeyama tests
rsoussan Dec 2, 2021
92f7f6b
increased expected accuracy in pwkca tests
rsoussan Dec 2, 2021
8d9e905
added fcn to get cov in pwka
rsoussan Dec 2, 2021
7c91522
added single bool check to pwka params
rsoussan Dec 2, 2021
eb8e7f2
added depth image test
rsoussan Dec 3, 2021
e90d2c8
added more depth image tests
rsoussan Dec 3, 2021
5787c57
added interp test to depth image
rsoussan Dec 3, 2021
c28ec11
added some frame change rel pose tests
rsoussan Dec 3, 2021
7abe518
added frame change rel rotation tests
rsoussan Dec 3, 2021
a7d9eda
added tmp frame change rel cov
rsoussan Dec 3, 2021
9fbad77
added rot test for frame change
rsoussan Dec 3, 2021
01c06e0
started depth odom p2plane icp test
rsoussan Dec 3, 2021
a64d96a
made pcc test utils lib
rsoussan Dec 3, 2021
8ce4a5d
removed pcc test utils package
rsoussan Dec 3, 2021
c8300f4
added depth odom test utils
rsoussan Dec 4, 2021
2bec80c
added transform depth image fcn
rsoussan Dec 4, 2021
11de844
added default icp depth odom params
rsoussan Dec 4, 2021
a8538e1
updated icp depth odom test
rsoussan Dec 4, 2021
26e0ca9
added default depth odom params
rsoussan Dec 4, 2021
f4fd7f7
fixed serach radius in icp depth odom test
rsoussan Dec 4, 2021
0afa823
fixed param init order in p2p do
rsoussan Dec 4, 2021
33d1552
added more icp p2p do tests
rsoussan Dec 4, 2021
6e39c44
started do wrapper test
rsoussan Dec 4, 2021
1cdeb7f
added 3rd measurement test to icp do test
rsoussan Dec 4, 2021
e336fa2
increased icp do accuracy
rsoussan Dec 4, 2021
53ed18b
added cubic and image msgs
rsoussan Dec 4, 2021
1471824
added trafo pts msg fcn
rsoussan Dec 4, 2021
f119bed
added default depth odom wrapper params
rsoussan Dec 4, 2021
7682e55
added params constructor to do wrapper, added icp and image features …
rsoussan Dec 5, 2021
176a387
updated image and pc sizing
rsoussan Dec 5, 2021
c342be4
updated depth odom wrapper test
rsoussan Dec 5, 2021
89ac50f
fixed pcl issue with timestamp
rsoussan Dec 5, 2021
186e1ff
fixed depth odom wrapper test params
rsoussan Dec 6, 2021
df62da4
added check for result in depth odom wrapper test
rsoussan Dec 6, 2021
64114c1
added frames to depth odom msg
rsoussan Dec 6, 2021
6e7f4d9
fixed typo in depth odom wrapper
rsoussan Dec 6, 2021
4fa3236
added check for body f in depth odom wrapper test
rsoussan Dec 6, 2021
25303a8
added third measurement tests to do wrapper test
rsoussan Dec 6, 2021
e5feec1
added sym and cor tests to do wrapper
rsoussan Dec 6, 2021
0b8438d
started vision common tests
rsoussan Dec 6, 2021
888570c
updated vision common tests
rsoussan Dec 6, 2021
4784187
updated lk vision common test
rsoussan Dec 6, 2021
9d96956
updated vc lk test
rsoussan Dec 6, 2021
8084fb2
added good features to track params
rsoussan Dec 6, 2021
37e4135
updated lk test
rsoussan Dec 6, 2021
9f7d3bb
moved test utils in vision common
rsoussan Dec 6, 2021
245bf59
started image feature do test
rsoussan Dec 6, 2021
1349570
added default image feature do params
rsoussan Dec 6, 2021
4b98b6b
added create feature image fcn
rsoussan Dec 6, 2021
b529836
added image feature do fcn
rsoussan Dec 6, 2021
ea6fa4f
added offset image depth image meas fcn
rsoussan Dec 6, 2021
d896949
updated image feature do test
rsoussan Dec 6, 2021
350e707
fixed test utils bug in do
rsoussan Dec 6, 2021
041e62f
using row/col notation in image features test
rsoussan Dec 6, 2021
eee3714
fixed col bug in test utils
rsoussan Dec 6, 2021
29f3919
using points from image size in test utils
rsoussan Dec 6, 2021
45f6503
fixed bug in do test utils
rsoussan Dec 6, 2021
13b116b
updated image feature do test
rsoussan Dec 6, 2021
5a88610
added correspondence check in image feature do
rsoussan Dec 7, 2021
93e0b4d
fixed param ordering
rsoussan Dec 7, 2021
07f416a
fixed normals bug in image feature do
rsoussan Dec 7, 2021
cfabf2b
fixed do feature test
rsoussan Dec 7, 2021
253f458
added symm p2plane image features test
rsoussan Dec 7, 2021
600f94d
added umeyama feature do test
rsoussan Dec 7, 2021
0c06ed8
added umeyama initial guess test
rsoussan Dec 7, 2021
8dda70f
added do image feature wraper test
rsoussan Dec 7, 2021
6d02a9b
added 3rd measurement to image feature do test
rsoussan Dec 7, 2021
3782120
added more image feature do tests
rsoussan Dec 7, 2021
3020889
updated depth odom adder in graph bag
rsoussan Dec 7, 2021
e084ed7
fixed depth odom adder
rsoussan Dec 7, 2021
9136941
fixed pwkca options checking
rsoussan Dec 7, 2021
25fe903
fixed boost po options help printing
rsoussan Dec 7, 2021
c418c3d
updated graph bag scripts
rsoussan Dec 7, 2021
dc2e5cc
reverted l2_map fcn in plot results
rsoussan Dec 7, 2021
affb161
moved depth corr to loc meas. added depth odom meas
rsoussan Dec 7, 2021
a909de2
added depth odom conversion fcns
rsoussan Dec 7, 2021
b74fc89
added depth odom factor adder
rsoussan Dec 7, 2021
6a40515
added depth odom factor adder param loading
rsoussan Dec 7, 2021
42c4fee
Added depth odom adder to graph loc
rsoussan Dec 7, 2021
6c27c38
added depth odom msg callback to graph loc wrapper
rsoussan Dec 7, 2021
763d8da
added depth odom to graph loc nodelet
rsoussan Dec 7, 2021
733eb3b
added depth odom to graph bag tools
rsoussan Dec 7, 2021
b278694
added point to point between factor
rsoussan Dec 8, 2021
eede749
started p2p between factor unit test
rsoussan Dec 8, 2021
21817e4
updated p2p between factor unit test
rsoussan Dec 8, 2021
d529059
added more p2p between factor tests
rsoussan Dec 8, 2021
507fb40
added more do factor adder params
rsoussan Dec 8, 2021
acaad7a
started logic for points betwen factor in do point factor adder
rsoussan Dec 8, 2021
317e1d7
added outlier rejection and noise params to depth odom factor adder
rsoussan Dec 8, 2021
eca004a
added pose norm outlier rejection
rsoussan Dec 8, 2021
55b9095
fixed threshold typo
rsoussan Dec 8, 2021
79367ed
started do factor adder test
rsoussan Dec 8, 2021
9f8c4de
updted do factor adder tester
rsoussan Dec 8, 2021
f11d437
added pose check to do factor adder test
rsoussan Dec 8, 2021
153600b
added invalid pose test
rsoussan Dec 8, 2021
d844b53
added do factor adder points test
rsoussan Dec 8, 2021
5d08579
changed depth odom adder to save all msgs from original bag
rsoussan Dec 8, 2021
a73ed94
added time to depth odom msg
rsoussan Dec 8, 2021
2b5e725
added timing script
rsoussan Dec 9, 2021
c319ebc
updated leaf size in do
rsoussan Dec 9, 2021
9216060
fixed not loading depth odom params bug
rsoussan Dec 9, 2021
b889f02
added option to save all topics in depth odom adder
rsoussan Dec 9, 2021
aaeadfa
added depth odom to stats
rsoussan Dec 9, 2021
ab54eb2
added missing depth odom callback to graph loc simulator
rsoussan Dec 9, 2021
e9f8f6f
added mssing depth odom topic to graph bag
rsoussan Dec 9, 2021
b2b9ce8
added depth odom to graph stats
rsoussan Dec 9, 2021
dd8866c
added max num point between factors option
rsoussan Dec 9, 2021
df8f7b1
fixed invalid graph check
rsoussan Dec 9, 2021
9ce8896
updated loc depth odom rviz plugin
rsoussan Dec 10, 2021
bfc77f7
updated depth odom display to not use buffer
rsoussan Dec 10, 2021
b148f7f
updated depth odom display
rsoussan Dec 10, 2021
e56b6fb
updated measurenet buffer to return const refs
rsoussan Dec 10, 2021
98db181
added pcl conversions dep
rsoussan Dec 10, 2021
5f63ae0
added pcl conversions dep to loc measurements
rsoussan Dec 13, 2021
5084b92
removed calibrator
rsoussan Dec 13, 2021
dc6f0c3
added pcl conversoins to find package
rsoussan Dec 13, 2021
30e0d34
black format of python scripts
rsoussan Dec 13, 2021
48606ca
isort fixes
rsoussan Dec 13, 2021
524bf87
added missing boost optional header
rsoussan Dec 13, 2021
eb3c0f5
Merge branch 'depth_odometry_image_features_3d_points' of https://git…
rsoussan Dec 13, 2021
fe9204c
pcl conversions fix
rsoussan Dec 13, 2021
496d13f
removed config
rsoussan Dec 13, 2021
2236964
pcl conversions file
rsoussan Dec 13, 2021
2fe9f47
blew up cov thresholds in do
rsoussan Dec 13, 2021
9981a64
fixed pcc plugin
rsoussan Dec 13, 2021
578804c
updated playback
rsoussan Dec 14, 2021
9b6a1b4
fixed test utilities include
rsoussan Dec 14, 2021
b46256b
updated package deps
rsoussan Dec 14, 2021
1d57be6
updated opencv term crit to be more recent impl
rsoussan Dec 14, 2021
f040bda
set rel pose to default graph loc for depth odom factor
rsoussan Dec 14, 2021
f190ec0
added do support to replay tools
rsoussan Dec 14, 2021
1f881ad
added get msg stats script
rsoussan Dec 14, 2021
f82f0b7
updated symm p2plane to have 2 suffix
rsoussan Dec 14, 2021
3ac1bd3
added depth odom to launch files
rsoussan Dec 14, 2021
b70b996
added fix for lk matcher
rsoussan Dec 14, 2021
e91d0b5
added point stamped header to loc rviz plugin
rsoussan Dec 14, 2021
0aefb9c
formated get_msg_stats.py
rsoussan Dec 14, 2021
615f773
added frame id for depth corr msg
rsoussan Dec 14, 2021
c5ad7a1
fixing distorting already distorted points in loc rviz plugin, rename…
rsoussan Dec 14, 2021
eabaf27
changed lk min distance
rsoussan Dec 14, 2021
287299b
added cov rejection in depth odom adder
rsoussan Dec 14, 2021
1a9ab36
removed robot description from loc rviz launch
rsoussan Dec 14, 2021
58f89b2
increased depth odom adder noise scale
rsoussan Dec 14, 2021
8561b5e
fixed some install issues
rsoussan Dec 15, 2021
0315365
fixed missing cov threshold in loc test
rsoussan Dec 15, 2021
ec85d3d
fixed bug in do adder for eign auto, updated do test
rsoussan Dec 15, 2021
76c957a
added additional libraries to package lists
rsoussan Dec 16, 2021
788283a
updated graph bag cmake
rsoussan Dec 16, 2021
f87d012
added more pcl deps
rsoussan Dec 16, 2021
c6037c1
moved distorters to vision common
rsoussan Dec 17, 2021
43cd6a7
moved calib fcns to vision common
rsoussan Dec 17, 2021
9579340
fixed vision common tests
rsoussan Dec 17, 2021
7742a46
moved test utils in vision common to include and src
rsoussan Dec 17, 2021
c0c385a
updated vision common readme
rsoussan Dec 20, 2021
6a42471
Merge branch 'develop' of https://github.com/nasa/astrobee into depth…
rsoussan Dec 20, 2021
a97863b
updated point cloud common readme
rsoussan Dec 20, 2021
ce033c4
updated depth odometry readme and added opt common readme
rsoussan Dec 20, 2021
e505a62
reverted submodule changes
rsoussan Dec 20, 2021
875b700
increased block size to 5
rsoussan Dec 22, 2021
ecb1506
fixed downsample before running icp bug
rsoussan Dec 22, 2021
30ebc60
fixed local ceres path in opt comomn
rsoussan Dec 22, 2021
ca3d3cb
updated configs and fixed callback size
rsoussan Dec 23, 2021
7380a1f
fixed pcl_conversions including
rsoussan Dec 23, 2021
880975d
Merge branch 'develop' into depth_odometry_image_features_with_pcl_fix
rsoussan Dec 29, 2021
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
11 changes: 11 additions & 0 deletions astrobee/config/graph_localizer.config
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,15 @@ handrail_adder_min_num_plane_matches = 1
handrail_adder_point_to_line_stddev = 0.1
handrail_adder_point_to_plane_stddev = 0.1
handrail_adder_use_silu_for_point_to_line_segment_factor = false
-- Depth Odometry Factor
depth_odometry_adder_enabled = true
depth_odometry_adder_noise_scale = 10
depth_odometry_adder_use_points_between_factor = false
depth_odometry_adder_point_to_point_error_threshold = 10.0
depth_odometry_adder_position_covariance_threshold = 1
depth_odometry_adder_orientation_covariance_threshold = 1
depth_odometry_adder_pose_translation_norm_threshold = 3.0
depth_odometry_adder_max_num_points_between_factors = 10
-- IMU integration
-- none, ButterOxSxLpxNx, where O is order, S is sample rate, Lp is low pass cutoff, N is notch
-- Note that notch depends on the sample rate and aliasing
Expand All @@ -171,6 +180,8 @@ max_optical_flow_buffer_size = 20
max_vl_buffer_size = 10
-- AR ~1 Hz
max_ar_buffer_size = 10
-- Depth Odometry ~2 Hz
max_depth_odometry_buffer_size = 10
-- DL ~1 Hz
max_dl_buffer_size = 10
-- Other
Expand Down
122 changes: 122 additions & 0 deletions astrobee/config/localization/depth_odometry.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
-- Copyright (c) 2017, United States Government, as represented by the
-- Administrator of the National Aeronautics and Space Administration.
--
-- All rights reserved.
--
-- The Astrobee platform 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.

require "context"

-- Max time diff between successive depth measurements
max_time_diff = 10

-- Max time diff for correlating image and point cloud measurements to create a depth measurement
-- This ideally have the same timestamp but sometimes vary slightly even though they are from
-- the same measurement
max_image_and_point_cloud_time_diff = 0.05

-- Covariance thresholds for rejecting relative odometry result
position_covariance_threshold = 100
orientation_covariance_threshold = 100

-- icp or image_feature
depth_odometry_method = "image_feature"

-- ICP options

-- Search radius for each point in ICP
search_radius = 0.04

symmetric_objective = true
-- Only applicable for symmetric objective
enforce_same_direction_normals = true

-- ICP fitness score threshold for rejecting ICP result
fitness_threshold = 1
max_iterations = 10

-- Use RANSAC AI algorithm to compute initial estimate
inital_estimate_with_ransac_ia = false

correspondence_rejector_surface_normal = true
-- Threshold for cos(theta) where theta is the angle between two normals. Range from [0,1]
-- The closer to 1, the more aligned the normals are
correspondence_rejector_surface_normal_threshold = 0.75


-- Downsample options
downsample = true
downsample_leaf_size = 0.02

-- coarse to fine options for ICP
coarse_to_fine = false
num_coarse_to_fine_levels = 1
coarse_to_fine_downsample_ratio = 0.5
-- Final (smallest) leaf size
coarse_to_fine_final_leaf_size = 0.02
downsample_last_coarse_to_fine_iteration = true

-- Depth image aligner options

-- brisk, surf, lk_optical_flow
detector = "lk_optical_flow"
-- Brisk detector options
brisk_threshold = 120
brisk_octaves = 4
brisk_float_pattern_scale = 1
-- Brisk matching options
brisk_max_match_hamming_distance = 100
brisk_flann_table_number = 3
brisk_flann_key_size = 18
brisk_flann_multi_probe_level = 2
-- Surf options
surf_threshold = 1000
surf_max_match_distance = 0.25
-- LK optical flow options
lk_max_iterations = 10
lk_termination_epsilon = 0.03
lk_window_width = 10
lk_window_height = 10
lk_max_level = 3
lk_min_eigen_threshold = 0.2
lk_max_flow_distance = 50
lk_max_backward_match_distance = 0.1
-- Good features to track options
lk_max_corners = 100
lk_quality_level = 0.01
lk_min_distance = 10
lk_block_size = 5
lk_use_harris_detector = false
lk_k = 0.04

-- CLAHE histogram equalization options
use_clahe = true
clahe_grid_length = 8
clahe_clip_limit = 40
-- Other
min_x_distance_to_border = 10
min_y_distance_to_border = 10
min_num_inliers = 5

-- Point cloud with known correspondences aligner
pcwkca_max_num_iterations = 100
pcwkca_function_tolerance = 1e-6
pcwkca_max_num_match_sets = 10000000
pcwkca_normal_search_radius = 0.03
pcwkca_use_umeyama_initial_guess = false
pcwkca_use_single_iteration_umeyama = false
pcwkca_use_point_to_plane_cost = false
pcwkca_use_symmetric_point_to_plane_cost = false
pcwkca_verbose_optimization = false

publish_point_clouds = false
3 changes: 3 additions & 0 deletions astrobee/config/tools/graph_bag.config
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ imu_min_msg_spacing = 0
-- flight_mode
flight_mode_msg_delay = 0
flight_mode_min_msg_spacing = 0
-- depth odometry
depth_odometry_msg_delay = 0
depth_odometry_min_msg_spacing = 0
-- optical flow
of_msg_delay = 0
of_min_msg_spacing = 0
Expand Down
2 changes: 2 additions & 0 deletions astrobee/launch/astrobee.launch
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
<!-- Remaining options -->
<arg name="output" default="log" /> <!-- Output to screen or log -->
<arg name="ground_truth_localizer" default="false" /> <!-- Use Ground Truth Localizer -->
<arg name="depth_odometry" default="false" /> <!-- Run depth odometry node -->
<arg name="drivers" default="true" /> <!-- Should we launch drivers? -->
<arg name="sim" default="local" /> <!-- SIM IP address -->
<arg name="llp" default="local" /> <!-- LLP IP address -->
Expand Down Expand Up @@ -154,6 +155,7 @@
<arg name="debug" value="$(arg debug)" /> <!-- Debug node group -->
<arg name="output" value="$(arg output)" />
<arg name="ground_truth_localizer" value="$(arg ground_truth_localizer)" />
<arg name="depth_odometry" value="$(arg depth_odometry)" />
</include>

<!-- If we have specified a bag, then play it back into flight software-->
Expand Down
2 changes: 0 additions & 2 deletions astrobee/launch/offline_localization/loc_rviz.launch
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@
<env name="ASTROBEE_CONFIG_DIR" value="$(find astrobee)/config" />
<env name="ASTROBEE_RESOURCE_DIR" value="$(find astrobee)/resources" />

<param name="robot_description" command="$(find xacro)/xacro --inorder $(find rviz_visualizer)/model/astrobee_model.urdf" />

<group if="$(eval arg('world') == 'iss')">
<node type="rviz" name="rviz" pkg="rviz" args="-d $(find astrobee)/resources/rviz/loc_iss.rviz" />
<param name="/iss/robot_description" textfile="$(find astrobee_iss)/urdf/model.urdf" />
Expand Down
12 changes: 10 additions & 2 deletions astrobee/launch/offline_localization/localization_from_bag.launch
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,14 @@
<!-- Command line arguments -->
<arg name="bagfile"/>
<arg name="record" default="false" />
<arg name="imu_augmentor" default="false" />
<arg name="imu_augmentor" default="true" />
<arg name="depth_odometry" default="false" />
<arg name="robot" default="bumble" />
<arg name="world" default="iss" />
<arg name="localization_manager" default="false" />
<arg name="service_calls" default="true" unless="$(arg localization_manager)"/>
<arg name="service_calls" value="false" if="$(arg localization_manager)" />
<arg name="image_features" default="false" />
<arg name="image_features" default="true" />


<!-- Set environment configs that are required to run nodes -->
Expand Down Expand Up @@ -79,6 +80,13 @@
</include>
</group>

<!-- Run depth odometry if required -->
<group if="$(arg depth_odometry)">
<include file="$(find depth_odometry)/launch/depth_odometry.launch">
<arg name="terminal" value="terminator -x"/>
</include>
</group>

<!-- Play bagfile -->
<include file="$(find astrobee)/launch/offline_localization/replay_localization.launch">
<arg name="bagfile" value="$(arg bagfile)"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@
<launch>
<arg name="output_bagfile"/>
<arg name="terminal" default="" />
<node pkg="rosbag" type="record" name="recorder" output="screen" launch-prefix="$(arg terminal)" args="/graph_loc/state /graph_loc/graph /sparse_mapping/pose /loc/ml/features /loc/of/features /ar_tag/pose /gnc/ekf /imu_bias_tester/pose -O $(arg output_bagfile)"/>
<node pkg="rosbag" type="record" name="recorder" output="screen" launch-prefix="$(arg terminal)" args="/graph_loc/state /graph_loc/graph /sparse_mapping/pose /loc/ml/features /loc/of/features /ar_tag/pose /gnc/ekf /imu_bias_tester/pose /loc/depth/odom -O $(arg output_bagfile)"/>
</launch>
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@
<remap from="/mgt/img_sampler/nav_cam/image_record" to="/hw/cam_nav"/>
<remap from="/gnc/ekf" to="/bag/gnc/ekf"/>

<node pkg="rosbag" type="play" name="player" output="screen" launch-prefix="$(arg terminal)" args="--clock $(arg bagfile) --topics /hw/imu /hw/cam_nav /mgt/img_sampler/nav_cam/image_record /mob/flight_mode /loc/ar/features $(arg image_feature_topics)" />
<node pkg="rosbag" type="play" name="player" output="screen" launch-prefix="$(arg terminal)" args="--clock $(arg bagfile) --topics /hw/imu /hw/cam_nav /hw/depth_haz/extended/amplitude_int /hw/depth_haz/points /mgt/img_sampler/nav_cam/image_record /mob/flight_mode /loc/ar/features /loc/depth/odom $(arg image_feature_topics)" />
</launch>
13 changes: 13 additions & 0 deletions astrobee/launch/robot/MLP.launch
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
<arg name="dds" default="true"/> <!-- Should DDS be started -->
<arg name="output" default="log"/> <!-- Where nodes should log -->
<arg name="ground_truth_localizer" default="false"/> <!-- Runs ground_truth localizer -->
<arg name="depth_odometry" default="false"/> <!-- Runs depth odometry node -->

<!-- Setup nodelet managers -->
<group if="$(eval optenv('ASTROBEE_NODEGRAPH','')=='')">
Expand Down Expand Up @@ -86,6 +87,18 @@
<arg name="debug" value="$(arg debug)" />
<arg name="default" value="true" />
</include>
<group if="$(arg depth_odometry)">
<include file="$(find ff_util)/launch/ff_nodelet.launch">
<arg name="class" value="depth_odometry/DepthOdometryNodelet" />
<arg name="name" value="depth_odometry_nodelet" />
<arg name="manager" value="mlp_vision" />
<arg name="spurn" value="$(arg spurn)" />
<arg name="nodes" value="$(arg nodes)" />
<arg name="extra" value="$(arg extra)" />
<arg name="debug" value="$(arg debug)" />
<arg name="default" value="true" />
</include>
</group>

<!-- Run ground_truth_localizer, otherwise run graph localizer -->
<group unless="$(arg ground_truth_localizer)">
Expand Down
2 changes: 2 additions & 0 deletions astrobee/launch/sim.launch
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
<arg name="rec" default="" /> <!-- Record local data -->
<arg name="dds" default="true" /> <!-- Enable DDS -->
<arg name="ground_truth_localizer" default="false" /> <!-- Use Ground Truth Localizer -->
<arg name="depth_odometry" default="false" /> <!-- Run depth odometry node-->

<!-- General options -->
<arg name="gviz" default="false" /> <!-- Start GNC visualizer -->
Expand Down Expand Up @@ -158,6 +159,7 @@
<arg name="mlp" value="$(arg mlp)" /> <!-- MLP IP address -->
<arg name="dds" value="$(arg dds)" /> <!-- Enable DDS -->
<arg name="ground_truth_localizer" value="$(arg ground_truth_localizer)" /> <!-- Use Ground Truth Localizer -->
<arg name="depth_odometry" value="$(arg depth_odometry)" /> <!-- Run depth odometry node -->
</include>
</group>

Expand Down
2 changes: 2 additions & 0 deletions astrobee/launch/spawn.launch
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
<arg name="mlp" default="local" /> <!-- MLP IP address -->
<arg name="dds" default="true" /> <!-- Enable DDS -->
<arg name="ground_truth_localizer" default="false" /> <!-- Use Ground Truth Localizer -->
<arg name="depth_odometry" default="false" /> <!-- Run depth odometry node -->

<!-- General options -->
<arg name="gviz" default="false" /> <!-- Start GNC visualizer -->
Expand Down Expand Up @@ -87,6 +88,7 @@
<arg name="mlp" value="$(arg mlp)" /> <!-- MLP IP address -->
<arg name="dds" value="$(arg dds)" /> <!-- Enable DDS -->
<arg name="ground_truth_localizer" value="$(arg ground_truth_localizer)" /> <!-- Use Ground Truth Localizer -->
<arg name="depth_odometry" value="$(arg depth_odometry)" /> <!-- Run depth odometry node -->
</include>

</launch>
21 changes: 21 additions & 0 deletions communications/ff_msgs/msg/DepthCorrespondence.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright (c) 2017, United States Government, as represented by the
# Administrator of the National Aeronautics and Space Administration.
#
# All rights reserved.
#
# The Astrobee platform 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.
#
ImagePoint source_image_point
ImagePoint target_image_point
geometry_msgs/Point source_3d_point
geometry_msgs/Point target_3d_point
24 changes: 24 additions & 0 deletions communications/ff_msgs/msg/DepthOdometry.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright (c) 2017, United States Government, as represented by the
# Administrator of the National Aeronautics and Space Administration.
#
# All rights reserved.
#
# The Astrobee platform 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.
#

Header header
ff_msgs/Odometry odometry
ff_msgs/DepthCorrespondence[] correspondences
bool valid_image_points
bool valid_points_3d
float32 runtime
20 changes: 20 additions & 0 deletions communications/ff_msgs/msg/ImagePoint.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright (c) 2017, United States Government, as represented by the
# Administrator of the National Aeronautics and Space Administration.
#
# All rights reserved.
#
# The Astrobee platform 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.
#

float32 x
float32 y
22 changes: 22 additions & 0 deletions communications/ff_msgs/msg/Odometry.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright (c) 2017, United States Government, as represented by the
# Administrator of the National Aeronautics and Space Administration.
#
# All rights reserved.
#
# The Astrobee platform 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.
#

time source_time
time target_time
geometry_msgs/PoseWithCovariance sensor_F_source_T_target
geometry_msgs/PoseWithCovariance body_F_source_T_target
1 change: 1 addition & 0 deletions localization/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ add_subdirectory(optimization_common)
add_subdirectory(sparse_mapping)

if (USE_ROS)
add_subdirectory(depth_odometry)
add_subdirectory(graph_localizer)
add_subdirectory(ground_truth_localizer)
add_subdirectory(imu_augmentor)
Expand Down
Loading