Skip to content

Commit 25d0b83

Browse files
authored
Move clearpath_diagnostics to clearpath_common (#211)
1 parent d2b7702 commit 25d0b83

File tree

11 files changed

+1393
-0
lines changed

11 files changed

+1393
-0
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ jobs:
4343
clearpath_control
4444
clearpath_customization
4545
clearpath_description
46+
clearpath_diagnostics
4647
clearpath_generator_common
4748
clearpath_mounts_description
4849
clearpath_platform_description
@@ -64,6 +65,7 @@ jobs:
6465
clearpath_control
6566
clearpath_customization
6667
clearpath_description
68+
clearpath_diagnostics
6769
clearpath_generator_common
6870
clearpath_mounts_description
6971
clearpath_platform_description
@@ -104,6 +106,7 @@ jobs:
104106
clearpath_control
105107
clearpath_customization
106108
clearpath_description
109+
clearpath_diagnostics
107110
clearpath_generator_common
108111
clearpath_mounts_description
109112
clearpath_platform_description
@@ -141,6 +144,7 @@ jobs:
141144
clearpath_control
142145
clearpath_customization
143146
clearpath_description
147+
clearpath_diagnostics
144148
clearpath_generator_common
145149
clearpath_mounts_description
146150
clearpath_platform_description

clearpath_diagnostics/CHANGELOG.rst

Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2+
Changelog for package clearpath_diagnostics
3+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4+
5+
2.4.0 (2025-04-30)
6+
------------------
7+
8+
2.3.3 (2025-04-17)
9+
------------------
10+
11+
2.3.2 (2025-04-16)
12+
------------------
13+
14+
2.3.1 (2025-04-14)
15+
------------------
16+
* Remove duplicate and incorrect current / voltage labels (`#197 <https://github.com/clearpathrobotics/clearpath_robot/issues/197>`_)
17+
The terms "measured voltage" or "measured current" are prepended to these labels where they are used.
18+
* Contributors: Hilary Luo
19+
20+
2.3.0 (2025-04-11)
21+
------------------
22+
* Lint: Diagnostic move log to new line (`#191 <https://github.com/clearpathrobotics/clearpath_robot/issues/191>`_)
23+
* Fix/estop diagnostics (`#184 <https://github.com/clearpathrobotics/clearpath_robot/issues/184>`_)
24+
* Feature/clear stale diagnostics (`#183 <https://github.com/clearpathrobotics/clearpath_robot/issues/183>`_)
25+
* Feature/diagnostic categories (`#175 <https://github.com/clearpathrobotics/clearpath_robot/issues/175>`_)
26+
* Feature/inventus diagnostics (`#170 <https://github.com/clearpathrobotics/clearpath_robot/issues/170>`_)
27+
28+
* Contributors: Hilary Luo, Tony Baltovski, Luis Camero
29+
30+
2.2.4 (2025-04-07)
31+
------------------
32+
33+
2.2.3 (2025-03-20)
34+
------------------
35+
* [clearpath_diagnostics] Updated for changes to MCU status message.
36+
* Contributors: Tony Baltovski
37+
38+
2.2.2 (2025-03-17)
39+
------------------
40+
41+
2.2.1 (2025-03-12)
42+
------------------
43+
44+
2.2.0 (2025-03-11)
45+
------------------
46+
* Feature/generated agg yaml (`#158 <https://github.com/clearpathrobotics/clearpath_robot/issues/158>`_)
47+
* Clear out sensor categories that will be generated
48+
* Improve logging and error handling
49+
* Correction to dependencies
50+
* Fix BMS frequency diagnostic (`#157 <https://github.com/clearpathrobotics/clearpath_robot/issues/157>`_)
51+
* Added Lynx motor driver diagnostics (`#149 <https://github.com/clearpathrobotics/clearpath_robot/issues/149>`_)
52+
* Removed trailing spaces
53+
* Added Lynx motor diagnostics
54+
* Feature/lighting diagnostics (`#144 <https://github.com/clearpathrobotics/clearpath_robot/issues/144>`_)
55+
* Add lighting diagnostics
56+
* Remap lighting diagnostic topic
57+
* Set diagnostic updater hardware id to platform since serial isn't locally available
58+
* Improve clarity of diagnostic summary text
59+
* Feature/battery diagnostics (`#142 <https://github.com/clearpathrobotics/clearpath_robot/issues/142>`_)
60+
* Add missing DiagnosticStatus dependency
61+
* Monitor BatteryState, Power and StopStatus messages
62+
* Declare methods before member variables
63+
* Move the template function to the cpp since it is private
64+
* Only display error summaries if a message has been received
65+
* Contributors: Hilary Luo
66+
67+
2.1.2 (2025-02-28)
68+
------------------
69+
70+
2.1.1 (2025-02-06)
71+
------------------
72+
73+
2.1.0 (2025-01-31)
74+
------------------
75+
* Feature/diagnostics (`#135 <https://github.com/clearpathrobotics/clearpath_robot/issues/135>`_)
76+
* Initial port of diagnostics to C++
77+
* Remap axis camera topics to match API
78+
* Monitor MCU Status message frequency
79+
* Added firmware version check
80+
* Group MCU diagnostics together
81+
* Improve messaging around firmware versions
82+
* Disable MCU diagnostics for A200
83+
* Contributors: Hilary Luo
84+
85+
2.0.4 (2025-01-22)
86+
------------------
87+
88+
2.0.3 (2025-01-17)
89+
------------------
90+
* [clearpath_diagnostics] Fixed version.
91+
* Contributors: Tony Baltovski
92+
93+
2.0.2 (2025-01-17)
94+
------------------
95+
96+
2.0.1 (2025-01-17)
97+
------------------
98+
99+
2.0.0 (2025-01-17)
100+
------------------
101+
* Fix hard-coded humble packages (`#117 <https://github.com/clearpathrobotics/clearpath_robot/issues/117>`_)
102+
* Contributors: Chris Iverach-Brereton, Luis Camero, Tony Baltovski
103+
104+
1.1.0 (2025-01-15)
105+
------------------
106+
107+
1.0.1 (2024-11-28)
108+
------------------
109+
110+
1.0.0 (2024-11-26)
111+
------------------
112+
* Added minimum version.
113+
* Remove battery_state from CMakeLists
114+
* Move battery_state to clearpath_hardware_interfaces
115+
* Contributors: Luis Camero, Tony Baltovski
116+
117+
0.3.2 (2024-10-04)
118+
------------------
119+
120+
0.3.1 (2024-09-23)
121+
------------------
122+
123+
0.3.0 (2024-09-19)
124+
------------------
125+
* R100 Initial Battry
126+
* Contributors: Luis Camero, luis-camero
127+
128+
0.2.15 (2024-08-12)
129+
-------------------
130+
131+
0.2.14 (2024-08-08)
132+
-------------------
133+
134+
0.2.13 (2024-07-30)
135+
-------------------
136+
137+
0.2.12 (2024-07-22)
138+
-------------------
139+
* Use PathJoinSubstitution for setup_path
140+
* Contributors: Luis Camero
141+
142+
0.2.11 (2024-05-28)
143+
-------------------
144+
145+
0.2.10 (2024-05-16)
146+
-------------------
147+
148+
0.2.9 (2024-05-16)
149+
------------------
150+
151+
0.2.8 (2024-05-14)
152+
------------------
153+
* Even more lint errors
154+
* More linting changes
155+
* Fixed linting errors
156+
* Contributors: Luis Camero
157+
158+
0.2.7 (2024-04-10)
159+
------------------
160+
161+
0.2.6 (2024-04-08)
162+
------------------
163+
164+
0.2.5 (2024-03-07)
165+
------------------
166+
167+
0.2.4 (2024-01-19)
168+
------------------
169+
170+
0.2.3 (2024-01-18)
171+
------------------
172+
173+
0.2.2 (2024-01-10)
174+
------------------
175+
* Get topic without namespace to address duplicate namespacing
176+
* Contributors: Hilary Luo
177+
178+
0.2.1 (2023-12-18)
179+
------------------
180+
181+
0.2.0 (2023-12-13)
182+
------------------
183+
* Added S1P2 battery configuration
184+
* Set battery charging status
185+
* Added dingo to battery state control
186+
* Added D100 and D150 to generator and battery node
187+
* Generate lighting node
188+
* Fixed status message firmware version
189+
* J100 -> W200
190+
* Removed shebang
191+
* Use battery model and configuration from clearpath_config
192+
* Removed HMI msg, encode Uint8 instead
193+
* Initial battery control node
194+
* Renamed to battery_state_estimator
195+
Added to robot generator
196+
* Properties, capacity, voltage
197+
Create pub/sub only for LiION and SLA
198+
* Added LUT for SLA
199+
* Battery types and configurations
200+
* rolling average
201+
* Initial battery state publisher
202+
* Pass setup path
203+
* Get namespace from robot.yaml for diagnostics launch
204+
Added diagnostics launch to generator
205+
* Check ros-humble-clearpath-firmware package version
206+
* Add all sensors
207+
* Firmware and sensor diagnostics
208+
* Contributors: Roni Kreinin
209+
210+
0.1.3 (2023-10-04)
211+
------------------
212+
213+
0.1.2 (2023-09-27)
214+
------------------
215+
216+
0.1.1 (2023-09-11)
217+
------------------
218+
219+
0.1.0 (2023-08-31)
220+
------------------
221+
222+
0.0.3 (2023-08-15)
223+
------------------
224+
225+
0.0.2 (2023-07-25)
226+
------------------
227+
228+
0.0.1 (2023-07-20)
229+
------------------

clearpath_diagnostics/CMakeLists.txt

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
cmake_minimum_required(VERSION 3.8)
2+
project(clearpath_diagnostics)
3+
4+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
5+
add_compile_options(-Wall -Wextra -Wpedantic)
6+
endif()
7+
8+
# find dependencies
9+
find_package(ament_cmake REQUIRED)
10+
find_package(clearpath_platform_msgs REQUIRED)
11+
find_package(diagnostic_updater REQUIRED)
12+
find_package(rclcpp REQUIRED)
13+
find_package(sensor_msgs REQUIRED)
14+
15+
set(DEPENDENCIES
16+
ament_cmake
17+
clearpath_platform_msgs
18+
diagnostic_updater
19+
rclcpp
20+
sensor_msgs
21+
)
22+
23+
add_executable(clearpath_diagnostic_updater
24+
src/clearpath_diagnostic_updater.cpp
25+
)
26+
target_include_directories(clearpath_diagnostic_updater PUBLIC
27+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
28+
$<INSTALL_INTERFACE:include/${PROJECT_NAME}>)
29+
target_compile_features(clearpath_diagnostic_updater PUBLIC c_std_99 cxx_std_17) # Require C99 and C++17
30+
31+
ament_target_dependencies(clearpath_diagnostic_updater ${DEPENDENCIES})
32+
target_link_libraries(clearpath_diagnostic_updater)
33+
34+
install(TARGETS clearpath_diagnostic_updater
35+
DESTINATION lib/${PROJECT_NAME})
36+
37+
install(DIRECTORY config launch
38+
DESTINATION share/${PROJECT_NAME}
39+
)
40+
41+
if(BUILD_TESTING)
42+
find_package(ament_lint_auto REQUIRED)
43+
# the following line skips the linter which checks for copyrights
44+
# comment the line when a copyright and license is added to all source files
45+
set(ament_cmake_copyright_FOUND TRUE)
46+
# the following line skips cpplint (only works in a git repo)
47+
# comment the line when this package is in a git repo and when
48+
# a copyright and license is added to all source files
49+
set(ament_cmake_cpplint_FOUND TRUE)
50+
ament_lint_auto_find_test_dependencies()
51+
endif()
52+
53+
ament_package()
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Note that this file is the default configuration but some elements are appended or overridden
2+
# in clearpath_generator_common
3+
diagnostic_aggregator:
4+
ros__parameters:
5+
path: Clearpath Diagnostics
6+
platform:
7+
type: diagnostic_aggregator/AnalyzerGroup
8+
path: Platform
9+
analyzers:
10+
power:
11+
type: diagnostic_aggregator/GenericAnalyzer
12+
path: Power
13+
expected: [
14+
'clearpath_diagnostic_updater: Battery Management System',
15+
'clearpath_diagnostic_updater: Power Status'
16+
]
17+
contains: [ 'Battery', 'Power' ]
18+
stop_status:
19+
type: diagnostic_aggregator/GenericAnalyzer
20+
path: E-stop Status
21+
expected: [ 'clearpath_diagnostic_updater: E-stop Status' ]
22+
contains: [ 'E-stop' ]
23+
lighting:
24+
type: diagnostic_aggregator/GenericAnalyzer
25+
path: Lighting
26+
contains: [ 'Light' ]
27+
drive:
28+
type: diagnostic_aggregator/GenericAnalyzer
29+
path: Drive System
30+
expected: [
31+
'controller_manager: Controller Manager Activity',
32+
'controller_manager: Controllers Activity',
33+
'controller_manager: Hardware Components Activity',
34+
]
35+
contains: [
36+
'lynx',
37+
'puma',
38+
'sevcon',
39+
'controller_manager',
40+
'twist_mux',
41+
'joy_node'
42+
]
43+
odometry:
44+
type: diagnostic_aggregator/GenericAnalyzer
45+
path: Odometry
46+
contains: [ 'odometry', 'ekf_node' ]
47+
networking:
48+
type: diagnostic_aggregator/GenericAnalyzer
49+
path: Networking
50+
contains: [ 'Wi-Fi' ]
51+
# sensors:
52+
# type: diagnostic_aggregator/AnalyzerGroup
53+
# path: Sensors
54+
# analyzers: # Must be populated with the sensor categories
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
clearpath_diagnostic_updater:
2+
ros__parameters:
3+
serial_number: unknown
4+
platform_model: unknown
5+
ros_distro: unknown
6+
latest_apt_firmware_version: unknown
7+
installed_apt_firmware_version: unknown
8+
# topics: # Must be populated with the topics to be monitored

0 commit comments

Comments
 (0)