Skip to content

Commit e69c53d

Browse files
evan-palmermergify[bot]
authored andcommitted
Implemented a controller coordinator (#63)
* Fixed stale demos * Update package versions * Fix obsolete tf2 header * Added a coordinator to activate controllers/hardware * Address pr comments (cherry picked from commit 289f6e0) # Conflicts: # auv_control_demos/CHANGELOG.md # auv_control_demos/package.xml # auv_control_msgs/CHANGELOG.md # auv_control_msgs/package.xml # auv_controllers/CHANGELOG.md # auv_controllers/package.xml # controller_common/CHANGELOG.md # controller_common/package.xml # end_effector_trajectory_controller/CHANGELOG.md # end_effector_trajectory_controller/package.xml # ik_solvers/CHANGELOG.md # ik_solvers/package.xml # thruster_allocation_matrix_controller/CHANGELOG.md # thruster_allocation_matrix_controller/package.xml # thruster_controllers/CHANGELOG.md # thruster_controllers/package.xml # topic_sensors/CHANGELOG.md # topic_sensors/package.xml # velocity_controllers/CHANGELOG.md # velocity_controllers/package.xml # whole_body_controllers/CHANGELOG.md # whole_body_controllers/package.xml
1 parent c9c58a1 commit e69c53d

File tree

30 files changed

+719
-0
lines changed

30 files changed

+719
-0
lines changed

auv_control_demos/CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Changelog for package auv_control_demos
2+
3+
## 0.3.0 (2025-06-07)
4+
5+
## 0.2.1 (2025-06-03)
6+
7+
- Updates the individual_controller and chained_controllers demos to use the
8+
current `hydrodynamics` API and the new adaptive integral terminal sliding mode
9+
controller.
10+
11+
## 0.2.0 (2025-05-03)
12+
13+
## 0.1.0 (2025-04-27)
14+
15+
- Updates the individual_controller and chained_controllers demos to use the
16+
correct topic names

auv_control_demos/package.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@
22
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="3">
44
<name>auv_control_demos</name>
5+
<<<<<<< HEAD
56
<version>0.0.1</version>
67
<description>Example package that includes demos for using auv_controllers in individual and
78
chained modes</description>
9+
=======
10+
<version>0.3.0</version>
11+
<description>Example package that includes demos for using auv_controllers in individual and chained modes</description>
12+
>>>>>>> 289f6e0 (Implemented a controller coordinator (#63))
813

914
<maintainer email="[email protected]">Colin Mitchell</maintainer>
1015
<maintainer email="[email protected]">Everardo Gonzalez</maintainer>

auv_control_msgs/CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Changelog for package auv_control_msgs
2+
3+
## 0.3.0 (2025-06-07)
4+
5+
## 0.2.1 (2025-06-03)
6+
7+
## 0.2.0 (2025-05-03)
8+
9+
- Implements the EndEffectorTrajectory message
10+
- Implements the EndEffectorTrajectoryPoint message
11+
- Implements the EndEffectorTrajectoryControllerState message
12+
- Adds the FollowEndEffectorTrajectory action
13+
14+
## 0.1.0 (2025-04-27)
15+
16+
- Implements the IKControllerStateStamped message to support the new IK
17+
controller

auv_control_msgs/package.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
<?xml version="1.0"?>
22
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
33
<package format="3">
4+
45
<name>auv_control_msgs</name>
6+
<<<<<<< HEAD
57
<version>0.0.1</version>
8+
=======
9+
<version>0.3.0</version>
10+
>>>>>>> 289f6e0 (Implemented a controller coordinator (#63))
611
<description>Custom messages for AUV controllers</description>
712

813
<maintainer email="[email protected]">Rakesh Vivekanandan</maintainer>

auv_controllers/CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Changelog for package auv_controllers
2+
3+
## 0.3.0 (2025-06-07)
4+
5+
- Implements the controller coordinator
6+
7+
## 0.2.1 (2025-06-03)
8+
9+
- Fixes the auv_control_demos configurations
10+
11+
## 0.2.0 (2025-05-03)
12+
13+
- Adds the end effector trajectory controller
14+
15+
## 0.1.0 (2025-04-27)
16+
17+
- Adds the adaptive integral terminal sliding mode controller
18+
- Adds the task priority IK solver
19+
- Adds the IK whole-body controller
20+
- Adds the odom topic sensor
21+
- Adds the controller_common package
22+
- Adds the Gazebo passthrough thruster controller
23+
- Adds the thruster rotation rate controller

auv_controllers/package.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
<package format="3">
44

55
<name>auv_controllers</name>
6+
<<<<<<< HEAD
67
<version>0.0.1</version>
8+
=======
9+
<version>0.3.0</version>
10+
>>>>>>> 289f6e0 (Implemented a controller coordinator (#63))
711
<description>Meta package for auv_controllers</description>
812

913
<maintainer email="[email protected]">Evan Palmer</maintainer>

controller_common/CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Changelog for package controller_common
2+
3+
## 0.3.0 (2025-06-07)
4+
5+
## 0.2.1 (2025-06-03)
6+
7+
## 0.2.0 (2025-05-03)
8+
9+
- Adds the common::math::isclose method for comparing doubles
10+
11+
## 0.1.0 (2025-04-27)
12+
13+
- Ports reset message functions and error calculation to a common API

controller_common/package.xml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0"?>
2+
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
3+
<package format="3">
4+
5+
<name>controller_common</name>
6+
<version>0.3.0</version>
7+
<description>Common interfaces for controllers used in this project</description>
8+
9+
<maintainer email="[email protected]">Evan Palmer</maintainer>
10+
<license>MIT</license>
11+
12+
<url type="repository">https://github.com/Robotic-Decision-Making-Lab/auv_controllers.git</url>
13+
<url type="bugtracker">https://github.com/Robotic-Decision-Making-Lab/auv_controllers/issues</url>
14+
15+
<author>Evan Palmer</author>
16+
17+
<buildtool_depend>ament_cmake</buildtool_depend>
18+
19+
<depend>rclcpp</depend>
20+
<depend>geometry_msgs</depend>
21+
<depend>nav_msgs</depend>
22+
23+
<export>
24+
<build_type>ament_cmake</build_type>
25+
</export>
26+
</package>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Changelog for package controller_coordinator
2+
3+
## 0.3.0 (2025-06-07)
4+
5+
- Implements a simple service endpoint for activating and deactivating a
6+
control system.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
cmake_minimum_required(VERSION 3.23)
2+
project(controller_coordinator)
3+
4+
if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
5+
add_compile_options(-Wall -Wextra -Wpedantic)
6+
endif()
7+
8+
include(GNUInstallDirs)
9+
10+
find_package(rclcpp REQUIRED)
11+
find_package(controller_manager_msgs REQUIRED)
12+
find_package(ament_cmake REQUIRED)
13+
find_package(generate_parameter_library REQUIRED)
14+
find_package(std_srvs REQUIRED)
15+
16+
generate_parameter_library(controller_coordinator_parameters src/coordinator_parameters.yaml)
17+
18+
add_executable(controller_coordinator)
19+
target_sources(controller_coordinator PRIVATE src/coordinator.cpp)
20+
21+
target_compile_features(controller_coordinator PUBLIC cxx_std_20)
22+
target_link_libraries(
23+
controller_coordinator
24+
PUBLIC
25+
controller_coordinator_parameters
26+
rclcpp::rclcpp
27+
${controller_manager_msgs_TARGETS}
28+
${std_srvs_TARGETS}
29+
)
30+
31+
install(
32+
TARGETS
33+
controller_coordinator
34+
controller_coordinator_parameters
35+
DESTINATION
36+
lib/controller_coordinator
37+
)
38+
39+
ament_package()

0 commit comments

Comments
 (0)