Skip to content

Changelog

All notable changes to FastSwarmSim are documented here.

Unreleased

Documentation

  • Update README with installation instructions and source code link (6e8ab99)

0.1.4

Bug Fixes

  • Add conditional linking for stdc++fs for GNU compilers below version 9 (dc80f29)

Documentation

  • Add forthcoming section to changelogs for all packages (b139e5b)

0.1.3

Bug Fixes

  • Add pkg-config as a build dependency in package.xml (0f38224)

Documentation

  • Update changelog for version 0.1.2 and add release instructions (ba11829)
  • Synchronize changelog in docs (673ba44)
  • Add forthcoming section to changelogs for all packages (dead4b0)

Refactoring

  • Update ZeroMQ socket options to keep compatible with the old cppzmq 4.4.1 (0ad74c8)

0.1.2

Bug Fixes

  • Handle keyboard controller shutdown (763afb0)
  • Disarm keyboard controller on exit (9780c3b)
  • Use explicit mavros topics and fix docs formatting (2d02753)
  • Restore ROS namespace-based MAVROS names (388da17)
  • Stop motion after key repeat ends (c89ff0c)
  • Align repository license with package metadata (0867294)

CI

  • Persist changelog mirror and ignore site output (e7c10c5)

Documentation

  • Add MkDocs GitHub Pages site (5bea93b)
  • Add platform support and release changelog automation (a3c71f3)
  • Add repository agent guidance (4de4534)
  • Add Claude Code repository guidance (bba004d)
  • Fix keyboard screenshot path (1b4f61b)
  • Fix troubleshooting code blocks (bf21f28)
  • Update contributor information and enhance markdown configuration (0fb22af)
  • Add DeepWiki badge to README (261d048)
  • Add changelog files for fss_bringup, fss_px4_sim, fss_sensing, fss_time, and fss_time_interfaces packages (93a8c18)

Features

  • Add ROS 2 keyboard control (e72a687)
  • Add ROS 2 keyboard control (28095ab)

Miscellaneous

  • Remove keyboard control test (fb16fa8)

v0.1.1

Miscellaneous

  • Bump all packages to 0.1.1 for ROS release (53b4ad0)

Tests

  • Remove outdated fss_time tests that hang waiting for ROS clock (#598, #615) (faae3f3)

v0.1.0

Bug Fixes

  • Update .gitignore and CMakeLists.txt for external dependencies; add fmt, spdlog, and ZeroMQ system support (e94c2bf)
  • Update sim_time_broker_ui and launch files for improved time handling and control requests (9cd3373)
  • Fix the deadlock of the MultiThreadedExecutor by replacing the lock with try_to_lock (ed8ffaa)
  • Force use_sim_time=true if use_fss_sim_time=true in launch.py to avoid unset clock ROS time at node start and wrong wallclock time (0eb6b63)
  • Increase clock status timer interval and ensure minimum real time timer period (04981f8)
  • Fix: update thrust scaling initialization and add error handling in setpoint_raw module refactor: improve QoS settings for publishers in sys_status module (e15d2dd)
  • Revert version and description changes in package.xml for consistency (46e2d44)

Features

  • Integrate eCAL transport for fss_time (a77054d)
  • Update launch and configuration parameters for broker integration; add UI for sim time control (d66aa0c)
  • Add multi-node simulation test cases and update launch configurations (8bc42f5)
  • Enhance simulation time broker with participant query period and UI updates (3451ce3)
  • Add conditional compilation for testing support in thread_time_participant (d9ef6d0)
  • Implement thread-safe last safe time retrieval and clamping in thread_time_participant (e525f95)
  • Enhance safe time handling in thread_time_participant with infinite time support (4521512)
  • Update speed regulator step and enhance SimClockStatus message with new request participant count (cddaee8)
  • Add clock status timer and implement on_clock_status_tick for periodic status publishing (6e13f97)
  • Add UI components for Sim Time Broker and implement layout adjustments (04c062b)
  • Implement SingleThreadedExecutor and MultiThreadedExecutor classes with corresponding CMake and test updates (76fff79)
  • Add spin function for SingleThreadedExecutor and implement tests for namespace spin functionality (927ee1b)
  • Add executor time test node and launch configuration for testing SingleThreadedExecutor and MultiThreadedExecutor (1329953)
  • Refactor SingleThreadedExecutor and MultiThreadedExecutor to inherit from fss_time::Executor for enhanced time support (5bc77e9)
  • Update SingleThreadedExecutor and MultiThreadedExecutor documentation for clarity; add logo icon to SimTimeBroker UI (9914d0b)
  • Add debug message functionality to SimTimeBroker and UI for enhanced status reporting (bf3dbb8)
  • Add speed regulator step parameter and enhance timer functionality in executors (d34e29b)
  • Update speed regulator step parameter in launch file for optimal performance and CPU usage (104915d)
  • Introduce min_operation_walltime and update speed regulator logic for improved time management (17e7a6f)
  • Enhance SimTimeBroker UI with target RTF input and update scaling logic (a7b073d)
  • Improve SingleThreadedExecutor spin logic with enhanced time management and callback execution (d6ce657)
  • Enhance MultiThreadedExecutor run logic with improved work retrieval and time management (bc88f52)
  • Add observed real time factor tracking and update SimClockStatus message (6202672)
  • Add Rate and Sleep classes with functionality for time management and sleeping mechanisms (c932f16)
  • Add detailed documentation for time management classes and methods (d9bf240)
  • Enhance timer functionality by adjusting timer period based on index (6c00319)
  • Add testing nodes and utilities for fss_time functionality, including rate and timer sleep management (a73300f)
  • Update rate and thread time participant classes for improved time management and sleep functionality (5a70912)
  • Refactor announce_next_safe_time to simplify logic and improve clarity (c474c98)
  • Replace rclcpp::spin with fss_time::spin for improved node handling (acb3581)
  • Simplify ensure_use_sim_time_enabled by using declare_or_get_parameter and update spin call in FssRateTestNode (2f5edd2)
  • Update endpoint references from sim_time_broker to fss_time_broker across multiple files for consistency (f70c613)
  • Add real time floor for time broker, and rename time broker as time coordinator (33c13e8)
  • Enhance time coordination with parent-child relationship and grant messaging (e8e47a4)
  • Add UUID generation and enhance coordinator communication in time management (c94ca8e)
  • Add TCP endpoint parsing and replacement functions for improved socket handling (9ddf239)
  • Add parent time coordinator launch file and enhance UI namespace handling (eceda1f)
  • Add detailed documentation for parent time coordinator launch file (78e2761)
  • Add real-time following feature for time participants and enhance coordinator communication (3f5c358)
  • Finish migration of px4_rotor_sim to fss_px4_sim (bd0ed21)
  • Enhance clock subscription with QoS settings and remove unused sim_time variable (f37c773)
  • Improve coordinator performance by cancling replying OK for announce and using Debug msg enum. (a1df3d8)
  • Update minimum operation walltime constant and optimize clock update logic (72e8005)
  • Add simulation time to status updates in CoordinatorBridge and MainWindow (cf311eb)
  • Implement asynchronous task handling in TimeCoordinator for improved performance (94db27c)
  • Increase speed regulator step to improve real-time factor performance (a0d42ba)
  • Add test for TimeCoordinator to allow empty pub endpoint and verify advertisement (969fbdf)
  • Remove dependencies of agent_id for px4 param and uorb messges. (c6a5aca)
  • Add launch arguments for PX4 SITL configuration in simulation (0cc7c98)
  • Add configuration for large-scale fastdds participant limits (3206d77)
  • Enhance launch files and visualization for drone simulation (55b59f2)
  • Scope included launches to isolate parameters and prevent leakage (7e17f81)
  • Refactor time coordinator for improved message handling and add UI parameter for always on top (222b134)
  • Rename mavros_px4_quadrotor_sim_node to px4_rotor_sim_node and update launch files accordingly (7495bfb)
  • Modify launch files for single and swarm drone simulation with parameter isolation (9a98aae)
  • Add clear zombie participants functionality and related UI updates, improve auto unregister success rate (0cc164d)
  • Add namespace to mavros node in launch file for improved organization (21158d8)
  • Add subscription count checks before publishing joint states and markers (979ba06)
  • Add startup batch size and delay parameters for drone launch configuration (d857b14)
  • Update RViz configuration for PX4 drone with new point cloud topics and visualization settings (19ffe1b)
  • Add rclcpp_components support and refactor drone simulation nodes for improved modularity (25b7dc8)
  • Enhance intra-process communication for MAVROS components and update publisher options (47946e4)
  • Update MAVROS node executor to MultiThreadedExecutor and add test launch file for multi-drone simulation (3ae2d52)
  • Enhance launch files and visualizer node for improved performance and modularity (67326ce)
  • Update RViz configurations, enhance point cloud rendering, and improve performance settings (381ce8c)
  • Switch to ROS time clock for local point cloud timer and remove timing debug logs (2044123)
  • Update FastDDS and CycloneDDS configurations for improved shared memory transport and discovery settings (61a1717)
  • Feat: update CMakeLists.txt for fss_px4_sim and fss_time to include Release build type and optimize compiler flags feat: improve warning messages in MulticopterAttitudeControl and MulticopterPositionControl for loop period thresholds (b11d1db)
  • Enhance time coordination logic with new advancement checks and update real time request handling (55036d0)
  • Add README files for fss_px4_sim and fss_sensing packages with usage instructions and features (acbe3dc)
  • Update README.md for fss_time package with detailed ZeroMQ coordination explanation and usage instructions (1b3a8a1)

Miscellaneous

  • Vendor marsim_render into repo (remove gitee submodule) for ROS release (5a8f93b)

Refactoring

  • Rename speed regulator parameter and update related logic for clarity (fae3e32)
  • Rename detail namespace to fss_time_tools and update related function calls for clarity (9c761bb)
  • Simplify clock update logic in SimTimeBroker and adjust launch configuration for executor nodes (9b15521)
  • Rename parameter retrieval function to include locking mechanism for thread safety (6ac1f63)
  • Clean up comments and remove unnecessary annotations in MAVLINK module (b56f288)
  • Remove fss_time_coordinator_endpoint from launch files and update dependencies (62d809c)

Add

  • Include marsim_render submodule for enhanced sensing capabilities (2de94f3)

Remove

  • Delete HELICS subproject from third_party directory (c82652d)
  • Exclude fss_time_backup directory and remove HELICS submodule from .gitmodules (210a43f)