diff --git a/.dockerignore b/.dockerignore index aeb5cde..a72133e 100644 --- a/.dockerignore +++ b/.dockerignore @@ -11,6 +11,6 @@ !thruster_allocation_matrix_controller !thruster_controllers !topic_sensors -!velocity_controllers +!twist_controllers !whole_body_controllers !ros2.repos diff --git a/auv_control_demos/CHANGELOG.md b/auv_control_demos/CHANGELOG.md index 1586b3b..68ab2eb 100644 --- a/auv_control_demos/CHANGELOG.md +++ b/auv_control_demos/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog for package auv_control_demos +## 0.5.0 (2026-05-29) + ## 0.4.3 (2026-04-25) ## 0.4.2 (2026-03-30) diff --git a/auv_control_demos/chained_controllers/README.md b/auv_control_demos/chained_controllers/README.md index 9cea3b9..34b5eb5 100644 --- a/auv_control_demos/chained_controllers/README.md +++ b/auv_control_demos/chained_controllers/README.md @@ -23,7 +23,7 @@ applies a PWM command to the hardware interface. The output should resemble: ```bash - adaptive_integral_terminal_sliding_mode_controller velocity_controllers/AdaptiveIntegralTerminalSlidingModeController active + adaptive_integral_terminal_sliding_mode_controller twist_controllers/AdaptiveIntegralTerminalSlidingModeController active thruster_allocation_matrix_controller thruster_allocation_matrix_controller/ThrusterAllocationMatrixController active thruster_8_controller thruster_controllers/PolynomialThrustCurveController active thruster_7_controller thruster_controllers/PolynomialThrustCurveController active @@ -130,7 +130,7 @@ applies a PWM command to the hardware interface. - [chaining.launch.py](https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/chained_controllers/launch/chaining.launch.py) - Controllers: - - [Adaptive Integral Terminal Sliding Mode Controller](https://github.com/Robotic-Decision-Making-Lab/auv_controllers/tree/main/velocity_controllers) + - [Adaptive Integral Terminal Sliding Mode Controller](https://github.com/Robotic-Decision-Making-Lab/auv_controllers/tree/main/twist_controllers) - [Thruster Allocation Matrix Controller](https://github.com/Robotic-Decision-Making-Lab/auv_controllers/tree/main/thruster_allocation_matrix_controller) - [Polynomial Thrust Curve Controller](https://github.com/Robotic-Decision-Making-Lab/auv_controllers/tree/main/thruster_controllers) diff --git a/auv_control_demos/chained_controllers/config/chained_controllers.yaml b/auv_control_demos/chained_controllers/config/chained_controllers.yaml index 8c61ded..72e6568 100644 --- a/auv_control_demos/chained_controllers/config/chained_controllers.yaml +++ b/auv_control_demos/chained_controllers/config/chained_controllers.yaml @@ -3,7 +3,7 @@ controller_manager: update_rate: 30 # Hz adaptive_integral_terminal_sliding_mode_controller: - type: velocity_controllers/AdaptiveIntegralTerminalSlidingModeController + type: twist_controllers/AdaptiveIntegralTerminalSlidingModeController thruster_allocation_matrix_controller: type: thruster_allocation_matrix_controller/ThrusterAllocationMatrixController diff --git a/auv_control_demos/individual_controller/README.md b/auv_control_demos/individual_controller/README.md index 20e289b..b655358 100644 --- a/auv_control_demos/individual_controller/README.md +++ b/auv_control_demos/individual_controller/README.md @@ -1,6 +1,6 @@ # Example 1: Individual Controller -This example uses the [integral sliding mode controller](https://github.com/Robotic-Decision-Making-Lab/auv_controllers/tree/main/velocity_controllers) to demonstrate how to launch a single controller. +This example uses the [integral sliding mode controller](https://github.com/Robotic-Decision-Making-Lab/auv_controllers/tree/main/twist_controllers) to demonstrate how to launch a single controller. ## Tutorial Steps @@ -21,7 +21,7 @@ This example uses the [integral sliding mode controller](https://github.com/Robo The output should resemble: ```bash - adaptive_integral_terminal_sliding_mode_controller velocity_controllers/AdaptiveIntegralTerminalSlidingModeController active + adaptive_integral_terminal_sliding_mode_controller twist_controllers/AdaptiveIntegralTerminalSlidingModeController active ``` 3. Check that the hardware interfaces have been properly loaded by opening @@ -148,7 +148,7 @@ This example uses the [integral sliding mode controller](https://github.com/Robo - [individual.launch.py](https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/individual_controller/launch/individual.launch.py) - Controllers: - - [Adaptive Integral Terminal Sliding Mode Controller](https://github.com/Robotic-Decision-Making-Lab/auv_controllers/tree/main/velocity_controllers) + - [Adaptive Integral Terminal Sliding Mode Controller](https://github.com/Robotic-Decision-Making-Lab/auv_controllers/tree/main/twist_controllers) - Controller Config: - [individual_controller.yaml](https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/individual_controller/config/individual_controller.yaml) diff --git a/auv_control_demos/individual_controller/config/individual_controller.yaml b/auv_control_demos/individual_controller/config/individual_controller.yaml index a7f1177..663dde0 100644 --- a/auv_control_demos/individual_controller/config/individual_controller.yaml +++ b/auv_control_demos/individual_controller/config/individual_controller.yaml @@ -3,7 +3,7 @@ controller_manager: update_rate: 30 # Hz adaptive_integral_terminal_sliding_mode_controller: - type: velocity_controllers/AdaptiveIntegralTerminalSlidingModeController + type: twist_controllers/AdaptiveIntegralTerminalSlidingModeController adaptive_integral_terminal_sliding_mode_controller: ros__parameters: diff --git a/auv_control_demos/package.xml b/auv_control_demos/package.xml index 7eac415..cfc2ab9 100644 --- a/auv_control_demos/package.xml +++ b/auv_control_demos/package.xml @@ -3,7 +3,7 @@ auv_control_demos - 0.4.3 + 0.5.0 Example package that includes demos for using auv_controllers in individual and chained modes Evan Palmer diff --git a/auv_control_msgs/CHANGELOG.md b/auv_control_msgs/CHANGELOG.md index f53ab5b..9323142 100644 --- a/auv_control_msgs/CHANGELOG.md +++ b/auv_control_msgs/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog for package auv_control_msgs +## 0.5.0 (2026-05-29) + ## 0.4.3 (2026-04-25) ## 0.4.2 (2026-03-30) diff --git a/auv_control_msgs/package.xml b/auv_control_msgs/package.xml index 069a9c6..8ef6663 100644 --- a/auv_control_msgs/package.xml +++ b/auv_control_msgs/package.xml @@ -3,7 +3,7 @@ auv_control_msgs - 0.4.3 + 0.5.0 Custom messages for AUV controllers Evan Palmer diff --git a/auv_controllers/CHANGELOG.md b/auv_controllers/CHANGELOG.md index 57cf52f..a45a4f2 100644 --- a/auv_controllers/CHANGELOG.md +++ b/auv_controllers/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog for package auv_controllers +## 0.5.0 (2026-05-29) + ## 0.4.3 (2026-04-25) ## 0.4.2 (2026-03-30) diff --git a/auv_controllers/package.xml b/auv_controllers/package.xml index 9686154..6d16bb2 100644 --- a/auv_controllers/package.xml +++ b/auv_controllers/package.xml @@ -3,7 +3,7 @@ auv_controllers - 0.4.3 + 0.5.0 Meta package for auv_controllers Evan Palmer @@ -22,7 +22,7 @@ thruster_allocation_matrix_controller thruster_controllers topic_sensors - velocity_controllers + twist_controllers whole_body_controllers diff --git a/controller_common/CHANGELOG.md b/controller_common/CHANGELOG.md index 049ef21..bf0af74 100644 --- a/controller_common/CHANGELOG.md +++ b/controller_common/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog for package controller_common +## 0.5.0 (2026-05-29) + ## 0.4.3 (2026-04-25) ## 0.4.2 (2026-03-30) diff --git a/controller_common/package.xml b/controller_common/package.xml index d73681e..25ca26c 100644 --- a/controller_common/package.xml +++ b/controller_common/package.xml @@ -3,7 +3,7 @@ controller_common - 0.4.3 + 0.5.0 Common interfaces for controllers used in this project Evan Palmer diff --git a/controller_coordinator/CHANGELOG.md b/controller_coordinator/CHANGELOG.md index 72b6d6a..1dd2368 100644 --- a/controller_coordinator/CHANGELOG.md +++ b/controller_coordinator/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog for package controller_coordinator +## 0.5.0 (2026-05-29) + ## 0.4.3 (2026-04-25) ## 0.4.2 (2026-03-30) diff --git a/controller_coordinator/package.xml b/controller_coordinator/package.xml index e8a9796..8be4470 100644 --- a/controller_coordinator/package.xml +++ b/controller_coordinator/package.xml @@ -3,7 +3,7 @@ controller_coordinator - 0.4.3 + 0.5.0 A high-level node used to load and activate/deactivate control systems Evan Palmer diff --git a/ik_solvers/CHANGELOG.md b/ik_solvers/CHANGELOG.md index 30254e8..81967be 100644 --- a/ik_solvers/CHANGELOG.md +++ b/ik_solvers/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog for package ik_solvers +## 0.5.0 (2026-05-29) + +- Replace the quaternion error with the left-invariant error + ## 0.4.3 (2026-04-25) ## 0.4.2 (2026-03-30) diff --git a/ik_solvers/CMakeLists.txt b/ik_solvers/CMakeLists.txt index b6c6d25..f8a63b5 100644 --- a/ik_solvers/CMakeLists.txt +++ b/ik_solvers/CMakeLists.txt @@ -17,6 +17,7 @@ find_package(tf2_eigen REQUIRED) find_package(ament_cmake REQUIRED) find_package(ament_cmake_ros REQUIRED) find_package(generate_parameter_library REQUIRED) +find_package(hydrodynamics REQUIRED) generate_parameter_library(task_priority_solver_parameters src/task_priority_solver_parameters.yaml @@ -68,6 +69,7 @@ target_link_libraries( Eigen3::Eigen pinocchio::pinocchio pluginlib::pluginlib + hydrodynamics::hydrodynamics ${trajectory_msgs_TARGETS} ) @@ -92,6 +94,7 @@ ament_export_dependencies( "pinocchio" "trajectory_msgs" "tf2_eigen" + "hydrodynamics" ) ament_package() diff --git a/ik_solvers/package.xml b/ik_solvers/package.xml index 026ddca..a8698c2 100644 --- a/ik_solvers/package.xml +++ b/ik_solvers/package.xml @@ -3,7 +3,7 @@ ik_solvers - 0.4.3 + 0.5.0 Inverse kinematics solvers used for whole-body control Evan Palmer diff --git a/ik_solvers/src/task_priority_solver.cpp b/ik_solvers/src/task_priority_solver.cpp index ab1b6f1..17a4fa2 100644 --- a/ik_solvers/src/task_priority_solver.cpp +++ b/ik_solvers/src/task_priority_solver.cpp @@ -23,8 +23,10 @@ #include #include #include +#include #include +#include "hydrodynamics/hydrodynamics.hpp" #include "pinocchio/algorithm/frames.hpp" #include "pinocchio/algorithm/jacobian.hpp" #include "pinocchio/algorithm/kinematics.hpp" @@ -53,22 +55,17 @@ auto active_tasks(const ConstraintSet & tasks) -> ConstraintSet return result; } -/// Compute the error between two quaternions using eq. 2.12 in Gianluca Antonelli's Underwater Robotics book. -/// Note that we only need to minimize the vector part of the error. -auto quaternion_error(const Eigen::Quaterniond & q1, const Eigen::Quaterniond & q2) -> Eigen::Vector3d +/// Derepresent a tangent vector. +auto vee(const Eigen::Matrix4d & mat) -> Eigen::Vector6d { - const Eigen::Vector3d q1_vec = q1.vec(); - const Eigen::Vector3d q2_vec = q2.vec(); - - const double q1_w = q1.w(); - const double q2_w = q2.w(); - - const Eigen::Vector3d vec_error = (q2_w * q1_vec) - (q1_w * q2_vec) + q2_vec.cross(q1_vec); - - // This is how we would compute the scalar error if we needed it - // const double scalar_error = q1_w * q2_w + q1_vec.dot(q2_vec); + return {mat(0, 3), mat(1, 3), mat(2, 3), mat(2, 1), mat(0, 2), mat(1, 0)}; +} - return {vec_error.x(), vec_error.y(), vec_error.z()}; +/// Calculate the left-invariant geodesic error between a goal pose and the current pose. +auto geodesic_error(const Eigen::Isometry3d & goal, const Eigen::Isometry3d & state) -> Eigen::Vector6d +{ + const Eigen::Matrix4d error = (state.inverse() * goal).matrix().log(); + return vee(error); } } // namespace @@ -139,11 +136,9 @@ PoseConstraint::PoseConstraint( int priority) : Constraint(primal.matrix(), constraint.matrix(), gain, priority) { - error_ = Eigen::VectorXd::Zero(6); - error_.head<3>() = (constraint.translation() - primal.translation()).eval(); - error_.tail<3>() = quaternion_error(Eigen::Quaterniond(constraint.rotation()), Eigen::Quaterniond(primal.rotation())); + error_ = geodesic_error(constraint, primal); jacobian_ = Eigen::MatrixXd::Zero(6, model->nv); - pinocchio::getFrameJacobian(*model, *data, model->getFrameId(frame), pinocchio::LOCAL_WORLD_ALIGNED, jacobian_); + pinocchio::getFrameJacobian(*model, *data, model->getFrameId(frame), pinocchio::LOCAL, jacobian_); } JointConstraint::JointConstraint( diff --git a/impedance_controller/CHANGELOG.md b/impedance_controller/CHANGELOG.md index 91e3846..9afa89b 100644 --- a/impedance_controller/CHANGELOG.md +++ b/impedance_controller/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog for package impedance_controller +## 0.5.0 (2026-05-29) + ## 0.4.3 (2026-04-25) ## 0.4.2 (2026-03-30) diff --git a/impedance_controller/package.xml b/impedance_controller/package.xml index 15ceeb4..a8a1f4b 100644 --- a/impedance_controller/package.xml +++ b/impedance_controller/package.xml @@ -3,7 +3,7 @@ impedance_controller - 0.4.3 + 0.5.0 An impedance controller for underwater vehicles Evan Palmer diff --git a/thruster_allocation_matrix_controller/CHANGELOG.md b/thruster_allocation_matrix_controller/CHANGELOG.md index 590b049..090db7c 100644 --- a/thruster_allocation_matrix_controller/CHANGELOG.md +++ b/thruster_allocation_matrix_controller/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog for package thruster_allocation_matrix_controller +## 0.5.0 (2026-05-29) + +- Set NaN reference force/torque to zero thrust. + ## 0.4.3 (2026-04-25) ## 0.4.2 (2026-03-30) diff --git a/thruster_allocation_matrix_controller/package.xml b/thruster_allocation_matrix_controller/package.xml index d2eb5e8..2ee30c6 100644 --- a/thruster_allocation_matrix_controller/package.xml +++ b/thruster_allocation_matrix_controller/package.xml @@ -3,7 +3,7 @@ thruster_allocation_matrix_controller - 0.4.3 + 0.5.0 Thruster allocation matrix controller used to convert wrench commands into thrust commands Evan Palmer diff --git a/thruster_allocation_matrix_controller/src/thruster_allocation_matrix_controller.cpp b/thruster_allocation_matrix_controller/src/thruster_allocation_matrix_controller.cpp index d91a9e7..4cfa171 100644 --- a/thruster_allocation_matrix_controller/src/thruster_allocation_matrix_controller.cpp +++ b/thruster_allocation_matrix_controller/src/thruster_allocation_matrix_controller.cpp @@ -21,6 +21,7 @@ #include "thruster_allocation_matrix_controller/thruster_allocation_matrix_controller.hpp" #include +#include #include #include #include @@ -182,9 +183,9 @@ auto ThrusterAllocationMatrixController::update_reference_from_subscribers( { auto * current_reference = reference_.readFromNonRT(); const std::vector wrench = common::messages::to_vector(*current_reference); - for (auto && [interface, ref] : std::views::zip(reference_interfaces_, wrench)) { - if (!std::isnan(ref)) { - interface = ref; + if (!std::ranges::all_of(wrench, [](double x) -> bool { return std::isnan(x); })) { + for (auto && [interface, ref] : std::views::zip(reference_interfaces_, wrench)) { + interface = std::isnan(ref) ? 0.0 : ref; } } common::messages::reset_message(current_reference); diff --git a/thruster_controllers/CHANGELOG.md b/thruster_controllers/CHANGELOG.md index f162652..cce960f 100644 --- a/thruster_controllers/CHANGELOG.md +++ b/thruster_controllers/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog for package thruster_controllers +## 0.5.0 (2026-05-29) + ## 0.4.3 (2026-04-25) - Implements a `reverse_spin_direction` parameter into the thrust curve diff --git a/thruster_controllers/package.xml b/thruster_controllers/package.xml index d44a908..d51d3d8 100644 --- a/thruster_controllers/package.xml +++ b/thruster_controllers/package.xml @@ -3,7 +3,7 @@ thruster_controllers - 0.4.3 + 0.5.0 A collection of thruster controllers for AUV control Evan Palmer diff --git a/topic_sensors/CHANGELOG.md b/topic_sensors/CHANGELOG.md index 0632058..db6554d 100644 --- a/topic_sensors/CHANGELOG.md +++ b/topic_sensors/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog for package topic_sensors +## 0.5.0 (2026-05-29) + ## 0.4.3 (2026-04-25) ## 0.4.2 (2026-03-30) diff --git a/topic_sensors/package.xml b/topic_sensors/package.xml index e60f127..50ad85f 100644 --- a/topic_sensors/package.xml +++ b/topic_sensors/package.xml @@ -3,7 +3,7 @@ topic_sensors - 0.4.3 + 0.5.0 Sensor plugins used to write ROS 2 messages to state interfaces Evan Palmer diff --git a/trajectory_controllers/CHANGELOG.md b/trajectory_controllers/CHANGELOG.md index 74c467a..5b68440 100644 --- a/trajectory_controllers/CHANGELOG.md +++ b/trajectory_controllers/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog for package trajectory_controllers +## 0.5.0 (2026-05-29) + ## 0.4.3 (2026-04-25) ## 0.4.2 (2026-03-30) diff --git a/trajectory_controllers/package.xml b/trajectory_controllers/package.xml index e7c4a64..db8ab66 100644 --- a/trajectory_controllers/package.xml +++ b/trajectory_controllers/package.xml @@ -3,7 +3,7 @@ trajectory_controllers - 0.4.3 + 0.5.0 Trajectory controllers for underwater vehicles and manipulator systems Evan Palmer diff --git a/velocity_controllers/CHANGELOG.md b/twist_controllers/CHANGELOG.md similarity index 85% rename from velocity_controllers/CHANGELOG.md rename to twist_controllers/CHANGELOG.md index 35ee353..e6ddafc 100644 --- a/velocity_controllers/CHANGELOG.md +++ b/twist_controllers/CHANGELOG.md @@ -1,4 +1,9 @@ -# Changelog for package velocity_controllers +# Changelog for package twist_controllers + +## 0.5.0 (2026-05-29) + +- Rename `velocity_controllers` to `twist_controllers` to avoid name collision + with ros2_controllers. ## 0.4.3 (2026-04-25) diff --git a/velocity_controllers/CMakeLists.txt b/twist_controllers/CMakeLists.txt similarity index 79% rename from velocity_controllers/CMakeLists.txt rename to twist_controllers/CMakeLists.txt index c5ca7dd..8bafa2f 100644 --- a/velocity_controllers/CMakeLists.txt +++ b/twist_controllers/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.23) -project(velocity_controllers) +project(twist_controllers) if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)") add_compile_options(-Wall -Wextra -Wpedantic) @@ -33,10 +33,10 @@ generate_parameter_library(adaptive_integral_terminal_sliding_mode_controller_pa src/adaptive_integral_terminal_sliding_mode_controller_parameters.yaml ) -add_library(velocity_controllers SHARED) +add_library(twist_controllers SHARED) target_sources( - velocity_controllers + twist_controllers PRIVATE src/integral_sliding_mode_controller.cpp src/adaptive_integral_terminal_sliding_mode_controller.cpp @@ -44,12 +44,12 @@ target_sources( FILE_SET HEADERS BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include FILES - ${CMAKE_CURRENT_SOURCE_DIR}/include/velocity_controllers/integral_sliding_mode_controller.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/include/velocity_controllers/adaptive_integral_terminal_sliding_mode_controller.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/include/twist_controllers/integral_sliding_mode_controller.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/include/twist_controllers/adaptive_integral_terminal_sliding_mode_controller.hpp ) -target_compile_features(velocity_controllers PUBLIC cxx_std_23) +target_compile_features(twist_controllers PUBLIC cxx_std_23) target_link_libraries( - velocity_controllers + twist_controllers PRIVATE integral_sliding_mode_controller_parameters adaptive_integral_terminal_sliding_mode_controller_parameters @@ -69,21 +69,21 @@ target_link_libraries( ${nav_msgs_TARGETS} ) -pluginlib_export_plugin_description_file(controller_interface velocity_controllers.xml) +pluginlib_export_plugin_description_file(controller_interface twist_controllers.xml) install( TARGETS - velocity_controllers + twist_controllers integral_sliding_mode_controller_parameters adaptive_integral_terminal_sliding_mode_controller_parameters - EXPORT export_velocity_controllers + EXPORT export_twist_controllers RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} FILE_SET HEADERS ) -ament_export_targets(export_velocity_controllers HAS_LIBRARY_TARGET) +ament_export_targets(export_twist_controllers HAS_LIBRARY_TARGET) ament_export_dependencies( "controller_interface" "hardware_interface" diff --git a/velocity_controllers/LICENSE b/twist_controllers/LICENSE similarity index 100% rename from velocity_controllers/LICENSE rename to twist_controllers/LICENSE diff --git a/velocity_controllers/README.md b/twist_controllers/README.md similarity index 96% rename from velocity_controllers/README.md rename to twist_controllers/README.md index 5a4238b..8a8d79c 100644 --- a/velocity_controllers/README.md +++ b/twist_controllers/README.md @@ -1,4 +1,4 @@ -# Velocity Controllers +# Twist Controllers This package provides a collection of velocity controllers, which calculate control commands (e.g., a wrench) needed to track a velocity reference @@ -22,7 +22,7 @@ Mode Control for an Unmanned Surface Vehicle Against External Disturbances", in ### Plugin Library -velocity_controllers/adaptive_integral_terminal_sliding_mode_controller +twist_controllers/adaptive_integral_terminal_sliding_mode_controller ### References @@ -70,7 +70,7 @@ Intervention Tasks with Lightweight Underwater Vehicle Manipulator Systems," in ### Plugin Library -velocity_controllers/integral_sliding_mode_controller +twist_controllers/integral_sliding_mode_controller ### References diff --git a/velocity_controllers/include/velocity_controllers/adaptive_integral_terminal_sliding_mode_controller.hpp b/twist_controllers/include/twist_controllers/adaptive_integral_terminal_sliding_mode_controller.hpp similarity index 96% rename from velocity_controllers/include/velocity_controllers/adaptive_integral_terminal_sliding_mode_controller.hpp rename to twist_controllers/include/twist_controllers/adaptive_integral_terminal_sliding_mode_controller.hpp index 95a8883..861c51d 100644 --- a/velocity_controllers/include/velocity_controllers/adaptive_integral_terminal_sliding_mode_controller.hpp +++ b/twist_controllers/include/twist_controllers/adaptive_integral_terminal_sliding_mode_controller.hpp @@ -38,9 +38,9 @@ #include "tf2_ros/transform_listener.hpp" // auto-generated by generate_parameter_library -#include +#include -namespace velocity_controllers +namespace twist_controllers { class AdaptiveIntegralTerminalSlidingModeController : public controller_interface::ChainableControllerInterface @@ -119,4 +119,4 @@ class AdaptiveIntegralTerminalSlidingModeController : public controller_interfac rclcpp::Logger logger_{rclcpp::get_logger("adaptive_integral_terminal_sliding_mode_controller")}; }; -} // namespace velocity_controllers +} // namespace twist_controllers diff --git a/velocity_controllers/include/velocity_controllers/integral_sliding_mode_controller.hpp b/twist_controllers/include/twist_controllers/integral_sliding_mode_controller.hpp similarity index 97% rename from velocity_controllers/include/velocity_controllers/integral_sliding_mode_controller.hpp rename to twist_controllers/include/twist_controllers/integral_sliding_mode_controller.hpp index bd1827a..2fcfd48 100644 --- a/velocity_controllers/include/velocity_controllers/integral_sliding_mode_controller.hpp +++ b/twist_controllers/include/twist_controllers/integral_sliding_mode_controller.hpp @@ -43,9 +43,9 @@ #include "tf2_ros/transform_listener.hpp" // auto-generated by generate_parameter_library -#include +#include -namespace velocity_controllers +namespace twist_controllers { class IntegralSlidingModeController : public controller_interface::ChainableControllerInterface { @@ -118,4 +118,4 @@ class IntegralSlidingModeController : public controller_interface::ChainableCont rclcpp::Logger logger_{rclcpp::get_logger("integral_sliding_mode_controller")}; }; -} // namespace velocity_controllers +} // namespace twist_controllers diff --git a/velocity_controllers/package.xml b/twist_controllers/package.xml similarity index 95% rename from velocity_controllers/package.xml rename to twist_controllers/package.xml index e263bed..07c4f40 100644 --- a/velocity_controllers/package.xml +++ b/twist_controllers/package.xml @@ -2,8 +2,8 @@ - velocity_controllers - 0.4.3 + twist_controllers + 0.5.0 A collection of velocity controllers for underwater vehicles Evan Palmer diff --git a/velocity_controllers/src/adaptive_integral_terminal_sliding_mode_controller.cpp b/twist_controllers/src/adaptive_integral_terminal_sliding_mode_controller.cpp similarity index 98% rename from velocity_controllers/src/adaptive_integral_terminal_sliding_mode_controller.cpp rename to twist_controllers/src/adaptive_integral_terminal_sliding_mode_controller.cpp index 4161aeb..3f1054a 100644 --- a/velocity_controllers/src/adaptive_integral_terminal_sliding_mode_controller.cpp +++ b/twist_controllers/src/adaptive_integral_terminal_sliding_mode_controller.cpp @@ -18,7 +18,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include "velocity_controllers/adaptive_integral_terminal_sliding_mode_controller.hpp" +#include "twist_controllers/adaptive_integral_terminal_sliding_mode_controller.hpp" #include @@ -27,7 +27,7 @@ #include "hardware_interface/types/hardware_interface_type_values.hpp" #include "tf2_eigen/tf2_eigen.hpp" -namespace velocity_controllers +namespace twist_controllers { namespace @@ -345,9 +345,9 @@ auto AdaptiveIntegralTerminalSlidingModeController::update_and_write_commands( return controller_interface::return_type::OK; } -} // namespace velocity_controllers +} // namespace twist_controllers #include "pluginlib/class_list_macros.hpp" PLUGINLIB_EXPORT_CLASS( - velocity_controllers::AdaptiveIntegralTerminalSlidingModeController, + twist_controllers::AdaptiveIntegralTerminalSlidingModeController, controller_interface::ChainableControllerInterface) diff --git a/velocity_controllers/src/adaptive_integral_terminal_sliding_mode_controller_parameters.yaml b/twist_controllers/src/adaptive_integral_terminal_sliding_mode_controller_parameters.yaml similarity index 100% rename from velocity_controllers/src/adaptive_integral_terminal_sliding_mode_controller_parameters.yaml rename to twist_controllers/src/adaptive_integral_terminal_sliding_mode_controller_parameters.yaml diff --git a/velocity_controllers/src/integral_sliding_mode_controller.cpp b/twist_controllers/src/integral_sliding_mode_controller.cpp similarity index 98% rename from velocity_controllers/src/integral_sliding_mode_controller.cpp rename to twist_controllers/src/integral_sliding_mode_controller.cpp index e870049..bdd9591 100644 --- a/velocity_controllers/src/integral_sliding_mode_controller.cpp +++ b/twist_controllers/src/integral_sliding_mode_controller.cpp @@ -18,7 +18,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include "velocity_controllers/integral_sliding_mode_controller.hpp" +#include "twist_controllers/integral_sliding_mode_controller.hpp" #include #include @@ -36,7 +36,7 @@ #include "pluginlib/class_list_macros.hpp" #include "tf2_eigen/tf2_eigen.hpp" -namespace velocity_controllers +namespace twist_controllers { auto IntegralSlidingModeController::on_init() -> controller_interface::CallbackReturn @@ -329,8 +329,8 @@ auto IntegralSlidingModeController::update_and_write_commands( return controller_interface::return_type::OK; } -} // namespace velocity_controllers +} // namespace twist_controllers PLUGINLIB_EXPORT_CLASS( - velocity_controllers::IntegralSlidingModeController, + twist_controllers::IntegralSlidingModeController, controller_interface::ChainableControllerInterface) diff --git a/velocity_controllers/src/integral_sliding_mode_controller_parameters.yaml b/twist_controllers/src/integral_sliding_mode_controller_parameters.yaml similarity index 100% rename from velocity_controllers/src/integral_sliding_mode_controller_parameters.yaml rename to twist_controllers/src/integral_sliding_mode_controller_parameters.yaml diff --git a/velocity_controllers/velocity_controllers.xml b/twist_controllers/twist_controllers.xml similarity index 54% rename from velocity_controllers/velocity_controllers.xml rename to twist_controllers/twist_controllers.xml index be75711..20b8c1e 100644 --- a/velocity_controllers/velocity_controllers.xml +++ b/twist_controllers/twist_controllers.xml @@ -1,14 +1,14 @@ - - + Integral sliding mode controller for AUV velocity control - Adaptive integral terminal sliding mode controller for AUV velocity control diff --git a/whole_body_controllers/CHANGELOG.md b/whole_body_controllers/CHANGELOG.md index eb5275e..12f158f 100644 --- a/whole_body_controllers/CHANGELOG.md +++ b/whole_body_controllers/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog for package whole_body_controllers +## 0.5.0 (2026-05-29) + ## 0.4.3 (2026-04-25) ## 0.4.2 (2026-03-30) diff --git a/whole_body_controllers/package.xml b/whole_body_controllers/package.xml index 15f7137..888ba2b 100644 --- a/whole_body_controllers/package.xml +++ b/whole_body_controllers/package.xml @@ -3,7 +3,7 @@ whole_body_controllers - 0.4.3 + 0.5.0 Whole-body controllers for underwater vehicle manipulator systems Evan Palmer