Skip to content

Commit

Permalink
Release 0.14.3 (#191)
Browse files Browse the repository at this point in the history
 * Rotation fallback fix
  * Unified install instructions and Ubuntu 18 nasa install
  * Various other minor fixes
  * Note, Perching does not work in this release, use another version for this.
  • Loading branch information
bcoltin authored Jun 2, 2021
1 parent 30b91e3 commit c849666
Show file tree
Hide file tree
Showing 233 changed files with 5,865 additions and 3,102 deletions.
9 changes: 5 additions & 4 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:

jobs:
build_and_push_docs:
runs-on: ubuntu-latest
runs-on: ubuntu-18.04

steps:
- name: Checkout
Expand All @@ -22,9 +22,10 @@ jobs:
ref: gh-pages
- name: Install dependencies
run: |
sudo apt-get install python-bson
sudo apt-get install flex
sudo apt-get install graphviz
sudo apt-get install -y bison
sudo apt-get install -y flex
sudo apt-get install -y graphviz
sudo apt-get install -y python-setuptools
- name: Install doxygen
run: |
wget 'https://sourceforge.net/projects/doxygen/files/rel-1.8.20/doxygen-1.8.20.src.tar.gz'
Expand Down
25 changes: 22 additions & 3 deletions 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.14.1)
set(ASTROBEE_VERSION 0.14.3)

# Define our options
option(USE_CCACHE
Expand Down Expand Up @@ -209,9 +209,17 @@ find_package(Gflags REQUIRED)
ADD_DEFINITIONS(-DFREEFLYER_GFLAGS_NAMESPACE=${GFLAGS_NAMESPACE})
enable_testing()

if (USE_CTC)
find_program(LSB_RELEASE_EXEC lsb_release)
execute_process(COMMAND "${LSB_RELEASE_EXEC}" --short --codename OUTPUT_VARIABLE LSB_RELEASE_VERSION_SHORT OUTPUT_STRIP_TRAILING_WHITESPACE)
if("${LSB_RELEASE_VERSION_SHORT}" STREQUAL "bionic")
set(Protobuf_PROTOC_EXECUTABLE /usr/local/bin/protoc)
endif()
endif (USE_CTC)

find_package(Protobuf REQUIRED)
if (NOT PROTOBUF_PROTOC_EXECUTABLE)
message(FATAL_ERROR "Could not find system's protoc execuable")
message(FATAL_ERROR "Could not find system's protoc executable")
endif (NOT PROTOBUF_PROTOC_EXECUTABLE)

find_package(Ceres REQUIRED)
Expand Down Expand Up @@ -239,6 +247,11 @@ if (${OpenCV_VERSION} MATCHES "3.3.1")
endif()
endforeach(__cvcomponent)
endif()
if (USE_CTC)
foreach(__cvcomponent ${OpenCV_LIB_COMPONENTS})
set(OpenCV_LIBS ${OpenCV_LIBS} "${OpenCV_INSTALL_PATH}/lib/arm-linux-gnueabihf/lib${__cvcomponent}3.so")
endforeach(__cvcomponent)
endif (USE_CTC)
set(OpenCV_LIBRARIES ${OpenCV_LIBS})

find_package(dbow2 REQUIRED)
Expand Down Expand Up @@ -308,7 +321,13 @@ if (USE_CTC)
endif (USE_CTC)
if (USE_ROS)
set(ENV{ROS_LANG_DISABLE} "genlisp:gennodejs:geneus:$ENV{ROS_LANG_DISABLE}")
find_package(catkin2 COMPONENTS roscpp message_generation std_msgs geometry_msgs sensor_msgs cv_bridge image_transport tf tf2 tf2_ros rosbag nodelet rviz)

if (USE_CTC)
find_package(catkin2 COMPONENTS roscpp message_generation std_msgs geometry_msgs sensor_msgs cv_bridge image_transport tf tf2 tf2_ros rosbag nodelet)
else ()
find_package(catkin2 COMPONENTS roscpp message_generation std_msgs geometry_msgs sensor_msgs cv_bridge image_transport tf tf2 tf2_ros rosbag nodelet rviz)
endif (USE_CTC)

find_package(Qt5 ${rviz_QT_VERSION} REQUIRED Core Widgets)

if (IS_BAMBOO_BUILD)
Expand Down
7 changes: 7 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Releases

## Release 0.14.3

* Rotation fallback fix
* Unified install instructions and Ubuntu 18 nasa install
* Various other minor fixes
* Note, Perching does not work in this release, use another version for this.

## Release 0.14.1

* Dynamic IMU Filtering
Expand Down
5 changes: 3 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.14.1
PROJECT_NUMBER = 0.14.3

# 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 @@ -912,7 +912,8 @@ EXAMPLE_RECURSIVE = NO
# \image command).

IMAGE_PATH = doc/images \
doc/gen/png
doc/gen/png \
localization/sparse_mapping

# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
Expand Down
155 changes: 17 additions & 138 deletions astrobee/commands/freeFlyerPlanSchema.json

Large diffs are not rendered by default.

66 changes: 9 additions & 57 deletions astrobee/config/commands.config
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,6 @@ commandConfig = {
name="resetEkf",
parameters={}
},
{
name="shutdown",
parameters={}
},
{
name="switchLocalization",
parameters={
Expand Down Expand Up @@ -113,10 +109,6 @@ commandConfig = {
type="RAPID_INT"
}
}
},
{
name="wipeHlp",
parameters={}
}
},
name="AdminType"
Expand Down Expand Up @@ -162,24 +154,6 @@ commandConfig = {
},
{
commands={
{
name="clearData",
parameters={
{
key="dataMethod",
type="RAPID_STRING"
}
}
},
{
name="downloadData",
parameters={
{
key="dataMethod",
type="RAPID_STRING"
}
}
},
{
name="setDataToDisk",
parameters={}
Expand All @@ -193,15 +167,6 @@ commandConfig = {
}
}
},
{
name="stopDownload",
parameters={
{
key="dataMethod",
type="RAPID_STRING"
}
}
},
{
name="stopRecording",
parameters={}
Expand Down Expand Up @@ -363,19 +328,6 @@ commandConfig = {
},
{
commands={
{
name="genericCommand",
parameters={
{
key="commandName",
type="RAPID_STRING"
},
{
key="param",
type="RAPID_STRING"
}
}
},
{
name="setCamera",
parameters={
Expand Down Expand Up @@ -463,6 +415,15 @@ commandConfig = {
}
}
},
{
name="setEnableReplan",
parameters={
{
key="enableReplan",
type="RAPID_BOOL"
}
}
},
{
name="setFlashlightBrightness",
parameters={
Expand Down Expand Up @@ -561,15 +522,6 @@ commandConfig = {
}
}
},
{
name="setTimeSync",
parameters={
{
key="setTimeSync",
type="RAPID_BOOL"
}
}
},
{
name="setZones",
parameters={}
Expand Down
24 changes: 15 additions & 9 deletions astrobee/config/graph_localizer.config
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
require "context"

-- Graph Value Options
ideal_duration = 3.5
ideal_duration = 3.25
-- Don't leave less than min_num_states in window if possible
min_num_states = 3
max_num_states = 20
Expand All @@ -42,7 +42,6 @@ huber_k = world_huber_k
ignore_gravity = true
estimate_world_T_dock_using_loc = true
-- Applies to factor adders but not standstill detection
optical_flow_measurement_spacing = 2
-- Sanity Checker options
-- TODO(rsoussan): Create seperate config for sanity checker?
check_pose_difference = true
Expand All @@ -58,15 +57,19 @@ starting_prior_quaternion_stddev = 0.01
starting_prior_velocity_stddev = 0.01
starting_prior_accel_bias_stddev = 0.001
starting_prior_gyro_bias_stddev = 0.001
-- Threshold Bias Uncertainies
threshold_bias_uncertainty = true
accel_bias_stddev_threshold = 0.025
gyro_bias_stddev_threshold = 0.025
-- Lost Threshold
position_cov_log_det_lost_threshold = 0
orientation_cov_log_det_lost_threshold = 0
-- Feature Tracker
feature_tracker_sliding_window_duration = 3.5
feature_tracker_sliding_window_duration = 3.25
-- Standstill
max_standstill_feature_track_avg_distance_from_mean = 0.075
standstill_min_num_points_per_track = 4
standstill_feature_tracker_sliding_window_duration = 1
standstill_feature_track_duration = 1
standstill_adder_add_velocity_prior = true
standstill_adder_add_pose_between_factor = true
standstill_adder_prior_velocity_stddev = 0.01
Expand All @@ -82,13 +85,16 @@ smart_projection_adder_dynamic_outlier_rejection_threshold = 50
smart_projection_adder_retriangulation_threshold = 1e-5
smart_projection_adder_verbose_cheirality = false
smart_projection_adder_robust = true
smart_projection_adder_max_num_factors = 10
smart_projection_adder_max_num_factors = 13
smart_projection_adder_min_num_points = 2
smart_projection_adder_max_num_points_per_factor = 5
smart_projection_adder_rotation_only_fallback = false
smart_projection_adder_max_num_points_per_factor = 7
smart_projection_adder_measurement_spacing = 2
smart_projection_adder_feature_track_min_separation = 0
smart_projection_adder_rotation_only_fallback = true
smart_projection_adder_splitting = true
smart_projection_adder_scale_noise_with_num_points = true
smart_projection_adder_noise_scale = 2
smart_projection_adder_use_allowed_timestamps = true
-- Optical Flow Projection Factors
projection_adder_enabled = false
projection_adder_enable_EPI = false
Expand All @@ -101,8 +107,8 @@ projection_adder_point_prior_translation_stddev = 0.1
-- Loc Factors
loc_adder_add_pose_priors = false
loc_adder_add_projections = true
loc_adder_prior_translation_stddev = 0.01
loc_adder_prior_quaternion_stddev = 0.01
loc_adder_prior_translation_stddev = 0.06
loc_adder_prior_quaternion_stddev = 0.06
loc_adder_min_num_matches = 5
loc_adder_max_num_factors = 50
loc_adder_scale_pose_noise_with_num_landmarks = true
Expand Down
3 changes: 3 additions & 0 deletions astrobee/config/hw/pmc_actuator.config
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ i2c_retries = 3
-- Control rate in Hz
control_rate_hz = 62.5

-- Maximum PMC time without control input
max_timeout = 2.0

-- The null speed and nozzle positions
null_speed = 0
null_nozzle_positions = {128, 128, 128, 128, 128, 128}
Expand Down
1 change: 1 addition & 0 deletions astrobee/config/management/data_bagger.config
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ default_topics = {{topic="gnc/ctl/traj", 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="rosout", downlink="immediate", frequency=-1},
{topic="robot_name", downlink="immediate", frequency=-1}}

require "context"
29 changes: 14 additions & 15 deletions astrobee/config/robots/bumble.config
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,15 @@ robot_i2c_bus = "/dev/i2c-1"
robot_imu_drdy_pin = 4

robot_geometry = {
-- Placeholder transforms, not accurate!
hazcam_to_navcam_transform = transform(vec3(0.08017845188659993, 0.0015130070850712233, -0.0037397072731650606), quat4(-0.010795173083773568, -0.020686270289023867, 0.99972637753705862, -0.0016469718428887884)),
scicam_to_hazcam_transform = transform(vec3(0.039812511450892832, 0.017762378646844504, -0.0039477526753304197), quat4(-0.0017211102261497006, -0.023078433050076921, 0.99972939958575946, -0.0023561221189618764)),
hazcam_to_navcam_transform = transform(vec3(0.070656217, -0.0053120391, -0.0086391367), quat4(-0.0033938631, 0.011939978, 0.99990009, -0.0067619677)),
scicam_to_hazcam_transform = transform(vec3(0.043949838, -0.026925687, -0.14459291), quat4(-0.009399956, 0.015955961, 0.99982772, -0.0012581665)),
navcam_to_hazcam_timestamp_offset = -0.02,
scicam_to_hazcam_timestamp_offset = -0.31,
hazcam_depth_to_image_transform = {
0.9672, 0.0017, 0.0111, -0.0060,
-0.0016, 0.9672, -0.0065, 0.0040,
-0.0112, 0.0065, 0.9672, -0.0133,
0.0, 0.0, 0.0, 1.0},
scicam_to_hazcam_timestamp_offset = 0.5,
hazcam_depth_to_image_transform = {
0.91122714, -0.00020224138, -0.00066071236, 0.00091477566,
0.00020680677, 0.91120557, 0.0063030044, -0.0072143461,
0.00065929762, -0.0063031525, 0.91120536, -0.0035329091,
0, 0, 0, 1},

-- Engineering positions with idealized orientations
perch_cam_transform = transform(vec3(-0.1331, 0.0509, -0.0166), quat4(0.000, -0.70710678118, 0.000, 0.70710678118)),-- placeholder, not valid!
Expand Down Expand Up @@ -77,21 +76,21 @@ robot_camera_calibrations = {
exposure=150
},
haz_cam = {
distortion_coeff = {-0.411106, 0.375288, -0.00080993, -0.00817328},
distortion_coeff = {-0.050689743, -1.1461691, -0.001373226, -0.00056427513},
intrinsic_matrix = {
188.27394, 0.0, 117.94881,
0.0, 186.18359, 87.740547,
215.88697, 0.0, 114.12908,
0.0, 215.88697, 86.547331,
0.0, 0.0, 1.0
},
gain=50,
exposure=150
},
-- Placeholder for sci_cam, not accurate!
sci_cam = {
distortion_coeff = {0.128628, -0.167456, 0.00213421, -0.00262211},
distortion_coeff = {0.10733913, -0.10935864, 0.0010663099, 0.0010407278},
intrinsic_matrix = {
859.44015, 0.0, 754.24485,
0.0, 849.35466, 487.7349,
1138.4943, 0.0, 680.36447,
0.0, 1138.4943, 534.00133,
0.0, 0.0, 1.0
},
gain=50,
Expand Down
3 changes: 2 additions & 1 deletion astrobee/config/tools/graph_bag.config
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,5 @@ ar_min_msg_spacing = 0
-- graph_localizer_simulator
optimization_time = 0.30
-- Other
save_optical_flow_images = false;
save_optical_flow_images = false
log_relative_time = false
4 changes: 2 additions & 2 deletions astrobee/config/worlds/granite.config
Original file line number Diff line number Diff line change
Expand Up @@ -151,9 +151,9 @@ world_flight_modes = {
speed = 2;

-- Tolerances
tolerance_pos = 0.15; -- Position (10 cm)
tolerance_pos = 0.2; -- Position (20 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.1745; -- Attitude (10 degrees)
tolerance_att = 0.3491; -- Attitude (20 degrees)
tolerance_omega = 0; -- Omega (disabled)
tolerance_time = 1.0; -- Time (for sync check)

Expand Down
4 changes: 2 additions & 2 deletions astrobee/config/worlds/iss.config
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,9 @@ world_flight_modes = {
speed = 2;

-- Tolerances
tolerance_pos = 0.1; -- Position (10 cm)
tolerance_pos = 0.4; -- Position (40 cm)
tolerance_vel = 0; -- Velocity (disabled)
tolerance_att = 0.1745; -- Attitude (10 degrees)
tolerance_att = 0.3491; -- Attitude (20 degrees)
tolerance_omega = 0; -- Omega (disabled)
tolerance_time = 1.0; -- Time (for sync check)

Expand Down
Loading

0 comments on commit c849666

Please sign in to comment.