Skip to content

evannsmc/test_logger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROS2Logger's Companion

ROS2Logger is a custom ROS 2 logging utility that makes structured experiment logging painless.

🚀 Quick Start

  1. Create a ROS 2 workspace with a src/ directory.
  2. Clone ROS2Logger and test_logger repos into src/:
    git clone git@github.com:evannsm/ROS2Logger.git
    git clone git@github.com:evannsm/test_logger.git
  3. Build the workspace (symbolic links preferred):
    colcon build --symlink-install
  4. Run test_logger to see ROS2Logger in action!
    ros2 run test_logger test_logger --log-file logX.log   

✨ Features of ROS2 Logger

  1. Custom log data types
    • Append values like a list
    • Supports scalar sequences and sequences of vectors
  2. Automatic shutdown hooks
    • On node exit (normal or error), automatically collects all log-type variables from your node
  3. Column ordering
    • Columns in the log file are sorted by:
      1. Your provided ordering integer
      2. Alphabetical order (for ties)
  4. Data directory creation
    • Creates a /data_analysis folder alongside the ROS 2 node that invoked the logger
  5. Built-in analysis tools
    • Populates /data_analysis with:
      • DataAnalysis.ipynb notebook (and a utilities.py module) containing:
        • RMSE computation
        • Plotting utilities
        • PDF export for Overleaf/LaTeX
      • /data_analysis/log_files subdirectory for logs

Note:
By default, the logger requires time, x, y, z, and yaw to be present to ensure minimum dataset completeness for quadrotor experiments.
You can modify this requirement in the code.

About

ROS2 Package accompanying my ROS2Logger to learn how to use it and test its peformance

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors