Skip to content

Commit

Permalink
Merge pull request nasa#717 from nasa/develop
Browse files Browse the repository at this point in the history
Release 0.17.1
  • Loading branch information
marinagmoreira authored Apr 4, 2023
2 parents c46f8b1 + 36f5104 commit ea41de9
Show file tree
Hide file tree
Showing 137 changed files with 511 additions and 251 deletions.
18 changes: 18 additions & 0 deletions .isort.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[settings]

# The src_paths setting should be a comma-separated list of all the
# folders in the astrobee repo that contain *.py files. Python files
# found in these folders count as "first party" so they should be in a
# separate group from the "third party" imports. If src_paths is not
# specified, isort will treat only the files it's asked to check as
# first party. Therefore, if we specify src_paths broadly in this way,
# isort behavior should be more repeatable between (1) manually
# running isort on a single file in your local dev machine, vs. (2)
# running the git pre-commit hook locally on your dev machine, which
# historically ran isort only on the files that changed since the last
# commit, or (3) running the CI workflow, which always runs isort on
# all files. If src_paths needs to be updated, like if *.py files are
# added to a new folder, you can auto-update it by running
# scripts/git/configure_isort_paths.sh.

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
4 changes: 4 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Releases

# Release 0.17.1

* Multiple bug fixes

# Release 0.17.0

* Full compatibility and debians built for Ubuntu 20
Expand Down
2 changes: 1 addition & 1 deletion 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.17.0
PROJECT_NUMBER = 0.17.1

# 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
2 changes: 1 addition & 1 deletion astrobee/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.17.0)
set(ASTROBEE_VERSION 0.17.1)

## Compile as C++14, supported in ROS Kinetic and newer
add_compile_options(-std=c++14)
Expand Down
2 changes: 1 addition & 1 deletion astrobee/launch/robot/MLP.launch
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@
<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="manager" value="mlp_depth_cam" />
<arg name="spurn" value="$(arg spurn)" />
<arg name="nodes" value="$(arg nodes)" />
<arg name="extra" value="$(arg extra)" />
Expand Down
2 changes: 1 addition & 1 deletion behaviors/arm/tools/arm_tool.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
// Include RPOS
#include <ros/ros.h>
// FSW includes
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <ff_util/ff_action.h>
#include <ff_util/config_client.h>

Expand Down
2 changes: 1 addition & 1 deletion behaviors/dock/tools/dock_tool.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#include <ros/ros.h>

// FSW includes
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <ff_util/ff_action.h>

// Action
Expand Down
2 changes: 1 addition & 1 deletion behaviors/light_flow/include/light_flow.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#define LIGHT_FLOW_H_

#include <ff_hw_msgs/ConfigureLED.h>
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <jsoncpp/json/value.h>
#include <ros/ros.h>
#include <stdio.h>
Expand Down
2 changes: 1 addition & 1 deletion behaviors/light_flow/src/light_flow/light_flow.cc
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#include <assert.h>
#include <ff_hw_msgs/ConfigureLED.h>
#include <ff_hw_msgs/ConfigureLEDGroup.h>
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <jsoncpp/json/allocator.h>
#include <jsoncpp/json/json.h>
#include <jsoncpp/json/value.h>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
#include <config_reader/config_reader.h>

// FSW nodelet
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <ff_util/ff_nodelet.h>

// Services
Expand Down
2 changes: 1 addition & 1 deletion behaviors/light_flow/tools/light_flow_tool.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

#include <ff_hw_msgs/ConfigureLED.h>
#include <ff_hw_msgs/ConfigureLEDGroup.h>
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <jsoncpp/json/allocator.h>
#include <jsoncpp/json/json.h>
#include <jsoncpp/json/value.h>
Expand Down
2 changes: 1 addition & 1 deletion behaviors/perch/tools/perch_tool.cc
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#include <ros/ros.h>

// FSW includes
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <ff_util/ff_action.h>

// Action
Expand Down
2 changes: 1 addition & 1 deletion behaviors/states/src/states_nodelet/states_nodelet.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#include <config_reader/config_reader.h>

// FSW nodelet
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <ff_util/ff_nodelet.h>

// Services
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@

#include "ff_msgs/ResponseOnly.h"

#include "ff_util/ff_names.h"
#include "ff_common/ff_names.h"
#include "ff_util/ff_nodelet.h"

// SoraCore Includes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@

#include "ff_msgs/SetRate.h"

#include "ff_util/ff_names.h"
#include "ff_common/ff_names.h"
#include "ff_util/ff_nodelet.h"

// SoraCore Includes
Expand Down
5 changes: 3 additions & 2 deletions communications/ff_msgs/bmr/rosbag_rewrite_types_rules.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@
],
"fix_message_definition_topic_patterns": [
"/gs/*",
"/command",
"/command",
"/hw/cam_sci/compressed",
"/hw/cam_sci_info",
"/mgt/disk_monitor/state",
"/mgt/cpu_monitor/state"
"/mgt/cpu_monitor/state",
"/signals"
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
#include "ground_dds_ros_bridge/ros_command.h"
#include "ground_dds_ros_bridge/ros_sub_rapid_pub.h"

#include "ff_util/ff_names.h"
#include "ff_common/ff_names.h"

// SoraCore Includes
#include "knDds/DdsSupport.h"
Expand Down
8 changes: 7 additions & 1 deletion debian/changelog
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
astrobee (0.17.1) testing; urgency=medium

* Multiple bug fixes

-- Astrobee Flight Software <[email protected]> Mon, 03 Apr 2023 10:59:33 -0700

astrobee (0.17.0) testing; urgency=medium

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

-- Marina Moreira <mgouveia@ubuntu> Thu, 16 Feb 2023 09:43:41 -0800
-- Astrobee Flight Software <[email protected]> Thu, 16 Feb 2023 09:43:41 -0800

astrobee (0.16.7) testing; urgency=medium

Expand Down
2 changes: 1 addition & 1 deletion debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Depends: ${misc:Depends}
${ros-python},
astrobee-config (>= ${binary:Version}),
astrobee-comms (>= ${binary:Version}),
libalvar2 (>=2.0), libdbow21 (>=0.1), libgtsam (>=4.0), libopenmvg1 (>=1.0), libroyale1 (>=1.0),
libalvar2 (>=2.0), libdbow21 (>=0.1-6), libgtsam (>=4.0), libopenmvg1 (>=1.0), libroyale1 (>=1.0),
libceres1 (>=1.0), rti (>=1.0), libmiro0 (>=0.1), libsoracore1 (>=1.0),
libdecomputil0 (>=0.1), libjps3d0 (>=0.1),
libluajit-5.1-2,
Expand Down
6 changes: 3 additions & 3 deletions doc/general_documentation/NASA_INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ This is the typical case for all wired computers in ARC TI, and simplifies
your life greatly.

Verify that you are in this situation with the command below should succeed
(remove the Release.gpg file after being fetched).
(certificate will be added later; remove the Release.gpg file after being fetched).

wget -v http://astrobee.ndc.nasa.gov/software/dists/xenial/Release.gpg
wget -v --no-check-certificate http://astrobee.ndc.nasa.gov/software/dists/xenial/Release.gpg

Before running the scripts in `scripts/setup` below, set this variable:

Expand Down Expand Up @@ -234,7 +234,7 @@ will copy all products into this directory.
Once the installation has completed, copy the install directory to the robot.
This script assumes that you are connected to the Astrobee network, as it uses
rsync to copy the install directory to `~/armhf` on the two processors. It
takes the robot name as an argument. Here we use `p4d'.
takes the robot name as an argument. Here we use `p4d`.

pushd $ASTROBEE_WS
./src/scripts/install_to_astrobee.sh $INSTALL_PATH p4d
Expand Down
2 changes: 1 addition & 1 deletion gnc/ctl/src/ctl_ros.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#include <ff_msgs/Segment.h>
#include <msg_conversions/msg_conversions.h>

#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>

#include <Eigen/Dense>
#include <Eigen/Geometry>
Expand Down
2 changes: 1 addition & 1 deletion gnc/ctl/test/test_ctl_nominal.cc
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#include <ros/ros.h>
#include <ros/console.h>

#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <actionlib/client/simple_action_client.h>
#include <ff_msgs/ControlAction.h>
#include <ff_msgs/EkfState.h>
Expand Down
2 changes: 1 addition & 1 deletion gnc/fam/include/fam/fam.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#include <ff_msgs/FamCommand.h>
#include <ff_msgs/FlightMode.h>

#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <ff_util/perf_timer.h>

#include <Eigen/Dense>
Expand Down
2 changes: 1 addition & 1 deletion gnc/fam/src/fam.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

#include <fam/fam.h>
#include <msg_conversions/msg_conversions.h>
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <ff_hw_msgs/PmcCommand.h>

#include <Eigen/QR>
Expand Down
19 changes: 19 additions & 0 deletions gnc/pmc/include/pmc/shared.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#define PMC_SHARED_H_

#include <Eigen/Dense>
#include <limits>

namespace pmc {

Expand Down Expand Up @@ -74,6 +75,24 @@ class PMCConstants {

float Lookup(int table_size, const float lookup[], const float breakpoints[], float value);

template <class MatT>
Eigen::Matrix<typename MatT::Scalar, MatT::ColsAtCompileTime, MatT::RowsAtCompileTime> pseudoInverse(
const MatT& mat, typename MatT::Scalar tolerance = typename MatT::Scalar{std::numeric_limits<double>::epsilon()}) {
typedef typename MatT::Scalar Scalar;
auto svd = mat.jacobiSvd(Eigen::ComputeFullU | Eigen::ComputeFullV);
const auto& singularValues = svd.singularValues();
Eigen::Matrix<Scalar, MatT::ColsAtCompileTime, MatT::RowsAtCompileTime> singularValuesInv(mat.cols(), mat.rows());
singularValuesInv.setZero();
for (unsigned int i = 0; i < singularValues.size(); ++i) {
if (singularValues(i) > tolerance) {
singularValuesInv(i, i) = Scalar {1} / singularValues(i);
} else {
singularValuesInv(i, i) = Scalar {0};
}
}
return svd.matrixV() * singularValuesInv * svd.matrixU().adjoint();
}

} // end namespace pmc

#endif // PMC_SHARED_H_
3 changes: 1 addition & 2 deletions gnc/pmc/src/fam.cc
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,7 @@ void Fam::UpdateCOM(const Eigen::Vector3f & com) {
Eigen::Matrix<float, 6, 12> thrust2forcetorque;
thrust2forcetorque << thrust2force_, thrust2torque_;
forcetorque2thrust_ = Eigen::MatrixXf::Identity(12, 6);
Eigen::JacobiSVD<Eigen::MatrixXf> svd(thrust2forcetorque, Eigen::ComputeThinU | Eigen::ComputeThinV);
forcetorque2thrust_ = svd.solve(forcetorque2thrust_);
forcetorque2thrust_ = pseudoInverse(thrust2forcetorque);
}

void Fam::CalcThrustMatrices(const Eigen::Vector3f & force, const Eigen::Vector3f & torque,
Expand Down
2 changes: 1 addition & 1 deletion hardware/eps_driver/tools/eps_simulator/eps_simulator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#include <ros/ros.h>

// FSW standard naming
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>

// Standard messages
#include <ff_hw_msgs/EpsBatteryLocation.h>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@

#include <config_reader/config_reader.h>
#include <ff_hw_msgs/SetFlashlight.h>
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <ff_util/ff_nodelet.h>

#include <flashlight/flashlight.h>
Expand Down
2 changes: 1 addition & 1 deletion hardware/is_camera/src/camera.cc
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,7 @@ namespace is_camera {
if (!thread_running_ || ((pub_.getNumSubscribers() == 0) && (getNumBayerSubscribers() == 0))) return;

// Get last generated image from buffer (index incremented after image completed)
sensor_msgs::ImagePtr& grey_image = img_msg_buffer_[(img_msg_buffer_idx_ - 1) % kImageMsgBuffer];
sensor_msgs::ImagePtr& grey_image = img_msg_buffer_[(img_msg_buffer_idx_ + kImageMsgBuffer - 1) % kImageMsgBuffer];

cv::Mat input(kImageHeight, kImageWidth,
cv::DataType<uint8_t>::type,
Expand Down
2 changes: 1 addition & 1 deletion hardware/is_camera/src/debayer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#include <pluginlib/class_list_macros.h>

// Shared libraries
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <ff_util/ff_nodelet.h>

#include <image_transport/image_transport.h>
Expand Down
2 changes: 1 addition & 1 deletion hardware/laser/include/laser/ros/laser_nodelet.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

#include <config_reader/config_reader.h>
#include <ff_hw_msgs/SetEnabled.h>
#include <ff_util/ff_names.h>
#include <ff_common/ff_names.h>
#include <ff_util/ff_nodelet.h>

#include <i2c/i2c_new.h>
Expand Down
3 changes: 2 additions & 1 deletion hardware/pico_driver/scripts/debug_pico_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,12 @@
import logging

import numpy as np
import pico_utils as pico
import rosbag
from matplotlib import collections as mc
from matplotlib import pyplot as plt

import pico_utils as pico


def plot_xy_grid_many(inbag_path, verbose=False, fast=False, cam=pico.DEFAULT_CAM):
"""
Expand Down
1 change: 1 addition & 0 deletions hardware/pico_driver/scripts/pico_check_split_extended.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import logging

import numpy as np

import pico_utils as pico


Expand Down
3 changes: 2 additions & 1 deletion hardware/pico_driver/scripts/pico_split_extended.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,10 @@
import shutil

import numpy as np
import pico_utils as pico
import rosbag

import pico_utils as pico


class PrintEveryK:
def __init__(self, k):
Expand Down
1 change: 1 addition & 0 deletions hardware/pico_driver/scripts/pico_write_xyz_coeff.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import logging

import numpy as np

import pico_utils as pico


Expand Down
Loading

0 comments on commit ea41de9

Please sign in to comment.