Skip to content

feat(ecosystem): provide ROS 2 C++ node adapter and verification documentation - #28

Merged
rahadbhuiya merged 1 commit into
mainfrom
feat/ros2-node-adapter
Nov 4, 2026
Merged

rahadbhuiya merged 1 commit into
mainfrom
feat/ros2-node-adapter

Conversation

@rahadbhuiya

Copy link
Copy Markdown
Member

Summary

Resolves #26 by introducing a zero-allocation ROS 2 C++ node adapter under examples/ros2_adapter, demonstrating how to integrate aegis-filter into industrial robotics, UAV, and autonomous driving stacks.

Key Changes

  • ROS 2 C++ Package: Created examples/ros2_adapter with standard package.xml (format 3) and CMakeLists.txt configured for colcon build.
  • Zero-Allocation Node Architecture: Implemented AegisFilterNode in include/aegis_ros2_adapter/aegis_node.hpp and src/aegis_node.cpp, embedding pre-allocated AegisFusion4 structs with zero heap allocation in real-time sensor callbacks.
  • Sensor Ingestion:
    • Subscribes to /imu/data (sensor_msgs/msg/Imu) to drive state propagation via aegis_fusion4_predict().
    • Subscribes to /pose/sample (geometry_msgs/msg/PoseWithCovarianceStamped) to perform Joseph-stabilized updates via aegis_fusion4_fuse() with automated 3.0? Chi-square outlier gating.
  • Telemetry & Odometry Publishing: Publishes high-integrity estimates to /aegis/filtered_odometry (nav_msgs/msg/Odometry) and real-time sensor health metrics to /aegis/sensor_health (std_msgs/msg/Float32).
  • Executable Entrypoint: Provided src/main.cpp for standalone execution via ros2 run aegis_ros2_adapter aegis_filter_node.
  • Documentation: Added comprehensive build and verification documentation in examples/ros2_adapter/README.md (including synthetic GPS/LiDAR spoofing injection tests) and linked from root README.md.

Closes #26.

…mentation (#26)

- Create minimal ROS 2 C++ package under examples/ros2_adapter
- Implement AegisFilterNode subscribing to sensor_msgs/Imu and geometry_msgs/PoseWithCovarianceStamped
- Ingest sensor measurements via zero-allocation C-FFI entrypoints (aegis_fusion4_predict and aegis_fusion4_fuse)
- Publish filtered state to nav_msgs/Odometry with Chi-square innovation gating and sensor health scores
- Provide CMakeLists.txt and package.xml configured for colcon and cargo co-compilation
- Document build instructions and synthetic adversarial spike testing in examples/ros2_adapter/README.md
- Update root README.md with ROS 2 ecosystem reference
- Closes #26
@github-actions github-actions Bot added documentation Improvements or additions to documentation tests Test suites, coverage, and verification benchmarks labels Nov 4, 2026
@rahadbhuiya
rahadbhuiya merged commit 8c847a9 into main Nov 4, 2026
2 checks passed
@rahadbhuiya
rahadbhuiya deleted the feat/ros2-node-adapter branch November 4, 2026 06:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation tests Test suites, coverage, and verification benchmarks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(ecosystem): provide ROS 2 C++ node adapter and verification documentation

1 participant