Skip to content

Proposal to Use Real-Time Methods for Data Reading and Writing to Ensure Real-Time Safety #84

@maxwelllls

Description

@maxwelllls

The current project may not fully utilize ROS's real-time safety mechanisms for data reading and writing. In robot control scenarios requiring high real-time performance, non-real-time data operations can lead to system latency and unpredictability.
Proposed Solution
Use RealtimePublisher for Writing Data:
Utilize realtime_tools::RealtimePublisher for publishing data during the hardware interface's write operations
This ensures that message publishing within the real-time loop does not block the real-time thread
Use RealtimeBuffer for Reading Data:
For subscribed topic data, use realtime_tools::RealtimeBuffer to safely transfer data between real-time and non-real-time threads
This prevents data races and ensures data consistency
Expected Benefits
Improved system real-time performance and determinism
Reduced latency and jitter caused by non-real-time operations
Enhanced system safety and reliability
Consistency with real-time safety practices in other components of the ROS control framework

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions