Skip to content

Commit

Permalink
style(pre-commit): autofix
Browse files Browse the repository at this point in the history
  • Loading branch information
pre-commit-ci[bot] committed Mar 14, 2024
1 parent 35d96f9 commit ecf6e7c
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions common/autoware_node/README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,37 @@
# Autoware Node
# Autoware Node

## Overview

Autoware Node is an Autoware.Core package designed to provide a base class for all future nodes in the system. It provides ability to registrate node to *Autoware_control_center* (ACC), report node state, publish heartbeat and subscribe to monitored topics. It also inheritates all lifecycle control capabilities of the base class [LifecycleNode](https://docs.ros2.org/latest/api/rclcpp_lifecycle/classrclcpp__lifecycle_1_1LifecycleNode.html)
Autoware Node is an Autoware.Core package designed to provide a base class for all future nodes in the system. It provides ability to registrate node to _Autoware_control_center_ (ACC), report node state, publish heartbeat and subscribe to monitored topics. It also inheritates all lifecycle control capabilities of the base class [LifecycleNode](https://docs.ros2.org/latest/api/rclcpp_lifecycle/classrclcpp__lifecycle_1_1LifecycleNode.html)

Check warning on line 5 in common/autoware_node/README.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (registrate)

Check warning on line 5 in common/autoware_node/README.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (inheritates)

## Usage

You can use *autoware_node* as a base class for any node in Autoware.Core system. There is an example package *test_node* which shows how *autoware_node* commuticate with ACC and other *autoware_nodes*. You can check it for more information.
You can use _autoware_node_ as a base class for any node in Autoware.Core system. There is an example package _test_node_ which shows how _autoware_node_ commuticate with ACC and other _autoware_nodes_. You can check it for more information.

Check warning on line 9 in common/autoware_node/README.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (commuticate)

## Design
## Design

*Autoware_node* inheritates from  ROS2 [*lifecycle_node*](https://design.ros2.org/articles/node_lifecycle.html) and has all basic fuctions of it.
_Autoware_node_ inheritates from  ROS2 [_lifecycle_node_](https://design.ros2.org/articles/node_lifecycle.html) and has all basic fuctions of it.

Check warning on line 13 in common/autoware_node/README.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (inheritates)

Check warning on line 13 in common/autoware_node/README.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (ROS2)

Check warning on line 13 in common/autoware_node/README.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (fuctions)

Below are the main add-ons and how they work.

### Registration

After startup each *autoware_node* tries to register itself to ACC via a service call of *AutowareNodeRegister*. It happens in the dedicated timer. The timer will stop after the successful registration.
After startup each _autoware_node_ tries to register itself to ACC via a service call of _AutowareNodeRegister_. It happens in the dedicated timer. The timer will stop after the successful registration.

### De-registraion
### De-registraion

Check warning on line 21 in common/autoware_node/README.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (registraion)

If *autoware_node* receives a request to it's *AutowareControlCenterDeregister* service. It will disable the flag *registered* and it will startup timer which control registration client.
If _autoware_node_ receives a request to it's _AutowareControlCenterDeregister_ service. It will disable the flag _registered_ and it will startup timer which control registration client.

### Error state

*Autoware_node* has `send_state` method to send it's state to ACC via *AutowareNodeError* service. You need to provide `AutowareNodeState` and log message as parameters to the method.
_Autoware_node_ has `send_state` method to send it's state to ACC via _AutowareNodeError_ service. You need to provide `AutowareNodeState` and log message as parameters to the method.

### Heartbeat

The heartbeat publisher is configured to publish the heartbeat message each 200 ms. You can change it by the `period` parameter during the launch of *autoware_node*. Be aware that you will also need to configure ACC accordingly.
The heartbeat publisher is configured to publish the heartbeat message each 200 ms. You can change it by the `period` parameter during the launch of _autoware_node_. Be aware that you will also need to configure ACC accordingly.

Heartbeat functionality is based on ros2 [software_watchdogs](https://github.com/ros-safety/software_watchdogs) package.

### Monitored subscription

*Autoware_node* provides the `create_monitored_subscription` method. It wraps around a standard `create_subscription` method and adds a function to monitor a frequency of messages received in the topic. If it violates the condition provided in the `hz` parameter of the method *autoware_node* will send an error state to the ACC.

_Autoware_node_ provides the `create_monitored_subscription` method. It wraps around a standard `create_subscription` method and adds a function to monitor a frequency of messages received in the topic. If it violates the condition provided in the `hz` parameter of the method _autoware_node_ will send an error state to the ACC.

0 comments on commit ecf6e7c

Please sign in to comment.