@@ -23,16 +23,16 @@ applies a PWM command to the hardware interface.
2323 The output should resemble:
2424
2525 ``` bash
26- integral_sliding_mode_controller[ velocity_controllers/IntegralSlidingModeController] active
27- thruster_allocation_matrix_controller[ thruster_allocation_matrix_controller/ThrusterAllocationMatrixController] active
28- thruster_1_controller[ thruster_controllers/PolynomialThrustCurveController] active
29- thruster_2_controller[ thruster_controllers/PolynomialThrustCurveController] active
30- thruster_3_controller[ thruster_controllers/PolynomialThrustCurveController] active
31- thruster_4_controller[ thruster_controllers/PolynomialThrustCurveController] active
32- thruster_5_controller[ thruster_controllers/PolynomialThrustCurveController] active
33- thruster_6_controller[ thruster_controllers/PolynomialThrustCurveController] active
34- thruster_7_controller[ thruster_controllers/PolynomialThrustCurveController] active
35- thruster_8_controller[ thruster_controllers/PolynomialThrustCurveController] active
26+ adaptive_integral_terminal_sliding_mode_controller velocity_controllers/AdaptiveIntegralTerminalSlidingModeController active
27+ thruster_allocation_matrix_controller thruster_allocation_matrix_controller/ThrusterAllocationMatrixController active
28+ thruster_8_controller thruster_controllers/PolynomialThrustCurveController active
29+ thruster_7_controller thruster_controllers/PolynomialThrustCurveController active
30+ thruster_6_controller thruster_controllers/PolynomialThrustCurveController active
31+ thruster_5_controller thruster_controllers/PolynomialThrustCurveController active
32+ thruster_4_controller thruster_controllers/PolynomialThrustCurveController active
33+ thruster_3_controller thruster_controllers/PolynomialThrustCurveController active
34+ thruster_2_controller thruster_controllers/PolynomialThrustCurveController active
35+ thruster_1_controller thruster_controllers/PolynomialThrustCurveController active
3636 ```
3737
38383 . Verify that the hardware interfaces have been properly loaded by opening
@@ -46,57 +46,51 @@ applies a PWM command to the hardware interface.
4646
4747 ``` bash
4848 command interfaces
49- integral_sliding_mode_controller /rx/velocity [available] [unclaimed]
50- integral_sliding_mode_controller /ry/velocity [available] [unclaimed]
51- integral_sliding_mode_controller /rz/velocity [available] [unclaimed]
52- integral_sliding_mode_controller /x/velocity [available] [unclaimed]
53- integral_sliding_mode_controller /y/velocity [available] [unclaimed]
54- integral_sliding_mode_controller /z/velocity [available] [unclaimed]
55- thruster_1_controller/thruster_1_joint/effort [available] [claimed]
56- thruster_1_joint/effort [available] [claimed]
57- thruster_2_controller/thruster_2_joint/effort [available] [claimed]
58- thruster_2_joint/effort [available] [claimed]
59- thruster_3_controller/thruster_3_joint/effort [available] [claimed]
60- thruster_3_joint/effort [available] [claimed]
61- thruster_4_controller/thruster_4_joint/effort [available] [claimed]
62- thruster_4_joint/effort [available] [claimed]
63- thruster_5_controller/thruster_5_joint/effort [available] [claimed]
64- thruster_5_joint/effort [available] [claimed]
65- thruster_6_controller/thruster_6_joint/effort [available] [claimed]
66- thruster_6_joint/effort [available] [claimed]
67- thruster_7_controller/thruster_7_joint/effort [available] [claimed]
68- thruster_7_joint/effort [available] [claimed]
69- thruster_8_controller/thruster_8_joint/effort [available] [claimed]
70- thruster_8_joint/effort [available] [claimed]
71- thruster_allocation_matrix_controller/rx/effort [available] [claimed]
72- thruster_allocation_matrix_controller/ry/effort [available] [claimed]
73- thruster_allocation_matrix_controller/rz/effort [available] [claimed]
74- thruster_allocation_matrix_controller/x/effort [available] [claimed]
75- thruster_allocation_matrix_controller/y/effort [available] [claimed]
76- thruster_allocation_matrix_controller/z/effort [available] [claimed]
49+ adaptive_integral_terminal_sliding_mode_controller /rx/velocity [available] [unclaimed]
50+ adaptive_integral_terminal_sliding_mode_controller /ry/velocity [available] [unclaimed]
51+ adaptive_integral_terminal_sliding_mode_controller /rz/velocity [available] [unclaimed]
52+ adaptive_integral_terminal_sliding_mode_controller /x/velocity [available] [unclaimed]
53+ adaptive_integral_terminal_sliding_mode_controller /y/velocity [available] [unclaimed]
54+ adaptive_integral_terminal_sliding_mode_controller /z/velocity [available] [unclaimed]
55+ thruster_1_controller/thruster_1_joint/effort [available] [claimed]
56+ thruster_1_joint/pwm [available] [claimed]
57+ thruster_2_controller/thruster_2_joint/effort [available] [claimed]
58+ thruster_2_joint/pwm [available] [claimed]
59+ thruster_3_controller/thruster_3_joint/effort [available] [claimed]
60+ thruster_3_joint/pwm [available] [claimed]
61+ thruster_4_controller/thruster_4_joint/effort [available] [claimed]
62+ thruster_4_joint/pwm [available] [claimed]
63+ thruster_5_controller/thruster_5_joint/effort [available] [claimed]
64+ thruster_5_joint/pwm [available] [claimed]
65+ thruster_6_controller/thruster_6_joint/effort [available] [claimed]
66+ thruster_6_joint/pwm [available] [claimed]
67+ thruster_7_controller/thruster_7_joint/effort [available] [claimed]
68+ thruster_7_joint/pwm [available] [claimed]
69+ thruster_8_controller/thruster_8_joint/effort [available] [claimed]
70+ thruster_8_joint/pwm [available] [claimed]
71+ thruster_allocation_matrix_controller/rx/effort [available] [claimed]
72+ thruster_allocation_matrix_controller/ry/effort [available] [claimed]
73+ thruster_allocation_matrix_controller/rz/effort [available] [claimed]
74+ thruster_allocation_matrix_controller/x/effort [available] [claimed]
75+ thruster_allocation_matrix_controller/y/effort [available] [claimed]
76+ thruster_allocation_matrix_controller/z/effort [available] [claimed]
7777 state interfaces
78- rx/velocity
79- ry/velocity
80- rz/velocity
81- x/velocity
82- y/velocity
83- z/velocity
8478 ```
8579
86- 4 . State feedback can be provided to ISMC using the controller's state
80+ 4 . State feedback can be provided to AITSMC using the controller's state
8781 interfaces or a topic. To demonstrate the topic-based interface, run the
8882 following command:
8983
9084 ``` bash
91- ros2 topic pub /integral_sliding_mode_controller /system_state nav_msgs/msg/Odometry
85+ ros2 topic pub /adaptive_integral_terminal_sliding_mode_controller /system_state nav_msgs/msg/Odometry
9286 ```
9387
94- 5 . The ISMC accepts reference commands sent over a topic or a reference
88+ 5 . The AITSMC accepts reference commands sent over a topic or a reference
9589 interface. Run the following command in a separate terminal to provide the
9690 controller with a dummy reference input:
9791
9892 ``` bash
99- ros2 topic pub /integral_sliding_mode_controller /reference geometry_msgs/msg/Twist " {linear: {x: 0.5, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.2}}"
93+ ros2 topic pub /adaptive_integral_terminal_sliding_mode_controller /reference geometry_msgs/msg/Twist " {linear: {x: 0.5, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.2}}"
10094 ```
10195
102966 . Each of the implemented controllers publishes controller state information to
@@ -111,23 +105,23 @@ applies a PWM command to the hardware interface.
111105 ``` bash
112106 header:
113107 stamp:
114- sec: 1710818346
115- nanosec: 252453476
108+ sec: 1748936962
109+ nanosec: 907678344
116110 frame_id: ' '
117111 dof_state:
118112 name: thruster_2_joint
119- reference: -39.79632414479818
113+ reference: -63.32823451272053
120114 feedback: 0.0
121115 feedback_dot: 0.0
122116 error: 0.0
123117 error_dot: 0.0
124- time_step: 0.033380572
118+ time_step: 0.033281545
125119 output: 1134.0
126120 ```
127121
128122 This output indicates that the controller chaining was successful. In
129123 particular, we can see that the velocity commands sent to the
130- ` integral_sliding_mode_controller ` are converted to thrust values, which is
124+ ` adaptive_integral_terminal_sliding_mode_controller ` are converted to thrust values, which is
131125 reflected in the ` thruster_controller ` output.
132126
133127## Files used for this demo
@@ -136,14 +130,15 @@ applies a PWM command to the hardware interface.
136130 - [ chaining.launch.py] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/chained_controllers/launch/chaining.launch.py )
137131
138132- Controllers:
139- - [ Integral Sliding Mode Controller] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/tree/main/velocity_controllers )
133+ - [ Adaptive Integral Terminal Sliding Mode Controller] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/tree/main/velocity_controllers )
140134 - [ Thruster Allocation Matrix Controller] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/tree/main/thruster_allocation_matrix_controller )
141135 - [ Polynomial Thrust Curve Controller] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/tree/main/thruster_controllers )
142136
143137- Controller Config:
144- - [ chained_controllers .yaml] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/chained_controllers/config/chained_controllers.yaml )
138+ - [ chained.controllers .yaml] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/chained_controllers/config/chained_controllers.yaml )
145139
146140- Xacro Files:
147- - [ chained_config.xacro] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/chained_controllers/xacro/chained_config.xacro )
148- - [ chained_ros2_control.xacro] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/chained_controllers/xacro/chained_ros2_control.xacro )
149- - [ chained_urdf.xacro] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/chained_controllers/xacro/chained_urdf.xacro )
141+ - [ chained.config.xacro] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/chained_controllers/xacro/chained.config.xacro )
142+ - [ chained.ros2_control.xacro] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/chained_controllers/xacro/chained.ros2_control.xacro )
143+ - [ chained.urdf.xacro] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/chained_controllers/xacro/chained.urdf.xacro )
144+ - [ chained.model.xacro] ( https://github.com/Robotic-Decision-Making-Lab/auv_controllers/blob/main/auv_control_demos/chained_controllers/xacro/chained.urdf.xacro )
0 commit comments