From b353d7e5cf50995fa8f41f0a21c774b4a07173a1 Mon Sep 17 00:00:00 2001 From: Forrest Voight Date: Fri, 19 Apr 2024 16:18:00 -0500 Subject: [PATCH 1/5] README.md: update documentation link (https://noetic.cbrxyz.com -> https://mil.ufl.edu/docs/) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 17831e872..527ed50cd 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ We heavily use the robotic middleware ROS for the past few years. We have around 60 ROS packages currently in use on our robots, most of which can be found here. Furthermore, we attempt to provide extensive testing, documentation, and continuous -integration for our software. We self-host our [documentation](https://noetic.cbrxyz.com) +integration for our software. We self-host our [documentation](https://mil.ufl.edu/docs/) and use GitHub Actions as our CI provider. If you're interested in some of the software we've written, we'd love to talk to From ba354c2113933399334644ba93d79472e19012e1 Mon Sep 17 00:00:00 2001 From: Forrest Voight Date: Fri, 19 Apr 2024 21:54:21 +0000 Subject: [PATCH 2/5] scripts/install.sh: fix abort if update-manager package isn't installed (e.g. in a schroot) Fixes this error: $ scripts/install.sh [...] sed: can't read /etc/update-manager/release-upgrades: No such file or directory --- scripts/install.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/install.sh b/scripts/install.sh index ddef5da3e..9a2a4d6f2 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -188,7 +188,9 @@ mil_system_install python3-pip python3-setuptools sudo apt reinstall -y python3-pip # Disable "automatic updates" Ubuntu prompt (thanks to https://askubuntu.com/a/610623!) -sudo sed -i 's/Prompt=.*/Prompt=never/' /etc/update-manager/release-upgrades +if which update-manager >/dev/null 2>&1; then + sudo sed -i 's/Prompt=.*/Prompt=never/' /etc/update-manager/release-upgrades +fi # Install Python 3 dependencies sudo pip3 install -r requirements.txt From edc3075e025ff5dcdc327bb91e6d3beee7d2ea1c Mon Sep 17 00:00:00 2001 From: Forrest Voight Date: Fri, 19 Apr 2024 22:04:24 +0000 Subject: [PATCH 3/5] subjugator_msgs: remove VelocityMeasurement[s] messages duplicated from mil_msgs --- .../subjugator_sim_tools/physics/vehicle.py | 3 ++- SubjuGator/utils/subjugator_msgs/CMakeLists.txt | 2 -- SubjuGator/utils/subjugator_msgs/msg/VelocityMeasurement.msg | 3 --- SubjuGator/utils/subjugator_msgs/msg/VelocityMeasurements.msg | 3 --- 4 files changed, 2 insertions(+), 9 deletions(-) delete mode 100644 SubjuGator/utils/subjugator_msgs/msg/VelocityMeasurement.msg delete mode 100644 SubjuGator/utils/subjugator_msgs/msg/VelocityMeasurements.msg diff --git a/SubjuGator/simulation/subjugator_simulation/subjugator_sim_tools/physics/vehicle.py b/SubjuGator/simulation/subjugator_simulation/subjugator_sim_tools/physics/vehicle.py index b25aed851..b74b8f72c 100644 --- a/SubjuGator/simulation/subjugator_simulation/subjugator_sim_tools/physics/vehicle.py +++ b/SubjuGator/simulation/subjugator_simulation/subjugator_sim_tools/physics/vehicle.py @@ -6,7 +6,8 @@ from nav_msgs.msg import Odometry from sensor_msgs.msg import Imu from std_msgs.msg import String -from subjugator_msgs.msg import Thrust, VelocityMeasurement, VelocityMeasurements +from mil_msgs.msg import VelocityMeasurement, VelocityMeasurements +from subjugator_msgs.msg import Thrust from subjugator_sim_tools.physics.physics import Entity from subjugator_simulation.srv import SimSetPose, SimSetPoseResponse diff --git a/SubjuGator/utils/subjugator_msgs/CMakeLists.txt b/SubjuGator/utils/subjugator_msgs/CMakeLists.txt index b5547e745..09bfbdab7 100644 --- a/SubjuGator/utils/subjugator_msgs/CMakeLists.txt +++ b/SubjuGator/utils/subjugator_msgs/CMakeLists.txt @@ -19,8 +19,6 @@ add_message_files( ThrusterStatus.msg Waypoint.msg Trajectory.msg - VelocityMeasurement.msg - VelocityMeasurements.msg Path.msg PathPoint.msg ) diff --git a/SubjuGator/utils/subjugator_msgs/msg/VelocityMeasurement.msg b/SubjuGator/utils/subjugator_msgs/msg/VelocityMeasurement.msg deleted file mode 100644 index ba14a4bf1..000000000 --- a/SubjuGator/utils/subjugator_msgs/msg/VelocityMeasurement.msg +++ /dev/null @@ -1,3 +0,0 @@ -geometry_msgs/Vector3 direction -float64 velocity -float64 correlation diff --git a/SubjuGator/utils/subjugator_msgs/msg/VelocityMeasurements.msg b/SubjuGator/utils/subjugator_msgs/msg/VelocityMeasurements.msg deleted file mode 100644 index 72d29bb59..000000000 --- a/SubjuGator/utils/subjugator_msgs/msg/VelocityMeasurements.msg +++ /dev/null @@ -1,3 +0,0 @@ -Header header - -VelocityMeasurement[] velocity_measurements From fe3938dbe9843d607b7411bb2b7dccdf8f4343a1 Mon Sep 17 00:00:00 2001 From: Forrest Voight Date: Fri, 19 Apr 2024 22:20:46 +0000 Subject: [PATCH 4/5] mil_msgs: document meaning of VelocityMeasurement[s] messages' fields --- mil_common/utils/mil_msgs/msg/VelocityMeasurement.msg | 10 ++++++++++ mil_common/utils/mil_msgs/msg/VelocityMeasurements.msg | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/mil_common/utils/mil_msgs/msg/VelocityMeasurement.msg b/mil_common/utils/mil_msgs/msg/VelocityMeasurement.msg index ba14a4bf1..1f9e8ba72 100644 --- a/mil_common/utils/mil_msgs/msg/VelocityMeasurement.msg +++ b/mil_common/utils/mil_msgs/msg/VelocityMeasurement.msg @@ -1,3 +1,13 @@ +# Generic representation of measurement from one beam of a Doppler Velocity Log (DVL)-like sensor + +# unit vector pointing along beam (in sensor coordinate frame) geometry_msgs/Vector3 direction + +# measured velocity (in m/s) of sensor relative to pool floor, projected onto `direction` vector +# * should be NaN if measurement is bad/invalid/unknown float64 velocity + +# correlation value +# * describes the SNR of the return ping; currently only for diagnostic usage +# * should be NaN if unknown float64 correlation diff --git a/mil_common/utils/mil_msgs/msg/VelocityMeasurements.msg b/mil_common/utils/mil_msgs/msg/VelocityMeasurements.msg index 1161df02b..e18e2ab54 100644 --- a/mil_common/utils/mil_msgs/msg/VelocityMeasurements.msg +++ b/mil_common/utils/mil_msgs/msg/VelocityMeasurements.msg @@ -1,2 +1,11 @@ +# Generic representation of one measurement report from a Doppler Velocity Log (DVL)-like sensor + +# stamp is the time the measurements were made +# frame_id ... +# * should have its origin at the location where the beam vectors intersect +# * defines the coordinate frame of the `velocity_measurements.direction` vectors Header header + +# velocity_measurements should have one element for each beam the hardware supports (typically 4) +# * invalid beams should still have VelocityMeasurement elements VelocityMeasurement[] velocity_measurements From 934d7b4b3fd9c3cc475d380dd50c218533515f38 Mon Sep 17 00:00:00 2001 From: Forrest Voight Date: Fri, 19 Apr 2024 22:28:07 +0000 Subject: [PATCH 5/5] odom_estimator: warn on non-unit VelocityMeasurement::direction vector --- mil_common/gnc/odom_estimator/src/nodelet.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mil_common/gnc/odom_estimator/src/nodelet.cpp b/mil_common/gnc/odom_estimator/src/nodelet.cpp index 8fb4f5a16..c5015bc3e 100644 --- a/mil_common/gnc/odom_estimator/src/nodelet.cpp +++ b/mil_common/gnc/odom_estimator/src/nodelet.cpp @@ -281,6 +281,10 @@ class NodeImpl for (unsigned int i = 0; i < msg.velocity_measurements.size(); i++) { mil_msgs::VelocityMeasurement const &vm = msg.velocity_measurements[i]; + if (std::fabs(xyz2vec(vm.direction).norm() - 1) > 1e-3) + { + NODELET_ERROR("VelocityMeasurement::direction should always be a unit vector"); + } if (!std::isnan(vm.velocity)) { good.push_back(vm);