Skip to content

Commit

Permalink
added logger msgs in ROS2 Jazzy
Browse files Browse the repository at this point in the history
  • Loading branch information
jmastrangelo-cpr committed Oct 4, 2024
1 parent 368be62 commit a2c759d
Show file tree
Hide file tree
Showing 17 changed files with 336 additions and 0 deletions.
37 changes: 37 additions & 0 deletions clearpath_outdoornav_msgs/clearpath_logger_msgs/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package clearpath_logger_msgs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.10.0 (2024-07-04)
-------------------
* Merge pull request `#46 <https://github.com/clearpathrobotics/clearpath_msgs/issues/46>`_ from clearpathrobotics/0.13/features
0.13/features
* Merge remote-tracking branch 'refs/remotes/origin/mission-logger' into 0.13/features
* Docs
* mission_uuid -> name in StartRecording
* EventLog mission_uuid -> name
* Add MIME types to media events
* Remove quotation marks around string constants; they are not required
* Add error event logging, add a custom json field to the master event log
* Add the custom json data to the stop_recording service
* Change the heading units
* Add the EventLogs message
* Add an additional flag to expunge the master record if desired
* Add the service to delete logs
* Add a flag to indicate if media files are missing from recording archives
* Add the auto_telemetry tag
* Remove an unnecessary dependency
* Fix the all-logs service to return an array
* Fix constants
* Add additional services, add fields to event-recorder services
* Add the download-log service
* TAG_POSITION -> TAG_LOCATION, add frame_id to custom events
* Add additional services
* Add the custom event service
* Add initial event-recording services
* Add first-draft Event, EventLog messages
* Fill in the skeleton for the new messages package
* Contributors: Chris Iverach-Brereton, Stephen Phillips, jmastrangelo-cpr

0.9.9 (2024-03-14)
------------------
40 changes: 40 additions & 0 deletions clearpath_outdoornav_msgs/clearpath_logger_msgs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
cmake_minimum_required(VERSION 3.8)
project(clearpath_logger_msgs)

## Find catkin macros and libraries
find_package(rosidl_default_generators REQUIRED)
find_package(ament_cmake REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(nav_msgs REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(std_msgs REQUIRED)
set(CMAKE_CXX_STANDARD 17)

rosidl_generate_interfaces(
${PROJECT_NAME}
msg/Event.msg
msg/EventLog.msg
msg/EventLogs.msg
srv/DeleteLog.srv
srv/GetAllLogs.srv
srv/DownloadLog.srv
srv/RecordEvent.srv
srv/RecordCustomEvent.srv
srv/RecordErrorEvent.srv
srv/RecordLocationEvent.srv
srv/RecordMediaEvent.srv
srv/RecordPowerEvent.srv
srv/StartRecording.srv
srv/StopRecording.srv
DEPENDENCIES
geometry_msgs
nav_msgs
sensor_msgs
std_msgs
)

ament_package()

install(FILES
DESTINATION include/${PROJECT_NAME}
)
101 changes: 101 additions & 0 deletions clearpath_outdoornav_msgs/clearpath_logger_msgs/msg/Event.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
################################################################################
## Universal log event. Represents a single even recorded to the log
################################################################################

# Tag for events that include a media_path
string TAG_MEDIA = media

# Tag indicating that the event's charger status & battery level have been set
string TAG_POWER = power

# Tag indicating that the event's GPS position has been set
string TAG_LOCATION = location

# Tag indicating that the event's odometry data has been set
string TAG_ODOMETRY = odom

# Tag indicating that the event's velocity data has been set
string TAG_VELOCITY = vel

# Tag indicating that the event's error/debugging data has been set
string TAG_ERROR = error

# Tag indicating that this event was automatically recorded telemetry
string TAG_AUTO_TELEMETRY = auto_telemetry

################################################################################
## Header & general meta-data about the event
################################################################################

# Header
# - seq: the order of this event within its parent ExecutionLog
# - frame_id: the sensor/manipulator frame referenced by the frame_pose field
# - stamp: the time that this event occurred
std_msgs/Header header

################################################################################
## Media & sensor data
################################################################################

# If this even has media, this is its path on-disk
string media_path

# If this event has media, this is its MIME type
# May be left blank
string media_mime_type

# The pose of the sensor/manipulator frame given by header.frame_id relative to
# base_link
geometry_msgs/Pose frame_pose

################################################################################
## Robot location, orientation, velocity
################################################################################

# The robot's latitude, longitude, and heading as recorded by the GPS
# - lat: decimal degrees
# - lon: decimal degrees
# - heading: ENU orientation in radians
geometry_msgs/Point lat_lon_heading

# The robot's location relative to the odometry frame
nav_msgs/Odometry odometry

# The robot's linear & angular velocity
geometry_msgs/Twist velocity

################################################################################
## Power & battery
################################################################################

# The 0-1 charge level of the battery
float32 battery_percent

# True of the robot's battery is charging, otherwise False
bool charging

# True if power-saving/low-power mode is enabled, otherwise False
bool power_saver

################################################################################
## Error and debugging events
################################################################################

# An error code indicating the type of error
int32 error_code

# A diagnostic error message, or non-integer error code
string error_msg

# The name of the module/process/pipeline/etc... that signalled the error
string error_component

################################################################################
## Custom fields for expansion
################################################################################

# Arbitrary free-form tags usable to annotate custom data
string[] tags

# Arbitrary JSON-formatted data that can contain user-defined fields
string custom_fields_json
45 changes: 45 additions & 0 deletions clearpath_outdoornav_msgs/clearpath_logger_msgs/msg/EventLog.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
################################################################################
## A log representing a single mission execution
################################################################################

# The log is currently active and being modified
int32 STATE_ACTIVE = 0

# The log is old and closed
int32 STATE_CLOSED = 1

# The master record of the log exists, but its data has been deleted from the disk
int32 STATE_DELETED = 2

# The state of the log on disk
int32 state

# The time the log started recording
builtin_interfaces/Time start_time

# The time the log stopped recording
builtin_interfaces/Time end_time

# This execution's unique ID
string uuid

# A descriptive name for the log to be displayed in the GUI. Does not need to be unique
string name

# The total percentage of the battery used during the execution
# This measures only negative changes, not positive ones
# e.g. if the robot uses 75% of the battery, returns to dock to recharge to full
# and then finishes the mission using another 75% of the battery, this value
# will read 1.5
float32 battery_percent_used

# The total distance driven by the robot (approximate) during the execution (meters)
# The exact path used to calculate the distance may be simplified and subject to
# sensor noise/error
float32 distance_driven

# A custom JSON field for adding additional custom metrics, meta-data, etc... as needed
string custom_fields_json

# The list of events recorded in this execution
clearpath_logger_msgs/Event[] events
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
clearpath_logger_msgs/EventLog[] logs
21 changes: 21 additions & 0 deletions clearpath_outdoornav_msgs/clearpath_logger_msgs/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0"?>
<?xml-model
href="http://download.ros.org/schema/package_format3.xsd"
schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>clearpath_logger_msgs</name>
<version>0.10.0</version>
<description>ROS package containing the message definitions for the Clearpath Robotics OutdoorNav logging module.</description>
<maintainer email="[email protected]">Chris Iverach-Brereton</maintainer>
<license>Proprietary</license>

<buildtool_depend>ament_cmake</buildtool_depend>
<buildtool_depend>rosidl_default_generators</buildtool_depend>

<exec_depend>rosidl_default_runtime</exec_depend>
<export>
<build_type>ament_cmake</build_type>
</export>
<member_of_group>rosidl_interface_packages</member_of_group>

</package>
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
string uuid
bool delete_media
bool purge_record
---
bool success
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# The UUID of the recording to download
string log_uuid
---
# The on-disk path the the generated archive
string path

# If True at least one media file from the recording has been moved/deleted
bool media_missing
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
clearpath_logger_msgs/EventLog[] logs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# A valid JSON string containing the custom data to be recorded
string custom_fields_json

# Tags to add to the event
string[] tags

# Optional frame ID relevant to the event
string frame_id
---
clearpath_logger_msgs/Event event
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# An error code indicating the type of error
int32 error_code

# A diagnostic error message, or non-integer error code
string error_msg

# The name of the module/process/pipeline/etc... that signalled the error
string error_component
---
clearpath_logger_msgs/Event event
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# The event to be recorded
# If the header's stamp is not zero the header will be modified to be the current time
# Otherwise the provided time will be used without verification
clearpath_logger_msgs/Event event
---
# The event as it was recorded, after any modifications made for serialization
clearpath_logger_msgs/Event event
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# The robot's current latitude (decimal degrees)
float64 latitude

# The robot's current longitude (decimal degrees)
float64 longitude

# The robot's current heading (cardinal direction in decimal degrees)
float64 heading

# The robot's current linear & angular velocity
geometry_msgs/Twist velocity

# The robot's current odometry location
nav_msgs/Odometry odometry

# Tags for the event
# Should contain one or more of Event.TAG_LOCATION, TAG_ODOMETRY, or TAG_VELOCITY
string[] tags
---
clearpath_logger_msgs/Event event
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# The path to the media file on-disk
string media_path

# A MIME type string indicating the media type
# May be left blank if desired
string mime_type

# The frame ID for the sensor that recorded the media
# Leave blank if the sensor has no frame/TF data associated with it
string frame_id
---
# The logged event
clearpath_logger_msgs/Event event
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# The battery's current level
# 0.0 to 1.0
float32 battery_percent

# Is the battery currently charging?
bool charging
---
clearpath_logger_msgs/Event event
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# A human-readable name for the log
string name
---
clearpath_logger_msgs/EventLog log
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Additional custom end-of-mission metrics to record as part of the log
string custom_fields_json
---
clearpath_logger_msgs/EventLog log

0 comments on commit a2c759d

Please sign in to comment.