Skip to content

Commit

Permalink
Update alarms.md
Browse files Browse the repository at this point in the history
  • Loading branch information
MrinallU authored Sep 23, 2023
1 parent 8a64616 commit ddb4896
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions docs/reference/alarms.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ In the realm of building dependable control systems, the importance of error det

The architecture of ROS alarms distinguishes itself by employing a service-oriented model rather than the usual topic-based approach. In ROS, Services act as the conduits for interaction between nodes, functioning in a request-response manner. While ROS topics enable asynchronous data exchange, services facilitate nodes in seeking specific actions or information from other nodes, awaiting a subsequent response before proceeding. This method of waiting before proceeding is known as a synchronous data exchange. This proves especially valuable in tasks that require direct engagement, such as data retrieval or computations.
If you are not familiar with ROS Services it is highly recommended that you take a look at [our page on ROS services]().

**Alarm System Logic**

The alarm system's functionality is more intricate than that of a typical ROS service, which usually manages operations of base types (ints, strings, etc). In this scenario, the alarm's service server is engineered to manage the tasks of updating, querying, and processing alarm data. ROS alarms encompass two distinct types of clients: the alarm broadcaster and the alarm listener. The broadcaster initializes and triggers alarms in response to errors or changes, while the listener monitors the broadcaster's activity and activates designated a callback function when alarms are raised. The callback function should handle the error or change appropriately.
Expand Down

0 comments on commit ddb4896

Please sign in to comment.